(57)【特許請求の範囲】
【請求項１】
複数のセルが集合してなるコードブロックと、
前記セルの位置を特定するための１つの矩形状の第１の特定パターンと、
前記コードブロックを背景から分離するための第２の特定パターンと、
を矩形領域に配置してなる二次元コードにおいて、
前記第１の特定パターンが前記矩形領域の規定の角部に配置されると共に、
前記矩形領域の境界部のうち、前記第１の特定パターンが接する第１境界部の少なくとも一方に隣接して前記第２の特定パターンが配置され、
前記コードブロックとして、誤り訂正を行うための誤り訂正コードブロックが含まれており、
前記矩形領域の境界部のうち、前記第２の特定パターンの配置側とは異なる第２境界部側において、当該第２境界部に隣接する位置に、前記誤り訂正コードブロックが配置されており、
前記第１の特定パターン、前記第２の特定パターン、及び前記コードブロックの少なくともいずれかにおける特定種類の前記セルの形状が、四角形状とは異なる図柄形状とされていることを特徴とする二次元コード。
【請求項２】
複数のセルが集合してなるコードブロックと、
前記セルの位置を特定するための１つの矩形状の第１の特定パターンと、
前記コードブロックを背景から分離するための第２の特定パターンと、
を矩形領域に配置してなる二次元コードにおいて、
前記第１の特定パターンが前記矩形領域の規定の角部に配置されると共に、
前記矩形領域の境界部のうち、前記第１の特定パターンが接する第１境界部の少なくとも一方に隣接して前記第２の特定パターンが配置され、
前記コードブロックとして、圧縮されたデータを格納してなる圧縮データコードブロックが含まれており、
前記矩形領域の境界部のうち、前記第２の特定パターンの配置側とは異なる第２境界部側において、当該第２境界部に隣接する位置に、前記圧縮データコードブロックが配置されており、
前記第１の特定パターン、前記第２の特定パターン、及び前記コードブロックの少なくともいずれかにおける特定種類の前記セルの形状が、四角形状とは異なる図柄形状とされていることを特徴とする二次元コード。
【請求項３】
前記第１の特定パターン及び前記第２の特定パターンにおける前記特定種類の前記セルの形状が四角形状とされており、前記コードブロックにおける前記特定種類のセル形状が四角形状とは異なる前記図柄形状とされていることを特徴とする請求項１又は請求項２に記載の二次元コード。
【請求項４】
前記特定種類の前記セルは、前記背景とは色彩又は濃度又は輝度の異なるセルであり、
前記コードブロック内における前記特定種類の前記セルは、前記図柄形状とされる図柄領域が、前記背景とは色彩又は濃度又は輝度の異なるように構成されており、更に、前記図柄領域が、前記特定種類の各セル領域の境界位置又はその近傍に配置されていることを特徴とする請求項１から請求項３のいずれか一項に記載の二次元コード。
【請求項５】
前記矩形領域内において、前記セルとは異なるデザインを挿入するデザイン挿入領域が設けられており、
前記デザイン挿入領域は、前記セルのサイズよりも広い領域として構成され、且つ前記コードブロックの複数のセル位置に跨る構成で配置されていることを特徴とする請求項１から請求項４のいずれか一項に記載の二次元コード。
【請求項６】
複数のセルが集合してなるコードブロックと、
前記セルの位置を特定するための１つの矩形状の第１の特定パターンと、
前記コードブロックを背景から分離するための第２の特定パターンと、
を矩形領域に配置してなる二次元コードにおいて、
前記第１の特定パターンが前記矩形領域の規定の角部に配置されると共に、
前記矩形領域の境界部のうち、前記第１の特定パターンが接する第１境界部の少なくとも一方に隣接して前記第２の特定パターンが配置され、
前記コードブロックとして、誤り訂正を行うための誤り訂正コードブロックが含まれており、
前記矩形領域の境界部のうち、前記第２の特定パターンの配置側とは異なる第２境界部側において、当該第２境界部に隣接する位置に、前記誤り訂正コードブロックが配置されており、
前記矩形領域内において、前記セルとは異なるデザインを挿入するデザイン挿入領域が設けられており、
前記デザイン挿入領域は、前記セルのサイズよりも広い領域として構成され、且つ前記コードブロックの複数のセル位置に跨る構成で配置されていることを特徴とする二次元コード。
【請求項７】
複数のセルが集合してなるコードブロックと、
前記セルの位置を特定するための１つの矩形状の第１の特定パターンと、
前記コードブロックを背景から分離するための第２の特定パターンと、
を矩形領域に配置してなる二次元コードにおいて、
前記第１の特定パターンが前記矩形領域の規定の角部に配置されると共に、
前記矩形領域の境界部のうち、前記第１の特定パターンが接する第１境界部の少なくとも一方に隣接して前記第２の特定パターンが配置され、
前記コードブロックとして、圧縮されたデータを格納してなる圧縮データコードブロックが含まれており、
前記矩形領域の境界部のうち、前記第２の特定パターンの配置側とは異なる第２境界部側において、当該第２境界部に隣接する位置に、前記圧縮データコードブロックが配置されており、
前記矩形領域内において、前記セルとは異なるデザインを挿入するデザイン挿入領域が設けられており、
前記デザイン挿入領域は、前記セルのサイズよりも広い領域として構成され、且つ前記コードブロックの複数のセル位置に跨る構成で配置されていることを特徴とする二次元コード。
【請求項８】
前記デザイン挿入領域における境界部分全体が、隣接する前記セルとは色彩、濃度、輝度の少なくともいずれかが異なるように構成されていることを特徴とする請求項５から請求項７のいずれか一項に記載の二次元コード。
【請求項９】
前記デザイン挿入領域の一部が、前記矩形領域の前記境界部を構成していることを特徴とする請求項５から請求項８のいずれか一項に記載の二次元コード。
【請求項１０】
前記デザイン挿入領域は、前記コードブロックと重なるように配置され、
且つ、前記デザイン挿入領域の少なくとも一部において、当該デザイン挿入領域と重なる前記コードブロックの各セル領域が特定可能とされており、且つその特定可能とされる各セル領域がそれぞれ、各セル領域で示すべきデータに対応した態様で構成されていることを特徴とする請求項５から請求項９のいずれか一項に記載の二次元コード。
【請求項１１】
前記矩形領域内において、前記セルとは異なるデザインからなるデザイン部が、前記コードブロックの複数のセル位置に跨るように配置されていることを特徴とする請求項１から請求項４のいずれか一項に記載の二次元コード。
【請求項１２】
前記デザイン部における全ての境界部分が、隣接する前記セルとは色彩、濃度、輝度の少なくともいずれかが異なるように構成されていることを特徴とする請求項１１に記載の二次元コード。
【請求項１３】
前記デザイン部は、前記矩形領域の内部と外部とに跨る構成で設けられていることを特徴とする請求項１１又は請求項１２に記載の二次元コード。
【請求項１４】
前記デザイン部は、前記コードブロックと重なるように配置され、
且つ、前記デザイン部の少なくとも一部において、当該デザイン部と重なる前記コードブロックの各セル領域が特定可能とされており、且つその特定可能とされる各セル領域がそれぞれ、各セル領域で示すべきデータに対応した態様で構成されていることを特徴とする請求項１１から請求項１３のいずれか一項に記載の二次元コード。
【請求項１５】
前記コードブロックは、２進数でＮビットの情報量となる解読対象データに、２進数でＭビットの情報量となる誤り検出用データが付加されてなる複合データが、以下の式、
ＸＹ−１＜２Ｎ×２Ｍ＜ＸＹ
を満たすＸ種類のＹ個のセルで表現されていることを特徴とする請求項１から請求項１４のいずれか一項に記載の二次元コード。
【請求項１６】
前記第１の特定パターンが配置された前記規定の角部とは異なる角部に、当該異なる角部を示すエンドパターンが配置され、
前記エンドパターンに関し、コードサイズ毎の固有比率が予め規定されており、
前記エンドパターンの縦方向の長さと横方向の長さの比率が、当該二次元コードのコードサイズに対応する前記固有比率とされていることを特徴とする請求項１から請求項１５のいずれか一項に記載の二次元コード。
【請求項１７】
コードサイズ毎の前記固有比率を、コードサイズ毎に変わりうる変数Ｃ１、Ｃ２を用いてＣ１：Ｃ２と表したとき（但し、Ｃ１，Ｃ２は自然数）、
コードサイズが大きくなるにつれ、それらＣ１とＣ２の和Ｃ１＋Ｃ２が大きくなるように規定されていることを特徴とする請求項１６に記載の二次元コード。
【請求項１８】
前記エンドパターンは、前記セルが前記矩形領域の角部境界に沿ってＬ字状に配置されたＬ字形状をなすことを特徴とする請求項１６又は請求項１７に記載の二次元コード。
【請求項１９】
前記コードブロックは、複数種類の記号が複数桁並んで表されるデータを符号化したデータコードブロックを有し、
前記データは、
前記記号の種類数をＤとしたときに、以下の式、
２Ｆ−１＜ＤＥ＜２Ｆ（但し、Ｅ，Ｆは自然数）
を満たし、
且つ、ビット変換率を示すＦ／Ｅの値が所定の低値となるＥ桁毎にバイナリ変換され、そのバイナリ変換後のビット列が前記データコードブロックによって表現されていることを特徴とする請求項１から請求項１８のいずれか一項に記載の二次元コード。
【請求項２０】
前記所定の低値は、前記ビット変換率Ｆ／Ｅの値が最も小さくなる値であることを特徴とする請求項１９に記載の二次元コード。
【請求項２１】
前記ビット変換率Ｆ／Ｅの値が最も小さくなるときの桁数Ｅの値をＥ１とし、
前記ビット変換率Ｆ／Ｅの値が、Ｅ＝Ｅ１のときに次いで小さくなるときの桁数ＥをＥ２とした場合（但し、０＜Ｅ２＜Ｅ１）、
前記データはＥ１桁毎にバイナリ変換されると共に、Ｅ１桁未満の残余桁がＥ２桁毎にバイナリ変換され、それらバイナリ変換後のビット列が前記データコードブロックによって表現されていることを特徴とする請求項１９又は請求項２０に記載の二次元コード。
【請求項２２】
同一種類の複数のセルが矩形状に配置されることで前記セルを大型化した大型基本単位が構成されており、
前記第１の特定パターンが、複数の前記大型基本単位の組み合わせによって構成されていることを特徴とする請求項１から請求項２１のいずれか一項に記載の二次元コード。
【請求項２３】
前記第２の特定パターンが前記大型基本単位の組み合わせによって構成されていることを特徴とする請求項２２に記載の二次元コード。
【請求項２４】
前記大型基本単位と前記セルとが互いに相似の関係にあることを特徴とする請求項２２又は請求項２３に記載の二次元コード。  
【請求項２５】
当該二次元コードの形式情報を表す形式情報ブロックを有し、
前記形式情報ブロックが複数の前記大型基本単位によって構成されていることを特徴とする請求項２２から請求項２４のいずれか一項に記載の二次元コード。
【請求項２６】
前記形式情報ブロックは、前記第１の特定パターン及び前記第２の特定パターンの少なくともいずれかに隣接して配置されていることを特徴とする請求項２５に記載の二次元コード。
【請求項２７】
前記第１の特定パターン及び前記第２の特定パターンのいずれもが前記大型基本単位の組み合わせによって構成されており、
前記第１の特定パターン、前記第２の特定パターン、及び前記形式情報ブロックのそれぞれの前記大型基本単位が全て同一サイズで構成されていることを特徴とする請求項２２から請求項２６のいずれか一項に記載の二次元コード。
【請求項２８】
前記コードブロックは、所定種類の第１データを表す第１データコードブロックと、前記第１データとは種類の異なる第２データを表す第２データコードブロックとを有し、
前記第１の特定パターン寄りに第１データコードブロックを配置する第１領域が設けられ、前記第１領域よりも前記第１の特定パターンから離れた位置に、前記第２データコードブロックを配置する第２領域が設けられていることを特徴とする請求項１から請求項２７のいずれか一項に記載の二次元コード。
【請求項２９】
前記第１データは、前記第２データよりも誤り訂正レベルが高く設定されていることを特徴とする請求項２８に記載の二次元コード。
【請求項３０】
前記第１データは、形式情報を示すデータであり、前記第２データは形式情報以外のデータであることを特徴とする請求項２８に記載の二次元コード。
【請求項３１】
前記矩形領域内に当該矩形領域よりも小さい第２の二次元コードが配置されており、
前記コードブロックは、有彩色を含む複数の表示色によって情報が表され、
前記第２の二次元コードは、複数種類の無彩色によって情報が表されていることを特徴とする請求項１から請求項３０のいずれか一項に記載の二次元コード。
【請求項３２】
前記矩形領域内に当該矩形領域よりも小さい第２の二次元コードが配置されており、
前記コードブロックは、複数種類の無彩色によって情報が表され、
前記第２の二次元コードは、有彩色を含む複数の表示色によって情報が表されていることを特徴とする請求項１から請求項３０のいずれか一項に記載の二次元コード。
【請求項３３】
前記矩形領域における前記第２の二次元コードが配置された領域は、誤り訂正コードブロックによって誤り訂正がなされる領域として構成されている特徴とする請求項２９から請求項３２のいずれか一項に記載の二次元コード。
【請求項３４】
前記コードブロックは、予め規定された１種類のマスクパターンを用いたマスク処理が施されていることを特徴とする請求項１から請求項３３のいずれか一項に記載の二次元コード。
【請求項３５】
情報処理装置を用いて請求項１から請求項３４のいずれか一項に記載の前記二次元コードを生成する二次元コード生成方法であって、
コード化すべき解読対象データを取得する取得ステップと、
前記第１の特定パターン及び前記第２の特定パターンのセル構成及び配置を定める特定パターン生成ステップと、
前記取得ステップで取得した前記解読対象データに基づいて前記コードブロックのセル構成及び配列を定めるコードブロック生成ステップと、
を備え、
前記コードブロック生成ステップは、
前記解読対象データを、２進数でＮビットの情報量となるサイズに分けると共に、その分けられた各解読対象データそれぞれに、２進数でＭビットの情報量となる誤り検出用データを付加してなる各複合データを、以下の式、
ＸＹ−１＜２Ｎ×２Ｍ＜ＸＹ
を満たすＸ種類のＹ個のセルで表現するように、各コードブロックのセル構成及び配列を定めることを特徴とする二次元コードの生成方法。
【請求項３６】
表示装置の表示画面上に請求項１から請求項３４のいずれか一項に記載の前記二次元コードを表示させるコンピュータ読み取り可能なプログラムであって、
前記コンピュータに対し、請求項１から請求項３４のいずれか一項に記載の前記二次元コードを前記表示装置に表示させる処理を行わせる表示ステップを備え、
前記表示ステップは、前記二次元コードの表示領域内に前記セルとは異なるデザインからなるデザイン動画を表示させるデザイン動画表示ステップを有することを特徴とするコンピュータ読み取り可能なプログラム。
【請求項３７】
前記デザイン動画表示ステップは、前記二次元コードの前記表示領域のうち、前記第１の特定パターン及び前記第２の特定パターンを表示する特定パターン表示領域以外の領域に前記デザイン動画を表示させることを特徴とする請求項３６に記載のコンピュータ読み取り可能なプログラム。
【請求項３８】
前記表示ステップは、前記二次元コードを動画の一部として表示させるコード動画表示ステップを有し、
前記コード動画表示ステップは、前記二次元コードを動画の一部として表示させた後、その表示状態を少なくとも一定時間維持させることを特徴とする請求項３６又は請求項３７に記載のコンピュータ読み取り可能なプログラム。
【請求項３９】
請求項１から請求項３４のいずれかに記載の前記二次元コードを生成する二次元コード生成方法であって、
コード化すべき解読対象データを取得する取得ステップと、
前記第１の特定パターン及び前記第２の特定パターンのセル構成及び配置を定める特定パターン生成ステップと、
前記取得ステップで取得した前記解読対象データに基づいて前記コードブロックのセル構成及び配列を定めるコードブロック生成ステップと、
前記特定パターン生成ステップ及び前記コードブロック生成ステップによって得られた前記第１の特定パターン、前記第２の特定パターン、及び前記コードブロックに基づいて、前記矩形領域における明色セルと暗色セルとの比率を算出する比率算出ステップと、
前記比率算出ステップでの算出結果に基づき、前記矩形領域内における前記暗色セルの比率が前記明色セルの比率よりも多いか否かを判断する判断ステップと、
前記判断ステップにより前記暗色セルの比率のほうが多いと判断された場合に、前記特定パターン生成ステップ及び前記コードブロック生成ステップによって得られた前記矩形領域における前記明色セル及び前記暗色セルを反転した反転コードを生成する反転ステップと、
を備えたことを特徴とする情報コード生成方法。
【請求項４０】
前記反転ステップは、前記矩形領域と共に、当該矩形領域に隣接するマージン領域の前記明色セル及び前記暗色セルを反転することを特徴とする請求項３９に記載の情報コード生成方法。
【請求項４１】
入力手段と表示装置とを備えた送受信端末と、データベースを備えると共に前記送受信端末と通信可能な認証装置と、コード読取手段を備えると共に前記認証装置と通信可能な確認端末と、請求項１から請求項３４のいずれか一項に記載の前記二次元コードと、を用いて被認証者の認証を行う認証方法であって、
前記送受信端末の前記入力手段にて個人情報が入力されることに応じて、当該送受信端末により、前記個人情報と前記送受信端末の端末ＩＤと対応付けてなる被認証者情報を前記認証装置に送信する送信ステップと、
前記認証装置により、前記送信ステップによって送信された前記被認証者情報を受信し、且つ前記被認証者情報にて特定される前記被認証者が前記データベースに登録されているか否かを確認する確認ステップと、
前記被認証者情報にて特定される前記被認証者が前記データベースに登録されていた場合に、前記認証装置により、前記被認証者情報を含んだ前記二次元コードを生成し、且つ当該二次元コードを前記送受信端末に返信する返信ステップと、
前記送受信端末により、前記返信ステップにて返信された前記二次元コードを受信し、且つその受信した前記二次元コードを当該送受信端末内のメモリに記憶する記憶ステップと、
前記入力手段に対して所定の確認操作が行なわれた場合に、前記メモリに記憶される前記二次元コードを前記表示装置に表示する表示ステップと、
前記表示ステップにより前記送受信端末の前記表示装置に表示された前記二次元コードを、前記確認端末の前記コード読取手段によって読み取る読取ステップと、
前記確認端末により、前記認証装置に対して問い合わせを行い、前記読取ステップにて読み取られた前記二次元コードが前記認証装置にて発せられた正規のものであるか否かを判断する判断ステップと、
前記判断ステップにて前記二次元コードが正規のものであると判断された場合に、前記確認端末により所定の認証後処理を行う認証後ステップと、
を備えたことを特徴とする認証方法。
【請求項４２】
請求項１から請求項３４のいずれか一項に記載の前記二次元コードと、前記二次元コードが付された複数種類の広告媒体と、表示手段と前記二次元コードを読み取る読取手段とを備え且つ通信網に接続可能な携帯端末と、前記通信網に接続されたサーバと、を用いて利用者に情報を提供する情報提供方法であって、
前記二次元コードに、当該二次元コードが付された前記広告媒体の内容を表す広告内容識別情報と、前記広告媒体と対応付けられたサイトの接続先を特定する接続情報とが含まれており、
更に、前記携帯端末を用いて前記広告媒体に付された前記二次元コードの読取操作が行われたときに、前記携帯端末の前記読取手段により、前記広告媒体に付された前記二次元コードを読み取る読取ステップと、
前記携帯端末に対して所定の接続操作が行なわれたときに、当該携帯端末により、前記読取ステップにて読み取られた前記二次元コードの前記接続情報に従って前記サイトにアクセスし、且つ前記サーバに対し当該二次元コードに含まれる前記広告内容識別情報を送信する接続ステップと、
前記サーバにより、前記接続ステップが行われる毎に前記接続ステップで用いられた前記二次元コードに含まれる前記広告内容識別情報を取得し、且つそれら取得された前記広告内容識別情報に基づいて前記サイトへのアクセスに利用された前記広告媒体についての統計データを生成する統計データ生成ステップと、
を有することを特徴とする情報提供方法。
【請求項４３】
前記統計データ生成ステップによって生成された前記統計データに基づき、少なくともいずれかの種類の前記広告媒体についての利用状況データを出力する出力ステップを有することを特徴とする請求項４２に記載の情報提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次元コード、二次元コード生成方法、二次元コードを表示させるコンピュータ読み取り可能なプログラム、二次元コードを利用した認証方法、及び二次元コードを利用した情報提供方法に関するものである。
【背景技術】
【０００２】
従来より、複数のセルをマトリックス状に配置してなる二次元コードが各種提供されている。この種の二次元コードを読み取る読取装置（二次元コードリーダ）は、当該二次元コードを含んだ画像データを取得した上で、その画像データの中から二次元コードの領域（コード領域）を特定する解析処理を行い、その特定されたコード領域の画像内容に基づいてデコード処理を行う構成のものが一般的である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許２９３８３３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のように、二次元コードを読み取る場合、取得した画像データの中から二次元コードの領域を具体的に特定する必要があるため、二次元コードの構成としては、読み取りの際にコード領域を迅速且つ正確に特定しうるコード構成が求められる。
【０００５】
コード領域を特定する方法としては、例えば、矩形状のコード領域の２辺に暗色セル（暗方形）がＬ字状に連続した特定パターンを配置し、他の２辺に別の特定パターン（暗色セルと明色セルを交互に配置してなるパターン等）を配置することが考えられる。このように矩形領域の四辺全てを特定パターンによって囲むようにすれば、読み取りの際に背景とコード領域（矩形領域）とを区別しやすくなる。しかしながら、データ（デコードすべきデータや誤り訂正のためのデータ）ではない特定パターンに割り当てるセルを多く必要とするため、データに割り当てるセル数を減らさざるを得ない。
【０００６】
一方、特許文献１では、データ領域に明色セル（白セル）と暗色セル（黒セル）とを配置した後に、所定の規則でセルの特徴を変化させる方法を用いている。具体的には、予め複数種類のマスクパターン（セル特徴変化用のマトリックスパターン）を用意しておき、二次元コードを生成するに際し、データ配置後に各マスクパターンを重畳する処理を行うようにしている。そして、重畳後に白セル及び黒セルの連続が少ないものを最適配置パターンとして採用している。この方法でも、背景と隣接する部分において明色セル（白セル）や暗色セル（黒セル）が連続し難くなり、背景とコード領域（矩形領域）とを良好に区別できるようになる。しかしながら、特許文献１の場合、どの種類のマスクパターンを用いているか示す情報（マスクパターン情報）をコード内に割り当てておかなければならず、この方法でも、データ（デコードすべきデータや誤り訂正のためのデータ）に割り当てるセル数を減らさざるを得ない。
【０００７】
本発明は、上述した課題を解決するためになされたものであり、背景とコード領域との区別を良好に行うことができ、かつデータ以外に割り当てるセル数を極力抑え、データに割り当てるセル数を効果的に増加させ得る二次元コード、又はそれに関する方法、若しくはその二次元コードを表示させるコンピュータ読取可能なプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
請求項１の発明は、複数のセルが集合してなるコードブロックと、前記セルの位置を特定するための１つの矩形状の第１の特定パターンと、前記コードブロックを背景から分離するための第２の特定パターンと、を矩形領域に配置してなる二次元コードにおいて、前記第１の特定パターンが前記矩形領域の規定の角部に配置されると共に、前記矩形領域の境界部のうち、前記第１の特定パターンが接する第１境界部の少なくとも一方に隣接して前記第２の特定パターンが配置され、前記コードブロックとして、誤り訂正を行うための誤り訂正コードブロックが含まれており、前記矩形領域の境界部のうち、前記第２の特定パターンの配置側とは異なる第２境界部側において、当該第２境界部に隣接する位置に、前記誤り訂正コードブロックが配置されており、前記第１の特定パターン、前記第２の特定パターン、及び前記コードブロックの少なくともいずれかにおける特定種類の前記セルの形状が、四角形状とは異なる図柄形状とされていることを特徴とする。
【０００９】
請求項２の発明は、複数のセルが集合してなるコードブロックと、前記セルの位置を特定するための１つの矩形状の第１の特定パターンと、前記コードブロックを背景から分離するための第２の特定パターンと、を矩形領域に配置してなる二次元コードにおいて、前記第１の特定パターンが前記矩形領域の規定の角部に配置されると共に、前記矩形領域の境界部のうち、前記第１の特定パターンが接する第１境界部の少なくとも一方に隣接して前記第２の特定パターンが配置され、前記コードブロックとして、圧縮されたデータを格納してなる圧縮データコードブロックが含まれており、前記矩形領域の境界部のうち、前記第２の特定パターンの配置側とは異なる第２境界部側において、当該第２境界部に隣接する位置に、前記圧縮データコードブロックが配置されており、前記第１の特定パターン、前記第２の特定パターン、及び前記コードブロックの少なくともいずれかにおける特定種類の前記セルの形状が、四角形状とは異なる図柄形状とされていることを特徴とする。
【００１０】
請求項１、２の発明の「二次元コード」は、二種類のセル（明色セル及び暗色セル）からなる二次元コード）と、色彩又は濃度又は輝度が異なるセルを３種類以上有する二次元コードと、を共に含むものである。
また、請求項１、２の発明における「矩形領域」とは、外形が正方形状に構成される正方形領域と、外形が長方形状に構成される長方形領域とを含む概念である。
請求項１、２の発明における「第１境界部の少なくとも一方に隣接して第２の特定パターンが配置される構成」とは、第２の特定パターンが、２つ存在する第１境界部のそれぞれに配置される構成と、第２特定パターンがいずれかの第１境界部のみに隣接して配置される構成と、を含む概念である。
【発明の効果】
【００１１】
請求項１の発明では、第１の特定パターンが矩形領域の規定の角部に配置されると共に、第１の特定パターンが接する第１境界部の少なくとも一方に隣接して第２の特定パターンが配置されているため、当該二次元コードを読み取る際の画像データにおいて、矩形領域の一部の辺（第２の特定パターンが配置される側の辺）を、第１の特定パターン及び第２の特定パターンに基づいて精度高く特定しやすくなる。
また、第２の特定パターンが配置されない第２境界部側において、当該第２境界部に隣接する位置に誤り訂正コードブロックが設けられており、このようにすれば、第２境界部に隣接する位置を、誤り訂正コードブロックの配置スペースとして効率的に利用できる。
更に、誤り訂正コードブロックは、その性質上、背景と色彩、濃度、輝度が同一のセル（例えば白色セル等の明セル）が長く連続する可能性が極めて低いという特性を有しており、このような特性を有する誤り訂正コードブロックを第２境界部に隣接する位置に配置して第２境界部の特定に兼用すれば、誤り訂正に必須となるデータを利用して第２境界部を精度高く特定できるようになる。
更には、第２境界部に隣接するように誤り訂正コードブロックを配置し、この誤り訂正コードブロックによって第２境界部を特定し得るように構成されているため、全ての境界部を特定パターン（デコードすべきデータや誤り訂正のためのデータ等を有さない予め決められた規定パターン）によって特定しようとする構成と比較してデータ以外に割り当てるセル数を極力抑えることができ、データに割り当てるセル数を効果的に増加させることができる。
また、第１の特定パターン、第２の特定パターン、及びコードブロックの少なくともいずれかにおける特定種類のセルの形状が、四角形状とは異なる図柄形状とされている。このようにすると、矩形領域内に四角形状とは異なる斬新な形状のセルを設けることができ、デザイン性を効果的に高めることができる。
【００１２】
請求項２の発明では、第１の特定パターンが矩形領域の規定の角部に配置されると共に、第１の特定パターンが接する第１境界部の少なくとも一方に隣接して第２の特定パターンが配置されているため、当該二次元コードを読み取る際の画像データにおいて、矩形領域の一部の辺（第２の特定パターンが配置される側の辺）を、第１の特定パターン及び第２の特定パターンに基づいて精度高く特定しやすくなる。
また、第２の特定パターンが配置されない第２境界部側において、当該第２境界部に隣接する位置に圧縮データコードブロックが設けられており、このようにすれば、第２境界部に隣接する位置を、圧縮データコードブロックの配置スペースとして効率的に利用できる。
更に、圧縮データコードブロックは、その性質上、背景と色彩、濃度、輝度が同一のセル（例えば白色セル等の明セル）が長く連続する可能性が極めて低いという特性を有しており、このような特性を有する圧縮データコードブロックを第２境界部に隣接する位置に配置して第２境界部の特定に兼用すれば、データサイズを効果的に小さくできると共に、デコード対象となるデータを利用して第２境界部を精度高く特定できるようになる。
更には、第２境界部に隣接するように圧縮データコードブロックを配置し、この圧縮データコードブロックによって第２境界部を特定し得るように構成されているため、全ての境界部を特定パターン（デコードすべきデータや誤り訂正のためのデータ等を有さない予め決められた規定パターン）によって特定しようとする構成と比較してデータ以外に割り当てるセル数を極力抑えることができ、データに割り当てるセル数を効果的に増加させることができる。
また、第１の特定パターン、第２の特定パターン、及びコードブロックの少なくともいずれかにおける特定種類のセルの形状が、四角形状とは異なる図柄形状とされている。このようにすると、矩形領域内に四角形状とは異なる斬新な形状のセルを設けることができ、デザイン性を効果的に高めることができる。
【００１３】
請求項１の発明は、誤り訂正コードブロックが各第２境界部毎に少なくとも１つ配置されていてもよい。このようにすると、誤り訂正コードブロックの配置スペースを矩形領域の外周部により広く確保でき、かつ各第２境界部いずれについても、誤り訂正コードブロックを利用して特定できるようになる。
【００１４】
請求項２の発明は、圧縮データコードブロックが各第２境界部毎に少なくとも１つ配置されていてもよい。このようにすると、圧縮データコードブロックの配置スペースを矩形領域の外周部により広く確保でき、かつ各第２境界部いずれについても、圧縮データコードブロックを利用して精度高く特定できるようになる。
【００１５】
請求項１の発明では、第１境界部における第２の特定パターンと第１の特定パターンとの間の位置に隣接させてコードブロック（第１境界部隣接ブロック）を配置してもよい。そして、この第１境界部隣接ブロックを誤り訂正コードブロックによって構成してもよい。このようにすると、当該二次元コードを読み取る際に、第１の特定パターン及び第２の特定パターンによって第１境界部の一部を確実に特定でき、それ以外の部分（第１の特定パターン及び第２の特定パターンが隣接する部分以外の部分）については誤り訂正コードブロックを利用して良好に特定できるようになる。したがって、第１境界部をより確実に特定できる構成を実現しつつ、第１境界部側の領域を利用してデータ領域を増大できるようになる。
【００１６】
請求項２の発明では、第１境界部における第２の特定パターンと第１の特定パターンとの間の位置に隣接させてコードブロック（第１境界部隣接ブロック）を配置してもよい。そして、この第１境界部隣接ブロックを圧縮データコードブロックによって構成してもよい。このようにすると、当該二次元コードを読み取る際に、第１の特定パターン及び第２の特定パターンによって第１境界部の一部を確実に特定でき、それ以外の部分（第１の特定パターン及び第２の特定パターンが隣接する部分以外の部分）については圧縮データコードブロックを利用して良好に特定できるようになる。したがって、第１境界部をより確実に特定できる構成を実現しつつ、第１境界部側の領域を利用してデータ領域を増大できるようになる。
【００１７】
請求項１の発明は、誤り訂正コードブロックの各セルを表示する表示色の組み合わせと、データコードブロックの各セルを表示する表示色の組み合わせとが異なるように構成されてもよい。このようにすると、背景との分離に用いる誤り訂正コードブロックの表示色をデータコードブロックの表示色とは関係なく設定でき、誤り訂正コードブロックの配色の自由度を高めることができる。
【００１８】
請求項２の発明は、圧縮データコードブロックの各セルを表示する表示色の組み合わせと、誤り訂正コードブロックの各セルを表示する表示色の組み合わせとが異なるように構成されてもよい。このようにすると、背景との分離に用いる圧縮データコードブロックの表示色を誤り訂正コードブロックの表示色とは関係なく設定でき、圧縮データコードブロックの配色の自由度を高めることができる。
【００１９】
請求項１の発明では、第２境界部の一部に、コードブロックを背景から分離するための第３の特定パターンが配置され、第２境界部に隣接する誤り訂正コードブロックが、第３の特定パターンを避けて配置されてもよい。このようにすると、二次元コードを読み取る際に第２境界部の一部を第３の特定パターンによって確実に特定でき、第３の特定パターンが配置されない部分については誤り訂正コードブロックを利用して良好に特定できるようになる。
【００２０】
請求項２の発明では、第２境界部の一部に、コードブロックを背景から分離するための第３の特定パターンが配置され、第２境界部に隣接する圧縮データコードブロックが、が、第３の特定パターンを避けて配置されてもよい。このようにすると、二次元コードを読み取る際に第２境界部の一部を第３の特定パターンによって確実に特定でき、第３の特定パターンが配置されない部分については圧縮データコードブロックを利用して良好に特定できるようになる。
【００２１】
請求項１、２の発明では、第３の特定パターンが、色彩又は濃度又は輝度の異なる複数のセルが所定の順序で配置された構成となっていてもよい。このように種類の異なる複数のセルを所定の順序で配置すると、当該二次元コードを読み取る際にセルの配置形状を認識しやすく、更に、セルの順序が所定の順序であるか否かを確認することで第３の特定パターンとして適当かを確認できるようにもなる。従って、第２境界部の一部の特定を、形状面、内容面から行うことができ、特定の精度を一層高めることができる。
【００２２】
請求項１、２の発明では、第３の特定パターンと第２の特定パターンとが同一形状として構成されていてもよい。このようにすると、第２の特定パターンと第３の特定パターンの形状を共通化でき、コード構成の簡素化を図ることができる。
【００２３】
請求項１、２の発明では、矩形領域が、一辺に奇数個Ｌのセルが配置されたＬ×Ｌのマトリックスによって構成される正方形領域であり、第１の特定パターンの外形は、一辺にＬ＞Ｍとなる奇数個Ｍのセルが配置されたＭ×Ｍのマトリックスによって正方形に構成されている。従って、矩形領域の一辺において第１特定パターン部分を除いた部分が偶数個（Ｌ−Ｍ）のセル領域として確保され、更に、この領域に全体に第２の特定パターンが配置される構成であってもよい。このようにすると、矩形領域の一辺全体を第１の特定パターン及び第２の特定パターンによって背景と確実に区別できるようになる。更に、このように構成した上で、コードブロックを偶数個Ａ×偶数個Ｂのマトリックスとして矩形状に構成しているため、第２特定パターンが配置される一辺付近において、第１の特定パターン部分以外の領域にコードブロックを効率的に配置しやすくなり、特異な形状（例えば、コードブロックの一辺の長さが１つのセル分のみである細長形状）のコードブロックを多数配置せずに済む。
【００２４】
請求項１、２の発明では、第２の特定パターンが、少なくとも色彩又は濃度又は輝度が異なる複数のセルを含むパターンとして構成されていてもよい。このように、背景に隣接させて種類の異なる複数のセルを配置すれば背景と矩形領域とを良好に区別できるようになる。
【００２５】
請求項１、２の発明では、矩形領域における規定の角部（第１の特定パターンが配置された角部）とは異なる第２の角部に、当該第２の角部を示す第１のエンドパターンを配置するように構成されていてもよい。このようにすると、規定の角部については第１の特定パターンによって背景と良好に区別でき、それとは異なる第２の角部については第１のエンドパターンによって背景と良好に区別できるようになる。即ち、当該二次元コードを読み取る際に、矩形領域における第２の特定パターンが配置される側の辺（第１境界部）を第１の特定パターン及び第２の特定パターンによって確実に特定でき、さらに、その辺の両端部をも確実に特定できるようになる。また、これら両端部の特定は、第２の特定パターンが配置される辺に隣接する二辺の特定にも寄与し、ひいては矩形領域全体の特定精度を効果的に高めることができる。
【００２６】
請求項１、２の発明では、第２の特定パターンが第１のエンドパターンのみで構成されていてもよい。この場合、第２の特定パターンの領域を極力抑えた構成とすることができる。
【００２７】
請求項１、２の発明では、第１のエンドパターンが、色彩、濃度、輝度が同一のセルが複数連続して配置された直線形状として構成されていてもよい。このようにすれば、第２の角部を特定しやすい構成を簡易に実現できる。また、第１のエンドパターンが直線形状であるため、第１のエンドパターンに隣接するブロック形状をあまり複雑化させずに済み、第１のエンドパターンの周囲を効率的に使用しやすくなる。
【００２８】
請求項１、２の発明では、第１のエンドパターンが、色彩又は濃度又は輝度の異なる複数のセルが所定の順序で配置された直線形状として構成されていてもよい。このように種類の異なる複数のセルを所定の順序で配置すると、当該二次元コードを読み取る際にセルの配置形状を認識しやすく、更に、セルの順序が所定の順序であるか否かを確認することで第２の角部として適当かを確認できるようにもなる。従って、第２の角部の特定を、形状面、内容面から行うことができ、特定の精度を一層高めることができる。また、第１のエンドパターンが直線形状であるため、第１のエンドパターンに隣接するブロック形状をあまり複雑化させずに済み、第１のエンドパターンの周囲を効率的に使用しやすくなる。
【００２９】
請求項１、２の発明では、第１のエンドパターンが、色彩、濃度、輝度が同一のセルが複数連続したＬ字形状として構成されていてもよい。このようにすれば、第２の角部を特定しやすい構成を簡易に実現できる。特に、第１のエンドパターンがＬ字形状であるため、第２の角部に隣接する２辺の認識にも寄与し、第２の角部及びそれに隣接する２辺を良好に特定しやすくなる。
【００３０】
請求項１、２の発明では、第１のエンドパターンが、色彩又は濃度又は輝度の異なる複数のセルが所定の順序で配置されたＬ字形状として構成されていてもよい。このように種類の異なる複数のセルを所定の順序で配置すると、当該二次元コードを読み取る際にセルの配置形状を認識しやすく、更に、セルの順序が所定の順序であるか否かを確認することで第２の角部として適当かを確認できるようにもなる。従って、第２の角部の特定を、形状面、内容面から行うことができ、特定の精度を一層高めることができる。また、第１のエンドパターンがＬ字形状であるため、第２の角部に隣接する２辺の認識にも寄与し、第２の角部及びそれに隣接する２辺を良好に特定しやすくなる。
【００３１】
請求項１、２の発明では、第１のエンドパターンが、背景とは色彩又は濃度又は輝度が異なる単一のセルによって構成されていてもよい。この場合、第１のエンドパターンに要する領域を極力抑えることができ、ひいてはデータ領域の増大を図ることができる。
【００３２】
請求項１、２の発明では、第１のエンドパターンの周囲に、誤り訂正コードブロック又はデータを格納するデータコードブロックに割り当てられない剰余のセルを格納する剰余ブロックが配置されるようになっていてもよい。このようにすれば、第１のエンドパターンの周囲を効率的に利用して、剰余ブロックを配置できるようになる。
【００３３】
請求項１、２の発明では、第１境界部に隣接する第２の特定パターンの内側に隣接するように誤り訂正コードブロックが配置されていてもよい。このようにすると、矩形領域と背景との区別を、第２の特定パターンのみならず必要に応じて誤り訂正コードブロックを利用して行うことができ、第１境界部の認識不良を効果的に抑えることができる。
【００３４】
請求項１、２の発明では、第１境界部に隣接する第２の特定パターンの内側に隣接するように圧縮データコードブロックが配置されていてもよい。このようにすると、矩形領域と背景との区別を、第２の特定パターンのみならず必要に応じて圧縮データコードブロックを利用して行うことができ、第１境界部の認識不良を効果的に抑えることができる。
【００３５】
請求項１、２の発明では、矩形領域における第１の特定パターンの対角位置に、矩形領域の角部を示す第２のエンドパターンが配置されていてもよい。このようにすると、規定の角部については第１の特定パターンによって背景と良好に区別でき、それとは対角の角部については第２のエンドパターンによって背景と良好に区別できるようになる。この構成では、第２境界部の特定をコードブロックのみならず、第２のエンドパターンを利用して行うことができ、ひいては矩形領域全体の特定精度を効果的に高めることができる。
【００３６】
請求項１、２の発明では、第２のエンドパターンが、色彩、濃度、輝度が同一のセルが複数連続したＬ字形状として構成されていてもよい。このようにすれば、規定の角部（第１の特定パターンが配置される角部）と対角の角部を特定しやすい構成を簡易に実現できる。特に、第２のエンドパターンがＬ字形状であるため、第２のエンドパターンの外形が、その対角の角部に隣接する２辺（第２境界部）の認識にも寄与し、第２のエンドパターンとコードブロックとを利用して第２境界部を一層良好に特定できるようになる。
【００３７】
請求項１、２の発明では、第２のエンドパターンが、色彩又は濃度又は輝度の異なる複数のセルが所定の順序で配置されたＬ字形状として構成されていてもよい。このように種類の異なる複数のセルを所定の順序で配置すると、当該二次元コードを読み取る際にセルの配置形状を認識しやすく、更に、セルの順序が所定の順序であるか否かを確認することで第２のエンドパターンとして適当かを確認できるようにもなる。従って、対角の角部の特定を、形状面、内容面から行うことができ、特定の精度を一層高めることができる。また、第２のエンドパターンがＬ字形状であるため、第２のエンドパターンの外形が、対角の角部に隣接する２辺（第２境界部）の認識にも寄与し、第２のエンドパターンとコードブロックとを利用して第２境界部を一層良好に特定できるようになる。
【００３８】
請求項１、２の発明では、第２のエンドパターンが、所定の色彩、濃度、輝度で構成される第１セルと、第１セルとは色彩又は濃度又は輝度が異なる第２のセルと、を有し、第１のセルを中心に第２のセルで囲んだ矩形形状として構成されていてもよい。このようにすれば、規定の角部（第１の特定パターンが配置される角部）と対角の角部を特定しやすい構成を簡易に実現できる。また、第２のエンドパターンの外形が矩形形状であるため、第２のエンドパターンの外形が、その対角の角部に隣接する２辺（第２境界部）の認識にも寄与し、第２のエンドパターンとコードブロックとを利用して第２境界部を一層良好に特定できるようになる。
【００３９】
請求項１、２の発明では、色彩又は濃度又は輝度が異なる複数種類のセルが予め定められた種類の組み合わせで配置されて第２のエンドパターンが構成されており、かつ矩形領域の各種類を参照するための参照領域として兼用されていてもよい。このように対角の角部を特定するためのパターンを参照領域として兼用すれば、参照領域のための特別なパターンを別途用意する必要がなく、データ領域の増大、コード全体の小型化を図ることができる。
【００４０】
請求項１、２の発明では、色彩又は濃度又は輝度が異なる複数種類のセルが予め定められた種類の組み合わせで配置されて第２の特定パターン構成されており、かつ矩形領域の各種類を参照するための参照領域として兼用されていてもよい。このように、境界部を特定するためのパターンを参照領域として兼用すれば、参照領域のための特別なパターンを別途用意する必要がなく、データ領域の増大或いはコード全体の小型化を図ることができる。
【００４１】
請求項３の発明は、第１の特定パターン及び第２の特定パターンにおける特定種類のセルの形状が四角形状とされており、コードブロックにおける特定種類のセル形状が四角形状とは異なる図柄形状とされている。このようにすると、第１の特定パターン及び第２の特定パターンについては四角形状のセルによって構成されるため形状を正確に特定しやすくなり、矩形領域やセル位置の基準として有利となる。一方、コードブロックについては、特定種類のセル形状を図柄形状としてデザイン性を高めることができる。
【００４２】
請求項４の発明は、背景とは色彩又は濃度又は輝度の異なるセルの形状を図柄形状としているため、図柄形状をより際立たせることができる。更に、コードブロック内の特定種類のセルにおいて、図柄形状とされる図柄領域が背景とは色彩又は濃度又は輝度の異なるように構成されており、更に、その図柄領域が特定種類の各セル領域の境界位置又はその近傍に配置されている。このようにすると、境界部に隣接する誤り訂正コードブロック又は圧縮データコードブロックに設けられた図柄領域を利用して境界部を特定できるようになり、また、図柄領域がセル領域の境界位置又はその近傍に配置されているため、境界部に隣接する位置に背景とは色彩又は濃度又は輝度の異なる部分を適切に配置することができる。
【００４３】
請求項５、６、７の発明は、矩形領域内において、セルとは異なるデザインを挿入するデザイン挿入領域が設けられている。このようにすると、矩形領域内にセル以外のデザインを挿入できるようになり、デザイン性を効果的に高めることができる。特に、デザイン挿入領域がセルのサイズよりも広い領域として構成され、且つコードブロックの複数のセル位置に跨る構成で配置されているため、デザイン挿入領域をより広く確保でき、コード利用者により印象付けることができる。
【００４４】
請求項８の発明は、デザイン挿入領域における境界部分全体が、隣接するセルとは色彩、濃度、輝度の少なくともいずれかが異なるように構成されているため、デザイン挿入領域とこれに隣接するセルとが明確に区別され、デザイン挿入領域をより際立たせることができる。
【００４５】
請求項９の発明は、デザイン挿入領域の一部が、矩形領域の境界部を構成している。このようにすると、矩形領域の内外に跨るデザインを挿入しやすくなる。
【００４６】
請求項１０の発明は、デザイン挿入領域がコードブロックと重なるように配置され、
且つ、デザイン挿入領域の少なくとも一部において、当該デザイン挿入領域と重なるコードブロックの各セル領域が特定可能とされており、且つその特定可能とされる各セル領域がそれぞれ、各セル領域で示すべきデータに対応した態様で構成されている。このようにすると、デザイン挿入領域の一部をデータ表示領域として兼用できるため、デザイン性を高めつつデータ表示領域を効果的に確保できる。
【００４７】
請求項１１の発明は、矩形領域内において、セルとは異なるデザインからなるデザイン部が、コードブロックの複数のセル位置に跨るように配置されている。このようにすると矩形領域内のデザイン性を効果的に高めることができる。
【００４８】
請求項１２の発明は、デザイン部における全ての境界部分が、隣接するセルとは色彩、濃度、輝度の少なくともいずれかが異なるように構成されている。このようにすると、デザイン部とこれに隣接するセルとが明確に区別され、デザイン部をより際立たせることができる。
【００４９】
請求項１３の発明は、デザイン部が矩形領域の内部と外部とに跨る構成で設けられている。このようにすると、矩形領域内のみならず矩形領域外をも利用してデザイン性を高めることができる。
【００５０】
請求項１４の発明は、デザイン部がコードブロックと重なるように配置され、且つ、デザイン部の少なくとも一部において、当該デザイン部と重なるコードブロックの各セル領域が特定可能とされており、且つその特定可能とされる各セル領域がそれぞれ、各セル領域で示すべきデータに対応した態様で構成されている。このようにすると、デザイン部の一部をデータ表示領域として兼用できるため、デザイン性を高めつつデータ表示領域を効果的に確保できる。
【００５１】
請求項１５の発明は、２進数でＮビットの情報量となる解読対象データに、２進数でＭビットの情報量となる誤り検出用データが付加されてなる複合データが、以下の式、ＸＹ−１＜２Ｎ×２Ｍ＜ＸＹを満たすＸ種類のＹ個のセルで表現されるようにコードブロックが構成されている。このようにすると、誤り検出を行い得るデータをより少ないセル数で効率的に表現できる。
【００５２】
請求項１６の発明は、第１の特定パターンが配置された規定の角部とは異なる角部に、当該異なる角部を示すエンドパターンが配置され、エンドパターンに関し、コードサイズ毎の固有比率が予め規定されており、エンドパターンの縦方向の長さと横方向の長さの比率が、当該二次元コードのコードサイズに対応する固有比率とされている。このようにすると、エンドパターンを、矩形領域のエンド位置の検出のみならず、コードサイズの検出にも利用できるようになる。
【００５３】
請求項１７の発明は、コードサイズ毎の固有比率を、コードサイズ毎に変わりうる変数Ｃ１、Ｃ２を用いてＣ１：Ｃ２と表したとき、コードサイズが大きくなるにつれ、それらＣ１とＣ２の和Ｃ１＋Ｃ２が大きくなるように規定されている。このようにすると、コードサイズに応じた大きさのエンドパターンによって固有比率を示すことができ、小さいコードに大きすぎるエンドパターンが割り当てられてデータ領域が削減されるといったことがなく、データ領域を適切に確保しやすくなる。
【００５４】
請求項１８の発明では、エンドパターンは、セルが矩形領域の角部境界に沿ってＬ字状に配置されたＬ字形状をなしている。このようにエンドパターンを構成すると、エンドパターンに必要なセルが最小で済み、固有比率を認識しやすく、かつ矩形領域の角の境界を特定しやすい構成となる。
【００５５】
請求項１９の発明は、複数種類の記号が複数桁並んで表されるデータを符号化したデータコードブロックが設けられ、その符号化されたデータは、記号の種類数をＤとしたときに、２Ｆ−１＜ＤＥ＜２Ｆ（Ｅ，Ｆは自然数）を満たし、且つ、ビット変換率を示すＦ／Ｅの値が所定の低値となるＥ桁毎にバイナリ変換され、そのバイナリ変換後のビット列がデータコードブロックによって表現されている。このようにすると、複数種類の記号が効率良くバイナリ変換されてデータブロックが構成されることとなり、矩形領域により多くのデータを記録できるようになる。
【００５６】
請求項２０の発明のようにビット変換率Ｆ／Ｅの値が最も小さくなるＥ桁毎にバイナリ変換すると、Ｄ種類の記号をより効率的にビット列で表すことができる。
【００５７】
請求項２１の発明は、ビット変換率Ｆ／Ｅの値が最も小さくなるときの桁数Ｅの値をＥ１とし、ビット変換率Ｆ／Ｅの値が、Ｅ＝Ｅ１のときに次いで小さくなるときの桁数ＥをＥ２とした場合（但し、０＜Ｅ２＜Ｅ１）、データはＥ１桁毎にバイナリ変換されると共に、Ｅ１桁未満の残余桁がＥ２桁毎にバイナリ変換され、それらバイナリ変換後のビット列がデータコードブロックによって表現されている。このようにすると、ビット変換率Ｆ／Ｅの値が最も小さくなるＥ（＝Ｅ１）桁ごとに効率的にバイナリ変換され、更に、Ｅ１桁未満の残余の桁についてもＥ２桁毎に効率的にバイナリ変換されるため、変換効率がより一層高まり、より一層効率的にデータを記録できる。
【００５８】
請求項２２の発明は、同一種類の複数のセルを矩形状に配置してセルを大型化した大型基本単位が設けられ、第１の特定パターンが複数の大型基本単位の組み合わせによって構成されている。このようにすると、第１の特定パターンをより認識しやすい構成とすることができる。
例えば、矩形領域内に配置されるセル数が多くなるにつれ、矩形領域に対してセルが相対的に小さくなるが、このような相対的に小さいセルによって第１の特定パターンを構成した場合、第１の特定パターンの認識不良を招く懸念がある。しかしながら、上記のような大型基本単位の組み合わせによって第１の特定パターンを構成すれば、第１の特定パターンを良好に認識できるようになり、ひいては二次元コードの読取精度向上を図ることができる。
【００５９】
請求項２３の発明は、第２の特定パターンが大型基本単位の組み合わせによって構成されている。このようにすると、第１の特定パターンだけでなく第２の特定パターンをも認識しやすい構成とすることができる。
【００６０】
請求項２４の発明は、大型基本単位とセルとが互いに相似の関係となっている。このように、大型基本単位をセルと相似関係にあるシンプルな形状とすることで、大型基本単位を認識するための複雑な読取方式を設けずに済み、読取構成を簡素化できる。
【００６１】
請求項２５の発明は、当該二次元コードの形式情報を表す形式情報ブロックを有し、形式情報ブロックが複数の大型基本単位によって構成されている。このようにすると、形式情報ブロックを表現する単位を大型化することができるため、形式情報ブロックを、認識しやすく、汚れ等に強い構成とすることができ、これにより、重要性の高い形式情報を良好に読み取ることができるようになる。
【００６２】
請求項２６の発明は、形式情報ブロックが第１の特定パターン及び第２の特定パターンの少なくともいずれかに隣接して配置されている。このようにすると、第１の特定パターン或いは第２の特定パターンを認識した後にそれに隣接する形式情報ブロックを迅速に検出することができ、読み取りの迅速化を図ることができる。
【００６３】
請求項２７の発明は、第１の特定パターン及び第２の特定パターンのいずれもが大型基本単位の組み合わせによって構成されており、第１の特定パターン、第２の特定パターン、及び形式情報ブロックのそれぞれの大型基本単位が全て同一サイズで構成されている。このようにすると、第１の特定パターン、第２の特定パターン、形式情報ブロックの全てを、同一サイズの大型基本単位の組み合わせとして読み取ることができるため、これら全ての認識精度の向上を図りつつ読み取り方式を複雑化せずに済む。
【００６４】
請求項２８の発明は、第１の特定パターン寄りに第１データコードブロックを配置する第１領域が設けられ、第１領域よりも第１の特定パターンから離れた位置に、第２データコードブロックを配置する第２領域が設けられている。このようにすると、基準となる第１の特定パターン寄りに配置される第１データコードブロックの読み取りの精度を、それよりも離れた第２データコードブロックの読み取りの精度よりも高めることができ、第１データコードブロックが重要なデータである場合などにおいて有利となる。
【００６５】
請求項２９の発明は、第１データが第２データよりも誤り訂正レベルが高く設定されている。このようにすると、誤り訂正レベルの高い重要なデータの読み取りの精度を効果的に高めることができる。
【００６６】
請求項３０の発明は、第１データが形式情報を示すデータであり、第２データが形式情報以外のデータによって構成されている。このようにすると、読み取りの正確性、迅速化を図る上で必要となる形式情報を確実性高く読み取ることができるようになる。
【００６７】
請求項３１の発明は、矩形領域内に当該矩形領域よりも小さい第２の二次元コードが配置されており、コードブロックは、有彩色を含む複数の表示色によって情報が表され、第２の二次元コードは、複数種類の無彩色によって情報が表されている。このようにすると、有彩色の読み取りを行い得る光学的情報読取装置（カラーセンサを搭載したコードリーダ等）を用いたときには、矩形領域のコードブロック、又は矩形領域のコードブロック及び第２の二次元コードの両方を読み取ることができ、無彩色の読み取りを行う光学的情報読取装置であっても、第２の二次元コードを読み取ることができるようになる。即ち、各種類の光学的情報読取装置に対し、それぞれの種類に応じた情報を与えることができる。
【００６８】
請求項３２の発明は、矩形領域内に当該矩形領域よりも小さい第２の二次元コードが配置されており、コードブロックは、複数種類の無彩色によって情報が表され、第２の二次元コードは、有彩色を含む複数の表示色によって情報が表されている。このようにすると、有彩色の読み取りを行い得る光学的情報読取装置（カラーセンサを搭載したコードリーダ等）を用いたときには、第２の二次元コード、又は第２の二次元コード及び矩形領域のコードブロックの両方を読み取ることができ、無彩色の読み取りを行う光学的情報読取装置であっても、矩形領域のコードブロックを読み取ることができるようになる。即ち、各種類の光学的情報読取装置に対し、それぞれの種類に応じた情報を与えることができる。
【００６９】
請求項３３の発明は、矩形領域における第２の二次元コードが配置された領域が、誤り訂正コードブロックによって誤り訂正がなされる領域として構成されている。このようにすると、矩形領域内に第２の二次元コードを設けつつ、矩形領域内のデータの解読を良好に行い得る構成となる。
【００７０】
請求項３４の発明は、コードブロックに対し、予め規定された１種類のマスクパターンを用いたマスク処理が施されている。このようにすると、誤り訂正コードブロックや圧縮データコードブロック以外のデータコードブロックにおいて、背景色と色彩、濃度、輝度が同一のセル（例えば白色セル）を連続させにくくすることができる。従って、データコードブロックについても境界部に配置して背景との区別に用いることができる。また、予め規定された１種類のマスクパターンを用いているため、どのようなマスクパターンが使用されるかを特定する情報（マスク情報）をコード領域内に設ける必要がなく、マスク情報以外の他データの記録量を削減することもない。
【００７１】
請求項３５の発明によれば、より多くのデータを記録でき、かつ矩形領域の正確な特定を可能とする二次元コードを良好に生成できる。特に、コードブロック生成ステップにおいて、解読対象データを２進数でＮビットの情報量となるサイズに分け、その分けられた各解読対象データそれぞれに、２進数でＭビットの情報量となる誤り検出用データを付加することで、各解読対象データを含んだ複合データをそれぞれ生成している。そして、それら復号データを、ＸＹ−１＜２Ｎ×２Ｍ＜ＸＹを満たすＸ種類のＹ個のセルで表現するように、各コードブロックのセル構成及び配列を定めている。このようにすると、誤り検出を行い得るデータをより少ないセル数で効率的に表現できる。
【００７２】
請求項３６の発明は、二次元コードの表示領域内にデザイン動画を表示させるデザイン動画表示ステップを有している。このようにすると、より多くのデータを記録でき且つ矩形領域の正確な特定を可能とする二次元コードを良好に表示でき、更に、二次元コードのデザイン性をより一層高めることができる。
【００７３】
請求項３７の発明は、二次元コードの表示領域のうち、第１の特定パターン及び第２の特定パターンを表示する特定パターン表示領域以外の領域にデザイン動画を表示させている。このようにすると、動画表示によってデザイン性を高めつつ、その一方で、第１の特定パターン及び第２の特定パターンについては形状を正確に特定しやすい表示とすることができるため、第１の特定パターン或いは第２の特定パターンの認識不良に伴う読み取り精度低下を効果的に抑えることができる。
【００７４】
請求項３８の発明は、二次元コードを動画の一部として表示させた後、その表示状態を少なくとも一定時間維持させている。このようにすると、二次元コードの動画表示によって装飾性を高めることができ、動画表示後には表示状態が一定時間維持されるため読み取りを良好に行うことができるようになる。
【００７５】
請求項３９の発明によれば、より多くのデータを記録でき、かつ矩形領域の正確な特定を可能とする二次元コードを良好に生成できる。特に、矩形領域において暗色セルの比率のほうが多い場合に、明色セルと暗色セルとを反転した反転コードを生成しているため、同一のデータ内容の二次元コードを、暗色セルを抑えて生成することができる。これにより、暗色セルを形成する時間や処理の削減を図ることができる。例えば、ダイレクトマーキングにより二次元コードを形成する場合には、ドットピンやレーザ光などで暗色セルを形成する時間や処理を削減することができる。
【００７６】
請求項４０の発明は、反転ステップにおいて、矩形領域と共に、当該矩形領域に隣接するマージン領域の明色セル及び暗色セルを反転している。このようにすると、暗色セルによって明色の背景と分離しようとする構成、或いは明色セルによって暗色の背景と分離しようとする構成のいずれについても、反転後において矩形領域と背景とを良好に分離できるようになる。
【００７７】
請求項４１の発明によれば、より多くのデータを記録でき、かつ矩形領域の正確な特定を可能とする二次元コードを用いて被認証者の認証を行うことができる。特に、より多くのデータを記録できる二次元コードを用いているため、二次元コードに記録する被認証者情報の自由度が高まり、例えば、より詳しい被認証者情報を二次元コードに記録して認証を行うといったことが可能となる。
【００７８】
請求項４２の発明は、より多くのデータを記録でき且つ矩形領域の正確な特定を可能とする二次元コードを用い、利用者に有用な情報を提供することができる。また、本発明に係る方法では、二次元コードにサイトの接続先を特定する接続情報を含ませているため、広告利用者が携帯端末上で所定の接続操作を行ったときに当該接続情報に対応するサイトに容易にアクセスできるようになる。更に、その所定の接続操作に応じ、サーバに対し二次元コードに含まれる広告内容識別情報を送信しており、サーバは、その接続ステップが行われる毎に二次元コードに含まれる広告内容識別情報を取得している。そして、それら取得された広告内容識別情報に基づいてサイトへのアクセスに利用された広告媒体についての統計データを生成している。このようにすると、どのような広告媒体からサイトにアクセスされたかについて有効な統計データを生成でき、マーケティング等に役立てることができる。
【００７９】
請求項４３の発明は、生成された統計データに基づき、少なくともいずれかの種類の広告媒体を依頼した依頼主に対し、当該依頼主に係る広告媒体についての利用状況データを出力するようにしている。このようにすると、依頼主が自己の広告媒体についての利用状況を的確に把握できるようになる。
【図面の簡単な説明】
【００８０】
【図１】図１は、第１実施形態に係る二次元コードを概略的に説明する説明図である。
【図２】図２（ａ）は、図１の二次元コードのマトリックス構成を説明する説明図であり、（ｂ）は、コードブロックのマトリックス構成を説明する説明図であり、（ｃ）は、コードブロックの構成について（ｂ）とは異なる例を示す説明図である。
【図３】図３は、図１の二次元コードを読み取る光学的情報読取装置を概略的に例示するブロック図である。
【図４】図４は、図１の二次元コードを読み取る読取処理を例示するフローチャートである。
【図５】図５は、第２実施形態に係る二次元コードを概略的に説明する説明図である。
【図６】図６は、第３実施形態に係る二次元コードを概略的に説明する説明図である。
【図７】図７は、第４実施形態に係る二次元コードを概略的に説明する説明図である。
【図８】図８は、第４実施形態に関し、図７とは異なる変形例１を示す説明図である。
【図９】図９は、図８の二次元コードにおける第３の特定パターンを拡大して説明する説明図である。
【図１０】図１０は、第５実施形態に係る二次元コードを概略的に説明する説明図である。
【図１１】図１１は、第５実施形態に関し、図１０とは異なる変形例１を示す説明図である。
【図１２】図１２は、第５実施形態に関し、図１０とは異なる変形例２を示す説明図である。
【図１３】図１３は、第５実施形態に関し、図１０とは異なる変形例３を示す説明図である。
【図１４】図１４は、第５実施形態に関し、図１０とは異なる変形例４を示す説明図である。
【図１５】図１５は、第６実施形態に係る二次元コードを概略的に説明する説明図である。
【図１６】図１６は、第７実施形態に係る二次元コードを概略的に説明する説明図である。
【図１７】図１７は、図１６の二次元コードにおける第２のエンドパターンを拡大して説明する説明図である。
【図１８】図１８は、第７実施形態に関し、図１７とは異なる変形例１を示す説明図である。
【図１９】図１９は、第８実施形態に係る二次元コードを概略的に説明する説明図である。
【図２０】図２０は、第８実施形態に関し、図１９とは異なる変形例１を示す説明図である。
【図２１】図２１（ａ）は、図１の変形例１を示す説明図であり、（ｂ）は変形例２を示す説明図である。
【図２２】図２２（ａ）は、図１の変形例３を示すものであり、第１の特定パターンを変更した構成を説明する説明図である。図２２（ｂ）は、図１の変形例４を示すものであり、矩形領域が長方形状に構成される例を説明する説明図である。
【図２３】図２３は、図１の変形例５を示すものであり、１１×１１のマトリックス構成のものに、第３の特定パターンを設けた例を説明する説明図である。
【図２４】図２４（ａ）は第１０実施形態に係る二次元コードを概略的に説明する説明図であり、（ｂ）は、（ａ）の二次元コードにおけるコードブロックの暗色セルを説明する説明図である。
【図２５】図２５は、第１０実施形態に係る二次元コードについての別例を示す説明図である。
【図２６】図２６は、第１１実施形態に係る二次元コードについての使用例を説明する説明図である。
【図２７】図２７（ａ）は、図２６の二次元コードのデザイン挿入領域付近を説明する説明図であり、（ｂ）はデザインを挿入した例を示す説明図である。
【図２８】図２８は、第１１実施形態に係る二次元コードの別例１についての使用例を説明する説明図である。
【図２９】図２９は、第１１実施形態に係る二次元コードの別例１について概略的に説明する説明図である。
【図３０】図３０（ａ）は、第１１実施形態に係る二次元コードの別例２についてのデザイン挿入領域付近を説明する説明図であり、（ｂ）はデザインを挿入した例を示す説明図である。
【図３１】図３１は、第１１実施形態に係る二次元コードの別例３について概略的に説明する説明図である。
【図３２】図３２は、第１１実施形態に係る二次元コードの別例４について概略的に説明する説明図である。
【図３３】図３３は、第１１実施形態に係る二次元コードの別例５について概略的に説明する説明図である。
【図３４】図３４（ａ）は、第１２実施形態に係る二次元コードのコードブロック構成を説明する説明図であり、（ｂ）はその別例を説明する説明図である。
【図３５】図３５（ａ）〜（ｅ）は第１３実施形態に係る二次元コードのいくつかの例を概略的に説明する説明図である。
【図３６】図３６は、エンドパターンのいくつかの例を説明する説明図である。
【図３７】図３７は、二次元コードのサイズ、固有比率、比率の和の関係を説明する説明図である。
【図３８】図３８（ａ）は、第１４実施形態に関し、桁数と変換効率との関係を説明する説明図であり、（ｂ）はそのグラフである。
【図３９】図３９は、第１４実施形態に関し、バイナリ変換の流れを説明する説明図である。
【図４０】図４０は、第１４実施形態に関し、図３８とは異なる例についての、桁数と変換効率との関係を説明する説明図であり、（ｂ）はそのグラフである。
【図４１】図４１は、図４０の例におけるバイナリ変換の流れを説明する説明図である。
【図４２】図４２は、第１５実施形態に係る二次元コードの要部を概略的に説明する説明図である。
【図４３】図４３は、形式情報コードブロックを具体的に配置した例を説明する説明図である。
【図４４】図４４は、第１６実施形態に係る二次元コードの要部を概略的に説明する説明図である。
【図４５】図４５は第１７実施形態に係る二次元コードを概略的に説明する説明図である。
【図４６】図４６は第１７実施形態に係る二次元コードについて、図４５とは異なる例を概略的に説明する説明図である。
【図４７】図４７（ａ）は第１８実施形態に係る二次元コードを概略的に説明する説明図である。図４７（ｂ）は、マスクパターンを例示する説明図であり、図４７（ｃ）は、マスク処理が施される領域を説明する説明図である。
【図４８】図４８は、第１９実施形態に係るプログラムによって表示される内容を説明する説明図である。
【図４９】図４９は、図４８に続く表示内容を示す図である。
【図５０】図５０は、第２０実施形態に係る生成方法を実現する二次元コード生成処理を例示するフローチャートである。
【図５１】図５１は、暗セルが多い場合の二次元コードを例示する説明図である。
【図５２】図５２は、明暗反転後の二次元コードを説明する説明図である。
【図５３】図５３は、第２１実施形態に係る方法を実現するための認証システムを概略的に例示するブロック図である。
【図５４】図５４は、二次元コード生成、送信処理の流れを例示するフローチャートである。
【図５５】図５５は、認証装置側での認証処理の流れを例示するフローチャートである。
【図５６】図５６は、確認端末側での認証確認処理の流れを例示するフローチャートである。
【図５７】図５７は、図５３のシステムの別例を示すブロック図である。
【図５８】図５８は、第２２実施形態に係る方法を実現するための情報提供システム９２０で行われる情報提供の仕組みを説明する説明図である。
【図５９】図５９は、情報提供システム９２０の構成を概略的に説明する説明図である
【図６０】図６０は、図５８のシステムにおける携帯端末での動作の流れを示すフローチャートである。
【図６１】図６１は、図６０におけるコード画像取得処理の流れを例示するフローチャートである。
【図６２】図６２（ａ）は広告内容識別情報のデータ構成を説明する説明図であり、（ｂ）はアクセスレポートの構成を例示する説明図である。
【図６３】図６３は、他の実施形態に係る二次元コードの例１を概略的に説明する説明図である。
【図６４】図６４は、他の実施形態に係る二次元コードの例２を概略的に説明する説明図である。
【図６５】図６５は、他の実施形態に係る二次元コードの例３を概略的に説明する説明図である。
【図６６】図６６（ａ）は、他の実施形態に係る二次元コードの例４を概略的に説明する説明図であり、（ｂ）は、他の実施形態に係る二次元コードの例５を概略的に説明する説明図である。
【図６７】図６７（ａ）は、他の実施形態に係る二次元コードの例６を概略的に説明する説明図であり、（ｂ）は、他の実施形態に係る二次元コードの例７を概略的に説明する説明図である。
【発明を実施するための形態】
【００８１】
[第１実施形態]
以下、本発明の二次元コードを具現化した第１実施形態について、図面を参照して説明する。図１は、第１実施形態に係る二次元コードを概略的に説明する説明図である。また、図２（ａ）は、図１の二次元コードのマトリックス構成を説明する説明図であり、（ｂ）は、コードブロックのマトリックス構成を説明する説明図である。(（ｃ）は、コードブロックの構成について（ｂ）とは異なる例を示す説明図である。図３は、図１の二次元コードを読み取る光学的情報読取装置を概略的に例示するブロック図である。図４は、図１の二次元コードを読み取る読取処理を例示するフローチャートである。なお、図１では、誤り訂正コードブロック１２の位置を破線にて概念的に示しており、データコードブロック１１の位置については実線枠内にハッチングを付して概念的に示している。また、図１では、各コードブロック１０の具体的セル構成は省略して示している。
【００８２】
本実施形態に係る二次元コード１は、図１に示すように、複数のセルＣがマトリックス状に配列されてなるものであり、複数のコードブロック１０と、第１の特定パターン２と、第２の特定パターン３、４と、を備えた構成をなしている。この二次元コード１は、外形が正方形状に構成されたセルＣが集合してマトリックス状に配置されたセル集合体として構成されており、図１の例では、セル数が縦横同数（１１セル×１１セル）となる配列で構成されている。また、二次元コード１を構成するコード領域（セルＣが配置される領域）は、外形が矩形状の矩形領域とされており、図１の二次元コード１のコード領域は、外形が正方形状の正方形領域とされている。なお、図１では、一部のセルのみについて符号Ｃを付しており、他のセルの符号は省略している。
【００８３】
また、二次元コード１は、色彩又は濃度又は輝度の異なる複数種類のセルが用いられている。なお、以下の説明では、図１に示すような構成、即ち、色彩又は濃度又は輝度の異なる２種類のセル（即ち、黒色セル及び白色セル）が用いられて二次元コード１が構成された例について説明する。なお、本実施形態及びその他の実施形態を通し、黒色セルについては符号Ｃｂで示し、白色セルについては符号Ｃｗで示すこととする。
【００８４】
コードブロック１０は、複数のセルＣが集合してなるものであり、図１の二次元コード１では、データコードブロック１１と、誤り訂正コードブロック１２とに分けられている。なお、本実施形態では全てのコードブロック１０がマトリックス状に構成され、縦横の違いはあるものの全て同一形状とされているが、一部のコードブロックの形状をこれとは別の形状（例えば図２（ｃ）のような形状）としてもよい。また、本実施形態のデータコードブロック１１及び誤り訂正コードブロック１２は、いずれもマスク処理が施されていない非マスク化ブロックとされており、マスク処理の解除等を必要とせずにデコードしうるものである。
【００８５】
データコードブロック１１は、デコードの対象となるデータを符号化した符号化データ（データコード語）を複数のセルによって表現したブロックであり、図１の例では、複数（図１では８つ）のセルがマトリックス状に集合した構成をなしている。データコードブロック１１を構成する各セルは、予め定められた複数種類（図１の例では白黒の二種類）のセルの中からいずれかの種類のセルが選択されて用いられる。
【００８６】
各データコードブロック１１は、全体として、デコードすべき符号化データ（データコード語）に対応したセルの配列で構成されるようになっている。本実施形態では、セルの色が、数値に対応付けられており、例えば、データ値「０」に対して白色セル、データ値「１」に対して黒色セルがそれぞれ対応付けられている。
【００８７】
また、本実施形態に係る二次元コード１は、データコードブロック１１を二次元コード１の中心部付近に配置し、その周囲を誤り訂正コードブロック１２（後述）によって囲んだ構成とされており、図１の例では、６つのデータコードブロック１１が二次元コード１の中心部付近に配置され、その周囲の一部を４つの誤り訂正コードブロック１２によって囲んでいる。
【００８８】
誤り訂正コードブロック１２は、データコードブロック１１の誤り訂正を行うための誤り訂正コード語によって構成されている。この誤り訂正コードブロック１２を構成する誤り訂正コード語は、データコードブロック１１を構成する符号化データ（データコード語）に基づいて生成されたものである。なお、データコード語に基づいて誤り訂正コード語を生成する方法としては、例えば公知のリード・ソロモン誤り訂正方式を用いることができる。
【００８９】
本実施形態では、データコード語に基づいて誤り訂正コード語を生成する方法として、ＪＩＳＸ０５１０：２００４に規定された誤り訂正コード語の生成方法（ＪＩＳＸ０５１０：２００４、８．５誤り訂正）を用いている。この方法の場合、誤り訂正コード語は、データコードブロック１１についてのデータコード語を二進数で表した後、誤り訂正検出及び訂正（ＪＩＳＸ０５１０：２００４付属書Ａ）で使用される多項式ｇ（ｘ）によって当該データコード語を除算して得られた剰余とされる。誤り訂正コードブロック１２は、このように生成された誤り訂正コード語を複数のセルによって表現したブロックとして構成される。なお、ここでは、ＪＩＳＸ０５１０に規定される方法を用いて誤り訂正コード語を生成したが、誤り訂正コード語の生成方法はこれに限られず、公知の様々な方法を用いることができる。
【００９０】
第１の特定パターン２は、二次元コード１の矩形領域において４つ設けられた角部５ａ〜５ｄのうち、規定の角部５ａに配置されるものである。図１の例では第１の特定パターン２の外形が矩形状（詳しくは正方形状）に構成されており、第１の特定パターン２の外縁を構成する２辺によって矩形領域における規定の角部５ａの角位置が定められている。この第１の特定パターン２は、矩形領域における各セルＣの位置の特定するための要素として機能するものであり、具体的には、光学的情報読取装置（後述）で得られる画像データにおいて規定の角部５ａの位置を特定するために用いられると共に、その画像データにおいて二次元コード１の向きを特定するために用いられる。なお、本明細書全体を通し、「特定パターン」は、二次元コードに含まれるデータ（デコードすべきデータ）に関係なく一定のパターンとして構成されるものである。
【００９１】
なお、図１に示す第１の特定パターン２は、中心に第１の色のセル（黒色セル２ａ）が１つ配置され、その第１の色のセル（黒色セル２ａ）の周りを第２の色のセル（白色セル２ｂ）が矩形状に囲んでいる。さらに、その環状のセル群（白色セル２ｂのセル群）の周りを第１の色のセル（黒色セル２ｃ）が囲んだ構成をなし、それが最外周のセル群として構成されている。そして、その最外周のセル群の外形が正方形状に構成され、第１の特定パターン２全体として外形が矩形状となっている。
【００９２】
また、第２の特定パターン３、４は、コード領域（矩形領域）の境界をなす４つの辺（４つの境界部６）のうち、第１の特定パターン２が接する境界部（第１境界部６ａ、６ｂ）に隣接して配置されるものである。この第２の特定パターン３、４は、二次元コード１のコード領域（矩形領域）を背景から分離するために利用されるものであり、後述する読み取りの際に、この第２の特定パターン３，４を基準として矩形領域が背景から分離され、ひいてはコードブロック１０がそれぞれ背景から分離されることとなる。
【００９３】
第２の特定パターン３は、矩形領域における規定の角部５ａ（第１の特定パターン２が配置された角部）とは異なる角部５ｂ（角部５ｂは、「第２の角部」の一例に相当する）に、当該角部５ｂを示すエンドパターン３ａを配置してなるものである。このエンドパターン３ａは、色彩、濃度、輝度が同一の同種セルが複数連続して配置された直線形状（具体的には色彩、濃度、輝度が同一の黒色セル３ａ'が３つ連続して配置された直線形状と）して構成されており、このエンドパターン３ａの端部（具体的には第１の特定パターン２から遠い側の端部）の黒色セル３ａ'における外縁を構成する２辺によってコード領域（矩形領域）における角部５ｂの角位置が定められている。
【００９４】
第２の特定パターン３において第１の特定パターン２とエンドパターン３ａとの間には中間特定パターン３ｂが配置されている。この中間特定パターン３ｂは、複数色のセルが所定の配列で並んでなるものであり、本実施形態では、特定色のセル（図１の例では白色セル３ｂ'）とその特定色とは異なる色のセル（図１の例では黒色セル３ｂ"）が交互に並んだパターンとして構成されている。
【００９５】
また、第２の特定パターン４も同様であり、規定の角部５ａとは異なる角部５ｃ（角部５ｃは、「第２の角部」の一例に相当する）に、当該角部５ｃを示すエンドパターン４ａを配置してなるものである。このエンドパターン４ａも、色彩、濃度、輝度が同一の同種セルが複数連続して配置された直線形状（具体的には色彩、濃度、輝度が同一の黒色セル４ａ'が３つ連続して配置された直線形状）として構成されており、このエンドパターン４ａの端部（具体的には第１の特定パターン２から遠い側の端部）の黒色セル４ａ'における外縁を構成する２辺によって矩形領域における角部５ｃの角位置が定められている。なお、本実施形態では、エンドパターン３ａ、４ａが「第１のエンドパターン」の一例に相当する。
【００９６】
第２の特定パターン４において第１の特定パターン２とエンドパターン４ａとの間には中間特定パターン４ｂが配置されている。この中間特定パターン４ｂも、複数色のセルが所定の配列で並んでなるものであり、本実施形態では、特定色のセル（図１の例では白色セル４ｂ'）とその特定色とは異なる色のセル（図１の例では黒色セル４ｂ"）が交互に並んだパターンとして構成されている。
【００９７】
また、二次元コード１のコード領域（矩形領域）における第１の特定パターン２の対角位置には、コード領域（矩形領域）の角部５ｄを示すエンドパターン７が配置されている。エンドパターン７は、色彩、濃度、輝度が同一の同種セルが複数連続したＬ字形状（具体的には、色彩、濃度、輝度が同一の黒色セル７ａが３つ連続したＬ字形状）として構成されている。図１では、エンドパターン７の外側の外縁が直角に構成され、この外側の直角外縁によって矩形領域における角部５ｄの角位置が定められている。本実施形態では、エンドパターン７が「第２のエンドパターン」の一例に相当する。
なお、図１の例では、エンドパターン７に隣接するセル（エンドパターン７、誤り訂正コードブロック１２、データコードブロック１１に囲まれた空白セル）をどの用途に用いるか特に示していないが、例えば、データコードブロック１１や誤り訂正コードブロック１２の配置を変更してこれらの配置領域として利用してもよい。或いは、データコードブロック１１や誤り訂正コードブロック１２のデータとされない余剰ブロックとして構成してもよい。
【００９８】
更に、本実施形態の二次元コード１は、第１の特定パターン２がコード領域（矩形領域）の規定の角部５ａに配置される一方で、コード領域（矩形領域）の境界部６のうちの、第２の特定パターン３、４が配置される側以外の境界部側（即ち、第２境界部６ｃ、６ｄ側）に、一部のコードブロック１０が配置される構成となっている。本実施形態では、複数あるコードブロック１０のうち、第２境界部６ｃ、６ｄに隣接して配置されるコードブロックを「第２境界部隣接ブロック」としており、図１の例では、各第２境界部６ｃ、６ｄそれぞれに隣接して誤り訂正コードブロック１２が配置され、この誤り訂正コードブロック１２が「第２境界部隣接ブロック」とされている。
【００９９】
一方の第２境界部６ｃ側の第２境界部隣接ブロック１２ａ（誤り訂正コードブロック）は、第２境界部６ｃに隣接する位置に、背景とは色彩又は濃度又は輝度の異なるセル（図１の例では黒色セル）を少なくとも１つ配置する構成をなしている。即ち、誤り訂正コードブロック１２は、その性質上、背景と同一色のセルが連続して並ぶ確率が極めて低いことが知られており、本実施形態では、誤り訂正コードブロック１２のこのような性質を利用して第２境界部６ｃに隣接する位置に、背景とは色彩又は濃度又は輝度の異なるセルを少なくとも１つ配置するようにしている。他方の第２境界部６ｄ側の第２境界部隣接ブロック１２ｂ（誤り訂正コードブロック）も同様であり、第２境界部６ｄに隣接する位置に、背景とは色彩又は濃度又は輝度の異なるセル（黒色セル）を少なくとも１つ配置する構成をなしている。なお、図1の例では、背景が白色として構成され、第２境界部隣接ブロック１２ａ、１２ｂはそれぞれ、背景と色の異なる黒色セルを少なくとも１つ第２境界部２ｃ、２ｄに隣接させるように配置されるため、その黒色セルを目印として第２境界部２ｃ、２ｄを精度高く特定できるようになっている。なお、具体的な特定方法は後述する。
【０１００】
図１の例では、第２境界部毎に誤り訂正コードブロック１２を複数（図１では２つ）配置した例を示したが、これに限定されず、各第２境界部６ｃ、６ｄに対し誤り訂正コードブロック１２が少なくとも１つ隣接して配置されていれば、その数は、１つでも、３以上でも良い。
【０１０１】
また、図２（ａ）に示すように、二次元コード１のコード領域（矩形領域）は、一辺に奇数個Ｌのセルが配置されたＬ×Ｌのマトリックスによって正方形領域として構成されている。図２の例では、Ｌ＝１１であり、コード領域（矩形領域）は１１×１１のマトリックスとして正方形状に構成されている。また、第１の特定パターン２の外形は、一辺にＬ＞Ｍとなる奇数個Ｍのセルが配置されたＭ×Ｍのマトリックスによって正方形状に構成されている。なお、図２の例では、Ｍ＝５であり、第１の特定パターン２は、５×５のマトリックスとして正方形状に構成されている。また、第２の特定パターン３、４はいずれも、Ｎ＝Ｌ−Ｍとなる偶数個Ｎ（図２の例ではＮ＝６）のセルが並んだ長さで直線状に構成されており、それぞれの長手方向が各第２境界部６ｃ、６ｄに沿った方向となるように配置されている。また、図２（ａ）（ｂ）に示すように、コードブロック１０は、一辺に偶数個Ａのセルが配置され、他辺に偶数個Ｂのセルが配置されたＡ×Ｂのマトリックスとして矩形状に構成されている。具体的には、データコードブロック１１、誤り訂正コードブロック１２のいずれも、２×４のマトリックス又は４×２のマトリックスとして矩形状に構成されている。
【０１０２】
次に、本実施形態に係る二次元コード１の生成方法について概説する。
本実施形態に係る二次元コード１は、ＣＰＵやメモリ等を備えた情報処理装置（コンピュータ等）によって生成しうるものである。この二次元コード１を生成する場合、まず、生成しようとする二次元コード１のデータ値（デコード対象となるデータ）を取得する。さらに、そのデータ値に対する誤り訂正コードを計算により生成する。そして、データ値に対応するデータコードブロック、及び誤り訂正コードに対応する誤り訂正コードブロックを生成し、各データコードブロック、各誤り訂正コードブロックを順番に配置する。この配置においては、誤り訂正コードブロックを最後尾（図1の例では４番目の誤り訂正コードブロック１２）側から順番をさかのぼるように順次配置し、誤り訂正コードブロック１２の先頭まで配置し終わった場合には、その後、データコードブロック１１を最後尾側から順番をさかのぼるように順次配置する。
【０１０３】
具体的には、図１に示すように、境界部６に隣接する位置を配置の始端位置として境界部６に沿うように、誤り訂正コードブロック１２を最後尾側から順番に配置している。例えば、最後尾の誤り訂正コードブロック１２（図1の例では４番目の誤り訂正コードブロック１２）については第２境界部６ｃの角部５ｂ寄りの位置に配置し、第２境界部６ｃ、６ｄに沿うように３番目、２番目、１番目の誤り訂正コードブロック１２を順次配置している。そして、誤り訂正コードブロック１２の先頭（一番目）まで配置し終わった後には、データコードブロック１１が最後尾（６番目のデータコードブロック１１）側から順次配置される。このような配置方法としているため、図１のように誤り訂正コードブロック１２が第２境界部６ｃ、６ｄに満遍なく配置されることとなる。
【０１０４】
次に、本実施形態に係る二次元コード１の読取例について概説する。
本実施形態に係る二次元コード１は、例えば図３に示すような光学的情報読取装置２０で読み取ることができる。図３に示す光学的情報読取装置２０は、主に、照明光源２１、受光センサ２３、フィルタ２５、結像レンズ２７等の光学系と、メモリ３５、制御回路４０、操作スイッチ４２、液晶表示装置４６等のマイクロコンピュータ（以下「マイコン」という）系と、電源スイッチ４１、電池４９等の電源系と、から構成されている。
【０１０５】
光学系は、照明光源２１、受光センサ２３、フィルタ２５、結像レンズ２７等から構成されている。照明光源２１は、照明光Ｌｆを発光可能な照明光源として機能するもので、例えば、ＬＥＤとこのＬＥＤの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、受光センサ２３を挟んだ両側に照明光源２１が設けられており、ハウジングの読取口（図３では図示略）を介して読取対象物Ｒに向けて照明光Ｌｆを照射可能に構成されている。この読取対象物Ｒは、例えば、包装容器や包装用紙あるいはラベルといった表示媒体に相当するもので、本実施形態に係る二次元コード１は、このような読取対象物Ｒに、印刷或いはダイレクトマーキング等によって形成されている。
【０１０６】
受光センサ２３は、読取対象物Ｒや二次元コード１に照射されて反射した反射光Ｌｒを受光可能に構成されるもので、例えば、Ｃ−ＭＯＳやＣＣＤ等の固体撮像素子である受光素子を２次元に配列したエリアセンサが、これに相当する。受光センサ２３は、結像レンズ２７を介して入射する入射光を受光面２３ａで受光可能にプリント配線板（図示略）に実装されている。また、フィルタ２５は、反射光Ｌｒの波長相当以下の光の通過を許容し、当該波長相当を超える光の通過を遮断し得る光学的なローパスフィルタで、反射光Ｌｒの波長相当を超える不要な光が受光センサ２３に入射することを抑制している。また、  結像レンズ２７は、外部から読取口を介して入射する入射光を集光して受光センサ２３の受光面２３ａに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。
【０１０７】
次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路３１、Ａ／Ｄ変換回路３３、メモリ３５、アドレス発生回路３６、同期信号発生回路３８、制御回路４０、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示装置４６、通信インタフェース４８等から構成されている。このマイコン系は、その名の通り、マイコン（情報処理装置）として機能し得る制御回路４０およびメモリ３５と中心に構成されるもので、前述した光学系によって撮像された二次元コード１の画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。また制御回路４０は、当該光学的情報読取装置２０の全体システムに関する制御も行っている。
【０１０８】
光学系の受光センサ２３から出力される画像信号（アナログ信号）は、増幅回路３１に入力されることで所定ゲインで増幅された後、Ａ／Ｄ変換回路３３に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ（画像情報）は、メモリ３５に入力されると、画像データ蓄積領域に蓄積される。なお、同期信号発生回路３８は、受光センサ２３およびアドレス発生回路３６に対する同期信号を発生可能に構成されており、またアドレス発生回路３６は、この同期信号発生回路３８から供給される同期信号に基づいて、メモリ３５に格納される画像データの格納アドレスを発生可能に構成されている。
【０１０９】
メモリ３５は、半導体メモリ装置で、例えばＲＡＭ（ＤＲＡＭ、ＳＲＡＭ等）やＲＯＭ（ＥＰＲＯＭ、ＥＥＰＲＯＭ等）がこれに相当する。このメモリ３５のうちのＲＡＭには、前述した画像データ蓄積領域のほかに、制御回路４０が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またＲＯＭには、後述する読取処理、解析処理等を実行可能な所定プログラムやその他、照明光源２１、受光センサ２３等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
【０１１０】
制御回路４０は、光学的情報読取装置２０全体を制御可能なマイコンで、ＣＰＵ、システムバス、入出力インタフェース等からなるもので、メモリ３５とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路４０は、内蔵された入出力インタフェースを介して種々の入出力装置（周辺装置）と接続可能に構成されており、本実施形態の場合、電源スイッチ４１、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示装置４６、通信インタフェース４８等が制御回路４０に接続されている。なお、通信インタフェース４８には、当該光学的情報読取装置２０の上位システムに相当するホストコンピュータＨＳＴ等が接続される。また、電源系は、電源スイッチ４１、電池４９等によって構成されており、制御回路４０による電源スイッチ４１のオンオフ制御により、電池４９から上述した各装置や各回路に供給される駆動電圧の導通や遮断が制御されている。
【０１１１】
このように構成される光学的情報読取装置２０では、以下のように読取処理が行われる。まず、作業者が所定操作（例えば、操作スイッチ４２のオン操作）を行うことで、図4に示す読取処理が開始され、画像データ取得処理が行われる（Ｓ１）。画像データ取得処理では、まず制御回路４０が同期信号を基準に照明光源２１に発光信号を出力し、当該発光信号を受けた照明光源２１が、ＬＥＤを発光させて照明光Ｌｆを照射する。すると、二次元コード１に照射された照明光Ｌｆが反射し、その反射光Ｌｒが読取口およびフィルタ２５を介して結像レンズ２７に入射する。そして、受光センサ２３の受光面２３ａには結像レンズ２７によって二次元コード１の像、つまりコード画像が結像される。これにより、受光センサ２３を構成する各受光素子が露光され、それら各受光素子から二次元コード１の像に応じた受光信号がそれぞれ出力される。これら受光信号は、二次元コード１の画像データを構成するものであり、この画像データはメモリ３５に一時的に記憶される。
【０１１２】
その後、Ｓ１にて取得された画像データにおいて二次元コード１のコード領域（矩形領域）を特定する処理を行う（Ｓ２）。なお、この特定処理（Ｓ２）では、二次元コード１の画像データにおいて各境界部６を特定することとなるが、各境界部６の特定方法は、特開平１０−１９８７５４号公報に示されるような方法でもよく、或いは、特開２０００−３５３２１０公報に示されるような、明暗変化点数を計数してコード領域を抽出する方法でも好適に用いることができる。なお、特開２０００−３５３２１０公報の技術では、二色の二次元コードを対象として明暗の変化を検出しており、図１のような二色の二次元コードの場合にはこの技術を同様に適用できる。また、二次元コードを３種類以上のセルによって構成する場合（例えば、図１の構成を変形して多色のカラーコードとしたり、或いは後述する本実施形態以外の構成等）も境界部の特定方法は基本的に同様であり、走査線に沿って検査したときのいずれかの色を示す値から他の色を示す値への変化を計数するようにすればよい。なお、画像処理の分野において異なる色の領域を区別する技術は各種提供されているため、公知の別の方法を用いて領域を特定してもよい。要するに、本実施形態のように、矩形領域の境界部６ａ〜６ｂのそれぞれに隣接して背景色と色の異なる異色セルが配置されていれば、各種画像処理方法を用いてこの異色セルを特定でき、この異色セルの外縁をつなぐことで矩形領域の境界部を正確に抽出することができる。
【０１１３】
特に、本実施形態の二次元コード１では、各角部５ａ、５ｂ、５ｃ、５ｄにおいてそれぞれ、外縁部に背景とは色の異なるセルが配置されてなる第１の特定パターン２、エンドパターン３、エンドパターン４、エンドパターン７が設けられているため、各種画像処理技術を用いて角部５ａ、５ｂ、５ｃ、５ｄを確実に特定でき、さらに、角部５ａ、５ｂ間には、背景とは色の異なるセルを第１境界部６ａに隣接させて構成される中間特定パターン３ｂが設けられ、角部５ａ、５ｃ間には、背景とは色の異なるセルを第１境界部６ｂに隣接させて構成される中間特定パターン４ｂが設けられているため、第１境界部６ａ、６ｂも各種画像処理技術を用いて確実に特定できる。さらに、角部５ｂ、５ｄ間には誤り訂正コードブロック１２（第２境界部隣接ブロック１２ａ）が配置されて背景とは色の異なるセルが第２境界部６ｃに隣接しており、角部５ｃ、５ｄ間には誤り訂正コードブロック１２（第２境界部隣接ブロック１２ｂ）が配置されて背景とは色の異なるセルが第２境界部６ｄに隣接しているため、第２境界部６ｃ、６ｄも各種画像処理技術を用いて確実に特定できるようになる。
【０１１４】
なお、誤り訂正コードブロック１２として構成される第２境界部隣接ブロック１２ａ、１２ｂはそれぞれ、長辺側が第２境界部６ｃ、６ｄに隣接する構成となっており、第２境界部隣接ブロック１２ａ、１２ｂのそれぞれにおいて、第２境界部６ｃ、６ｄに隣接するセル数が多く確保されている。このようにすれば、第２境界部隣接ブロック１２ａ、１２ｂのそれぞれにおいて、境界部６（第２境界部６ｃ、６ｄ）に隣接する部分が全て背景色と同一色となる確率を極めてゼロに近づけることができる。
【０１１５】
図４に戻り説明を続けると、Ｓ２にてコード領域が特定された後には、その特定されたコード領域と第１の特定パターンとに基づいて二次元コードの向きを特定する処理を行う（Ｓ３）。具体的には、特定された矩形領域のどの角部に第１の特定パターン２が存在するかを検出する。その第１の特定パターン２の位置が検出されれば、画像データにおいて二次元コードの向き（姿勢）を特定できることとなる。
【０１１６】
その後、位置及び向きが特定されたコード領域（矩形領域）に基づいてデコード処理を行う（Ｓ４）。本実施形態では、予めコード種別が光学的情報読取装置２０内に記憶されており、コード領域（矩形領域）のサイズや特定パターン（第１の特定パターン２、第２の特定パターン３、４、エンドパターン７）の構成によってコード種別を特定した上で、各データコードブロック１１についてデコードを行うと共に、誤り訂正コードブロック１２に基づいて誤り訂正を行う。
【０１１７】
以上説明した本実施形態の構成によれば、以下のような効果を奏する。
本実施形態の二次元コード１では、第１の特定パターン２がコード領域（矩形領域）の規定の角部５ａに配置されると共に、第１の特定パターン２が接する第１境界部６ａ、６ｂに隣接して第２の特定パターン３，４が配置されているため、当該二次元コード１を読み取る際の画像データにおいて、コード領域（矩形領域）の一部の辺（第２の特定パターン３，４が配置される側の辺）を、第１の特定パターン２及び第２の特定パターン３，４に基づいて精度高く特定しやすくなる。また、第２の特定パターン３，４が配置されない第２境界部６ｃ、６ｄ側には、これら第２境界部６ｃ、６ｄに隣接する位置に背景とは色彩又は濃度又は輝度の異なるセル（異色セル）を少なくとも１つ配置してなるコードブロック１０が、各第２境界部６ｃ、６ｄに少なくとも１つ配置されているため、これらコードブロック１０の異色セルに基づき、第２の特定パターン３，４が配置される側以外の辺（各第２境界部６ｃ、６ｄ）も精度高く特定しやすくなる。さらに、第２の特定パターン３，４側の境界部以外の境界部（即ち、第２境界部６ｃ、６ｄ）に隣接するようにコードブロック１０を配置し、このコードブロック１０によって第２境界部６ｃ、６ｄを特定し得るように構成されているため、全ての境界部６を特定パターンよって特定しようとする構成と比較してデータ以外に割り当てるセル数を極力抑えることができ、データに割り当てるセル数を効果的に増加させることができる。
【０１１８】
また、各第２境界部６ｃ、６ｄに、誤り訂正コードブロック１２が少なくとも１つ配置されている。誤り訂正コードブロック１２は、その性質上、背景と色彩、濃度、輝度が同一のセルが長く連続する可能性が極めて低く、このような訂正コードブロック１２を境界部６の特定に兼用すれば、誤り訂正に必須となるデータを利用して境界部６を精度高く特定できるようになり、データ以外に割り当てるセル数を極力抑え得る好適例となる。
【０１１９】
また、コード領域（矩形領域）が、一辺に奇数個Ｌのセルが配置されたＬ×Ｌのマトリックスによって構成される正方形領域であり、第１の特定パターン２の外形は、一辺にＬ＞Ｍとなる奇数個Ｍのセルが配置されたＭ×Ｍのマトリックスによって正方形に構成されている。従って、コード領域（矩形領域）の辺（第１境界部６ａ、６ｂ）においてそれぞれ第１の特定パターン２部分を除いた部分が偶数個（Ｌ−Ｍ）のセル領域として確保され、更に、この領域全体に第２の特定パターン３，４がそれぞれ配置されることとなる。このようにすると、矩形領域の特定の辺（第１境界部６ａ、６ｂ）において一辺全体を第１の特定パターン２及び第２の特定パターン３又は４によって背景と確実に区別できるようになる。更に、このように構成した上で、コードブロック１０を偶数個Ａ×偶数個Ｂのマトリックスとして矩形状に構成しているため、第２の特定パターン３又は４が配置される一辺付近において、第１の特定パターン部分以外の領域にコードブロック１０を効率的に配置しやすくなり、特異な形状（例えば、コードブロックの一辺の長さが１つのセル分のみである細長形状）のコードブロックを多数配置せずに済む。
【０１２０】
また、コード領域（矩形領域）における規定の角部５ａ（第１の特定パターン２が配置された角部）とは異なる第２の角部５ｂ、５ｃにそれぞれ、これら第２の角部５ｂ、５ｃを示すエンドパターン３ａ、４ａ（第１のエンドパターン）を配置するように構成されている。このようにすると、規定の角部５ａについては第１の特定パターン２によって背景と良好に区別でき、それとは異なる第２の角部５ｂ、５ｃについてはエンドパターン３ａ、４ａ（第１のエンドパターン）によって背景と良好に区別できるようになる。即ち、当該二次元コード１を読み取る際に、コード領域（矩形領域）における第２の特定パターン３，４が配置される側の辺（第１境界部６ａ、６ｂ）を第１の特定パターン２及び第２の特定パターン３，４によって確実に特定でき、さらに、その辺の両端部をも確実に特定できるようになる。また、これら両端部の特定は、第２の特定パターン３，４が配置される辺に隣接する二辺（即ち、第２境界部６ｃ、６ｄ）の特定にも寄与し、ひいては矩形領域全体の特定精度を効果的に高めることができる。
【０１２１】
また、エンドパターン３ａ、４ａ（第１のエンドパターン）はいずれも、色彩、濃度、輝度が同一のセルが複数連続して配置された直線形状として構成されている。このようにすれば、第２の角部５ｂ、５ｃを特定しやすい構成を簡易に実現できる。また、第１のエンドパターンが直線形状であるため、第１のエンドパターンに隣接するブロック形状をあまり複雑化させずに済み、第１のエンドパターンの周囲を効率的に使用しやすくなる。
【０１２２】
また、コード領域（矩形領域）における第１の特定パターン２の対角位置に、矩形領域の角部５ｄを示すエンドパターン７（第２のエンドパターン）が配置されている。このようにすると、規定の角部５ａについては第１の特定パターン２によって背景と良好に区別でき、それとは対角の角部５ｄについてはエンドパターン７によって背景と良好に区別できるようになる。更に、第２境界部６ｃ、６ｄの特定をコードブロック１０のみならず、エンドパターン７を利用して行うことができ、ひいては矩形領域全体の特定精度を効果的に高めることができる。
【０１２３】
また、エンドパターン７（第２のエンドパターン）が、色彩、濃度、輝度が同一のセルが複数連続したＬ字形状として構成されている。このようにすれば、規定の角部５ａ（第１の特定パターン２が配置される角部）と対角の角部５ｄを特定しやすい構成を簡易に実現できる。特に、エンドパターン７がＬ字形状であるため、エンドパターン７の外形が、その対角の角部５ｄに隣接する２辺（即ち、第２境界部６ｃ、６ｄ）の認識にも寄与し、エンドパターン７とコードブロック１０とを利用して第２境界部６ｃ、６ｄを一層良好に特定できるようになる。
【０１２４】
［第２実施形態］
次に第２実施形態について説明する。図５は、第２実施形態に係る二次元コード１２０を例示する説明図である。なお、図５では、誤り訂正コードブロック１２の位置を破線にて概念的に示しており、圧縮データコードブロック１３の位置については実線枠内にハッチングを付して概念的に示している。また、図５では、各コードブロック１０の具体的セル構成は省略して示している。なお、本実施形態は、コードブロック１０の構成、配置のみが第１実施形態と異なり、それ以外は第１実施形態と同一である。よって異なる部分について重点的に説明し、同一の構成については第１実施形態と同一の符号を付して詳細な説明は省略する。
【０１２５】
本実施形態の二次元コード１２０のコード領域（矩形領域）も、一辺に奇数個Ｌのセルが配置されたＬ×Ｌのマトリックスによって正方形領域として構成されており、具体的には、図５のように１１×１１のマトリックスとして正方形状に構成されている。また、二次元コード１２０の境界部６は、第１実施形態と同一の構成となっており、第１の特定パターン２、第２の特定パターン３，４、エンドパターン７はいずれも第１実施形態と同一の構成とされている。また、図５の例でも、コードブロック１０は、一辺に偶数個Ａのセルが配置され、他辺に偶数個Ｂのセルが配置されたＡ×Ｂのマトリックスとして矩形状に構成されている。具体的には、圧縮データコードブロック１３、誤り訂正コードブロック１２のいずれも、２×４のマトリックス又は４×２のマトリックスとして矩形状に構成されている。
【０１２６】
一方、本実施形態では、コードブロック１０として、圧縮されたデータを格納してなる圧縮データコードブロック１３が含まれており、第２の特定パターン３、４が配置された第１境界部６ａ、６ｂとは異なる境界部６（即ち第１の特定パターン２と隣接しない第２境界部６ｃ、６ｄ）側に複数ある圧縮データコードブロック１３の一部（第２境界部隣接ブロック１３ａ、１３ｂ）が配置されている。この圧縮データコードブロック１３（第２境界部隣接ブロック１３ａ、１３ｂ）は、これら第２境界部６ｃ、６ｄに隣接する位置に背景（図５の例では白色の背景）とは色彩又は濃度又は輝度の異なるセル（図５の例では黒色セル）を少なくとも１つ配置するように機能するものである。なお、圧縮データコードブロック１３は、各第２境界部６ｃ、６ｄに対応して少なくとも１つ配置されていれば良く、図５の例では、各第２境界部６ｃ、６ｄにそれぞれ圧縮データコードブロック１３が２つずつ隣接配置されている。
【０１２７】
圧縮データコードブロック１３は、コード化すべきデータを公知の圧縮方法を用いて圧縮した圧縮データをブロック化したものである。圧縮のアルゴリズムは、ランレングス符号化やハフマン符号化等、公知の圧縮アルゴリズムであればいずれを用いてもよい。例えば、ランレングス符号化を用いる場合、デコードすべき情報が「００００００００００００１１１１」という情報であった場合、０が１２個（２進数で１１００）、１が４個（２進数で０１００）並ぶことから、「０」「１１００」「１」「０１００」を並べた、「０１１００１０１００」と表すことができ、数字の連続を少なくすることできる。その結果、圧縮データコードブロック１３内において背景色と同一色のセルが長く連続することを抑えることができる。図５の例では、このような圧縮データコードブロック１３の長辺側を第２境界部６ｃ、６ｄに隣接させるように配置しており、各圧縮データコードブロック１３が何らかの情報を有する場合、各圧縮データコードブロック１３における第２境界部６ｃ、６ｄに隣接する部分全体（４つのセル全体）が背景色と同一となる確率が極めて低くなっている。
【０１２８】
また、本実施形態では、一方の第１境界部６ａに隣接する第２の特定パターン３の内側に、複数ある圧縮データコードブロック１３の一部（内側隣接ブロック１３ｃ）が隣接して配置されており、他方の第１境界部６ｂに隣接する第２の特定パターン３の内側にも一部の圧縮データコードブロック１３（内側隣接ブロック１３ｄ）が隣接して配置されている。また、上述の第２境界部隣接ブロック１３ａの一部も第２の特定パターン３の内側に隣接しており、第２境界部隣接ブロック１３ｂの一部も第２の特定パターン４の内側に隣接している。
【０１２９】
以上のような本実施形態の構成によれば、第１実施形態と同様の効果を奏することとなる。即ち、背景とコード領域（矩形領域）との区別を良好に行うことができ、かつデータ以外に割り当てるセル数を極力抑え、データに割り当てるセル数を効果的に増加させることができる。
【０１３０】
特に本実施形態では、第２境界部６ｃ、６ｄに隣接させるコードブロックとして圧縮データコードブロック１３を用いている。この圧縮データコードブロック１３は、その性質上、背景と色彩、濃度、輝度が同一のセルが長く連続する可能性が極めて低く、このような圧縮データコードブロック１３を境界部６の特定に兼用すれば、データサイズを小さくできると共に、デコード対象となるデータを利用して境界部６を精度高く特定できるようになり、データ以外に割り当てるセル数を極力抑え得る好適例となる。
【０１３１】
また、第１境界部６ａ、６ｂに隣接する第２の特定パターン３，４の内側に隣接するように圧縮データコードブロック１３（内側隣接ブロック１３ｃ、１３ｄ等）が配置されている。このようにすると、コード領域（矩形領域）と背景との区別を、第２の特定パターン３，４のみならず必要に応じて圧縮データコードブロック１３を利用して行うことができ、第１境界部６ａ、６ｂの認識不良を効果的に抑えることができる。例えば、汚れなどによって第２の特定パターン３、４が欠けてしまった場合であっても、その内側に存在する圧縮データコードブロック１３の位置を正確に特定できるため、その圧縮データコードブロック１３の位置に基づいて正規の境界部６を良好に推定できるようになる。
【０１３２】
［第３実施形態］
次に第３実施形態について説明する。図６は、第３実施形態に係る二次元コード１３０を例示する説明図である。なお、図６でも、各コードブロック１０の具体的セル構成は省略して示している。
【０１３３】
第３実施形態は、第２の特定パターン１３３、１３４の構成を第１実施形態と異なるようにした点、多色のセルを用いるようにした点が第１実施形態と異なり、それ以外の構成は第１実施形態と同様である。よって異なる部分について重点的に説明し、同一の構成については第１実施形態と同一の符号を付して詳細な説明は省略する。図６の例では、第１の特定パターン２、エンドパターン７、第１境界部６ａ、６ｂ、第２境界部６ｃ、６ｄは、いずれも第１実施形態と同一の構成及び配置をなしている。また、複数のデータコードブロック１１、複数の誤り訂正コードブロック１２は、第１実施形態と同様のマトリックス構成をなしており、多色のセルによって構成されている点が第１実施形態と異なっている。
【０１３４】
第１実施形態では、２種類のセルを用いた二次元コード１を例示したが、本実施形態の二次元コード１３０は、３種類以上のセルを用いたいわゆるカラーコードとして構成されている。図６の例では、例えば、黒色セル、白色セル、赤色セル、緑色セル、青色セル、シアン色セル、マゼンダ色セル、黄色セル、の８色のセルを用いて二次元コード１３０が構成されている。なお、本実施形態及び他の実施形態を通し、黒色セルをＣｂ、白色セルをＣｗで示すとともに、緑色セルを符号Ｃｇ、赤色セルをＣｒ、青色セルをＣｕ、黄色セルをＣｙ、シアン色セルをＣｎ、マゼンダ色セルをＣｍとそれぞれ示すこととする。
【０１３５】
例えば、予め定められた８色のセルを用いる場合、各データコードブロック１１や各誤り訂正コードブロック１２を構成する各セルはそれぞれ、その８色のセルの中からいずれかの色のセルが用いられることとなる。具体的には、セルの色が、数値に対応付けられており、例えば、データ値「０」に対して第１の色「白」、データ値「１」に対して第２の色「赤」、データ値「２」に対して第３の色「緑」、データ値「３」に対して第４の色「青」、データ値「４」、に対して第５の色「マゼンタ」、データ値「５」に対して第６の色「黄」、データ値「６」に対して第７の色「シアン」、データ値「７」、に対して第８の色「黒」、がそれぞれ対応付けられている。
【０１３６】
また、本実施形態でも、コード領域（矩形領域）の境界部６のうちの第２の特定パターン３、４が配置される側以外の境界部側（即ち、第１の特定パターン２に隣接しない第２境界部６ｃ、６ｄ側）に、一部のコードブロック１０が配置される構成となっている。即ち、一方の第２境界部６ｃに隣接して誤り訂正コードブロック１２（第２境界部隣接ブロック１２ａ）が配され、第２境界部６ｃに隣接する位置に、背景とは色彩又は濃度又は輝度の異なるセル（８色のセルのうちの白色セル以外のセル）を少なくとも１つ配置する構成をなしている。
【０１３７】
また、他方の第２境界部６ｄにも誤り訂正コードブロック１２（第２境界部隣接ブロック１２ｂ）が隣接しており、第２境界部６ｄに隣接する位置に、背景とは色彩又は濃度又は輝度の異なるセル（８色のセルのうちの白色セル以外のセル）を少なくとも１つ配置する構成をなしている。なお、本実施形態での誤り訂正コードブロック１２の生成方法も基本的に第１実施形態と同様であり、データコードブロック１１についてのデータコード語に基づき第１実施形態と同様の方法で誤り訂正コード語を生成し、その生成された誤り訂正コード語を誤り訂正コードブロック１２によって表現することとなる。なお、第１実施形態では２色のセルからなるブロックによって誤り訂正コード語を表現したが、本実施形態では多色のセルからなるブロックによって誤り訂正コード語を表現することとなる。
【０１３８】
また、本実施形態でも、コード領域（矩形領域）の境界をなす４つの辺（４つの境界部６）のうち、第１の特定パターン２が接する境界部（第１境界部６ａ、６ｂ）に隣接して第２の特定パターン１３３、１３４が配置されている。この第２の特定パターン１３３、１３４も又は濃度又は輝度が異なる複数のセルを含むパターンとして構成されており、第１実施形態の第２の特定パターン３，４と同様に、読取処理の際に二次元コード１のコード領域（矩形領域）を背景から分離するための目印となるように機能する。
【０１３９】
第２の特定パターン１３３は、矩形領域における規定の角部５ａ（第１の特定パターン２が配置された角部）とは異なる角部５ｂ（角部５ｂは、第２の角部の一例に相当する）に、当該角部５ｂを示すエンドパターン１３２を配置してなるものである。なお、本実施形態の第２の特定パターン１３３は、エンドパターン１３２の構成のみが第１の実施形態のエンドパターン３ａと異なっており、エンドパターン１３２は、色彩又は濃度又は輝度の異なる複数種類のセルが所定の順序で配置された直線形状として構成されている。具体的には、３種類のセルが、青色セル１３２ａ、赤色セル１３２ｂ、黒色セル１３２ｃの順に並んでエンドパターン１３２が構成されており、黒色セル１３２ｃの外縁を構成する２辺によって矩形領域における角部５ｂの角位置が定められている。なお、第２の特定パターン１３３において第１の特定パターン２とエンドパターン１３２との間には、第１実施形態と同一の中間特定パターン３ｂが配置されている。
【０１４０】
第２の特定パターン１３４も同様であり、規定の角部５ａとは異なる角部５ｃ（角部５ｃは、第２の角部の一例に相当する）に、当該角部５ｃを示すエンドパターン１３５を配置してなるものである。なお、第２の特定パターン１３４は、エンドパターン１３５の構成のみが第１の実施形態のエンドパターン４ａと異なっており、エンドパターン１３５も、色彩又は濃度又は輝度の異なる複数種類のセルが所定の順序で配置された直線形状として構成されている。具体的には、もう１つのエンドパターン１３２と同一の順序、即ち、３種類のセルが、青色セル１３５ａ、赤色セル１３５ｂ、黒色セル１３５ｃの順に並んでエンドパターン１３５が構成されており、黒色セル１３５ｃの外縁を構成する２辺によって矩形領域における角部５ｃの角位置が定められている。また、第２の特定パターン１３４において第１の特定パターン２とエンドパターン１３４との間には、第１実施形態と同一の中間特定パターン４ｂが配置されている。なお、本実施形態では、エンドパターン１３２、１３５が「第１のエンドパターン」の一例に相当する。
【０１４１】
本実施形態の二次元コード１３０では、第２の特定パターン１３３、１３４が、色彩又は濃度又は輝度が異なる複数のセルを含むパターンとして構成されている。このように、背景に隣接させて種類の異なる複数のセルを配置すれば背景と矩形領域とを良好に区別できるようになる。
【０１４２】
また、エンドパターン１３２、１３５（第１のエンドパターン）は、色彩又は濃度又は輝度の異なる複数のセルが所定の順序で配置された直線形状として構成されている。このように種類の異なる複数のセルを所定の順序で配置すると、当該二次元コード１３０を読み取る際にセルの配置形状を認識しやすく、更に、セルの順序が所定の順序であるか否かを確認することで第２の角部として適当かを正確に判断できるようにもなる。従って、第２の角部の特定を、形状面、内容面から行うことができ、特定の精度を一層高めることができる。また、エンドパターン１３２、１３５（第１のエンドパターン）が直線形状であるため、これらエンドパターン１３２、１３５に隣接するブロック形状をあまり複雑化させずに済み、エンドパターン１３２、１３５の周囲を効率的に使用しやすくなる。
【０１４３】
［第４実施形態］
次に第４実施形態について説明する。図７は、第４実施形態に係る二次元コード１４０を例示する説明図である。なお、図７では、誤り訂正コードブロック１２の位置を破線にて概念的に示しており、データコードブロック１１の位置については実線枠内にハッチングを付して概念的に示している。また、図７では、各コードブロック１０の具体的セル構成は省略して示している。
【０１４４】
本実施形態に係る二次元コード１４０も、第１実施形態と同様に複数のセルＣ（図７では、一部のセルのみ符号Ｃを付し、他のセルの符号を省略）がマトリックス状に配置されてなるものであり、複数のコードブロック１０と、第１の特定パターン２（第１実施形態と同一構成及び同一機能をなす特定パターン）と、第２の特定パターン１４３、１４４と、を備えた構成をなしている。本実施形態の二次元コード１４０も、外形が正方形状に構成されたセルＣが集合してマトリックス状に配置されたセル集合体として構成されており、セル数が縦横同数（２１セル×２１セル）となる配列で構成されている。
【０１４５】
二次元コード１４０は、コード領域が矩形状に構成され、背景との境界位置において直線状の４つ境界部１０６が存在している。第１の特定パターン２に隣接する境界部１０６（第１境界部１０６ａ、１０６ｂ）は、第１実施形態の境界部６よりも長く構成されており、これら第１境界部１０６ａ、１０６ｂにそれぞれ隣接するように第２の特定パターン１４３、１４４が配置されている。また、第２の特定パターン１４３、１４４が配置される側の境界部１０６（第１境界部１０６ａ、１０６ｂ）とは異なる境界部１０６（即ち、第１の特定パターン２に隣接しない第２境界部１０６ｃ、１０６ｄ）も第１実施形態の境界部６よりも長く構成されている。
【０１４６】
また、二次元コード１４０のコード領域（複数のセルＣによって構成される領域）も外形が矩形状の矩形領域とされており、具体的には図７のように外形が正方形状の正方形領域としてコード領域が構成されている。
【０１４７】
二次元コード１４０を構成する各セルＣは、色彩又は濃度又は輝度の異なる複数種類のセルから選ばれたものが用いられている。なお、図７の例でも、第１実施形態と同様に、色の異なる２種類のセル（黒色セル、白色セル）によって二次元コード１４０が構成されている。
【０１４８】
また、二次元コード１４０に用いられるコードブロック１０は、第１実施形態と同様に８つのセルＣが集合してなるものであり、データコードブロック１１と、誤り訂正コードブロック１２とに分けられる。なお、本実施形態では一部のコードブロック１０が２×４又は４×２のマトリックス状に構成されており、他のコードブロック１０は、これとは別の形状とされている。また、２以上の領域に分割されたコードブロック１０も存在している。また、二次元コード１４０のデータコードブロック１１及び誤り訂正コードブロック１２のいずれも、第１実施形態と同様にマスク処理が施されていない非マスク化ブロックとされており、マスク処理の解除等を必要とせずにデコードしうる構成となっている。
【０１４９】
データコードブロック１１は、第１実施形態と同様の構成、即ちデコードの対象となるデータを符号化した符号化データ（データコード語）を複数のセルによって表現したブロックとして構成されている。また、データコードブロック１１を構成する各セルは、２種類のセル（黒色セル、白色セル）からいずれかが選択されて用いられている。なお、データコード語を２種類のセルによって表現する方法は第１実施形態と同様である。
【０１５０】
また、本実施形態に係る二次元コード１４０でも、データコードブロック１１が二次元コード１４０の中心部付近に配置され、その周囲が誤り訂正コードブロック１２によって囲まれており、図７の例では、２９個のデータコードブロック１１が二次元コード１４０の中心部付近に配置され、その周囲を１６個の誤り訂正コードブロック１２によって囲んでいる。
【０１５１】
誤り訂正コードブロック１２は、データコードブロック１１の誤り訂正を行うための誤り訂正コード語によって構成されている。なお、データコードブロック１１に基づいて誤り訂正コード語を生成する方法、及び誤り生成コード語を２種類のセルで表現する方法は、第１実施形態と同様である。
【０１５２】
第２の特定パターン１４３、１４４は、コード領域（矩形領域）の境界をなす４つの辺（４つの境界部１０６）のうち、第１の特定パターン２が接する境界部（第１境界部１０６ａ、１０６ｂ）に隣接して配置されるものである。この第２の特定パターン１４３、１４４は、第１実施形態の第２の特定パターン３、４と同様の機能、即ち、二次元コード１４０のコード領域（矩形領域）を背景から分離するための目印としての機能を有しており、読み取りの際に、この第２の特定パターン１４３，１４４を基準とすることで矩形領域を背景から分離でき、ひいてはコードブロック１０をそれぞれ背景から分離できるようになっている。
【０１５３】
第２の特定パターン１４３は、矩形領域における規定の角部５ａ（第１の特定パターン２が配置された角部）とは異なる角部５ｂ（第２の角部）に、当該角部５ｂを示すエンドパターン１４３ａを配置してなるものである。このエンドパターン１４３ａは、色彩、濃度、輝度が同一の同種セルが複数連続したＬ字形状（図７では黒色セル１４３ａ'が４つ連続したＬ字形状）として構成されており、具体的には３つの黒色セル１４３ａ'が直線状に並び、その３つの黒色セル１４３ａ'の端部において、その３つの黒色セル１４３ａ'の並び方向（即ち、第１境界部１０６ａに沿った方向）と直交する方向（即ち、第２境界部１０６ｃに沿った方向）に、他の黒色セル１４３ａ'が突出しており、エンドパターン１４３ａの外側の外縁が直角に構成されている。そして、このエンドパターン１４３ａの外側の外縁を構成する２辺によって矩形領域における角部５ｂの角位置が定められている。
【０１５４】
第２の特定パターン１４３において第１の特定パターン２とエンドパターン１４３ａとの間には中間特定パターン１４３ｂが配置されている。この中間特定パターン１４３ｂは、複数色のセルが所定の配列で並んだものであり、特定色のセル（図7の例では、白色セル１４３ｂ'）とその特定色とは異なる色のセル（図７の例では黒色セル１４３ｂ"）が交互に並んだパターンとして構成されている。
【０１５５】
また、第２の特定パターン１４４も同様であり、規定の角部５ａとは異なる角部５ｃ（角部５ｃは、第２の角部の一例に相当する）に、当該角部５ｃを示すエンドパターン１４４ａを配置した構成をなしている。このエンドパターン１４４ａも、色彩、濃度、輝度が同一の同種セルが複数連続したＬ字形状（図７では黒色セル１４４ａ'が４つ連続したＬ字形状）として構成されており、具体的には３つの黒色セル１４４ａ'が直線状に並び、その３つの黒色セル１４４ａ'の端部において、その３つの黒色セル１４４ａ'の並び方向（即ち、第１境界部１０６ｂに沿った方向）と直交する方向（即ち、第２境界部１０６ｄに沿った方向）に、他の黒色セル１４４ａ'が突出しており、エンドパターン１４４ａの外側の外縁が直角に構成されている。そして、このエンドパターン１４４ａの外側の外縁を構成する２辺によって矩形領域における角部５ｃの角位置が定められている。なお、本実施形態では、エンドパターン１４３ａ、１４４ａが「第１のエンドパターン」の一例に相当する。
【０１５６】
第２の特定パターン１４４においても、第１の特定パターン２とエンドパターン１４４ａとの間に中間特定パターン１４４ｂが配置されている。この中間特定パターン１４４ｂは、複数色のセルが所定の配列で並んだものであり、具体的には、白色セル１４４ｂ'と黒色セル１４４ｂ"とが交互に並んだパターンとして構成されている。
【０１５７】
また、二次元コード１４０のコード領域（矩形領域）における第１の特定パターン２の対角位置には、コード領域（矩形領域）の角部５ｄを示すエンドパターン１４７が配置されている。このエンドパターン１４７は、所定の色彩、濃度、輝度で構成される第１セル（白色セル１４７ａ）と、この第１セル（白色セル１４７ａ）とは色彩又は濃度又は輝度が異なる第２のセル（黒色セル１４７ｂ）と、を有し、一つの白色セル１４７ａを中心に８つの黒色セル１４７ｂで囲んだ矩形形状として構成されている。図７では、エンドパターン１４７の外側の外縁が直角に構成され、この外側の直角外縁によって矩形領域における角部５ｄの角位置が定められている。なお、本実施形態では、エンドパターン１４７が「第２のエンドパターン」の一例に相当する。
【０１５８】
更に、図７の二次元コード１４０でも、コード領域（矩形領域）の境界部１０６のうち、第２の特定パターン１４３、１４４が配置される側（第１境界部１０６ａ、１０６ｂ側）とは異なる境界部側（即ち、第２境界部１０６ｃ、１０６ｄ側）に、一部のコードブロック１０が配置される構成となっている。なお、本実施形態では、複数あるコードブロック１０のうち、第２境界部１０６ｃ、１０６ｄ側に配置されるコードブロックを「第２境界部隣接ブロック」としており、図７の例では、各第２境界部１０６ｃ、１０６ｄそれぞれに誤り訂正コードブロック１２が配置され、この誤り訂正コードブロック１２が第２境界部隣接ブロックとされている。
【０１５９】
一方の第２境界部１０６ｃ側の第２境界部隣接ブロック１２ａ（誤り訂正コードブロック）は、第２境界部１０６ｃに隣接する位置に、背景とは色彩又は濃度又は輝度の異なるセルを少なくとも１つ配置する構成をなしている。他方の第２境界部１０６ｄ側の第２境界部隣接ブロック１２ｂ（誤り訂正コードブロック）も同様であり、第２境界部１０６ｄに隣接する位置に、背景とは色彩又は濃度又は輝度の異なるセルを少なくとも１つ配置する構成をなしている。なお、本実施形態では、背景を白色としており、第２境界部隣接ブロック１２ａ、１２ｂはそれぞれ、背景と異なる色のセル（黒色セル）を少なくとも１つ第２境界部１０６ｃ、１０６ｄに隣接させるように配置される。
【０１６０】
なお、図７の例では、各第２境界部１０６ｃ、１０６ｄにおける第２の特定パターン１４３、１４４及びエンドパターン１４７に隣接する領域以外の領域全体に対し、複数の誤り訂正コードブロック１２を隣接させて配置しているが、各第２境界部１０６ｃ、１０６ｄに対して少なくとも１つの誤り訂正コードブロック１２が隣接していれば良く、誤り訂正コードブロック１２と共に他のブロック（例えば、データコードブロック１１や第２実施形態の圧縮データコードブロック１３など）を各第２境界部１０６ｃ、１０６ｄに隣接させるようにしてもよい。また、図7の例では、２×４又は４×２のマトリックス状に構成された誤り訂正コードブロック１２の長辺側を各第２境界部１０６ｃ、１０６ｄに隣接させており、そのマトリックス状の誤り訂正コードブロック１２において半分のセルが各第２境界部１０６ｃ、１０６ｄに隣接するようになっている。
【０１６１】
また、本実施形態の二次元コード１４０のコード領域（矩形領域）も、一辺に奇数個Ｌのセルが配置されたＬ×Ｌのマトリックス（図７ではＬ＝２１で、２１×２１のマトリックス）によって構成される正方形領域とされている。また、第１の特定パターン２の外形は、一辺にＬ＞Ｍとなる奇数個Ｍのセルが配置されたＭ×Ｍのマトリックス（図７の例では、Ｍ＝５で、５×５のマトリックス）によって正方形に構成されている。また、第２の特定パターン１４３、１４４はいずれも、Ｎ＝Ｌ−Ｍとなる偶数個Ｎ（図７の例ではＮ＝１６）のセルが並んだ長さで直線状に構成されている。コードブロック１０の大部分は、一辺に偶数個Ａのセルが配置され、他辺に偶数個Ｂのセルが配置されたＡ×Ｂのマトリックス（図７では２×４のマトリックス又は４×２のマトリックス）として矩形状に構成されている。
【０１６２】
また、本実施形態では、一方の第１境界部１０６ａに隣接する第２の特定パターン１４３の内側に、複数ある誤り訂正コードブロック１２の一部（内側隣接ブロック１２ｃ）が隣接して配置されており、他方の第１境界部１０６ｂに隣接する第２の特定パターン１４４の内側に一部の誤り訂正コードブロック１２（内側隣接ブロック１２ｄ）が隣接して配置されている。
【０１６３】
更に本実施形態では、第２境界部１０６ｃ、１０６ｄのそれぞれの一部に、コードブロック１０を背景から分離するための第３の特定パターン１４５、１４６が配置されている。第３の特定パターン１４５は、エンドパターン１４３ａ、１４７のそれぞれから離れた第２境界部１０６ｃの中間部に位置し、色彩、濃度、輝度が同一の同種セルが複数並んだ直線部（具体的には黒色セル１４５ａが３つ並んだ直線部）を有しており、この直線部が第２境界部１０６ｃに隣接するように配置されている。また、黒色セル１４５ａが並んでなる直線部の内側には、白色セル１４５ｂが３つ並んでなる直線部が隣接して配置されている。第２境界部１０６ｃに隣接する誤り訂正コードブロック１２（第２境界部隣接ブロック１２ａ）は、この第３の特定パターン１４５を避けるように第２境界部１０６ｃに沿って配置されている。
【０１６４】
本実施形態の二次元コード１４０では、第３の特定パターン１４５とエンドパターン１４３ａとの間にコードブロック１０の半数以上（４セル以上）のセル数が確保され、第３の特定パターン１４５とエンドパターン１４３ａとの間に、２×４又は４×２のマトリックスとして構成される誤り訂正コードブロック１２を、長辺側を第２境界部１０６ｃに隣接させる形態で配置できるように構成されている。また、第３の特定パターン１４５とエンドパターン１４７との間もコードブロック１０の半数以上（４セル以上）のセル数が確保され、第３の特定パターン１４５とエンドパターン１４７との間に、２×４又は４×２のマトリックスとして構成される誤り訂正コードブロック１２を、長辺側を第２境界部１０６ｃに隣接させる形態で配置できるように構成されている。このように、第３の特定パターン１４５の両側に誤り訂正コードブロック１２が配置され、それぞれが第２境界部１０６ｃに隣接するように構成されている。
【０１６５】
第３の特定パターン１４６は、一方の第３の特定パターン１４５と同一の形状をなしており、色彩、濃度、輝度が同一の同種セルが複数並んだ直線部（具体的には黒色セル１４６ａが３つ並んだ直線部）を有しており、この直線部が第２境界部１０６ｄに隣接するように配置されている。また、黒色セル１４６ａが並んでなる直線部の内側には、白色セル１４６ｂが３つ並んだ直線部が隣接して配置されている。第２境界部１０６ｄに隣接する誤り訂正コードブロック１２（第２境界部隣接ブロック１２ｂ）は、この第３の特定パターン１４６を避けるように第２境界部１０６ｄに沿って配置されている。
【０１６６】
第３の特定パターン１４６側でも、第３の特定パターン１４６とエンドパターン１４４ａとの間にコードブロック１０の半数以上（４セル以上）のセル数が確保され、第３の特定パターン１４６とエンドパターン１４４ａとの間に、２×４又は４×２のマトリックスとして構成される誤り訂正コードブロック１２を、長辺側を第２境界部１０６ｃに隣接させる形態で配置できるように構成されている。また、第３の特定パターン１４６とエンドパターン１４７との間もコードブロック１０の半数以上（４セル以上）のセル数が確保され、第３の特定パターン１４５とエンドパターン１４７との間に、２×４又は４×２のマトリックスとして構成される誤り訂正コードブロック１２を、長辺側を第２境界部１０６ｃに隣接させる形態で配置できるように構成されている。このように、第３の特定パターン１４６の両側にも誤り訂正コードブロック１２が配置され、それぞれが第２境界部１０６ｃに隣接するように構成されている。
【０１６７】
本実施形態の構成によれば、以下のような効果を奏することとなる。
本実施形態では、第２境界部１０６ｃ、１０６ｄの一部に、コードブロック１０を背景から分離するための第３の特定パターン１４５、１４６が配置され、第２境界部１０６ｃ、１０６ｄに隣接するコードブロック１０（誤り訂正コードブロック１２）が、第３の特定パターン１４５、１４６を避けて配置されている。このようにすると、二次元コード１４０を読み取る際に第２境界部１０６ｃ、１０６ｄの一部を第３の特定パターン１４５、１４６によって確実に特定でき、第３の特定パターン１４５、１４６が配置されない部分についてはコードブロック１０（誤り訂正コードブロック１２）を利用して良好に特定できるようになる。従って、データ領域を効果的に確保しつつ、第２境界部１０６ｃ、１０６ｄを精度高く安定的に特定できるようになる。
【０１６８】
また、エンドパターン１４３ａ、１４４ａ（第１のエンドパターン）は、色彩、濃度、輝度が同一のセルが複数連続したＬ字形状として構成されている。このようにすれば、角部５ｂ、５ｃ（第２の角部）を特定しやすい構成を簡易に実現できる。特に、エンドパターン１４３ａ、１４４ａ（第１のエンドパターン）がＬ字形状であるため、角部５ｂ、５ｃ（第２の角部）に隣接する２辺の認識にも寄与し、第２の角部及びそれに隣接する２辺を良好に特定しやすくなる。
【０１６９】
また、第１境界部１０６ａ、１０６ｂに隣接する第２の特定パターン１４３，１４４の内側に隣接するように誤り訂正コードブロック１２（内側隣接ブロック１２ｃ、１２ｄ等）が配置されている。このようにすると、コード領域（矩形領域）と背景との区別を、第２の特定パターン１４３，１４４のみならず必要に応じて誤り訂正コードブロック１２を利用して行うことができ、第１境界部１０６ａ、１０６ｂの認識不良を効果的に抑えることができる。例えば、汚れなどによって第２の特定パターン１４３、１４４が欠けてしまった場合であっても、その内側に存在する誤り訂正コードブロック１２の位置を正確に特定できるため、その誤り訂正コードブロック１２の位置に基づいて正規の境界部を良好に推定できるようになる。
【０１７０】
また、エンドパターン１４７（第２のエンドパターン）が、所定の色彩、濃度、輝度で構成される第１セル（白色セル１４７ａ）と、この第１セルとは色彩又は濃度又は輝度が異なる第２のセル（黒色セル１４７ｂ）と、を有し、第１のセル（１つの白色セル１４７ａ）を中心に第２のセル（８つの黒色セル１４７ｂ）で囲んだ矩形形状として構成されている。このようにすれば、規定の角部５ａ（第１の特定パターンが配置される角部）と対角の角部５ｄを特定しやすい構成を簡易に実現できる。また、エンドパターン１４７（第２のエンドパターン）の外形が矩形形状であるため、エンドパターン１４７の外形が、その対角の角部５ｄに隣接する２辺（第２境界部１０６ｃ、１０６ｄ）の認識にも寄与し、エンドパターン１４７とコードブロック１０（誤り訂正コードブロック１２）とを利用して第２境界部１０６ｃ、１０６ｄを一層良好に特定できるようになる。
【０１７１】
また、図７の構成を図８のように変えてもよい。図８は、第４実施形態に関し図７の一部を変形した変形例を示すものであり、図９は、その一部を拡大して示すものである。図８の二次元コード３４０は、第３の特定パターン３４５、３４６を図７とは異なるように構成した点、及び３種類以上のセル（例えば第３実施形態と同様の８色のセル）を用いたカラーコードとして構成されている点が図７とは異なり、それ以外の構成は図７と同様である。よって同様の構成については同一の符号を付し、詳細な説明は省略する。
【０１７２】
図８、図９に示すように、二次元コード３４０に用いる第３の特定パターン３４５は、色彩又は濃度又は輝度の異なる複数種類のセル（図９の例では、シアン色セル３４５ａ、黄色セル３４５ｂ、赤色セル３４５ｃ、緑色セル３４５ｄ、白色セル３４５ｅ、黒色セル３４５ｆの６種類）によって構成されており、このうちの３種類のセルが第２境界部１０６ｃに隣接して決められた色の順序で直線状に並んでいる。図８、図９の例では、角部５ｂ側から、第２境界部１０６ｃに隣接してシアン色セル３４５ａ、黄色セル３４５ｂ、赤色セル３４５ｃと並ぶように順序が決められている。また、これら３つのセル（第２境界部１０６ｃに隣接するシアン色セル３４５ａ、黄色セル３４５ｂ、赤色セル３４５ｃ）の内側においてこれら３つのセル群に沿うように、角部５ｂ側から、緑色セル３４５ｄ、白色セル３４５ｅ、黒色セル３４５ｆと並ぶように順序が決められている。
【０１７３】
第３の特定パターン３４６も同様であり、色彩又は濃度又は輝度の異なる複数種類のセル（図８の例では、シアン色セル３４６ａ、黄色セル３４６ｂ、赤色セル３４６ｃ、緑色セル３４６ｄ、白色セル３４６ｅ、黒色セル３４６ｆの６種類）によって構成されており、このうちの３種類のセルが第２境界部１０６ｄに隣接して決められた色の順序で直線状に並んでいる。図８、図９の例では、角部５ｃ側から、第２境界部１０６ｄに隣接してシアン色セル３４６ａ、黄色セル３４６ｂ、赤色セル３４６ｃと並ぶように順序が決められている。また、これら３つのセル（第２境界部１０６ｄに隣接するシアン色セル３４６ａ、黄色セル３４６ｂ、赤色セル３４６ｃ）の内側においてこれら３つのセル群に沿うように、角部５ｃ側から、緑色セル３４６ｄ、白色セル３４６ｅ、黒色セル３４ｄｆと並ぶように順序が決められている。
【０１７４】
図８、図９のように、種類の異なる複数のセルを所定の順序で配置して第３の特定パターン３４５，３４６を構成すると、当該二次元コード３４０を読み取る際にセルの配置形状を認識しやすく、更に、セルの順序が所定の順序であるか否かを確認することで第３の特定パターン３４５、３４６として適当かを確認できるようにもなる。従って、第２境界部１０６ｃ、１０６ｄの一部の特定を、形状面、内容面から行うことができ、第２境界部１０６ｃ、１０６ｄの特定の精度を一層高めることができる。
【０１７５】
［第５実施形態］
次に第５実施形態について説明する。図１０は、第５実施形態に係る二次元コード１５０を例示する説明図である。なお、図１０でも、誤り訂正コードブロック１２の位置を破線にて概念的に示しており、データコードブロック１１の位置については実線枠内にハッチングを付して概念的に示している。また、図１０でも、各コードブロック１０の具体的セル構成は省略して示している。
【０１７６】
図１０の構成は、第２の特定パターン３、４を第２の特定パターン１５３、１５４に変更し、空いたセル（第１の特定パターン２と第２の特定パターン１５３との間のセル、及び第１の特定パターン２と第２の特定パターン１５４との間のセル）を他の用途に利用しうるようにした点のみが第１実施形態の構成（即ち図1の構成）と異なり、それ以外は第１実施形態と同一である。よって異なる部分について重点的に説明し、同一の構成については図１と同一の符号を付して詳細な説明は省略する。なお、図１０の例では、第１の特定パターン２、エンドパターン７、複数のデータコードブロック１１、複数の誤り訂正コードブロック１２、第１境界部６ａ、６ｂ、第２境界部６ｃ、６ｄは、いずれも図1と同一の構成及び配置をなしており、第１実施形態と同一の効果を奏するものとされている。
【０１７７】
図１０の例では、第１境界部６ａ、６ｂそれぞれに隣接するように第２の特定パターン１５３、１５４が設けられている。これらのうち、一方の第２の特定パターン１５３は、エンドパターン１５３ａのみで構成されており、他方の第２の特定パターン１５４はエンドパターン１５４ａのみで構成されている。なお、本実施形態では、エンドパターン１５３ａ、１５４ａが「第１のエンドパターン」の一例に相当するものであり、矩形領域の規定の角部５ａとは異なる第２の角部（角部５ｂ、５ｃ）を示すように機能する。
【０１７８】
エンドパターン１５３ａは、色彩、濃度、輝度が同一の同種セルが複数連続して配置された直線形状（具体的には色彩、濃度、輝度が同一の黒色セル１５３ａ'が３つ連続して配置された直線形状と）して構成されており、このエンドパターン１５３ａの端部（第１の特定パターン２から遠い側の端部）の黒色セル１５３ａ'における外縁を構成する２辺によってコード領域（矩形領域）における角部５ｂの角位置が定められている。
【０１７９】
また、エンドパターン１５４ａも同様であり、色彩、濃度、輝度が同一のセルが複数連続して配置された直線形状（具体的には色彩、濃度、輝度が同一の黒色セル１５４ａ'が３つ連続して配置された直線形状）として構成されており、このエンドパターン１５４ａの端部（第１の特定パターン２から遠い側の端部）の黒色セル１５４ａ'における外縁を構成する２辺によってコード領域（矩形領域）における角部５ｃの角位置が定められている。
【０１８０】
図１０の例では、第１の特定パターン２とエンドパターン１５３ａとの間、及び第１の特定パターン２とエンドパターン１５４ａとの間に、特定パターンが設けられず、データコードブロック１１や誤り訂正コードブロック１２を配置しうるようになっている。
【０１８１】
図１０のように、第２の特定パターン１５３をエンドパターン１５３ａのみで構成し、第２の特定パターン１５４をエンドパターン１５４ａのみで構成すると、第２の特定パターンの領域を極力抑えた構成とすることができ、データ領域を拡大しやすくなる。
【０１８２】
また、図１１のようにしてもよい。図１１の構成は、第２の特定パターン１３３、１３４を第２の特定パターン２５３、２５４に変更し、空いたセル（第１の特定パターン２と第２の特定パターン２５３との間のセル、及び第１の特定パターン２と第２の特定パターン２５４との間のセル）を他の用途に利用しうるようにした点のみが第３実施形態の構成（即ち図６の構成）と異なり、それ以外は第３実施形態と同一である。よって異なる部分について重点的に説明し、同一の構成については図６と同一の符号を付して詳細な説明は省略する。
【０１８３】
図１１では、第２の特定パターン２５３が、図６で示したエンドパターン１３２のみで構成されており、第２の特定パターン２５４が、図６で示したエンドパターン１３５のみで構成されている。エンドパターン１３２、１３５（第１のエンドパターン）は、いずれも色彩又は濃度又は輝度の異なる複数種類のセルが所定の順序（第１の特定パターン２側から青色セル、赤色セル、黒色セルと並ぶ色順序）で配置された直線形状として構成されている。
【０１８４】
また、図１２のようにしてもよい。図１２の二次元コード３５０は、図７の一部を変更したものであり、第２の特定パターン１４３、１４４を第２の特定パターン３５３、３５４に変更し、空いたセル（第１の特定パターン２と第２の特定パターン３５３との間のセル、及び第１の特定パターン２と第２の特定パターン３５４との間のセル）を他の用途に利用しうるようにした点のみが図７と異なり、それ以外は図７と同一である。図１２の二次元コード３５０は、第２の特定パターン３５３が図７と同一のエンドパターン１４３ａ（第１のエンドパターン）のみによって構成されており、第２の特定パターン３５４が図７と同一のエンドパターン１４４ａ（第１のエンドパターン）のみによって構成されている。
【０１８５】
また、図１３のようにしてもよい。図１３の二次元コード４５０は、第２の特定パターン４５３、４５４を図１２とは異なるように構成した点、及び３種類以上のセルを用いたカラーコードとして構成されている点が図１２とは異なり、それ以外の構成は図１２と同様である。よって同様の構成については同一の符号を付し、詳細な説明は省略する。
【０１８６】
図１３の二次元コード４５０は、第２の特定パターン４５３がエンドパターン４５２（第１のエンドパターン）のみによって構成されており、第２の特定パターン４５４がエンドパターン４５５（第１のエンドパターン）のみによって構成されている。エンドパターン４５２、４５５はいずれも、色彩又は濃度又は輝度の異なる複数種類のセルが所定の順序で配置されたＬ字形状として構成されている。
【０１８７】
エンドパターン４５２は、第１境界部１０６ａに沿って隣接するように、第１の特定パターン２側から赤色セル４５２ａ、黄色セル４５２ｂ、シアン色セル４５２ｃの順に直線状に並び、かつ、端部のシアン色セル４５２ｃから直角に折れ曲がる形態で黒色セル４５２ｄが配置されている。シアン色セル４５２ｃ及び黒色セル４５２ｄは、第２境界部１０６ｃに沿って隣接するように直線状に並び、赤色セル４５２ａ、黄色セル４５２ｂ、シアン色セル４５２ｃの並び方向と、シアン色セル４５２ｃ及び黒色セル４５２ｄの並び方向とが直交する構成となっている。そして、エンドパターン４５２全体としてＬ字形状となるように構成されている。このエンドパターン４５２は、外側の外縁部の角位置が、矩形領域全体における角部５ｂ（第２の角部）の角位置を示している。
【０１８８】
エンドパターン４５４は、第１境界部１０６ｂに沿って隣接するように、第１の特定パターン２側から赤色セル４５５ａ、黄色セル４５５ｂ、シアン色セル４５５ｃの順に直線状に並び、かつ、端部のシアン色セル４５５ｃから直角に折れ曲がる形態で黒色セル４５５ｄが配置されている。シアン色セル４５５ｃ及び黒色セル４５５ｄは、第２境界部１０６ｄに沿って隣接するように直線状に並び、赤色セル４５２ａ、黄色セル４５２ｂ、シアン色セル４５２ｃの並び方向と、シアン色セル４５２ｃ及び黒色セル４５２ｄの並び方向とが直交する構成となっている。そして、エンドパターン４５５全体としてＬ字形状となるように構成されている。このエンドパターン４５５は、外側の外縁部の角位置が、矩形領域全体における角部５ｃ（第２の角部）の角位置を示している。なお、エンドパターン４５２、４５５のいずれも、第１の特定パターン２側から赤色セル、黄色セル、シアン色セル、折れ曲がって黒色セル、の順に並んでおり、この色順序が「所定の順序」に相当している。
【０１８９】
図１３の二次元コード４５０のように、種類の異なる複数のセルを所定の順序で配置すると、当該二次元コード４５０を読み取る際にセルの配置形状を認識しやすく、更に、セルの順序が所定の順序であるか否かを確認することで第２の角部として適当かを確認できるようにもなる。従って、第２の角部の特定を、形状面、内容面から行うことができ、特定の精度を一層高めることができる。また、エンドパターン４５２、４５５（第１のエンドパターン）がＬ字形状であるため、第２の角部に隣接する２辺の認識にも寄与し、第２の角部及びそれに隣接する２辺を良好に特定しやすくなる。即ち、エンドパターン４５２は、第１境界部１０６ａの方向特定及び第２境界部１０６ｃの方向特定に寄与し、エンドパターン４５５は、第１境界部１０６ｂの方向特定及び第２境界部１０６ｄの方向特定にも寄与しており、角部５ｂ、５ｃの位置や向きだけでなく、第１境界部１０６ａ、１０６ｂ、第２境界部１０６ｃ、１０６ｄの位置や向きを特定する機能をも果たしている。
【０１９０】
また、図１４のようにしてもよい。図１４の二次元コード５５０は、図７の一部を変更したものであり、第２の特定パターン１４３、１４４を第２の特定パターン５５３、５５４に変更し、空いたセル（第１の特定パターン２と第２の特定パターン５５３との間のセル、及び第１の特定パターン２と第２の特定パターン５５４との間のセル、エンドパターン５５３、５５４に隣接するセルＣａ、第３の特定パターン５５５、５５６に隣接するセルＣｃ）を他の用途に利用しうるようにした点のみが図７と異なり、それ以外は図７と同一である。
【０１９１】
本実施形態の構成では、第３の特定パターン５５５、５５６と第２の特定パターン５５３、５５４とが同一形状（いずれも３つの黒色セルが直線状に並ぶ形状）として構成されている。具体的には、第２の特定パターン５５３は、黒色セル５５３ａ'が３つ並んだ直線形状からなるエンドパターン５５３ａのみによって構成されており、端部の黒色セル５５３ａ'の外縁によって角部５ｂを示す構成をなしている。また、第２の特定パターン５５４は、黒色セル５５４ａ'が３つ並んだ直線形状からなるエンドパターン５５４ａのみによって構成されており、端部の黒色セル５５４ａ'の外縁によって角部５ｃを示す構成をなしている。更に、第３の特定パターン５５５も、黒色パターン５５５ａが３つ並んだ直線形状として構成され、第２境界部１０６ｃに隣接するように配置されている。また、第３の特定パターン５５６も同様であり、黒色パターン５５６ａが３つ並んだ直線形状として構成され、第２境界部１０６ｄに隣接するように配置されている。このようにすると、第２の特定パターン５５３、５５４と第３の特定パターン５５５、５５６の形状を共通化でき、コード構成の簡素化を図ることができる。
【０１９２】
また、上記図１０〜図１４のいずれの構成においても、第１境界部（図１０、図１１では第１境界部６ａ、６ｂ、又は図１２〜図１４では第１境界部１０６ａ、１０６ｂ）における第２の特定パターン（各図における第２の特定パターン）と第１の特定パターン２との間の位置に隣接するように圧縮データコードブロック（第２実施形態の圧縮データコードブロック１３と同様のもの）を配置してもよく、第１境界部における第２の特定パターンと第１の特定パターン２との間の位置に隣接するように一部の誤り訂正コードブロック１２を配置してもよい。この場合、これら圧縮データコードブロック或いは誤り訂正コードブロックが「第１境界部隣接ブロック」に相当し、第１境界部に隣接する位置に背景とは色彩又は濃度又は輝度の異なるセルを少なくとも１つ配置するように機能する。
【０１９３】
このようにすると、二次元コードを読み取る際に、第１境界部（図１０、図１１では第１境界部６ａ、６ｂ、又は図１２〜図１４では第１境界部１０６ａ、１０６ｂ）における両端部及びその付近については第１の特定パターン２及び第２の特定パターン（各図における第２の特定パターン）によって確実に特定できるようになり、それ以外の部分（第１境界部における第１の特定パターン２及び第２の特定パターンが隣接する部分以外の部分）についてはコードブロック（第１境界部隣接ブロック）を利用して良好に特定できるようになる。したがって、第１境界部をより確実に特定できる構成を実現しつつ、第１境界部側の領域を利用してデータ領域を増大できるようになる。
【０１９４】
［第６実施形態］
次に第６実施形態について説明する。図１５は、第６実施形態に係る二次元コード１６０を例示する説明図である。なお、図１５でも、誤り訂正コードブロック１２の位置を破線にて概念的に示しており、データコードブロック１１の位置については実線枠内にハッチングを付して概念的に示している。また、図１５でも、各コードブロック１０の具体的セル構成は省略して示している。
【０１９５】
図１５の構成は、第２の特定パターン３、４（図１）を第２の特定パターン１６３、１６４に変更し、空いたセル（第１の特定パターン２と第２の特定パターン１６３との間のセル、及び第１の特定パターン２と第２の特定パターン１６４との間のセル）を他の用途に利用しうるようにした点、エンドパターン７（図１）をエンドパターン１６７に変更し、空いたセル（エンドパターン１６７に隣接するセル）を他の用途に利用しうるようにした点のみが第１実施形態と異なり、それ以外の構成は第１実施形態と同一である。よって異なる部分について重点的に説明し、同一の構成については第１実施形態と同一の符号を付して詳細な説明は省略する。
【０１９６】
本実施形態の二次元コード１６０は、第５実施形態の構成と同様に、第２の特定パターン１６３がエンドパターン１６３ａ（第１のエンドパターン）のみによって構成されている。一方、本実施形態では、このエンドパターン１６３ａが、図１５のように色彩又は濃度又は輝度が背景とは異なる単一のセル（具体的には黒色セル）によって構成されており、読取処理の際に、この単一セル（エンドパターン１６３ａ）の外縁によってコード領域（矩形領域）の角部５ｂ（第２の角部）が特定されるようになっている。また、第２の特定パターン１６４もエンドパターン１６４ａ（第１のエンドパターン）のみによって構成されており、このエンドパターン１６４ａも色彩又は濃度又は輝度が背景とは異なる単一のセル（黒色セル）によって構成されている。そして、読取処理の際に、この単一セル（エンドパターン１６４ａ）の外縁によって矩形領域の角部５ｃ（第２の角部）が特定されるようになっている。
【０１９７】
このように二次元コード１６０が構成されているため、エンドパターン１６３ａ、１６４ａ（第１のエンドパターン）に要する領域を極力抑えることができ、ひいてはデータ領域の増大を図ることができるようになっている。なお、図示はしていないが、第１境界部６ａにおける第２の特定パターン１６３と第１の特定パターン２との間の位置、或いは、第１境界部６ｂにおける第２の特定パターン１６４と第１の特定パターン２との間の位置に隣接するように圧縮データコードブロック（第２実施形態の圧縮データコードブロック１３と同様のもの）や、誤り訂正コードブロック１２を配置すると、第１の特定パターンと第２の特定パターンとの間にデータ配置領域を大きく確保しつつ第１境界部を良好に特定できるようになる。具体的には例えば、図１５におけるデータコードブロック１１や誤り訂正コードブロック１２の配置や形状を若干変更して第１の特定パターン２と第２の特定パターン１６３又は１６４との間に誤り訂正データコードブロック１２を配置するように構成してもよく、図１５において空いているセルに誤り訂正コードブロック１２や圧縮データコードブロックなどを配置してもよい。
【０１９８】
また、図１５の例では、第１実施形態のエンドパターン７（図１）とは異なるエンドパターン１６７を用いている。このエンドパターン１６７は、第２のエンドパターンの一例に相当するものであり、本実施形態では、背景とは色彩又は濃度又は輝度が異なる単一のセル（黒色セル１６７ａ）によって構成されている。そして、このエンドパターン１６７の外側の外縁によって矩形領域の角部５ｄの角位置が示されている。このようにすると、規定の角部５ａとは対角にある角部５ｄを少ないセル構成にて示すことができ、データ領域の拡大を図りやすくなる。なお、エンドパターン１６７に隣接するセルは、データコードブロック１１や誤り訂正コードブロック１２の領域としてもよく、一部を他の用途（後述する余剰ブロック等）に用いてもよい。
【０１９９】
［第７実施形態］
次に第７実施形態について説明する。図１６は、第７実施形態に係る二次元コード１７０を例示する説明図である。なお、図１６でも、誤り訂正コードブロック１２の位置を破線にて概念的に示しており、データコードブロック１１の位置については実線枠内にハッチングを付して概念的に示している。また、図１６でも、各コードブロック１０の具体的セル構成は省略して示している。
【０２００】
図１６の二次元コード１７０は、第４実施形態で示した図７の構成の一部を変更したものであり、エンドパターン１４７（図７）をエンドパターン１７７に変更した点、及び３種類以上のセル用いたカラーコードとして構成されている点が図７とは異なり、それ以外の構成は図７と同様である。よって異なる部分について重点的に説明し、同一の構成については図７と同一の符号を付して詳細な説明は省略する。
【０２０１】
図１６の二次元コード１７０は、コード領域（矩形領域）において、色彩又は濃度又は輝度が異なる複数種類のセルが配置されてなるものであり、本実施形態では、例えば第３実施形態と同様の８色のセルが用いられるようになっている。この二次元コード１７０に用いられる第２のエンドパターン１７７は、複数の色のセルが、予め定められた色の組み合わせで配置されてなり、かつコード領域（矩形領域）の各色を参照するための参照領域として兼用されるようになっている。
【０２０２】
具体的には、図１７に示すように、一方の第２境界部１０６ｃに沿って隣接するように角部５ｂ側から黒色セル１７７ａ、赤色セル１７７ｂ、シアン色セル１７７ｃの色順序で直線状に並んでおり、シアン色セル１７７ｃの外縁が角部５ｄの角位置を示すようになっている。さらに、この黒色セル１７７ａ、赤色セル１７７ｂ、シアン色セル１７７ｃの並びに対し、角部５ｄから直角に折れ曲がってシアン色セル１７７ｃ、黄色セル１７７ｇ、黒色セル１７７ｊの色順序で直線状に並んで配置されている。これらシアン色セル１７７ｃ、黄色セル１７７ｇ、黒色セル１７７ｊは、第２境界部１０６ｄに沿って隣接するように直線状に構成されており、角部５ｃ側から見れば、黒色セル、黄色セル、シアン色セルの色順序で配置されている。この図１７の例では、直線状に構成される黒色セル１７７ａ、赤色セル１７７ｂ、シアン色セル１７７ｃの外縁が第２境界部１０６ｃを示しており、同じく直線状に構成されるシアン色セル１７７ｃ、黄色セル１７７ｇ、黒色セル１７７ｊの外縁が第２境界部１０６ｄを示している。
【０２０３】
また、シアン色セル１７７ｃ、黄色セル１７７ｇ、黒色セル１７７ｊの並びに対し、黒色セル１７７ｊから直角に折れ曲がって黒色セル１７７ｊ、マゼンダ色セル１７７ｉ、青色セル１７７ｈの色順序で直線状に並んで配置され、更に、この黒色セル１７７ｊ、マゼンダ色セル１７７ｉ、青色セル１７７ｈの並びに対し、青色セル１７７ｈから直角に折れ曲がって青色セル１７７ｈ、緑色セル１７７e、黒色セル１７７ａの色順序で直線状に並んでいる。エンドパターン１７７は、第１の特定パターン２が左上位置となるように二次元コード１７０を配置したときに、右上側から時計回りに、黒色セル１７７ａ、赤色セル１７７ｂ、シアン色セル１７７ｃ、黄色セル１７７ｇ、黒色セル１７７ｊ、マゼンダ色セル１７７ｉ、青色セル１７７ｈ、緑色セル１７７eの色順序で環状かつ外縁矩形状に配置されており、かつ中心位置に背景色と同一色の白色セル１７７ｆが配置されるようになっている。
【０２０４】
エンドパターン１７７は、コード領域（矩形領域）に配置される可能性のある全ての色のセルを備えており、図１６の例では、二次元コード１７０においてデータコードブロック１１や誤り訂正コードブロック１２などに使われる可能性のある色（図１６の例では８色）を全て含んでいる。そして、読取処理の際に、矩形領域に配置されるセルの各色を
判断するための参照領域として用いられるようになっている。例えば、読み取りの際に、矩形領域の各セルが、候補となる複数色（図１６の例では８色）のうちのどの色に該当するかを、エンドパターン１７７の各セルの色に基づいて判断するといったことが可能となる。或いは、ある色として認識されたセルについて、その認識が正確であるか否かをエンドパターン１７７の各セルの色に基づいて判断するといったことが可能となる。
【０２０５】
このように、図１６の二次元コード１７０では、色彩又は濃度又は輝度が異なる複数種類のセルが予め定められた種類の組み合わせで配置されてエンドパターン１７７（第２のエンドパターン）が構成されており、かつ矩形領域の各色を参照するための参照領域として兼用されている。このように、対角の角部５ｄを特定するためのパターンを参照領域として兼用すれば、参照領域のための特別なパターンを別途用意する必要がなく、データ領域の増大或いはコード全体の小型化を図ることができる。
【０２０６】
また、図１８のようにしてもよい。図１８の二次元コード２７０構成は、第３実施形態で示した図６の二次元コード１３０の一部を変更したものであり、エンドパターン７（図６）をエンドパターン２７７に変更した点のみが図６と異なっており、それ以外は図６と同一である。よって同一の部分については図６と同一の符号を付し、詳細な説明は省略する。
【０２０７】
図１８のエンドパターン２７７は、色彩又は濃度又は輝度の異なる複数種類のセルが所定の順序で配置されたＬ字形状として構成されている。具体的には、第２境界部６ｃに沿って隣接するように、角部５ｂ側から青色セル２７７ａ、黒色セル２７７ｂの色順序で直線状に並んでおり、この青色セル２７７ａ、黒色セル２７７ｂの並びに対して直角に折れ曲がるように、黒色セル２７７ｂ、赤色セル２７７ｃの順序で直線状に並んでいる。黒色セル２７７ｂ、赤色セル２７７ｃは、第２境界部６ｄに沿って隣接するように角部５ｄ側から黒色セル２７７ｂ、赤色セル２７７ｃの色順序で並んでおり、エンドパターン２７７全体としてＬ字形状とされている。そして、青色セル２７７ａ、黒色セル２７７ｂ、赤色セル２７７ｃと並ぶＬ字形状部の外縁によって角部５ｄの角位置が示されるようになっている。
【０２０８】
図１８のように、種類の異なる複数のセルを所定の順序で配置すると、二次元コード２７０を読み取る際にセルの配置形状を認識しやすく、更に、セルの順序が所定の順序であるか否かを確認することでエンドパターン２７７（第２のエンドパターン）として適当かを確認できるようにもなる。従って、対角の角部５ｄの特定を、形状面、内容面から行うことができ、特定の精度を一層高めることができる。また、エンドパターン２７７（第２のエンドパターン）がＬ字形状からなるため、このエンドパターン２７７の外形が、対角の角部５ｄに隣接する２辺（即ち、第２境界部６ｃ、６ｄ）の認識にも寄与し、エンドパターン２７７とコードブロック１０（具体的には誤り訂正コードブロック１２）とを利用して第２境界部６ｃ、６ｄを一層良好に特定できるようになる。また、図１８のエンドパターン２７７も、図１６の場合と同様に二次元コード２７０のコード領域（矩形領域）の各色を参照するための参照領域として兼用することができ、図１６と同様の効果を得ることができる。
【０２０９】
なお、図１８の例では、エンドパターン２７７に隣接するセルＣｄをどの用途に用いるか特に示していないが、例えば、データコードブロック１１や誤り訂正コードブロック１２を配置する領域として利用してもよい。或いは、データコードブロック１１や誤り訂正コードブロック１２のデータとされない余剰ブロックとして構成してもよい。
【０２１０】
［第８実施形態］
次に第８実施形態について説明する。図１９は、第４実施形態で示した図７の構成の一部を変更したものであり、図７で示した中間パターン１４３ｂ、１４４ｂの領域を別の構成とした点、及び３種類以上のセル用いたカラーコードとして構成されている点が図７とは異なり、それ以外の構成は図７と同様である。よって異なる部分について重点的に説明し、同一の構成については図７と同一の符号を付して詳細な説明は省略する。
【０２１１】
図１９の二次元コード１８０は、第２の特定パターン１８３、１８４のそれぞれの一部において色彩又は濃度又は輝度が異なる複数種類のセルが、予め定められた種類の組み合わせで並んで配置された参照パターン１８２、１８５が設けられている。参照パターン１８２は、コード領域（矩形領域）の各色を参照するための参照領域として兼用されるものであり、図１９では、矩形領域で用いられる全ての色を含んだ構成となっている。具体的には、第１の特定パターン２側から、黒色パターン１８２ａ、赤色パターン１８２ｂ、シアン色パターン１８２ｃ、黄色パターン１８２ｄ、白色パターン１８２ｅ、緑色パター１８２ｆ、マゼンダ色パターン１８２ｇ、青色パターン１８２ｈの色順序で第１境界部１０６ａに沿って隣接するように直線状に並んでいる。同様に、参照パターン１８５も、コード領域（矩形領域）の各色を参照するための参照領域として兼用されるものであり、矩形領域で用いられる全ての色を含んだ構成となっている。具体的には、第１の特定パターン２側から、黒色パターン１８５ａ、赤色パターン１８５ｂ、シアン色パターン１８５ｃ、黄色パターン１８５ｄ、白色パターン１８５ｅ、緑色パター１８５ｆ、マゼンダ色パターン１８５ｇ、青色パターン１８５ｈの色順序で第１境界部１０６ｂに沿って隣接するように直線状に並んでいる。
【０２１２】
なお、参照パターン１８２と第１の特定セル２との間、及び参照パターン１８５と第１の特定セル２との間は、特定パターン（例えば同一色のセルが直線状に並ぶパターン、或いは２色のセルが交互に配されるパターン等）を用いるようにしてもよく、コードブロック１０の一部（例えば誤り訂正コードブロック１２の一部）を配置してもよい。
【０２１３】
参照パターン１８２、１８５は、コード領域（矩形領域）に配置される可能性のある全ての色のセルを備えており、図１９の例では、二次元コード１８０においてデータコードブロック１１や誤り訂正コードブロック１２などに使われる可能性のある色（図１９の例では８色）を各参照パターン１８２、１８５が全て含んでいる。そして、読取処理の際に、矩形領域に配置されるセルの各色を判断するための参照領域として用いられるようになっている。例えば、読み取りの際に、矩形領域の各セルが候補となる複数色（図１９の例では８色）のうちのどの色に該当するかを、参照パターン１８２、１８５の各セルの色に基づいて判断するといったことが可能となる。或いは、ある色として認識されたセルについて、その認識が正確であるか否かを参照パターン１８２、１８５の各セルの色に基づいて判断するといったことが可能となる。このように、第１境界部１０６ａ、１０６ｂを特定するためのパターンを参照領域として兼用すれば、参照領域のための特別なパターンを別途用意する必要がなく、データ領域の増大或いはコード全体の小型化を図ることができる。
【０２１４】
また、図２０のようにしてもよい、図２０の二次元コード２８０では、角部５ｂ、５ｃにそれぞれ配置されるエンドパターン２８１、２８２（第１のエンドパターン）と、規定の角部５ａ（第１のエンドパターン２が配置された角部）と対角にある角部５ｄに配置されるエンドパターン２８７（第２のエンドパターン）と、第２境界部１０６ｃ、１０６ｄにおいて第１のエンドパターンと第２のエンドパターンとから離れた位置に配置される第３の特定パターン２８５、２８６と、が全て同一形状とされており、色彩又は濃度又は輝度が異なる複数種類のセルが予め定められた種類の組み合わせで配置されている。具体的には、これらがいずれも、図１７で示したエンドパターン１７７と同一形状とされており、これらエンドパターン２８１、２８２（第１のエンドパターン）、エンドパターン２８７（第２のエンドパターン）、第３の特定パターン２８５、２８６がいずれも、二次元コード２８０のコード領域（矩形領域）を参照するための参照領域として兼用しうるように構成されている。
【０２１５】
なお、図２０では、第１の特定パターン２８９、第２の特定パターン２８３、２８４、第３の特定パターン２８５、２８６、エンドパターン２８７以外の図示を省略して示しているが、第２境界部１０６ｃ、１０６ｄに隣接させて誤り訂正コードブロック又は圧縮データコードブロックを配置する点は上記実施形態と同様である。また、図２０では、上記実施形態で用いた第１の特定パターン２と形状の異なる第１の特定パターン２８９を用いているが、この第１の特定パターン２８９も上記実施形態の第１の特定パターン２と同様に機能させることができる。
【０２１６】
［第９実施形態］
次に第９実施形態について説明する。本実施形態に係る二次元コードは、上記実施形態で説明された二次元コードに更なる特徴を付加したものであり、以下では、図６の二次元コードに対し本実施形態に係る特徴を付加した例を説明する。なお、本実施形態の二次元コードは、図６の特徴を全て有しており、以下の説明では、適宜図６を参照して説明する。
【０２１７】
図６に示すように、本実施形態の二次元コード１３０も、コードブロック１０として、誤り訂正を行うための誤り訂正コードブロック１２が含まれており、矩形領域の境界部６のうち、第２の特定パターン１３３，１３４の配置側とは異なる第２境界部６ｃ側、第２境界部６ｄ側において、これら第２境界部６ｃ、第２境界部６ｄに隣接する位置にそれぞれ誤り訂正コードブロック１２が配置されている。
【０２１８】
更に、本実施形態では、誤り訂正コードブロック１２の各セルを表示する表示色の組み合わせと、当該誤り訂正コードブロック１２によって誤りが訂正されるデータコードブロック１１の各セルを表示する表示色の組み合わせとが異なるように構成されている。
【０２１９】
各ブロックについての表示色の組み合わせは様々に考えうるが、例えば、誤り訂正コードブロック１２を構成するセルを、二次元コード１３０で用いられる色数（図６では８色）の半数の色の組み合わせによって表現し、データコードブロック１１を構成するセルを、残りの半数の色の組み合わせによって表現することができる。
【０２２０】
その一例としては、所定の色成分の画像を取得したときに暗と判断される複数色によって誤り訂正コードブロック１２を表現する構成することができる。例えば、黒色セル、赤色セル、マゼンタ色セル、青色セルは、緑成分の画像において暗と判断されるセルであり、これらの４色のセルによって誤り訂正コードブロック１２を表現し、残りの４色のセル（白色セル、緑色セル、シアン色セル、黄色セル）によってデータコードブロック１１を表現するように構成できる。このようにすると、必要に応じて緑成分の画像を取得し、境界の明確化を図ることができる。即ち、緑成分の画像においては、誤り訂正コードブロック１２を構成する黒色セル、赤色セル、マゼンタ色セル、青色セルが全て暗となるため、誤り訂正コードブロック１２の領域が全て暗領域となり、背景が白色等の場合において背景との境界を明確に区別できるようになる。なお、上記二次元コード１３０が、赤画素、緑画素、青画素を備えた通常のカラーセンサによって撮像される場合、その内の緑画素のみを使用した画像が上記緑成分の画像に相当する。
【０２２１】
なお、上記色の組み合わせはあくまで一例であり、別の組み合わせであってもよい。また、一部の色を両方の組み合わせに用いてもよい。例えば、誤り訂正コードブロック１２を黒色セル、白色セル、赤色セル、緑色セル、青色セル、によって表現し、データコードブロック１１を黒色セル、白色セル、シアン色セル、マゼンタ色セル、黄色セルによって表現してもよく、この場合、黒色セルと白色セルがいずれの組み合わせにも用いられることとなる。
【０２２２】
本実施形態のように、誤り訂正コードブロック１２の各セルを表示する表示色の組み合わせと、データコードブロック１１の各セルを表示する表示色の組み合わせとを異ならせるようにすると、背景との分離に用いる誤り訂正コードブロック１２の表示色をデータコードブロック１１の表示色とは関係なく設定でき、誤り訂正コードブロック１２の配色の自由度を高めることができる。例えば、誤り訂正コードブロック１２の配色を境界の特定に有利な色に設定するといったことが可能となる。
【０２２３】
また、圧縮データコードブロック１３を境界部に隣接させて配置する構成において同様の特徴を付加してもよい。例えば、図６において第２境界部６ｃ、６ｄに隣接する４つの誤り訂正コードブロック１２それぞれを第２実施形態と同一の圧縮データコードブロック１３（図５）に変更し、中央のデータコードブロック１１を誤り訂正コードブロック１２に変更するような構成において、圧縮データコードブロック１３の各セルを表示する表示色の組み合わせと、誤り訂正コードブロック１２の各セルを表示する表示色の組み合わせとを異ならせるようにしてもよい。
【０２２４】
この場合も、圧縮データコードブロック１３を構成するセルを、所定の色成分の画像を取得したときに暗と判断される色によって構成することができる。例えば、黒色セル、緑色セル、シアン色セル、青色セルによって圧縮データコードブロック１３を表現し、残りの４色のセル（白色セル、赤色セル、マゼンダ色セル、黄色セル）によって誤り訂正タコードブロック１２を表現する構成とした場合、必要に応じて赤成分の画像を取得し、境界の明確化を図ることができる。即ち、赤成分の画像においては、圧縮データコードブロック１３を構成する黒色セル、緑色セル、シアン色セル、青色セルが全て暗となるため、圧縮データコードブロック１３の領域が全て暗領域となり、背景が白色等の場合において背景との境界を明確に区別できるようになる。なお、このような二次元コードが赤画素、緑画素、青画素を備えた通常のカラーセンサによって撮像される場合、その内の赤画素のみを使用した画像が上記「赤成分の画像」に相当する。
【０２２５】
この構成によれば、背景との分離に用いる圧縮データコードブロック１３の表示色を誤り訂正コードブロック１２の表示色とは関係なく設定でき、圧縮データコードブロック１３の配色の自由度を高めることができる。例えば、圧縮データコードブロック１３の配色を境界の特定に有利な色に設定するといったことが可能となる。
【０２２６】
なお、上記説明では、図６の構成に本実施形態に係る特徴を付加した例を示したが、上記実施形態のいずれの構成（例えば、図８等）についても本実施形態の特徴を付加できる。
【０２２７】
［第１０実施形態］
次に第１０実施形態について説明する。図２４（ａ）は第１０実施形態に係る二次元コード３００を概略的に説明する説明図であり、図２４（ｂ）は、図２４（ａ）の二次元コード３００におけるコードブロックの暗色セルを説明する説明図である。
【０２２８】
図２４（ａ）の二次元コード３００は、第１の特定パターン２、第２の特定パターン３、４、エンドパターン７については第１実施形態で説明した図１と同一であるのでこれと同一の符号を付し、詳細な説明は省略する.。なお、図２４（ａ）の例では、矩形領域の境界部６に関し、白色セル部分の境界部については破線にて概念的に示している。
【０２２９】
本実施形態の二次元コード３００は、図１の特徴を全て有しており、図１の構成に更なる特徴を付加したものとされている。なお、本実施形態の二次元コード３００でも、コードブロック１０として、誤り訂正を行うための誤り訂正コードブロック１２が含まれており、矩形領域の境界部６のうち、第２の特定パターン３，４の配置側とは異なる第２境界部６ｃ側、第２境界部６ｄにおいて、これら第２境界部６ｃ、第２境界部６ｄに隣接する位置にそれぞれ誤り訂正コードブロック１２が配置されている。
【０２３０】
図２４（ａ）では、コードブロック１２のセル構成が具体的に示されており、本実施形態では、コードブロック１２を構成する特定種類のセルの形状が、四角形状とは異なる図柄形状とされている。具体的には、黒色セルが「特定種類のセル」に相当しており、第１の特定パターン２及び第２の特定パターン３、４における黒色セル（特定種類のセル）の形状が四角形状とされており、コードブロック１０における黒色セル（特定種類のセル）の形状が星型形状とされている。
【０２３１】
また、図２４（ｂ）のように、コードブロック１０内における特定種類のセル（即ち、黒色セル）は、図柄形状とされる図柄領域３０１が、背景とは色彩又は濃度又は輝度の異なるように構成されており（具体的には背景が白色等で構成され、図柄領域３０１がこれとは異なる黒色で塗り潰された構成をなしており）、更に、その図柄領域３０１が、黒色セルの各セル領域の境界位置に配置されている。図２４（ｂ）では、図柄領域３０１を有する黒色セルの境界位置を矩形枠３０２で概念的に示しており、この境界位置に達するように図柄領域３０１が設けられている。なお、図２４（ｂ）の例では、境界位置に達するように図柄領域３０１が設けられているが、図柄領域３０１の端部が境界位置の近傍に位置するような構成であってもよい。例えば、図２４（ｂ）の星型の図柄領域３０１については、その先鋭な端部が境界位置に達してなくてもよく、境界位置からわずかに離れた近傍に位置する構成であってもよい。
【０２３２】
なお、上記の例では、「四角形状とは異なる図柄形状」として星型形状を例示したが、これに限定されず、例えば、三角形状、三日月形状、ひし形形状など、様々な形状とすることができる。
【０２３３】
また、特定種類のセルの例として黒色セルを例示したが、図２５のように、白色セルを「特定種類のセル」としてもよい。なお、図２５は、図２４の白黒を反転した構成とされており、背景色が黒色となっている。
【０２３４】
また、図５のように第２境界部６ｃ、６ｄに隣接させて圧縮データコードブロック１３を配置する構成においても、コードブロック１０内の特定種類のセル（例えば黒色セル）の形状を四角形状とは異なる形状（星型形状、三角形状等）とすることができる。
【０２３５】
本実施形態の構成によれば、例えば以下のような効果を奏する。
本実施形態のように、矩形領域内における特定種類のセルの形状を、四角形状とは異なる図柄形状とすると、矩形領域内に四角形状とは異なる斬新な形状のセルを設けることができ、デザイン性を効果的に高めることができる。
【０２３６】
また、第１の特定パターン２及び第２の特定パターン３，４における黒色セル（特定種類のセル）の形状が四角形状となっており、コードブロック１０の黒色セル（特定種類のセル）形状が四角形状とは異なる図柄形状となっている。このようにすると、第１の特定パターン２及び第２の特定パターン３，４については四角形状のセルによって構成されるため形状を正確に特定しやすくなり、矩形領域やセル位置の基準として有利となる。一方、コードブロック１０については、特定種類のセル形状を図柄形状としてデザイン性を高めることができる。
【０２３７】
また、背景（図２４では白色背景、図２５では黒色背景）とは色彩又は濃度又は輝度の異なるセルの形状を図柄形状としているため、図柄形状をより際立たせることができる。更に、図２４（ｂ）のように、コードブロック１０内の特定種類のセルにおいて、図柄形状とされる図柄領域３０１が背景とは色彩又は濃度又は輝度の異なるように構成されており、更に、その図柄領域３０１が特定種類の各セル領域の境界位置（矩形枠３０２の位置）に配置されている。このようにすると、境界部６に隣接する誤り訂正コードブロック１２に設けられた図柄領域３０１を利用して境界部を特定できるようになり、また、図柄領域３０１がセル領域の境界位置に配置されているため、境界部６に隣接する位置に背景とは色彩又は濃度又は輝度の異なる部分を適切に配置することができる。なお、図柄領域３０１をセル領域の境界位置近傍に配置しても同様の効果が得られる。
【０２３８】
［第１１実施形態］
次に第１１実施形態について説明する。
図２６は、第１１実施形態に係る二次元コードを概略的に説明する説明図である。図２６の二次元コード３１０は、図７の二次元コード１４０の特徴を全て有しており、図７のコード領域の中央部に更なる特徴を付加したものとされている。なお、図２６では、図７と同一の構成をなす部分については図７と同一の符号を付し、詳細な説明は省略する。
【０２３９】
なお、本実施形態の二次元コード３１０でも、コードブロック１０として、誤り訂正を行うための誤り訂正コードブロック１２が含まれており、矩形領域の境界部１０６のうち、第２の特定パターン１４３，１４４の配置側とは異なる第２境界部１０６ｃ側、第２境界部１０６ｄにおいて、これら第２境界部１０６ｃ、第２境界部１０６ｄに隣接する位置にそれぞれ誤り訂正コードブロック１２が配置されている。
【０２４０】
更に、図２６の二次元コード３１０では、コード領域（矩形領域）内において、セルＣとは異なるデザインを挿入するデザイン挿入領域３１１が設けられている。このデザイン挿入領域３１１は、図２７（ａ）のように構成されており、図２７（ｂ）のような絵柄(（図２７（ｂ）では音符絵柄３１２）、文字、記号等の様々なデザインを挿入して使用される構成となっている。
【０２４１】
図２７（ａ）に示すように、デザイン挿入領域３１１は、セルＣのサイズよりも広い領域として構成され、且つコードブロック１０の複数のセル位置に跨る構成で配置されている。なお、図２７（ａ）では、白色で塗り潰されたデザイン挿入領域３１１が構成され、図２７（ｂ）ではこのような白色のデザイン挿入領域３１１に音符絵柄３１２が記録された使用例を示している。
【０２４２】
本実施形態の構成のように、矩形領域内にデザイン挿入領域３１１を設けると、矩形領域内にセル以外のデザインを挿入できるようになり、デザイン性を効果的に高めることができる。特に、デザイン挿入領域３１１がセルのサイズよりも広い領域として構成され、且つコードブロック１０の複数のセル位置に跨る構成で配置されているため、デザイン挿入領域をより広く確保でき、コード利用者により印象付けることができる。
【０２４３】
なお、図２７（ａ）の例では、白色で塗り潰されたデザイン挿入領域３１１を例示したが、デザイン挿入領域３１１の境界部分全体が、隣接するセルＣとは色彩、濃度、輝度の少なくともいずれかが異なるように構成されていてもよい。その一例としては、例えば、図２７（ｂ）のデザイン挿入領域３１１全体の色を、図２６の二次元コード３１０のコードブロック１０に使用されていない色によって構成する例が挙げられる（例えば、コードブロック１０の各セルが、黒、白、赤、緑、青、黄、シアン、マゼンタによって表現される場合、これら以外の一色（例えばオレンジ等）のみ）によってデザイン挿入領域３１１を構成すればよい）。
【０２４４】
このように、デザイン挿入領域３１１における境界部分全体が、隣接するセルと比較して色彩、濃度、輝度の少なくともいずれかが異なるように構成されていると、デザイン挿入領域３１１と、これに隣接するセルとが明確に区別され、デザイン挿入領域３１１をより際立たせることができる。
【０２４５】
また、図２８、図２９に示すように、デザイン挿入領域の一部が、矩形領域の境界部を構成していてもよい。なお、図２８、図２９の二次元コード３２０は、デザイン挿入領域の位置、形状が図２６と異なるが、それ以外は図２６と同一である。
【０２４６】
図２９に示すように、二次元コード３２０は、デザイン挿入領域３２１が白色領域として構成され、このデザイン挿入領域３２１の一部が矩形領域の境界部（第２境界部１０６ｄ）に隣接するように配置されている。図２８は、このような二次元コード３２０の使用例を示しており、デザイン挿入領域３２１内にコード領域の内外に跨る絵柄３２２の一部が描画されている。
【０２４７】
図２９の例では、エンドパターン１４４ａの外縁からエンドパターン１４７の外縁まで結んだ線の位置が第２境界部１０６ｄとなっており、デザイン挿入領域３２１はこの第２境界部１０６ｄに達するように構成されている。なお、図２８、図２９では、デザイン挿入領域３２１の境界を符号１０６’で示している。
【０２４８】
図２９のように、デザイン挿入領域３２１の一部が矩形領域の境界部に達するように構成されていると、図２８のように矩形領域の内外に跨るデザインを挿入しやすくなり、デザイン挿入の自由度が高められる。
【０２４９】
また、図３０のようにしてもよい。図３０（ａ）は、図２７（ａ）のデザイン挿入領域を変更した例を示しており、図３０（ｂ）はこのようなデザイン挿入領域の使用例を示している。この例では、デザイン挿入領域３１４がコードブロック１０と重なるように配置され、且つデザイン挿入領域３１４の少なくとも一部において、当該デザイン挿入領域３１４と重なるコードブロック１０の各セル領域が特定可能となっている。なお、図３０では、デザイン挿入領域３１４内のセル構成のみを具体的に例示し、デザイン挿入領域３１４外の具体的セル構成は図示を省略している。
【０２５０】
図３０（ａ）では、デザイン挿入領域３１４と重なるコードブロック１０を破線にて概念的に示しており、コードブロック１０を構成するセルの一部がデザイン挿入領域３１４内においても特定しうるように配置されている。即ち、デザイン挿入領域３１４は、コードブロック１０の一部を構成する領域であり、領域内がコードブロック１０の各セルに対応したセル領域３１６に区分けされている。そして、各セル領域３１６がコードブロック１０で表示すべきデータに対応した態様で構成され、これによって少なくとも一部のセル領域３１６が特定できるようになっている。
【０２５１】
図３０の例では、コードブロック１０が暗色セルと明色セルとによって表現されており、デザイン挿入領域３１４内の複数のセル領域３１６の内、暗色セルとして示すべき領域については、当該領域の濃度を、デザイン挿入領域３１４外の暗色セルの濃度（例えば第１の特定パターン２の黒色セル濃度）よりも若干低くしている。一方、複数のセル領域３１６の内、明色セルとして示すべき領域については、デザイン挿入領域３１４外と同様白色で示している。このようにすると、デザイン挿入領域３１４の一部をデータ表示領域として兼用できるため、デザイン性を高めつつデータ表示領域を効果的に確保できる。
【０２５２】
なお、上記の例では、デザイン挿入領域に挿入されるデザインとして音符絵柄等を例示したが、デザインはこれに限定されず、様々な図形、文字、記号、これらの組み合わせなど、様々なデザインを挿入できる。また、デザイン挿入領域の形状も、四角形状等に限定されず、円形、星型、ハート型等様々な形状とすることができる。また、いずれのデザイン挿入領域についても、当該デザイン挿入領域を明確に特定できるように、当該デザイン挿入領域の境界部分を太枠線や黒色以外の色彩の線で示すようにしてもよい。
【０２５３】
また、上記デザイン挿入領域３１１、３２１、３１４は、誤り訂正コードブロック１２によって誤り訂正がなされる領域として構成されている。例えば、デザイン挿入領域３１４は、コードブロック１０の一部を構成する領域であり、各セル領域３１６が、コードブロック１０で表示すべきデータに対応した態様で構成されているため、図３０（ａ）のようにデザインが記録されていない状態では、コードブロック１０の一部として読み取られることとなる。一方、図３０（ｂ）のようにデザインが記録されると、デザイン挿入領域３１４内の一部のセル領域がデータに対応した態様と異なる態様（即ち、誤り状態）となるため、読み取られる際に誤り訂正がなされることとなる。
【０２５４】
また、図３１のような構成であってもよい。図３１の二次元コード３３０も、図７の二次元コード１４０の特徴を全て有しており、図７のコード領域の中央部に更なる特徴を付加したものとして構成されている。なお、図３１の二次元コード３３０は、矩形領域内においてセルとは異なるデザインからなるデザイン部３３１が設けられている点が図７と異なり、それ以外は図７と同様である。よって図７と同様の部分については図７と同一の符号を付し、詳細な説明は省略する。
【０２５５】
図３１で表示されるデザイン部３３１は音符絵柄によって構成されており、コードブロック１０の複数のセル位置に跨るように配置されている。このようにすると矩形領域内のデザイン性を効果的に高めることができる。
【０２５６】
また、図３１の例では、デザイン部３３１を黒色の音符絵柄によって構成したが、デザイン部３３１における全ての境界部分が、隣接するセルとは色彩、濃度、輝度の少なくともいずれかが異なるように構成されていてもよい。例えば、図３１のデザイン部３３１を、コードブロック１０で用いられない色のみ（例えば、コードブロック１０の各セルが、黒、白、赤、緑、青、黄、シアン、マゼンタによって表現される場合、これら以外の一色（例えばオレンジ等）のみ）によって構成すると、デザイン部３３１とこれに隣接するセルとが明確に区別され、デザイン部３３１をより際立たせることができる。
【０２５７】
また、図３２のように、デザイン部３４１が矩形領域の内部と外部とに跨る構成で設けられていてもよい。このようにすると、矩形領域内のみならず矩形領域外をも利用してデザイン性を高めることができる。なお、図３２の二次元コード３４０も、デザイン部３４１が設けられている点が図７と異なり、それ以外は図７と同様である。よって図７と同様の部分については図７と同一の符号を付し、詳細な説明は省略する。
【０２５８】
また、図３３の二次元コード３４５のように、デザイン部３４６をコードブロック１０と重なるように配置し、デザイン部３４６の少なくとも一部において、当該デザイン部３４６と重なるコードブロック１０の各セル領域を特定しうるように構成してもよい。図３３では、デザイン部３４６と重なるコードブロックを破線１０’にて概念的に示しており、コードブロック１０を構成するセルの一部がデザイン部３４６内においても特定しうるように配置されている。
【０２５９】
具体的には、デザイン部３４６は、コードブロック１０の一部を構成する領域とされており、デザイン部３４６の領域内がコードブロック１０の各セルに対応したセル領域に区分けされている。そして、デザイン部３４６内の少なくとも一部のセル領域がコードブロック１０で表示すべきデータに対応した態様で構成され、これによって少なくとも一部のセル領域が特定できるようになっている。
【０２６０】
図３３の例では、コードブロック１０が暗色セルと明色セルとによって表現されており、デザイン部３４６内のセル領域のうち、暗色セルとして示すべき領域については、当該領域の濃度を、デザイン部３４６外の暗色セルの濃度（例えば第１の特定パターン２の黒色セル濃度）よりも若干低くしている。一方、デザイン部３４６内のセル領域のうち、明色セルとして示すべき領域については、上記の暗色セルとして示すべき領域よりも相当濃度を低く設定している。このようにすると、暗色セルとして示すべき領域と、明色セルとして示すべき領域とが明確に区別され、デザイン部３４６内のセル領域を特定できるようになる。
【０２６１】
このように、デザイン部３４６内の各セル領域（セルを表示する領域）をデータに対応した態様で構成すると、デザイン部３４６の一部をデータ表示領域として兼用でき、デザイン性を高めつつデータ表示領域を効果的に確保できる。
【０２６２】
なお、上記の図３１〜図３３の例では、デザイン部の一例として音符絵柄等を例示したが、デザイン部の構成はこれに限定されず、様々な図形、文字、記号、これらの組み合わせなどを用いることができる。
【０２６３】
［第１２実施形態］
次に第１２実施形態について説明する。本実施形態に係る二次元コードは、上記実施形態で説明された二次元コードに更なる特徴を付加したものであり、以下では、図１の二次元コードに対し本実施形態に係る特徴を付加した例を説明する。なお、本実施形態の二次元コードでは、コードブロックのみが図１と異なっており、それ以外は図１と同様である。
【０２６４】
本実施形態の二次元コードは、２進数でＮビットの情報量となる解読対象データに、２進数でＭビットの情報量となる誤り検出用データが付加されてなる複合データが、以下の式、ＸＹ−１＜２Ｎ×２Ｍ＜ＸＹを満たすＸ種類のＹ個のセルで表現されるという特徴を有している。
【０２６５】
解読対象データのビット数は様々に設定できるが、例えば、よく使われる８ビットごとにデータコードブロックを生成する場合、データコードブロック単位で表現できる情報は、白黒二値表現では、２８＝２５６までとなる。
【０２６６】
上記のようなバイナリデータは、多色を用いてカラー表現することで必要となるセル数を減らすことができる。そこで検討すると、上記８ビットの情報（即ち、２８＝２５６の情報）を５色のセルで表現しようとした場合、例えば、３セル分で表現できる情報は５３＝１２５であるため、３セルでは２５６の情報（即ち８ビットのバイナリデータ）を表現できないことになる。一方、５色のセルを用いて４セル分で表現できる情報は、５４＝６２５であるため、８ビットのバイナリデータを５色のセルで表現しようとした場合、４セル分あれば表現できる。
【０２６７】
一方、５色のセルを用いて４セル分で表現できる情報量は６２５であるため、図３４（ａ）のような１ビットを加えた９ビットのバイナリデータも表現できるようになる（即ち、２９（＝５１２）＜５４（＝６２５））。従って、本実施形態に係る発明では、２進数で８ビットの情報量となる解読対象データに、２進数で１ビットの情報量となる誤り検出用データが付加されてなる複合データを、５種類のセルで表現している。
【０２６８】
なお、この関係を上記式に当てはめると、Ｎ＝８、Ｍ＝１、Ｘ＝５であるため、５Ｙ−１＜２８×２１＜５Ｙを満たすＹ個のセルで表現すればよく、これを満たすＹは４であるため、上記説明の通りとなる。このようにすると、誤り検出を行い得るデータをより少ないセル数で効率的に表現できる。特に、各コードブロックごとに誤り検出を行うことができるようになる。
【０２６９】
また、図３４（ｂ）では８色のセルを用いる場合を示しており、このような場合でも同様に必要セル数を求めることができる。図３４（ｂ）では、解読対象データが２進数で８ビットであり、誤り検出用データが２進数で１ビットであり、これらを結合した９ビットの複合データを８色のセルで表現する場合を示している。これを上記式に当てはめると、Ｎ＝８、Ｍ＝１、Ｘ＝８であり、この場合、８Ｙ−１＜２８×２１＜Ｙを満たすＹの値（即ち３）が必要セル数として設定され、図３４（ｂ）のように３セル分で表現されることとなる。
【０２７０】
なお、誤り検出用データは２ビット以上であってもよく、解読対象データは上記以外のビット数（例えば１６ビット）であってもよい。
【０２７１】
また、上記二次元コードは以下のような生成方法を用いて生成できる。なお、この生成方法を実現する生成処理はパーソナルコンピュータなどの情報処理装置において実行できる。当該生成処理では、まず、コード化すべき解読対象データを取得する処理を行う。この処理は「取得ステップ」の一例に相当し、例えば、上記情報処理装置に対し、ユーザによる入力装置を用いた入力、或いは外部装置からのデータ入力などが行なわれることで上記情報処理装置が解読対象データを取得する。
【０２７２】
そして、第１の特定パターン及び第２の特定パターンのセル構成及び配置を定める処理を行う。この処理は、「特定パターン生成ステップ」の一例に相当し、例えば、ユーザが任意に型番を指定したときにその指定に応じた第１の特定パターン及び第２の特定パターン（例えば、図１に示すような第１の特定パターン２、第２の特定パターン３，４）を生成するようにしてもよく、取得したデータ量等に基づいて自動処理により第１の特定パターン及び第２の特定パターンを生成するようにしてもよい。
【０２７３】
そして、「取得ステップ」で取得した解読対象データに基づいてコードブロックのセル構成及び配列を定める処理を行う。この処理は、「コードブロック生成ステップ」の一例に相当するものであり、図３４を参照して上述したように、取得された解読対象データを、２進数でＮビット（例えば８ビット）の情報量となるサイズに分けると共に、その分けられた各解読対象データそれぞれに、２進数でＭビット（例えば１ビット）の情報量となる誤り検出用データを付加して各複合データを生成し、それら複合データを、以下の式、ＸＹ−１＜２Ｎ×２Ｍ＜ＸＹを満たすＸ種類のＹ個のセルで表現するように、各コードブロックのセル構成及び配列を定める。なお、複合データを表現する種類数は、ユーザによって任意に入力できるようにしてもよく、予め決められた種類数を用いてもよく、型番ごとに種類数を設定しておき、型番が指定されたときにその指定に応じた種類数を用いるようにしてもよい。
【０２７４】
そして、このようにして生成された複数のコードブロックが決められた順序及び配置（例えば指定された型番で決められた順序及び配置）に従ってコード領域内に配置されることとなる。
【０２７５】
［第１３実施形態］
次に第１３実施形態について説明する。図３５（ａ）〜（ｅ）は、第１３実施形態に係る二次元コードを概略的に説明する説明図である。図３６は、エンドパターンの比率の和とコードサイズとの関係を説明する説明図である。図３７は、二次元コードのサイズとエンドパターンの固有比率との関係を説明する説明図である。  
【０２７６】
なお、本実施形態の二次元コード４１０、４２０，４３０、４４０、４５０のいずれも、コードブロック１０として、誤り訂正を行うための誤り訂正コードブロック１２が含まれており、矩形領域の境界部のうち、第２の特定パターン３，４の配置側とは異なる第２境界部６ｃ側、第２境界部６ｄにおいて、これら第２境界部６ｃ、第２境界部６ｄに隣接する位置にそれぞれ誤り訂正コードブロック１２が配置されている。
【０２７７】
一方、本実施形態の二次元コード４１０、４２０，４３０、４４０、４５０は、いずれも、第１の特定パターン２が配置された規定の角部５ａと対角にある角部５ｄに、当該角部５ｄを示すエンドパターン４１７、４２７，４３７、４４７、４５７がそれぞれ配置されている。これらエンドパターン４１７、４２７，４３７、４４７、４５７は、いずれも、両方の第２境界部６ｃ，６ｄに隣接しており、外縁によって矩形領域の角位置を示している。
【０２７８】
更に、これら二次元コード４１０、４２０，４３０、４４０、４５０は、エンドパターン４１７、４２７，４３７、４４７、４５７に関し、コードサイズ毎の固有比率が予め規定されている。図３７は、その規定例を示しており、例えば、９×９のサイズには１：１の比率が対応付けられており、１１×１１には１：２、１３×１３には２：２、１５×１５には１：３がそれぞれ対応付けられている。つまり、エンドパターンの比率が１：１であればそのサイズは９×９であることが特定でき、１：２であれば１１×１１であることが、２：２であれば１３×１３であることが特定できるようになっている。
【０２７９】
また、これら固有比率は、エンドパターンの縦方向の長さと横方向の長さの比率（換言すれば縦方向のセル数と横方向のセル数の比率）を示すものであり、例えば図３５（ａ）の９×９のサイズの二次元コード４１０は、単一の黒色セルによってエンドパターン４１７が構成されるため、縦横いずれも１セル分の長さであり、縦方向の長さと横方向の長さの比率は１：１となっている。なお、本実施形態ではエンドパターンが接する一方の境界部に沿った方向を縦方向とし、他方の境界部に沿った方向を横方向としている。
【０２８０】
また、図３５（ｂ）の１１×１１のサイズの二次元コード４２０は、横に並ぶ２つの黒色セルからなるエンドパターン４２７が構成されるため、縦方向が１セル分の長さであり横方向が２セル分の長さであるため、縦方向の長さと横方向の長さの比率は２：１となっている。他のエンドパターン４３７、４４７、４５７も同様に比率が設定されている。
【０２８１】
また、コードサイズ毎の固有比率を、コードサイズ毎に変わりうる変数Ｃ１、Ｃ２を用いてＣ１：Ｃ２と表したとき（但し、Ｃ１，Ｃ２は自然数）、コードサイズが大きくなるにつれ、それらＣ１とＣ２の和Ｃ１＋Ｃ２が大きくなるように規定されている。例えば、図３５（ａ）の二次元コード４１０のエンドパターン４１７の固有比率は、１：１であるため、Ｃ１＝１で、Ｃ２＝１であり、それらＣ１とＣ２の和Ｃ１＋Ｃ２（以下、比率の和とも称する）は、２となっている。また、図３５（ｂ）の二次元コード４２０のエンドパターン４２７の固有比率は、１：２であるため、Ｃ１＝１で、Ｃ２＝２であり、それらＣ１とＣ２の和Ｃ１＋Ｃ２は３となっている。
【０２８２】
同様に各二次元コード４３０、４４０、４５０のエンドパターン４３７、４４７，４５７の比率の和Ｃ１＋Ｃ２を求めると、それぞれ３、４、４であり、コードサイズが大きくなるにつれ、それらＣ１とＣ２の和Ｃ１＋Ｃ２が大きくなるように規定されている。
【０２８３】
また、１９×１９、２１×２１、２３×２３、２５×２５、２７×２７のサイズのエンドパターンは例えば図３６のように構成でき、これらについても、コードサイズが大きくなるにつれ、比率の和Ｃ１＋Ｃ２が大きくなるように規定されている。
【０２８４】
なお、図３６の例では、２３×２３、２５×２５のサイズのエンドパターンは、セルが矩形領域の角部境界に沿ってＬ字状に配置されたＬ字形状をなしている。このようにエンドパターンを構成すると、固有比率を認識しやすく、かつ矩形領域の角の境界を特定しやすい構成となる。
【０２８５】
本実施形態の構成によれば、エンドパターンを、矩形領域のエンド位置の検出のみならず、コードサイズの検出にも利用できるようになる。また、コードサイズが大きくなるにつれ、比率の和Ｃ１＋Ｃ２が大きくなるように規定されているため、コードサイズに応じた大きさのエンドパターンによって固有比率を示すことができ、小さいコードに大きすぎるエンドパターンが割り当てられてデータ領域が削減されるといったことがなく、データ領域を適切に確保しやすくなる。
【０２８６】
請求項４５の発明では、エンドパターンは、セルが矩形領域の角部境界に沿ってＬ字状に配置されたＬ字形状をなしている。
【０２８７】
［第１４実施形態］
次に第１４実施形態について説明する。本実施形態に係る二次元コードは、上記実施形態で説明された二次元コードに更なる特徴を付加したものであり、以下では、図１の二次元コードに対し本実施形態に係る特徴を付加した例を説明する。なお、本実施形態の二次元コードは、図１の特徴を全て有しており、以下の説明では、適宜図１を参照して説明する。
【０２８８】
図１に示すように、本実施形態の二次元コードも、コードブロック１０として、誤り訂正を行うための誤り訂正コードブロック１２が含まれており、矩形領域の境界部のうち、第２の特定パターン３，４の配置側とは異なる第２境界部６ｃ側、第２境界部６ｄ側において、これら第２境界部６ｃ、第２境界部６ｄに隣接する位置にそれぞれ誤り訂正コードブロック１２が配置されている。
【０２８９】
本実施形態のデータコードブロック１１は、複数種類の記号が複数桁並んで表されるデータを符号化したものであり、そのデータは、記号の種類数をＤとしたときに、以下の式、２Ｆ−１＜ＤＥ＜２Ｆ（但し、Ｅ，Ｆは自然数）を満たし、且つ、ビット変換率を示すＦ／Ｅの値が所定の低値となるＥ桁毎にバイナリ変換されている。そして、そのバイナリ変換後のビット列がデータコードブロック１１によって表現されている。
【０２９０】
例えば、「複数種類の記号」が１０種類の数字であり、この１０種類の数字が複数桁並んで表されるデータについては、２Ｆ−１＜１０Ｅ＜２Ｆを満たし、ビット変換率を示すＦ／Ｅの値が最も小さくなるときのＥ桁毎にバイナリ変換される。
【０２９１】
図３８（ａ）は１０種類の数字についての変換効率を示し、（ｂ）は文字数と変換効率との対応関係をグラフ化して示すものであるが、この場合、３桁、６桁、９桁、のときが最も小さくなっている。このようにＦ／Ｅの値が最も小さくなる桁数の候補が複数あるときにはそのうちの最も小さい桁数（図３８（ａ）の例では３桁）ごとにバイナリ変換される。
【０２９２】
図３９は、１０種類の数字からなる文字列３４５６７８９０が符号化の対象となるデータであるときのバイナリ変換を説明する説明図である。この例の場合、まず、「３４５６７８９０」を、上記のようにして得られたＥ桁ごと（即ち３桁ごと）に区切り、その３桁ごとに区切った文字列をそれぞれバイナリ変換する。そして、３文字とはならない残りの文字列をバイナリ変換する。そして、それらのバイナリ変換後のデータをつなぎ合わせ、そのつなぎ合わされたバイナリ変換データの前に文字セット指示子と文字列数を付加する。本実施形態ではこのようにして生成されたバイナリ変換後のビット列がデータコードブロック１１によって表現されている。
【０２９３】
また、図４０、図４１のようにしてもよい。この例では、ビット変換率Ｆ／Ｅの値が最も小さくなるときの桁数Ｅの値をＥ１とし、ビット変換率Ｆ／Ｅの値が、Ｅ＝Ｅ１のときに次いで小さくなるときの桁数ＥをＥ２とした場合（但し、０＜Ｅ２＜Ｅ１）、データはＥ１桁毎にバイナリ変換されると共に、Ｅ１桁未満の残余桁がＥ２桁毎にバイナリ変換され、それらバイナリ変換後のビット列がデータコードブロック１１によって表現されている。
【０２９４】
例えば、「複数種類の記号」が２６種類のアルファベットであり、この２６種類のアルファベットが複数桁並んで表されるデータについては、２Ｆ−１＜２６Ｅ＜２Ｆを満たし、ビット変換率を示すＦ／Ｅの値が最も小さくなるときのＥ桁毎にバイナリ変換される。
【０２９５】
図４０（ａ）は２６種類の数字についての変換効率を示し、（ｂ）は文字数と変換効率との対応関係をグラフ化して示すものであるが、この場合、７桁のときが最も小さくなっており、７桁より小さい桁においては４桁が次に小さくなっている。このような場合、データは７桁毎にバイナリ変換され、７桁未満の残余桁は４桁毎にバイナリ変換される。
【０２９６】
図４１は、２６種類の文字からなる文字列ＡＢＣＲＳＴＵＶＷＸＹＺが符号化の対象となるデータであるときのバイナリ変換を説明する説明図である。この例の場合、各種類の文字が数字に対応付けられているため、まず、「ＡＢＣＲＳＴＵＶＷＸＹＺ」の各文字を対応する数字に変換する。そして、それらを上記のようにして得られたＥ１桁ごと（即ち７桁ごと）に区切り、その７桁ごとに区切った文字列をそれぞれバイナリ変換する。
【０２９７】
更に、７文字とはならない残余の文字列を上記のようにして得られたＥ２桁ごと（即ち４桁ごと）に区切り、バイナリ変換する。なお、更に残った文字についてはその残った桁数でバイナリ変換すればよい。
【０２９８】
そして、それらのバイナリ変換後のデータをつなぎ合わせ、そのつなぎ合わされたバイナリ変換データの前に文字セット指示子と文字列数を付加する。本実施形態ではこのようにして生成されたバイナリ変換後のビット列がデータコードブロック１１によって表現されている。
【０２９９】
本実施形態の構成によれば、複数種類の記号が効率良くバイナリ変換されてデータブロック１１が構成されることとなり、矩形領域により多くのデータを記録できるようになる。特に、ビット変換率Ｆ／Ｅの値が最も小さくなるＥ桁毎にバイナリ変換すると、Ｄ種類の記号をより効率的にビット列で表すことができる。
【０３００】
また、図４０、図４１の例では、ビット変換率Ｆ／Ｅの値が最も小さくなるＥ（＝Ｅ１）桁ごとに効率的にバイナリ変換され、更に、Ｅ１桁未満の残余の桁についてもＥ２桁毎に効率的にバイナリ変換されるため、変換効率がより一層高まり、より一層効率的にデータを記録できる。
【０３０１】
［第１５実施形態］
次に第１５実施形態について説明する。図４２は、第１５実施形態に係る二次元コードの要部を概略的に説明する説明図である。図４３は、形式情報コードブロックを具体的に配置した例を説明する説明図である。図４２、図４３では、第１５実施形態に係る二次元コードについて規定の角部５ａ側の一部の領域のみを拡大して示しており、それ以外の領域の図示は省略している。
【０３０２】
本実施形態の二次元コード５００も、コードブロックとして、誤り訂正を行うための誤り訂正コードブロック（第１実施形態等と同様の誤り訂正コードブロック）が含まれており、矩形領域の境界部のうち、第２の特定パターン５０３，５０４の配置側とは異なる第２境界部側（図示略）において、これら第２境界部に隣接する位置にそれぞれ誤り訂正コードブロックが配置されている。なお、図４２、図４３では、データコードブロックや誤り訂正コードブロックの具体的図示は省略している。
【０３０３】
本実施形態の二次元コード５００では、同一種類の複数Ｃのセルが矩形状に配置されることでセルＣを大型化した大型基本単位が構成されている。具体的には、二次元コード５００内において図４２（ｂ）に示すような白色セルＣｗ及び黒色セルＣｂが配置されており、白色セルＣｗが２行２列で配置されて図４２（ｃ）のような白色の大型基本単位が構成され、黒色セルＣｂが２行２列で配置されて図４２（ｄ）のような黒色の大型基本単位５０８が構成されている。これら大型基本単位とセルとは互いに相似の関係となっており、白色セルＣｗと図４２（ｃ）の白色の大型基本単位とが相似形（具体的には縦横それぞれ２倍とした相似形）とされ、黒色セルＣｂと図４２（ｄ）の黒色の大型基本単位とが相似形（縦横それぞれ２倍とした相似形）とされている。
【０３０４】
このような大型基本単位は、第１の特定パターン５０２及び第２の特定パターン５０３に用いられている。即ち、本実施形態に係る二次元コード５００では、第１の特定パターン５０２が、複数の大型基本単位の組み合わせによって構成されており、第２の特定パターンも大型基本単位の組み合わせによって構成されている。
【０３０５】
第１の特定パターン５０２は、中心に黒色の大型基本単位５０２ａが配置され、この周囲を８つの白色の大型基本単位が環状かつ矩形状に囲んでいる。なお、図４２（ａ）では、その８つの白色の大型基本単位の内の１つを破線５０２ｂにて概念的に示している。更に、その８つの白色の大型基本単位の外側を黒色の大型基本単位が環状且つ矩形状に囲んでおり、それが最外周を構成している。
【０３０６】
また、第２の基本パターン５０３は、第１の特定パターン５０２側に隣接して白色の大型基本単位５０３ａが配置され、それに隣接して黒色の大型基本単位５０３ｂが配置されるといった形態で、これら白色の大型基本単位５０３ａ及び黒色の大型基本単位５０３ｂが第１境界部１０６ａに隣接して交互に並んでいる。第２の基本パターン５０４は、第１の特定パターン５０２側に隣接して白色の大型基本単位５０４ａが配置され、それに隣接して黒色の大型基本単位５０４ｂが配置されるといった形態で、これら白色の大型基本単位５０４ａ及び黒色の大型基本単位５０４ｂが第１境界部１０６ｂに隣接して交互に並んでいる。
【０３０７】
また、二次元コード５００内において、第１の特定パターン５０２、第２の特定パターン５０３に隣接する位置、及び、第１の特定パターン５０２、第２の特定パターン５０４に隣接する位置にそれぞれ形式情報ブロック５０９が配置されている。この形式情報ブロックは、二次元コード５００の型番情報や誤り訂正レベルなどの形式情報を表すものであり、本実施形態ではこの形式情報ブロック５０９が複数の大型基本単位によって構成されている。図４３ではその構成例を示しており、複数の白色の大型基本単位５０９ａと、複数の黒色の大型基本単位５０９ｂとによって形式情報ブロック５０９が構成され、形式情報が表されている。
【０３０８】
上述の通り、図４２の例では、第１の特定パターン５０２及び第２の特定パターン５０３、５０４のいずれもが大型基本単位の組み合わせによって構成されているが、これら第１の特定パターン５０２、第２の特定パターン５０３，５０４、及び形式情報ブロック５０９のそれぞれの大型基本単位は全て同一サイズで構成されている。
【０３０９】
なお、図４２等では白色セルＣｗや黒色セルＣｂが２行２列で配置されて大型基本単位が構成されていたが、大型基本単位の構成はこれに限られない。例えば白色セルＣｗや黒色セルＣｂを３行３列で配置して大型基本単位を構成してもよい。
【０３１０】
本実施形態の構成では、同一種類の複数のセルを矩形状に配置してセルを大型化した大型基本単位が設けられ、第１の特定パターン５０２が複数の大型基本単位の組み合わせによって構成されている。このようにすると、第１の特定パターン５０２をより認識しやすい構成とすることができる。
例えば、矩形領域内に配置されるセル数が多くなるにつれ、矩形領域に対してセルが相対的に小さくなるが、このような相対的に小さいセルによって第１の特定パターンを構成した場合、第１の特定パターンの認識不良を招く懸念がある。しかしながら、上記のような大型基本単位の組み合わせによって第１の特定パターン５０２を構成すれば、第１の特定パターンを良好に認識できるようになり、ひいては二次元コード５００の読取精度向上を図ることができる。
【０３１１】
また、第２の特定パターン５０３、５０４も大型基本単位の組み合わせによって構成されている。このようにすると、第１の特定パターン５０２だけでなく第２の特定パターン５０３、５０４をも認識しやすい構成とすることができる。
【０３１２】
また、大型基本単位とセルとが互いに相似の関係となっている。このように、大型基本単位をセルと相似関係にあるシンプルな形状とすることで、大型基本単位を認識するための複雑な読取方式を設けずに済み、読取構成を簡素化できる。
【０３１３】
また、二次元コード５００の形式情報を表す形式情報ブロック５０９を有し、この形式情報ブロック５０９が複数の大型基本単位によって構成されている。このようにすると、形式情報ブロック５０９を表現する単位を大型化することができるため、形式情報ブロック５０９を、認識しやすく、汚れ等に強い構成とすることができ、これにより、重要性の高い形式情報を良好に読み取ることができるようになる。
【０３１４】
また、形式情報ブロック５０９が第１の特定パターン５０２及び第２の特定パターンの５０３，５０４の少なくともいずれか（図４２では両方）に隣接して配置されている。このようにすると、第１の特定パターン５０２或いは第２の特定パターン５０３、５０４を認識した後にそれに隣接する形式情報ブロック５０９を迅速に検出することができ、読み取りの迅速化を図ることができる。
【０３１５】
また、第１の特定パターン５０２及び第２の特定パターン５０３，５０４のいずれもが大型基本単位の組み合わせによって構成されており、第１の特定パターン５０２、第２の特定パターン５０３、５０４、及び形式情報ブロック５０９のそれぞれの大型基本単位が全て同一サイズで構成されている。このようにすると、第１の特定パターン５０２、第２の特定パターン５０３，５０４、形式情報ブロック５０９の全てを、同一サイズの大型基本単位の組み合わせとして読み取ることができるため、これら全ての認識精度の向上を図りつつ読み取り方式を複雑化せずに済む。
【０３１６】
［第１６実施形態］
次に第１６実施形態について説明する。図４４は、第１６実施形態に係る二次元コードの要部を概略的に説明する説明図である。図４４では、第１６実施形態に係る二次元コードについて規定の角部５ａ側の一部の領域のみを拡大して示しており、それ以外の領域の図示は省略している。
【０３１７】
本実施形態の二次元コード５１０も、コードブロックとして、誤り訂正を行うための誤り訂正コードブロック（第１実施形態等と同様の誤り訂正コードブロック）が含まれており、矩形領域の境界部のうち、第２の特定パターン５１３，５１４の配置側（即ち第１境界部６ａ、６ｂ側）とは異なる第２境界部側（図示略）において、これら第２境界部に隣接する位置にそれぞれ誤り訂正コードブロックが配置されている。なお、図４４では、データコードブロックや誤り訂正コードブロックの具体的図示は省略している。
【０３１８】
本実施形態の二次元コード５１０は、コードブロックとして、所定種類の第１データを表す第１データコードブロックと、第１データとは種類の異なる第２データを表す第２データコードブロックとを有している。そして、第１の特定パターン２寄りに第１データコードブロックを配置する第１領域５１１が設けられ、第１領域５１１よりも第１の特定パターン２から離れた位置に、第２データコードブロックを配置する第２領域５１２が設けられている。
【０３１９】
第１のデータ及び第２データについては様々な組み合わせを用いることができる。例えば、型番情報や誤り訂正レベルなどの情報を含んだ形式情報を第１データとし、形式情報以外のデータを第２データとすることができる。この場合、形式情報データブロックが第１領域５１１に配置され、それ以外のデータを表すコードブロック（例えば解読対象となるデータを表すデータコードブロックや誤り訂正コードブロックなど）が第２領域５１２に配置されることとなる。
【０３２０】
また、第１データ及び第２データをいずれも解読対象となるデータとし、第１データを、第２データよりも誤り訂正レベルが高く設定されたものとすることができる。この場合、第１領域５１１には、誤り訂正レベルが高く設定されたデータを表すデータコードブロックが配置され、第２領域５１２には、第１データよりも誤り訂正レベルが低く設定された第２データを表すデータコードブロックが配置されることとなる。
【０３２１】
本実施形態では、第１の特定パターン２寄りに第１データコードブロックを配置する第１領域５１１が設けられ、第１領域５１１よりも第１の特定パターン２から離れた位置に、第２データコードブロックを配置する第２領域５１２が設けられている。このようにすると、基準となる第１の特定パターン２寄りに配置される第１データコードブロックの読み取りの精度を、それよりも離れた第２データコードブロックの読み取りの精度よりも高めることができ、第１データコードブロックが重要なデータである場合などにおいて有利となる。例えば、第１データが第２データよりも誤り訂正レベルが高く設定されている場合、誤り訂正レベルの高い重要なデータの読み取りの精度を効果的に高めることができる。或いは、第１データが形式情報を示すデータであり、第２データが形式情報以外のデータによって構成されている場合、読み取りの正確性、迅速化を図る上で必要となる形式情報を確実性高く読み取ることができるようになる。
【０３２２】
［第１７実施形態］
次に第１７実施形態について説明する。図４５は第１７実施形態に係る二次元コードを概略的に説明する説明図である。図４５の二次元コード５２０は、図８の特徴を全て有しており、図８の構成に更なる特徴を付加したものとされている。なお、図８と同様の構成については図８と同一の符号を付し、詳細な説明は省略する。
【０３２３】
なお、本実施形態の二次元コード５２０でも、コードブロック１０として、誤り訂正を行うための誤り訂正コードブロック１２が含まれており、矩形領域の境界部のうち、第２の特定パターン１４３，１４４の配置側とは異なる第２境界部１０６ｃ側、第２境界部１０６ｄにおいて、これら第２境界部１０６ｃ、第２境界部１０６ｄに隣接する位置にそれぞれ誤り訂正コードブロック１２が配置されている。
【０３２４】
二次元コード５２０に設けられるコードブロック１０は、図８で説明したように、有彩色を含む複数の表示色（具体的には８色）によって情報が表現されている。
【０３２５】
一方、二次元コード５２０矩形領域内には、当該矩形領域よりも小さい第２の二次元コード５２１が配置されている。この第２の二次元コード５２１は、図７の二次元コード１４０と同一の構成をなしており、複数種類の無彩色（具体的には黒色と白色）によって情報が表されている。また、第２の二次元コード５２１が配置された領域は、誤り訂正コードブロック１２によって誤り訂正がなされる領域として構成されている。
【０３２６】
本実施形態のようにすると、有彩色の読み取りを行い得る光学的情報読取装置（カラーセンサを搭載したコードリーダ等）を用いたときには、矩形領域のコードブロック１０、又は矩形領域のコードブロック１０及び第２の二次元コード５２１の両方を読み取ることができ、無彩色の読み取りを行う光学的情報読取装置であっても、第２の二次元コード５２１を読み取ることができるようになる。即ち、各種類の光学的情報読取装置に対し、それぞれの種類に応じた情報を与えることができる。
【０３２７】
また、矩形領域における第２の二次元コード５２１が配置された領域が、誤り訂正コードブロック１２によって誤り訂正がなされる領域として構成されている。このようにすると、矩形領域内に第２の二次元コード５２１を設けつつ、矩形領域内のデータの解読を良好に行い得る構成となる。
【０３２８】
また、図４６のようにしてもよい。図４６の二次元コードは、図７の特徴を全て有しており、図７の構成に更なる特徴を付加したものとされている。なお、図７と同様の構成については図７と同一の符号を付し、詳細な説明は省略する。
【０３２９】
なお、本実施形態の二次元コード５３０でも、コードブロック１０として、誤り訂正を行うための誤り訂正コードブロック１２が含まれており、矩形領域の境界部のうち、第２の特定パターン１４３，１４４の配置側とは異なる第２境界部１０６ｃ側、第２境界部１０６ｄにおいて、これら第２境界部１０６ｃ、第２境界部１０６ｄに隣接する位置にそれぞれ誤り訂正コードブロック１２が配置されている。
【０３３０】
二次元コード５３０のコードブロック１０は、図７でも説明したように、複数種類の無彩色（具体的には白色と黒色の二色）によって情報が表されている。
【０３３１】
一方、二次元コード５３０の矩形領域内には、当該矩形領域よりも小さい第２の二次元コード５３１が配置されている。この第２の二次元コード５３１は、図２０の二次元コード２８０と同一の構成をなしており、有彩色を含む複数の表示色（具体的には８色）によって情報が表されている。
【０３３２】
このようにすると、有彩色の読み取りを行い得る光学的情報読取装置（カラーセンサを搭載したコードリーダ等）を用いたときには、第２の二次元コード５２１、又は第２の二次元コード５２１及び矩形領域のコードブロック１０の両方を読み取ることができ、無彩色の読み取りを行う光学的情報読取装置であっても、矩形領域のコードブロック１０を読み取ることができるようになる。即ち、各種類の光学的情報読取装置に対し、それぞれの種類に応じた情報を与えることができる。なお、図４５の例でも、第２の二次元コード５３１が配置された領域は、誤り訂正コードブロック１２によって誤り訂正がなされる領域として構成されている。
【０３３３】
［第１８実施形態］
次に第１８実施形態について説明する。図４７（ａ）は第１８実施形態に係る二次元コードを概略的に説明する説明図である。図４７（ｂ）は、マスクパターンを例示する説明図であり、図４７（ｃ）は、マスク処理が施される領域を説明する説明図である。
【０３３４】
本実施形態の二次元コード５４０でも、コードブロック１０として、誤り訂正を行うための誤り訂正コードブロック１２が含まれており、矩形領域の境界部のうち、第２の特定パターン５４３，５４４の配置側とは異なる第２境界部１０６ｃ側、第２境界部１０６ｄにおいて、これら第２境界部１０６ｃ、第２境界部１０６ｄに隣接する位置にそれぞれ誤り訂正コードブロック１２が配置されている。
【０３３５】
更に、二次元コード５４０は、コードブロック１０に対し、予め規定された１種類のマスクパターンを用いたマスク処理が施されている。図４７（ｂ）はその１種類のマスクパターンを例示するものであり、このマスクパターンを用いたマスク処理が、図４７（ｃ）のように、機能パターンを除いた領域（即ち、第１の特定パターン２、第２の特定パターン５４３、５４４、第３の特定パターン５４５、５４６、エンドパターン５４７を除いた領域）に施されている。
【０３３６】
なお、特定のマスクパターンを用いてマスク処理を施す方法、或いはマスク処理が施された二次元コードからマスクを解除する方法についてはＱＲコード等の二次元コードの分野では公知であるので詳細は省略する。
【０３３７】
本実施形態の構成によれば、誤り訂正コードブロック１２以外のデータコードブロックにおいて、背景色と色彩、濃度、輝度が同一のセル（例えば白色セル）を連続させにくくすることができる。例えば図４７（ａ）のような構成の場合、誤り訂正コードブロック１２の位置では境界部を良好に特定できるがデータコードブロック１１の位置において特定不良となる虞がある。しかしながら、マスク処理を用いると、このようなデータコードブロック１１についても背景との区別に用いることができる。また、予め規定された１種類のマスクパターンを用いているため、どのようなマスクパターンが使用されるかを特定する情報（マスク情報）をコード領域内に設ける必要がなく、マスク情報以外の他データの記録量を削減することもない。
【０３３８】
なお、境界部に隣接する誤り訂正コードブロック１２を圧縮データコードブロック１３に変更した構成においても同様の効果が得られる。
【０３３９】
［第１９実施形態］
次に第１９実施形態について説明する。図４８及び図４９は、本実施形態に係るプログラムによって表示される内容を説明する説明図である。
【０３４０】
本実施形態に係る発明は、上述した二次元コードを表示させるコンピュータ読み取り可能なプログラムであり、表示装置、ＣＰＵ、記憶手段（ＲＯＭ、ＲＡＭ、ＨＤＤ等）等を備えたコンピュータ（例えばパーソナルコンピュータ等）に対し、図４８（ａ）〜（ｄ）及び図４９（ａ）〜（ｅ）のような表示を実行させるように構成されている。なお、本実施形態では、図４８（ａ）〜（ｄ）及び図４９（ａ）〜（ｅ）の表示を行わせるステップが「表示ステップ」の一例に相当している。
【０３４１】
本実施形態に係るプログラムによって行われる表示処理では、まず図４８（ａ）のような表示を行うステップが実行される。このステップでは、後述する二次元コード８００の第１の特定パターン２及び第２の特定パターン８０３，８０４が表示され、更にコード領域を特定しうる表示がなされる。具体的には、二次元コード８００が表示されるべき領域を背景と異なる色彩等によって表示している。
【０３４２】
その後、図４８（ｂ）（ｃ）のように、コード領域内において動画（ここでは新幹線が移動する動画）を表示するステップが実行される。なお、このステップは、「デザイン動画表示ステップ」の一例に相当し、二次元コードの表示領域内にセルとは異なるデザインからなるデザイン動画を表示させるステップとされている。なお、この処理では、二次元コードの表示領域のうち、第１の特定パターン２及び第２の特定パターン８０３，８０４を表示する特定パターン表示領域以外の領域にデザイン動画を表示させている。
【０３４３】
その後、図４８（ｄ），図４９（ａ）（ｂ）（ｃ）のように、二次元コード８００を徐々に表示させるステップが行われる。このステップは、「コード動画表示ステップ」の一例に相当し、二次元コード８００を動画の一部として表示させるステップとされている。なお、この処理では、二次元コード８００を動画の一部として表示させた後、その表示状態を少なくとも一定時間維持させる。例えば、図４９（ｂ）のような表示状態で数秒表示を維持させる。なお、その後においても、図４９（ｃ）〜（ｅ）のようなデザイン動画が表示されるようになっている。
【０３４４】
なお、本明細書で説明されるいずれの二次元コードについても上記二次元コード８００と同様に動画表示することができ、いずれの場合でも、コードブロックとして、誤り訂正を行うための誤り訂正コードブロックが含まれ、矩形領域の境界部のうち、第２の特定パターンの配置側とは異なる第２境界部側において、これら第２境界部に隣接する位置にそれぞれ誤り訂正コードブロックが配置されている。或いは、コードブロックとして圧縮データコードブロックが含まれ、第２境界部に隣接する位置にそれぞれ圧縮データコードブロックが配置される二次元コード（図５等）を上記の二次元コード８００と同様に動画表示してもよい。
【０３４５】
本実施形態に係る発明は、二次元コードの表示領域内にデザイン動画を表示させる「デザイン動画表示ステップ」を有している。このようにすると、より多くのデータを記録でき且つ矩形領域の正確な特定を可能とする二次元コードを良好に表示でき、更に、二次元コードのデザイン性をより一層高めることができる。
【０３４６】
また、二次元コードの表示領域のうち、第１の特定パターン及び第２の特定パターンを表示する特定パターン表示領域以外の領域にデザイン動画を表示させている。このようにすると、動画表示によってデザイン性を高めつつ、その一方で、第１の特定パターン及び第２の特定パターンについては形状を正確に特定しやすい表示とすることができるため、第１の特定パターン或いは第２の特定パターンの認識不良に伴う読み取り精度低下を効果的に抑えることができる。
【０３４７】
さらに、二次元コードを動画の一部として表示させた後、その表示状態を少なくとも一定時間維持させている。このようにすると、二次元コードの動画表示によって装飾性を高めることができ、動画表示後には表示状態が一定時間維持されるため読み取りを良好に行うことができるようになる。
【０３４８】
［第２０実施形態］
次に第２０実施形態について説明する。図５０は、本実施形態に係る生成方法を実現する二次元コード生成処理を例示するフローチャートである。また、図５１は、暗セルが多い二次元コードを例示する説明図であり、図５２は、明暗反転後の二次元コードを説明する説明図である。
【０３４９】
図５０の処理は、ＣＰＵ、記憶手段（ＲＯＭ、ＲＡＭ、ＨＤＤ等）等を備えた情報処理装置（例えばパーソナルコンピュータ等）によって実行されるものである。当該処理では、まず、コード化すべき解読対象データを取得する処理が行われる（Ｓ５０１）。この処理は、「取得ステップ」の一例に相当し、例えばユーザによる入力装置を用いた入力、或いは外部装置からの入力などによって解読対象となるデータ（即ち符号化すべきデータ）が上記情報処理装置にて取得される。
【０３５０】
その後、特定パターンを設定する処理を行う（Ｓ５０２）。この処理は、第１の特定パターンや第２の特定パターンなどを設定する処理であり、例えばユーザによる型番の指定や、或いはデータ量に応じた自動的な型番指定などによって型番が決定され、第１の特定パターン、第２の特定パターンが設定される。なお、Ｓ５０２の処理は、「特定パターン設定処理」の一例に相当し、当該ステップにより、第１の特定パターン及び第２の特定パターンのセル構成及び配置が定められることとなる。
【０３５１】
その後、コードブロックを生成する処理が行われる。この処理では、Ｓ５０１で取得した解読対象データがバイナリデータに変換され、そのバイナリデータによってコードブロックのセル構成及び配列が定められる。
【０３５２】
更に、Ｓ５０２、Ｓ５０３で得られた第１の特定パターン、第２の特定パターン、及びコードブロックに基づいて、矩形領域における明色セルと暗色セルとの比率を算出する（Ｓ５０４）。なお、この処理は、「比率算出ステップ」の一例に相当する。この処理では、Ｓ５０２、Ｓ５０３で得られた第１の特定パターン、第２の特定パターン、及びコードブロックを矩形領域（コード領域）内に配置して二次元コードを生成したときの明色セルのセル数と、暗色セルのセル数とをそれぞれ算出する。
【０３５３】
そして、Ｓ５０４での算出結果に基づき、矩形領域内において暗色セルの比率が明色セルの比率よりも多いか否かを判断する（Ｓ５０５）。なお、Ｓ５０５の処理は、「判断ステップ」の一例に相当する。
【０３５４】
Ｓ５０５の「判断ステップ」において、暗色セルの比率のほうが多いと判断された場合には、Ｓ５０５にてＹｅｓに進み、明暗を反転する反転処理を行う（Ｓ５０６）。なお、Ｓ５０６の処理は、「反転ステップ」の一例に相当し、特定パターン生成ステップ（Ｓ５０２）及びコードブロック生成ステップ（Ｓ５０３）によって得られた矩形領域において明色セル及び暗色セルを反転した反転コードが生成される。
【０３５５】
例えば、Ｓ５０２、Ｓ５０３の処理よって得られた第１の特定パターン、第２の特定パターン、及びコードブロックによって図５１（ａ）のような矩形領域が構成される場合、当該矩形領域内において暗色セルの比率のほうが大きいため、Ｓ５０５にてＹｅｓに進み、図５２（ａ）のように明暗を反転する。この反転処理では、矩形領域と共に、当該矩形領域に隣接するマージン領域の明色セル及び暗色セルをも反転している。具体的には矩形領域に隣接する１セル幅分のマージンを確保し、矩形領域の明暗の反転と共にこのマージン領域の反転をも行う（図５１（ａ）、５２（ａ）参照）。
【０３５６】
図５１（ｂ）では、ダイレクトマーキングで形成する二次元コードを例示している。なお、図５１（ｂ）では、矩形領域内におけるダイレクトマーキングで形成すべきマーキングポイント（暗色セル部分）を黒色で示している。Ｓ５０１、Ｓ５０２、Ｓ５０３の処理によってこのような二次元コードが構成された場合、Ｓ５０４、Ｓ５０５で暗色セルの比率が大きいと判断されるため、図５２（ｂ）のように明暗を反転してマーキングポイントを減らすことができる。
【０３５７】
反転処理（Ｓ５０６）の後、或いはＳ５０５にてＹｅｓに進む場合には、出力処理が行われる（Ｓ５０７）。この出力処理では、得られた二次元コードの画像データが表示画面や外部装置に出力される。なお、このような出力処理を行わず、反転後のデータを記憶手段に記憶しておいてもよい。
【０３５８】
本実施形態の発明によれば、より多くのデータを記録でき、かつ矩形領域の正確な特定を可能とする二次元コードを良好に生成できる。特に、矩形領域において暗色セルの比率のほうが多い場合に、明色セルと暗色セルとを反転した反転コードを生成しているため、同一のデータ内容の二次元コードを、暗色セルを抑えて生成することができる。これにより、暗色セルを形成する時間や処理の削減を図ることができる。例えば、ダイレクトマーキングにより二次元コードを形成する場合には、ドットピンやレーザ光などで暗色セルを形成する時間や処理を削減することができる。
【０３５９】
また、反転ステップにおいて、矩形領域と共に、当該矩形領域に隣接するマージン領域の明色セル及び暗色セルを反転している。このようにすると、暗色セルによって明色の背景と分離しようとする構成、或いは明色セルによって暗色の背景と分離しようとする構成のいずれについても、反転後において矩形領域と背景とを良好に分離できるようになる。
【０３６０】
［第２１実施形態］
次に第２１実施形態について説明する。図５３は、第２１実施形態に係る方法を実現するための認証システムを概略的に例示するブロック図である。図５４は、二次元コード生成、送信処理の流れを例示するフローチャートである。図５５は、認証処理の流れを例示するフローチャートである。
【０３６１】
図５３で示される認証システム９００は、送受信端末９０１、認証装置９０２、確認端末９０５を備えており、上記実施形態で説明されたいずれかの二次元コードを用いて被認証者の認証を行うように構成されている。
送受信端末９００は、携帯電話機等の携帯端末として構成されており、入力手段としての各種キーや表示装置（例えば液晶表示装置）を備えている。
【０３６２】
認証装置９０２は、ＣＰＵ、ハードディスクドライブ等の記憶手段、通信手段などを備えたコンピュータによって構成されており、データベースを備えると共に携帯端末９０１と通信可能に構成されている。
【０３６３】
確認端末９０５は、コード読取手段としての二次元コード読取装置９０３と、コンピュータ９０４とを備えており、認証装置９０２と通信可能に構成されている。
【０３６４】
このシステム９００では、まず、被認証者が送受信端末９０１の入力手段（例えばキーボード）にて個人情報（例えば、生年月日、血液型、趣味、嗜好、アレルギーなど）を入力することに応じて、当該送受信端末９０１により、これら個人情報と送受信端末１の端末ＩＤ（発信者番号）と対応付けてなる被認証者情報を認証装置９０２に送信する処理が行われる。なお、送受信端末９０１による当該処理が「送信ステップ」の一例に相当する。
【０３６５】
その後、認証装置９０２により図５４の処理が行われる。この処理では、まず、発信者番号（端末ＩＤ）と入力情報（個人情報）が受信される（Ｓ１０）。そして、その発信者番号が登録済みか否かを判断する（Ｓ１１）。その発信者番号に係る者が正規の顧客として顧客データベースに登録されている場合には、Ｓ１１にてＹｅｓに進み、二次元コードを生成する処理を行う（Ｓ１２）。この処理では、送受信端末９０１から送られてきた発信者番号（端末ＩＤ）と入力情報（個人情報）とをデータとして含んだ二次元コードを生成する。そして、その二次元コードを送受信端末９０１に送信する（Ｓ１３）。
【０３６６】
なお、Ｓ１０、Ｓ１１の処理が、「確認ステップ」の一例に相当し、送信ステップによって送信された被認証者情報を受信し、且つ被認証者情報にて特定される被認証者がデータベースに登録されているか否かを確認する処理とされている。
【０３６７】
また、Ｓ１２、Ｓ１３が「返信ステップ」の一例に相当し、被認証者情報にて特定される被認証者がデータベースに登録されていた場合に、被認証者情報を含んだ二次元コードを生成し、且つ当該二次元コードを送受信端末に返信する処理とされている。
【０３６８】
送受信端末９０１は、認証装置９０２から送られてきた二次元コードを受信すると、その二次元コードを当該送受信端末９０１内のメモリに記憶しておく。これにより、必要に応じて二次元コードを読み出すことができるようになる。なお、携帯端末９０１が返信された二次元コードを取得し、メモリ内に記憶する処理は「記憶ステップ」の一例に相当する。
【０３６９】
一方、送受信端末９０１を有する被認証者が店舗で認証を受けるには、まず、被認証者が送受信端末９０１の入力手段に対して所定の確認操作を行う必要がある。例えば、送受信端末９０１に対して所定のキー操作を行い、上記のようにメモリに記憶された二次元コードを当該送受信端末９０１の表示装置に表示する。なお、所定のキー操作に応じて送受信端末９０１の表示装置に二次元コードを表示させる処理が「表示ステップ」の一例に相当する。
【０３７０】
このように送受信端末９０１に表示される二次元コードは、店舗に設けられた二次元コード読取装置９０３によって読み取られる。なお、このような読取処理（即ち、二次元コード読取装置９０３（コード読取手段）によって送受信端末９０１の二次元コードを読み取る処理）が「読取ステップ」の一例に相当する。
【０３７１】
送受信端末９０１の二次元コードを読み取った確認端末９０５は、認証装置９０２に対して問い合わせを行う。具体的には読み取った二次元コードに記録される発信者番号（端末ＩＤ）が確認端末９０５から認証装置９０２に対して出力され、それに応じ、認証装置９０２において図５５のような認証処理が行われる。この処理ではまず確認端末９０５から送られてきた発信者番号（端末ＩＤ）を受信し（Ｓ２０）、その発信者番号（端末ＩＤ）が適正なものか否かを判断する（Ｓ２１）。図５３の認証装置９０２では、二次元コードを生成した顧客が二次元コード生成者データベースとしてデータベース化されており、このデータベースに送られてきた発信者番号が登録されているか否かを判断する。発信者番号がデータベースに登録され、適正なものである場合には、Ｓ２１にてＹｅｓに進み、確認端末９０５に対し認証信号を出力する（Ｓ２２）。一方、適正なもので無い場合にはＳ２１にてＮｏに進み、認証を行わずに当該処理を終了する。
【０３７２】
確認端末９０５は、認証装置９０２に対して発信者番号（端末ＩＤ）を送信した後、図５６のような処理が行われる。当該処理では、まず認証信号を受信する処理を行い（Ｓ３０）、認証が正常になされたか否かを判断する（Ｓ３１）。認証が正常になされた場合にはＳ３１にてＹｅｓに進み、二次元コード内容や商品情報を表示する。例えば、二次元コードに記録される上記個人情報（趣味、嗜好、アレルギーなど）を表示し、その趣味や嗜好に合致した商品情報を表示する。一方、認証が正常になされていない場合にはＳ３１にてＮｏに進み、エラー表示をする（Ｓ３３）。
【０３７３】
なお、Ｓ３０、Ｓ３１の処理は、読取ステップにて読み取られた二次元コードが認証装置９０２にて発せられた正規のものであるか否かを判断する処理であり、「判断ステップ」の一例に相当する。また、Ｓ３２の処理は、二次元コードが正規のものであると判断された場合に所定の認証後処理を行うものであり、「認証後ステップ」の一例に相当する。なお、ここでは、個人情報や個人情報に合致した商品情報を表示する処理が「所定の認証後処理」の一例に相当する。また、二次元コードが正規のものであると判断された場合に被認証者に対して認証信号を送信するようにし、これを「所定の認証後処理」としてもよい。
【０３７４】
なお、図５３の構成を図５７のように変更してもよい。図５３では、認証装置９０２において、二次元コードを生成した者のデータベース（二次元コード生成者データベース）が設けられており、確認端末９０５から認証装置９０２に対して発信者番号を送信して問い合わせを行っていたが、図５７では、Ｓ１２、Ｓ１３で生成、送信した二次元コード自体のデータベースを設けており、確認端末９０５は、送受信端末９０１から取得した二次元コードについての二次元コード信号（例えば二次元コードの固有情報）を送信し、問い合わせを行うようにしている。この場合、認証装置９０２では、問い合わせに係る二次元コードが既に二次元コードデータベースに登録されている場合にはＳ２１にて適正と判断し、そうでない場合には適正と判断しないこととなる。
【０３７５】
本実施形態の構成によれば、より多くのデータを記録でき且つ矩形領域の正確な特定を可能とする二次元コードを用いて被認証者の認証を行うことができる。特に、より多くのデータを記録できる二次元コードを用いているため、二次元コードに記録する被認証者情報の自由度が高まり、例えば、より詳しい被認証者情報を二次元コードに記録して認証を行うといったことが可能となる。
【０３７６】
［第２２実施形態］
次に第２２実施形態について説明する。図５８は、第２２実施形態に係る方法を実現するための情報提供システム９２０で行われる情報提供の仕組みを説明する説明図である。図５９は、情報提供システム９２０の構成を概略的に説明する説明図である。
【０３７７】
情報提供システム９２０は、上記いずれかの実施形態の二次元コードが付された複数種類の広告媒体（例えば、雑誌、チラシ、ポスター等）と、携帯端末９２１と、サーバ９２３と、を用いて利用者に情報を提供するシステムとして構成されている。
【０３７８】
携帯端末９２１は、液晶表示器等の表示手段と、二次元コードリーダ等の読取手段とを備え且つ通信網（ここではインターネット）に接続可能に構成されている。なお、ここでは携帯端末９２１として携帯電話機とＰＤＡを例示している。
【０３７９】
サーバ９２３は、データベースを構築しうる情報処理装置として構成されており、このサーバ９２３も通信網（ここではインターネット）に接続されている。
【０３８０】
さて、このシステム９２０を利用したい広告依頼主は、サーバ９２３（情報センター）に広告対象の商品やサービスの詳細情報を登録しておく、情報センターでは、広告依頼主からサーバ９２３に所定の情報（商品やサービスの詳細情報）が登録された場合、広告依頼主に対し広告内容識別情報を付与する。この広告内容識別情報は、例えば図６２（ａ）のような構成をなしており、広告を識別するための情報（広告識別情報）と情報センターに接続するための接続情報とが含まれている。なお、広告依頼主は、情報センターから付与された広告内容識別情報が示す二次元コードを広告媒体に印刷するように広告代理店や出版社などの広告主に対し依頼する。これにより、広告媒体に印刷された二次元コードと、情報センターのサーバ９２３に登録された内容とを対応付けることができる。
【０３８１】
次に、図６０を参照し携帯端末の動作について説明する。図６０の処理は、携帯端末９２１において所定の開始条件が成立（例えば電源投入等）することで開始され、開始に伴いＯＦＦタイマを始動させる処理が行われる（Ｓ１０１）。所定時間が経過し、ＯＦＦタイマがタイムアップとなったときにはＳ１０２にてＹｅｓに進み、当該処理を終了する終了処理を行う（Ｓ１１４）。また、タイムアップではなくても、終了操作がなされた場合にはＳ１０３にてＹｅｓに進み、同様に終了処理を行う（Ｓ１１４）。
【０３８２】
また、接続操作がなされた場合にはＳ１０４にてＹｅｓに進み、Ｓ１０９以降の処理を行う。一方、接続操作がなされていない場合にはＳ１０４にてＮｏに進み、読出操作が行われたか否かを判断する（Ｓ１０５）。Ｓ１０５の処理は、既に解読されているデータを読み出す操作が行われたか否かを判断する処理であり、既にいずれかの二次元コードの解読がなされ、この解読データを読み出す指示が行われた場合にはＳ１０５にてＹｅｓに進み、蓄積されている解読データを読み出す（Ｓ１０８）。
【０３８３】
また、読出操作がなされていない場合にはコードの読み取り操作が行われたか否かを判断し（Ｓ１０６）、読み取り操作が行われた場合にはＳ１０６にてＹｅｓに進み、Ｓ１０７のコード読取処理を行う。読み取り操作が行われていない場合にはＳ１０６にてＮｏに進みＳ１０２以降の処理を繰り返す。
【０３８４】
例えば、雑誌などの広告媒体を見て商品やサービスに関する情報を入手したい場合、Ｓ１０６の操作を行って広告媒体に付された二次元コードを読み取ればよい。Ｓ１０７のコード読取処理は、例えば図６１のような流れで行われ、まず、広告に付された二次元コードの画像が取得される（Ｓ２０１）。そして、その画像においてコード領域が存在するか否か（即ちコード領域を認識できるか否か）を判断する。コード領域が存在する場合には、コード領域を確定させ（Ｓ２０３）、コード領域のデータセルをデータビット列に変換する（Ｓ２０４）。そして、データビット列の誤り検査を行うと共に、誤りが存在する場合には誤り訂正データに基づいて誤り訂正処理を行う（Ｓ２０５）。そして、データビット列を文字コードに変換し、デコードデータを得る。（Ｓ２０６）
【０３８５】
なお、Ｓ１０７の処理が「読取ステップ」の一例に相当し、広告利用者が携帯端末９２１を用いて広告媒体に付された二次元コード９２５の読取操作を行ったときに、携帯端末９２１の読取手段により、広告媒体に付された二次元コードを読み取るステップとされている。
【０３８６】
一方、図６０のＳ１０４において接続操作がなされた場合には、Ｓ１０４にてＹｅｓに進み、サーバ９２３（情報センター）への接続を行う（Ｓ１０９）。本実施形態では、二次元コード９２５に記録される広告内容識別情報には、情報センターによって管理される広告サイト（二次元コードに係る広告主が広告を提供するサイト）に接続するための接続情報が記録されているため、この接続情報に基づいて、サーバ９２３（情報センター）に接続する（Ｓ１０９）。接続情報としては、例えば、サーバ９２３に設定されたウェブサイトのＵＲＬが記録されており、インターネットを介してこのＵＲＬにアクセスする。
【０３８７】
更に、サーバ９２３（情報センター）から広告識別コード及び媒体識別コードの送信を促す情報を受信する（Ｓ１１０）。本実施形態では、二次元コード９２５の広告識別情報において、図６２（ａ）のように、広告識別コード、媒体識別コード、識別フラグが記録されており、Ｓ１１１ではこれら広告識別コード、媒体識別コードをサーバ９２３（情報センター）に送信する。なお、広告識別情報は、広告の種別（広告内容、及び広告地域を示す情報）を識別するための情報であり、媒体識別情報は広告媒体を識別するものであり媒体に固有のコードである。なお、識別フラグは、広告識別情報と接続情報とを区別するためのフラグである。
【０３８８】
なお、Ｓ１０４、Ｓ１１１の処理が、「接続ステップ」の一例に相当し、読取ステップにて読み取られた二次元コードの接続情報に従ってサイトにアクセスし、且つサーバ９２３に対し当該二次元コードに含まれる広告内容識別情報を送信するとされている。
【０３８９】
そして、情報センターから広告識別コードに対応する詳細情報と、アクセス履歴情報とを取得する。この詳細情報は広告識別コードに対応する具体的な広告やサービスについての情報であり、これにより利用者（携帯端末使用者）は有益な情報を得ることができる。
また、サーバ９２３は、携帯端末固有のＩＤに基づいて各ＩＤ毎にアクセス履歴を記録しており、Ｓ１１２ではこのようなアクセス履歴も送信している。Ｓ１１２の後には受信した詳細情報やアクセス履歴を携帯端末９２１の画面に表示する処理が行われる。
【０３９０】
このように、サーバ９２３（情報センター）には携帯端末からのアクセス毎にアクセス情報が集積される。サーバ９２３においては、広告依頼主ごとにアクセス情報が蓄積されるようになっており、集計期間が終了したときに，広告依頼主に対して製品毎，さらには同一の製品であっても広告媒体毎，さらには同一の広告媒体であっても内容毎のアクセス数と利用者が商品を購買に至ったかどうかを示す情報に基づいて広告の効果を集計したアクセスレポートを提出する。図６２（ｂ）はそのようなアクセスレポートの一例を示している。
【０３９１】
なお、このようなアクセス情報の蓄積処理は統計データ生成ステップの一例に相当する。即ち、サーバ９２３により、接続ステップが行われる毎に接続ステップで用いられた二次元コードに含まれる広告内容識別情報を取得し、且つそれら取得された広告内容識別情報に基づいてサイトへのアクセスに利用された広告媒体についての統計データを生成するステップとされている。また、アクセスレポートの提出処理は、出力ステップの一例に相当し、統計データ生成ステップによって生成された統計データに基づき、少なくともいずれかの種類の広告媒体を依頼した依頼主に対し、当該依頼主に係る広告媒体についての利用状況データを出力するステップとされている。
【０３９２】
本実施形態の構成によれば、より多くのデータを記録でき且つ矩形領域の正確な特定を可能とする二次元コードを用い、利用者に有用な情報を提供することができる。また、本発明に係る方法では、二次元コードにサイトの接続先を特定する接続情報を含ませているため、広告利用者が携帯端末上で所定の接続操作を行ったときに当該接続情報に対応するサイトに容易にアクセスできるようになる。更に、その所定の接続操作に応じ、サーバに対し二次元コードに含まれる広告内容識別情報を送信しており、サーバは、その接続ステップが行われる毎に二次元コードに含まれる広告内容識別情報を取得している。そして、それら取得された広告内容識別情報に基づいてサイトへのアクセスに利用された広告媒体についての統計データを生成している。このようにすると、どのような広告媒体からサイトにアクセスされたかについて有効な統計データを生成でき、マーケティング等に役立てることができる。
【０３９３】
また、生成された統計データに基づき、少なくともいずれかの種類の広告媒体を依頼した依頼主に対し、当該依頼主に係る広告媒体についての利用状況データを出力するようにしている。このようにすると、依頼主が自己の広告媒体についての利用状況を的確に把握できるようになる。
【０３９４】
更に具体的に述べると、広告依頼主は，提出されたアクセスレポートに基づいて広告の効果を判断し、広告の効果が少ないと判断したときに広告の仕方を工夫する等の対処をとりやすくなる。また、広告依頼主は、携帯端末９２１から送信された広告識別情報と利用者のアクセス履歴情報とに基づいて広告の効果を具体的に知ることができるため、情報の信頼性が高く、有益な情報に基づいて適切な判断を取りやすくなる。
【０３９５】
また，携帯端末９２１には広告識別情報を蓄積することができるので，利用者は，所望に応じて情報センターのＷＷＷサーバにアクセスすることにより，商品の詳細情報を見ることができる。特に、利用者は，商品或いはサービスに関する情報を簡単に保存して何時でも見ることができる。
【０３９６】
［他の実施形態］
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【０３９７】
上述した図７の構成を、図６３のように変更してもよい。図６３の二次元コード１０００は、エンドパターン１００７の構成のみが図７と異なり、エンドパターン１００７部分以外は図７と同一である。なお、エンドパターン１００７部分以外は図７の特徴を全て有している。
図６３の例では、エンドパターン１００７は、５つの黒色セル１００７ａ〜１００７ｅがＬ字状に配列された構成をなしており、第２境界部１０６ｃに隣接して黒色セル１００７ａ、１００７ｂ、１００７ｃが３つ並んでおり、端部の１００７ｃが第２境界部１０６ｃの端部位置を示している。また、第２境界部１０６ｄに隣接して黒色セル１００７ｃ、１００７ｄ、１００７ｅが３つ並んでおり、端部の１００７ｃが第２境界部１０６ｄの端部位置を示している。黒色セル１００７ｃは、角部５ｄとして構成されており、黒色セル１００７ｃの外縁が角部５ｄの角位置（即ち、矩形領域の角位置）を示している。
【０３９８】
また、図１の構成を図６４のように変更してもよい。図６４の例では、１１×１１であった図１のセル配列を１７×１７に拡大している。また、図１の中間特定パターン３ｂよりも長くした中間特定パターン１００３ｂを設け、エンドパターン３ａに代えてエンドパターン１００３ａを設けている。同様に、中間特定パターン４ｂよりも長くした中間特定パターン１００４ｂを設け、エンドパターン４ａに代えてエンドパターン１００４ａを設けている。エンドパターン１００３ａ、１００４ａはいずれも５つの黒色セルをＬ字状に配置した構成をなし、これらエンドパターン１００３ａ、１００４ａによって角部５ｂ、５ｃがそれぞれ構成されている。また、図６３と同一のエンドパターン１００７を角部５ｄに配置している。また、エンドパターン１００３ａとエンドパターン１０７との間において、第２境界部６ｃのほぼ中間位置に隣接するように第３の特定パターン１１０５が配置されている。この第３の特定パターン１１０５は、第２境界部６ｃに沿って配置され、黒色セルを３つ直線状に並べた構成をなしている。同様に、エンドパターン１００４ａとエンドパターン１０７との間において、第２境界部６ｄのほぼ中間位置に隣接するように第３の特定パターン１１０６が配置されている。この第３の特定パターン１１０６は、第２境界部６ｄに沿って配置され、黒色セルを３つ直線状に並べた構成をなしている。
【０３９９】
また、図６５のような構成としてもよい。なお、図６５の二次元コード１２００でも、コードブロックとして、誤り訂正を行うための誤り訂正コードブロックが含まれており、矩形領域の境界部１０６のうち、第２の特定パターン１２０３，１２０４の配置側とは異なる第２境界部１０６ｃ、１０６ｄ側において、これら第２境界部１０６ｃ、第２境界部１０６ｄに隣接する位置に、それぞれ誤り訂正コードブロックが配置されている。なお、図６５では誤り訂正コードブロックやデータコードブロックの具体的図示は省略している。
また、図６５の例ではコード領域の中央部に、単一の白色セルを８つの黒色セルで矩形状に囲み、さらにその周囲を１６個の白色セルで囲んでなるアライメントパターン１２１８が配置されている。なお、図６５では、アライメントパターン１２１８の領域を破線にて概念的に示している。また、図６５では、角部５ｂ、５ｃ、５ｄにそれぞれ配置されるエンドパターン１２１１、１２１２、１２１３や、境界部１０６ａ、１０６ｂ、１０６ｃ、１０６ｄの中間位置にそれぞれ隣接する特定パターン１２１４、１２１５、１２１６、１２１７のいずれも単一の白色セルを８つの黒色セルで矩形状に囲み、さらにその周囲を白色セルで囲んだ構成をなしている。なお、これらの領域も破線にて概念的に示している。
【０４００】
また、長方形状に二次元コードを構成する場合、例えば図６６（ａ）（ｂ）或いは図６７（ａ）（ｂ）のようにしてもよい。
図６６（ａ）の二次元コード１３００は、図２２（ｂ）よりも長く構成（それに応じて第２の特定パターン１３０３も長く構成）し、図２２（ｂ）のエンドパターン２０６ａをＬ字状のエンドパターン１３０５に変更し、更に図２２（ｂ）では設けられていなかった直線状の特定パターン１３０８を設けた点が図２２（ｂ）と異なっている。なお、角部５ｄには、単一の黒色セルからなるエンドパターン１３０６が配置されている。
図６６（ｂ）の二次元コード１３１０は、角部５ｂにＬ字状のエンドパターン１３１５が配され、角部５ｃに単一黒色セルのエンドパターン１３１７が配され、角部５ｄにＬ字状のエンドパターン１３１６が配されている。また、第２境界部１０６ｄに隣接する位置においてエンドパターン１３１７とエンドパターン１３１６の中間位置に黒色セルが直線状に並ぶ特定パターン１３１８が配されている。第２の特定パターン１３１３は、図６６（ａ）の第２の特定パターン１３０３と同様の構成をなしている。
図６７（ａ）の二次元コード１３２０は、角部５ｂにＬ字状のエンドパターン１３２５が配され、角部５ｃにＬ字状のエンドパターン１３２７が配され、角部５ｄにＬ字状のエンドパターン１３２６が配されている。また、第１の特定パターン２に隣接しない境界部（第２境界部）に隣接する位置において、エンドパターン１３２７とエンドパターン１３２６の間に、２つの直線状の特定パターン１３２８、１３２９が間隔をあけてそれぞれ配されている。なお、第２の特定パターン１３２３は、図６６（ａ）の第２の特定パターン１３０３をより長くした構成となっている。
図６７（ｂ）の二次元コード１３３０は、角部５ｂにＬ字状のエンドパターン１３３５が配され、角部５ｃにＬ字状のエンドパターン１３３７が配され、角部５ｄにＬ字状のエンドパターン１３３６が配されている。また、第１の特定パターン２に隣接しない境界部（第２境界部）に隣接する位置において、エンドパターン１３３７とエンドパターン１３３６の間に、２つの直線状の特定パターン１３３８、１３３９が間隔をあけてそれぞれ配されている。なお、第２の特定パターン１３３３は、図６６（ａ）の第２の特定パターン１３０３をより長くした構成となっている。また、第１の特定パターン２に隣接する境界部（第１境界部）の一方に隣接するように第２の特定パターン１３３４が設けられている。
【０４０１】
上記実施形態では、コード領域（矩形領域）に隣接する背景の色（背景色）を白色とし、白色以外の色のセルを「背景とは色彩又は濃度又は輝度が異なるセル」として例示しているが、この構成でなくてもよい。例えば、背景色を黒色とし、黒色以外の色のセルを「背景とは色彩又は濃度又は輝度が異なるセル」としてもよい。
【０４０２】
また、図１、図５、図７、図１０、図１２、図１４、図１５、図２１、図２２、図２３等では、「二次元コード」の例として、黒色セル、白色セルによって二次元コードを構成した例を示したが、一方を黒色セル以外の暗色セルとし、他方を白色セル以外の明色セル（暗色セルよりも明度の低いセル）としてもよい。また、これら図１、図５、図７、図１０、図１２、図１４、図１５、図２１、図２２、図２３等の構成を、三種類以上のセル（例えば、第３実施形態のような８種類のセル）を備えた構成としてもよい。
【０４０３】
また、上記説明では、三種類以上のセルによって構成される例として、第３実施形態のような８色のセを用いた例を示したが、使用される色やその種類数はこれに限られない。三種類以上のセルによって構成されるいずれの二次元コードについても、例えば４色や１２色等、第３実施形態の色数よりも多くしてもよく、使われる色の組み合わせも第３実施形態と異なる組み合わせとしてもよい。
【０４０４】
上記実施形態では、２つある第１境界部のそれぞれに隣接して第２の特定パターンが配置される構成を例示したが、図２１（ａ）のように、第２特定パターンがいずれかの第１境界部のみに隣接して配置される構成であってもよい。図２１（ａ）は、第１境界部６ｂ側にのみ第２特定パターン１９１が設けられており、エンドパターン１９１ａのみによって第２特定パターン１９１が構成されている。エンドパターン１９１ａは、黒色セル１９１ａ'と、白色セル１９１"とが交互に配置される構成となっている。そして、第２特定パターン１９１が配置される側の境界部（第１境界部６ｂ）とは異なる第１境界部６ａ（この場合、第１境界部６ａも第２境界部の一例に相当する）、第２境界部６ｃ、６ｄのそれぞれに隣接するように誤り訂正コードブロック１２が配置されている。
【０４０５】
また、図２１（ｂ）のように、４つある境界部１０６のうち、第１の特定パターン２が隣接しない境界部１９６ｄ全体に隣接するように特定パターン１９７を設けるようにしてもよい。図２１（ａ）の構成では、特定パターン１９７が第１境界部１９６ｂにも隣接しており、第２の特定パターンとしても機能するようになっている。
【０４０６】
上記実施形態では、第１の特定パターンとして外形が矩形状の構成を例示したが、規定の角部５ａを特定し得る構成であれば、形状、セルの配列、用いられるセルの種類等はこれに限定されない。例えば、図２２（ａ）の二次元コード２００で用いられる第１の特定パターン２０２ようにＬ字形状の構成であってもよい。図２２（ａ）の構成でも、第１境界部６ａ、６ｂそれぞれに隣接して第２の特定パターン２０３、２０４が設けられており、第２境界部６ｃ、６ｄのそれぞれに隣接するように誤り訂正コードブロック１２が配置されている。なお、第２の特定パターン２０３、２０４の端部（第１の特定パターン２０２とは反対側の端部）には、同種セル（黒色セル）が３つ並んだエンドパターン２０３ａ、２０４ａがそれぞれ設けられている。
【０４０７】
上記実施形態では、コード領域（矩形領域）として、外形が正方形状に構成される正方形領域を例示したが、これに限定されず、例えば、図２２（ｂ）のように、コード領域（矩形領域）の構成は、外形が長方形状に構成される長方形領域であってもよい。図２２（ｂ）の構成では、第１境界部（第１の特定パターン２と隣接する境界部）が３つ設けられ、その一つ（短辺側）が第１の特定パターン２の外縁のみによって構成され、残り２つ（長辺側）のうちの一方に隣接するように第２の特定パターン２０６が配置されている。なお、第２の特定パターン２０６の端部（第１の特定パターン２とは反対側の端部）には、同種セル（黒色セル）が３つ並んだエンドパターン２０６ａが設けられている。この構成でも、第２の特定パターン２０６が設けられた側に境界部とは異なる境界部に誤り訂正コードブロック１２が配置されている。
【０４０８】
上記実施形態では、コードブロックの構成として、主に８つのセルが集合してなるブロックを例示したが、データコードブロック１１、誤り訂正コードブロック１２、圧縮データコードブロック１３のいずれについても、セル数は８以外であってもよい。例えば、８未満（例えば、２個、４個、６個等）のセルが集合してなるブロックであってもよく、８よりも大きい数（例えば、１０個、１６個等）のセルが集合してなるブロックであってもよい。
【０４０９】
第１実施形態等では、図１等に示すように、誤り訂正コードブロック１２を、２×４のマトリックス又は４×２のマトリックスとして矩形状に構成したが、一部のコードブロックをこれとは異なる構成（例えば図２（ｃ）のような構成）としてもよい。
【０４１０】
上記実施形態では、誤り訂正の方法として、ＪＩＳに規定される方法を用いたが、データコードブロックの誤りを訂正しうる方法であればこれ以外の方法を用いてもよく、要するにデコードすべきデータ内容（具体的にはデータコードブロックを構成するデータコード語）に基づいて誤り訂正コード語が生成され、データコードブロックの一部に誤りが生じた場合にこの誤り訂正コード語によって誤り訂正をし得る方法であれば周知の他の誤り訂正方法を用いてもよい。例えば、データコードブロックのデータをＬＤＰＣ符号（低密度パリティ検査符号）を用いて誤り訂正を行う構成であってもよく、この場合、ＬＤＰＣ符号を上記誤り訂正コードブロックによって表現し、それを矩形領域の境界部に隣接させて配置すればよい。
【０４１１】
上記いずれの実施形態の二次元コードにおいても、第１のエンドパターンの周囲に、誤り訂正コードブロック１２やデータコードブロック１１のデータに割り当てられない剰余のセルを格納する剰余ブロックを配置するように構成できる。例えば、図１４のセルＣａをこのような余剰ブロックによって構成してもよく、図２０のような矩形状の第１のエンドパターンの周囲においてこのような余剰ブロックを配置してもよい。或いは、図７のようなＬ字形状の第１のエンドパターンの周囲に隣接させて余剰ブロックを配置してもよい。このようにすれば、第１のエンドパターンの周囲を効率的に利用して、剰余ブロックを配置できるようになる。
【０４１２】
上記実施形態では、第２の特定パターンが１つのまとまりとして構成される例を示したが、第２の特定パターンは、第１境界部に隣接してさえいれば複数に分割された構成であってもよい。
【０４１３】
第４実施形態等では、第３の特定パターンが１つのまとまりとして構成される例を示したが、第３の特定パターンは、第２境界部に隣接してさえいれば複数に分割された構成であってもよい。
【０４１４】
第４実施形態では、２１×２１のマトリックス状のものにおいて第３の特定パターンが設けられた構成を例示したが、図１のような１１×１１のマトリックス状のものにおいて第３の特定パターンを設けるようにしてもよい。図２３ではその一例を示しており、第３の特定パターン２４５、２４６を第２境界部６ｃ、６ｄに隣接させて設けた点、誤り訂正コードブロック１２を若干変更した点が図１と異なっている。第３の特定パターン２４５は、第２境界部６ｃに隣接して並ぶ黒色セル２４５ａとその内側に並ぶ白色セル２４５ｂとによって構成されており、第３の特定パターン２４６は、第２境界部６ｄに隣接して並ぶ黒色セル２４６ａとその内側に並ぶ白色セル２４６ｂとによって構成されている。
【０４１５】
以上の説明では、第１の特定パターンとしていくつか例を挙げて説明したが（図１、図２２等）、これらの構成に限られない。例えば、矩形領域の規定の角部５ａに背景色と異なる色のセルを配置して当該規定の角部５ａを特定しうる構成であれば、使用する色、セル数、形状、配置順序等は様々とすることができる。
【０４１６】
以上の説明では、第２の特定パターンとしていくつか例を挙げて説明したが（図１、図６、図７、図１０、図１１等）、これらの構成に限られない。例えば、第１境界部に背景色と異なる色のセルを配置する特定パターンであれば、使用する色、セル数、形状、配置順序等は様々とすることができる。
【０４１７】
以上の説明では、エンドパターンとしていくつか例を挙げて説明したがこれらの構成に限られない。
例えば、第２のエンドパターンについては、対角の角部５ｄに背景色と異なる色のセルを配置する特定パターンであれば、使用する色、セル数、形状、配置順序等は様々とすることができる。
また、第１のエンドパターンについては、図７、図１２、図１６等では、第１境界部に隣接する位置に３つのセルを直線状に並べ、第２境界部に隣接する位置に２つのセルを直線状に並べたＬ字形状のエンドパターンを例示したが、これ以外のＬ字形状であってもよい。例えば、第１境界部に隣接する位置に３つのセルを直線状に並べ、第２境界部に隣接する位置に３つのセルを直線状に並べたＬ字形状のエンドパターンであってもよい。
第２のエンドパターンをＬ字形状に構成する場合も同様であり、一方の第２境界部に隣接する位置に２つのセルを直線状に並べ、他方の第２境界部に隣接する位置に２つのセルを直線状に並べたＬ字形状のエンドパターン（図１参照）に限らず、様々なＬ字構成とすることができる。
【０４１８】
以上の説明では、第３の特定パターンとしていくつか例を挙げて説明したが（図７、図８、図２０、図２３等）これらの構成に限られない。例えば、第２境界部に隣接させて背景色と異なる色のセルを配置する特定パターンであれば、使用する色、セル数、形状、配置順序等は様々とすることができる。
【０４１９】
図６、図１１、図１３、図１８、図１９、図２０等では、色彩又は濃度又は輝度の異なる複数種類のセルを所定の順序で配置して第２の特定パターンを構成する例として、３色以上のセルを所定の順序で並べた第２の特定パターンを例示したが、３色以上のセルを所定の順序で並べて第２の特定パターンを構成する場合、使用する色、セル数、形状、配置順序等はこれらの構成に限定されず様々とすることができる。
【０４２０】
図６、図１１、図１３、図１８、図２０等では、色彩又は濃度又は輝度の異なる複数種類のセルを所定の順序で配置して第１のエンドパターンを構成する例として、３色以上のセルを所定の順序で並べた第１のエンドパターンを例示したが、３色以上のセルを所定の順序で並べて第１のエンドパターンを構成する場合、使用する色、セル数、形状、配置順序等はこれらの構成に限定されず様々とすることができる。
【０４２１】
図１６、図１８、図２０等では、色彩又は濃度又は輝度の異なる複数種類のセルを所定の順序で配置して第２のエンドパターンを構成する例として、３色以上のセルを所定の順序で並べた第２のエンドパターンを例示したが、３色以上のセルを所定の順序で並べて第１のエンドパターンを構成する場合、使用する色、セル数、形状、配置順序等はこれらの構成に限定されず様々とすることができる。
【０４２２】
図８、図２０等では、色彩又は濃度又は輝度の異なる複数種類のセルを所定の順序で配置した第３の特定パターンを例示したが、３色以上のセルを所定の順序で並べて第３の特定パターンを構成する場合、使用する色、セル数、形状、配置順序等はこれらの構成に限定されず様々とすることができる。
【符号の説明】
【０４２３】
１，１２０，１３０，１４０，１５０，１６０，１７０，１８０，１９０，１９５，２００，２０５，２４０，２５０，２７０，２８０，３４０，３５０，４５０，５５０，３００，３１０，３２０，３３０，３４０，３４５，４１０，４２０，４３０，４４０，４５０，５００，５１０，５２０，５３０，５４０，８００，１０００，１１００，１２００，１３００，１３１０，１３２０，１３３０…二次元コード
２，２０２，２８９，５０２…第１の特定パターン
３，４，１３３，１３４，１４３，１４４，１５３，１５４，２５３，２５４，３５３，３５４，４５３，４５４，５５３，５５４，１６３，１６４，１８３，１８４，２８３，２８４，１９１，２０３，２０４，２０６，５０３，５０４，１２０３，１２０４，１３０３，１３１３，１３２３，１３３３，１３３４…第２の特定パターン
３ａ，４ａ，１３２，１３５，１４３ａ，１４４ａ，１５３ａ，１５４ａ，４５２，４５５，５５３ａ，５５４ａ，１６３ａ，１６４ａ，２８１，２８２，１９１ａ，２０３ａ，  ２０４ａ，２０６ａ…エンドパターン（第１のエンドパターン）
５ａ…角部（規定の角部）
５ｂ，５ｃ…角部（第２の角部）
５ｃ…角部（対角の角部）
６，１０６…境界部
６ａ，６ｂ，１０６ａ，１０６ｂ…第１境界部
６ｃ，６ｄ，１０６ｃ，１０６ｄ…第２境界部
７，１４７，１６７，１７７，２７７，２８７，４１７，４２７，４３７，４４７，４５７，１００７，１２１３，１３０６，１３１６，１３２６，１３３６…エンドパターン（第２のエンドパターン）
１０…コードブロック
１１…データコードブロック
１２…誤り訂正コードブロック
１３…圧縮データコードブロック
１４５，１４６，２４５，２４６，３４５，３４６，５５５，５５６，２８５，２８６…第３の特定パターン
３１１，３１４，３２１…デザイン挿入領域
３３１，３４１，３４６…デザイン部
５０２ａ，５０２ｂ，５０２ｃ，５０３ａ，５０３ｂ，５０４ａ，５０４ｂ…大型基本単位
５０９…形式情報ブロック
５１１…第１領域
５１２…第２領域
５２１，５３１…第２の二次元コード
Ｃ…セル
【図１】
0005229653.tif 000002
【図２】
0005229653.tif 000003
【図３】
0005229653.tif 000004
【図４】
0005229653.tif 000005
【図５】
0005229653.tif 000006
【図６】
0005229653.tif 000007
【図７】
0005229653.tif 000008
【図８】
0005229653.tif 000009
【図９】
0005229653.tif 000010
【図１０】
0005229653.tif 000011
【図１１】
0005229653.tif 000012
【図１２】
0005229653.tif 000013
【図１３】
0005229653.tif 000014
【図１４】
0005229653.tif 000015
【図１５】
0005229653.tif 000016
【図１６】
0005229653.tif 000017
【図１７】
0005229653.tif 000018
【図１８】
0005229653.tif 000019
【図１９】
0005229653.tif 000020
【図２０】
0005229653.tif 000021
【図２１】
0005229653.tif 000022
【図２２】
0005229653.tif 000023
【図２３】
0005229653.tif 000024
【図２４】
0005229653.tif 000025
【図２５】
0005229653.tif 000026
【図２６】
0005229653.tif 000027
【図２７】
0005229653.tif 000028
【図２８】
0005229653.tif 000029
【図２９】
0005229653.tif 000030
【図３０】
0005229653.tif 000031
【図３１】
0005229653.tif 000032
【図３２】
0005229653.tif 000033
【図３３】
0005229653.tif 000034
【図３４】
0005229653.tif 000035
【図３５】
0005229653.tif 000036
【図３６】
0005229653.tif 000037
【図３７】
0005229653.tif 000038
【図３８】
0005229653.tif 000039
【図３９】
0005229653.tif 000040
【図４０】
0005229653.tif 000041
【図４１】
0005229653.tif 000042
【図４２】
0005229653.tif 000043
【図４３】
0005229653.tif 000044
【図４４】
0005229653.tif 000045
【図４５】
0005229653.tif 000046
【図４６】
0005229653.tif 000047
【図４７】
0005229653.tif 000048
【図５０】
0005229653.tif 000049
【図５１】
0005229653.tif 000050
【図５２】
0005229653.tif 000051
【図５３】
0005229653.tif 000052
【図５４】
0005229653.tif 000053
【図５５】
0005229653.tif 000054
【図５６】
0005229653.tif 000055
【図５７】
0005229653.tif 000056
【図５８】
0005229653.tif 000057
【図５９】
0005229653.tif 000058
【図６０】
0005229653.tif 000059
【図６１】
0005229653.tif 000060
【図６２】
0005229653.tif 000061
【図６３】
0005229653.tif 000062
【図６４】
0005229653.tif 000063
【図６５】
0005229653.tif 000064
【図６６】
0005229653.tif 000065
【図６７】
0005229653.tif 000066
【図４８】
0005229653.tif 000067
【図４９】
0005229653.tif 000068