(57)【要約】【課題】二次元コードに埋め込む画像の配置位置及び配置サイズを指定して、二次元コードを作成する。【解決手段】計算機であって、二次元コードに格納される情報及び当該二次元コードに埋め込まれる画像データを取得する第１の処理と、前記取得した情報を符号化して、二次元コードを作成する第２の処理と、前記取得した画像データの配置位置、配置サイズのうちの少なくとも一つを調整する第３の処理と、前記調整した配置位置、配置サイズに従って、前記取得した画像データを、前記作成した二次元コードに仮で配置する第４の処理と、前記画像データが仮で配置された二次元コードの誤り率を算出する第５の処理と、第３から第５の処理を繰り返す第６の処理と、前記算出した誤り率を参照して、前記画像データの配置位置、配置サイズを決定する第７の処理と、を行う。【選択図】図１２
2013080448.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサ、メモリ及び入出力インターフェースを備える計算機であって、
二次元コードに格納される情報及び当該二次元コードに埋め込もうとする画像データを取得する第１の処理と、
前記取得した情報を符号化して、二次元コードを作成する第２の処理と、
前記取得した画像データの配置位置、配置サイズ、回転状態、反転状態及び変形状態のうちの少なくとも一つを調整する第３の処理と、
前記調整した配置位置、配置サイズ、回転状態、反転状態及び変形状態に従って、前記取得した画像データを、前記作成した二次元コードに仮で配置する第４の処理と、
前記画像データが仮で配置された二次元コードの誤り率を算出する第５の処理と、
第３から第５の処理を繰り返す第６の処理と、
前記算出した誤り率を参照して、前記画像データの配置位置、配置サイズ、回転状態、反転状態及び変形状態を決定する第７の処理と、
を行うことを特徴とする計算機。
【請求項２】
前記第２の処理では、前記取得した情報を任意で縮小し、
前記取得した情報又は前記縮小した情報を符号化して、二次元コードを作成することを特徴とする請求項１に記載の計算機。
【請求項３】
更に、前記取得した画像データの明度、コントラスト及び色素のうちの少なくとも一つを調整する第８の処理を行うことを特徴とする請求項１に記載の計算機。
【請求項４】
更に、前記取得した画像データを、ドットアイコン化する第９の処理を行うことを特徴とする請求項１に記載の計算機。
【請求項５】
更に、前記作成した画像が埋め込まれた二次元コードに含まれる表示構成要素のうち、前記画像データの輪郭部分に配置された表示構成要素を、暗色から明色または明色から暗色に変更する第１０の処理を行うことを特徴とする請求項１に記載の計算機。
【請求項６】
更に、前記取得した画像データに含まれる画素を明部と暗部とに分ける二値化処理を行う第１１の処理を行い、
前記第４の処理では、前記取得した画像データの代わりに、前記二値化処理を行った画像データを、前記作成した二次元コードに仮で配置することを特徴とする請求項１に記載の計算機。
【請求項７】
前記第５の処理では、
前記二次元コードに仮配置された二値化処理した画像データを用いて、前記二次元コードに含まれる表示構成要素ごとに正又は誤を判定し、
前記表示構成要素ごとの正誤の判定結果を参照して、誤り率を算出することを特徴とする請求項６に記載の計算機。
【請求項８】
プロセッサ、メモリ及び入出力インターフェースを備える計算機であって、
二次元コードに格納される情報の一部及び当該二次元コードに埋め込もうとする画像データを取得する第１の処理と、
前記取得した情報の一部にランダムまたは規則的な文字列を付加してから符号化し、二次元コードを作成する第２の処理と、
前記取得した画像データの配置位置、配置サイズ、回転状態、反転状態及び変形状態のうちの少なくとも一つを調整する第３の処理と、
前記調整した前記画像データの配置位置、配置サイズ、回転状態、反転状態及び変形状態に従って、前記取得した画像データを、前記作成した二次元コードに仮で配置する第４の処理と、
前記画像データが仮で配置された二次元コードの誤り率を算出する第５の処理と、
第２から第５の処理を繰り返す第６の処理と、
前記算出した誤り率を参照して、前記情報の一部に付加するランダム又は規則的な文字列、前記画像データの配置位置、配置サイズ、回転状態、反転状態及び変形状態を決定する第７の処理と、
を行うことを特徴とする計算機。
【請求項９】
二次元コードに格納される情報及び当該二次元コードに埋め込まれる画像データを取得する第１の処理と、
前記取得した情報を符号化して、二次元コードを作成する第２の処理と、
前記取得した画像データの配置位置、配置サイズ、回転状態、反転状態及び変形状態のうちの少なくとも一つを調整する第３の処理と、
前記調整した配置位置、配置サイズ、回転状態、反転状態及び変形状態に従って、前記取得した画像データを、前記作成した二次元コードに仮で配置する第４の処理と、
前記画像データが仮で配置された二次元コードの誤り率を算出する第５の処理と、
第３から第５の処理を繰り返す第６の処理と、
前記算出した誤り率を参照して、前記画像データの配置位置、配置サイズ、回転状態、反転状態及び変形状態を決定する第７の処理と、
を計算機に実行させるプログラム。
【請求項１０】
前記第２の処理では、前記取得した情報を任意で縮小し、
前記取得した情報又は前記縮小した情報を符号化して、二次元コードを作成することを特徴とする請求項９に記載のプログラム。
【請求項１１】
更に、前記取得した画像データの明度、コントラスト及び色素のうちの少なくとも一つを調整する第８の処理を前記計算機に実行させることを特徴とする請求項９に記載のプログラム。
【請求項１２】
更に、前記取得した画像データを、ドットアイコン化する第９の処理を前記計算機に実行させることを特徴とする請求項９に記載のプログラム。
【請求項１３】
更に、前記作成した二次元コードに含まれる表示構成要素のうち、前記画像データの輪郭部分に配置されたセルを、暗色から明色又は明色から暗色に変更する第１０の処理を前記計算機に実行させることを特徴とする請求項９に記載のプログラム。
【請求項１４】
更に、前記取得した画像データに含まれる画素を明部と暗部とに分ける二値化処理を行う第１１の処理を前記計算機に実行させ、
前記第４の処理では、前記取得した画像データの代わりに、前記二値化処理を行った画像データを、前記作成した二次元コードに仮で配置することを特徴とする請求項９に記載のプログラム。
【請求項１５】
前記第５の処理では、
前記二次元コードに仮配置された二値化処理した画像データを用いて、前記二次元コードに含まれる表示構成要素ごとに正又は誤を判定し、
前記表示構成要素ごとの正誤の判定結果を参照して、誤り率を算出することを特徴とする請求項１４に記載のプログラム。
【請求項１６】
二次元コードに格納される情報の一部及び当該二次元コードに埋め込まれる画像データを取得する第１の処理と、
前記取得した情報の一部にランダムまたは規則的な文字列を付加してから符号化し、二次元コードを作成する第２の処理と、
前記取得した画像データの配置位置、配置サイズ、回転状態、反転状態及び変形状態のうちの少なくとも一つを調整する第３の処理と、
前記調整した配置位置、配置サイズ、回転状態、反転状態及び変形状態に従って、前記取得した画像データを、前記作成した二次元コードに仮で配置する第４の処理と、
前記画像データが仮で配置された二次元コードの誤り率を算出する第５の処理と、
第２から第５の処理を繰り返す第６の処理と、
前記算出した誤り率を参照して、前記情報の一部に付加するランダム又は規則的な文字列、前記画像データの配置位置、配置サイズ、回転状態、反転状態及び変形状態を決定する第７の処理と、
を計算機に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  この発明は、二次元コードを出力する計算機に関するものである。
【背景技術】
【０００２】  二次元コードは、様々な種類のものが規格化されている。また、それぞれの二次元コードの出力方法は確立されている。そのため、一般に利用されている二次元コードは、それぞれの規格に関する仕様書及び規格書にもとづいて出力される（二次元コードの一種であるＱＲコードの規格については、非特許文献１を参照）。また、二次元コードに含まれる画素を書き換えることによって、任意のモノクロ画像を二次元コードの一部として、埋め込む技術が知られている（詳細については、特許文献１を参照）。
【先行技術文献】
【０００３】
【特許文献１】  特許公開２００７−３４９９８号公報
【非特許文献１】  ＪＩＳ  Ｘ  ０５１０（日本工業規格）
【発明の概要】
【発明が解決しようとする課題】
【０００４】  出力された二次元コードは、目視ではランダムなモザイク模様にしか見えない。そのため、二次元コードは、読取処理（二次元コードの復号化）を行わない限り、格納されている情報を認識できなかった。そこで、特許文献１では、読取品質を確保しつつ、二次元コード内に任意のモノクロ画像を埋め込む技術が開示されている。しかしながら、特許文献１の技術では、二次元コード内にカラー画像を埋め込むことができなかった。本発明の代表的な形態は、二次元コードに任意の画像を埋め込む過程における、デザイン性の向上及び二次元コードの読取品質（復号化の成功率）の向上を目的とする。
【課題を解決するための手段】
【０００５】  本発明の代表的な形態は、プロセッサ、メモリ及び入出力インターフェースを備える計算機であって、二次元コードに格納される情報及び当該二次元コードに埋め込まれる画像データを取得する第１の処理と、前記取得した情報を符号化して、二次元コードを作成する第２の処理と、前記取得した画像データの配置位置、配置サイズ及び配置状況のうちの少なくとも一つを調整する第３の処理と、前記調整した配置位置、配置サイズ及び配置状況に従って、前記取得した画像データを、前記作成した二次元コードに仮で配置する第４の処理と、前記画像データが仮で配置された二次元コードの誤り率を算出する第５の処理と、第３から第５の処理を繰り返す第６の処理と、前記算出した誤り値を参照して、前記画像データの配置位置、配置サイズ及び配置状況を決定する第７の処理と、を行う。
【発明の効果】
【０００６】  本発明によれば、画像を埋め込んだ二次元コードのデザイン性及び二次元コードの読取品質（復号化の成功率）を向上できる。
【図面の簡単な説明】
【０００７】
【図１】本発明の第１の実施の形態の計算機システムの構成図である。
【図２】本発明の第１の実施の形態の二次元コードの出力方法の概念図である。
【図３】本発明の第１の実施の形態の計算機システムの処理のフローチャートである。
【図４】本発明の第１の実施の形態の透過処理の説明図である。
【図５Ａ】本発明の第１の実施の形態の調整処理のフローチャートである。
【図５Ｂ】本発明の第１の実施の形態の調整処理のフローチャートである。
【図５Ｃ】本発明の第１の実施の形態の調整処理のフローチャートである。
【図６】本発明の第１の実施の形態のドットアイコン化処理の説明図である。
【図７】本発明の第１の実施の形態の二値化処理のフローチャートである。
【図８】本発明の第１の実施の形態の二値化された画像データの概念図である。
【図９】本発明の第１の実施の形態の配置調整処理のフローチャートである。
【図１０】本発明の第１の実施の形態の誤り率算出処理のフローチャートである。
【図１１】本発明の第１の実施の形態の輪郭部の誤り判定の説明図である。
【図１２】本発明の第３の実施の形態の配置調整処理のフローチャートである。
【発明を実施するための形態】
【０００８】  （第１の実施の形態）
図１は、本発明の第１の実施の形態の計算機システムの構成図である。計算機システムは、計算機１、入力装置６及び出力装置７を含む。計算機１は、ＣＰＵ４、メモリ５及び記憶装置２を備える。記憶装置２は、各種情報を記憶する。メモリ５は、ＣＰＵ４に実行されるプログラム及びＣＰＵ４によって必要とされる情報を記憶する。ＣＰＵ４は、メモリ５に記憶されたプログラムを実行することによって、各種処理を実行する。また、計算機１には、入力装置６及び出力装置７が接続される。入力装置６には、各種情報が入力される。入力装置６は、例えば、キーボード又はマウスである。出力装置７は、各種情報を出力する。出力装置７は、例えば、ディスプレイ又はプリンタである。なお、入力装置６及び出力装置７は、計算機１に含まれていてもよい。また、計算機１は、通信網８と接続されていてもよい。通信網８は、他の計算機が接続されているネットワークであればいかなるものであってもよい。例えば、通信網８は、インターネット又はイントラネットである。
【０００９】  メモリ５は、二次元コード出力プログラム３を記憶する。二次元コード出力プログラム３は、ＣＰＵ４によって実行されることによって、本実施の形態の各種処理を行う。具体的には、二次元コード出力プログラム３は、記憶装置２に格納されているデータを読み出す。また、二次元コード出力プログラム３は、入力装置６に入力された情報を受信する。また、二次元コード出力プログラム３は、出力装置７にデータを出力させる。更に、二次元コード出力プログラム３は、通信網８に存在する他の計算機とデータを送受信する。なお、二次元コードは、水平方向及び垂直方向に情報を持つコードであれば、いかなるものであってもよい。例えば、二次元コードは、ＱＲ  Ｃｏｄｅ、ＰＤＦ４１７、Ｍａｘｉ  Ｃｏｄｅ、Ｄａｔａ  Ｍａｔｒｉｘなどである。
【００１０】  図２は、本発明の第１の実施の形態の二次元コードの出力方法の概念図である。計算機１は、文字列情報Ｉ２１及び埋込データＧ２１などを受け取る。すると、計算機１は、文字列情報Ｉ２１を符号化し、二次元コードを作成する。次に、計算機１は、作成した二次元コードに、埋込データＧ２１を埋め込んだ画像付二次元コードＣ２１を作成する。そして、計算機１は、作成した画像付二次元コードＣ２１を出力する。なお、文字列情報Ｉ２１は、符号化されて、二次元コードに格納される情報である。つまり、読取装置は、画像付二次元コードＣ２１を読み取って復号化すると、文字列情報Ｉ２１を取得できる。埋込データＧ２１は、二次元コードＣ２１に埋め込もうとする画像データであり、画像付二次元コードＣ２１に埋め込まれる画像データである。なお、埋込データＧ２１は、ファイル形式、サイズ及び容量を問わず、カラー画像データであってもよいし、白黒画像データであってもよい。
【００１１】  図２では、文字列情報Ｉ２１が「ｐａｔｅｎｔ  ａｐｐｌｉｃａｔｉｏｎ」という文字列である場合を示すが、いかなる文字列であってもよい。また、埋込データＧ２１は、ロゴ画像データであるが、いかなる画像データであってもよい。また、作成される画像付二次元コードＣ２１は、ＱＲコードであるが、いかなる二次元コードであってもよい。なお、ＱＲコードは、ＪＩＳ  Ｘ  ０５１０（日本工業規格）で規定されている二次元コードである。
【００１２】  図３は、本発明の第１の実施の形態の計算機システムの処理のフローチャートである。計算機１は、文字列情報Ｉ２１を取得する（Ｓ００１）。なお、計算機１は、いかなる方法で、文字列情報Ｉ２１を取得してもよい。例えば、計算機１は、文字列情報Ｉ２１を、記憶装置２、メモリ５、入力装置６又は通信網８から取得する。すると、計算機１は、取得した文字列情報Ｉ２１を符号化して、二次元コードを作成する。なお、文字列情報Ｉ２１がＵＲＬなどの場合、以下の処理を行ってもよい。計算機１は、文字列情報Ｉ２１に含まれる文字の数が制限文字数以下であるか否かを判定する。制限文字数は、作成される二次元コードに含まれる表示構成要素（二次元コードを構成する最小単位。例えば、二次元コードがＱＲコードの場合、表示構成要素はセルとなる）の数が増加しない文字数の上限である。例えば、二次元コードがＱＲコードの場合、制限文字数は、ＱＲコードのバージョンが変化しない文字数の上限である。つまり、文字列情報Ｉ２１に含まれる文字数が制限文字数を超える場合、作成される二次元コードは、ＱＲコードのバージョン数が上がるためセル数が増加してしまい、セルサイズが小さくなる。そのため、当該ＱＲコードは、読取環境によっては読取装置による読取が難しくなる。そこで、文字列情報Ｉ２１に含まれる文字の数が制限文字数より多い場合、計算機１は、文字列情報Ｉ２１を、短い文字列に変換する。短い文字列への変換方法は、制限文字数以下の文字列に変換できればいかなる方法であってもよい。そして、計算機１は、変換した文字列を符号化して、二次元コードを作成する。例えば、計算機１は、公知の短縮ＵＲＬサービスと同等の機能及びＨＴＴＰリダイレクトを利用して、文字列情報Ｉ２１を、短い文字列に変換し、格納する情報量を縮小する。具体的には、計算機１は、文字列情報Ｉ２１を短縮ＵＲＬ用計算機に送信する。短縮ＵＲＬ用計算機は、文字列情報Ｉ２１を受け取ると、新たなＵＲＬを作成する。なお、作成される新たなＵＲＬは、制限文字数以下である。次に、短縮ＵＲＬ用計算機は、作成した新たなＵＲＬと受信した文字列情報Ｉ２１との対応を記憶する。次に、短縮ＵＲＬ用計算機は、作成した新たなＵＲＬを計算機１に送信する。計算機１は、ＵＲＬを受信すると、受信したＵＲＬを符号化して、二次元コードを作成する。この場合、読取装置は、二次元コードを復号化すると、復号化したＵＲＬにアクセスする。これによって、読取装置は、短縮ＵＲＬ用計算機にアクセスする。すると、短縮ＵＲＬ用計算機は、記憶した対応に基づいて、アクセスされたＵＲＬに対応する文字列情報Ｉ２１を検索する。次に、短縮ＵＲＬ用計算機は、検索した文字列情報Ｉ２１（ＵＲＬ）で、読取装置に対してＨＴＴＰリダイレクト処理を行う。これによって、読取装置は、文字列情報Ｉ２１を取得できる。一方、文字列情報Ｉ２１に含まれる文字数が制限文字数以下の場合、計算機１は、取得した文字列情報Ｉ２１をそのまま符号化して、二次元コードを作成する。なお、計算機１は、文字列情報Ｉ２１に含まれる文字の数が制限文字数以下であるか否かにかかわらず、任意で、文字列情報Ｉ２１を短い文字列に変換してもよい。
【００１３】  次に、計算機１は、埋込データＧ２１を取得する（Ｓ００２）。なお、計算機１は、いかなる方法で、埋込データＧ２１を取得してもよい。例えば、計算機１は、埋込データＧ２１を、記憶装置２、メモリ５、入力装置６又は通信網８から取得する。
【００１４】  次に、計算機１は、透過部分情報Ｉ２６を取得する（Ｓ００３）。透過部分情報Ｉ２６は、埋込データＧ２１のうち、透過して表示されてもよい部分（透過可能部分）に関する情報である。なお、透過部分情報Ｉ２６は、埋込データＧ２１に含まれていてもよいし、埋込データＧ２１と独立した情報であってもよい。例えば、透過部分情報Ｉ２６は、埋込データＧ２１内の特定の色の領域を透過可能部分として示したものであってもよい。また、計算機１は、いかなる方法で、透過部分情報Ｉ２６を取得してもよい。例えば、計算機１は、透過部分情報Ｉ２６を、記憶装置２、メモリ５、入力装置６又は通信網８から取得する。ただし、透過部分情報Ｉ２６の取得は任意で、計算機１は、透過部分情報Ｉ２６を取得しなくてもよい。
【００１５】  計算機１は、透過部分情報Ｉ２６を取得すると、透過処理を行いながら、一連の処理を行う。図４は、本発明の第１の実施の形態の透過処理の説明図である。計算機１は、取得した透過部分情報に基づいて、透過可能部分を特定する。そして、計算機１は、特定した透過可能部分が所定の条件を満たすかどうかを判定する。所定の条件を満たす場合には、計算機１は、以下の一連の処理において、透過可能部分を、埋込データＧ２１から削除してもよい。例えば、二次元コード内の所定の領域のすべてが透過可能部分に含まれる場合、計算機１は、当該所定の領域に対しては、透過可能部分を、埋込データＧ２１から削除する。そのため、当該所定の領域には埋込データＧ２１が埋め込まれない。
【００１６】  ここで図３に戻って説明を続ける。次に、計算機１は、配置位置情報Ｉ２２を取得する（Ｓ００４）。配置位置情報Ｉ２２は、作成される画像付二次元コードＣ２１内における、埋込データＧ２１の配置可能な位置である。なお、配置位置情報Ｉ２２は、埋込データＧ２１が配置可能な位置を示していれば、いかなる方法で示されていてもよい。例えば、配置位置情報Ｉ２２は、二次元コードに含まれる表示構成要素の個数を用いて、位置を示してもよい。また、配置位置情報Ｉ２２は、埋込データＧ２１に含まれる画素の数を用いて、位置を示してもよい。また、配置位置情報Ｉ２２は、物理的な長さの単位を用いて、位置を示してもよい。なお、計算機１は、いかなる方法で、配置位置情報Ｉ２２を取得してもよい。例えば、計算機１は、配置位置情報Ｉ２２を、記憶装置２、メモリ５、入力装置６又は通信網８から取得する。ただし、配置位置情報Ｉ２２の取得は任意で、計算機１は、配置位置情報Ｉ２２を取得しなくてもよい。
【００１７】  次に、計算機１は、配置サイズ情報Ｉ２３を取得する（Ｓ００５）。配置サイズ情報Ｉ２３は、作成される画像付二次元コードＣ２１内における、埋込データＧ２１の相対的な大きさである。なお、配置サイズ情報Ｉ２３は、埋込データＧ２１の大きさを示していれば、いかなる方法で示されていてもよい。例えば、配置サイズ情報Ｉ２３は、二次元コードに含まれる表示構成要素の個数を用いて、大きさを示してもよい。また、配置サイズ情報は、埋込データＧ２１に含まれる画素の数を用いて、大きさを示してもよい。また、配置サイズ情報は、物理的な長さの単位を用いて、大きさを示してもよい。なお、計算機１は、いかなる方法で、配置サイズ情報Ｉ２３を取得してもよい。例えば、計算機１は、配置サイズ情報Ｉ２３を、記憶装置２、メモリ５、入力装置６又は通信網８から取得する。ただし、配置サイズ情報Ｉ２３の取得は任意で、計算機１は、配置サイズ情報Ｉ２３を取得しなくてもよい。
【００１８】  次に、計算機１は、配置優先情報Ｉ２４を取得する（Ｓ００６）。配置優先情報Ｉ２４は、配置位置情報Ｉ２２又は配置サイズ情報Ｉ２３のいずれを優先すべきかを示す。なお、計算機１は、いかなる方法で、配置優先情報Ｉ２４を取得してもよい。例えば、計算機１は、配置優先情報Ｉ２４を、記憶装置２、メモリ５、入力装置６又は通信網８から取得する。ただし、配置優先情報Ｉ２４の取得は任意で、計算機１は、配置優先情報Ｉ２４を取得しなくてもよい。
【００１９】  次に、計算機１は、重要配置情報Ｉ２５を取得する（Ｓ００７）。重要配置情報Ｉ２５は、二次元コードの復号に重要な情報が含まれる表示構成要素（以下  重要表示構成要素という）に、埋込データＧ２１が配置されてもよいか否かを示す。なお、二次元コードの復号に重要な情報が含まれる表示構成要素とは、欠損すると復号に大きな影響を与える情報である。例えば、二次元コードがＱＲコードの場合、画像付二次元コードＣ２１の復号に重要な情報は、切出シンボル、マージン、タイミングパターン、セパレータ、フォーマット情報及びアライメントパターンを含む。また、重要配置情報Ｉ２５は、透過処理を示していてもよい。この場合、計算機１は、埋込データＧ２１内の、重要セル上に配置されるすべての画素を透過処理する。なお、計算機１は、いかなる方法で、重要配置情報Ｉ２５を取得してもよい。例えば、計算機１は、重要配置情報Ｉ２５を、記憶装置２、メモリ５、入力装置６又は通信網８から取得する。ただし、重要配置情報Ｉ２５の取得は任意で、計算機１は、重要配置情報Ｉ２５を取得しなくてもよい。
【００２０】  次に、計算機１は、調整処理を実行する（Ｓ００８）。調整処理は、読取装置による画像付二次元コードＣ２１の読取品質を向上させるための処理である。なお、調整処理については、図５Ａ、図５Ｂ及び図５Ｃで詳細を説明する。
【００２１】  図５Ａ、図５Ｂ及び図５Ｃは、本発明の実施の形態の調整処理のフローチャートである。なお、図５Ａは、埋込データＧ２１のみを調整する場合である。また、図５Ｂは、二次元コードのみを調整する場合である。また、図５Ｃは、埋込データＧ２１及び二次元コードの双方を調整する場合である。計算機１は、埋込データＧ２１のみの調整、二次元コードのみの調整、又は、埋込データＧ２１及び二次元コードの双方の調整のいずれかを任意の方法で決定する。埋込データＧ２１のみの調整に決定した場合、計算機１は、明度・コントラスト・色素調整情報を受け取る。なお、明度・コントラスト・色素調整情報は、明度、コントラスト及び色素のうち少なくとも一つを調整するための情報である。次に、計算機１は、受け取った明度・コントラスト・色素調整情報並びに作成した二次元コードの明度及びコントラストのうちの少なくとも一つを参照して、取得した埋込データＧ２１の明度、コントラスト及び色素のうちの少なくとも一つを調整する（Ｓ１０１）。例えば、二次元コードがＱＲコードの場合、計算機１は、埋込データＧ２１のコントラストの調整を以下のように行う。まず、計算機１は、作成したＱＲコードに含まれる白色のセル及び黒色のセルの輝度値を計測する。なお、本実施の形態では、ＱＲコードに含まれるセルを、白色のセル又は黒色のセルのいずれかとしたが、明るい色のセルと暗い色のセルであってもよい（二次元コードの表示構成要素は、白色及び黒色以外の色で表現されることもある）。この場合、以降のすべての処理では、白色のセルが明るい色のセルとなり、黒色のセルが暗い色のセルとなる。次に、計算機１は、取得した埋込データＧ２１に含まれるすべての画素の輝度値を計測する。次に、計算機１は、埋込データＧ２１に含まれるすべての画素のうち、計測した画素の輝度値が白色のセルの輝度値を超える画素をすべて選択する。次に、計算機１は、選択した画素の輝度値を、白色のセルの輝度値に近付ける。次に、計算機１は、埋込データＧ２１に含まれるすべての画素のうち、計測した画素の輝度値が黒色のセルの輝度値より小さい画素をすべて選択する。次に、計算機１は、選択した画素の輝度値を、黒色のセルの輝度値に近付ける。または、計算機１は、取得した埋込データＧ２１に含まれるすべての画素の輝度値に適当な値を乗じることによって、すべての画素の輝度値が、白色のセルの輝度値に近い範囲又は黒色のセルの輝度値に近い範囲のいずれかに含まれるようにしてもよい（明暗どちらともとれる輝度をとらないようにする）。なお、計算機１は、画素の輝度値を変更するこのような処理を行わなくてもよい。次に、計算機１は、計測した白色のセルの輝度値と黒色のセルの輝度値との中間値を算出する。次に、計算機１は、算出した中間値を閾値として、埋込データＧ２１のコントラストを高める。具体的には、計算機１は、埋込データＧ２１に含まれるすべての画素のうち、計測した画素の輝度値が中間値以上の画素を選択する。次に、計算機１は、選択した画素の輝度値を大きくする。次に、計算機１は、埋込データＧ２１に含まれるすべての画素のうち、計測した画素の輝度値が中間値より小さい画素を選択する。次に、計算機１は、選択���た画素の輝度値を小さくする。これによって、計算機１は、埋込データＧ２１のコントラストを高めることができる。なお、コントラストを高めた埋込データＧ２１を含む画像付二次元コードＣ２１は、読取装置による読取品質が高まる。なお、計算機１は、埋込データＧ２１をドットアイコン化してもよい（図６を参照。図６は、本発明の第１の実施の形態のドットアイコン化処理の説明図である）。具体的には、計算機１は、埋込データＧ２１の画素が、二次元コードの表示構成要素と同じ大きさとなるように画像を加工することによって、埋込データＧ２１をドットアイコン化する。このとき、計算機１は、埋込データＧ２１のそれぞれの画素を主要な色（その領域を占める割合が最も多い色素）にしながら、ドットアイコン化する。更に、計算機１は、ユーザからの入力に応じて、ドットアイコン化した埋込データＧ２１を修正してもよい。計算機１は、埋込データＧ２１をドットアイコン化することによって、作成する画像付二次元コードＣ２１の誤り率を低減できる。一方、二次元コードのみの調整に決定した場合、取得した埋込データＧ２１の明度及びコントラストのうちの少なくとも一方を参照して、作成した二次元コードの明度、コントラスト及び色素のうちの少なくとも一つを調整する（Ｓ１０２）。例えば、二次元コードがＱＲコードの場合、計算機１は、作成したＱＲコードのコントラストの調整を以下のように行う。まず、計算機１は、取得した埋込データＧ２１に含まれる画素の輝度値の最大値及び最小値を計測する。次に、計算機１は、作成したＱＲコードの白色のセルの輝度値を、計測した最大値以下とする。更に、計算機１は、作成したＱＲコードの黒色のセルの輝度値を、計測した最小値以上とする。一方、埋込データＧ２１及び二次元コードの双方の調整に決定した場合、計算機１は、作成した二次元コード及び取得した埋込データＧ２１の明度の平均値を算出する。次に、計算機１は、作成した二次元コード及び取得した埋込データＧ２１のコントラストの平均値を算出する（Ｓ１０３）。次に、計算機１は、算出した明度の平均値及びコントラストの平均値を参照して、取得した埋込データＧ２１の明度、コントラスト及び色素のうちの少なくとも一つを調整する（Ｓ１０４）。次に、計算機１は、算出した明度の平均値及びコントラストの平均値を参照して、作成した二次元コードの明度、コントラスト及び色素のうちの少なくとも一つを調整する（Ｓ１０５）。
以上のように、計算機１は、調整処理を行う。
【００２２】  ここで図３に戻って説明を続ける。次に、計算機１は、埋込データＧ２１の二値化（白黒階調化）処理を行う（Ｓ００９）。なお、二値化処理については、図７で詳細を説明する。
【００２３】  図７は、本発明の第１の実施の形態の二値化処理のフローチャートである。また、図８は、本発明の第１の実施の形態の二値化された画像データの概念図である。計算機１は、取得した埋込データＧ２１内の明るい部分と暗い部分とに分けるための閾値を決定する（Ｓ２０１）。例えば、計算機１は、取得した埋込データＧ２１の明度の平均値を算出し、算出した平均値を閾値としてもよい。また、計算機１は、閾値を以下のように決定してもよい。計算機１は、埋込データＧ２１から、明部の明度が高いところから順に、所定の数の明度を抽出する。次に、計算機１は、抽出した明度の平均値を算出し、明部の明度平均値とする。次に、埋込データＧ２１から、暗部の明度が低いところから順に、所定の数の明度を抽出する。次に、計算機１は、抽出した明度の平均値を算出し、暗部の明度の平均値とする。次に、計算機１は、算出した明部の明度の平均値及び暗部の明度の平均値に基づいて、閾値を決定してもよい。これによって、当該閾値は、明度が突出した部分の影響を排除できる。
【００２４】  次に、計算機１は、埋込データＧ２１に含まれる画素（ピクセル）を順番に選択し、選択した画素ごとに以下の処理を行う（Ｓ２０２）。計算機１は、選択した画素の明度を算出する（Ｓ２０３）。次に、計算機１は、算出した明度が閾値以下であるか否かを判断する（Ｓ２０４）。明度が閾値以下の場合、計算機１は、選択した画素を「暗」と判定する（Ｓ２０６）。一方、明度が閾値より大きい場合、計算機１は、選択した画素を「明」と判定する（Ｓ２０５）。次に、計算機１は、ステップＳ２０２において、埋込データＧ２１に含まれる画素をすべて選択したか否かを判定する。すべての画素を選択してない場合、計算機１は、ステップＳ２０２に戻る。そして、計算機１は、選択していない画素を選択して、同様の処理を繰り返す。一方、すべての画素を選択した場合、計算機１は、当該二値化処理を終了する。そして、計算機１は、判定結果を記憶する。具体的には、計算機１は、「明」と判定した画素を所定の明るい色として、明画素とする。一方、計算機１は、「暗」と判定した画素を所定の暗い色として、暗画素とする。そして、計算機１は、明画素及び暗画素を含む画像を、二値化された埋込データであるＧ８１として記憶する。なお、計算機１は、二値化されていない元の埋込データＧ２１も記憶しておく。次に、計算機１は、二値化処理した埋込データＧ８１を、作成した二次元コードに仮配置する。そして、計算機１は、仮配置された二次元コードを、誤り率の算出のために用いる。計算機１は、最終的な二次元コードの出力時には、二値化された埋込データＧ８１を二次元コードに配置するのではなく、元の埋込データＧ２１を二次元コードに配置することによって、画像付二次元コードＣ２１を作成する。なお、計算機１は、二値化された埋込データＧ８１ではなく、元の埋込データＧ２１を仮配置し、誤り率を算出してもよい。
【００２５】  ここで図３に戻って説明を続ける。次に、計算機１は、二次元コードの誤り率が許容値以下となるまで、配置調整処理を繰り返す（Ｓ０１０）。配置調整処理については、図９で詳細を説明する。
【００２６】  図９は、本発明の第１の実施の形態の配置調整処理のフローチャートである。まず、計算機１は、取得した配置サイズ情報Ｉ２３に従って、二値化された埋込データＧ８１のサイズを変更する（Ｓ３０１）。次に、計算機１は、二値化した画像データＧ８１を、作成した二次元コードに、取得した配置位置情報Ｉ２２に従って仮で配置する（Ｓ３０３）。次に、計算機１は、取得した重要配置情報Ｉ２５を調べる。重要配置情報Ｉ２５が、重要表示構成要素に埋込データＧ２１を配置できないことを示す場合、計算機１は、重要表示構成要素のいずれにも、二値化した画像データＧ８１が配置されていないかどうかを判定する（Ｓ３０４）。重要表示構成要素のいずれか一つにでも二値化した画像データＧ８１が配置されている場合、当該配置位置に埋込データＧ２１を配置できない。そこで、計算機１は、許容される範囲内のすべての位置に、二値化した画像データＧ８１を仮配置したか否かを判定する（Ｓ３０８）。すべての位置に仮配置されていない場合、計算機１は、許容される範囲内のうち、仮配置されていない位置を選択する（Ｓ３０９）。なお、許容される範囲は、予め定まっていてもよいし、配置位置情報Ｉ２２に含まれていてもよい。また、取得された配置優先情報Ｉ２４が、配置位置情報Ｉ２２よりも配置サイズ情報Ｉ２３を優先することを示す場合には、許容される範囲は、二次元コードのすべての位置となる。一方、取得された配置優先情報Ｉ２４が、配置サイズ情報Ｉ２３よりも配置位置情報Ｉ２２を優先することを示す場合には、許容される範囲を、配置位置情報Ｉ２２で示す位置だけ又は指定された配置位置の狭い周辺だけとする。計算機１は、新たな位置を選択すると、ステップＳ３０２に戻り、選択した新たな位置に、二値化した画像データＧ８１を仮配置する（Ｓ３０３）。そして、計算機１は、当該処理を繰り返す。一方、すべての位置に仮配置した場合、計算機１は、ステップＳ３１０に進む。一方、重要配置情報Ｉ２５が透過処理を示す場合（Ｓ３０５）、計算機１は、埋込データＧ２１内の、重要セル上に配置される画素を透過処理する（Ｓ３０６）。透過処理とは、埋込データＧ２１から、当該画素を排除する処理である。これによって、作成される画像付二次元コードＣ２１は、復号化が可能となる。次に、計算機１は、セルの調整情報に基づいて、輪郭強調処理を行ってもよい。輪郭強調処理とは、二値化した画像データＧ８１の輪郭の画素に仮配置されたセルが、黒色（暗）であるか否かを判定する。当該セルが黒色の場合、計算機１は、当該セルを白色（明）に変換する。これによって、作成される画像付二次元コードＣ２１に含まれる埋込データＧ２１の輪郭が明瞭になる。なお、計算機１は、二値化した画像データＧ８１の輪郭の画素がセルの所定の領域上に配置されていて、且つ、当該セルが黒色（暗）であるか否かを判断してもよい。二値化した画像データＧ８１の輪郭の画素がセルの所定の領域上に配置されていて、且つ、当該セルが黒色（暗）である場合、計算機１は、当該セルを白色（明）に変換する。次に、計算機１は、誤り率算出処理を行う（Ｓ３１０）。誤り率算出処理については、図１０及び図１１で詳細を説明する。一方、重要配置���報Ｉ２５が、重要セルに埋込データＧ２１が配置されてもよいことを示す場合、計算機１は、そのままステップＳ３０７に進み、誤り率算出処理を行う。
【００２７】  図１０は、本発明の第１の実施の形態の誤り率算出処理のフローチャートである。まず、計算機１は、作成した二次元コードに含まれるすべてのセル（ただし、重要セルは除外）を順番に選択する（Ｓ４０１）。次に、計算機１は、選択したセルと、二値化した画像データＧ８１内の、当該セル上に仮配置された一つ以上の画素とを比較する。この比較に基づいて、計算機１は、選択したセルが、正部、誤部又は汚損部のいずれであるかを判定する（Ｓ４０２）。例えば、計算機１は、選択したセルが白色（明）で、且つ、画素のすべてが明画素の場合、選択したセルを正部と判定する。同様に、計算機１は、選択したセルが黒色（暗）で、且つ、画素のすべてが暗画素の場合にも、選択したセルを、正部と判定する。一方、計算機１は、選択したセルが白色（明）で、且つ、画素のすべてが暗画素の場合、選択したセルを誤部と判定する。同様に、計算機１は、選択したセルが黒色（暗）で、且つ、画素のすべてが明画素の場合にも、選択したセルを、誤部と判定する。また、計算機１は、セル上に仮配置された画素の一部が明部で、残りの一分が暗部の場合、汚損部と判定する。なお、計算機１は、選択したセルが白色（明）で、且つ、画素の一定個数以上が明画素の場合、選択したセルを正部と判定してもよい。同様に、計算機１は、選択したセルが黒色（暗）で、且つ、画素の一定個数以上が暗画素の場合、選択したセルを正部と判定してもよい。また、計算機１は、選択したセルが白色（明）で、選択したセルの中央部分の所定の領域に仮配置されたすべての画素が明画素の場合、選択したセルを正部と判定する（図１１参照）。同様に、計算機１は、選択したセルが黒色（暗）で、選択したセルの中央部分の所定の領域に仮配置されたすべての画素が暗画素の場合、選択したセルを正部と判定する。また、計算機１は、選択したセルに、二値化した画像データＧ８１が仮配置されていない場合、当該選択したセルを正部と判定する。また、計算機１は、選択したセルに、透過処理された画素が仮配置されている場合、当該セルを正部と判定する。なぜなら、透過処理された画素は、埋込データＧ２１から削除されているからである。また、計算機１は、輪郭強調処理で黒色（暗）から白色（明）に変換したセルを誤部と判定する。次に、計算機１は、ステップＳ４０１ですべてのセルを選択したか否かを判定する。すべてのセルを選択していない場合、計算機１は、ステップＳ４０１に戻り、当該処理を繰り返す。一方、すべてのセルを選択した場合、計算機１は、ステップＳ４０２の判定結果を用いて、誤り率を算出する（Ｓ４０３）。例えば、計算機１は、誤部の数をセルの数で割ることによって、誤り率を算出する。また、計算機１は、誤部の数を、誤部（汚損部を含む）の数と正部の数の合計で割ることによって、誤り率を算出してもよい。
【００２８】  ここで図９に戻って説明を続ける。次に、計算機１は、許容される範囲内のすべての位置に、二値化した画像データＧ８１を仮配置したか否かを判定する（Ｓ３０８）。すべての位置に仮配置されていない場合、計算機１は、許容される範囲内のうち、仮配置されていない位置を選択する（Ｓ３０９）。なお、許容される範囲は、予め定まっていてもよいし、配置位置情報Ｉ２２に含まれていてもよい。また、取得された配置優先情報Ｉ２４が、配置位置情報Ｉ２２よりも配置サイズ情報Ｉ２３を優先することを示す場合には、許容される範囲は、二次元コードのすべての位置となる。一方、取得された配置優先情報Ｉ２４が、配置サイズ情報Ｉ２３よりも配置位置情報Ｉ２２を優先することを示す場合には、許容される範囲を、配置位置情報Ｉ２２で示す位置だけ又は指定された配置位置の狭い周辺だけとする。計算機１は、新たな位置を選択すると、ステップＳ３０２に戻り、選択した新たな位置に、二値化した画像データＧ８１を仮配置する（Ｓ３０３）。そして、計算機１は、当該処理を繰り返す。一方、すべての位置に仮配置した場合、計算機１は、算出したすべての誤り率のうち、最も小さい誤り率を選択する。次に、計算機１は、選択した誤り率と閾値とを比較する（Ｓ３１０）。そして、計算機１は、誤り率が閾値以下であるか否かを判定する。誤り率が閾値より大きい場合、計算機１は、埋込データＧ２１をこのままの大きさでは配置できない。そこで、計算機１は、二値化した画像データＧ８１を所定のサイズだけ小さくする（Ｓ３１１）。所定のサイズは、一つの画素分のサイズであってもよいし、予め決まったサイズであってもよい。そして、計算機１は、ステップＳ３０１に戻り、当該処理を繰り返す。一方、誤り率が閾値以下の場合、計算機１は、選択した最も小さい誤り率となった配置位置及び配置サイズを記憶する（Ｓ３１２）。なお、計算機１は、誤り率、配置位置及び配置サイズを参照して、最適な配置位置及び配置サイズを選択し、メモリ５などに記憶してもよい。次に、計算機１は、選択した配置位置及び配置サイズに従って、元の埋込データＧ２１又は調整処理（図５Ａ、図５Ｂ又は図５Ｃ）を施した埋込データＧ２１を、二次元コードに配置する。なお、計算機１は、仮配置の時に透過処理した場合、元の埋込データＧ２１又は調整処理（図５Ａ、図５Ｂ又は図５Ｃ）を施した埋込データＧ２１についても透過処理を行う。そして、計算機１は、透過処理した埋込データＧ２１を、二次元コードに配置する。これによって、計算機１は、画像付二次元コードＣ２１を出力する（Ｓ０１１）。そして、計算機１は、作成した画像付二次元コードＣ２１を記憶する。なお、計算機１は、作成した画像付二次元コードＣ２１を、出力装置７に出力を指示してもよいし、通信網８を介して、他の計算機に送信してもよい。
【００２９】  本発明の第１の実施の形態によれば、計算機１は、文字列情報Ｉ２１及び埋込データＧ２１を取得すると、誤り率の基準を満たした画像付二次元コードＣ２１を出力できる。画像付二次元コードＣ２１は、復号化の処理をすることなく、人間が文字列情報Ｉ２１の内容を目視だけで認識又は推測可能な二次元コードである。
【００３０】  （第２の実施の形態）
本発明の第１の実施の形態では、計算機１は、文字列情報Ｉ２１を符号化した画像付二次元コードＣ２１を出力する。一方、本発明の第２の実施の形態では、計算機１は、最適な文字列を決定して、その文字列を符号化した画像付二次元コードＣ２１を出力する。なお、第２の実施の形態の計算機システムの構成は、第１の実施の形態の計算機システム（図１）と同一である。同一の構成には同一の番号を付すことによって、説明を省略する。
【００３１】  以下、本発明の第２の実施の形態の計算機システムの処理を図３を参照して説明する。第２の実施の形態では、計算機１は、文字列情報Ｉ２１の代わりに、固定文字列、可変文字列の文字数及び試行回数を取得する（Ｓ００１）。なお、固定文字列は、符号化されて、二次元コードに格納される情報の一部であり、必ず格納される情報である。例えば、固定文字列は、インターネットのアドレス情報であるＵＲＬの先頭部分である。可変文字列は、固定文字列に付加される文字列であり、いかなる文字、数字又は記号もしくは、それら組み合わせであってもよい。例えば、可変文字列は、ＵＲＬの後方部分である。また、試行回数は、最適な可変文字列を見つけるために、可変文字列を変更する回数である。計算機１は、これらの情報を取得すると、取得した文字数に応じた可変文字列を作成する。なお、計算機１は、いかなる方法で、可変文字列を作成してもよい。例えば、計算機１は、ランダムで可変文字列を作成してもよいし、文字をインクリメント又はデクリメントすることによって、規則的な可変文字列を作成してもよい。次に、計算機１は、固定文字列に可変文字列を付加することによって、文字列情報を新たに作成する。そして、計算機１は、作成した当該文字列情報を符号化することによって、二次元コードを作成する。次に、計算機１は、ステップＳ００２〜Ｓ０１０（図３）の処理を行う。これによって、計算機１は、作成した当該文字列情報を符号化した二次元コードに関する、最も小さい誤り率となった配置位置、配置サイズ及び誤り率を記憶できる。
【００３２】  次に、計算機１は、ステップＳ００１における可変文字列の作成回数が、取得した試行回数より小さいか否かを判定する。作成回数が試行回数より小さい場合、計算機１は、ステップＳ００１に戻る。そして、計算機１は、新たな可変文字列を作成して、前述した処理を繰り返す。これによって、計算機１は、新たな可変文字列を含む文字列情報を符号化した二次元コードに関する、最も小さい誤り率となった配置位置、配置サイズ及び誤り率を記憶できる。一方、作成回数が試行回数以上の場合、計算機１は、記憶した誤り率のうち、最も小さい誤り率となった配置位置及び配置サイズを決定する。なお、計算機１は、記憶した誤り率、配置位置及び配置サイズを参照して、最適な配置位置及び配置サイズを決定してもよい。次に、計算機１は、特定した配置位置及び配置サイズに従って、元の埋込データＧ２１又は調整処理（図５Ａ、図５Ｂ又は図５Ｃ）を施した埋込データＧ２１を、二次元コードに配置する。なお、計算機１は、仮配置の時に透過処理した場合、元の埋込データＧ２１又は調整処理（図５Ａ、図５Ｂ又は図５Ｃ）を施した埋込データＧ２１についても透過処理を行う。そして、計算機１は、透過処理した元の埋込データＧ２１を、二次元コードに配置する。これによって、計算機１は、画像付二次元コードＣ２１を出力する（Ｓ０１１）。そして、計算機１は、作成した画像付二次元コードＣ２１を記憶する。なお、計算機１は、作成した画像付二次元コードＣ２１を、出力装置７に出力を指示してもよいし、通信網８を介して、他の計算機に送信してもよい。
【００３３】  本発明の第２の実施の形態によれば、計算機１は、最適な可変文字列を特定できるため、画像付二次元コードＣ２１の誤り率を更に低減できる。
【００３４】  （第３の実施の形態）
本発明の第３の実施の形態では、計算機１は、回転情報Ｉ２７を受け取って、埋込データＧ２１を回転させて、二次元コードに配置する。なお、回転情報Ｉ２７は、埋込データＧ２１を回転させる回数及び角度などを示す。また、第３の実施の形態の計算機システムの構成は、第１の実施の形態の計算機システム（図１）と同一である。同一の構成には同一の番号を付すことによって、説明を省略する。また、本発明の第３の実施の形態の計算機システムの処理は、配置調整処理（図３のステップＳ０１０）を除き、第１の計算機システムの処理と同一である。なお、同一の処理については、説明を省略する。
【００３５】  図１２は、本発明の第３の実施の形態の配置調整処理のフローチャートである。まず、計算機１は、ステップＳ３０１〜Ｓ３０７の処理を実行する。次に、計算機１は、二値化された埋込データＧ８１を所定の回数だけ回転させたか否かを判定する（Ｓ３２２）。所定の回数だけ回転させていない場合、計算機１は、二値化された埋込データＧ８１を回転する（Ｓ３２３）。なお、二値化された埋込データＧ８１の回転は、いかなる方法で行ってもよい。例えば、計算機１は、前述のステップＳ３２３で決定した二値化された埋込データＧ８１の配置状態から、所定の角度だけ回転させる。また、計算機１は、二値化された埋込データＧ８１を回転するのではなく、反転又は変形させてもよいし、もしくはそれらを組み合わせてもよい。なお、変形は、埋込データＧ２１を縦方向、横方向、又はそれ以外のいずれかの方向に伸縮させることである。この場合、計算機１は、回転情報、反転情報、変形情報又はいずれか、もしくはそれらの組み合わせた情報を受け取る。例えば、反転情報は、埋込データＧ２１を反転させるか否かを示す。また、変形情報は、埋込データＧ２１を変形させるかどうか、埋込データＧ２１の変形方法などを示す。また、配置状態は、埋込データＧ２１を回転させた角度、反転させたか否か、変形させたか否かなどを含む。計算機１は、二値化した埋込データＧ８１を回転すると、ステップＳ３２１に戻り、当該処理を繰り返す。これによって、計算機１は、配置調整処理のすべてのステップＳ３０１〜Ｓ３１２の処理を実行する。なお、計算機１は、選択した最も小さい誤り率となった配置位置及び配置サイズに加えて、配置状態をメモリ５などに記憶する（Ｓ３１２）。なお、計算機１は、誤り率、配置位置、配置サイズ及び配置状態を参照して、最適な配置位置、配置サイズ及び配置状態を選択し、記憶してもよい。次に、計算機１は、記憶された配置位置、配置サイズ及び配置状態に従って、元の埋込データＧ２１を、二次元コードに配置する。なお、計算機１は、仮配置の時に透過処理した場合、元の埋込データＧ２１についても透過処理を行う。そして、計算機１は、透過処理した元の埋込データＧ２１を、二次元コードに配置する。これによって、計算機１は、画像付二次元コードＣ２１を出力する（Ｓ０１１）。
【００３６】  本発明の第３の実施の形態によれば、計算機１は、埋込データＧ２１を回転、反転又は変形、もしくはそれらを組み合わせることによって、画像付二次元コードＣ２１の誤り率を更に低くできる。
【００３７】  （第４の実施の形態）
本発明の第４の実施の形態では、計算機１は、同一の埋込データＧ２１を含む複数の画像付二次元コードＣ２１を生成する。なお、第４の実施の形態の計算機システムの構成は、第１の実施の形態の計算機システム（図１）と同一である。同一の構成には同一の番号を付すことによって、説明を省略する。以下、本発明の第４の実施の形態の計算機システムの処理を図３を参照して説明する。第４の実施の形態では、計算機１は、複数の文字列情報Ｉ２１を取得する（Ｓ００１）。すると、計算機１は、取得したそれぞれの文字列情報Ｉ２１を符号化して、二次元コードを作成する。これによって、計算機１は、取得した複数の文字列情報Ｉ２１と同数の二次元コードを作成する。次に、計算機１は、一つの埋込データＧ２１を取得する（Ｓ００２）。次に、計算機１は、ステップＳ００３〜Ｓ００９の処理を実行する、これによって、計算機１は、埋込データＧ２１を最適に調整する。次に、計算機１は、それぞれの文字列情報を符号化して作成した二次元コードごとに、配置調整処理を行う（Ｓ０１０）。これによって、それら二次元コードごとに、埋込データＧ２１の配置位置及び配置サイズなどを決定できる。そして、計算機１は、決定した配置位置及び配置サイズなどに従って、埋込データＧ２１を、二次元コードに配置する。これによって、計算機１は、取得した文字列情報Ｉ２１と同数の画像付二次元コードＣ２１を出力する（Ｓ０１１）。そして、計算機１は、作成した画像付二次元コードＣ２１をメモリ５などに記憶する。なお、計算機１は、作成した画像付二次元コードＣ２１を、出力装置７に出力を指示してもよいし、通信網８を介して、他の計算機に送信してもよい。以上のように、本発明の第４の実施の形態によれば、計算機１は、処理結果を共通化した中間データを生成することでステップＳ００２〜Ｓ００９を繰り返すことなく、同一の埋込データＧ２１を含む複数の画像付二次元コードＣ２１を出力できる。
【符号の説明】
【００３８】１  計算機
２  記憶装置
３  プログラム
４  ＣＰＵ
５  メモリ
６  入力装置
７  出力装置
８  通信網
【図１】
2013080448.tif 000003
【図２】
2013080448.tif 000004
【図３】
2013080448.tif 000005
【図４】
2013080448.tif 000006
【図５Ａ】
2013080448.tif 000007
【図５Ｂ】
2013080448.tif 000008
【図５Ｃ】
2013080448.tif 000009
【図６】
2013080448.tif 000010
【図７】
2013080448.tif 000011
【図８】
2013080448.tif 000012
【図９】
2013080448.tif 000013
【図１０】
2013080448.tif 000014
【図１１】
2013080448.tif 000015
【図１２】
2013080448.tif 000016