(57)【要約】【課題】コード領域の検出に関して不要なコード検出処理を抑制し得る二次元コードを提供する。【解決手段】矩形状のコード領域３１の外縁３４のうち、複数種類のセルが一列に配列されてなる第１の縁３４ａは、少なくとも中間部位において、２以上の異なるセルを配列してなる特定パターン４０が繰り返されて構成され、第１の縁３４ａに対向するように複数種類のセルが一列に配列されてなる第２の縁３４ｂは、少なくとも中間部位において、上記特定パターン４０が繰り返されて構成される。【選択図】図１
2019071045.tif 000002
【特許請求の範囲】
【請求項１】
矩形状のコード領域内に複数種類のセルがマトリクス状に配列されてなる二次元コードであって、
前記コード領域の外縁のうち、前記複数種類のセルが一列に配列されてなる第１の縁は、少なくとも中間部位において、２以上の異なるセルを配列してなる特定パターンが繰り返されて構成され、前記第１の縁に対向するように前記複数種類のセルが一列に配列されてなる第２の縁は、少なくとも中間部位において、前記特定パターンが繰り返されて構成されることを特徴とする二次元コード。
【請求項２】
前記コード領域の隅部の１つには、当該コード領域の検出に利用する第１の位置検出パターンが配置され、
前記第１の縁は、前記第１の位置検出パターンに到達するまで前記特定パターンが繰り返されるように構成されることを特徴とする請求項１に記載の二次元コード。
【請求項３】
前記第１の位置検出パターンに対して対角となる前記コード領域の隅部には、当該コード領域の検出に利用する第２の位置検出パターンが前記第１の位置検出パターンと異なる配列にて配置され、
前記第２の縁は、前記第２の位置検出パターンに到達するまで前記特定パターンが繰り返されるように構成されることを特徴とする請求項２に記載の二次元コード。
【請求項４】
前記第１の縁は、始端及び終端の少なくとも一方が、前記特定パターンと異なる端部用のパターンとなるように構成されることを特徴とする請求項１〜３のいずれか一項に記載の二次元コード。
【請求項５】
前記第２の縁は、始端及び終端の少なくとも一方が、前記特定パターンと異なる端部用のパターンとなるように構成されることを特徴とする請求項１〜４のいずれか一項に記載の二次元コード。
【請求項６】
前記コード領域内には、前記第１の縁及び前記第２の縁に直交する対向方向にて前記第１の縁から前記第２の縁にかけて、それぞれセルの配列が同じになる分断パターンが１以上配置されることを特徴とする請求項１〜５のいずれか一項に記載の二次元コード。
【請求項７】
前記コード領域の外縁のうち、前記第１の縁及び前記第２の縁に直交するように互いに対向する第３の縁及び第４の縁は、少なくとも中間部位を構成するセルの種類が、前記第１の縁及び前記第２の縁に沿う方向にて対向する位置の前記分断パターンのセルと同じ種類となるように構成されることを特徴とする請求項６に記載の二次元コード。
【請求項８】
前記コード領域のサイズは、前記分断パターンが前記第１の縁に接する位置によって決まることを特徴とする請求項６又は７に記載の二次元コード。
【請求項９】
前記第１の縁において前記特定パターンが繰り返される部分と前記第２の縁において前記特定パターンが繰り返される部分とで、前記第１の縁及び前記第２の縁に直交する対向方向にて対向する位置のセルが同じ種類であることを特徴とする請求項１〜５のいずれか一項に記載の二次元コード。
【請求項１０】
前記第１の縁及び前記第２の縁は、前記特定パターンと配列が異なる第２の特定パターンが前記特定パターンの繰り返し中に１又は２以上出現するように構成され、
前記第１の縁の前記第２の特定パターンと前記第２の縁の前記第２の特定パターンとで前記対向方向にて対向する位置のセルが同じ種類であることを特徴とする請求項９に記載の二次元コード。
【請求項１１】
前記第１の縁及び前記第２の縁は、それぞれ前記第２の特定パターンが１以上出現するように構成され、
前記対向方向にて前記第１の縁の前記第２の特定パターンから対向する前記第２の縁の前記第２の特定パターンにかけて、それぞれセルの配列が同じになる分断パターンが配置されることを特徴とする請求項１０に記載の二次元コード。
【請求項１２】
前記第２の特定パターンは、同じ種類のセルを３つ配列して構成され、
前記分断パターンは、前記第２の特定パターンの中央のセルに接する端部のセルが当該第２の特定パターンを構成するセルと異なる種類のセルにより構成され、
前記端部のセルを囲うセルが前記第２の特定パターンを構成するセルと同じ種類のセルにより構成されることを特徴とする請求項１１に記載の二次元コード。
【請求項１３】
前記コード領域の外縁のうち、前記第１の縁及び前記第２の縁に直交するように互いに対向する第３の縁及び第４の縁は、少なくとも中間部位を構成するセルの種類が、前記第１の縁及び前記第２の縁に沿う方向にて対向する位置の前記分断パターンのセルと同じ種類となるように構成されることを特徴とする請求項１１又は１２に記載の二次元コード。
【請求項１４】
前記コード領域のサイズは、前記分断パターンが前記第１の縁に接する位置によって決まることを特徴とする請求項１１〜１３のいずれか一項に記載の二次元コード。
【請求項１５】
前記複数種類のセルは、明色セルと暗色セルとからなり、
前記特定パターンは、一組の前記明色セル及び前記暗色セルからなることを特徴とする請求項１〜１４のいずれか一項に記載の二次元コード。
【請求項１６】
前記コード領域は、長方形状であり、
前記第１の縁及び前記第２の縁は、前記コード領域の長辺を構成することを特徴とする請求項１〜１５のいずれか一項に記載の二次元コード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のセルをマトリクス状に配置してなる二次元コードに関するものである。
【背景技術】
【０００２】
従来より、複数のセルをマトリクス状に配置してなる二次元コードが各種提供されている。この種の二次元コードを読み取る読取装置（二次元コードリーダ）は、当該二次元コードを含んだ画像データを取得した上で、その画像データの中から二次元コードの領域（コード領域）を検出する解析処理を行い、その検出されたコード領域から、画像内容に基づいて各セルの座標を決定し、各座標位置の画像情報からセルの色を判別し、デコード処理を行う構成のものが一般的である。このような二次元コードに関する技術として、例えば、特許文献１に開示されるデータマトリックスが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０７−１５２８８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
撮像した二次元コードを読み取る場合には、撮像画像に占める二次元コードのコード領域及び各セルの座標を正確に検出する必要がある。しかしながら、上記特許文献１に開示されるデータマトリックスのように、暗色セルがＬ字状にて一列に配列された縁部と明色セル及び暗色セルが交互となるようにＬ字状にて一列に配列された縁部とを利用して矩形状のコード領域を検出する構成では、以下の様な問題が生じる可能性がある。例えば、撮像画像からコード領域を検出する際、データマトリックスが撮像されていない場合でも、暗色セルを一列に配列した直線領域に相当するような実線部分が撮像されていると、データマトリックスが撮像されている可能性があるとして、コード領域を検出するための検出処理がなされてしまう。
【０００５】
すなわち、暗色セルを一列に配列した直線領域をコード領域検出用のパターンとして採用するような二次元コードが読取対象となる場合、その二次元コードと無関係の実線部分が撮像されているだけで、そのコード領域を検出するための検出処理が無駄になされてしまうという問題がある。また、上述のような二次元コードが撮像されていても、その撮像画像に無関係の実線部分が含まれていると、その実線部分を基準にコード領域を検出するための検出処理がなされてしまう場合がある。特に、実線部分は、Ｌ字状であったとしても、二次元コードが表示される表示面の縁部分や表示面に設けられる表の枠線等により構成されて撮像画像に含まれる可能性が高いため、上記問題は生じやすい。
【０００６】
本発明は、上述した課題を解決するためになされたものであり、その目的とするところは、コード領域の検出に関して不要なコード検出処理を抑制し得る二次元コードを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、特許請求の範囲の請求項１に記載の発明は、
矩形状のコード領域（３１）内に複数種類のセルがマトリクス状に配列されてなる二次元コード（３０，３０ａ〜３０ｅ）であって、
前記コード領域の外縁（３４）のうち、前記複数種類のセルが一列に配列されてなる第１の縁（３４ａ）は、少なくとも中間部位において、２以上の異なるセルを配列してなる特定パターン（４０，４０ａ）が繰り返されて構成され、前記第１の縁に対向するように前記複数種類のセルが一列に配列されてなる第２の縁（３４ｂ）は、少なくとも中間部位において、前記特定パターンが繰り返されて構成されることを特徴とする。
なお、上記各括弧内の符号は、後述する実施形態に記載の具体的手段との対応関係を示すものである。
【発明の効果】
【０００８】
請求項１の発明では、矩形状のコード領域の外縁のうち、複数種類のセルが一列に配列されてなる第１の縁は、少なくとも中間部位において、２以上の異なるセルを配列してなる特定パターンが繰り返されて構成され、第１の縁に対向するように複数種類のセルが一列に配列されてなる第２の縁は、少なくとも中間部位において、上記特定パターンが繰り返されて構成される。
【０００９】
このように、互いに対向する第１の縁及び第２の縁は、少なくとも中間部位が上記特定パターンの繰り返しにより構成されるので、撮像画像から上記特定パターンが繰り返される２つの平行な部分を検出することができれば、その２つの平行な部分を対向する外縁とするコード領域を検出することができる。特に、上記特定パターンが繰り返されるような周期性のあるパターンは、二次元コードとともに表示面に表示される枠線や文字等から構成され難く、実線部分と異なり撮像画像に含まれる可能性が低いため、上記コード領域が撮像されていない場合に当該コード領域の検出に関して不要なコード検出処理を抑制することができる。
【００１０】
請求項２の発明では、コード領域の隅部の１つには、当該コード領域の検出に利用する第１の位置検出パターンが配置され、第１の縁は、第１の位置検出パターンに到達するまで特定パターンが繰り返されるように構成される。このため、検出した第１の位置検出パターンを規準として第１の縁を容易に検出することができる。
【００１１】
請求項３の発明では、第１の位置検出パターンに対して対角となるコード領域の隅部には、当該コード領域の検出に利用する第２の位置検出パターンが第１の位置検出パターンと異なる配列にて配置され、第２の縁は、第２の位置検出パターンに到達するまで特定パターンが繰り返されるように構成される。このため、検出した第２の位置検出パターンを規準として第２の縁を容易に検出することができる。
【００１２】
特に、第１の位置検出パターンと第２の位置検出パターンとで配列が異なるため、第１の位置検出パターン及び第２の位置検出パターンと第１の縁及び第２の縁との位置関係から、コード領域が表裏反転した状態で撮像されている否か容易に判断することができる。これにより、撮像画像から検出したコード領域に対して、表裏反転させた状態でデコードする処理と表裏反転させない状態でデコードする処理との２つの処理を行うことなく、一方の処理のみを行えばよいので、二次元コードを読み取る読取処理に関して処理時間を短縮することができる。
【００１３】
請求項４の発明では、第１の縁は、始端及び終端の少なくとも一方が、特定パターンと異なる端部用のパターンとなるように構成されるため、この端部用のパターンを規準に、第１の縁の端部、すなわち、第１の縁に直交するコード領域の外縁を容易に検出することができる。
【００１４】
請求項５の発明では、第２の縁は、始端及び終端の少なくとも一方が、特定パターンと異なる端部用のパターンとなるように構成されるため、この端部用のパターンを規準に、第２の縁の端部、すなわち、第２の縁に直交するコード領域の外縁を容易に検出することができる。
【００１５】
請求項６の発明では、コード領域内には、第１の縁及び第２の縁に直交する対向方向にて第１の縁から第２の縁にかけて、それぞれセルの配列が同じになる分断パターンが１以上配置される。これにより、分断パターンを規準に、第１の縁及び第２の縁に沿う方向（上記対向方向に直交する方向）に関して各セルのコード領域に占める位置（セル座標）を正確に求めやすくなり、デコード成功率を高めることができる。
【００１６】
請求項７の発明では、コード領域の外縁のうち、第１の縁及び第２の縁に直交するように互いに対向する第３の縁及び第４の縁は、少なくとも中間部位を構成するセルの種類が、第１の縁及び第２の縁に沿う方向にて対向する位置の分断パターンのセルと同じ種類となるように構成される。これにより、分断パターンだけでなく第３の縁及び第４の縁の中間部位をも規準として、第１の縁及び第２の縁に沿う方向に関して各セルのセル座標を正確に求めやすくなり、デコード成功率をさらに高めることができる。
【００１７】
請求項８の発明では、コード領域のサイズは、分断パターンが第１の縁に接する位置によって決まるため、第１の縁における分断パターンが接する位置を求めることでコード領域のサイズを直ちに特定することができる。すなわち、コード領域を検出する際には、第１の縁の端部を構成するセルなどの所定の位置のセルから分断パターンに接するセルまで一方向に並ぶセルの個数を求めるだけでコード領域のサイズが特定されるので、二次元的にセルの配列を求めることなく早い段階でコード領域のサイズを特定することができる。このようにコード領域のサイズを特定できるため、コード領域の近くにセルの集合体らしい部分があったとしてもその部分に対してコード領域を検出するための処理がなされることもないので、不要な処理が軽減されて、読取処理に関する処理時間の短縮を図ることができる。
【００１８】
請求項９の発明では、第１の縁において特定パターンが繰り返される部分と第２の縁において特定パターンが繰り返される部分とで、第１の縁及び第２の縁に直交する対向方向にて対向する位置のセルが同じ種類である。これにより、各特定パターンを規準に、上記対向方向に関して各セルのセル座標を正確に求めやすくなり、デコード成功率を高めることができる。
【００１９】
請求項１０の発明では、第１の縁及び第２の縁は、特定パターンと配列が異なる第２の特定パターンが特定パターンの繰り返し中に１又は２以上出現するように構成され、第１の縁の第２の特定パターンと第２の縁の第２の特定パターンとで対向方向にて対向する位置のセルが同じ種類である。これにより、各特定パターンだけでなく第２の特定パターンをも規準として、上記対向方向に関して各セルのセル座標を正確に求めやすくなり、デコード成功率をさらに高めることができる。
【００２０】
請求項１１の発明では、第１の縁及び第２の縁は、それぞれ第２の特定パターンが１以上出現するように構成され、上記対向方向にて第１の縁の第２の特定パターンから対向する第２の縁の第２の特定パターンにかけて、それぞれセルの配列が同じになる分断パターンが配置される。これにより、上記対向方向に関する各セルのセル座標を、各特定パターン及び第２の特定パターンを規準として求め、第１の縁及び第２の縁に沿う方向に関する各セルのセル座標を、分断パターンを規準として求めることができ、デコード成功率をより一層高めることができる。
【００２１】
請求項１２の発明では、第２の特定パターンは、同じ種類のセルを３つ配列して構成され、分断パターンは、第２の特定パターンの中央のセルに接する端部のセルが当該第２の特定パターンを構成するセルと異なる種類のセルにより構成され、この端部のセルを囲うセルが第２の特定パターンを構成するセルと同じ種類のセルにより構成される。これにより、分断パターンの端部のセルは異なる種類のセルに囲まれるだけでなく、その分断パターンの端部のセルを囲うセルが全て同じ種類のセルとなるので、分断パターンの端部のセルを検出しやすくなり、その結果、分断パターン及び第２の特定パターンを検出しやすくすることができる。
【００２２】
請求項１３の発明では、コード領域の外縁のうち、第１の縁及び第２の縁に直交するように互いに対向する第３の縁及び第４の縁は、少なくとも中間部位を構成するセルの種類が、第１の縁及び第２の縁に沿う方向にて対向する位置の分断パターンのセルと同じ種類となるように構成される。これにより、分断パターンだけでなく第３の縁及び第４の縁の中間部位をも規準として、第１の縁及び第２の縁に沿う方向に関して各セルのセル座標を正確に求めやすくなり、デコード成功率をさらに高めることができる。
【００２３】
請求項１４の発明では、コード領域のサイズは、分断パターンが第１の縁に接する位置によって決まるため、第１の縁における分断パターンが接する位置を求めることでコード領域のサイズを直ちに特定することができる。すなわち、コード領域を検出する際には、第１の縁の端部を構成するセルなどの所定の位置のセルから分断パターンに接するセルまで一方向に並ぶセルの個数を求めるだけでコード領域のサイズが特定されるので、二次元的にセルの配列を求めることなく早い段階でコード領域のサイズを特定することができる。このようにコード領域のサイズを特定できるため、コード領域の近くにセルの集合体らしい部分があったとしてもその部分に対してコード領域を検出するための処理がなされることもないので、不要な処理が軽減されて、読取処理に関する処理時間の短縮を図ることができる。
【００２４】
請求項１５の発明では、上記特定パターンが一組の明色セル及び暗色セルからなる。このように、明色セルと暗色セルとが交互に繰り返されるような周期性のあるパターンを有するように第１の縁及び第２の縁が構成されても、二次元コードとともに表示面に表示される枠線や文字等から構成され難く、実線部分と異なり撮像画像に含まれる可能性が低いため、上記コード領域が撮像されていない場合に当該コード領域の検出に関して不要なコード検出処理を抑制することができる。
【００２５】
請求項１６の発明では、第１の縁及び第２の縁が長方形状のコード領域の長辺となるように構成される。これにより、第１の縁及び第２の縁がそのコード領域の短辺となるように構成される場合と比較して、特定パターンの繰り返し出現頻度が高まることから、第１の縁及び第２の縁を容易に検出することができる。
【図面の簡単な説明】
【００２６】
【図１】第１実施形態に係る二次元コードを示す説明図である。
【図２】第１実施形態に係る二次元コードを読み取る情報コード読取装置の電気的構成を概略的に例示するブロック図である。
【図３】情報コード読取装置の制御部にて行われる読取処理の流れを例示するフローチャートである。
【図４】図１の二次元コードを表裏反転させた状態を説明する説明図である。
【図５】第１実施形態の第１変形例に係る二次元コードを示す説明図である。
【図６】第１実施形態の第２変形例に係る二次元コードを示す説明図である。
【図７】第２実施形態に係る二次元コードを示す説明図である。
【図８】第２実施形態の第１変形例に係る二次元コードを示す説明図である。
【図９】第２実施形態の第２変形例に係る二次元コードを示す説明図である。
【図１０】第３実施形態に係る二次元コードを示す説明図である。
【図１１】図１１（Ａ）は、コードサイズとサイズ特定用セル個数とが１対１で対応している状態を説明する説明図であり、図１１（Ｂ）は、コードサイズとサイズ特定用セル個数とが１対多で対応している状態を説明する説明図である。
【発明を実施するための形態】
【００２７】
［第１実施形態］
以下、本発明の二次元コードを具現化した第１実施形態について、図面を参照して説明する。
まず、図１を参照して本実施形態に係る二次元コードの構成を説明する。
本実施形態に係る二次元コード３０は、図１に示すように、矩形状（より具体的には長方形状）のコード領域３１内に複数種類の正方形状の情報表示単位セル（以下、単にセルとも称する）がマトリクス状に配列されて構成されている。このコード領域３１は、予め定められた形状のパターンが配置される固定パターン領域と、複数種類のセルによってデータを記録するデータ記録領域３２とに区分けされる。これにより、固定パターン領域を利用して撮像画像に占めるコード領域３１が検出可能となり、この検出されたコード領域３１のデータ記録領域３２を利用して二次元コード３０に記録したデータが読み取られる。なお、データ記録領域３２には、誤り訂正符号を記録する誤り訂正符号記録領域を含めることができる。また、図１等では、データ記録領域３２にハッチングを付している。
【００２８】
固定パターン領域は、コード領域３１の隅部の１つに配置される第１の位置検出パターン３３ａと、第１の位置検出パターン３３ａに対して対角となるコード領域３１の隅部に配置される第２の位置検出パターン３３ｂと、第１の位置検出パターン３３ａ及び第２の位置検出パターン３３ｂを除くコード領域３１の外縁３４とから構成される。
【００２９】
本実施形態では、二次元コード３０は、図１に示すように、明色セルと暗色セルの２種類のセルがマトリクス状に配列されて構成されている。そして、第１の位置検出パターン３３ａは、中央の正方形状に配列される９つの暗色セルと、これらの９つの暗色セルを一列にて囲む明色セル群と、この明色セル群を一列にて囲む暗色セル群と、この暗色セル群とデータ記録領域３２との区分けするＬ字状の明色セル群とから構成される。このため、第１の位置検出パターン３３ａは、ＱＲコード（登録商標）の位置検出パターンと同様に、暗、明、暗、明、暗の順番でその連続比率が１：１：３：１：１となる領域に基づいて検出することができる。
【００３０】
また、第２の位置検出パターン３３ｂは、中央の１つの暗色セルと、この暗色セルを一列にて囲む明色セル群と、この明色セル群を一列にて囲む暗色セル群とから構成される。このため、第２の位置検出パターン３３ｂは、暗、明、暗、明、暗の順番でその連続比率が１：１：１：１：１となる領域に基づいて検出することができる。
【００３１】
コード領域３１の外縁３４は、各セルを一列に配列して構成されるもので、第１の位置検出パターン３３ａ側の長辺を構成する第１の縁３４ａと、第２の位置検出パターン３３ｂ側の長辺を構成する第２の縁３４ｂと、第１の位置検出パターン３３ａ側の短辺を構成する第３の縁３４ｃと、第２の位置検出パターン３３ｂ側の短辺を構成する第４の縁３４ｄとからなる。
【００３２】
第１の縁３４ａは、一方の端部が第１の位置検出パターン３３ａに連なり、他方の端部が端部用のパターン３５ａとして３つの暗色セルからなり、端部用のパターン３５ａを除く部位が明色セルと暗色セルとが交互に配列されて構成される。すなわち、第１の縁３４ａは、少なくとも中間部位において、一組の明色セル及び暗色セルを配列してなる特定パターン４０が第１の位置検出パターン３３ａに到達するまで繰り返されて構成される。
【００３３】
第２の縁３４ｂは、一方の端部が端部用のパターン３５ｂとして３つの暗色セルからなり、他方の端部が第２の位置検出パターン３３ｂに連なり、端部用のパターン３５ｂを除く部位が明色セルと暗色セルとが交互に配列されて構成される。すなわち、第２の縁３４ｂは、少なくとも中間部位において、第１の縁３４ａと同様に構成される特定パターン４０が第２の位置検出パターン３３ｂに到達するまで繰り返されて構成される。
【００３４】
特に、第２の縁３４ｂは、第１の縁３４ａにおいて特定パターン４０が繰り返される部分（図１のＬ１参照）と第２の縁３４ｂにおいて特定パターン４０が繰り返される部分（図１のＬ２参照）とで、第１の縁３４ａ及び第２の縁３４ｂに直交する対向方向（図１のＹ方向）にて対向する位置のセルが同じ種類となるように構成されている。このため、例えば、図１の対向方向に延伸する一点鎖線Ｓ１が通る第１の縁３４ａのセルと第２の縁３４ｂのセルとが同じ暗色セルとなる。
【００３５】
第３の縁３４ｃは、一方の端部が第１の位置検出パターン３３ａに連なり、他方の端部が端部用のパターン３５ｃとして第２の縁３４ｂの端部用のパターン３５ｂと同じ暗色セルからなるように構成されている。一方の端部と他方の端部との間となる中間部位は、上記特定パターン４０が繰り返されるように構成される。そして、端部用のパターン３５ｃは、第２の縁３４ｂの端部用のパターン３５ｂとＬ字状に連なることで、端部用のパターン３５ｃと端部用のパターン３５ｂとの間の１つの明色セルとともに、隅パターン３３ｃを構成する。
【００３６】
第４の縁３４ｄは、一方の端部が端部用のパターン３５ｄとして第１の縁３４ａの端部用のパターン３５ａと同じ暗色セルからなり、他方の端部が第２の位置検出パターン３３ｂに連なるように構成されている。一方の端部と他方の端部との間となる中間部位は、上記特定パターン４０が繰り返されるように構成される。そして、端部用のパターン３５ｄは、第１の縁３４ａの端部用のパターン３５ａとＬ字状に連なることで、端部用のパターン３５ｄと端部用のパターン３５ａとの間の１つの明色セルとともに、隅パターン３３ｄを構成する。
【００３７】
このように構成される二次元コード３０では、互いに対向する第１の縁３４ａ及び第２の縁３４ｂは、少なくとも中間部位が上記特定パターン４０の繰り返しにより構成されるので、撮像画像から上記特定パターン４０が繰り返される２つの平行な部分を検出することができれば、その２つの平行な部分を対向する外縁とするコード領域３１を検出することができる。特に、上記特定パターン４０が繰り返されるような周期性のあるパターンは、意図してそのようなパターンを配置しない限り、同じ撮像画像に含まれる可能性が低くなる。
【００３８】
次に、本実施形態に係る二次元コード３０を光学的に読み取り可能な二次元コード読取装置として機能する情報コード読取装置１について、図２を用いて説明する。
本実施形態に係る情報コード読取装置１は、二次元コード３０やバーコードなどを光学的に読み取る携帯型の読取装置である。図２に示すように、情報コード読取装置１は、図示しないケースの内部に回路部が収容されてなるものであり、回路部は、主に、照明光源１１、受光センサ１３、結像レンズ１２等の光学系と、メモリ１６、制御部２０等のマイクロコンピュータ（以下「マイコン」という）系とを備えている。なお、情報コード読取装置１は、据え置き型の読取装置として構成されてもよい。
【００３９】
光学系は、投光光学系と、受光光学系とに分かれている。投光光学系を構成する照明光源１１は、照明光Ｌｆを発光可能な照明光源として機能するもので、例えば、赤色のＬＥＤとこのＬＥＤの出射側に設けられるレンズとから構成されている。なお、図２では、二次元コード３０が付された読取対象物Ｒに向けて照明光Ｌｆを照射する例を概念的に示している。
【００４０】
受光光学系は、受光センサ１３、結像レンズ１２、反射鏡（図示略）などによって構成されている。受光センサ１３は、例えば、Ｃ−ＭＯＳやＣＣＤ等の固体撮像素子である受光素子を二次元に配列したエリアセンサとして構成されるものであり、受光した情報コードの各セル（パターン）ごとに反射光Ｌｒの強度に応じた電気信号を出力するように構成されている。この受光センサ１３は、結像レンズ１２を介して入射する入射光を受光可能にプリント配線板（図示略）に実装されている。
【００４１】
結像レンズ１２は、外部から読取口（図示略）を介して入射する入射光を集光して受光センサ１３の受光面１３ａに像を結像可能な結像光学系として機能するものである。本実施形態では、照明光源１１から照射された照明光Ｌｆ等が情報コード等にて反射した後、この反射光Ｌｒを結像レンズ１２で集光し、受光センサ１３の受光面１３ａにコード像を結像させている。
【００４２】
マイコン系は、増幅回路１４、Ａ／Ｄ変換回路１５、メモリ１６、アドレス発生回路１７、同期信号発生回路１８、制御部２０、操作部２１、液晶表示器２２、ブザー２３、バイブレータ２４、発光部２５、通信インタフェース２６等から構成されている。このマイコン系は、その名の通り、マイコン（情報処理装置）として機能し得る制御部２０およびメモリ１６を中心に構成されるもので、上述した光学系によって撮像された二次元コード３０を含めた情報コードの画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。また制御部２０は、当該情報コード読取装置１の全体システムに関する制御も行っている。
【００４３】
光学系の受光センサ１３から出力される画像信号（アナログ信号）は、増幅回路１４に入力されることで所定ゲインで増幅された後、Ａ／Ｄ変換回路１５に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ（画像情報）は、メモリ１６に入力されると、画像データ蓄積領域に蓄積される。なお、同期信号発生回路１８は、受光センサ１３およびアドレス発生回路１７に対する同期信号を発生可能に構成されており、またアドレス発生回路１７は、この同期信号発生回路１８から供給される同期信号に基づいて、メモリ１６に格納される画像データの格納アドレスを発生可能に構成されている。
【００４４】
メモリ１６は、半導体メモリ装置で、例えばＲＡＭ（ＤＲＡＭ、ＳＲＡＭ等）やＲＯＭ（ＥＰＲＯＭ、ＥＥＰＲＯＭ等）がこれに相当する。このメモリ１６のうちのＲＡＭには、上述した画像データ蓄積領域のほかに、制御部２０が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。また、ＲＯＭには、照明光源１１、受光センサ１３等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。また、メモリ１６には、読取対象となる二次元コード３０の第１の縁３４ａ及び第２の縁３４ｂを構成する特定パターン４０や端部用のパターン、位置検出パターン３３ａ，３３ｂや隅パターン３３ｃ，３３ｄ等の固定パターン領域に関する情報（以下、特定パターン情報等ともいう）やこの特定パターン情報等を利用して二次元コード３０を光学的に読み取る読取処理を実行するためのプログラム等も記憶されている。
【００４５】
制御部２０は、情報コード読取装置１全体を制御可能なマイコンで、ＣＰＵ、システムバス、入出力インタフェース等からなるもので、メモリ１６とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御部２０は、内蔵された入出力インタフェースを介して種々の入出力装置（周辺装置）と接続可能に構成されており、本実施形態の場合、操作部２１、液晶表示器２２、ブザー２３、バイブレータ２４、発光部２５、通信インタフェース２６等が接続されている。
【００４６】
操作部２１は、複数のキーによって構成され、使用者のキー操作に応じて制御部２０に対して操作信号を与える構成をなしており、制御部２０は、操作部２１から操作信号を受けたとき、その操作信号に応じた動作を行うように構成されている。液晶表示器２２は、公知の液晶表示パネルによって構成されており、制御部２０によって表示内容が制御されるようになっている。ブザー２３は、公知のブザーによって構成されており、制御部２０からの動作信号に応じて所定の音を発生させるように構成されている。バイブレータ２４は、携帯機器に搭載される公知のバイブレータによって構成されており、制御部２０からの駆動信号に応じて振動を発生させるように構成されている。発光部２５は、例えばＬＥＤであって、制御部２０からの信号に応じて点灯するように構成されている。通信インタフェース２６は、外部（例えばホスト装置）との間でのデータ通信を行うためのインタフェースとして構成されており、制御部２０と協働して通信処理を行う構成をなしている。
【００４７】
次に、二次元コード３０を読み取る際に情報コード読取装置１の制御部２０にて実行される読取処理について、図３のフローチャートを参照して説明する。
二次元コード３０に対して情報コード読取装置１の読取口が向けられた状態で操作部２１に対して所定の操作がなされると、制御部２０による読取処理が開始される。まず、ステップＳ１０１に示す撮像処理がなされ、二次元コード３０からの反射光Ｌｒを受光した受光センサ１３から出力される信号に基づいて、当該二次元コード３０を含む撮像画像の画像データが生成される。
【００４８】
次に、ステップＳ１０３に示す外縁検出処理がなされる。この処理では、メモリ１６に予め記憶される特定パターン情報等に基づいて、上述のように撮像された撮像画像から上記特定パターン４０が繰り返される２つの平行な部分、すなわち、第１の縁３４ａ及び第２の縁３４ｂを検出するための処理がなされる。この処理では、上記特定パターン４０や端部用のパターン３５ａ，３５ｂ等を利用して撮像画像から第１の縁３４ａ及び第２の縁３４ｂを直接検出してもよいし、撮像画像から検出される位置検出パターン３３ａ，３３ｂや隅パターン３３ｃ，３３ｄの位置に基づいて、第１の縁３４ａ及び第２の縁３４ｂを検出してもよい。
【００４９】
そして、二次元コード３０を撮像していることから、撮像された撮像画像から第１の縁３４ａ及び第２の縁３４ｂが検出されると（Ｓ１０５でＹｅｓ）、ステップＳ１０７に示すコード領域検出処理がなされる。この処理では、上述のように検出された第１の縁３４ａ及び第２の縁３４ｂと第１の位置検出パターン３３ａ及び第２の位置検出パターン３３ｂ等とに基づいてコード領域３１が検出される。
【００５０】
そして、ステップＳ１０９に示すデコード処理がなされ、上述のように検出されたコード領域３１内の各セルの配列に基づいてデータ記録領域３２に記録される所定のデータをデコード（解読）するための処理がなされる。そして、このデコード処理が成功すると（Ｓ１１１でＹｅｓ）、デコード処理により取得された所定のデータを外部に出力するための処理がなされて（Ｓ１１３）、本読取処理が終了する。一方、デコード処理が失敗する場合には（Ｓ１１１でＮｏ）、二次元コード３０がデコード可能に撮像されていないとして、上記ステップＳ１０１からの処理がなされる。
【００５１】
また、撮像された撮像画像から第１の縁３４ａ及び第２の縁３４ｂが検出されない場合には（Ｓ１０５でＮｏ）、二次元コード３０が撮像されていないとして、コード領域３１を検出するコード領域検出処理（Ｓ１０７）が行われることなく、上記ステップＳ１０１からの処理がなされる。
【００５２】
以上説明したように、本実施形態に係る二次元コード３０では、矩形状のコード領域３１の外縁３４のうち、複数種類のセルが一列に配列されてなる第１の縁３４ａは、少なくとも中間部位において、２以上の異なるセルを配列してなる特定パターン４０が繰り返されて構成され、第１の縁３４ａに対向するように複数種類のセルが一列に配列されてなる第２の縁３４ｂは、少なくとも中間部位において、上記特定パターン４０が繰り返されて構成される。
【００５３】
このように、互いに対向する第１の縁３４ａ及び第２の縁３４ｂは、少なくとも中間部位が同じ特定パターン４０の繰り返しにより構成されるので、撮像画像から上記特定パターン４０が繰り返される２つの平行な部分を検出することができれば、その２つの平行な部分を対向する外縁３４の第１の縁３４ａ及び第２の縁３４ｂとするコード領域３１を検出することができる。特に、上記特定パターン４０が繰り返されるような周期性のあるパターンは、二次元コード３０とともに表示面に表示される枠線や文字等から構成され難く、実線部分と異なり撮像画像に含まれる可能性が低いため、上記コード領域３１が撮像されていない場合に当該コード領域３１の検出に関して不要なコード検出処理を抑制することができる。その結果、情報コード読取装置１における読取処理に関する処理時間を短縮することができる。
【００５４】
また、コード領域３１の隅部の１つには、当該コード領域３１の検出に利用する第１の位置検出パターン３３ａが配置され、第１の縁３４ａは、第１の位置検出パターン３３ａに到達するまで特定パターン４０が繰り返されるように構成される。このため、検出した第１の位置検出パターン３３ａを規準として第１の縁３４ａを検出する場合には、その検出処理を容易に行うことができる。
【００５５】
また、第１の位置検出パターン３３ａに対して対角となるコード領域３１の隅部には、当該コード領域３１の検出に利用する第２の位置検出パターン３３ｂが第１の位置検出パターン３３ａと異なる配列にて配置され、第２の縁３４ｂは、第２の位置検出パターン３３ｂに到達するまで特定パターン４０が繰り返されるように構成される。このため、検出した第２の位置検出パターン３３ｂを規準として第２の縁３４ｂを検出する場合には、その検出処理を容易に行うことができる。さらに、第１の位置検出パターン３３ａ及び第２の位置検出パターン３３ｂのどちらか一方を検出した際に、その場所を基準に他方を探すことで、コード領域３１の対角に位置する２つの角の位置が検出でき、コード領域３１の外形が検出しやすくなる。
【００５６】
特に、第１の位置検出パターン３３ａと第２の位置検出パターン３３ｂとで配列が異なるため、第１の位置検出パターン３３ａ及び第２の位置検出パターン３３ｂと第１の縁３４ａ及び第２の縁３４ｂとの位置関係から、コード領域３１が表裏反転した状態で撮像されている否か容易に判断することができる。これにより、撮像画像から検出したコード領域３１に対して、表裏反転させた状態（図４参照）でデコードする処理と表裏反転させない状態（図１参照）でデコードする処理との２つの処理を行うことなく、一方の処理のみを行えばよいので、二次元コード３０を読み取る読取処理に関して処理時間を短縮することができる。
【００５７】
さらに、第１の縁３４ａは、第１の位置検出パターン３３ａの逆側となる端部が、特定パターン４０と異なる端部用のパターン３５ａとなるように構成されるため、この端部用のパターン３５ａを規準に、第１の縁３４ａの端部、すなわち、第１の縁３４ａに直交するコード領域３１の外縁となる第４の縁３４ｄを容易に検出することができる。
【００５８】
また、第２の縁３４ｂは、第２の位置検出パターン３３ｂの逆側となる端部が、特定パターン４０と異なる端部用のパターン３５ｂとなるように構成されるため、この端部用のパターン３５ｂを規準に、第２の縁３４ｂの端部、すなわち、第２の縁３４ｂに直交するコード領域３１の外縁となる第３の縁３４ｃを容易に検出することができる。
【００５９】
特に、第１の縁３４ａにおいて特定パターン４０が繰り返される部分（図１のＬ１参照）と第２の縁３４ｂにおいて特定パターン４０が繰り返される部分（図１のＬ２参照）とで、第１の縁３４ａ及び第２の縁３４ｂに直交する対向方向（図１のＹ方向）にて対向する位置のセルが同じ種類である（図１のＳ１参照）。これにより、各特定パターン４０を規準に、上記対向方向に関して各セルのセル座標を正確に求めやすくなり、デコード成功率を高めることができる。
【００６０】
また、上記特定パターン４０は一組の明色セル及び暗色セルからなるため、このように、明色セルと暗色セルとが交互に繰り返されるような周期性のあるパターンを有するように第１の縁３４ａ及び第２の縁３４ｂが構成されても、二次元コード３０とともに表示面に表示される枠線や文字等から構成され難く、実線部分と異なり撮像画像に含まれる可能性が低いため、上記コード領域３１が撮像されていない場合に当該コード領域３１の検出に関して不要なコード検出処理を抑制することができる。
【００６１】
なお、特定パターン４０は、一組の明色セル及び暗色セルから構成されることに限らず、連続することで外縁が周期性を有するように、他のセルの組み合わせにより構成されてもよい。例えば、本実施形態の第１変形例として、図５に例示する二次元コード３０ａにおける特定パターン４０ａのように、１つの明色セルと３つの暗色セルとから構成されてもよい。
【００６２】
また、第１の縁３４ａ及び第２の縁３４ｂが長方形状のコード領域３１の長辺となるように構成されるため、第１の縁３４ａ及び第２の縁３４ｂがそのコード領域３１の短辺となるように構成される場合と比較して、特定パターン４０の繰り返し出現頻度が高まることから、第１の縁３４ａ及び第２の縁３４ｂを容易に検出することができる。
【００６３】
なお、二次元コード３０が利用される環境等によっては、コード領域３１は、正方形状に構成されてもよいし、上記特定パターン４０が繰り返されて構成される第１の縁３４ａ及び第２の縁３４ｂが短辺となるように構成されてもよい。
【００６４】
また、固定パターン領域は、２つの第１の位置検出パターン３３ａ及び第２の位置検出パターン３３ｂの双方を備えるように構成されることに限らず、どちらか一方を備えるように構成されてもよい。また、２つの第１の位置検出パターン３３ａ及び第２の位置検出パターン３３ｂをなくしてもよい。この場合、本実施形態の第２変形例として、第１の縁３４ａは、始端及び終端が、図６に例示する二次元コード３０ｂにおける端部用のパターン３５ａ，３６ａのように、特定パターン４０と異なる端部用のパターン（例えば、３つの暗色セルからなるパターン）となるように構成されることで、この端部用のパターン３５ａ，３６ａを規準に、第１の縁３４ａの両端部、すなわち、第１の縁３４ａに直交するコード領域３１の外縁となる第３の縁３４ｃ及び第４の縁３４ｄを容易に検出することができる。同様に、第２の縁３４ｂは、始端及び終端が、図６に例示する端部用のパターン３５ｂ，３６ｂのように、特定パターン４０と異なる端部用のパターンとなるように構成されることで、この端部用のパターン３５ｂ，３６ｂを規準に、第２の縁３４ｂの両端部、すなわち、第２の縁３４ｂに直交するコード領域３１の外縁となる第３の縁３４ｃ及び第４の縁３４ｄを容易に検出することができる。
【００６５】
また、図６に例示するように、第１の縁３４ａの端部用のパターン３６ａと第３の縁３４ｃの端部用のパターン３６ｃと両パターンの間の明色セルとにより構成される隅パターンを利用することで、第１の縁３４ａや第３の縁３４ｃを検出することができる。また、第２の縁３４ｂの端部用のパターン３６ｂと第４の縁３４ｄの端部用のパターン３６ｄと両パターンの間の明色セルとにより構成される隅パターンを利用することで、第２の縁３４ｂや第４の縁３４ｄを検出することができる。
【００６６】
［第２実施形態］
次に、本第２実施形態に係る二次元コードについて、図７を参照して説明する。
本第２実施形態では、固定パターン領域の一部として、上記対向方向にてデータ記録領域３２を分断する分断パターンがコード領域３１内に新たに配置される点が、上記第１実施形態と主に異なる。したがって、第１実施形態の二次元コードと実質的に同一の構成部分には、同一符号を付し、その説明を省略する。
【００６７】
図７に示すように、本実施形態に係る二次元コード３０ｃにおける第１の縁３４ａ及び第２の縁３４ｂは、特定パターン４０と配列が異なる第２の特定パターン４１が特定パターン４０の繰り返し中に２つ出現するように構成されている。第２の特定パターン４１は、特定パターン４０を利用した周期性を乱すように、例えば、３つの暗色セルから構成され、第１の縁３４ａの第２の特定パターン４１と第２の縁３４ｂの第２の特定パターン４１とで対向方向にて対向する位置のセルが同じ種類である。
【００６８】
そして、上記対向方向にて、第１の縁３４ａの第２の特定パターン４１の中央の暗色セルから対向する第２の縁３４ｂの第２の特定パターン４１の中央の暗色セルにかけて、それぞれセルの配列が同じになる分断パターン３７が配置される。分断パターン３７は、第１の縁３４ａ及び第２の縁３４ｂと同様に、明色セル及び暗色セルが一列にて交互に配列され、第２の特定パターン４１の中央の暗色セルに接する端部のセル３７ａが、当該第２の特定パターン４１を構成するセルと異なる種類の明色セルとなるように構成されている。
【００６９】
これにより、分断パターン３７を、アライメントパターンとして機能させて、セル座標の歪み補正に利用することができる。特に、本実施形態では、分断パターン３７の端部のセル３７ａに隣接するセルも上記固定パターン領域に含まれ、この端部のセル３７ａを囲うセルが第２の特定パターン４１を構成するセルと同じ種類のセル（暗色セル）により構成される。
【００７０】
そして、第３の縁３４ｃ及び第４の縁３４ｄは、少なくとも中間部位を構成するセルの種類が、第１の縁３４ａ及び第２の縁３４ｂに沿う方向（図７のＸ方向）にて対向する位置の分断パターン３７のセルと同じ種類となるように構成される。このため、例えば、図７のＸ方向に延伸する一点鎖線Ｓ２が通るセルの種類について、第３の縁３４ｃのセルと、第４の縁３４ｄのセルと、分断パターン３７のセルとが同じ暗色セルとなる。
【００７１】
以上説明したように、本実施形態に係る二次元コード３０ｃでは、第１の縁３４ａ及び第２の縁３４ｂは、特定パターン４０と配列が異なる第２の特定パターン４１が特定パターン４０の繰り返し中に２つ出現するように構成され、第１の縁３４ａの第２の特定パターン４１と第２の縁３４ｂの第２の特定パターン４１とで対向方向にて対向する位置のセルが同じ種類である。これにより、各特定パターン４０だけでなく第２の特定パターン４１をも規準として、上記対向方向に関して各セルのセル座標を正確に求めやすくなり、デコード成功率をさらに高めることができる。
【００７２】
そして、第１の縁３４ａ及び第２の縁３４ｂは、それぞれ第２の特定パターン４１が２つ出現するように構成され、上記対向方向にて第１の縁３４ａの第２の特定パターン４１から対向する第２の縁３４ｂの第２の特定パターン４１にかけて、それぞれセルの配列が同じになる分断パターン３７が配置される。これにより、上記対向方向（図７のＹ方向）に関する各セルのセル座標を、各特定パターン４０及び第２の特定パターン４１を規準として求め、第１の縁３４ａ及び第２の縁３４ｂに沿う方向（図７のＸ方向）に関する各セルのセル座標を、分断パターン３７を規準として求めることができ、デコード成功率をより一層高めることができる。
【００７３】
特に、第２の特定パターン４１は、暗色セルを３つ配列して構成され、分断パターン３７は、第２の特定パターン４１の中央の暗色セルに接する端部のセル３７ａが当該第２の特定パターン４１を構成するセルと異なる種類の明色セルにより構成され、この端部のセル３７ａを囲うセルが第２の特定パターン４１を構成するセルと同じ種類の暗色セルにより構成される。これにより、分断パターン３７の端部のセル３７ａは異なる種類のセルに囲まれるだけでなく、その分断パターン３７の端部のセル３７ａを囲うセルが全て同じ種類のセルとなるので、分断パターン３７の端部のセル３７ａを検出しやすくなり、その結果、分断パターン３７及び第２の特定パターン４１を検出しやすくすることができる。
【００７４】
さらに、第３の縁３４ｃ及び第４の縁３４ｄは、少なくとも中間部位を構成するセルの種類が、第１の縁３４ａ及び第２の縁３４ｂに沿う方向（図７のＸ方向）にて対向する位置の分断パターン３７のセルと同じ種類となるように構成される。これにより、分断パターン３７だけでなく第３の縁３４ｃ及び第４の縁３４ｄの中間部位をも規準として、第１の縁３４ａ及び第２の縁３４ｂに沿う方向に関して各セルのセル座標を正確に求めやすくなり、デコード成功率をさらに高めることができる。
【００７５】
なお、第１の縁３４ａ及び第２の縁３４ｂは、第２の特定パターン４１が特定パターン４０の繰り返し中に２つ出現するように構成されることに限らず、第２の特定パターン４１が特定パターン４０の繰り返し中に１つ出現するように構成されてもよいし、３つ以上出現するように構成されてもよい。例えば、本実施形態の第１変形例として、図８に例示する二次元コード３０ｄのように、第２の特定パターン４１が特定パターン４０の繰り返し中に３つ出現するように構成されてもよい。なお、分断パターン３７は、図８に例示するように全ての第２の特定パターン４１について、第１の縁３４ａの第２の特定パターン４１から対向する第２の縁３４ｂの第２の特定パターン４１にかけてそれぞれ配置されてもよし、各第２の特定パターン４１の一部について、第１の縁３４ａの第２の特定パターン４１から対向する第２の縁３４ｂの第２の特定パターン４１にかけて１以上配置されてもよい。
【００７６】
また、本実施形態の第２変形例として、図９に例示する二次元コード３０ｅのように、第２の特定パターン４１が配置されない場合でも、第１の縁３４ａの１つのセルから対向する第２の縁３４ｂのセルにかけて分断パターン３７が配置されてもよい。この構成では、分断パターン３７は、第１の縁３４ａの１つのセルから対向する第２の縁３４ｂのセルにかけて１つ配置されてもよいし、２以上配置されてもよい。この場合でも、第３の縁３４ｃ及び第４の縁３４ｄは、少なくとも中間部位を構成するセルの種類が、第１の縁３４ａ及び第２の縁３４ｂに沿う方向（図９のＸ方向）にて対向する位置の分断パターン３７のセルと同じ種類となるように構成することができる。これにより、分断パターン３７だけでなく第３の縁３４ｃ及び第４の縁３４ｄの中間部位をも規準として、第１の縁３４ａ及び第２の縁３４ｂに沿う方向に関して各セルのセル座標を正確に求めやすくなり、デコード成功率をさらに高めることができる。
【００７７】
［第３実施形態］
次に、本第３実施形態に係る二次元コードについて、図１０及び図１１を参照して説明する。
本第３実施形態では、分断パターンが第１の縁に接する位置に応じてコード領域のサイズを特定する点が、上記第２実施形態と主に異なる。したがって、第２実施形態の二次元コードと実質的に同一の構成部分には、同一符号を付し、その説明を省略する。
【００７８】
本実施形態では、コード領域３１のサイズ（以下、コードサイズともいう）を早い段階で特定するため、第１の縁３４ａの第１の位置検出パターン３３ａ側となる一方の端部を構成する端部セル（図１０では暗色セル）Ｃｓを基準に、第１の縁３４ａに接する分断パターン３７の位置を利用する。具体的には、端部セルＣｓから最も近い分断パターン３７の端部のセル３７ａが接するセル（第２の特定パターン４１の中央の暗色セル）まで一方向に並ぶセルの個数をサイズ特定用セル個数として求め、このサイズ特定用セル個数に応じてコードサイズを特定する。
【００７９】
このようにコードサイズを特定可能とするため、本実施形態では、コードサイズとサイズ特定用セル個数とが１対１で対応するように二次元コードが生成される。具体的には、図１１（Ａ）に例示するように、コードサイズとサイズ特定用セル個数との関係が予め決められており、本実施形態に係る二次元コードは、コードサイズが決まることでこのコードサイズから一意にサイズ特定用セル個数が決まると、このサイズ特定用セル個数に応じてコード領域３１における分断パターン３７の位置が定まるように生成される。なお、コードサイズは、図１１（Ａ）に例示するように横サイズ（第１の縁３４ａに沿う方向のサイズ）のみがサイズ特定用セル個数に応じて変化することに限らず、縦サイズ（第３の縁３４ｃに沿う方向のサイズ）のみがサイズ特定用セル個数に応じて変化してもよいし、横サイズ及び縦サイズの双方がサイズ特定用セル個数に応じて変化してもよい。
【００８０】
このように二次元コードが生成されるため、図１０に示す二次元コード３０ｃが撮像される場合には、コード領域３１の検出時にサイズ特定用セル個数が２０個として求められて、図１１（Ａ）に示す関係から、コードサイズが１５×７１であると特定される。同様に、撮像した二次元コードからサイズ特定用セル個数が２２個として求められる場合には、コードサイズが１５×４３であると特定され、撮像した二次元コードからサイズ特定用セル個数が２４個として求められる場合には、コードサイズが１５×９９であると特定される。
【００８１】
このように、本実施形態では、コード領域３１のコードサイズは、分断パターン３７が第１の縁３４ａに接する位置によって決まるため、第１の縁３４ａにおける分断パターン３７の端部のセル３７ａが接する位置を求めることでコードサイズを直ちに特定することができる。すなわち、コード領域３１を検出する際には、第１の縁３４ａの端部を構成する端部セルＣｓなどの所定の位置のセルから分断パターン３７の端部のセル３７ａに接するセルまで一方向に並ぶセルの個数を求めるだけでコード領域３１のコードサイズが特定されるので、二次元的にセルの配列を求めることなく早い段階でコード領域３１のコードサイズを特定することができる。このようにコード領域３１のコードサイズを特定できるため、コード領域３１の近くにセルの集合体らしい部分があったとしてもその部分に対してコード領域３１を検出するための処理がなされることもないので、不要な処理が軽減されて、読取処理に関する処理時間の短縮を図ることができる。
【００８２】
なお、本実施形態に係る二次元コードは、コードサイズとサイズ特定用セル個数とが１対１で対応するように生成されることに限らず、コードサイズとサイズ特定用セル個数とが１対多で対応するように生成されてもよい。すなわち、サイズ特定用セル個数から一意にコードサイズが特定されればよい。例えば、図１１（Ｂ）に例示するように、撮像した二次元コードからサイズ特定用セル個数が１９個又は２０個として求められる場合には、コードサイズが１５×７１であると特定される。同様に、撮像した二次元コードからサイズ特定用セル個数が２１個又は２２個として求められる場合には、コードサイズが１５×４３であると特定され、撮像した二次元コードからサイズ特定用セル個数が２４個として求められる場合には、コードサイズが１５×９９であると特定される。
【００８３】
また、サイズ特定用セル個数は、第１の縁３４ａの端部セルＣｓから最も近い分断パターン３７の端部のセル３７ａが接するセルまで一方向に並ぶセルの個数として求められることに限らず、例えば、第１の位置検出パターン３３ａのうちコード領域３１の隅部を構成するセルなどの所定のセルから分断パターン３７の端部のセル３７ａが接するセルまで一方向に並ぶセルの個数として求められてもよい。
【００８４】
また、コード領域３１のコードサイズの全体（縦×横）がサイズ特定用セル個数に関連付けられることに限らず、例えば、コード領域３１のコードサイズの横サイズ（第１の縁３４ａに沿う方向のサイズ）がサイズ特定用セル個数に関連付けられてもよい。
【００８５】
また、コード領域３１のコードサイズは、上述したようにサイズ特定用セル個数によって決められることに限らず、セル個数と異なる手法、例えば、画素数を利用した距離測定等を用いて、分断パターン３７が第１の縁３４ａに接する位置を第１の位置検出パターン３３ａ等の所定の位置を基準に求めてその位置に応じて決められてもよい。
【００８６】
なお、本発明は上記各実施形態及び変形例等に限定されるものではなく、例えば、以下のように具体化してもよい。
（１）本発明は、明色セル及び暗色セルの２種類のセルがマトリクス状に配列されて構成される二次元コードに適用されることに限らず、カラーコードなど、３種類以上のセルがマトリクス状に配列されて構成される二次元コードに適用されてもよい。
【００８７】
（２）第２の縁３４ｂは、第１の縁３４ａにおいて特定パターン４０が繰り返される部分と第２の縁３４ｂにおいて特定パターン４０が繰り返される部分とで、対向する位置のセルが同じ種類となるように構成されることに限らず、対向する位置のセルの種類が常に既定の関係となるように構成されてもよい。例えば、明色セル及び暗色セルの２種類のセルが採用される場合、既定の関係として、第１の縁３４ａの明色セルに対向する位置の第２の縁３４ｂのセルとして暗色セルが配置され、第１の縁３４ａの暗色セルに対向する位置の第２の縁３４ｂのセルとして明色セルが配置されてもよい。
【符号の説明】
【００８８】
３０，３０ａ〜３０ｅ…二次元コード
３１…コード領域
３３ａ…第１の位置検出パターン
３３ｂ…第２の位置検出パターン
３４…外縁
３４ａ…第１の縁
３４ｂ…第２の縁
３４ｃ…第３の縁
３４ｄ…第４の縁
３５ａ，３５ｂ，３５ｃ，３５ｄ…端部用のパターン
３６ａ，３６ｂ，３６ｃ，３６ｄ…端部用のパターン
３７…分断パターン
４０，４０ａ…特定パターン
４１…第２の特定パターン
【図１】
2019071045.tif 000003
【図２】
2019071045.tif 000004
【図３】
2019071045.tif 000005
【図４】
2019071045.tif 000006
【図５】
2019071045.tif 000007
【図６】
2019071045.tif 000008
【図７】
2019071045.tif 000009
【図８】
2019071045.tif 000010
【図９】
2019071045.tif 000011
【図１０】
2019071045.tif 000012
【図１１】
2019071045.tif 000013