(57)【要約】【課題】  ２次元コードの所定パターンの検出精度を向上させるとともに、消費電力を抑制しつつ高速に当該所定パターンの位置を検出することができる２次元コード生成検出システム、２次元コード生成装置及びパターン位置検出装置を提供する。【解決手段】  ２次元コード生成装置２００は、パターン１０ｐにおいて主に用いられる黒色と異なる白色によって、データ領域１０ｄの部分を多く表現する所定のデータ変換則にしたがってデータを表現する２次元コード生成部２０３を備える。また、パターン位置検出装置３００は、２次元コード１０の画像データのうち、複数の画素を有する画素領域の濃淡を示す濃淡度に基づいて、当該画素領域を単位としたパターン１０ｐの概略位置を検出するパターン位置検出部３０３と、当該概略位置を含む所定領域を対象として、１画素の領域を単位としたパターン１０ｐの詳細位置を検出する詳細位置検出部３０５とを備える。【選択図】  図１
2006155222.tif 000002
【特許請求の範囲】
【請求項１】
位置の検出に用いられる所定パターンと、データが格納されるデータ領域とによって構成される２次元コードを生成する２次元コード生成装置、及び前記２次元コードに含まれている前記所定パターンの位置を検出するパターン位置検出装置によって構成される２次元コード生成検出システムであって、
前記２次元コード生成装置は、
前記所定パターンにおいて主に用いられる第１の色と異なる第２の色によって、前記データ領域の部分を多く表現する所定のデータ変換則にしたがって前記データを表現する２次元コード生成部を備え、
前記パターン位置検出装置は、
前記２次元コードを画像データとして取得する２次元コード取得部と、
前記画像データのうち、複数の画素によって構成される大画素領域の濃淡を示す濃淡度に基づいて、前記大画素領域を単位とした前記所定パターンの前記画像データ上の位置である概略位置を検出する概略位置検出部と、
前記概略位置検出部によって検出された前記概略位置を含む所定領域を対象として、前記大画素領域よりも小さい小画素領域を単位とした前記所定パターンの前記画像データ上における位置である詳細位置を検出する詳細位置検出部と
を備えることを特徴とする２次元コード生成検出システム。
【請求項２】
位置の検出に用いられる所定パターンと、データが格納されるデータ領域とによって構成される２次元コードを生成する２次元コード生成装置であって、
前記所定パターンにおいて主に用いられる第１の色と異なる第２の色によって、前記データ領域の部分を多く表現する所定のデータ変換則にしたがって前記データを表現する２次元コード生成部を備えることを特徴とする２次元コード生成装置。
【請求項３】
前記データは、第１の値及び第２の値によって構成されており、
前記２次元コード生成部は、前記第１の値または前記第２の値を表現する何れの場合においても、前記第２の色を用いて前記データを表現することを特徴とする請求項２に記載の２次元コード生成装置。
【請求項４】
２次元コードに含まれる所定パターンの前記２次元コード上における位置を検出するパターン位置検出装置であって、
前記２次元コードを画像データとして取得する２次元コード取得部と、
前記画像データのうち、複数の画素によって構成される大画素領域の濃淡を示す濃淡度に基づいて、前記大画素領域を単位とした前記所定パターンの前記画像データ上の位置である概略位置を検出する概略位置検出部と、
前記概略位置検出部によって検出された前記概略位置を含む所定領域を対象として、前記大画素領域よりも小さい小画素領域を単位とした前記所定パターンの前記画像データ上における位置である詳細位置を検出する詳細位置検出部と
を備えることを特徴とするパターン位置検出装置。
【請求項５】
前記大画素領域の縦方向は、前記所定パターンよりも小さい第１の画素数によって構成されているとともに、前記大画素領域の横方向は、前記所定パターンよりも小さい第２の画素数で構成されており、
前記詳細位置検出部は、前記概略位置を基準として、縦方向に前記第１の画素数、及び横方向に前記第２の画素数移動した位置までを前記所定領域として、前記詳細位置を検出することを特徴とする請求項４に記載のパターン位置検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、縦横の２方向において情報を表現することができる２次元コードに基づく２次元コードを生成・検出する２次元コード生成検出システム、当該２次元コードを生成する２次元コード生成装置、及び当該２次元コード上における位置の検出に用いられる所定パターンを検出するパターン位置検出装置に関する。
【背景技術】
【０００２】
近年、数字や文字などの情報を表現する情報表現コードの一種として、縦横の２方向において情報を表現することによって、表現できる情報量をバーコードよりも増大させた２次元コード（例えば、ＱＲコード）が広く用いられている。
【０００３】
このような２次元コードを、ＣＣＤなどを用いて画像として読み取る読取装置（スキャナ）では、２次元コードに含まれる所定パターン（例えば、切り出しシンボル）の位置がまず検出され、当該検出された所定パターンの位置に基づいて、当該２次元コードのデータ領域に表現されている情報が読み取られる（例えば、特許文献１）。
【特許文献１】特開２００３−１５０８９８号公報（第５−７頁、第５図）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したような２次元コードにおいて、所定パターンの領域とデータ領域との濃淡の差が小さい場合、２次元コードの読取装置は、２次元コードに含まれる所定パターンを認識することができないといった問題があった。
【０００５】
また、一般的に、２次元コードの読取装置は、２次元コード上における所定パターンの位置を認識するために、所定の画素サイズごとに加算処理を実行する必要がある。
【０００６】
例えば、画素数（Ｒ×Ｒ）によって構成される２次元コードの中から、画素数（Ｍ×Ｍ）によって構成される所定パターンの位置を、パターンマッチングを用いて検出する場合（ただし、Ｒは、Ｍよりも充分大きく、かつ撮影された２次元コード画像の枠外に所定パターンがはみ出ることがない場合）、加算処理の回数は、Ｒ２Ｍ２回となる。
【０００７】
すなわち、Ｒが大きく探索する範囲が広い場合、当該加算処理の回数が莫大となるため、高速に所定パターンの位置を検出することが困難であり、また、読取装置の消費電力も抑制することができないといった問題があった。
【０００８】
そこで、本発明は、以上の点に鑑みてなされたもので、２次元コードに含まれる所定パターンの検出精度を向上させるとともに、消費電力を抑制しつつ高速に当該所定パターンの位置を検出することができる２次元コード生成検出システム、２次元コード生成装置及びパターン位置検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決するため、本発明は、次のような特徴を有している。まず、本発明の第１の特徴は、位置の検出に用いられる所定パターン（パターン１０ｐ）と、データが格納されるデータ領域（データ領域１０ｄ）とによって構成される２次元コード（２次元コード１０）を生成する２次元コード生成装置（２次元コード生成装置２００）、及び前記２次元コードに含まれている前記所定パターンの位置を検出するパターン位置検出装置（パターン位置検出装置３００）によって構成される２次元コード生成検出システム（２次元コード生成検出システム１００）であって、前記２次元コード生成装置が、前記所定パターンにおいて主に用いられる第１の色（例えば、黒色）と異なる第２の色（例えば、白色）によって、前記データ領域の部分を多く表現する所定のデータ変換則にしたがって前記データを表現する２次元コード生成部（２次元コード生成部２０３）を備え、前記パターン位置検出装置が、前記２次元コードを画像データとして取得する２次元コード取得部（受光部３０１）と、前記画像データのうち、複数の画素によって構成される大画素領域（画像領域Ａ）の濃淡を示す濃淡度に基づいて、前記大画素領域を単位とした前記所定パターンの前記画像データ上の位置である概略位置を検出する概略位置検出部（パターン位置検出部３０３）と、前記概略位置検出部によって検出された前記概略位置を含む所定領域を対象として、前記大画素領域よりも小さい小画素領域（例えば、１画素の領域）を単位とした前記所定パターンの前記画像データ上における位置である詳細位置を検出する詳細位置検出部（詳細位置検出部３０５）とを備えることを要旨とする。
【００１０】
かかる特徴によれば、２次元コード上における位置の検出に用いられる所定パターン（例えば、ＱＲコードの切り出しシンボル）において主に用いられる第１の色（黒色）と異なる第２の色（白色）によって、データ領域の部分が多く表現されるため、データ領域に格納されるデータの内容によらず、所定パターンの領域とデータ領域との濃淡の差を一定以上に維持することができる。
【００１１】
すなわち、かかる特徴によれば、所定パターンの領域とデータ領域との濃淡の差が小さいために、２次元コードに含まれる所定パターンの位置を認識することができないといった問題を回避され、所定パターンの検出精度を向上させることができる。
【００１２】
また、かかる特徴によれば、大画素領域の濃淡を示す濃淡度に基づいて、大画素領域を単位とした所定パターンの画像データ上の位置である概略位置が検出される。
【００１３】
つまり、所定パターンの大まかな位置が検出された後、狭められた所定領域のみを対象として、所定パターンとのパターンマッチングが実行されるため、パターンマッチングに伴う加算処理の回数を低減することができる。
【００１４】
本発明の第２の特徴は、位置の検出に用いられる所定パターン（パターン１０ｐ）と、データが格納されるデータ領域（データ領域１０ｄ）とによって構成される２次元コード（２次元コード１０）を生成する２次元コード生成装置（２次元コード生成装置２００）であって、前記所定パターンにおいて主に用いられる第１の色（例えば、黒色）と異なる第２の色（例えば、白色）によって、前記データ領域の部分を多く表現する所定のデータ変換則にしたがって前記データを表現する２次元コード生成部（２次元コード生成部２０３）を備えることを要旨とする。
【００１５】
本発明の第３の特徴は、本発明の第２の特徴に係り、前記データが、第１の値（例えば、“０”）及び第２の値（例えば、“１”）によって構成されており、前記２次元コード生成部は、前記第１の値または前記第２の値を表現する何れの場合においても、前記第２の色（白色）を用いて前記データを表現することを要旨とする。
【００１６】
かかる特徴によれば、第１の値（０）または第２の値（１）を表現する何れの場合においても、第２の色（白色）を用いてデータ領域のデータが表現されるため、データ領域において第２の色（白色）が占める領域が拡大される。
【００１７】
また、所定パターンは、主に第１の色（黒色）によって構成されているため、データ領域に格納されるデータの内容によらず、所定パターンの領域とデータ領域との濃淡の差を一定以上に維持することができる。
【００１８】
本発明の第４の特徴は、２次元コード（２次元コード１０）に含まれる所定パターン（パターン１０ｐ）の前記２次元コード上における位置を検出するパターン位置検出装置（パターン位置検出装置３００）であって、前記２次元コードを画像データとして取得する２次元コード取得部（受光部３０１）と、前記画像データのうち、複数の画素によって構成される大画素領域（画像領域Ａ）の濃淡を示す濃淡度に基づいて、前記大画素領域を単位とした前記所定パターンの前記画像データ上の位置である概略位置を検出する概略位置検出部（パターン位置検出部３０３）と、前記概略位置検出部によって検出された前記概略位置を含む所定領域を対象として、前記大画素領域よりも小さい小画素領域を単位とした前記所定パターンの前記画像データ上における位置である詳細位置を検出する詳細位置検出部（詳細位置検出部３０５）とを備えることを要旨とする。
【００１９】
本発明の第５の特徴は、本発明の第４の特徴に係り、前記大画素領域の縦方向が、前記所定パターンよりも小さい第１の画素数（例えば、所定パターン１６画素に対して４画素）によって構成されているとともに、前記大画素領域の横方向が、前記所定パターンよりも小さい第２の画素数（例えば、所定パターン１６画素に対して４画素）で構成されており、前記詳細位置検出部が、前記概略位置を基準として、縦方向に前記第１の画素数、及び横方向に前記第２の画素数移動した位置までを前記所定領域として、前記詳細位置を検出することを要旨とする。
【００２０】
かかる特徴によれば、概略位置を基準として、縦方向に第１の画素数、及び横方向に第２の画素数移動した位置までの範囲内の何れかの位置に存在する所定パターンを確実に検出することができる。
【発明の効果】
【００２１】
本発明の特徴によれば、２次元コードに含まれる所定パターンの検出精度を向上させるとともに、消費電力を抑制しつつ高速に当該所定パターンの位置を検出することができる２次元コード生成検出システム、２次元コード生成装置及びパターン位置検出装置を提供することができる。
【発明を実施するための最良の形態】
【００２２】
（２次元コード生成検出システムの構成）
次に、本発明の実施形態について図面を参照しながら説明する。図１は、本実施形態に係る２次元コード生成検出システム１００の論理ブロック構成を示している。
【００２３】
同図に示すように、２次元コード生成検出システム１００は、２次元コード生成装置２００及びパターン位置検出装置３００によって構成されている。
【００２４】
２次元コード生成装置２００は、各種の書類や製品（例えば、光ＲＯＭディスク）など、２次元コード表示対象媒体２０に表示されている２次元コード１０上における位置の検出に用いられる所定パターンであるパターン１０ｐ（切り出しシンボル）と、データが格納されるデータ領域１０ｄとによって構成される２次元コード１０を生成するものであり、データ取得部２０１と、２次元コード生成部２０３と、出力部２０５とによって構成されている。
【００２５】
パターン位置検出装置３００は、２次元コード１０に含まれているパターン１０ｐの位置を検出するものであり、受光部３０１と、パターン位置検出部３０３と、詳細位置検出部３０５とによって構成されている。
【００２６】
なお、パターン位置検出装置３００は、２次元コード１０を読み取り、２次元コード１０のデータ領域１０ｄに格納されている数字や文字などのデータを出力したり表示したりする読取装置（スキャナ、不図示）に実装することができる。また、本実施形態では、ＱＲコードと同様な表示形式を採用した２次元コードを用いた場合を例として、以下説明する。
【００２７】
まず、２次元コード生成装置２００の構成について説明する。データ取得部２０１は、２次元コード１０のデータ領域１０ｄに格納されるデータを取得するものである。具体的には、データ取得部２０１は、ＣＤ−ＲＯＭなどのデータ記録媒体に記録されているデータをデータ領域１０ｄに格納するデータとして取得することができる。また、データ取得部２０１は、ＬＡＮやＷＡＮなどの通信ネットワークを介して、データ領域１０ｄに格納するデータを取得することもできる。
【００２８】
２次元コード生成部２０３は、パターン１０ｐにおいて主に用いられる黒色（第１の色）と異なる白色（第２の色）によって、データ領域１０ｄの部分を多く表現する所定のデータ変換則にしたがって、データ領域１０ｄに格納されるデータを表現するものである。
【００２９】
データ領域１０ｄに格納されるデータは、“０”（第１の値）、及び“１”（第２の値）によって構成されており、２次元コード生成部２０３は、データ取得部２０１によって取得されたデータに含まれる“０”または“１”を表現する何れの場合においても、白色（第２の色）を用いて当該データを表現する。
【００３０】
より具体的には、２次元コード生成部２０３は、図４（ｂ）または（ｃ）に示すデータ変換則（所定のデータ変換則）にしたがって、データ領域１０ｄに格納されるデータを表現する。
【００３１】
図４（ｂ）に示すデータ変換則を用いた場合、データ領域１０ｄにおいて黒色（図中“■”で表示）が占める割合は、５０％以下となる。また、図４（ｃ）に示すデータ変換則を用いた場合、データ領域１０ｄにおいて黒色が占める割合は、２５％以下となる。
【００３２】
このため、データ領域１０ｄに格納されるデータの内容によらず、主に黒色が用いられるパターン１０ｐの領域とデータ領域１０ｄとの濃淡の差を一定以上に維持することができる。なお、図４（ａ）は、図４（ｂ）及び（ｃ）に示したデータ変換則と比較するため、黒色または白色の画像とデータ（０または１）とを一対一で対応付ける一般的なデータ変換則の例を示している。
【００３３】
また、２次元コード生成部２０３は、上述したデータ変換則を用いて生成されたデータ領域１０ｄと、パターン１０ｐとを含む２次元コード１０の画像情報を出力部２０５に送出する。
【００３４】
出力部２０５は、２次元コード生成部２０３から送出された２次元コード１０の画像情報に基づいて、２次元コード１０を出力するものである。具体的には、出力部２０５は、２次元コード１０を２次元コード表示対象媒体２０上に印刷したり、２次元コード１０が印刷されたラベルを生成したりすることができる。
【００３５】
次に、パターン位置検出装置３００の構成について説明する。受光部３０１は、２次元コード１０を画像データ１０ｉｍｇ（図５（ａ）参照）として取得するものであり、本実施形態では、２次元コード取得部を構成する。
【００３６】
具体的には、受光部３０１は、受光素子としてＣＣＤセンサ（不図示）を有し、当該ＣＣＤセンサを用いて撮像された２次元コード１０の画像データ１０ｉｍｇをパターン位置検出部３０３に出力する。
【００３７】
パターン位置検出部３０３は、受光部３０１によって取得された画像データ１０ｉｍｇのうち、複数の画素によって構成される画像領域Ａ（図５（ｃ）参照）の濃淡を示す濃淡度に基づいて、画像領域Ａを単位としたパターン１０ｐの画像データ１０ｉｍｇ上の位置である概略位置を検出するものであり、本実施形態では、概略位置検出部を構成する。
【００３８】
ここで、図５（ｂ）及び（ｃ）に示すように、画像領域Ａの縦方向は、画素数（Ｍ×Ｍ）によって構成されるパターン１０ｐ（例えば、Ｍ＝１６）よりも小さい画素数ｎ（第１の画素数）によって構成されている。また、画像領域Ａの横方向も、パターン１０ｐ（Ｍ×Ｍ）よりも小さい画素数ｎ（第２の画素数）で構成されている。本実施形態では、“ｎ＝４”に設定されており、画像領域Ａは、１６画素（４×４）によって構成されている。
【００３９】
パターン位置検出部３０３は、まず、図５（ａ）に示すように、受光部３０１によって取得された画素数（Ｒ×Ｒ）によって構成される画像データ１０ｉｍｇ（例えば、Ｒ＝６４）について、画素数（ｎ×ｎ）単位、つまり、画像領域Ａごとの濃淡度を演算する。
【００４０】
具体的には、パターン位置検出部３０３は、画像領域Ａの画素値（ｎ×ｎ）の総和を演算することによって、画像領域Ａごとの濃淡度を求める。また、当該濃淡度は、（ｎ×ｎ）画素の画素値の平均値であってもよく、すなわち、当該濃淡度とは、（ｎ×ｎ）画素の大まかな画素値のことをいう。
【００４１】
さらに、パターン位置検出部３０３は、画像データ１０ｉｍｇ（画素数＝６４×６４）の中から、画像領域Ａ（画素数＝４×４）単位で移動しつつパターンマッチングを実行し、パターン１０ｐ（画素数＝１６×１６）の概略位置を検出する。
【００４２】
この場合、パターン１０ｐの概略位置の検出に伴う加算処理の回数は、次のとおりとなる。
【００４３】
Ｒ２＋（Ｍ／ｎ）２（Ｒ／ｎ）２
具体的には、パターン位置検出部３０３は、以下のようにして、パターン１０ｐの概略位置を検出する。
【００４４】
（１）画像データ１０ｉｍｇ（Ｒ×Ｒ）の左上部分の画像領域Ａ（ｎ×ｎ）を対象として演算する。この場合、演算（加算処理）回数は、ｎ×ｎ回となる。
【００４５】
（２）次に、画像データ１０ｉｍｇの左上部分から、ｎ画素（４画素）分下方に移動し、画像領域Ａ（ｎ×ｎ）を対象として演算する。この場合、（１）と同様に、演算回数は、ｎ×ｎ回となる。
【００４６】
（３）以降、さらにｎ画素分下方に移動し、画像領域Ａ（ｎ×ｎ）を対象とした演算を繰り返す。
【００４７】
（１）〜（３）によれば、加算処理の回数は、おおよそ、ｎ×ｎ×（Ｒ／ｎ）×（Ｒ／ｎ）回となる。
【００４８】
次に、パターン位置検出部３０３は、（Ｒ／ｎ）×（Ｒ／ｎ）、つまり、画素数（１６×１６）の領域において、（Ｍ／ｎ）×（Ｍ／ｎ）、つまり、画素数（４×４）を単位として、パターン１０ｐの特徴を検出、具体的には、パターンマッチングを実行する。
【００４９】
具体的には、パターン位置検出部３０３は、以下のようにして、パターン１０ｐの特徴を検出する。
【００５０】
（４）（Ｒ／ｎ）×（Ｒ／ｎ）の領域のうち、左上部分の（Ｍ／ｎ）×（Ｍ／ｎ）の領域を対象として演算する。この場合、演算（加算処理）回数は、（Ｍ／ｎ）×（Ｍ／ｎ）回となる。
【００５１】
（５）次に、当該左上部分から、ｎ画素（４画素）分下方に移動し、（Ｍ／ｎ）×（Ｍ／ｎ）の領域を対象として演算する。この場合、（４）と同様に、演算回数は、（Ｍ／ｎ）×（Ｍ／ｎ）回となる。
【００５２】
（６）以降、さらにｎ画素分下方に移動し、（Ｍ／ｎ）×（Ｍ／ｎ）の領域を対象とした演算を繰り返す。
【００５３】
（４）〜（６）によれば、加算処理の回数は、（Ｍ／ｎ）×（Ｍ／ｎ）×（Ｒ／ｎ−Ｍ／ｎ＋１）×（Ｒ／ｎ−Ｍ／ｎ＋１）回となる。ここで、ＲがＭよりも充分に大きい（Ｒ≫Ｍ）場合、加算処理の回数は、（Ｍ／ｎ）×（Ｍ／ｎ）×（Ｒ／ｎ）×（Ｒ／ｎ）回となる。
【００５４】
なお、パターン位置検出部３０３は、上述した方法と異なる検出方法を用いて、パターン１０ｐの画像データ１０ｉｍｇ上の位置である概略位置を検出することもできる。すなわち、パターン１０ｐにおいて主に使用されている色（例えば、白色）以外の色を多くすることができるデータ変換則が用いられればよく、パターン位置検出部３０３は、当該データ変換則に対応した概略位置の検出方法を用いることができる。
【００５５】
詳細位置検出部３０５は、パターン位置検出部３０３によって検出された概略位置を含む“所定領域”を対象として、画像領域Ａ（大画素領域）よりも小さい小画素領域を単位としたパターン１０ｐの画像データ１０ｉｍｇ上における位置である詳細位置を検出するものである。
【００５６】
本実施形態では、詳細位置検出部３０５は、画像領域Ａよりも小さい小画素領域として、１画素の領域を単位として、パターン１０ｐの画像データ１０ｉｍｇ上における詳細位置を検出する。
【００５７】
また、詳細位置検出部３０５は、パターン位置検出部３０３によって検出されたパターン１０ｐの画像データ１０ｉｍｇ上における概略位置を基準として、縦方向にｎ（第１の画素数）、及び横方向にｎ（第２の画素数）移動した位置までを“所定領域”として、パターン１０ｐの詳細位置を検出する。
【００５８】
すなわち、パターン位置検出部３０３によって、パターン１０ｐの画像データ１０ｉｍｇ上における概略位置が検出されているため、詳細位置検出部３０５は、画素数（（Ｍ＋２ｎ）×（Ｍ＋２ｎ）＝２４×２４）の領域を対象として、パターン１０ｐの画像データ１０ｉｍｇ上における詳細位置を検出する。
【００５９】
この場合、パターン１０ｐの詳細位置の検出に伴う加算処理の回数は、次のとおりとなる。
【００６０】
Ｍ×Ｍ×（２ｎ＋１）×（２ｎ＋１）
つまり、パターン位置検出部３０３によって検出されたパターン１０ｐの画像データ１０ｉｍｇ上における”概略”位置は、画素数（ｎ×ｎ）を単位として検出されているため、当該概略位置は、上下及び左右の４方向において、ｎ画素分の曖昧さを有している。
【００６１】
そこで、（Ｍ＋２ｎ）×（Ｍ＋２ｎ）の領域について、１画素（１×１）を単位として、パターン１０ｐの画像データ１０ｉｍｇ上における”詳細”位置を検出する。ここで、パターン１０ｐの”概略”位置が有する曖昧さは、ｎ画素以内であるため、パターン１０ｐは、必ず（Ｍ＋２ｎ）×（Ｍ＋２ｎ）の領域に存在することとなる。
【００６２】
また、（Ｍ＋２ｎ）×（Ｍ＋２ｎ）の領域から、画素（１×１）を単位として、画素数（Ｍ×Ｍ）のパターン１０ｐの詳細位置を検出するために実行される加算処理の回数は、上述したパターン位置検出部３０３によるパターン１０ｐの概略位置の検出と同様に、Ｍ×Ｍ×（Ｍ＋２ｎ−Ｍ＋１）×（Ｍ＋２ｎ−Ｍ＋１）回となる。
【００６３】
なお、本実施形態に係るパターン位置検出装置３００による加算処理の回数の具体例については、後述する。
【００６４】
（２次元コード生成検出システムの動作）
次に、上述した２次元コード生成検出システム１００の動作について説明する。図２は、２次元コード生成検出システム１００を構成する２次元コード生成装置２００による２次元コード１０の生成に係る動作フローを示している。
【００６５】
ステップＳ１０において、２次元コード生成装置２００は、２次元コード１０のデータ領域１０ｄに格納するデータ（文字や数字など）を取得する。
【００６６】
ステップＳ２０において、２次元コード生成装置２００は、ステップＳ１０において取得したデータを、図４（ｂ）または（ｃ）に示したデータ変換則を用いて変換し、データ領域１０ｄを生成する。さらに、２次元コード生成装置２００は、生成したデータ領域１０ｄと、切り出しシンボルであるパターン１０ｐとによって構成される２次元コード１０を生成する。
【００６７】
ステップＳ３０において、２次元コード生成装置２００は、ステップＳ２０において生成した２次元コード１０を出力する。具体的には、２次元コード生成装置２００は、生成した２次元コード１０を２次元コード表示対象媒体２０上に印刷したり、２次元コード１０が印刷されたラベルを生成したりする。
【００６８】
図３は、２次元コード生成検出システム１００を構成するパターン位置検出装置３００による２次元コード１０の検出に係る動作フローを示している。
【００６９】
ステップＳ１１０において、パターン位置検出装置３００は、２次元コード表示対象媒体２０に表示されている２次元コード１０を画像データ１０ｉｍｇとして取得する。
【００７０】
具体的には、パターン位置検出装置３００は、図５（ａ）に示すように、画素数（Ｒ×Ｒ，Ｒ＝６４）によって構成される画像データ１０ｉｍｇを取得する。また、図５（ｂ）に示すように、パターン１０ｐの画素数（Ｍ×Ｍ）は、（１６×１６）となっている。
【００７１】
次に、図３に示すように、ステップＳ１２０において、パターン位置検出装置３００は、２次元コード１０に含まれるパターン１０ｐ（所定パターン）の“概略”位置を検出する。
【００７２】
具体的には、上述したように、パターン位置検出装置３００（パターン位置検出部３０３）は、画像データ１０ｉｍｇを画像領域Ａ（図５（ｃ）参照）の濃淡を示す濃淡度に基づいて、画像領域Ａ、つまり、画素数ｎ×ｎ（４×４）を単位としたパターン１０ｐの画像データ１０ｉｍｇ上の概略位置を検出する。
【００７３】
さらに、パターン位置検出装置３００（パターン位置検出部３０３）は、画像データ１０ｉｍｇの中から、画像領域Ａ単位で移動しつつパターンマッチングを実行し、パターン１０ｐ（画素数＝１６×１６）の概略位置を検出する。
【００７４】
また、パターン位置検出装置３００は、ステップＳ１２０において、パターン１０ｐの概略位置を検出するため、以下に示す回数、加算処理を繰り返す。
【００７５】
Ｒ２＋（Ｍ／ｎ）２（Ｒ／ｎ）２
＝６４２＋（１６／４）２（６４／４）２
＝４，０９６＋４，０９６＝８，１９２回    …［回数１］
ステップＳ１３０において、パターン位置検出装置３００は、２次元コード１０に含まれるパターン１０ｐ（所定パターン）の“詳細”位置を検出する。
【００７６】
具体的には、上述したように、パターン位置検出装置３００（詳細位置検出部３０５）は、ステップＳ１２０において検出された“概略”位置を含む（Ｍ＋２ｎ）×（Ｍ＋２ｎ）の領域（所定領域）を対象として、１画素を単位としたパターン１０ｐの画像データ１０ｉｍｇ上における“詳細”位置を検出する。
【００７７】
また、パターン位置検出装置３００は、ステップＳ１３０において、パターン１０ｐの概略位置を検出するため、以下に示す回数、加算処理を繰り返す。
【００７８】
Ｍ×Ｍ×（２ｎ＋１）×（２ｎ＋１）
＝１６×１６×（２×４＋１）×（２×４＋１）
＝２０，７３６回    …［回数２］
すなわち、本実施形態では、パターン位置検出装置３００は、２次元コード１０のパターン１０ｐの位置を特定するために、合計２８，９２８回（＝［回数１］＋［回数２］＝８，１９２＋２０，７３６）、加算処理を実行する。
【００７９】
（作用・効果）
以上説明した本実施形態に係る２次元コード生成検出システム１００（２次元コード生成装置２００）によれば、２次元コード１０上における位置の検出に用いられるパターン１０ｐにおいて主に用いられる黒色と白色によって、データ領域１０ｄの部分が多く表現されるため、データ領域１０ｄに格納されるデータの内容によらず、パターン１０ｐの領域とデータ領域１０ｄとの濃淡の差を一定以上に維持することができる。
【００８０】
具体的には、“０”または“１”を表現する何れの場合においても、白色を用いてデータ領域１０ｄのデータが表現されるため、データ領域１０ｄにおいて白色が占める領域が拡大される。
【００８１】
すなわち、２次元コード生成検出システム１００（２次元コード生成装置２００）によれば、パターン１０ｐの領域とデータ領域１０ｄとの濃淡の差が小さいために、２次元コード１０に含まれるパターン１０ｐの位置を認識することができないといった問題が回避され、パターン１０ｐの検出精度を向上させることができる。
【００８２】
また、２次元コード生成検出システム１００（パターン位置検出装置３００）によれば、画像領域Ａの濃淡を示す濃淡度に基づいて、画像領域Ａを単位としたパターン１０ｐの画像データ１０ｉｍｇ上の概略位置が検出される。
【００８３】
つまり、パターン１０ｐの大まかな位置が検出された後、狭められた（Ｍ＋２ｎ）×（Ｍ＋２ｎ）の領域（所定領域）のみを対象として、パターン１０ｐとのパターンマッチングが実行されるため、パターンマッチングに伴う加算処理の回数を低減することができる。
【００８４】
本実施形態では、上述したように、合計２８，９２８回、加算処理が実行される。一方、上述した従来例のように、画素数Ｒ（６４×６４）によって構成される２次元コード１０の中から、画素数Ｍ（１６×１６）によって構成されるパターン１０ｐの位置を、パターンマッチングを用いて検出する場合、加算処理の回数は、Ｒ２Ｍ２回、つまり、１，０４８，５７６回となる。
【００８５】
すなわち、本実施形態に係る加算処理の回数と、従来例に係る加算処理の回数との比率は、以下のようになり、パターン１０ｐの位置を特定するために必要な加算処理の回数は、大幅に低減されている。
【００８６】
２８，９２８／１，０４８，５７６≒０．０２８
つまり、本実施形態では、パターン１０ｐが、データ領域１０ｄと比較して輝度が大きく異なることを利用して、まず、パターン１０ｐの位置が大まかに検出、具体的には、複数の画素によって構成される画像領域Ａを単位として、画像データ１０ｉｍｇがスキャンされる。
【００８７】
次いで、大まかに検出した領域、具体的には、（Ｍ＋２ｎ）×（Ｍ＋２ｎ）の領域を対象として、１画素を単位としたパターン１０ｐの画像データ１０ｉｍｇ上における位置を特定するようにしたのである。
【００８８】
（その他の実施形態）
上述したように、本発明の一実施形態を通じて本発明の内容を開示したが、この開示の一部をなす論述及び図面は、本発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
【００８９】
例えば、本発明は、２次元の画像（以下、２次元画像）を用いて情報を記録、再生するホログラムメモリが用いられる場合にも適用することができる。図６は、本発明を適用することができるホログラムメモリの断面図である。
【００９０】
同図に示すように、ホログラムメモリ４００は、２次元画像を生成するホログラムを記録した平面型シングルモード光導波路が多層に重ねられた積層導波路ホログラムである。
【００９１】
ホログラムメモリ４００は、表面からクラッド層４１０ａ、コア層４１０ｂ、クラッド層４２０ａ、コア層４２０ｂ、クラッド層４３０ａ、コア層４３０ｂ、及びクラッド層４４０が、順に積層されている。
【００９２】
コア層４１０ｂ，４２０ｂ，４３０ｂは、石英やプラスティックなどの板状の透明な媒質によって構成される。また、コア層４１０ｂ，４２０ｂ，４３０ｂは、クラッド層４１０ａ，４２０ａ，４３０ａ，４４０ａよりも光の屈折率が高く、屈折率を変調するなどの方法によって形成された散乱因子によって、２次元コードによって符号化された２次元符号を再生するホログラムＨが形成されている。
【００９３】
レーザなどの光源（不図示）から出射されたレーザ光ＬＢは、レンズＬによって集光され、ホログラムメモリ４００の端面４００ｅから入射する。端面４００ｅから入射したレーザ光ＬＢは、コア層４２０ｂに結合し、コア層４２０ｂの内部を導波光ＰＢとして伝搬する。
【００９４】
導波光ＰＢは、コア層４２０ｂに形成されているホログラムＨによって散乱し、回折光ＤＢとして、ホログラムメモリ４００から出射する。ホログラムメモリ４００から出射した回折光ＤＢは、ホログラム画像ＨＰ（２次元画像）を形成する。
【００９５】
回折光ＤＢによって形成されたホログラム画像ＨＰをＣＣＤセンサなどの光検出器を用いて読み取ることによって、コア層４２０ｂにホログラムＨとして形成（記録）されている情報を取得することができる。
【００９６】
また、クラッド層及びコア層が積層されている方向Ｖに、レーザ光ＬＢ及びレンズＬを移動させることによって、コア層４１０ｂやコア層４３０ｂにレーザ光ＬＢを結合させることができる。
【００９７】
コア層４１０ｂやコア層４３０ｂにレーザ光ＬＢを結合させることによって、コア層４１０ｂやコア層４３０ｂに記録されている情報を取得することができる。
【００９８】
また、上述した２次元コード生成装置２００（出力部２０５を除く）、及びパターン位置検出装置３００（受光部３０１を構成するＣＣＤを除く）は、コンピュータにおいて実行可能なプログラムとして提供することもできる。
【００９９】
上述した本発明の実施形態では、２次元コードの一種としてＱＲコードを例として説明したが、本発明は、他の２次元コード（例えば、Ｍａｘｉ Ｃｏｄｅ）などの２次元コードにも適用することができる。
【０１００】
さらに、上述した本発明の実施形態では、パターン１０ｐ及びデータ領域１０ｄを表示する色として、黒色及び白色を用いたが、他の色であっても構わない。また、色（黒白）とデータ（“０”と“１”）の対応付けは、上述した本発明の実施形態と逆にしてもよい。
【０１０１】
このように、本発明は、ここでは記載していない様々な実施の形態などを含むことは勿論である。したがって、本発明の技術的範囲は、上述の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【０１０２】
【図１】本発明の実施形態に係る２次元コード生成検出システムの論理ブロック構成を示す図である。
【図２】本発明の実施形態に係る２次元コード生成装置の動作フローを示す図である。
【図３】本発明の実施形態に係るパターン位置検出装置の動作フローを示す図である。
【図４】従来例及び本発明の実施形態に係るデータ変換則を示す図である。
【図５】本発明の実施形態に係る２次元コードの画像データ、所定パターン及び画像領域を示す図である。
【図６】本発明のその他の実施形態に係るホログラムメモリの断面図である。
【符号の説明】
【０１０３】
１０…２次元コード、１０ｄ…データ領域、１０ｉｍｇ…画像データ、１０ｐ…パターン、２０…２次元コード表示対象媒体、１００…２次元コード生成検出システム、２００…２次元コード生成装置、２０１…データ取得部、２０３…２次元コード生成部、２０５…出力部、３００…パターン位置検出装置、３０１…受光部、３０３…パターン位置検出部、３０５…詳細位置検出部、４００…ホログラムメモリ、４００ｅ…端面、４１０ａ，４２０ａ，４３０ａ，４４０…クラッド層、４１０ｂ，４２０ｂ，４３０ｂ…コア層、Ａ…画像領域、ＤＢ…回折光、Ｈ…ホログラム、ＨＰ…ホログラム画像、Ｌ…レンズ、ＬＢ…レーザ光、ＰＢ…導波光
【図１】
2006155222.tif 000003
【図２】
2006155222.tif 000004
【図３】
2006155222.tif 000005
【図４】
2006155222.tif 000006
【図５】
2006155222.tif 000007
【図６】
2006155222.tif 000008