(57)【特許請求の範囲】
【請求項１】
複数のセルが集合してなるコードブロックと、
前記セルの位置を特定するための矩形状の１つの第１の特定パターンと、
を備え、
前記第１の特定パターンが矩形領域の規定の角部に配置されると共に、複数の前記コードブロックが前記矩形領域内に配置されてなる二次元コードにおいて、
前記コードブロックとして、誤り訂正を行うための誤り訂正コードブロックが含まれており、
前記第１の特定パターン以外の領域において、前記矩形領域の境界部に隣接する位置に前記誤り訂正コードブロックが配置されていることを特徴とする二次元コード。
【請求項２】
複数のセルが集合してなるコードブロックと、
前記セルの位置を特定するための矩形状の１つの第１の特定パターンと、
を備え、
前記第１の特定パターンが矩形領域の規定の角部に配置されると共に、複数の前記コードブロックが前記矩形領域内に配置されてなる二次元コードにおいて、
前記コードブロックとして、圧縮されたデータを格納してなる圧縮データコードブロックが含まれており、
前記第１の特定パターン以外の領域において、前記矩形領域の境界部に隣接する位置に前記圧縮データコードブロックが配置されていることを特徴とする二次元コード。
【請求項３】
前記矩形領域の各境界部に隣接して前記誤り訂正コードブロックが少なくとも１つ配置されていることを特徴とする請求項１に記載の二次元コード。
【請求項４】
前記矩形領域の各境界部に隣接して前記圧縮データコードブロックが少なくとも１つ配置されていることを特徴とする請求項２に記載の二次元コード。
【請求項５】
前記矩形領域の境界部のうち、前記第１の特定パターンが隣接する第１境界部に隣接して前記誤り訂正コードブロックが少なくとも１つ配置されていることを特徴とする請求項１又は請求項３に記載の二次元コード。
【請求項６】
前記矩形領域の境界部のうち、前記第１の特定パターンが隣接する第１境界部に隣接して前記圧縮データコードブロックが少なくとも１つ配置されていることを特徴とする請求項２又は請求項４に記載の二次元コード。
【請求項７】
前記矩形領域の前記境界部のうち、前記第１の特定パターンが接する第１境界部とは異なる第２境界部の少なくともいずれかに隣接するように第２の特定パターンが設けられており、
前記前記誤り訂正コードブロックは、少なくとも前記第２の特定パターンが配置された側以外の各境界部に隣接して少なくとも１つ配置されていることを特徴とする請求項１、請求項３、請求項５のいずれか一項に記載の二次元コード。
【請求項８】
前記矩形領域の前記境界部のうち、前記第１の特定パターンが接する第１境界部とは異なる第２境界部の少なくともいずれかに隣接するように第２の特定パターンが設けられており、
前記圧縮データコードブロックは、少なくとも前記第２の特定パターンが配置された側以外の各境界部に隣接して少なくとも１つ配置されていることを特徴とする請求項２、請求項４、請求項６のいずれか一項に記載の二次元コード。
【請求項９】
前記第２の特定パターンの内側に隣接するように前記誤り訂正コードブロックが配置されていることを特徴とする請求項７に記載の二次元コード。
【請求項１０】
前記第２の特定パターンの内側に隣接するように前記圧縮データコードブロックが配置されていることを特徴とする請求項８に記載の二次元コード。
【請求項１１】
前記第２の特定パターンは、２つの前記第２境界部のいずれにも隣接する形態で配置されていることを特徴とする請求項７から請求項１０のいずれか一項に記載の二次元コード。
【請求項１２】
前記第２の特定パターンは、２つの前記第２境界部全体に亘る形態で配置されていることを特徴とする請求項１１に記載の二次元コード。
【請求項１３】
前記第２の特定パターンは、少なくとも色彩又は濃度又は輝度が異なる複数種類のセルを含むパターンであることを特徴とする請求項７から請求項１２のいずれか一項に記載の二次元コード。
【請求項１４】
前記第２の特定パターンは、色彩又は濃度又は輝度の異なる複数種類のセルが所定の順序で配置されていることを特徴とする請求項１３に記載の二次元コード。
【請求項１５】
前記矩形領域は、色彩又は濃度又は輝度が異なる複数種類のセルが配置されてなるものであり、
前記第２の特定パターンは、色彩又は濃度又は輝度が異なる複数種類のセルが、予め定められた種類の組み合わせで配置されてなり、かつ前記矩形領域の各種類を参照するための参照領域として兼用されるものであることを特徴とする請求項７から請求項１４のいずれか一項に記載の二次元コード。
【請求項１６】
前記矩形領域における前記第１の特定パターンの対角位置に、前記矩形領域の前記角部を示すエンドパターンが配置されていることを特徴とする請求項１から請求項１５のいずれか一項に記載の二次元コード。
【請求項１７】
前記エンドパターンは、色彩、濃度、輝度が同一のセルが複数連続したＬ字形状部を有し、当該Ｌ字形状部の外縁が前記対角位置の前記角部を構成することを特徴とする請求項１６に記載の二次元コード。
【請求項１８】
前記エンドパターンは、色彩又は濃度又は輝度が背景とは異なる単一のセルからなることを特徴とする請求項１６に記載の二次元コード。
【請求項１９】
前記エンドパターンは、色彩又は濃度又は輝度の異なる複数種類のセルが所定の順序で配置されたＬ字形状部を有し、当該Ｌ字形状部の外縁が前記対角位置の前記角部を構成することを特徴とする請求項１６に記載の二次元コード。
【請求項２０】
前記エンドパターンは、所定の色彩、濃度、輝度で構成される第１セルと、第１セルとは色彩又は濃度又は輝度が異なる第２のセルと、を有し、前記第１のセルを中心に前記第２のセルで囲んだ矩形形状部を有し、当該矩形形状部の外縁が前記対角位置の前記角部を構成することを特徴とする請求項１６に記載の二次元コード。
【請求項２１】
前記矩形領域は、色彩又は濃度又は輝度が異なる複数種類のセルが配置されてなるものであり、
前記エンドパターンは、色彩又は濃度又は輝度が異なる複数種類のセルが、予め定められた種類の組み合わせで配置されてなり、かつ前記矩形領域の各種類を参照するための参照領域として兼用されるものであることを特徴とする請求項１６から請求項２０のいずれか一項に記載の二次元コード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次元コードに関するものである。
【背景技術】
【０００２】
従来より、複数のセルをマトリックス状に配置してなる二次元コードが各種提供されている。この種の二次元コードを読み取る読取装置（二次元コードリーダ）は、当該二次元コードを含んだ画像データを取得した上で、その画像データの中から二次元コードの領域（コード領域）を特定する解析処理を行い、その特定されたコード領域の画像内容に基づいてデコード処理を行う構成のものが一般的である。
【特許文献１】特開平２−１２５７９号公報
【特許文献２】特許２９３８３３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記のように、二次元コードを読み取る場合、取得した画像データの中から二次元コードの領域を具体的に特定する必要があるため、二次元コードの構成としては、読み取りの際にコード領域を迅速且つ正確に特定しうるコード構成が求められる。従来では、このような要請に応えるべく、二次元コードの領域を精度高く特定しようとする技術として例えば特許文献１、２のようなものが提供されている。
【０００４】
特許文献１の技術では、矩形状のコード領域の２辺に暗色セル（暗方形）がＬ字状に連続した特定パターンを配置し、他の２辺に別の特定パターン（暗色セルと明色セルを交互に配置してなるパターン）を配置している。このように矩形領域の四辺全てを特定パターンによって囲むようにすれば、読み取りの際に背景とコード領域（矩形領域）とを区別しやすくなる。しかしながら、データ（デコードすべきデータや誤り訂正のためのデータ）ではない特定パターンに割り当てるセルを多く必要とするため、データに割り当てるセル数を減らさざるを得ない。
【０００５】
一方、特許文献２では、データ領域に明色セル（白セル）と暗色セル（黒セル）とを配置した後に、所定の規則でセルの特徴を変化させる方法を用いている。具体的には、予め複数種類のマスクパターン（セル特徴変化用のマトリックスパターン）を用意しておき、二次元コードを生成するに際し、データ配置後に各マスクパターンを重畳する処理を行うようにしている。そして、重畳後に白セル及び黒セルの連続が少ないものを最適配置パターンとして採用している。この方法でも、背景と隣接する部分において明色セル（白セル）や暗色セル（黒セル）が連続し難くなり、背景とコード領域（矩形領域）とを良好に区別できるようになる。しかしながら、特許文献２の場合、どの種類のマスクパターンを用いているかを示す情報（マスクパターン情報）をコード内に割り当てておかなければならず、この方法でも、データ（デコードすべきデータや誤り訂正のためのデータ）に割り当てるセル数を減らさざるを得ない。
【０００６】
本発明は、上述した課題を解決するためになされたものであり、背景とコード領域との区別を良好に行うことができ、かつデータ以外に割り当てるセル数を極力抑え、データに割り当てるセル数を効果的に増加させ得る二次元コードを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、請求項１の発明は、複数のセルが集合してなるコードブロックと、前記セルの位置を特定するための矩形状の１つの第１の特定パターンと、を備え、前記第１の特定パターンが矩形領域の規定の角部に配置されると共に、複数の前記コードブロックが前記矩形領域内に配置されてなる二次元コードにおいて、前記コードブロックとして、誤り訂正を行うための誤り訂正コードブロックが含まれており、前記第１の特定パターン以外の領域において、前記矩形領域の境界部に隣接する位置に前記誤り訂正コードブロックが配置されていることを特徴とする。
【０００８】
請求項２の発明は、複数のセルが集合してなるコードブロックと、前記セルの位置を特定するための矩形状の１つの第１の特定パターンと、を備え、前記第１の特定パターンが矩形領域の規定の角部に配置されると共に、複数の前記コードブロックが前記矩形領域内に配置されてなる二次元コードにおいて、前記コードブロックとして、圧縮されたデータを格納してなる圧縮データコードブロックが含まれており、前記第１の特定パターン以外の領域において、前記矩形領域の境界部に隣接する位置に前記圧縮データコードブロックが配置されていることを特徴とする。
【０００９】
請求項１、２の発明の「二次元コード」は、二種類のセル（明色セル及び暗色セル）からなる二次元コード）と、色彩又は濃度又は輝度が異なるセルを３種類以上有する二次元コードと、を共に含むものである。
請求項１、２の発明における「矩形領域」とは、外形が正方形状に構成される正方形領域と、外形が長方形状に構成される長方形領域とを含む概念である。
【００１０】
請求項３の発明は、請求項１に記載の二次元コードにおいて、前記矩形領域の各境界部に隣接して前記誤り訂正コードブロックが少なくとも１つ配置されていることを特徴とする。
【００１１】
請求項４の発明は、請求項２に記載の二次元コードにおいて、前記矩形領域の各境界部に隣接して前記圧縮データコードブロックが少なくとも１つ配置されていることを特徴とする。
【００１２】
請求項５の発明は、請求項１又は請求項３に記載の二次元コードにおいて、前記矩形領域の境界部のうち、前記第１の特定パターンが隣接する第１境界部に隣接して前記誤り訂正コードブロックが少なくとも１つ配置されていることを特徴とする。
【００１３】
請求項６の発明は、請求項２又は請求項４に記載の二次元コードにおいて、前記矩形領域の境界部のうち、前記第１の特定パターンが隣接する第１境界部に隣接して前記圧縮データコードブロックが少なくとも１つ配置されていることを特徴とする。
【００１４】
請求項７の発明は、請求項１、請求項３、請求項５のいずれか一項に記載の二次元コードにおいて、前記矩形領域の前記境界部のうち、前記第１の特定パターンが接する第１境界部とは異なる第２境界部の少なくともいずれかに隣接するように第２の特定パターンが設けられており、前記前記誤り訂正コードブロックは、少なくとも前記第２の特定パターンが配置された側以外の各境界部に隣接して少なくとも１つ配置されていることを特徴とする。
【００１５】
請求項８の発明は、請求項２、請求項４、請求項６のいずれか一項に記載の二次元コードにおいて、前記矩形領域の前記境界部のうち、前記第１の特定パターンが接する第１境界部とは異なる第２境界部の少なくともいずれかに隣接するように第２の特定パターンが設けられており、前記圧縮データコードブロックは、少なくとも前記第２の特定パターンが配置された側以外の各境界部に隣接して少なくとも１つ配置されていることを特徴とする。
【００１６】
請求項９の発明は、請求項７に記載の二次元コードにおいて、前記第２の特定パターンの内側に隣接するように前記誤り訂正コードブロックが配置されていることを特徴とする。
【００１７】
請求項１０の発明は、請求項８に記載の二次元コードにおいて、前記第２の特定パターンの内側に隣接するように前記圧縮データコードブロックが配置されていることを特徴とする。
【００１８】
請求項１１の発明は、請求項７から請求項１０のいずれか一項に記載の二次元コードにおいて、前記第２の特定パターンは、２つの前記第２境界部のいずれにも隣接する形態で配置されていることを特徴とする。
【００１９】
請求項１２の発明は、請求項１１に記載の二次元コードにおいて、前記第２の特定パターンは、２つの前記第２境界部全体に亘る形態で配置されていることを特徴とする。
【００２０】
請求項１３の発明は、請求項７から請求項１２のいずれか一項に記載の二次元コードにおいて、前記第２の特定パターンは、少なくとも色彩又は濃度又は輝度が異なる複数種類のセルを含むパターンであることを特徴とする。
【００２１】
請求項１４の発明は、請求項１３に記載の二次元コードにおいて、前記第２の特定パターンは、色彩又は濃度又は輝度の異なる複数種類のセルが所定の順序で配置されていることを特徴とする。
【００２２】
請求項１５の発明は、請求項７から請求項１４のいずれか一項に記載の二次元コードにおいて、前記矩形領域は、色彩又は濃度又は輝度が異なる複数種類のセルが配置されてなるものであり、前記第２の特定パターンは、色彩又は濃度又は輝度が異なる複数種類のセルが、予め定められた種類の組み合わせで配置されてなり、かつ前記矩形領域の各種類を参照するための参照領域として兼用されるものであることを特徴とする。
【００２３】
請求項１６の発明は、請求項１から請求項１５のいずれか一項に記載の二次元コードにおいて、前記矩形領域における前記第１の特定パターンの対角位置に、前記矩形領域の前記角部を示すエンドパターンが配置されていることを特徴とする。
【００２４】
請求項１７の発明は、請求項１６に記載の二次元コードにおいて、前記エンドパターンは、色彩、濃度、輝度が同一のセルが複数連続したＬ字形状部を有し、当該Ｌ字形状部の外縁が前記対角位置の前記角部を構成することを特徴とする。
【００２５】
請求項１８の発明は、請求項１６に記載の二次元コードにおいて、前記エンドパターンは、色彩又は濃度又は輝度が背景とは異なる単一のセルからなることを特徴とする。
【００２６】
請求項１９の発明は、請求項１６に記載の二次元コードにおいて、前記エンドパターンは、色彩又は濃度又は輝度の異なる複数種類のセルが所定の順序で配置されたＬ字形状部を有し、当該Ｌ字形状部の外縁が前記対角位置の前記角部を構成することを特徴とする。
【００２７】
請求項２０の発明は、請求項１６に記載の二次元コードにおいて、前記エンドパターンは、所定の色彩、濃度、輝度で構成される第１セルと、第１セルとは色彩又は濃度又は輝度が異なる第２のセルと、を有し、前記第１のセルを中心に前記第２のセルで囲んだ矩形形状部を有し、当該矩形形状部の外縁が前記対角位置の前記角部を構成することを特徴とする。
【００２８】
請求項２１の発明は、請求項１６から請求項２０のいずれか一項に記載の二次元コードにおいて、前記矩形領域は、色彩又は濃度又は輝度が異なる複数種類のセルが配置されてなるものであり、前記エンドパターンは、色彩又は濃度又は輝度が異なる複数種類のセルが、予め定められた種類の組み合わせで配置されてなり、かつ前記矩形領域の各種類を参照するための参照領域として兼用されるものであることを特徴とする。
【発明の効果】
【００２９】
請求項１の発明では、矩形状の１つの第１の特定パターンが矩形領域の規定の角部に配置されているため、本発明に係る二次元コードを読み取る際の画像データにおいて、二次元コード全体の向きや矩形領域の一部の位置を精度高く特定しやすくなる。また、第１の特定パターンの領域以外において矩形領域の境界部に隣接する位置に誤り訂正コードブロックが設けられており、このようにすれば、境界部に隣接する位置を誤り訂正コードブロックの配置スペースとして効率的に利用できる。更に、誤り訂正コードブロックは、その性質上、背景と色彩、濃度、輝度が同一のセル（例えば白色セル等の明セル）が長く連続する可能性が極めて低く、このような性質を有する誤り訂正コードブロックが境界部に隣接する位置に配置されて境界部の特定に兼用されるため、誤り訂正に必須となるデータを利用して境界部を精度高く特定できるようになる。更には、誤り訂正コードブロックによって境界部を特定し得るように構成されているため、全ての境界部を特定パターン（デコードすべきデータや誤り訂正のためのデータ等を有さない予め決められた規定パターン）によって特定しようとする構成と比較してデータ以外に割り当てるセル数を極力抑えることができ、データに割り当てるセル数を効果的に増加させることができる。
【００３０】
請求項２の発明では、矩形状の１つの第１の特定パターンが矩形領域の規定の角部に配置されているため、本発明に係る二次元コードを読み取る際の画像データにおいて、二次元コード全体の向きや矩形領域の一部の位置を精度高く特定しやすくなる。また、第１の特定パターンの領域以外において矩形領域の境界部に隣接する位置に圧縮データコードブロックが設けられており、このようにすれば、境界部に隣接する位置を圧縮データコードブロックの配置スペースとして効率的に利用できる。更に、圧縮データコードブロックは、その性質上、背景と色彩、濃度、輝度が同一のセル（例えば白色セル等の明セル）が長く連続する可能性が極めて低く、このような性質を有する圧縮データコードブロックが境界部に隣接する位置に配置されて境界部の特定に兼用されるため、データサイズを効果的に小さくできると共に、デコード対象となるデータを利用して境界部を精度高く特定できるようになる。更には、圧縮データコードブロックによって境界部を特定し得るように構成されているため、全ての境界部を特定パターン（デコードすべきデータや誤り訂正のためのデータ等を有さない予め決められた規定パターン）によって特定しようとする構成と比較してデータ以外に割り当てるセル数を極力抑えることができ、データに割り当てるセル数を効果的に増加させることができる。
【００３１】
請求項３の発明では、矩形領域の各境界部に隣接して誤り訂正コードブロックが少なくとも１つ配置されているため、矩形領域の各境界部に隣接する位置にコードブロック領域を確保でき、コードブロック領域をより効果的に拡張できる。一方、読み取りの際の画像データにおいては、各境界部に隣接する誤り訂正コードブロックによって各境界部それぞれを精度高く特定でき、ひいては矩形領域を精度高く特定できるようになる。
【００３２】
請求項４の発明では、矩形領域の各境界部に隣接して圧縮データコードブロックが少なくとも１つ配置されているため、矩形領域の各境界部に隣接する位置にコードブロック領域を確保でき、コードブロック領域をより効果的に拡張できる。一方、読み取りの際の画像データにおいては、各境界部に隣接する圧縮データコードブロックによって各境界部それぞれを精度高く特定でき、ひいては矩形領域を精度高く特定できるようになる。
【００３３】
請求項５の発明では、第１の特定パターンが隣接する第１境界部に隣接して誤り訂正コードブロックが少なくとも１つ配置されているため、第１境界部を第１の特定パターンと誤り訂正コードブロックとによって精度高く特定できるようになる。
【００３４】
請求項６の発明では、第１の特定パターンが隣接する第１境界部に隣接して圧縮データコードブロックが少なくとも１つ配置されているため、第１境界部を第１の特定パターンと圧縮データコードブロックによって精度高く特定できるようになる。
【００３５】
請求項７の発明では、第１の特定パターンが接する第１境界部とは異なる第２境界部の少なくともいずれかに隣接するように第２の特定パターンが設けられているため、読み取りの際の画像データにおいて第２境界部を第２特定パターンによって精度高く特定できるようになる。一方、第２の特定パターンの配置側以外の各境界部に隣接して誤り訂正コードブロックが配置されているため、第２特定パターンの配置側以外の各境界部も精度高く特定でき、更に、第２特定パターンが配置されていない領域を効果的に利用してコードブロックの領域を広く確保できるようになる。
【００３６】
請求項８の発明では、第１の特定パターンが接する第１境界部とは異なる第２境界部の少なくともいずれかに隣接するように第２の特定パターンが設けられているため、読み取りの際の画像データにおいて第２境界部を第２特定パターンによって精度高く特定できるようになる。一方、第２の特定パターンの配置側以外の各境界部に隣接して圧縮データコードブロックが配置されているため、第２特定パターンの配置側以外の各境界部も精度高く特定でき、更に、第２特定パターンが配置されていない領域を効果的に利用してコードブロックの領域を広く確保できるようになる。
【００３７】
請求項９の発明では、第２の特定パターンの内側に隣接するように誤り訂正コードブロックが配置されている。このようにすると、矩形領域と背景との区別を、第２の特定パターンのみならず必要に応じて誤り訂正コードブロックを利用して行うことができ、第２境界部の認識不良を効果的に抑えることができる。
【００３８】
請求項１０の発明では、第２の特定パターンの内側に隣接するように圧縮データコードブロックが配置されている。このようにすると、矩形領域と背景との区別を、第２の特定パターンのみならず必要に応じて圧縮データコードブロックを利用して行うことができ、第２境界部の認識不良を効果的に抑えることができる。
【００３９】
請求項１１の発明では、第２の特定パターンが２つの第２境界部のいずれにも隣接する形態で配置されている。このようにすれば、２つの第２境界部を第２の特定パターンによって安定的に特定でき、第１境界部については、コードブロック領域を確保しつつ第１の特定パターンと境界部隣接ブロックとによって良好に特定できるようになる。
【００４０】
請求項１２の発明では、第２の特定パターンが２つの第２境界部全体に亘る形態で配置されている。このようにすれば、第２境界部全体を第２の特定パターンによって確実に特定できるようになる。また、第１境界部についても、両端部を第１の特定パターンと第２の特定パターンとによって確実に特定でき、さらに中間部については境界部隣接ブロックによって良好に特定できるため、矩形領域を極めて精度高く特定できるようになる。
【００４１】
請求項１３の発明では、第２の特定パターンが少なくとも色彩又は濃度又は輝度が異なる複数種類のセルを含むパターンとして構成されている。このように、背景に隣接させて種類の異なる複数のセルを配置すれば背景と矩形領域とを良好に区別できるようになる。
【００４２】
請求項１４の発明では、色彩又は濃度又は輝度の異なる複数種類のセルが所定の順序で配置されて第２の特定パターンが構成されている。このように種類の異なる複数のセルを所定の順序で配置すると、当該二次元コードを読み取る際にセルの配置形状を認識しやすく、更に、セルの順序が所定の順序であるか否かを確認することで第２の特定パターンとして適当かを確認できるようにもなる。従って、第２境界部の特定を、形状面、内容面から行うことができ、特定の精度を一層高めることができる。
【００４３】
請求項１５の発明では、色彩又は濃度又は輝度が異なる複数種類のセルが予め定められた種類の組み合わせで配置されて第２の特定パターンが構成されており、かつ矩形領域の各種類を参照するための参照領域として兼用されている。このように、境界部を特定するためのパターンを参照領域として兼用すれば、参照領域のための特別なパターンを別途用意する必要がなく、データ領域の増大或いはコード全体の小型化を図ることができる。
【００４４】
請求項１６の発明では、矩形領域における第１の特定パターンの対角位置に、矩形領域の角部を示すエンドパターンが配置されている。このようにすると、規定の角部については第１の特定パターンによって背景と良好に区別でき、それとは対角の角部についてはエンドパターンによって背景と良好に区別できるようになる。また、この構成では、エンドパターンが、第１の特定パターンが隣接しない境界部（第２境界部）の特定に寄与し、ひいては矩形領域全体の特定精度を効果的に高めることができる。
【００４５】
請求項１７の発明では、エンドパターンが、色彩、濃度、輝度が同一のセルが複数連続したＬ字形状部を有しており、当該Ｌ字形状部の外縁が規定の角部（第１の特定パターンが配置される角部）と対角にある角部を構成している。このようにすれば、対角の角部を特定しやすい構成を簡易に実現できる。また、Ｌ字形状部の外縁によって対角の角部が構成されているため、読み取りの際のＬ字形状部の特定が、対角の角部を構成する境界部（第１の特定パターンに隣接しない境界部）の認識にも寄与することとなり、エンドパターンを利用して第１の特定パターンに隣接しない境界部を良好に特定できるようになる。
【００４６】
請求項１８の発明では、色彩又は濃度又は輝度が背景とは異なる単一のセルによってエンドパターンが構成されている。このようにすると、エンドパターンに要する領域を極力抑えることができ、データ領域の増大を図ることができる。
【００４７】
請求項１９の発明では、エンドパターンが、色彩又は濃度又は輝度の異なる複数種類のセルが所定の順序で配置されたＬ字形状部を有し、当該Ｌ字形状部の外縁が規定の角部（第１の特定パターンが配置される角部）と対角にある角部を構成している。このように種類の異なる複数のセルを所定の順序で配置すると、当該二次元コードを読み取る際にセルの配置形状を認識しやすく、更に、セルの順序が所定の順序であるか否かを確認することでエンドパターンとして適当かを確認できるようにもなる。従って、対角の角部の特定を、形状面、内容面から行うことができ、特定の精度を一層高めることができる。また、Ｌ字形状部の外縁によって対角の角部が構成されているため、読み取りの際のＬ字形状部の特定が、対角の角部を構成する境界部（第１の特定パターンに隣接しない境界部）の認識にも寄与することとなり、エンドパターンを利用して第１の特定パターンに隣接しない境界部を良好に特定できるようになる。
【００４８】
請求項２０の発明では、エンドパターンが矩形形状部を有しており、当該矩形形状部の外縁が規定の角部（第１の特定パターンが配置される角部）と対角にある角部を構成している。このようにすると、対角の角部を特定しやすい構成を簡易に実現できる。また、矩形形状部の外縁によって対角の角部が構成されているため、読み取りの際の矩形形状部の特定が、その対角の角部を構成する境界部（第１の特定パターンに隣接しない境界部）の認識にも寄与することとなり、エンドパターンを利用して第１の特定パターンに隣接しない境界部を良好に特定できるようになる。
【００４９】
請求項２１の発明では、色彩又は濃度又は輝度が異なる複数種類のセルが予め定められた種類の組み合わせで配置されてエンドパターンが構成されており、かつ矩形領域の各種類を参照するための参照領域として兼用されている。このように対角の角部を特定するためのパターンを参照領域として兼用すれば、参照領域のための特別なパターンを別途用意する必要がなく、データ領域の増大、コード全体の小型化を図ることができる。
【発明を実施するための最良の形態】
【００５０】
[第１実施形態]
以下、本発明の二次元コードを具現化した第１実施形態について、図面を参照して説明する。図１は、第１実施形態に係る二次元コードを概略的に説明する説明図である。また、図２は、図１の二次元コードを読み取る光学的情報読取装置を概略的に例示するブロック図である。図３は、図１の二次元コードを読み取る読取処理を例示するフローチャートである。なお、図１では、誤り訂正コードブロック１２の位置を破線にて概念的に示しており、データコードブロック１１の位置については実線枠内にハッチングを付して概念的に示している。また、図１では、各コードブロック１０の具体的セル構成は省略して示している。
【００５１】
本実施形態に係る二次元コード１は、図１に示すように、複数のセルＣがマトリックス状に配置されてなるものであり、複数のコードブロック１０と、第１の特定パターン２と、エンドパターン７とを備えた構成をなしている。この二次元コード１は、外形が正方形状に構成されたセルＣが集合してマトリックス状に配置されたセル集合体として構成されており、図１の例では、セル数が縦横同数（１１セル×１１セル）となる配列で構成されている。また、二次元コード１を構成するコード領域（セルＣが配置される領域）は、外形が矩形状の矩形領域とされており、図１の例では外形が正方形状の正方形領域として構成されている。なお、図１では、一部のセルのみについて符号Ｃを付しており、他のセルの符号は省略している。
【００５２】
本発明に係る二次元コード１は、色彩又は濃度又は輝度の異なる複数種類のセルが用いられてなるものであり、以下では、図１に示すような構成、即ち、色彩の異なる２種類のセル（即ち、黒色セル及び白色セル）が用いられて二次元コード１が構成された例（即ち、二色構成の例）について説明する。なお、本実施形態及びその他の実施形態を通し、黒色セルについては符号Ｃｂで示し、白色セルについては符号Ｃｗで示すこととする。
【００５３】
コードブロック１０は、複数のセルＣが集合したブロックとして構成されるものであり、データコードブロック１１又は誤り訂正コードブロック１２として機能するようになっている。これらデータコードブロック１１及び誤り訂正コードブロック１２は、いずれもマスク処理が施されていない非マスク化ブロックとして構成されており、マスク処理の解除等を必要とせずにデコードしうるものである。なお、図1の例では、コードブロック１０として、規則的なマトリックス状のもの（２×４又は４×２のマトリックス状のもの）と、不規則な構成のものとが混在しているが、図１で示した各コードブロック１０の構成はあくまで一例であり、各コードブロック１０の形状を変更できることは勿論である。
【００５４】
データコードブロック１１は、デコードの対象となるデータを符号化した符号化データ（データコード語）を複数のセルによって表現したブロックであり、図１の例では、複数（図１では８つ）のセルが一つのまとまりとして集合した構成をなしている。なお、データコードブロック１１を構成する各セルも、２種類（黒色セル、白色セル）のうちのいずれかが用いられている。
【００５５】
各データコードブロック１１は、デコードすべき符号化データ（データコード語）に対応したセルの配列で構成されるようになっている。  本実施形態では、セルの色が数値に対応付けられており、例えば、データ値「０」に対して白色セル、データ値「１」に対して黒色セルがそれぞれ対応付けられている。
【００５６】
また、図１の二次元コード１は、データコードブロック１１が中心部付近に配置され、その周囲が誤り訂正コードブロック１２（後述）によって囲まれた構成となっている。図１の例では、５つのデータコードブロック１１が二次元コード１の中心部付近に配置され、その５つのデータコードブロック１１の周囲に６つの誤り訂正コードブロック１２が環状かつ矩形状に配置されている。
【００５７】
誤り訂正コードブロック１２は、データコードブロック１１の誤り訂正を行うための誤り訂正コード語によって構成されている。この誤り訂正コードブロック１２を構成する誤り訂正コード語は、データコードブロック１１を構成する符号化データ（データコード語）に基づいて生成されたものである。なお、データコード語に基づいて誤り訂正コード語を生成する方法としては、例えば公知のリード・ソロモン誤り訂正方式を用いることができる。
【００５８】
本実施形態では、データコード語に基づいて誤り訂正コード語を生成する方法として、ＪＩＳＸ０５１０：２００４に規定された誤り訂正コード語の生成方法（ＪＩＳＸ０５１０：２００４、８．５誤り訂正）を用いている。この方法の場合、誤り訂正コード語は、データコードブロック１１についてのデータコード語を二進数で表した後、誤り訂正検出及び訂正（ＪＩＳＸ０５１０：２００４付属書Ａ）で使用される多項式ｇ（ｘ）によって当該データコード語を除算して得られた剰余とされる。誤り訂正コードブロック１２は、このように生成された誤り訂正コード語を複数のセルによって表現したブロックとして構成される。なお、ここでは、ＪＩＳＸ０５１０に規定される方法を用いて誤り訂正コード語を生成したが、誤り訂正コード語の生成方法はこれに限らず、公知の様々な方法を用いることができる。
【００５９】
第１の特定パターン２は、二次元コード１の矩形領域において４つ設けられた角部５ａ〜５ｄのうち、規定の角部５ａに配置されるものである。図１の例では第１の特定パターン２の外形が矩形状（詳しくは正方形状）に構成されており、第１の特定パターン２の外縁を構成する２辺によって矩形領域における規定の角部５ａの角位置が定められている。この第１の特定パターン２は、矩形領域における各セルＣの位置を特定するための要素として機能するものであり、具体的には、光学的情報読取装置（後述）で得られる画像データにおいて、規定の角部５ａの位置を特定するために用いられると共に、その画像データにおいて二次元コード１の向きを特定するために用いられる。なお、本明細書全体を通し、「特定パターン」は、二次元コードに含まれるデータ（デコードすべきデータ）に関係なく一定のパターンとして構成されるものである。
【００６０】
図１で示す第１の特定パターン２は、中心に第１の色のセル（黒色セル２ａ）が１つ配置され、その第１の色のセル（黒色セル２ａ）の周りを第２の色のセル（白色セル２ｂ）が矩形状に囲んでいる。さらに、その環状のセル群（白色セル２ｂのセル群）の周りを第１の色のセル（黒色セル２ｃ）が囲んだ構成をなし、それらが最外周のセル群として構成されている。そして、その最外周のセル群の外形が矩形状（正方形状）に構成され、第１の特定パターン２全体として外形が矩形状（正方形状）となっている。
【００６１】
また、二次元コード１のコード領域（矩形領域）における第１の特定パターン２の対角位置には、コード領域（矩形領域）の角部５ｄを示すエンドパターン７が配置されている。エンドパターン７は、色彩、濃度、輝度が同一のセル（同一種類のセル）が複数連続したＬ字形状部（具体的には、色彩、濃度、輝度が同一の黒色セル７ａ'が３つ連続したＬ字形状部７ａ）を有しており、このＬ字形状部７ａの外側の外縁が直角に構成され、この外側外縁が対角位置の角部５ｄを構成している。即ち、後述する読み取りの際にＬ字形状部７ａの外側の直角外縁を検出することで矩形領域における角部５ｄの角位置を特定できるようになっている。
【００６２】
本実施形態の二次元コード１では、第１の特定パターン２がコード領域（矩形領域）の規定の角部５ａに配置されると共に、複数のコードブロック１０が矩形領域内にそれぞれ配置されており、さらにその複数のコードブロック１０の一部が、第１の特定パターン２以外の領域において、矩形領域の境界部６に隣接する位置に背景とは色彩又は濃度又は輝度の異なるセルを少なくとも１つ配置してなる「境界部隣接ブロック」として構成されている。図１の例では、６つの誤り訂正ブロック１２が「境界部隣接ブロック」として機能しており、背景色（本実施形態では白色）とは異なる色の異色セルを境界部６に隣接する位置に配置する構成をなしている。
【００６３】
また、図1の例では、「境界部隣接ブロック」に相当する誤り訂正コードブロック１２が、コード領域（矩形領域）の各境界部６に隣接して境界部６毎に少なくとも１つ配置されている。即ち、第１の特定パターン２が隣接する２つの第１境界部６ａ，６ｂそれぞれに隣接するように誤り訂正コードブロック１２（境界部隣接ブロック）が配置され、また、第１の特定パターン２が隣接しない境界部（２つの第２境界部６ｃ，６ｄ）それぞれに隣接するように誤り訂正コードブロック１２（境界部隣接ブロック）が配置されている。より詳しく言えば、一方の第１境界部６ａに隣接して２つの誤り訂正コードブロック１２（４番目、５番目）が配置されており、他方の第１境界部６ｂに隣接して２つの誤り訂正コードブロック１２（１番目、６番目）が配置されている。また、一方の第２境界部６ｃに隣接して２つの誤り訂正コードブロック１２（３番目、４番目）が配置されており、他方の第２境界部６ｄに隣接して２つの誤り訂正コードブロック１２（１番目、２番目）が配置されている。
【００６４】
また、いずれの境界部６においても、いずれかの誤り訂正コードブロック１２の半分のセルが隣接するようになっている。即ち、第１境界部６ａについては、５番目の誤り訂正コードブロック１２の半分のセルが隣接（即ち、４×２のマトリックス状に構成される５番目の誤り訂正コードブロック１２の長辺側が隣接）するようになっており、第１境界部６ｂについては、６番目の誤り訂正コードブロック１２の半分のセルが隣接（即ち、２×４のマトリックス状に構成される６番目の誤り訂正コードブロック１２の長辺側が隣接）するようになっている。また、第２境界部６ｃについては、３、４番目の誤り訂正コードブロック１２の、それぞれの半分のセルが隣接（即ち、２×４のマトリックス状に構成される３、４番目の誤り訂正コードブロック１２の長辺側が隣接）し、第２境界部６ｄについては、１，２番目の誤り訂正コードブロック１２の、それぞれの半分のセルが隣接（即ち、４×２のマトリックス状に構成される１、２番目の誤り訂正コードブロック１２の長辺側が隣接）するようになっている。
【００６５】
また、本実施形態の二次元コード１のコード領域（矩形領域）は、一辺に奇数個Ｌのセルが配置されたＬ×Ｌのマトリックスによって構成される正方形領域とされている。図１の例では、Ｌ＝１１であり、１１×１１のマトリックスとして正方形状に構成されている。また、第１の特定パターン２は、一辺にＬ＞Ｍとなる奇数個Ｍのセルが配置されたＭ×Ｍのマトリックスとして構成され、外形が正方形状とされている。図１の例では、Ｍ＝５であり、第１の特定パターン２は、５×５のマトリックスとして正方形状に構成されている。また、コードブロック１０は、一辺に偶数個Ａのセルが配置され、他辺に偶数個Ｂのセルが配置されたＡ×Ｂのマトリックスとして矩形状に構成されたものが多く用いられている。図１の例では、データコードブロック１１、誤り訂正コードブロック１２のいずれも、２×４のマトリックス又は４×２のマトリックスとして矩形状に構成されたものが用いられており、それ以外の構成（不規則な形状）のものも一部に用いている。
【００６６】
なお、図１の例では、１番目と２番目の誤り訂正コードブロック１２の間に配置されるセルや、３番目と４番目の誤り訂正コードブロック１２の間に配置されるセル、或いは、エンドパターン７と３番目及び４番目の誤り訂正コードブロック１２とに囲まれるセルについては特に用途を示していないが、図１のコードブロック１０の配置を変更してこれらのセルの位置に配置してもよく、何らかの特定パターンを配置するように変更してもよい。或いは、コードブロック１０のデータとして利用されない剰余のブロックを配置するようにしてもよい。
【００６７】
次に、本実施形態に係る二次元コード１の生成方法について概説する。
本実施形態に係る二次元コード１は、ＣＰＵやメモリ等を備えた情報処理装置（コンピュータ等）によって生成しうるものである。この二次元コード１を生成する場合、まず、生成しようとする二次元コード１のデータ値（デコード対象となるデータ）を取得する。さらに、そのデータ値に対する誤り訂正コードを計算により生成する。そして、データ値に対応するデータコードブロック、及び誤り訂正コードに対応する誤り訂正コードブロックを生成し、各データコードブロック、各誤り訂正コードブロックを順番に配置する。この配置においては、誤り訂正コードブロックを最後尾（図1の例では６番目の誤り訂正コードブロック１２）側から順番をさかのぼるように順次配置し、誤り訂正コードブロック１２の先頭まで配置し終わった後には、データコードブロック１１を最後尾（図1の例では５番目のデータコードブロック１１）側から順番をさかのぼるように順次配置する。
【００６８】
図1に示す二次元コード１では、境界部６に隣接する所定位置を配置の始端位置とし、その始端位置から境界部６に沿うように、誤り訂正コードブロック１２を最後尾側から順番に配置している。具体的には、最後尾の誤り訂正コードブロック１２（図1の例では６番目の誤り訂正コードブロック１２）を第１境界部６ｂ側において第１の特定パターン２に隣接する位置に配置し、境界部６に沿うように５番目、４番目、３番目、２番目、１番目の誤り訂正コードブロック１２を時計回りに順次配置している。誤り訂正コードブロック１２の先頭（１番目）まで配置し終わった後には、データコードブロック１１が最後尾（図１では５番目のデータコードブロック１１）側から、周囲に配置されたコードブロック１０に沿うように、４番目、３番目、２番目、１番目と順次配置されるようになっている。このようにすると、誤り訂正コードブロック１２が各境界部６に満遍なく配置されることとなる。
【００６９】
次に、本実施形態に係る二次元コード１の読取例について概説する。
本実施形態に係る二次元コード１は、例えば図２に示すような光学的情報読取装置２０で読み取ることができる。図２に示す光学的情報読取装置２０は、主に、照明光源２１、受光センサ２３、フィルタ２５、結像レンズ２７等の光学系と、メモリ３５、制御回路４０、操作スイッチ４２、液晶表示装置４６等のマイクロコンピュータ（以下「マイコン」という）系と、電源スイッチ４１、電池４９等の電源系と、から構成されている。
【００７０】
光学系は、照明光源２１、受光センサ２３、フィルタ２５、結像レンズ２７等から構成されている。照明光源２１は、照明光Ｌｆを発光可能な照明光源として機能するもので、例えば、ＬＥＤとこのＬＥＤの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、受光センサ２３を挟んだ両側に照明光源２１が設けられており、ハウジングの読取口（図２では図示略）を介して読取対象物Ｒに向けて照明光Ｌｆを照射可能に構成されている。この読取対象物Ｒは、例えば、包装容器や包装用紙あるいはラベルといった表示媒体に相当するもので、本実施形態に係る二次元コード１は、このような読取対象物Ｒに対して印刷或いはダイレクトマーキング等により形成することができる。
【００７１】
受光センサ２３は、読取対象物Ｒや二次元コード１に照射されて反射した反射光Ｌｒを受光可能に構成されるもので、例えば、Ｃ−ＭＯＳやＣＣＤ等の固体撮像素子である受光素子を２次元に配列したエリアセンサがこれに相当する。受光センサ２３は、結像レンズ２７を介して入射する入射光を受光面２３ａで受光可能にプリント配線板（図示略）に実装されている。また、フィルタ２５は、反射光Ｌｒの波長相当以下の光の通過を許容し、当該波長相当を超える光の通過を遮断し得る光学的なローパスフィルタで、反射光Ｌｒの波長相当を超える不要な光が受光センサ２３に入射することを抑制している。また、結像レンズ２７は、外部から読取口を介して入射する入射光を集光して受光センサ２３の受光面２３ａに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。
【００７２】
次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路３１、Ａ／Ｄ変換回路３３、メモリ３５、アドレス発生回路３６、同期信号発生回路３８、制御回路４０、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示装置４６、通信インタフェース４８等から構成されている。このマイコン系は、その名の通り、マイコン（情報処理装置）として機能し得る制御回路４０およびメモリ３５と中心に構成されるもので、前述した光学系によって撮像された二次元コード１の画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。また制御回路４０は、当該光学的情報読取装置２０の全体システムに関する制御も行っている。
【００７３】
光学系の受光センサ２３から出力される画像信号（アナログ信号）は、増幅回路３１に入力されることで所定ゲインで増幅された後、Ａ／Ｄ変換回路３３に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ（画像情報）は、メモリ３５に入力されると、画像データ蓄積領域に蓄積される。なお、同期信号発生回路３８は、受光センサ２３およびアドレス発生回路３６に対する同期信号を発生可能に構成されており、またアドレス発生回路３６は、この同期信号発生回路３８から供給される同期信号に基づいて、メモリ３５に格納される画像データの格納アドレスを発生可能に構成されている。
【００７４】
メモリ３５は、半導体メモリ装置で、例えばＲＡＭ（ＤＲＡＭ、ＳＲＡＭ等）やＲＯＭ（ＥＰＲＯＭ、ＥＥＰＲＯＭ等）がこれに相当する。このメモリ３５のうちのＲＡＭには、前述した画像データ蓄積領域のほかに、制御回路４０が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またＲＯＭには、後述する読取処理等を実行可能な所定プログラムやその他、照明光源２１、受光センサ２３等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
【００７５】
制御回路４０は、光学的情報読取装置２０全体を制御可能なマイコンで、ＣＰＵ、システムバス、入出力インタフェース等からなるもので、メモリ３５とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路４０は、内蔵された入出力インタフェースを介して種々の入出力装置（周辺装置）と接続可能に構成されており、本実施形態の場合、電源スイッチ４１、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示装置４６、通信インタフェース４８等が制御回路４０に接続されている。なお、通信インタフェース４８には、当該光学的情報読取装置２０の上位システムに相当するホストコンピュータＨＳＴ等が接続される。また、電源系は、電源スイッチ４１、電池４９等によって構成されており、制御回路４０による電源スイッチ４１のオンオフ制御により、電池４９から上述した各装置や各回路に供給される駆動電圧の導通や遮断が制御されている。
【００７６】
このように構成される光学的情報読取装置２０では、以下のように読取処理が行われる。まず、作業者が所定操作（例えば、操作スイッチ４２のオン操作）を行うことで、図３に示す読取処理が開始され、画像データ取得処理が行われる（Ｓ１）。画像データ取得処理では、まず制御回路４０が同期信号を基準に照明光源２１に発光信号を出力し、当該発光信号を受けた照明光源２１が、ＬＥＤを発光させて照明光Ｌｆを照射する。すると、二次元コード１に照射された照明光Ｌｆが反射し、その反射光Ｌｒが読取口およびフィルタ２５を介して結像レンズ２７に入射する。その結果、受光センサ２３の受光面２３ａには、当該結像レンズ２７による二次元コード１の像、つまりコード画像が結像される。これにより、受光センサ２３を構成する各受光素子が露光され、各受光素子から二次元コード１の像に応じた受光信号がそれぞれ出力される。これら受光信号は、二次元コード１の画像データを構成するものであり、この画像データはメモリ３５に記憶されることとなる。
【００７７】
その後、取得された画像データにおいて二次元コード１のコード領域（矩形領域）を特定する処理を行う（Ｓ２）。この処理では、コード領域（矩形領域）の各境界部６を特定しており、その特定方法は、例えば、特開平１０−１９８７５４のような方法でもよく、或いは、特開２０００−３５３２１０公報に示されるような、明暗変化点数を計数してコード領域を抽出する方法も好適に用いることができる。なお、特開２０００−３５３２１０公報の技術では、二色の二次元コードを想定し、明暗の変化を検出しているが、後述する多色の二次元コードを読み取る場合も基本的に同様であり、走査線に沿って検査したときのいずれかの色を示す値から他の色を示す値への変化を計数するようにすればよい。なお、画像処理の分野において異なる色の領域を区別する技術は各種提供されているため、公知の別の方法を用いて領域を特定してもよい。要するに、本実施形態のように、矩形領域の境界部６ａ〜６ｂそれぞれに隣接して背景色と色の異なる異色セルが配置されていれば、各種画像処理方法を用いてこの異色セルを特定でき、この異色セルの外縁をつなぐことで矩形領域の境界部を正確に抽出できるようになる。
【００７８】
特に、本実施形態では、各角部５ａ、５ｄにそれぞれ、外縁部に背景とは色の異なるセルが配置されてなる第１の特定パターン２、エンドパターン７が設けられているため、各種画像処理技術を用いて角部５ａ、５ｄを確実に特定でき、それら第１の特定パターン２、エンドパターン７以外の領域においては、各境界部６に隣接して誤り訂正コードブロック１２（境界部隣接ブロック）が配置されているため、特定パターン２、エンドパターン７以外の領域についても各種画像処理技術を用いて境界部６を良好に特定できるようになる。
【００７９】
さらに、特定されたコード領域（矩形領域）と、その矩形領域内に配される第１の特定パターンとに基づいて二次元コードの向きを特定する処理を行う（Ｓ３）。具体的には、画像データにおいて特定された矩形領域のどの角部に第１の特定パターンが存在するかを検出する。画像データ内での第１の特定パターン２の位置が検出されれば、当該画像データにおける二次元コードの向き（姿勢）を特定できることとなる。
【００８０】
その後、位置及び向きが特定されたコード領域（矩形領域）に基づいてデコード処理を行う（Ｓ４）。本実施形態では、予めコード種別が光学的情報読取装置２０内に記憶されており、矩形領域のサイズや特定パターン（第１の特定パターン２、エンドパターン７）の構成によってコード種別を特定した上で、各データコードブロック１１についてデコードを行うと共に、誤り訂正コードブロック１２に基づいて誤り訂正を行う。
【００８１】
以上説明した本実施形態の構成によれば、以下のような効果を奏する。
本実施形態の二次元コード１では、第１の特定パターン２が矩形領域の規定の角部５ａに配置されているため、二次元コード１を読み取る際の画像データにおいて、二次元コード全体の向きや矩形領域の一部の位置を精度高く特定しやすくなる。また、第１の特定パターン２の領域以外において、矩形領域の境界部６に隣接する位置に背景とは色彩又は濃度又は輝度の異なるセル（異色セル）を少なくとも１つ配置してなる境界部隣接ブロック（誤り訂正コードブロック１２）が設けられているため、矩形領域の境界部６のうち、第１の特定パターン２が隣接する部分以外については、境界部隣接ブロックの異色セルに基づき境界部６を精度高く特定しやすくなる。さらに、一部のコードブロック１０（境界部隣接ブロック）によって境界部６を特定し得るように構成されているため、全ての境界部６を特定パターン（デコードすべきデータや誤り訂正のためのデータを有さないパターン）によって特定しようとする構成と比較してデータ以外に割り当てるセル数を極力抑えることができ、データに割り当てるセル数を効果的に増加させることができる。
【００８２】
また、本実施形態では、「境界部隣接ブロック」が誤り訂正コードブロック１２によって構成されている。誤り訂正コードブロック１２は、その性質上、背景と色彩、濃度、輝度が同一のセルが長く連続する可能性が極めて低く、このような訂正コードブロック１２を境界部６の特定に兼用すれば、誤り訂正に必須となるデータを利用して境界部６を精度高く特定できるようになり、データ以外に割り当てるセル数を極力抑え得る好適例となる。
【００８３】
特に本実施形態では、いずれの境界部６においても、いずれかの誤り訂正コードブロック１２の半分のセルが隣接するようになっている。このようにすると、その誤り訂正コードブロック１２において境界部６に隣接するセル全てが背景色と同一色となる確率を極めてゼロに近づけることができ、境界部６に隣接させて背景色と異なる色のセルを安定的に配置できる。
【００８４】
また、矩形領域の各境界部６に隣接して境界部隣接ブロック（誤り訂正コードブロック１２）が少なくとも１つ配置されているため、矩形領域の各境界部６に隣接する位置にコードブロック領域を確保でき、コードブロック領域をより効果的に拡張できる。一方、読み取りの際の画像データにおいては、各境界部６に隣接する境界部隣接ブロックによって各境界部６をそれぞれを精度高く特定でき、ひいては矩形領域を精度高く特定できるようになる。
【００８５】
また、第１の特定パターン２が隣接する第１境界部６ａ、６ｂに隣接して境界部隣接ブロック（誤り訂正コードブロック１２）が少なくとも１つ配置されているため、第１境界部６ａ、６ｂを第１の特定パターン２と境界部隣接ブロックとによって精度高く特定できるようになる。
【００８６】
また、矩形領域における第１の特定パターン２の対角位置に、矩形領域の角部５ｄを示すエンドパターン７が配置されている。このようにすると、規定の角部５ａについては第１の特定パターン２によって背景と良好に区別でき、それとは対角の角部５ｄについてはエンドパターン７によって背景と良好に区別できるようになる。この構成では、エンドパターン７が、第１の特定パターン２が隣接しない境界部６（第２境界部６ｃ、６ｄ）の特定に寄与し、ひいては矩形領域全体の特定精度を効果的に高めることができる。
【００８７】
また、エンドパターン７が、色彩、濃度、輝度が同一のセルが複数連続したＬ字形状部７ａを有しており、当該Ｌ字形状部７ａの外縁が規定の角部５ａ（第１の特定パターンが配置される角部）と対角にある角部５ｄを構成している。このようにすれば、対角の角部５ｄを特定しやすい構成を簡易に実現できる。また、Ｌ字形状部７ａの外縁によって対角の角部５ｄが構成されているため、読み取りの際のＬ字形状部７ａの特定が、対角の角部５ｄを構成する第２境界部６ｃ、６ｄ（第１の特定パターン２に隣接しない境界部）の認識にも寄与することとなり、エンドパターン７を利用して第２境界部６ｃ、６ｄを良好に特定できるようになる。
【００８８】
［第２実施形態］
次に第２実施形態について説明する。図４は、第２実施形態に係る二次元コード１２０を概念的に例示する説明図である。なお、図４では、誤り訂正コードブロック１２の位置を破線にて概念的に示しており、圧縮データコードブロック１３の位置については実線枠内にハッチングを付して概念的に示している。また、図４では、各コードブロック１０の具体的セル構成は省略して示している。
【００８９】
本実施形態の二次元コード１２０は、コードブロック１０の構成、配置のみが図１の二次元コード１と異なり、それ以外は図１の二次元コードと同一である。よって異なる部分について重点的に説明し、同一の構成については図１と同一の符号を付して詳細な説明は省略する。
【００９０】
本実施形態の二次元コード１２０のコード領域（矩形領域）も、一辺に奇数個Ｌのセルが配置されたＬ×Ｌのマトリックスによって正方形領域として構成されており、具体的には図１と同様に１１×１１のマトリックスとして正方形状に構成されている。また、二次元コード１２０の境界部６は、図１と同一の形状、長さとなっており、第１の特定パターン２、エンドパターン７はいずれも図１と同一の構成となっている。また、本実施形態の二次元コード１２０も、各セルＣは、２種類（黒色セル、白色セル）のうちのいずれかのセルが用いられ、二色のコード構成となっている。
【００９１】
一方、本実施形態の二次元コード１２０は、コードブロック１０が、誤り訂正コードブロック１２と、圧縮されたデータを格納してなる圧縮データコードブロック１３と、によって構成されている。図４の二次元コード１２０では、誤り訂正コードブロック１２が中心部付近にまとめられて配置され、それら誤り訂正コードブロック１２が圧縮データコードブロック１３によって囲まれた構成となっている。具体的には、５つの誤り訂正コードブロック１２が二次元コード１２０の中心部付近に配置され、その５つの誤り訂正コードブロック１２の周囲に６つの圧縮データコードブロック１３が環状かつ矩形状に配置されている。なお、これら圧縮データコードブロック１３及び誤り訂正コードブロック１２は、いずれもマスク処理が施されていない非マスク化ブロックとして構成されており、マスク処理の解除等を必要とせずにデコードしうるものとされている。
【００９２】
圧縮データコードブロック１３は、デコードの対象となるデータを符号化した符号化データ（データコード語）を圧縮し、複数のセルによって表現したブロックであり、図４の例では、複数（図４では８つ）のセルが一つのまとまりとして集合した構成をなしている。なお、この圧縮データコードブロック１３を構成する各セルも、予め定められた複数種類から選択されたいずれかの種類のセル（図４では、２種類のうちのいずれかのセル）が用いられている。
【００９３】
圧縮データコードブロック１３は、コード化すべきデータを公知の圧縮方法を用いて圧縮してなるものであり、圧縮のアルゴリズムは、ランレングス符号化やハフマン符号化等、公知の圧縮アルゴリズムであればいずれを用いてもよい。例えば、ランレングス符号化を用いる場合、デコードすべき情報が「００００００００００００１１１１」という情報であった場合、０が１２個（２進数で１１００）、１が４個（２進数で０１００）であることから、「０」「１１００」「１」「０１００」を並べた、「０１１００１０１００」と表すことができ、数字の連続を少なくすることできる。その結果、圧縮データコードブロック１３内において背景色と同一色のセルが長く連続することを抑えることができる。
【００９４】
本実施形態では、上記圧縮データコードブロック１３が「境界部隣接ブロック」に相当しており、境界部６に隣接する位置に背景とは色彩又は濃度又は輝度の異なるセル（異色セル）を少なくとも１つ配置するように機能する。
【００９５】
また、図４の例では、いずれの境界部６においても、いずれかの圧縮データコードブロック１３の半分のセルが隣接するようになっている。このようにすると、その圧縮データコードブロック１３が何らかの情報を有する場合に、境界部６に隣接するセル全てが背景色と同一色となる確率を極めてゼロに近づけることができ、境界部６に隣接させて背景色と異なる色のセルを安定的に配置できるようになる。
【００９６】
なお、図４では、デコードすべきデータを構成するブロックを全て圧縮データコードブロック１３によって構成しているが、このうちの一部のブロックについては、圧縮されていないデータを複数のセルによって表現したデータコードブロックとしてもよい。
【００９７】
以上説明した本実施形態の構成によれば、第１実施形態と同様の効果を奏することとなる。即ち、背景とコード領域との区別を良好に行うことができると共に、データ以外に割り当てるセル数を極力抑えることができ、データに割り当てるセル数を効果的に増加させることができる。
【００９８】
また、本実施形態に係る構成は、圧縮データコードブロック１３によって「境界部隣接ブロック」が構成されているという特徴を有している。圧縮データコードブロック１３は、その性質上、背景と色彩、濃度、輝度が同一のセルが長く連続する可能性が極めて低く、このような圧縮データコードブロック１３を境界部６の特定に兼用すれば、データサイズを効果的に小さくできると共に、デコード対象となるデータを利用して境界部６を精度高く特定でき、データ以外に割り当てるセル数を極力抑え得る好適例となる。
【００９９】
［第３実施形態］
次に第３実施形態について説明する。図５は、第３実施形態に係る二次元コード１３０を概念的に例示する説明図である。なお、図５でも、誤り訂正コードブロック１２の位置を破線にて概念的に示しており、データコードブロック１１の位置については実線枠内にハッチングを付して概念的に示している。また、図５では、各コードブロック１０の具体的セル構成は省略して示している。
【０１００】
本実施形態の二次元コード１３０は、後述する第２の特定パターン１３１を設けた点、誤り訂正コードブロック１２、データコードブロック１１の形状、配置を図1とは異なるようにした点が第１実施形態と異なるが、第１の特定パターン２の構成、二次元コード全体のマトリックス構成、境界部６の形状、長さ、角部５ａ〜５ｄの位置、形状については図１と同様である。よってこれらについては図１と同一の符号を付し、詳細な説明は省略することとする。
【０１０１】
本実施形態の二次元コード１３０のコード領域（矩形領域）も、一辺に奇数個Ｌのセルが配置されたＬ×Ｌのマトリックスによって正方形領域として構成されており、具体的には図１と同様に１１×１１のマトリックスとして正方形状に構成されている。また、本実施形態の二次元コード１３０も、各セルＣは、２種類（黒色セル、白色セル）のうちのいずれかのセルが用いられ、二色のコード構成となっている。
【０１０２】
図５の二次元コード１３０は、第１の特定パターン２に隣接しない境界部６（即ち、第２境界部６ｃ、６ｄ）に隣接するように第２の特定パターン１３１が設けられている。第２の特定パターン１３１は、色彩又は濃度又は輝度が異なる複数種類のセルからなるパターンとして構成されており、図５の例では、二種類のセル（白色セル、黒色セル）によって構成されている。図５の第２の特定パターン１３１は、一方の第２境界部６ｃに隣接する特定パターン１３２と、他方の第２境界部６ｄに隣接する特定パターン１３３とを有しており、２つの第２境界部６ｃ、６ｄのいずれにも隣接する形態（より詳しくは、２つの第２境界部６ｃ、６ｄの全体に亘る形態）で配置されている。
【０１０３】
第２の特定パターン１３１は特定パターン１３２と特定パターン１３３とが連結された形態で全体としてＬ字形状をなしている。一方の特定パターン１３２は、複数色のセルが所定の配列で並んだ一端側パターン１３４と、エンドパターン１３７の一部とによって構成されている。図５の一端側パターン１３４は、特定色のセル（黒色セル１３４ａ）と特定色とは異なる色のセル（白色セル１３４ｂ）とが交互に配置された構成をなしている。また、エンドパターン１３７は、同一色の複数セル（図５では５つの黒色セル１３８ａ）がＬ字形状に並んだＬ字形状部１３８によって構成され、規定の角部５ａと対角にある角部５ｄを示すように機能している。特定パターン１３２は、一端部の外縁が第１境界部６ａの端部（角部５ｂ側の端部）を構成しており、他端部は特定パターン１３３に連結されてエンドパターン１３７の一部を構成している。また、特定パターン１３２の側部外縁全体が第２境界部６ｃを構成している。
【０１０４】
他方の特定パターン１３３も同様であり、複数色のセルが所定の配列で並んだ一端側パターン１３５と、エンドパターン１３７の一部とによって構成されている。一端側パターン１３５は、特定色のセル（黒色セル１３５ａ）と特定色とは異なる色のセル（白色セル１３５ｂ）とが交互に配置された構成をなしている。他方の特定パターン１３３も、一端部の外縁が第１境界部６ｂの端部（角部５ｃ側の端部）を構成しており、他端部は特定パターン１３２に連結されてエンドパターン１３７の一部を構成している。また、特定パターン１３３の側部外縁全体が第２境界部６ｄを構成している。
【０１０５】
このように構成される第２の特定パターン１３１は、二次元コード１３０のコード領域（矩形領域）を背景から分離するために利用されるものであり、読み取りの際に、この第２の特定パターン１３１を目印として少なくとも第２境界部６ｃ、６ｄが背景から分離され、ひいてはコードブロック１０を含んだコード領域全体が背景から分離されることとなる。
【０１０６】
また、本実施形態では、第２の特定パターン１３１が配置された側以外の各境界部（即ち、第１境界部５ａ、５ｂ）それぞれに隣接して誤り訂正コードブロック１２が配置されている。具体的には、いずれの第１境界部６ａ、６ｂにおいても、いずれかの誤り訂正コードブロック１２の半分のセルが隣接するようになっている。即ち、第１境界部６ａについては、４×２のマトリックス状に構成される４番目の誤り訂正コードブロック１２の長辺側が隣接し、第１境界部６ｂについては、２×４のマトリックス状に構成される１番目の誤り訂正コードブロック１２の長辺側が隣接するようになっている。
【０１０７】
また、第２の特定パターン１３１の内側に隣接する位置においても誤り訂正コードブロック１２が配置されている。具体的には、一方の特定パターン１３２の内側に隣接して３番目の誤り訂正コードブロック１２が配置されており、他方の特定パターン１３３の内側に隣接して２番目の誤り訂正コードブロック１２が配置されている。
【０１０８】
なお、図５の例では、１番目の誤り訂正コードブロック１２と特定パターン１３３との間に配置されるセルや、４番目の誤り訂正コードブロック１２と特定パターン１３２との間に配置されるセル、或いは、第１の特定パターン２に隣接する一部セルについては特に用途を示していないが、図５のコードブロック１０の配置を変更してこれらのセルの位置に配置してもよく、何らかの特定パターンを配置するように変更してもよい。或いは、コードブロック１０のデータとして利用されない剰余のブロックを配置するようにしてもよい。
【０１０９】
本実施形態の構成によれば、第１実施形態と同様の効果に加え、以下の効果を奏する。
図５の二次元コード１３０では、第１の特定パターン２が接する第１境界部６ａ、６ｂとは異なる境界部（第２境界部６ｃ、６ｄ）に隣接するように第２の特定パターン１３１が設けられているため、読み取りの際の画像データにおいて第２境界部６ｃ、６ｄを第２特定パターン１３１によって精度高く特定できるようになる。一方、第２の特定パターン１３１の配置側以外の各境界部（即ち、第１境界部６ａ、６ｂ）に隣接して誤り訂正コードブロック１２（境界部隣接ブロック）が配置されているため、第２特定パターン１３１の配置側以外の各境界部（各第１境界部６ａ、６ｂ）も精度高く特定でき、更に、第２特定パターン１３１が配置されていない領域を効果的に利用してコードブロック１０の領域を広く確保できる。
【０１１０】
また、第２の特定パターン１３１は、２つの第２境界部６ｃ、６ｄのいずれにも隣接する形態で配置されている。このようにすると、２つの第２境界部６ｃ、６ｄを第２の特定パターン１３１によって安定的に特定でき、第１境界部６ａ、６ｂについては、コードブロック領域を確保しつつ第１の特定パターン２と誤り訂正コードブロック１２（境界部隣接ブロック）とによって良好に特定できるようになる。
【０１１１】
また、第２の特定パターン１３１は、２つの第２境界部６ｃ、６ｄ全体に亘る形態で配置されている。このようにすると、第２境界部全体を第２の特定パターン１３１によって確実に特定できるようになる。また、第１境界部６ａ、６ｂについても、両端部を第１の特定パターン２と第２の特定パターン１３１とによって確実に特定でき、さらに中間部については誤り訂正コードブロック１２（境界部隣接ブロック）によって良好に特定できるため、コード領域（矩形領域）を極めて精度高く特定できるようになる。
【０１１２】
また、第２の特定パターン１３１の内側に隣接するように誤り訂正コードブロック１２が配置されている。このようにすると、第２境界部６ｃ、６ｄ側におけるコード領域（矩形領域）と背景との区別を、第２の特定パターン１３１のみならず必要に応じて誤り訂正コードブロック１２を利用して行うことができ、第２境界部６ｃ、６ｄの認識不良を効果的に抑えることができる。例えば、汚れなどによって第２の特定パターン１３１が欠けてしまった場合であっても、その内側に存在する誤り訂正コードブロック１２の位置を正確に特定できるため、その誤り訂正コードブロック１２の位置に基づいて正規の境界部を良好に推定できるようになる。
【０１１３】
［第４実施形態］
次に第４実施形態について説明する。図６は、第４実施形態に係る二次元コード１４０を概念的に例示する説明図である。なお、図６では、誤り訂正コードブロック１２の位置を破線にて概念的に示しており、データコードブロックについては省略して示している。なお、データコードブロックは、上記実施形態と同様のデータコードブロックを用いることができ、その配置については、第１の特定パターン２、エンドパターン１４７、誤り訂正コードブロック１２が配置されない領域に様々な態様で配置できる。また、図６では、各コードブロック１０の具体的セル構成は省略して示している。
【０１１４】
本実施形態の二次元コード１４０は、図１のエンドパターン７に代えてエンドパターン１４７を用いた点、誤り訂正コードブロック１２やデータコードブロックの形状、配置を図1とは異なるようにした点が第１実施形態と異なるが、第１の特定パターン２の構成、二次元コード全体のマトリックス構成、境界部６の形状、長さ、角部５ａ〜５ｄの位置、形状については図１と同様である。よってこれらについては図１と同一の符号を付し、詳細な説明は省略することとする。
【０１１５】
本実施形態の二次元コード１４０のコード領域（矩形領域）も、一辺に奇数個Ｌのセルが配置されたＬ×Ｌのマトリックスによって正方形領域として構成されており、具体的には図１と同様に１１×１１のマトリックスとして正方形状に構成されている。また、本実施形態の二次元コード１４０も、各セルＣは、２種類（黒色セル、白色セル）のいずれかのセルが用いられ、二色のコード構成となっている。また、本実施形態でも誤り訂正コードブロック１２が「境界部隣接ブロック」に相当しており、第１境界部６ａ、６ｂのそれぞれ、及び第２境界部６ｃ、６ｄのそれぞれに隣接するように誤り訂正ブロック１２が配置されている。
【０１１６】
また、二次元コード１４０で用いられるエンドパターン１４７は、所定の色彩、濃度、輝度で構成される第１セルと、第１セルとは色彩又は濃度又は輝度が異なる第２のセルと、を有し、第１のセルを中心に第２のセルで囲んだ矩形形状部を有してなるものである。具体的には、白色セル１４８ｂが上記「第１セル」に相当しており、黒色セル１４８ａが「第２セル」に相当している。矩形形状部１４８は、白色セル１４８ｂの周りを８つの黒色セル１４８ａで囲んだ構成をなしており、外形が矩形状（詳しくは正方形状）に構成されている。そして、この矩形形状部１４８の外縁が規定の角部５ａと対角位置にある角部５ｄを構成している。従って、読み取りの際に矩形形状部１４８の外縁が特定されれば、コード領域（矩形領域）の外縁を把握できることとなる。
【０１１７】
以上説明した本実施形態の構成によれば、対角の角部５ｄを特定しやすい構成を簡易に実現できる。また、矩形形状部１４８の外縁によって対角の角部５ｄが構成されているため、読み取りの際の矩形形状部１４８の特定が、その対角の角部５ｄを構成する境界部（第１の特定パターン２に隣接しない境界部、即ち第２境界部６ｃ、６ｄ）の認識にも寄与することとなり、エンドパターン１４７を利用して第２境界部６ｃ、６ｄを良好に特定できるようになる。
【０１１８】
また、図６の構成を図７のように変更してもよい。図７の二次元コード２４０は、マトリックス構成を２１セル×２１セルとした点、そのマトリックス構成に合わせて誤り訂正コードブロック１２やデータコードブロック（図７では省略）を構成、配置した点が図６と異なるが、第１の特定パターン２の構成、エンドパターン１４７の構成は図６と同様である。図７でも、第１境界部１０６ａ、１０６ｂのそれぞれ、及び第２境界部１０６ｃ、１０６ｄのそれぞれに隣接するように誤り訂正ブロック１２が配置されている。また、図７の例では、全境界部１０６に隣接する領域のうち、第１の特定パターン２及びエンドパターン１４７以外の領域が全て誤り訂正コードブロック１２で埋められている。
【０１１９】
［第５実施形態］
次に第５実施形態について説明する。図８は、第５実施形態に係る二次元コード１５０を概念的に例示する説明図である。図８でも、誤り訂正コードブロック１２の位置を破線にて概念的に示しており、データコードブロック１１の位置については実線枠内にハッチングを付して概念的に示している。また、図８でも、各コードブロック１０の具体的セル構成は省略して示している。
【０１２０】
本実施形態の二次元コード１５０は、第１の特定パターン２の構成、二次元コード全体のマトリックス構成、境界部６の形状、長さ、角部５ａ〜５ｄの位置、形状については図５と同一である。よってこれらについては図５と同一の符号を付し、詳細な説明は省略することとする。また、本実施形態の二次元コード１５０のコード領域（矩形領域）も、一辺に奇数個Ｌのセルが配置されたＬ×Ｌのマトリックスによって正方形領域として構成されており、具体的には図５と同様に１１×１１のマトリックスとして正方形状に構成されている。
【０１２１】
図１、図５等では、２種類のセルを用いた二次元コードを例示したが、本実施形態の二次元コード１５０は、３種類以上のセルを用いたいわゆるカラーコードとして構成されている。図８の例では、例えば、黒色セル、白色セル、赤色セル、緑色セル、青色セル、シアン色セル、マゼンダ色セル、黄色セル、の８色のセルを用いて二次元コード１５０が構成されている（図８では一部の色のみ図示）。なお、本実施形態及び他の実施形態を通し、黒色セルをＣｂ、白色セルをＣｗで示すとともに、緑色セルを符号Ｃｇ、赤色セルをＣｒ、青色セルをＣｕ、黄色セルをＣｙ、シアン色セルをＣｎ、マゼンダ色セルをＣｍとそれぞれ示すこととする。
【０１２２】
例えば、予め定められた８色のセルを用いる場合、各データコードブロック１１や各誤り訂正コードブロック１２を構成する各セルはそれぞれ、その８色のセルの中からいずれかの色のセルが用いられることとなる。具体的には、セルの色が、数値に対応付けられており、例えば、データ値「０」に対して第１の色「白」、データ値「１」に対して第２の色「赤」、データ値「２」に対して第３の色「緑」、データ値「３」に対して第４の色「青」、データ値「４」、に対して第５の色「マゼンタ」、データ値「５」に対して第６の色「黄」、データ値「６」に対して第７の色「シアン」、データ値「７」、に対して第８の色「黒」、がそれぞれ対応付けられている。なお、図８の二次元コード１５０で用いられる複数のデータコードブロック１１、複数の誤り訂正コードブロック１２は、図５と同様のマトリックス構成をなしているが、多色のセルによって構成されている点が図５と異なっている。
【０１２３】
また、図８に示す第２の特定パターン１５１は、構成的には、図５で用いた４つの白色セル１３４ｂをそれぞれ赤色セル１５４ｂ、黄色セル１５４ｃ、シアン色セル１５４ｄ、緑色セル１５４ｅに変更した点、図５で用いた４つの白色セル１３５ｂをそれぞれ赤色セル１５５ｂ、黄色セル１５５ｃ、シアン色セル１５５ｄ、緑色セル１５５ｅに変更した点のみが図５の特定パターン１３１と異なっており、それ以外（エンドパターン１３７等）については図５と同一の形状をなしている。
【０１２４】
図８で示す第２の特定パターン１５１は、色彩又は濃度又は輝度が異なる複数種類のセル（具体的には複数色のセル）が、予め定められた種類の組み合わせで配置されている。例えば、第２の特定パターン１５１の一方側を構成する特定パターン１５２（第２境界部６ｃに隣接する位置の特定パターン）は、黒色セル（黒色セル１５４ａ、１３８ａ）、赤色セル１５４ｂ、黄色セル１５４ｃ、シアン色セル１５４ｄ、緑色セル１５４ｅの５種類の組み合わせで構成されており、かつ所定の順序で配置されている。具体的には、黒色セル（黒色セル１５４ａ、１３８ａ）以外のセルにおいて第１境界部６ａ側から赤色セル１５４ｂ、黄色セル１５４ｃ、シアン色セル１５４ｄ、緑色セル１５４ｅの色順序で配置されており、黒色セル１５４ａを含めると、黒色セル１５４ａ、赤色セル１５４ｂ、黒色セル１５４ａ、黄色セル１５４ｃ、黒色セル１５４ａ、シアン色セル１５４ｄ、黒色セル１５４ａ、緑色セル１５４ｅ、黒色セル１３８ａの順番で配置されている。
【０１２５】
また、第２の特定パターン１５１の他方側を構成する特定パターン１５３（第２境界部６ｄに隣接する位置の特定パターン）も同様であり、黒色セル（黒色セル１５５ａ、１３８ａ）、赤色セル１５５ｂ、黄色セル１５５ｃ、シアン色セル１５５ｄ、緑色セル１５５ｅの５種類の組み合わせで構成され、かつ所定の順序で配置されている。具体的には、黒色セル（黒色セル１５５ａ、１３８ａ）以外のセルにおいて第１境界部６ｂ側から赤色セル１５５ｂ、黄色セル１５５ｃ、シアン色セル１５５ｄ、緑色セル１５５ｅの色順序で配置されており、黒色セル１５５ａを含めると、黒色セル１５５ａ、赤色セル１５５ｂ、黒色セル１５５ａ、黄色セル１５５ｃ、黒色セル１５５ａ、シアン色セル１５５ｄ、黒色セル１５５ａ、緑色セル１５５ｅ、黒色セル１３８ａの順番で配置されている。
【０１２６】
また、第２の特定パターン１５１は、矩形領域の各種類を参照するための参照領域として兼用されるようになっている。第２の特定パターン１５１は、コード領域（矩形領域）に配置される可能性のある色のセルを備えてなるものであり、データコードブロック１１や誤り訂正コードブロック１２などに使われる可能性のある一部の色、或いは全部の色を含んでなるものである。そして、読取処理の際に、矩形領域に配置されるセルの各色を判断するための参照領域として用いられるようになっている。例えば、読み取りの際に、矩形領域の各セルが、候補となる複数色のうちのどの色に該当するかを、第２の特定パターン１５１の各セル色に基づいて判断するといったことが可能となる。或いは、ある色として認識されたセルについて、その認識が正確であるか否かを第２の特定パターン１５１の各セル色に基づいて判断するといったことが可能となる。
【０１２７】
図８の二次元コード１５０のように、種類の異なる複数のセルを所定の順序で配置して第２の特定パターン１５１を構成すると、当該二次元コード１５０を読み取る際にセルの配置形状を認識しやすく、更に、セルの順序が所定の順序であるか否かを確認することで第２の特定パターン１５１として適当かを確認できるようにもなる。従って、第２境界部６ｃ、６ｄの特定を、形状面、内容面から行うことができ、特定の精度を一層高めることができる。
【０１２８】
また、二次元コード１５０では、色彩又は濃度又は輝度が異なる複数種類のセルが予め定められた種類の組み合わせで配置されて第２の特定パターン１５１が構成されており、かつ矩形領域の各種類を参照するための参照領域として兼用されている。このように、境界部６を特定するためのパターンを参照領域として兼用すれば、参照領域のための特別なパターンを別途用意する必要がなく、データ領域の増大或いはコード全体の小型化を図ることができる。
【０１２９】
［第６実施形態］
次に第６実施形態について説明する。図９は、第６実施形態に係る二次元コード１６０を概念的に例示する説明図である。図９でも、誤り訂正コードブロック１２の位置を破線にて概念的に示しており、データコードブロック１１の位置については実線枠内にハッチングを付して概念的に示している。また、図９でも、各コードブロック１０の具体的セル構成は省略して示している。
【０１３０】
本実施形態の二次元コード１６０は、第１の特定パターン２の構成、二次元コード全体のマトリックス構成、境界部６の形状、長さ、角部５ａ〜５ｄの位置、形状については図１と同一である。よってこれらについては図１と同一の符号を付し、詳細な説明は省略することとする。また、本実施形態の二次元コード１６０のコード領域（矩形領域）も、一辺に奇数個Ｌのセルが配置されたＬ×Ｌのマトリックスによって正方形領域として構成されており、具体的には図１と同様に１１×１１のマトリックスとして正方形状に構成されている。
【０１３１】
また、第５実施形態の構成（図８）と同様に、二次元コード１６０は、３種類以上のセルを用いたいわゆるカラーコードとして構成されており、各セルＣは、色彩又は濃度又は輝度の異なる複数種類のセル（例えば８色のセル）から選ばれたものが用いられるようになっている。なお、図９の二次元コード１６０で用いられる複数のデータコードブロック１１、複数の誤り訂正コードブロック１２は、図１と同様のマトリックス構成をなしているが、多色（３色以上）によって構成される点が図１と異なっている。
【０１３２】
また、図９では、エンドパターン１６７の構成が第１実施形態のエンドパターン７（図１）と異なっている。このエンドパターン１６７は、色彩又は濃度又は輝度が異なる複数種類のセルが、予め定められた種類の組み合わせで構成され、かつ所定の順序で配置されてなるものである。図９の例では、赤色セル１６８ａ、黄色セル１６８ｂ、シアン色セル１６８ｃの３種類が組み合わされてエンドパターン１６７が構成され、角部５ｂ側から時計回りに、赤色セル１６８ａ、黄色セル１６８ｂ、シアン色セル１６８ｃの色順序で配置されている。また、これら赤色セル１６８ａ、黄色セル１６８ｂ、シアン色セル１６８ｃは、Ｌ字状に並んでＬ字形状部１６８を構成しており、このＬ字形状部１６８の外側外縁が、規定の角部５ａ（第１の特定パターン２が配置された角部）の対角位置にある角部５ｄの角位置を示すようになっている。
【０１３３】
また、エンドパターン１６７は、コード領域（矩形領域）の各種類を参照するための参照領域として兼用されるようになっている。このエンドパターン１６７は、コード領域（矩形領域）に配置される可能性のある色のセルを備えてなるものであり、図９の例では、二次元コード１６０においてデータコードブロック１１や誤り訂正コードブロック１２などに使われる可能性のある一部の色を含んでいる。そして、読取処理の際に、矩形領域に配置されるセルの各色を判断するための参照領域として用いられるようになっている。例えば、読み取りの際に、矩形領域の各セルが、候補となる複数色のうちのどの色に該当するかを、エンドパターン１６７の各セルの色に基づいて判断するといったことが可能となる。或いは、ある色として認識されたセルについて、その認識が正確であるか否かをエンドパターン１６７の各セルの色に基づいて判断するといったことが可能となる。
【０１３４】
本実施形態では、色彩の異なる複数種類のセルが所定の順序で配置されたＬ字形状部１６８によってエンドパターン１６７が構成されており、当該Ｌ字形状部１６８の外縁が規定の角部５ａ（第１の特定パターンが配置される角部）と対角にある角部５ｄを構成している。このように種類の異なる複数のセルを所定の順序で配置すると、当該二次元コードを読み取る際にセルの配置形状を認識しやすく、更に、セルの順序が所定の順序であるか否かを確認することでエンドパターン１６７として適当かを確認できるようにもなる。従って、対角の角部５ｄの特定を、形状面、内容面から行うことができ、特定の精度を一層高めることができる。また、Ｌ字形状部１６８の外縁によって対角の角部５ｄが構成されているため、読み取りの際のＬ字形状部１６８の特定が、対角の角部５ｄを構成する境界部６（第１の特定パターンに隣接しない境界部、即ち第２境界部６ｃ、６ｄ）の認識にも寄与することとなり、エンドパターン１６７を利用して第２境界部６ｃ、６ｄを良好に特定できるようになる。
【０１３５】
また、色彩が異なる複数種類のセルが予め定められた種類の組み合わせで配置されてエンドパターン１６７が構成されており、かつ矩形領域の各種類を参照するための参照領域として兼用されている。このように対角の角部５ｄを特定するためのパターンを参照領域として兼用すれば、参照領域のための特別なパターンを別途用意する必要がなく、データ領域の増大、コード全体の小型化を図ることができる。
【０１３６】
なお、図９の構成に代えて、図１０のようにしてもよい。図１０は、図７のエンドパターン１４７をエンドパターン２６７に変更した点、各セルが色彩又は濃度又は輝度の異なる複数種類のセル（例えば８色のセル）から選ばれたものが用いられるようになっている点（即ち、コード全体としてカラーコードとして構成されている点）が図７と異なり、それ以外は図７と同様である。例えば、第１の特定パターン２の構成、二次元コード全体のマトリックス構成、境界部１０６の形状、長さ、角部５ａ〜５ｄの位置、形状については図７と同一である。なお、図１０の二次元コード２６０で用いられる複数のデータコードブロック、複数の誤り訂正コードブロック１２は、図７と同様のマトリックス構成をなしているが、多色のセルによって構成されている点が図７と異なっている。
【０１３７】
図１０の二次元コード２６０は、エンドパターン２６７が矩形形状部２６８によって構成されている。具体的には、一方の第２境界部１０６ｃに沿って隣接するように角部５ｂ側から黒色セル２６８ａ、赤色セル２６８ｂ、黄色セル２６８ｃの色順序で直線状に並んでおり、黄色セル２６８ｃの外縁が角部５ｄの角位置を示すようになっている。さらに、この黒色セル２６８ａ、赤色セル２６８ｂ、黄色セル２６８ｃの並びに対し、角部５ｄから直角に折れ曲がって黄色セル２６８ｃ、シアン色セル２６８ｄ、黒色セル２６８ｅの色順序で直線状に並んで配置されている。これら黄色セル２６８ｃ、シアン色セル２６８ｄ、黒色セル２６８ｅは、第２境界部１０６ｄに沿って隣接するように直線状に構成されており、角部５ｃ側から見れば、黒色セル、シアン色セル、黄色セルの色順序で配置されている。この図１０の例では、直線状に構成される黒色セル２６８ａ、赤色セル２６８ｂ、黄色セル２６８ｃの外縁が第２境界部１０６ｃを示しており、同じく直線状に構成される黄色セル２６８ｃ、シアン色セル２６８ｄ、黒色セル２６８ｅの外縁が第２境界部１０６ｄを示している。
【０１３８】
また、黄色セル２６８ｃ、シアン色セル２６８ｄ、黒色セル２６８ｅの並びに対し、黒色セル２６８ｅから直角に折れ曲がって黒色セル２６８ｅ、マゼンダ色セル２６８ｆ、青色セル２６８ｇの色順序で直線状に並んで配置され、更に、この黒色セル２６８ｅ、マゼンダ色セル２６８ｆ、青色セル２６８ｇの並びに対し、青色セル２６８ｇから直角に折れ曲がって青色セル２６８ｇ、緑色セル２６８ｈ、黒色セル２６８ａの色順序で直線状に並んでいる。これらのセルは、第１の特定パターン２が左上位置となるように二次元コード２６０を配置したときに、上側から時計回りに、黒色セル２６８ａ、赤色セル２６８ｂ、黄色セル２６８ｃ、シアン色セル２６８ｄ、黒色セル２６８ｅ、マゼンダ色セル２６８ｆ、青色セル２６８ｇ、緑色セル２６８ｈの色順序で環状かつ外縁矩形状に配置されており、かつ中心位置に背景色と同一色の白色セル２６８ｉが配置されて矩形形状部２６８が構成されている。このような矩形形状部２６８がエンドパターン２６７として機能し、矩形形状部２６８の外側外縁によって角部５ｄの角位置が示されるようになっている。
【０１３９】
また、図１０のエンドパターン２６７は、複数の色のセルが、予め定められた色の組み合わせで配置されてなるものであり、二次元コード２６０のコード領域（矩形領域）の各色を参照するための参照領域として兼用されるようになっている。図１０の例では、コード領域（矩形領域）に配置される可能性のある全ての色のセルを備えてエンドパターン２６７が構成されており、具体的にはデータコードブロック（図示略）や誤り訂正コードブロック１２などに使われる可能性のある８色全て含んだ構成をなしている。
【０１４０】
そして、読取処理の際に、矩形領域に配置されるセルの各色を判断するための参照領域として用いられるようになっている。例えば、読み取りの際に、矩形領域の各セルが、候補となる複数色（図１０の例では８色）のうちのどの色に該当するかを、エンドパターン２６７の各セルの色に基づいて判断するといったことが可能となる。或いは、ある色として認識されたセルについて、その認識が正確であるか否かをエンドパターン２６７の各セルの色に基づいて判断するといったことが可能となる。
【０１４１】
［他の実施形態］
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば以下のような実施形態も本発明の技術的範囲に含まれる。
【０１４２】
上記実施形態では、コード領域に隣接する背景の色（背景色）を白色とし、白色以外の色のセルを「背景とは色彩又は濃度又は輝度が異なるセル」として例示しているが、この構成でなくてもよい。たとえば、背景色を黒色とし、黒色以外の色のセルを「背景とは色彩又は濃度又は輝度が異なるセル」としてもよい。
【０１４３】
図１、図４、図５、図６、図７等では、二種類のセル（白色セル、黒色セル）によって二次元コードを構成する例を示したが、二種類のセルによって二次元コードを構成するいずれについても、白色以外の明色セルを用いることができ、黒色セル以外の暗色セルを用いることができる。例えば、特定色の明色セルを用いる場合、その特定色よりも明度の低い他色によって暗色セルを構成できる。
【０１４４】
上記実施形態では、コード領域（矩形領域）として、外形が正方形状に構成される正方形領域を例示したが、これに限定されず、例えば、図１１のように、コード領域（矩形領域）の構成は、外形が長方形状に構成される長方形領域であってもよい。図１１の二次元コード１７０では、４つの境界部２０６のうち３つが第１境界部（第１の特定パターン２が隣接する境界部）として構成され、そのうちの一つ（短辺側の第１境界部２０６ｂ）が第１の特定パターン２の外縁のみによって構成され、残りの２つ（長辺側の第１境界部２０６ａ、２０６ｄ）に隣接するように誤り訂正コードブロック１２が配置されている。なお、残りの第２境界部２０６ｃに隣接するように誤り訂正コードブロック１２を配置してもよい。なお、図１１では、データコードブロックについては省略して示している。また、誤り訂正コードブロック１２の配置や数については変更してもよい。
【０１４５】
上記実施形態では、第１の特定パターンとして外形が矩形状の構成を例示したが、規定の角部５ａを特定し得る構成であればこれに限定されない。例えば、図１２の第１の特定パターン１８２のように、Ｌ字形状の構成であってもよい。また、図１２の第１の特定パターン１８２は同一種類のセル（図１２では黒色セル）が複数連続したＬ字形状として構成されているが、複数種類のセルによってＬ字形状に構成してもよい。また、図１３のように略Ｌ字形状としてもよい。図１３の第１の特定パターン１９２は、同一種類のセル（図１３では黒色セル）が複数連続した略Ｌ字形状とされており、第１の特定パターン１９２が、２つの境界部３０６ａ、３０６ｂ全体、及び２つの境界部３０６ｃ、３０６ｄのそれぞれの一部に隣接するように配置されている。即ち、第１の特定パターン１９２が４つの境界部３０６全部に跨るように隣接しており、これら４つの境界部３０６のうち、第１の特定パターン１９２が隣接する領域以外の領域（境界部３０６ｃ、３０６ｄのそれぞれの一部領域）に隣接するように誤り訂正コードブロック１２が配置されている。
【０１４６】
上記実施形態では、コードブロックの構成として、主に８つのセルが集合してなるブロックを例示したが、データコードブロック１１、誤り訂正コードブロック１２、圧縮データコードブロック１３のいずれについても、セル数は８以外であってもよい。例えば、８未満（例えば、２個、４個、６個等）のセルが集合してなるブロックであってもよく、８よりも大きい数（例えば、１０個、１６個等）のセルが集合してなるブロックであってもよい。
【０１４７】
上記実施形態では、誤り訂正の方法として、ＪＩＳに規定される方法を用いたが、データコードブロックの誤りを訂正しうる方法であればこれ以外の方法を用いてもよく、要するにデコードすべきデータ内容（具体的にはデータコードブロックを構成するデータコード語）に基づいて誤り訂正コード語が生成され、データコードブロックの一部に誤りが生じた場合にこの誤り訂正コード語によって誤り訂正をし得る方法であれば周知の他の誤り訂正方法を用いてもよい。例えば、データコードブロックのデータをＬＤＰＣ符号（低密度パリティ検査符号）を用いて誤り訂正を行う構成であってもよく、この場合、ＬＤＰＣ符号を上記誤り訂正コードブロックによって表現し、それを矩形領域の境界部に隣接させて配置すればよい。
【０１４８】
第５実施形態では、第２の特定パターンが１つのまとまりとして構成される例を示したが、第２の特定パターンは複数に分割された構成であってもよい。
【０１４９】
第３、第５実施形態では、２つの第２境界部両方に隣接するように第２の特定パターンが構成されていたが、いずれかの第２境界部のみに隣接するように第２の特定パターンが設けられていてもよい。
【０１５０】
第３、第５実施形態では、第２の特定パターン１３１又は１５１の内側に隣接するように誤り訂正コードブロック１２を配置したが、第２特定パターンの内側に隣接するように圧縮データコードブロック（第２実施形態と同様の構成のもの）を配置してもよい。このようにすると、矩形領域と背景との区別を、第２の特定パターンのみならず必要に応じて圧縮データコードブロックを利用して行うことができ、第２境界部の認識不良を効果的に抑えることができる。
【０１５１】
上記実施形態では複数のセルによってエンドパターンを構成したが、図１４の二次元コード２００のように、色彩又は濃度又は輝度が背景とは異なる単一のセル２０７ａによってエンドパターン２０７を構成してもよい。なお、図１４は、エンドパターン２０７以外は図１と同様である。このようにすると、エンドパターンに要する領域を極力抑えることができ、データ領域の増大を図ることができる。
【０１５２】
また、第１実施形態で説明した図１の構成を図１５のように変更してもよい。図１５の二次元コード３１０は、第２のエンドパターン３１１、３１２を設けた点、エンドパターン７をエンドパターン３１７に変更した点、それに合わせて誤り訂正コードブロックの形状及び矩形領域内での配置を変更した点のみが図１と異なり、それ以外は図１の二次元コードと同一である。例えば、第１の特定パターン２及びデータコードブロック１１については、図１と同一であり、誤り訂正コードブロック１２についても、外形や矩形領域内での配置が異なるだけで、データ内容、使用されるセル、機能等は第１実施形態と同一である。
【０１５３】
図１５の構成では、第１境界部６ａ（矩形領域の境界をなす４辺の内の、第１の特定パターン２に隣接する一辺）のエンド位置を示すように第２のエンドパターン３１１が配置されている。この第２のエンドパターン３１１は、色彩又は濃度又は輝度が背景（ここでは白色等の明色）とは異なる３つの黒色セル３１１ａ、３１１ｂ、３１１ｃがＬ字状に配置されてなるものであり、その内の黒色セル３１１ａ、３１１ｂが第１境界部６ａに隣接して並んでいる。そして、第１境界部６ａの端部に隣接する黒色セル３１１ｂの外側の外縁が、第１境界部６ａのエンド位置及び角部５ｂの角位置を示している。また、黒色セル３１１ｂ、３１１ｃは、第２境界部６ｃ（矩形領域の境界をなす４辺の内の、第１の特定パターン２に隣接しない一辺）に隣接して並び、第２境界部６ｃの端部に隣接する黒色セル３１１ｂの外側の外縁が、第２境界部６ｃのエンド位置を示している。
【０１５４】
また、図１５の構成では、第１境界部６ｂ（矩形領域の境界をなす４辺の内の、第１の特定パターン２に隣接するもう一辺）のエンド位置を示すように第２のエンドパターン３１２が配置されている。この第２のエンドパターン３１２は、色彩又は濃度又は輝度が背景とは異なる３つの黒色セル３１２ａ、３１２ｂ、２１２ｃがＬ字状に配置されてなるものであり、その内の黒色セル３１２ａ、３１２ｂが第１境界部６ｂに隣接して並んでいる。そして、第１境界部６ｂの端部に隣接する黒色セル３１２ｂの外側の外縁が、第１境界部６ｂのエンド位置及び角部５ｃの角位置を示している。また、黒色セル３１２ｂ、３１２ｃは、第２境界部６ｄ（矩形領域の境界をなす４辺の内の、第１の特定パターン２に隣接しないもう一辺）に隣接して並び、第２境界部６ｄの端部に隣接する黒色セル３１２ｂの外側の外縁が、第２境界部６ｄのエンド位置を示している。
【０１５５】
また、図１５の構成では、第１の特定パターン２が配置される規定の角部５ａの対角にある角部５ｄにはエンドパターン３１７が配置されている。このエンドパターン３１７は、色彩又は濃度又は輝度が背景とは異なる単一の黒色セル３１７ａによって構成されており、この黒色セル３１７ａは第２境界部６ｃ、６ｄのいずれにも隣接して配置されており、黒色セル３１７ａの外縁の一辺が第２境界部６ｃの端部に位置し、外縁のもう一辺が第２境界部６ｄの端部に位置するように構成されている。
【０１５６】
また、図１５の構成は、第１の特定パターン２以外の領域において、矩形領域の境界部６に隣接する位置に誤り訂正コードブロック１２が配置されている点は第１実施形態と同様であり、図１５では、各誤り訂正コードブロック１２が上記エンドパターン３１７及び第２のエンドパターン３１１，３１２を避けた領域に配置されている。
【０１５７】
なお、図１５の構成においてデータ領域の構成を変更してもよい。例えば、図１５の構成における誤り訂正コードブロック１２の各位置に、第２実施形態と同様の圧縮データコードブロック１３をそれぞれ配置してもよい。この場合、誤り訂正コードブロック１２については、図１５のデータコードブロック１１の領域に配置すればよい。
【０１５８】
また、第１実施形態で説明した図１の構成を図１６のように変更してもよい。図１６の二次元コード３２０は、セルの配列を１３行１３列とした点、第２のエンドパターン３２１、３２２を設けた点、エンドパターン７をエンドパターン３２７に変更した点、それに合わせて誤り訂正コードブロック１２やデータコードブロック１１の数、形状、及び矩形領域内での配置を変更した点のみが図１と異なり、それ以外は図１の二次元コード１と同一である。例えば、第１の特定パターン２については、図１と同一であり、データコードブロック１１や誤り訂正コードブロック１２についても、数、外形、矩形領域内での配置が異なるだけで、データ内容、機能等は第１実施形態と同一である。なお、図１６では、データコードブロック１１（図１）の配置や構成は省略しているが、誤り訂正コードブロック１２が配置されない領域において様々に設けることができる。
【０１５９】
図１６の構成では、第１境界部６ａ（矩形領域の境界をなす４辺の内の、第１の特定パターン２に隣接する一辺）のエンド位置を示すように第２のエンドパターン３２１が配置されている。この第２のエンドパターン３２１は、色彩又は濃度又は輝度が背景（ここでは白色等の明色）とは異なる５つの黒色セル３２１ａ、３２１ｂ、３２１ｃ、３２１ｄ、３２１ｅがＬ字状に配置されてなるものであり、その内の黒色セル３２１ａ、３２１ｂ、３２１ｃが第１境界部６ａに隣接して直線状に並んでいる。そして、第１境界部６ａの端部に隣接する黒色セル３２１ｃの外側の外縁が、第１境界部６ａのエンド位置及び角部５ｂの角位置を示している。また、黒色セル３２１ｃ、３２１ｄ、３２１ｅは、第２境界部６ｃ（矩形領域の境界をなす４辺の内の、第１の特定パターン２に隣接しない一辺）に隣接して直線状に並び、第２境界部６ｃの端部に隣接する黒色セル３２１ｃの外側の外縁が、第２境界部６ｃのエンド位置を示している。
【０１６０】
また、図１６の構成では、第１境界部６ｂ（矩形領域の境界をなす４辺の内の、第１の特定パターン２に隣接するもう一辺）のエンド位置を示すように第２のエンドパターン３２２が配置されている。この第２のエンドパターン３２２は、色彩又は濃度又は輝度が背景とは異なる５つの黒色セル３２２ａ、３２２ｂ、３２２ｃ、３２２ｄ、３２２ｅがＬ字状に配置されてなるものであり、その内の黒色セル３２２ａ、３２２ｂ、３２２ｃが第１境界部６ｂに隣接して直線状に並んでいる。そして、第１境界部６ｂの端部に隣接する黒色セル３２２ｃの外側の外縁が、第１境界部６ｂのエンド位置及び角部５ｃの角位置を示している。また、黒色セル３２２ｃ、３２２ｄ、３２２ｅは、第２境界部６ｄ（矩形領域の境界をなす４辺の内の、第１の特定パターン２に隣接しない一辺）に隣接して直線状に並び、第２境界部６ｄの端部に隣接する黒色セル３２２ｃの外側の外縁が、第２境界部６ｄのエンド位置を示している。
【０１６１】
また、図１６の構成では、第１の特定パターン２が配置される規定の角部５ａの対角にある角部５ｄにはエンドパターン３２７が配置されている。このエンドパターン３２７は、色彩又は濃度又は輝度が背景とは異なる５つの黒色セル３２７ａ、３２７ｂ、３２７ｃ、３２７ｄ、３２７ｅがＬ字状に配置されてなるものであり、その内の黒色セル３２７ａ、３２７ｂ、３２７ｃが第２境界部６ｃに隣接して直線状に並んでいる。そして、第２境界部６ｃの端部に隣接する黒色セル３２７ｃの外側の外縁が、第２境界部６ｃのエンド位置及び角部５ｄの角位置を示している。また、黒色セル３２７ｃ、３２７ｄ、３２７ｅは、第２境界部６ｄに隣接して直線状に並び、第２境界部６ｄの端部に隣接する黒色セル３２７ｃの外側の外縁が、第２境界部６ｄのエンド位置を示している。
【０１６２】
また、図１６の構成は、第１の特定パターン２以外の領域において、矩形領域の境界部６に隣接する位置に誤り訂正コードブロック１２が配置されている点は第１実施形態と同様であり、図１６では、各誤り訂正コードブロック１２が上記エンドパターン３２７及び第２のエンドパターン３２１，３２２を避けた領域に配置されている。
【０１６３】
なお、図１６の構成においてデータ領域の構成を変更してもよい。例えば、図１６の構成における誤り訂正コードブロック１２の各位置に、第２実施形態と同様の圧縮データコードブロック１３をそれぞれ配置してもよい。この場合、誤り訂正コードブロック１２については、例えば矩形領域の中央付近に配置すればよい。
【０１６４】
以上の説明では、第１の特定パターンとしていくつか例を挙げて説明したが（図１、図１２、図１３等）、これらの構成に限られない。即ち、矩形領域の規定の角部５ａに背景色と異なる色のセルを配置して当該規定の角部５ａを特定しうる構成であれば、使用する色、セル数、形状、配置順序等は様々とすることができる。
【０１６５】
以上の説明では、第２の特定パターンとしていくつか例を挙げて説明したが（図５、図８等）、これらの構成に限られない。即ち、第２境界部（第１の特定パターンが隣接しない境界部）に背景色と異なる色のセルを配置する特定パターンであれば、使用する色、セル数、形状、配置順序等は様々とすることができる。  
【０１６６】
以上の説明では、エンドパターンとしていくつか例を挙げて説明したが（図１、図５、図６、図９、図１０、図１４等）これらの構成に限られない。例えば、対角の角部５ｄに背景色と異なる色のセルを配置する特定パターンであれば、使用する色、セル数、形状、配置順序等は様々とすることができる。
【図面の簡単な説明】
【０１６７】
【図１】図１は、第１実施形態に係る二次元コードを概略的に説明する説明図である。
【図２】図２は、図１の二次元コードを読み取る光学的情報読取装置を概略的に例示するブロック図である。
【図３】図３は、図１の二次元コードを読み取る読取処理を例示するフローチャートである。
【図４】図４は、第２実施形態に係る二次元コードを概略的に説明する説明図である。
【図５】図５は、第３実施形態に係る二次元コードを概略的に説明する説明図である。
【図６】図６は、第４実施形態に係る二次元コードを概略的に説明する説明図である。
【図７】図７は、第４実施形態に関し、図６とは異なる変形例を示す説明図である。
【図８】図８は、第５実施形態に係る二次元コードを概略的に説明する説明図である。
【図９】図９は、第６実施形態に係る二次元コードを概略的に説明する説明図である。
【図１０】図１０は、第６実施形態に関し、図９とは異なる変形例を示す説明図である。
【図１１】図１１は、図１の変形例を示すものであり、矩形領域が長方形状に構成される例を説明する説明図である。
【図１２】図１２は、図１の第１の特定パターンを変更した変形例１を説明する説明図である。
【図１３】図１３は、図１の第１の特定パターンを変更した変形例２を説明する説明図である。
【図１４】図１４は、図１の変形例を示すものであり、エンドパターンが単一のセルによって構成される例を説明する説明図である。
【図１５】図１５は、第２のエンドパターンが設けられた構成例１を説明する説明図である。
【図１６】図１６は、第２のエンドパターンが設けられた構成例２を説明する説明図である。
【符号の説明】
【０１６８】
１，１２０，１３０，１４０，１５０，１６０，１７０，１８０，１９０，２００，２４０，２６０，３１０，３２０…二次元コード
２，１８２，１９２…第１の特定パターン
１３１，１５１…第２の特定パターン
７，１３７，１４７，１６７，２６７，２０７，３１７，３２７…エンドパターン
５ａ…角部（規定の角部）
５ｄ…角部（対角の角部）
６，１０６，２０６，３０６…境界部
６ａ，６ｂ，１０６ａ，１０６ｂ，２０６ａ，２０６ｂ，２０６ｄ，３０６ａ〜３０６ｄ…第１境界部
６ｃ，６ｄ，１０６ｃ，１０６ｄ，２０６ｃ…第２境界部
１０…コードブロック
１１…データコードブロック
１２…誤り訂正コードブロック
１３…圧縮データコードブロック
【図１】
0005120156.tif 000002
【図２】
0005120156.tif 000003
【図３】
0005120156.tif 000004
【図４】
0005120156.tif 000005
【図５】
0005120156.tif 000006
【図６】
0005120156.tif 000007
【図７】
0005120156.tif 000008
【図８】
0005120156.tif 000009
【図９】
0005120156.tif 000010
【図１０】
0005120156.tif 000011
【図１１】
0005120156.tif 000012
【図１２】
0005120156.tif 000013
【図１３】
0005120156.tif 000014
【図１４】
0005120156.tif 000015
【図１５】
0005120156.tif 000016
【図１６】
0005120156.tif 000017