(57)【要約】【課題】二次元コードを検出しやすいよう再配置して描画データを生成し、印刷装置へ転送すること。【解決手段】本発明は、二次元コードが付されたファイルを印刷装置へ転送するにあたり、二次元コードの描画データを取得する取得手段１と、取得手段によって取得した描画データに基づき二次元コードの復号を行う二次元コード復号手段２と、二次元コード復号手段２によって復号して得た情報から印刷装置の解像度に応じて新たな二次元コードを生成する二次元コード生成手段３と、前記描画データを二次元コード生成手段３によって生成した新たな二次元コードの描画データと置き換える描画データ生成手段４とを備える二次元コード生成システムである。【選択図】図１
2007219779.tif 000002
【特許請求の範囲】
【請求項１】
二次元コードが付されたファイルを印刷装置へ転送するにあたり、
前記二次元コードの描画データを取得する取得手段と、
前記取得手段によって取得した前記描画データに基づき前記二次元コードの復号を行う復号手段と、
前記復号手段によって復号して得た情報から前記印刷装置の解像度に応じて新たな二次元コードを生成する二次元コード生成手段と、
前記描画データを前記二次元コード生成手段によって生成した新たな二次元コードの描画データと置き換える描画データ生成手段と
を備えることを特徴とする二次元コード生成システム。
【請求項２】
前記二次元コード生成手段では、前記印刷装置の解像度が低いほど元の二次元コードの構成単位を大きくして前記新たな二次元コードにする
ことを特徴とする請求項１記載の二次元コード生成システム。
【請求項３】
前記二次元コード生成手段では、前記印刷装置の解像度が低いほど元の二次元コードのサイズを大きくして前記新たな二次元コードにする
ことを特徴とする請求項１記載の二次元コード生成システム。
【請求項４】
複数の二次元コードが付されたファイルを印刷装置へ転送するにあたり、
前記複数の二次元コードの描画データを取得する取得手段と、
前記取得手段によって取得した複数の二次元コードの描画データについて前記複数の二次元コードを区分けする新たな描画データを生成する描画データ生成手段と、
前記描画データ生成手段によって生成した新たな描画データを前記印刷装置へ転送する転送手段と
を備えることを特徴とする二次元コード生成システム。
【請求項５】
前記描画データ生成手段では、前記複数の二次元コードを区分けするため、前記複数の二次元コードの間に境界線の描画データを追加する
ことを特徴とする請求項４記載の二次元コード生成システム。
【請求項６】
前記描画データ生成手段では、前記複数の二次元コードを区分けするため、前記複数の二次元コードの大きさに差を設けるよう前記新たな描画データを生成する
ことを特徴とする請求項４記載の二次元コード生成システム。
【請求項７】
前記描画データ生成手段では、前記複数の二次元コードを区分けするため、前記複数の二次元コードの色に差を設けるよう前記新たな描画データを生成する
ことを特徴とする請求項４記載の二次元コード生成システム。
【請求項８】
前記描画データ生成手段では、前記複数の二次元コードを区分けするため、前記複数の二次元コードの配置をずらすよう前記新たな描画データを生成する
ことを特徴とする請求項４記載の二次元コード生成システム。
【請求項９】
二次元コードが付されたファイルを印刷装置へ転送するにあたり、
前記二次元コードの描画データを取得するステップと、
前記描画データに基づき復号を行うステップと、
前記復号して得た情報から前記印刷装置の解像度に応じて新たな二次元コードを生成するステップと、
前記描画データを前記新たな二次元コードの描画データと置き換えるステップと
をコンピュータによって実行することを特徴とする二次元コード生成プログラム。
【請求項１０】
複数の二次元コードが付されたファイルを印刷装置へ転送するにあたり、
前記複数の二次元コードの描画データを取得するステップと、
前記複数の二次元コードの描画データについて前記複数の二次元コードを区分けする新たな描画データを生成し、前記印刷装置へ転送するステップと
をコンピュータによって実行することを特徴とする二次元コード生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次元コードの生成に関する発明であり、特に、二次元コードを再生成して印刷装置へデータ転送する二次元コード生成システムおよび二次元コード生成プログラムに関する。
【背景技術】
【０００２】
近年、バーコードは広く世の中で活用されている。その中でも表現できる情報量の多さから二次元コードの利用が広まっている（特許文献１、２参照）。例えば、紙の書類の記載内容を二次元コードに変換し、その紙文書の余白に二次元コードを追加しておくことで、その紙文書をスキャンしたときに、そのバーコードを認識して復号すれば、ＯＣＲなどを用いることなく、その文書の記載内容を電子データとして取得することが可能である。
【０００３】
ここで、二次元コードは、一次元コード（バーコード）よりも表現できる情報量が大きいが、それでもその情報量には限界がある。大量の情報量をバーコードで表現する場合には、その情報を複数のバーコードに分割して表現するやり方がある（JIS-X-0510、p22、5.3.2.7、連結モードを参照。）。
【０００４】
（ＱＲ複数生成して１ページに配置される）
以下、二次元コードの代表例であるＱＲコードを例にして発明を説明する。すなわち、ＱＲコードの連結モードでは複数のＱＲコードが生成されるが、この時同じ型番のＱＲコードが複数生成される。この時、同じ型番のＱＲコードであるから、同じサイズのＱＲコードで生成するのが普通である。
【０００５】
また、連結モードである複数のＱＲコードを復号する場合には、これら複数のＱＲコードを全て読み込む必要があるので、複数のＱＲコードを１枚の紙に配置して出力する。
【０００６】
（ＰＣで作ったＱＲ生成出力）
これらのＱＲコードを生成する環境は基幹ホストからの帳票出力などで用いられることもあるが、最近はＰＣ上で手軽にＱＲコード生成が行われることが多い。ＰＣ上のアプリでＱＲコードを生成し、文書作成ソフトで作成した電子文書のページの上に配置して（貼り付けて）プリントすることで、手軽にＱＲコード付きの文書を作成することが出来る。
【０００７】
（ＱＲ複数検出する手順）
そして、この複数のＱＲコードが配置された紙をスキャンして、各々のＱＲコードを認識して復号し、そして連結して結果を返す。
【０００８】
以下、複数のＱＲコードを検出し復号する際の処理について述べる。ＱＲコードには３個の位置要素パターンがある。画像中からＱＲコードを検出するには、まず画像全体をスキャンして位置要素パターンを検出し、その位置要素パターンの中心座標を全て算出する（JIS-X-0510、p65〜p66を参照。）。例えばＱＲコードが一つであれば、位置要素パターンの中心座標は３個、ＱＲコードが４個あれば、位置要素パターンの中心座標は３×４＝１２個算出される。
【０００９】
この位置要素パターンは図１４のように、左上に位置検出パターン#0、右上に位置検出パターン#1、左下に位置検出パターン#2が配置される。そして、これらの位置要素パターン#0、#1、#2の中心を頂点とする直角二等辺三角形を構成し、二次元コードの上下位置および回転を検出する。
【００１０】
【特許文献１】特開平６−１２５１５号公報
【特許文献２】特許第２９３８３３８号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１１】
（不要な直角二等辺三角形）
しかしながら、複数のＱＲコードが存在する場合、ＱＲコードを検出する条件として位置検出パターンから直角二等辺三角形を検出すると、不要な位置に直角二等辺三角形が見つかってしまう（図１５参照）。つまり、誤認識される直角二等辺三角形が出てきてしまう。
【００１２】
この際、不要な直角二等辺三角形が見つかったとしても、全体の三角形の組み合わせから、不要な三角形を排除することは可能である。例えば、不要な三角形を含む全体構成では、余る点が存在してしまうということを利用すれば、排除は可能である。ただし、この処理では最適な組み合わせになるまで、演算を延々と繰り返すことになる。その結果、演算量が増えてしまうため、処理速度が遅くなる。
【００１３】
また、不要な直角二等辺三角形をＱＲコードであると判定してしまうので、ＱＲコードの誤認識が発生してしまうという問題も生じる。
【００１４】
さらに、パーソナルコンピュータ上で作成した電子文書にＱＲコードを貼り付けて紙に印刷する際、パーソナルコンピュータ上で貼り付けられたＱＲコードが微細で正しく紙上に再現されないことがある。この場合、この紙をスキャンしてもＱＲコードは正常に復号されない。
【００１５】
また、パーソナルコンピュータ上の電子文書にＱＲコードを貼り付ける際、電子文書の体裁を整えるために、ＱＲコード画像を拡大あるいは縮小して貼り付けることがある。ＱＲコード画像は白黒２値の高いコントラストが必要であるが、ＱＲコード画像が拡大あるいは縮小される影響でコントラストが落ちたり、白黒２値の画像が拡大縮小の画像エッジ補完処理でぼやけてしまうことがある。この場合、この状態で紙に印刷して、その紙をスキャンしてもＱＲコードが正常に復号されないという問題が生じる。
【課題を解決するための手段】
【００１６】
本発明はこのような課題を解決するために成されたものである。すなわち、本発明は、二次元コードが付されたファイルを印刷装置へ転送するにあたり、二次元コードの描画データを取得する取得手段と、取得手段によって取得した描画データに基づき二次元コードの復号を行う復号手段と、復号手段によって復号して得た情報から印刷装置の解像度に応じて新たな二次元コードを生成する二次元コード生成手段と、前記描画データを二次元コード生成手段によって生成した新たな二次元コードの描画データと置き換える描画データ生成手段とを備える二次元コード生成システムである。
【００１７】
このような本発明では、二次元コードが付されたファイルを印刷装置へ転送する際、二次元コードの描画データから復号を行い、印刷装置の解像度に応じて新たな二次元コードを生成し、元の描画データの二次元コード該当部分を新たな二次元コードの描画データと置き換えることから、印刷装置の解像度に合わせて二次元コードを検出しやすい形態で再生成できることになる。
【００１８】
また、本発明は、複数の二次元コードが付されたファイルを印刷装置へ転送するにあたり、複数の二次元コードの描画データを取得する取得手段と、取得手段によって取得した複数の二次元コードの描画データについて複数の二次元コードを区分けする新たな描画データを生成する描画データ生成手段と、描画データ生成手段によって生成した新たな描画データを前記印刷装置へ転送する転送手段とを備える二次元コード生成システム。
【００１９】
このような本発明では、複数の二次元コードが付されたファイルを印刷装置へ転送する際、複数の二次元コードについての区分けを明確にできる形態で二次元コードを再生成するため、印刷装置で印刷した媒体に複数の二次元コードが付されている場合でもこれらを的確に区別して検出できるようになる。
【００２０】
また、上記二次元コード生成方法をプログラム処理で実現することによって、二次元コードを印刷装置へ転送する機能を備えたプログラム（例えば、プリンタドライバ）や各種電子機器（プリンタコントローラ）へ適用できるようになる。ここで、二次元コードとしては、ＱＲコード、ＰＤＦ４１７、マキシコード（Maxi Code）、データマトリクス（Data Matrix）、といったものが挙げられ、二次元コードの特性（例えば、ＱＲコードでは最小画素単位であるモジュールサイズ）に応じたノイズ除去を行うことによって、二次元コードの描画内容に影響が出ないようなノイズ除去を実現できる。
【発明の効果】
【００２１】
したがって、本発明によれば、二次元コードの検出処理時間を短縮化することができるとともに、二次元コードの検出精度を向上させることが可能となる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態を図に基づき説明する。なお、本実施形態では二次元コードとしてＱＲコードを例に説明を行う。図１は、本実施形態に係る二次元コード生成システムの構成を説明するブロック図である。すなわち、この二次元コード生成システムは、プリンタドライバやプリンタコントローラによって実現されるもので、取得手段１、二次元コード復号手段２、二次元コード生成手段３、描画データ生成手段４、転送手段５を備えている。
【００２３】
取得手段１は、アプリケーションソフトウェアによって作成されたファイルから二次元コードの描画データを取得する処理を行う。また、二次元コード復号手段２は、取得手段１によって取得した描画データに基づき二次元コードの復号を行う。二次元コード生成手段３は、復号して得た情報から印刷装置の解像度に応じた新たな二次元コードを生成する処理を行う。描画データ生成手段４は、元の描画データの二次元コード該当部分を二次元コード生成手段３によって生成した新たな二次元コードの描画データと置き換える処理や、取得手段１によって複数の二次元コードの描画データを取得した場合、複数の二次元コードを区分けする新たな描画データを生成する処理を行う。転送手段５は、描画データ生成手段４によって生成した新たな描画データを印刷装置へ転送する処理を行う。
【００２４】
次に、上記二次元コード生成システムによる処理を実施形態として具体的に説明する。
【００２５】
図２は、第１実施形態を説明するフローチャートである。第１実施形態では、二次元コードが付されたファイルを印刷装置へ転送するにあたり、プリンタ解像度に合わせてＱＲコードを作り直して（再生成）、検出しやすいようにする点に特徴がある。
【００２６】
先ず、パーソナルコンピュータ等で実行されるアプリケーションソフトウェアから描画データを取得し（ステップＳ１１）、描画データをプリンタの解像度に合わせてラスタライズする（ステップＳ１２）。次に、ラスター画像に対してＱＲコードの復号処理を施す（ステップＳ１３）。
【００２７】
次いで、復号結果とプリンタの解像度とを考慮して、ＱＲコードを再度エンコードし（ステップＳ１４）、元のラスター画像の二次元コード該当部分を新たに生成されたＱＲコードの画像と置き換える（ステップＳ１５）。そして、この新たなＱＲコードが付されたラスター画像をプリンタに転送し、印刷指示を与える（ステップＳ１６）。
【００２８】
上記各ステップによる処理はプリンタドライバで実行されるが、プリンタ内部のプリンタコントローラで実行してもよい。図３は、プリンタコントローラでの処理を説明するフローチャートである。
【００２９】
先ず、クライアントであるパーソナルコンピュータからページ記述言語データを取得し（ステップＳ２１）、ページ記述言語データのラスタライズを行う（ステップＳ２２）。次に、ラスター画像に対してＱＲコードの復号処理を施す（ステップＳ２３）。
【００３０】
次いで、復号結果とプリンタの解像度などプリンタ特性に合わせてＱＲコードを再度エンコードし（ステップＳ２４）、元のラスター画像の二次元コード該当部分を新たに生成されたＱＲコードの画像と置き換える（ステップＳ２５）。そして、この新たなＱＲコードが付されたラスター画像によって印刷出力を行う（ステップＳ２６）。
【００３１】
ここで、具体的なＱＲコードの再生成としては、プリンタの解像度が低いほど元のＱＲコードのモジュールサイズ（構成単位）を大きくしたり、プリンタの解像度が低いほど元の二次元コードのサイズを大きくすることが考えられる。プリンタの解像度が低いと小さなモジュールサイズでは再現性が悪化するため、大きなモジュールサイズにしたり、二次元コード自体の面積を大きくすることで、解像度の低いプリンタで印刷出力したＱＲコードであっても十分検出できるようになる。
【００３２】
また、元のＱＲコードを復号し、その復号した情報の量によっては必要以上に小さなモジュールサイズになっている場合もある。このような場合には復号した情報の量に応じて必要十分なモジュールサイズに変更して新たなＱＲコードを生成すれば、解像度の低いプリンタで印刷出力したＱＲコードであっても十分検出可能となる。
【００３３】
次に、第２実施形態について説明する。第２実施形態では、複数のＱＲコードを配置する際に、ＱＲコード間に境界線を追加して検出しやすいように再配置する点に特徴がある。図４は、複数のＱＲコードの間に境界線を入れる例を説明する模式図である。すなわち、図４（ａ）に示すように、元原稿として例えば２つのＱＲコードが配置されている場合、これらＱＲコードの描画データを取得し、この描画データにおける２つのＱＲコードの間に境界線を追加して新たな描画データを生成する。図４（ｂ）は２つのＱＲコードの間に黒色の境界線が追加された例を示している。
【００３４】
このように、２つのＱＲコードの間に境界線を追加することで、これが印刷出力された媒体を読み取ってＱＲコードを復号する際、境界線を検出することで２つのＱＲコードを確実に区分けして読み取ることが可能となる。なお、図４（ｂ）では黒色の境界線を追加したが、人の目に見えにくくスキャナによる読み取りは可能な色で境界線を構成してもよい。図４（ｃ）に示す例は、黄色の境界線を追加した例である。なお、図４（ｃ）では黄色の境界線を破線で示している。これにより、印刷出力の見た目を損なうことなく、２つのＱＲコードの確実な区分けを実現できる。
【００３５】
図５は、境界線を有する複数のＱＲコードの検出処理を説明するフローチャートである。この検出処理は、ＱＲコードの画像を読み取ってその画像から復号を行う電子機器で実行される。
【００３６】
先ず、境界線の条件（例えば、色や最小長）を指定し（ステップＳ３０１）、読み取った画像から境界線の抽出を行う（ステップＳ３０２）。この境界線の抽出は、一般的な画像処理の線分抽出技術を用いる。
【００３７】
次に、読み取った画像からＱＲコードの位置検出パターンの中心座標を検出する（ステップＳ３０３）。この検出方法は、ＱＲコードの隅部に配置された位置検出パターンの中心座標の検出方法を示すJIS-X-0510、p65-p66に記載の手法を用いる。
【００３８】
続いて、位置検出パターンの座標リストを作成し（ステップＳ３０４）、位置検出パターンのリストから３個を選択する（ステップＳ３０５）。そして、この選択した３個の位置検出パターンの間に境界線があるか否かを判断し（ステップＳ３０６）、ある場合には同じＱＲパターン内の位置検出パターンではないとしてステップＳ３０５へ戻り、別の３個を選択する。
【００３９】
一方、選択した３個の位置検出パターンの間に境界線がない場合には同じＱＲコード内の位置検出パターンであることになるため、その３個の位置検出パターンの位置関係が直角二等辺三角形であるか否を判断し（ステップＳ３０７）、直角二等辺三角形でない場合には別の３個を選択する（ステップＳ３０５）。また、直角二等辺三角形である場合にはこの３個の位置検出パターンがＱＲコードを構成するため（ステップＳ３０８）、３個の位置検出パターンの座標を保持し、リストから削除する（ステップＳ３０９）。
【００４０】
次に、リストに位置検出パターンの座標が３個以上残っているか否かを判断し（ステップＳ３１０）、残っている場合にはステップＳ３０５へ戻る。また、残っていない場合にはＱＲコードを構成する３個の位置検出パターンに基づいてＱＲコードを検出し（ステップＳ３１１）、検出したＱＲコードの復号を実行する（ステップＳ３１２）。ここで、３個の位置検出パターンからＱＲコードを検出するには、JIS-X-0510、p65-p66に記載の手法を用い、ＱＲコードの復号には、JIS-X-0510に記載の手法を用いる。
【００４１】
このように、２つのＱＲコードの間に境界線があることで、同じＱＲコードを構成する３個の位置検出パターンを確実かつ短時間で見つけることができ、正確にＱＲコードを検出して復号を行うことが可能となる。
【００４２】
次に、第３実施形態について説明する。第３実施形態では、複数のＱＲコードを配置する際に、モジュールサイズを変更して検出しやすいように再配置する点に特徴がある。図６は、複数のＱＲコードについてモジュールサイズに差を設ける例を説明する模式図である。すなわち、図６（ａ）に示すように、元原稿として例えば２つのＱＲコードが配置されている場合、これらＱＲコードの描画データを取得し、この描画データにおける２つのＱＲコードについてモジュールサイズを変更し、新たな描画データを生成する。図６（ｂ）は左側のＱＲコードのモジュールサイズを目視では判別しにくい程度に小さくし、右側のＱＲコードのモジュールサイズを目視では判別しにくい程度に大きくした例を示している。
【００４３】
このように、２つのＱＲコードのモジュールサイズに差を設けることで、これが印刷出力された媒体を読み取ってＱＲコードを復号する際、モジュールサイズの相違によって２つのＱＲコードを確実に区分けして読み取ることが可能となる。なお、モジュールサイズの変更では、図６（ｃ）に示すように、ＱＲコードの占める面積は同じでも異なる型番のＱＲコードに変更するようにしてもよい。この場合であっても内部の情報は同じとなっている。これにより、印刷出力の見た目を損なうことなく、２つのＱＲコードの確実な区分けを実現できる。
【００４４】
図７は、モジュールサイズが異なる複数のＱＲコードの検出処理を説明するフローチャートである。この検出処理は、ＱＲコードの画像を読み取ってその画像から復号を行う電子機器で実行される。
【００４５】
先ず、ＱＲコードの位置検出パターンの中心座標を検出する（ステップＳ４０１）。この検出方法は、ＱＲコードの隅部に配置された位置検出パターンの中心座標の検出方法を示すJIS-X-0510、p65-p66に記載の手法を用いる。
【００４６】
続いて、位置検出パターンの幅と高さの画素数を取得し（ステップＳ４０２）、（幅＋高さ）÷（７×２）で位置検出パターンのモジュールサイズを求める（ステップＳ４０３）。その後、位置検出パターンの中心座標とそのモジュールサイズとを組でリスト化する（ステップＳ４０４）。
【００４７】
次いで、位置検出パターンのリストから３個を選択する（ステップＳ４０５）。そして、この選択した３個の位置検出パターンのモジュールサイズが等しい（ほぼ等しいを含む）か否かを判断し（ステップＳ４０６）、等しくない場合には同じＱＲパターン内の位置検出パターンではないとしてステップＳ４０５へ戻り、別の３個を選択する。
【００４８】
一方、選択した３個の位置検出パターンのモジュールサイズが等しい場合には同じＱＲコード内の位置検出パターンであることになるため、その３個の位置検出パターンの位置関係が直角二等辺三角形であるか否を判断し（ステップＳ４０７）、直角二等辺三角形でない場合には別の３個を選択する（ステップＳ４０５）。また、直角二等辺三角形である場合にはこの３個の位置検出パターンがＱＲコードを構成するため（ステップＳ４０８）、３個の位置検出パターンの座標を保持し、リストから削除する（ステップＳ４０９）。
【００４９】
次に、リストに位置検出パターンの座標が３個以上残っているか否かを判断し（ステップＳ４１０）、残っている場合にはステップＳ４０５へ戻る。また、残っていない場合にはＱＲコードを構成する３個の位置検出パターンに基づいてＱＲコードを検出し（ステップＳ４１１）、検出したＱＲコードの復号を実行する（ステップＳ４１２）。ここで、３個の位置検出パターンからＱＲコードを検出するには、JIS-X-0510、p65-p66に記載の手法を用い、ＱＲコードの復号には、JIS-X-0510に記載の手法を用いる。
【００５０】
このように、２つのＱＲコードのモジュールサイズに差があることで、同じＱＲコードを構成する３個の位置検出パターンを確実かつ短時間で見つけることができ、正確にＱＲコードを検出して復号を行うことが可能となる。
【００５１】
次に、第４実施形態について説明する。第４実施形態では、複数のＱＲコードを配置する際に、その位置をずらして再配置する点に特徴がある。図８は、複数のＱＲコードについて垂直方向に位置をずらす例を説明する模式図である。すなわち、図８（ａ）に示すように、元原稿として例えば２つのＱＲコードが配置されている場合、これらＱＲコードの描画データを取得し、この描画データにおける２つのＱＲコードについて少なくとも一方の配置位置をずらして新たな描画データを生成する。図８（ｂ）は左側のＱＲコードに対して右側のＱＲコードを垂直方向にずらして再配置した例を示している。
【００５２】
このように、２つのＱＲコードの位置をずらすことで、これが印刷出力された媒体を読み取ってＱＲコードを復号する際、位置の相違によって２つのＱＲコードを確実に区分けして読み取ることが可能となる。なお、位置をずらす方向は垂直方向以外に水平方向であったり、回転角度（微小角度）を付けるようにしたり、９０度単位に角度を付けるよう再配置してもよい。
【００５３】
図９は、位置をずらして配置した複数のＱＲコードの検出処理を説明するフローチャートである。この検出処理は、ＱＲコードの画像を読み取ってその画像から復号を行う電子機器で実行される。
【００５４】
先ず、ＱＲコードの位置検出パターンの中心座標を検出する（ステップＳ５０１）。この検出方法は、ＱＲコードの隅部に配置された位置検出パターンの中心座標の検出方法を示すJIS-X-0510、p65-p66に記載の手法を用いる。
【００５５】
続いて、位置検出パターンの中心座標のリストを作成し（ステップＳ５０２）、位置検出パターンのリストから３個を選択する（ステップＳ５０３）。そして、この選択した３個の位置検出パターンの位置関係が水平か垂直になるかを判断し（ステップＳ５０４）、ならない場合には同じＱＲパターン内の位置検出パターンではないとしてステップＳ５０３へ戻り、別の３個を選択する。
【００５６】
一方、選択した３個の位置検出パターンの位置関係が水平か垂直になる場合には同じＱＲコード内の位置検出パターンであることになるため、その３個の位置検出パターンの位置関係が直角二等辺三角形であるか否を判断し（ステップＳ５０５）、直角二等辺三角形でない場合には別の３個を選択する（ステップＳ５０３）。また、直角二等辺三角形である場合にはこの３個の位置検出パターンがＱＲコードを構成するため（ステップＳ５０６）、３個の位置検出パターンの座標を保持し、リストから削除する（ステップＳ５０７）。
【００５７】
次に、リストに位置検出パターンの座標が３個以上残っているか否かを判断し（ステップＳ５０８）、残っている場合にはステップＳ５０３へ戻る。また、残っていない場合にはＱＲコードを構成する３個の位置検出パターンに基づいてＱＲコードを検出し（ステップＳ５０９）、検出したＱＲコードの復号を実行する（ステップＳ５１０）。ここで、３個の位置検出パターンからＱＲコードを検出するには、JIS-X-0510、p65-p66に記載の手法を用い、ＱＲコードの復号には、JIS-X-0510に記載の手法を用いる。
【００５８】
このように、２つのＱＲコードの位置にずれがあることで、同じＱＲコードを構成する３個の位置検出パターンを確実かつ短時間で見つけることができ、正確にＱＲコードを検出して復号を行うことが可能となる。
【００５９】
次に、第５実施形態について説明する。第５実施形態では、複数のＱＲコードを配置する際に、各々異なる色にして再配置する点に特徴がある。図１０は、複数のＱＲコードについて色が異なるよう再配置する例を説明する模式図である。すなわち、図１０（ａ）に示すように、元原稿として例えば同じ色の２つのＱＲコードが配置されている場合、これらＱＲコードの描画データを取得し、この描画データにおける２つのＱＲコードについて一方の色が他方の色と異なるよう新たな描画データを生成する。図１０（ｂ）は左側のＱＲコードが黒色であるのに対し、右側のＱＲコードが黒以外の色になっている例を示している。
【００６０】
このように、２つのＱＲコードの色を変えることで、これが印刷出力された媒体を読み取ってＱＲコードを復号する際、色の相違によって２つのＱＲコードを確実に区分けして読み取ることが可能となる。
【００６１】
図１１は、色が異なる複数のＱＲコードの検出処理を説明するフローチャートである。この検出処理は、ＱＲコードの画像を読み取ってその画像から復号を行う電子機器で実行される。
【００６２】
先ず、検出するＱＲコードの色を指定し（ステップＳ６０１）、読み取った画像からＱＲコードの位置検出パターンの中心座標を検出する（ステップＳ６０２）。この検出方法は、ＱＲコードの隅部に配置された位置検出パターンの中心座標の検出方法を示すJIS-X-0510、p65-p66に記載の手法を用いる。
【００６３】
続いて、位置検出パターンの座標リストを作成し（ステップＳ６０３）、ステップＳ６０１で指定した色以外の位置検出パターンをリストから削除する（ステップＳ６０４）。
【００６４】
次いで、位置検出パターンのリストから３個を選択する（ステップＳ６０５）。そして、この選択した３個の位置検出パターンの位置関係が直角二等辺三角形であるか否を判断し（ステップＳ６０６）、直角二等辺三角形でない場合には別の３個を選択する（ステップＳ６０５）。また、直角二等辺三角形である場合にはこの３個の位置検出パターンがＱＲコードを構成するため（ステップＳ６０７）、３個の位置検出パターンの座標を保持し、リストから削除する（ステップＳ６０８）。
【００６５】
次に、リストに位置検出パターンの座標が３個以上残っているか否かを判断し（ステップＳ６０９）、残っている場合にはステップＳ６０５へ戻る。また、残っていない場合にはＱＲコードを構成する３個の位置検出パターンに基づいてＱＲコードを検出し（ステップＳ６１０）、検出したＱＲコードの復号を実行する（ステップＳ６１１）。ここで、３個の位置検出パターンからＱＲコードを検出するには、JIS-X-0510、p65-p66に記載の手法を用い、ＱＲコードの復号には、JIS-X-0510に記載の手法を用いる。
【００６６】
このように、２つのＱＲコードの色が相違することで、同じＱＲコードを構成する３個の位置検出パターンを確実かつ短時間で見つけることができ、正確にＱＲコードを検出して復号を行うことが可能となる。
【００６７】
次に、第６実施形態について説明する。第６実施形態では、複数のＱＲコードを配置する際に、各ＱＲコードの近くに目立たない色でマーカを付けて再配置する点に特徴がある。図１２は、複数のＱＲコードの各々についてマーカを付けて再配置する例を説明する模式図である。すなわち、図１２（ａ）に示すように、元原稿として例えば２つのＱＲコードが配置されている場合、これらＱＲコードの描画データを取得し、この描画データにおける２つのＱＲコードの近傍に黄色等の人の目に付きにくい色のマーカを付加した新たな描画データを生成する。図１２（ｂ）は各ＱＲコードの左上近傍に十字のマーカＭを付した例を示している。
【００６８】
このように、各ＱＲコードの近傍にマーカＭを設けることで、これが印刷出力された媒体を読み取ってＱＲコードを復号する際、マーカＭの検出によって２つのＱＲコードを確実に区分けして読み取ることが可能となる。
【００６９】
図１３は、マーカが付された複数のＱＲコードの検出処理を説明するフローチャートである。この検出処理は、ＱＲコードの画像を読み取ってその画像から復号を行う電子機器で実行される。
【００７０】
先ず、ＱＲコードの位置検出パターンの中心座標を検出する（ステップＳ７０１）。この検出方法は、ＱＲコードの隅部に配置された位置検出パターンの中心座標の検出方法を示すJIS-X-0510、p65-p66に記載の手法を用いる。
【００７１】
続いて、位置検出パターンの中心座標のリストを作成した後（ステップＳ７０２）、読み取った画像からマーカを検出してマーカの基準座標を検出する（ステップＳ７０３）。このマーカの検出手法としては、一般的なパターンマッチング法を用いればよい。マーカを検出した後は、マーカの座標のリストを作成しておく（ステップＳ７０４）。
【００７２】
次いで、マーカのリストからマーカの座標を一つ選択し（ステップＳ７０５）、そのマーカ座標に近い位置検出パターンを位置検出パターンのリストから３個を検出する（ステップＳ７０６）。そして、この検出した３個の位置検出パターンの位置関係が直角二等辺三角形であるか否を判断し（ステップＳ７０７）、直角二等辺三角形でない場合には別の３個を検出する（ステップＳ７０６）。また、直角二等辺三角形である場合にはこの３個の位置検出パターンがＱＲコードを構成するため（ステップＳ７０８）、３個の位置検出パターンの座標を保持し、リストから削除する（ステップＳ７０９）。また、選択したマーカの座標をリストから削除する（ステップＳ７１０）。
【００７３】
次に、リストに位置検出パターンの座標が３個以上残っているか否かを判断し（ステップＳ７１１）、残っている場合にはステップＳ７０５へ戻る。また、残っていない場合にはＱＲコードを構成する３個の位置検出パターンに基づいてＱＲコードを検出し（ステップＳ７１２）、検出したＱＲコードの復号を実行する（ステップＳ７１３）。ここで、３個の位置検出パターンからＱＲコードを検出するには、JIS-X-0510、p65-p66に記載の手法を用い、ＱＲコードの復号には、JIS-X-0510に記載の手法を用いる。
【００７４】
このように、各ＱＲコードの近傍にマーカが付されていることで、同じＱＲコードを構成する３個の位置検出パターンを確実かつ短時間で見つけることができ、正確にＱＲコードを検出して復号を行うことが可能となる。
【産業上の利用可能性】
【００７５】
上記説明した実施形態では、二次元コードとしてＱＲコードを例としたが、本発明はこれに限定されず、各種の二次元コード（例えば、ＰＤＦ４１７、マキシコード（Maxi Code）、データマトリクス（Data Matrix））に適用可能である。また、本発明の二次元コード生成プログラムは所定の記憶媒体に格納して配布したり、ネットワークを介して配信したりすることも可能である。
【図面の簡単な説明】
【００７６】
【図１】本実施形態に係る二次元コード生成システムの構成を説明するブロック図である。
【図２】第１実施形態を説明するフローチャートである。
【図３】プリンタコントローラでの処理を説明するフローチャートである。
【図４】複数のＱＲコードの間に境界線を入れる例を説明する模式図である。
【図５】境界線を有する複数のＱＲコードの検出処理を説明するフローチャートである。
【図６】複数のＱＲコードについてモジュールサイズに差を設ける例を説明する模式図である。
【図７】モジュールサイズが異なる複数のＱＲコードの検出処理を説明するフローチャートである。
【図８】複数のＱＲコードについて垂直方向に位置をずらす例を説明する模式図である。
【図９】位置をずらして配置した複数のＱＲコードの検出処理を説明するフローチャートである。
【図１０】複数のＱＲコードについて色が異なるよう再配置する例を説明する模式図である。
【図１１】色が異なる複数のＱＲコードの検出処理を説明するフローチャートである。
【図１２】複数のＱＲコードの各々についてマーカを付けて再配置する例を説明する模式図である。
【図１３】マーカが付された複数のＱＲコードの検出処理を説明するフローチャートである。
【図１４】位置検出パターンを説明する模式図である。
【図１５】位置検出パターンによる直角二等辺三角形の構成例を示す模式図である。
【符号の説明】
【００７７】
１…取得手段、２…二次元コード復号手段、３…二次元コード生成手段、４…描画データ生成手段、５…転送手段
【図１】
2007219779.tif 000003
【図２】
2007219779.tif 000004
【図３】
2007219779.tif 000005
【図４】
2007219779.tif 000006
【図５】
2007219779.tif 000007
【図６】
2007219779.tif 000008
【図７】
2007219779.tif 000009
【図８】
2007219779.tif 000010
【図９】
2007219779.tif 000011
【図１０】
2007219779.tif 000012
【図１１】
2007219779.tif 000013
【図１２】
2007219779.tif 000014
【図１３】
2007219779.tif 000015
【図１４】
2007219779.tif 000016
【図１５】
2007219779.tif 000017