(57)【特許請求の範囲】
【請求項１】
１つまたは複数のオブジェクトを含む第一の画像に自らの向きを特定するためのシンボルを含む二次元バーコードを重ねることによって第二の画像を生成する画像処理装置であって、
前記二次元バーコードを重ねる所定の位置に前記１つまたは複数のオブジェクトのうちのいずれかが存在する場合に、当該所定の位置に当該二次元バーコードを重ねても当該二次元バーコードを解析することができるか否かを判別する、解析可否判別手段と、
前記二次元バーコードを解析することができないと前記解析可否判別手段によって判別された場合に、前記１つまたは複数のオブジェクトのうちの前記所定の位置に存在するオブジェクトに重なる部分を残しつつ、前記二次元バーコードを回転させ、縮小し、もしくは当該オブジェクトとの相対的な位置を変更しまたは当該オブジェクトを縮小して前記第一の画像に重ねることによって、前記第二の画像を生成する、画像生成手段と、
前記シンボルが前記１つまたは複数のオブジェクトのいずれかに重なるか否かを判定する判定手段と、
を有し、
前記画像生成手段は、前記シンボルが前記１つまたは複数のオブジェクトのいずれかにに重なると前記判定手段によって判定された場合は、前記シンボルが前記１つまたは複数のオブジェクトのいずれにも重ならないように前記二次元バーコードを前記第一の画像に重ねることによって、前記第二の画像を生成する、
ことを特徴とする画像処理装置。
【請求項２】
前記解析可否判別手段は、前記所定の位置に前記二次元バーコードを重ねた状態をシミュレーションし解析することによって、当該二次元バーコードを解析することができるか否かを判別する、
請求項１に記載の画像処理装置。
【請求項３】
前記画像生成手段は、前記二次元バーコードを、前記部分の面積が小さくなるように前記相対的な位置を変更して前記第一の画像に重ねることによって、前記第二の画像を生成する、
請求項２に記載の画像処理装置。
【請求項４】
前記解析可否判別手段は、前記二次元バーコードの全体の面積に対する前記部分の面積の割合である重複部分割合および当該二次元バーコードの誤り訂正率に基づいて、当該二次元バーコードを解析することができるか否かを判別する、
請求項１に記載の画像処理装置。
【請求項５】
前記画像生成手段は、前記二次元バーコードを、前記重複部分割合が前記誤り訂正率未満になるように前記相対的な位置を変更して前記第一の画像に重ねることによって、前記第二の画像を生成する、
請求項４に記載の画像処理装置。
【請求項６】
前記画像生成手段は、前記シンボルが前記１つまたは複数のオブジェクトのいずれにも重ならないように前記二次元バーコードを回転させ、いずれの角度で回転させても重なる場合はさらに当該二次元バーコードを縮小しまたは移動させ、前記二次元バーコードを前記第一の画像に重ねることによって、前記第二の画像を生成する、
請求項１ないし請求項５のいずれかに記載の画像処理装置。
【請求項７】
１つまたは複数のオブジェクトを含む第一の画像に自らの向きを特定するためのシンボルを含む二次元バーコードを重ねることによって第二の画像を生成する画像処理装置であって、
前記二次元バーコードを重ねる所定の位置に前記１つまたは複数のオブジェクトのうちのいずれかが存在する場合に、当該所定の位置に当該二次元バーコードを重ねても当該二次元バーコードを解析することができるか否かを判別する、解析可否判別手段と、
前記二次元バーコードを解析することができないと前記解析可否判別手段によって判別された場合に、前記１つまたは複数のオブジェクトのうちの前記所定の位置に存在するオブジェクトに重なる部分を残しつつ、前記二次元バーコードを回転させ、縮小し、もしくは当該オブジェクトとの相対的な位置を変更しまたは当該オブジェクトを縮小して前記第一の画像に重ねることによって、前記第二の画像を生成する、画像生成手段と、
を有し、
前記画像生成手段は、前記シンボルが前記１つまたは複数のオブジェクトのいずれにも重ならないように前記二次元バーコードを回転させ、いずれの角度で回転させても重なる場合はさらに当該二次元バーコードを縮小しまたは移動させ、当該二次元バーコードを前記第一の画像に重ねることによって、前記第二の画像を生成する、
ことを特徴とする画像処理装置。
【請求項８】
前記画像生成手段は、前記二次元バーコードの四方を前記１つまたは複数のオブジェクトによって囲まれている場合は、前記二次元バーコードを縮小し前記第一の画像に重ねることによって、前記第二の画像を生成する、
請求項１ないし請求項７のいずれかに記載の画像処理装置。
【請求項９】
１つまたは複数のオブジェクトを含む第一の画像に自らの向きを特定するためのシンボルを含む二次元バーコードを重ねることによって第二の画像を生成する画像生成方法であって、
前記二次元バーコードを重ねる所定の位置に前記１つまたは複数のオブジェクトのうちのいずれかが存在する場合に、当該所定の位置に当該二次元バーコードを重ねても当該二次元バーコードを解析することができるか否かを判別し、
前記シンボルが前記１つまたは複数のオブジェクトのいずれかに重なるか否かを判定し、
前記二次元バーコードを解析することができないと判別した場合に、前記１つまたは複数のオブジェクトのうちの前記所定の位置に存在するオブジェクトに重なる部分を残しつつ、前記二次元バーコードを回転させ、縮小し、もしくは当該オブジェクトとの相対的な位置を変更しまたは当該オブジェクトを縮小し、かつ、前記シンボルが前記１つまたは複数のオブジェクトのいずれかに重なると判定した場合に、前記シンボルが前記１つまたは複数のオブジェクトのいずれにも重ならないように、当該二次元バーコードを前記第一の画像に重ねることによって、前記第二の画像を生成する、
ことを特徴とする画像生成方法。
【請求項１０】
１つまたは複数のオブジェクトを含む第一の画像に自らの向きを特定するためのシンボルを含む二次元バーコードを重ねることによって第二の画像を生成する画像生成方法であって、
前記二次元バーコードを重ねる所定の位置に前記１つまたは複数のオブジェクトのうちのいずれかが存在する場合に、当該所定の位置に当該二次元バーコードを重ねても当該二次元バーコードを解析することができるか否かを判別し、
前記二次元バーコードを解析することができないと判別した場合に、前記１つまたは複数のオブジェクトのうちの前記所定の位置に存在するオブジェクトに重なる部分を残しつつ、前記二次元バーコードを回転させ、縮小し、もしくは当該オブジェクトとの相対的な位置を変更しまたは当該オブジェクトを縮小し、かつ、前記シンボルが前記１つまたは複数のオブジェクトのいずれにも重ならないように当該二次元バーコードを回転させ、いずれの角度で回転させても重なる場合はさらに当該二次元バーコードを縮小しまたは移動させて、当該二次元バーコードを前記第一の画像に重ねることによって、前記第二の画像を生成する、
ことを特徴とする画像生成方法。
【請求項１１】
１つまたは複数のオブジェクトを含む第一の画像に自らの向きを特定するためのシンボルを含む二次元バーコードを重ねることによって第二の画像を生成するコンピュータに用いられるコンピュータプログラムであって、
前記二次元バーコードを重ねる所定の位置に前記１つまたは複数のオブジェクトのうちのいずれかが存在する場合に、当該所定の位置に当該二次元バーコードを重ねても当該二次元バーコードを解析することができるか否かを判別する処理を前記コンピュータに実行させ、
前記シンボルが前記１つまたは複数のオブジェクトのいずれかに重なるか否かを判定する処理を前記コンピュータに実行させ、
前記二次元バーコードを解析することができないと判別した場合に、前記１つまたは複数のオブジェクトのうちの前記所定の位置に存在するオブジェクトに重なる部分を残しつつ、前記二次元バーコードを回転させ、縮小し、もしくは当該オブジェクトとの相対的な位置を変更しまたは当該オブジェクトを縮小し、かつ、前記シンボルが前記１つまたは複数のオブジェクトのいずれかに重なると判定した場合に、前記シンボルが前記１つまたは複数のオブジェクトのいずれにも重ならないように、当該二次元バーコードを前記第一の画像に重ねることによって、前記第二の画像を生成する処理を、前記コンピュータに実行させる、
ことを特徴とするコンピュータプログラム。
【請求項１２】
１つまたは複数のオブジェクトを含む第一の画像に自らの向きを特定するためのシンボルを含む二次元バーコードを重ねることによって第二の画像を生成するコンピュータに用いられるコンピュータプログラムであって、
前記二次元バーコードを重ねる所定の位置に前記１つまたは複数のオブジェクトのうちのいずれかが存在する場合に、当該所定の位置に当該二次元バーコードを重ねても当該二次元バーコードを解析することができるか否かを判別する処理を前記コンピュータに実行させ、
前記二次元バーコードを解析することができないと判別した場合に、前記１つまたは複数のオブジェクトのうちの前記所定の位置に存在するオブジェクトに重なる部分を残しつつ、前記二次元バーコードを回転させ、縮小し、もしくは当該オブジェクトとの相対的な位置を変更しまたは当該オブジェクトを縮小し、かつ、前記シンボルが前記１つまたは複数のオブジェクトのいずれにも重ならないように当該二次元バーコードを回転させ、いずれの角度で回転させても重なる場合はさらに当該二次元バーコードを縮小しまたは移動させて、当該二次元バーコードを前記第一の画像に重ねることによって、前記第二の画像を生成する処理を、前記コンピュータに実行させる、
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次元バーコードを処理する装置および方法などに関する。
【背景技術】
【０００２】
近年、ＱＲ（Quick Response）コードなどの二次元バーコードが普及している。チラシ、パンフレット、および書籍などの様々な印刷物にＱＲコードが印刷されている。
【０００３】
ＱＲコードには、一部分が汚れたり破損したりしても正確に読取りができるように、誤り訂正符号が含まれている。
【０００４】
また、破損してしまったバーコードを修復する技術が提案されている。特許文献１に記載される方法によると、符号画像が形成されたシートを読み取ることで得られた、読取画像内の符号画像から元情報を抽出した際の誤り検出率が所定値以上であるか判断する。そして、所定値以上であると判断された場合、抽出された元情報から符号画像を再生して、読取画像内の符号画像に置換える。
【０００５】
そのほか、次の技術が提案されている。特許文献２には、二次元バーコードに画像を挿入する技術が提案されている。また、特許文献３には、２つの二次元バーコードを重ねて１つの二次元バーコードを生成する技術が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１５１７００号公報
【特許文献２】特開２００７−３３１８８４号公報
【特許文献３】特開２００８−１７１１３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、既存のドキュメントに二次元バーコードを付けることがある。二次元バーコードを付ける位置によっては、ドキュメントの中のオブジェクトの一部と重なってしまうことがある。
【０００８】
上述の通り、誤り訂正符号を有する二次元バーコードが実用化されている。よって、二次元バーコードがオブジェクトの一部と重なっても、二次元バーコードを読み取ることができる場合がある。しかし、重なり方によっては、誤り訂正符号を用いても二次元バーコードを読み取ることができない場合がある。特許文献１〜３に記載される技術を用いても、この問題を解決することはできない。
【０００９】
本発明は、このような問題点に鑑み、ある画像への二次元バーコードの付加を従来よりも好適に行うことを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一形態に係る画像処理装置は、１つまたは複数のオブジェクトを含む第一の画像に自らの向きを特定するためのシンボルを含む二次元バーコードを重ねることによって第二の画像を生成する画像処理装置であって、前記二次元バーコードを重ねる所定の位置に前記１つまたは複数のオブジェクトのうちのいずれかが存在する場合に、当該所定の位置に当該二次元バーコードを重ねても当該二次元バーコードを解析することができるか否かを判別する、解析可否判別手段と、前記二次元バーコードを解析することができないと前記解析可否判別手段によって判別された場合に、前記１つまたは複数のオブジェクトのうちの前記所定の位置に存在するオブジェクトに重なる部分を残しつつ、前記二次元バーコードを回転させ、縮小し、もしくは当該オブジェクトとの相対的な位置を変更しまたは当該オブジェクトを縮小して前記第一の画像に重ねることによって、前記第二の画像を生成する、画像生成手段と、前記シンボルが前記１つまたは複数のオブジェクトのいずれかに重なるか否かを判定する判定手段と、を有し、前記画像生成手段は、前記シンボルが前記１つまたは複数のオブジェクトのいずれかにに重なると前記判定手段によって判定された場合は、前記シンボルが前記１つまたは複数のオブジェクトのいずれにも重ならないように前記二次元バーコードを前記第一の画像に重ねることによって、前記第二の画像を生成する。
【００１１】
好ましくは、前記解析可否判別手段は、前記所定の位置に前記二次元バーコードを重ねた状態をシミュレーションし解析することによって、当該二次元バーコードを解析することができるか否かを判別する。
【００１２】
または、前記画像生成手段は、前記二次元バーコードを、前記部分の面積が小さくなるように前記相対的な位置を変更して前記第一の画像に重ねることによって、前記第二の画像を生成する。
【００１３】
または、前記解析可否判別手段は、前記二次元バーコードの全体の面積に対する前記部分の面積の割合である重複部分割合および当該二次元バーコードの誤り訂正率に基づいて、当該二次元バーコードを解析することができるか否かを判別する。
【００１４】
または、前記画像生成手段は、前記二次元バーコードを、前記重複部分割合が前記誤り訂正率未満になるように前記相対的な位置を変更して前記第一の画像に重ねることによって、前記第二の画像を生成する。
【００１６】
または、前記画像生成手段は、前記シンボルが前記１つまたは複数のオブジェクトのいずれにも重ならないように前記二次元バーコードを回転させ、いずれの角度で回転させても重なる場合はさらに当該二次元バーコードを縮小しまたは移動させ、前記二次元バーコードを前記第一の画像に重ねることによって、前記第二の画像を生成する。
【００１７】
または、前記画像生成手段は、前記二次元バーコードの四方を前記１つまたは複数のオブジェクトによって囲まれている場合は、前記二次元バーコードを縮小し前記第一の画像に重ねることによって、前記第二の画像を生成する。
【００１８】
本発明の他の一形態に係る画像処理装置は、１つまたは複数のオブジェクトを含む第一の画像に自らの向きを特定するためのシンボルを含む二次元バーコードを重ねることによって第二の画像を生成する画像処理装置であって、前記二次元バーコードを重ねる所定の位置に前記１つまたは複数のオブジェクトのうちのいずれかが存在する場合に、当該所定の位置に当該二次元バーコードを重ねても当該二次元バーコードを解析することができるか否かを判別する、解析可否判別手段と、前記二次元バーコードを解析することができないと前記解析可否判別手段によって判別された場合に、前記１つまたは複数のオブジェクトのうちの前記所定の位置に存在するオブジェクトに重なる部分を残しつつ、前記二次元バーコードを回転させ、縮小し、もしくは当該オブジェクトとの相対的な位置を変更しまたは当該オブジェクトを縮小して前記第一の画像に重ねることによって、前記第二の画像を生成する、画像生成手段と、を有し、前記画像生成手段は、前記シンボルが前記１つまたは複数のオブジェクトのいずれにも重ならないように前記二次元バーコードを回転させ、いずれの角度で回転させても重なる場合はさらに当該二次元バーコードを縮小しまたは移動させ、当該二次元バーコードを前記第一の画像に重ねることによって、前記第二の画像を生成する。
【発明の効果】
【００１９】
本発明によると、ある画像への二次元バーコードの付加を従来よりも好適に行うことができる。
【図面の簡単な説明】
【００２０】
【図１】画像形成装置を含むネットワークシステムの全体的な構成の例を示す図である。
【図２】画像形成装置のハードウェア構成の例を示す図である。
【図３】第一の実施形態における画像形成装置の機能的構成の例を示す図である。
【図４】原稿画像、重畳用画像、および仮合成画像の例を示す図である。
【図５】二次元バーコードの位置の変更の処理の例を説明するための図である。
【図６】第一の実施形態における画像の合成の全体的な処理の流れの例を説明するフローチャートである。
【図７】第二の実施形態における画像形成装置の機能的構成の例を示す図である。
【図８】第二の実施形態における二次元バーコードの位置の変更の処理の例を説明するための図である。
【図９】第二の実施形態における画像の合成の全体的な処理の流れの例を説明するフローチャートである。
【図１０】二次元バーコードの調整の処理の変形例を説明するための図である。
【図１１】二次元バーコードをオブジェクトが横断した例を示す図である。
【図１２】二次元バーコードの調整の処理の変形例を説明するための図である。
【図１３】二次元バーコードの調整の処理の変形例を説明するための図である。
【図１４】二次元バーコードの調整の処理の変形例を説明するための図である。
【図１５】二次元バーコードの移動可能な範囲の例を説明するための図である。
【図１６】二次元バーコードの移動可能な範囲のない状況の例を示す図である。
【図１７】二次元バーコードの調整の処理の変形例を説明するための図である。
【図１８】シンボル調整処理の流れの例を説明するフローチャートである。
【図１９】移動縮小処理の流れの例を説明するフローチャートである。
【図２０】二次元バーコードを移動させまたは複数の小さい二次元バーコードに分割する例を示す図である。
【発明を実施するための形態】
【００２１】
〔第一の実施形態〕
図１は、画像形成装置１を含むネットワークシステムの全体的な構成の例を示す図である。図２は、画像形成装置１のハードウェア構成の例を示す図である。図３は、第一の実施形態における画像形成装置１の機能的構成の例を示す図である。
【００２２】
図１において、画像形成装置１は、一般にＭＦＰ（Multi Function Peripherals）または複合機などと呼ばれる装置であって、コピー、ＰＣプリント、ファックス、スキャナー、およびドキュメントサーバなどの機能を集約した装置である。
【００２３】
ＰＣプリント機能は、パーソナルコンピューターなどの端末装置から画像データを受信し画像を用紙に印刷する機能である。「ネットワークプリンタ機能」または「ネットワークプリンティング機能」などと呼ばれることもある。
【００２４】
ドキュメントサーバ機能は、ユーザごとに「個人ボックス」または「ボックス」などと呼ばれる、パーソナルコンピューターにおけるフォルダまたはディレクトリなどに相当する記憶領域を設け、管理する機能である。「ボックス機能」と呼ばれることもある。ユーザは、自分のボックスに画像データなどをファイル単位で保存しておくことができる。
【００２５】
画像形成装置１は、通信回線ＮＷを介して端末装置２などの装置と通信を行うことができる。
【００２６】
画像形成装置１は、図２に示すように、ＣＰＵ（Central Processing Unit）１０ａ、ＲＡＭ（Random Access Memory）１０ｂ、ＲＯＭ（Read Only Memory）１０ｃ、大容量記憶装置１０ｄ、スキャンユニット１０ｅ、印刷ユニット１０ｆ、ネットワークインタフェース１０ｇ、操作パネル１０ｈ、ファクシミリユニット１０ｉ、画像処理回路１０ｊ、および自動原稿送り装置１０ｋなどによって構成される。
【００２７】
ネットワークインタフェース１０ｇは、通信回線ＮＷを介して端末装置２などの装置を相手にＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）などのプロトコルで通信を行う。ネットワークインタフェース１０ｇとして、例えばＮＩＣ（Network Interface Card）が用いられる。
【００２８】
操作パネル１０ｈは、キー入力部およびタッチパネルディスプレイなどによって構成される。
【００２９】
キー入力部は、いわゆるハードウェアキーであって、テンキー、スタートキー、ストップキー、およびファンクションキーなどによって構成される。
【００３０】
タッチパネルディスプレイには、ユーザに対してメッセージまたは指示を与えるための画面、ユーザが所望する処理の種類および処理条件を入力するための画面、およびＣＰＵ１０ａなどで実行された処理の結果を示す画面などが表示される。ユーザは、これらの画面を見ながらキー入力部またはタッチパネルディスプレイを操作することによって、画像形成装置１に対して情報および指令を入力することができる。
【００３１】
画像処理回路１０ｊは、画像データを加工することによって画像処理を行う。画像処理回路１０ｊは、ＡＳＩＣ（Application Specific Integrated Circuit）またはＦＰＧＡ（Field Programmable Gate Array）などによって構成することができる。
【００３２】
自動原稿送り装置１０ｋは、ＡＤＦ（Auto Document Feeder）であって、原稿給紙トレイにセットされた原稿を１枚ずつスキャンユニット１０ｅのプラテンガラス上の所定の位置へ搬送し、スキャンユニット１０ｅによる原稿の読取り後に原稿排紙トレイへ原稿を排出する。
【００３３】
スキャンユニット１０ｅは、プラテンガラスの上にセットされた原稿に記されている写真、文字、絵、図表などからなる画像を読み取って画像データを生成する。
【００３４】
ファクシミリユニット１０ｉは、公衆電話回線を介してファックス端末との間でＧ３などのプロトコルで画像データをやり取りするための装置である。
【００３５】
印刷ユニット１０ｆは、スキャンユニット１０ｅによって読み取られた画像のほか、端末装置２またはファックス端末などから受信した画像データに示される画像を用紙に印刷する。
【００３６】
ＲＯＭ１０ｃまたは大容量記憶装置１０ｄには、上述の各機能を実現するためのオペレーティングシステムおよびミドルウェアなどのソフトウェアがインストールされている。
【００３７】
さらに、ＲＯＭ１０ｃまたは大容量記憶装置１０ｄには、文字列、イラスト、または図表などのオブジェクトを含む画像（以下、「ドキュメント画像」と記載する。）を、二次元バーコードを付して印刷するためのソフトウェア１ＳＷが、インストールされている。
【００３８】
ソフトウェア１ＳＷによると、図３に示すドキュメント取得部１０１、二次元バーコード取得部１０２、画像仮合成部１０３、第一の二次元バーコード解析部１０４、および好適合成画像生成部１０５などが実現される。これらの機能によると、二次元バーコードがドキュメント画像の中のオブジェクトに重なる場合であっても、二次元バーコードの位置をあまり変えることなく印刷物を生成することができる。
【００３９】
これらのソフトウェアを構成するソフトウェアモジュールは、必要に応じてＲＡＭ１０ｂにロードされ、ＣＰＵ１０ａによって実行される。
【００４０】
図１に戻って、端末装置２は、画像形成装置１による印刷などのサービスを受けるためのクライアントである。端末装置２には、画像形成装置１を制御するためのドライバなどがインストールされている。端末装置２として、パーソナルコンピューター、スマートフォン、またはＰＤＡ（Personal Digital Assistant）などが用いられる。
【００４１】
図４は、原稿画像５１、重畳用画像５２、および仮合成画像５３の例を示す図である。図５は、二次元バーコード５２Ｎの位置の変更の処理の例を説明するための図である。
【００４２】
次に、図３に示す画像形成装置１の各部による印刷物の生成の処理を、図４〜図５を参照しながら説明する。
【００４３】
ドキュメント取得部１０１は、印刷の対象であるドキュメント画像の画像データ６１を、例えば次のように取得する。
【００４４】
ユーザは、ドキュメント画像が記された用紙を用意する。そして、所定のコマンドを画像形成装置１に入力する。
【００４５】
すると、ドキュメント取得部１０１は、この用紙の原稿面（読取面）をスキャンユニット１０ｅにスキャンさせ画像データを生成させる。そして、この画像データを画像データ６１として取得する。以下、原稿画像５１の画像データ６１がドキュメント取得部１０１によって得られた場合を例に説明する。原稿画像５１は、図４（Ａ）に示すように、複数のオブジェクト５１Ｊからなるドキュメント画像である。また、原稿画像５１には、オブジェクト５１Ｊの配置されていない領域がある。
【００４６】
二次元バーコード取得部１０２は、原稿画像５１とともに用紙に印刷する二次元バーコードの画像データ６２を取得する。取得する方法は、ドキュメント取得部１０１による画像データ６１の取得の方法と基本的に同様である。
【００４７】
つまり、ユーザは、二次元バーコードが記された用紙を用意する。そして、所定のコマンドを画像形成装置１に入力する。
【００４８】
すると、二次元バーコード取得部１０２は、この用紙の原稿面をスキャンユニット１０ｅにスキャンさせ画像データを生成させる。そして、この画像データを画像データ６２として取得する。以下、重畳用画像５２の画像データ６２が二次元バーコード取得部１０２によって得られた場合を例に説明する。重畳用画像５２は、図４（Ｂ）に示すように、二次元バーコード５２Ｎを含む画像である。二次元バーコード５２Ｎ以外の部分の画素は、透過ＧＩＦ（Graphics Interchange Format）などで用いられる、いわゆる透明色の画素である。透過率は１００％である。また、二次元バーコード５２Ｎは、黒色のセルおよび無色のセルによって構成される。無色のセルも、透明色の画素からなる。透過率は１００％である。以下、二次元バーコードとしてＱＲ（Quick Response）コードが用いられる場合を例に、説明する。ＱＲコードは、登録商標である。
【００４９】
原稿画像５１および重畳用画像５２は、ともに矩形である。また、原稿画像５１の縦の長さと重畳用画像５２の縦の長さは等しく、原稿画像５１の横の長さと重畳用画像５２の横の長さも等しい。
【００５０】
画像仮合成部１０３は、画像データ６１および画像データ６２に基づいて図４（Ｃ）のように原稿画像５１に重畳用画像５２をぴったり重ねた合成画像の画像データを生成する。この合成画像が用紙に印刷されるか否かは、この時点では決まっていない。つまり、この合成画像は、シミュレーションされた仮のものである。以下、この合成画像を「仮合成画像５３」と記載する。また、仮合成画像５３の画像データを「画像データ６３」と記載する。
【００５１】
第一の二次元バーコード解析部１０４は、画像データ６３に基づいて仮合成画像５３の中から二次元バーコード５２Ｎを検出する。そして、二次元バーコード５２Ｎを解析することによって、二次元バーコード５２Ｎに示される文字列を判別する。この処理は、ＱＲコードを解析する既存のソフトウェア（いわゆる、ＱＲコードリーダ）を用いて行うことができる。
【００５２】
具体的には、第一の二次元バーコード解析部１０４は、仮合成画像５３の中から３つの位置検出パターン（「切出しシンボル」と呼ばれることもある。）を検索する。そして、３つの位置検出パターンの１つずつを角に含む矩形の領域の画像を二次元バーコード５２Ｎとして検出する。そして、二次元バーコード５２Ｎを解析する。
【００５３】
しかし、図４（Ｃ）に示すように、原稿画像５１の中のいずれかのオブジェクト５１Ｊに二次元バーコード５２Ｎの一部分が重なっている場合がある。この場合は、二次元バーコード５２Ｎの解析を行っても文字列を判別できないことがある。
【００５４】
文字列を判別できた場合は、画像データ６３が印刷の指令とともに印刷ユニット１０ｆへ送出される。そして、画像データ６３に基づいて印刷ユニット１０ｆによって仮合成画像５３が用紙に印刷される。
【００５５】
一方、文字列を判別できなかった場合は、判別可能な状態の二次元バーコード５２Ｎを含む合成画像を得るための処理が、好適合成画像生成部１０５によって行われる。以下、二次元バーコード５２Ｎと重なったオブジェクト５１Ｊを「オブジェクト５１ＪＮ」と記載する。
【００５６】
好適合成画像生成部１０５は、二次元バーコード位置変更部３０１および第二の二次元バーコード解析部３０２によって構成される。
【００５７】
二次元バーコード位置変更部３０１は、二次元バーコード５２Ｎとオブジェクト５１ＪＮと重なる面積が小さくなるように二次元バーコード５２Ｎの位置を変更した合成画像の画像データを生成し直す。例えば、図５（Ａ）に示すように、二次元バーコード５２Ｎの左下の部分がオブジェクト５１ＪＮの右上の部分に重なっている場合は、図５（Ｂ）に示すように、二次元バーコード５２Ｎを右方向および上方向へ所定の画素数（例えば、それぞれ３画素ずつ）移動させた合成画像の画像データを生成し直す。ただし、重なりの面積がなるべくゼロにならないように二次元バーコード５２Ｎを移動させる。以下、生成し直した合成画像を「合成画像５４」と記載し、合成画像５４の画像データを「画像データ６４」と記載する。
【００５８】
第二の二次元バーコード解析部３０２は、画像データ６４に基づいて合成画像５４の中から二次元バーコード５２Ｎを検出する。そして、二次元バーコード５２Ｎを解析することによって、二次元バーコード５２Ｎに示される文字列を判別する。これらの処理の方法は、第一の二次元バーコード解析部１０４における処理の方法と同様である。
【００５９】
文字列を判別できた場合は、最新の画像データ６４が印刷ユニット１０ｆへ送出される。そして、画像データ６４に基づいて印刷ユニット１０ｆによって合成画像５４が用紙に印刷される。
【００６０】
一方、文字列を判別できなかった場合は、二次元バーコード位置変更部３０１は、図５（Ｃ）に示すように、二次元バーコード５２Ｎの位置をさらに所定の画素数だけ移動させることによってオブジェクト５１ＪＮとの重なりの面積を小さくして、画像データ６４を生成し直す。第二の二次元バーコード解析部３０２は、最新の画像データ６４に基づいて、最新の合成画像５４の中から二次元バーコード５２Ｎを検出し、文字列の判別を試みる。判別に成功するまで徐々に二次元バーコード５２Ｎの位置を変更し、画像データ６４を生成し直す。そして、判別に成功した場合は、最新の画像データ６４に基づいて最新の合成画像５４が印刷ユニット１０ｆによって印刷される。
【００６１】
図６は、第一の実施形態における画像の合成の全体的な処理の流れの例を説明するフローチャートである。
【００６２】
次に、第一の実施形態における画像形成装置１の全体的な処理の流れを、原稿画像５１に重畳用画像５２を重ね合わせた合成画像を印刷する場合を例に、図６に示すフローチャートを参照しながら説明する。
【００６３】
画像形成装置１は、スキャンユニット１０ｅによって、原稿画像５１の画像データ６１を取得するとともに（＃７０１）、重畳用画像５２の画像データ６２を取得する（＃７０２）。
【００６４】
画像形成装置１は、原稿画像５１に重畳用画像５２を重ねることによって仮合成画像５３の画像データ６３を生成する（＃７０３）。そして、仮合成画像５３の中から二次元バーコード５２Ｎを検出し解析することによって、二次元バーコード５２Ｎに示される文字列の判別を試みる（＃７０４）。
【００６５】
判別することができた場合は（＃７０５でＹｅｓ）、画像形成装置１は、二次元バーコード５２Ｎの位置を変更することなく仮合成画像５３を用紙に印刷する（＃７０９）。
【００６６】
一方、判別することができなかった場合は（＃７０５でＮｏ）、画像形成装置１は、図５で説明したように、二次元バーコード５２Ｎを、これと重ねっているオブジェクト５１Ｊ（つまり、オブジェクト５１ＪＮ）との重なりの面積が小さくなるように移動させて合成画像５４を生成する（＃７０６）。そして、合成画像５４の中から二次元バーコード５２Ｎを検出し解析することによって、二次元バーコード５２Ｎに示される文字列の判別を試みる（＃７０７）。それでも判別することができなかった場合は（＃７０８でＮｏ）、二次元バーコード５２Ｎの文字列の判別が成功するまで、二次元バーコード５２Ｎをオブジェクト５１ＪＮから所定の距離ずつ離して合成画像５４を生成する処理および解析の処理を繰り返す（＃７０６、＃７０７）。そして、判別することができた際の合成画像５４を用紙に印刷する（＃７０９）。
【００６７】
〔第二の実施形態〕
図７は、第二の実施形態における画像形成装置１の機能的構成の例を示す図である。図８は、第二の実施形態における二次元バーコード５２Ｎの位置の変更の処理の例を説明するための図である。
【００６８】
第一の実施形態では、仮合成画像５３または合成画像５４を求め、仮合成画像５３の中の二次元バーコード５２Ｎに示される文字列の判別を試みた。そして、判別することができた場合に、この仮合成画像５３または合成画像５４を好適であるものとみなして用紙に印刷した。第二の実施形態では、文字列の判別の可否のチェック以外の方法で好適であるか否かをチェックする。
【００６９】
画像形成装置１のハードウェアの構成は、第一の実施形態の場合と同様で、図２に示した通りである。ただし、ＲＯＭ１０ｃまたは大容量記憶装置１０ｄには、ソフトウェア１ＳＷの代わりにソフトウェア１ＳＷ２がインストールされている。
【００７０】
ソフトウェア１ＳＷ２によると、図７に示すドキュメント取得部１２１、二次元バーコード取得部１２２、画像仮合成部１２３、破損率算出部１２４、誤り訂正率検出部１２５、解析可否判別部１２６、および好適合成画像生成部１２７などが実現される。
【００７１】
以下、ドキュメント取得部１２１ないし好適合成画像生成部１２７による印刷物の生成の処理を、図８などを参照しながら説明する。第一の実施形態と重複する点については、説明を省略する。
【００７２】
ドキュメント取得部１２１、二次元バーコード取得部１２２、および画像仮合成部１２３は、第一の実施形態のドキュメント取得部１０１、二次元バーコード取得部１０２、および画像仮合成部１０３（図３参照）と同様の処理を行う。つまり、ドキュメント取得部１２１は、原稿画像５１（図４参照）の画像データ６１を取得する処理を行う。二次元バーコード取得部１２２は、重畳用画像５２の画像データ６２を取得する処理を行う。画像仮合成部１２３は、仮合成画像５３の画像データ６３を生成する処理を行う。
【００７３】
ところで、仮合成画像５３の中の二次元バーコード５２Ｎは、いずれかのオブジェクト５１Ｊの上に重なることによって破損（欠損）してしまうことがある。図４および図５の例のようにオブジェクト５１ＪＮに重なることによって破損することが、ある。
【００７４】
破損率算出部１２４は、仮合成画像５３の中の二次元バーコード５２Ｎの、オブジェクト５１Ｊに重なったことによってした割合を、次のように算出する。以下、この割合を「破損率Ｒｋ」と記載する。
【００７５】
破損率算出部１２４は、３つの位置検出パターンを検索することによって、仮合成画像５３の中から二次元バーコード５２Ｎを抽出する。そして、二次元バーコード５２Ｎの全体の面積Ｓｚを求める。なお、面積Ｓｚは、重畳用画像５２から求めることもできる。
【００７６】
さらに、破損率算出部１２４は、二次元バーコード５２Ｎとオブジェクト５１ＪＮとが重なっている部分５３Ｃの面積Ｓｃを求める。面積Ｓｃは、仮合成画像５３の中から両者の重なっている部分５３Ｃを検出することによって求めることができる（図８（Ａ）参照）。または、原稿画像５１におけるオブジェクト５１ＪＮの占める領域および位置と重畳用画像５２における二次元バーコード５２Ｎの占める領域および位置とを算出し、両領域を両位置に基づいて重ねることによっても、求めることができる。
【００７７】
そして、破損率算出部１２４は、次の（１）式によって破損率Ｒｋを算出する。
破損率Ｒｋ＝面積Ｓｃ／面積Ｓｚ  ……  （１）
誤り訂正率検出部１２５は、二次元バーコード５２Ｎの特定の位置のセルを解析することによって誤り訂正率Ｒａを検出する。なお、一般にＱＲコードには、誤り訂正率として幾つかの誤り訂正レベルが示されている。よって、誤り訂正率検出部１２５は、誤り訂正レベルを検出することによって、誤り訂正率を検出することができる。
【００７８】
解析可否判別部１２６は、仮合成画像５３の中の二次元バーコード５２Ｎが文字列の判別が可能なものであるか否かを、破損率算出部１２４によって算出された破損率Ｒｋおよび誤り訂正率検出部１２５によって検出された誤り訂正率Ｒａに基づいて判別する。具体的には、図８に示すように、破損率Ｒｋが誤り訂正率Ｒａ未満であれば、文字列の判別が可能であると、判別する。誤り訂正率Ｒａが破損率Ｒｋ未満であれば、文字列の判別が不能であると、判別する。破損率Ｒｋと誤り訂正率Ｒａとが同率である場合は、文字列の判別が可能であると判別してもよいし不能であると判別してもよい。どちらにするかは、予め決めておけばよい。
【００７９】
または、解析可否判別部１２６は、二次元バーコード５２Ｎの解析の確実性を高めるために判別の基準を高めてもよい。例えば、次の（２）式を満たす場合は文字列の判別が可能であると判別し、満たさない場合は不能であると判別してもよい。
Ｒａ≧α・Ｒｋ＋β  ……  （２）
ただし、「α」は、１以上の係数である。「β」は、０以上の数である。
【００８０】
文字列の判別が可能であると解析可否判別部１２６によって判別された場合は、画像データ６３が印刷の指令とともに印刷ユニット１０ｆへ送出される。そして、画像データ６３に基づいて印刷ユニット１０ｆによって仮合成画像５３が用紙に印刷される。つまり、図８（Ｂ）に示すように、二次元バーコード５２Ｎの位置は、変更しない。
【００８１】
一方、文字列の判別が不能であると解析可否判別部１２６によって判別された場合は、文字列の判別が可能な状態である二次元バーコード５２Ｎを含む合成画像を得るための処理が、好適合成画像生成部１２７によって行われる。
【００８２】
好適合成画像生成部１２７は、破損率Ｒｋが誤り訂正率Ｒａ未満になりまたは（２）式を満たす際の二次元バーコード５２Ｎとオブジェクト５１ＪＮとの重なる部分５３Ｃの面積を算出する。そして、部分５３Ｃの面積が算出した面積以下になるように二次元バーコード５２Ｎの位置を図８（Ｃ）のように変更して、合成画像の画像データを生成し直す。位置の変更の仕方は第一の実施形態と同様である。以下、生成し直した合成画像を「合成画像５５」と記載し、合成画像５５の画像データを「画像データ６５」と記載する。
【００８３】
そして、画像データ６５が印刷の指令とともに印刷ユニット１０ｆへ送出され、画像データ６５に基づいて印刷ユニット１０ｆによって合成画像５５が用紙に印刷される。
【００８４】
図９は、第二の実施形態における画像の合成の全体的な処理の流れの例を説明するフローチャートである。
【００８５】
次に、第二の実施形態における画像形成装置１の全体的な処理の流れを、原稿画像５１に重畳用画像５２を重ね合わせた合成画像を印刷する場合を例に、図９に示すフローチャートを参照しながら説明する。
【００８６】
画像形成装置１は、第一の実施形態のステップ＃７０１〜＃７０３と同様に、原稿画像５１の画像データ６１および重畳用画像５２の画像データ６２を取得し、仮合成画像５３の画像データ６３を生成する（＃７１１〜＃７１３）。
【００８７】
画像形成装置１は、誤り訂正率Ｒａを検出するとともに（＃７１４）、破損率Ｒｋを算出する（＃７１５）。そして、仮合成画像５３の中の二次元バーコード５２Ｎが文字の判別の可能なものであるか否かを、誤り訂正率Ｒａおよび破損率Ｒｋに基づいて判別する（＃７１６）。
【００８８】
文字の判別の可能なものである場合は（＃７１７でＹｅｓ）、画像形成装置１は、仮合成画像５３を用紙に印刷する（＃７１９）。
【００８９】
一方、文字の判別の可能なものでない場合は（＃７１７でＮｏ）、画像形成装置１は、二次元バーコード５２Ｎが文字の判別の可能なものになるように二次元バーコード５２Ｎの位置を変更することによって（図８（Ｃ）参照）、合成画像５４の画像データ６４を生成する（＃７１８）。そして、合成画像５４を用紙に印刷する（＃７１９）。
【００９０】
なお、破損率Ｒｋがゼロである場合は、ステップ＃７１６〜＃７１８の処理をスキップし、仮合成画像５３を印刷してもよい（＃７１９）。また、ステップ＃７１４よりも先に破損率Ｒｋを算出し（＃７１５）、破損率Ｒｋがゼロであれば、ステップ＃７１４をもスキップしてもよい。
【００９１】
〔変形例〕
＜１＞  位置検出パターンがオブジェクトと重なる場合の第一の対応策
図１０は、二次元バーコード５２Ｎの調整の処理の変形例を説明するための図である。図１１は、二次元バーコード５２Ｎをオブジェクト５１ＪＮが横断した例を示す図である。
【００９２】
第一の実施形態および第二の実施形態では、仮合成画像５３の中の二次元バーコード５２Ｎの３つの位置検出パターンを検索する場合を例に説明した。つまり、第一の実施形態および第二の実施形態では、二次元バーコード５２Ｎの一部分がオブジェクト５１ＪＮに重なるものの、位置検出パターンは１つもオブジェクト５１ＪＮに重ならなかった。しかし、３つの位置検出パターンのうちの少なくとも１つがオブジェクト５１ＪＮに重なってしまうことがある。この場合は、仮合成画像５３から二次元バーコード５２Ｎを正しく検出することができないことがある。
【００９３】
そこで、画像形成装置１は、位置検出パターンが１つもオブジェクト５１ＪＮと重ならないように次の処理を行う。
【００９４】
画像形成装置１は、図１０（Ａ）に示すように二次元バーコード５２Ｎの少なくとも１つの位置検出パターン５２Ｎｐがオブジェクト５１ＪＮと重なる場合は、位置検出パターン５２Ｎｐを、位置検出パターン５２Ｎｐの真ん中を中心に図１０（Ｂ）に示すように時計回りに９０度させて、仮合成画像５３の画像データ６３を生成し直す。それでもなお少なくとも１つの位置検出パターン５２Ｎｐがオブジェクト５１ＪＮと重なる場合は、図１０（Ｃ）に示すようにさらに時計回りに９０度させて、仮合成画像５３の画像データ６３を生成し直す。図１０（Ｃ）の例では、位置検出パターン５２Ｎｐが１つもオブジェクト５１ＪＮと重ならないので、第一の二次元バーコード解析部１０４（図３参照）および破損率算出部１２４（図７参照）は、この時点の画像データ６３を用いて処理を実行する。もしも、時計回りに９０度、２回、回転させてもなお少なくとも１つの位置検出パターン５２Ｎｐがオブジェクト５１ＪＮと重なる場合は、さらに時計回りに９０度、回転させて仮合成画像５３の画像データ６３を生成し直す。
【００９５】
なお、図１１のようにオブジェクト５１ＪＮが二次元バーコード５２Ｎの中央を横断する場合があるが、横断しまたは縦断する場合であっても３つの位置検出パターン５２Ｎｐのいずれもオブジェクト５１ＪＮに重ならない場合は、第一の実施形態または第二の実施形態の方法で合成画像を生成することができる。
【００９６】
＜２＞  位置検出パターンがオブジェクトと重なる場合の第二の対応策
図１２は、二次元バーコード５２Ｎの調整の処理の変形例を説明するための図である。
【００９７】
上述の＜１＞の方法では好適な仮合成画像５３が得られない場合、つまり、二次元バーコード５２Ｎを時計回りに９０度、１８０度、そして２７０度回転させても少なくともいずれか１つの位置検出パターン５２Ｎｐがオブジェクト５１ＪＮと重なる場合は、画像形成装置１は、次の方法によって、仮合成画像５３の画像データ６３を生成する。
【００９８】
例えば、図１２（Ａ）に示すように、２つ以上の位置検出パターン５２Ｎｐがオブジェクト５１ＪＮと重なる場合は、画像形成装置１は、図１２（Ｂ）に示すようにオブジェクト５１ＪＮの外側へ向かって、位置検出パターン５２Ｎｐが１つも重ならない位置まで二次元バーコード５２Ｎを移動させて、仮合成画像５３の画像データ６３を生成し直す。または、オブジェクト５１ＪＮの外側へ向かって、オブジェクト５１ＪＮと隣り合う位置まで二次元バーコード５２Ｎを移動させて、仮合成画像５３の画像データ６３を生成し直す。
【００９９】
または、画像形成装置１は、図１２（Ｃ）に示すように、二次元バーコード５２Ｎを２×２に４等分した１つの部分のみがオブジェクト５１ＪＮに重なる位置まで、二次元バーコード５２Ｎを移動させる。そして、図１２（Ｄ）に示すように、上述の＜１＞の方法で（図１０参照）３つの位置検出パターンの１つもオブジェクト５１ＪＮと重ならないようになるまで二次元バーコード５２Ｎを回転させて、仮合成画像５３の画像データ６３を生成し直す。
【０１００】
＜３＞  位置検出パターンがオブジェクトと重なる場合の第三の対応策
図１３は、二次元バーコード５２Ｎの調整の処理の変形例を説明するための図である。
【０１０１】
上述の＜１＞の方法では好適な仮合成画像５３が得られない場合は、次の方法によって仮合成画像５３の画像データ６３を生成してもよい。
【０１０２】
例えば、図１３（Ａ）に示すように少なくとも１つの位置検出パターン５２Ｎｐがオブジェクト５１ＪＮの上方の部分と重なる場合は、画像形成装置１は、図１３（Ｂ）のように二次元バーコード５２Ｎを上方に向かって縮小させて、仮合成画像５３の画像データ６３を生成し直す。
【０１０３】
ただし、合成画像の印刷物をスキャンする読取装置の読取解像度に対応するように、二次元バーコード５２Ｎを縮小する。つまり、この読取装置の読取りの最小単位が２ドットである場合は、１つのセルの大きさが２ドット以上になるように二次元バーコード５２Ｎを縮小する。ＱＲコードは一般に４ドット以上が推奨されているので、１つのセルの大きさが４ドット以上になるように二次元バーコード５２Ｎを縮小するのが好ましい。もちろん、この読取装置の読取りの最小単位が１ドットであるならば、１つのセルの大きさを１ドットにまで縮小しても構わない。
【０１０４】
＜４＞  位置検出パターンがオブジェクトと重なる場合の第四の対応策
図１４は、二次元バーコード５２Ｎの調整の処理の変形例を説明するための図である。
【０１０５】
上述の＜１＞の方法では好適な仮合成画像５３が得られない場合は、次の方法によって仮合成画像５３の画像データ６３を生成してもよい。
【０１０６】
１つの位置検出パターン５２Ｎｐのみがオブジェクト５１ＪＮに重ならない場合は、画像形成装置１は、この位置検出パターン５２Ｎｐの方向へ二次元バーコード５２Ｎを移動させて、仮合成画像５３の画像データ６３を生成し直す。例えば、図１４（Ａ）に示すように左上の位置検出パターン５２Ｎｐのみがオブジェクト５１ＪＮに重なっていない場合は、図１４（Ｂ）のように３つの位置検出パターン５２Ｎｐが現れる位置まで左上の方向へ二次元バーコード５２Ｎを移動させて、仮合成画像５３の画像データ６３を生成し直す。
【０１０７】
＜５＞  二次元バーコードの移動の範囲
図１５は、二次元バーコード５２Ｎの移動可能な範囲の例を説明するための図である。
【０１０８】
第一の実施形態および第二の実施形態のほか上述の＜１＞、＜２＞、および＜４＞の各対応策によると、二次元バーコード５２Ｎをいずれかの方向に移動させて、仮合成画像５３の画像データ６３を生成し直した。しかし、例えば図１５（Ａ）に矢印で示すように、移動する方向に他のオブジェクト５１Ｊが存在することがある。そこで、画像形成装置１は、二次元バーコード５２Ｎの移動可能な範囲を、図１５（Ｂ）に二点鎖線で示すように、他のオブジェクト５１Ｊの直前までの範囲に限定する。
【０１０９】
複数の方向へ移動させることができる場合は、予め決められた方向へ優先的に移動させてもよいし、方向をランダムに選択し移動させてもよい。
【０１１０】
合成画像５４の画像データ６４、６５を生成する場合および生成し直す場合も同様に、二次元バーコード５２Ｎの移動可能な範囲を限定すればよい。
【０１１１】
なお、移動可能な範囲として、ユーザが指定した範囲を用いてもよい。または、特定の仕様に基づいて移動可能な範囲を設定してもよい。
【０１１２】
＜６＞  二次元バーコードの移動が不能な場合の第一の対応策
図１６は、二次元バーコード５２Ｎの移動可能な範囲のない状況の例を示す図である。
【０１１３】
図１６に示すように、二次元バーコード５２Ｎがオブジェクト５１ＪＮに重なるだけでなく周囲を他の１つまたは複数のオブジェクト５１Ｊに近接して囲われる場合がある。この場合は、二次元バーコード５２Ｎの移動可能な範囲がほとんどない。
【０１１４】
そこで、画像形成装置１は、移動可能な範囲がない場合および移動可能な範囲で二次元バーコード５２Ｎを移動させて仮合成画像５３の画像データ６３を生成し直しても好適な結果が得られない場合は、次のように処理を行えばよい。
【０１１５】
画像形成装置１は、上述の＜３＞の方法で二次元バーコード５２Ｎを、縮小させてから適宜、移動させ、仮合成画像５３の画像データ６３を生成し直す。
【０１１６】
または、画像形成装置１は、誤り訂正レベルを高くすることによって誤り訂正率を上げて、二次元バーコード５２Ｎを生成し直し、仮合成画像５３の画像データ６３を生成し直す。
【０１１７】
二次元バーコード５２Ｎの再生成は、次のように行うことができる。画像形成装置１は、二次元バーコード５２Ｎに示される文字列および誤り訂正レベルを画像データ６２に基づいて判別する。そして、判別した誤り訂正レベルよりも高い誤り訂正レベルで、判別した文字列を示す二次元バーコード５２Ｎを生成し直す。
【０１１８】
合成画像５４の画像データ６４、６５を生成する場合および生成し直す場合も、誤り訂正率を上げる方法を用いることができる。
【０１１９】
＜７＞  二次元バーコードの移動が不能な場合の第二の対応策
図１７は、二次元バーコード５２Ｎの調整の処理の変形例を説明するための図である。
【０１２０】
移動可能な範囲がない場合および移動可能な範囲で二次元バーコード５２Ｎを移動させて仮合成画像５３の画像データ６３を生成し直しても好適な結果が得られない場合は、画像形成装置１は、次のようにオブジェクト５１ＪＮに対して処理を行ってもよい。
【０１２１】
例えば図１７（Ａ）に示すように二次元バーコード５２Ｎがオブジェクト５１ＪＮに重なっている場合に、画像形成装置１は、二次元バーコード５２Ｎではなく図１７（Ｂ）に示すようにオブジェクト５１ＪＮを移動させて、仮合成画像５３の画像データ６３を生成し直してもよい。
【０１２２】
または、図１７（Ｃ）に示すようにオブジェクト５１ＪＮを縮小させて、仮合成画像５３の画像データ６３を生成し直してもよい。なお、上述の＜３＞の通り、図１７（Ｄ）に示すように二次元バーコード５２Ｎを縮小させても構わない。
【０１２３】
図１８は、シンボル調整処理の流れの例を説明するフローチャートである。図１９は、移動縮小処理の流れの例を説明するフローチャートである。
【０１２４】
次に、上述の対応策を適用した場合の画像形成装置１の全体的な処理の流れを、図１８に示すフローチャートなどを参照しながら説明する。
【０１２５】
画像形成装置１は、図６のステップ＃７０１〜７０３および図９のステップ＃７１１〜７１３で説明した通り、原稿画像５１の画像データ６１および重畳用画像５２の画像データ６２を取得し、仮合成画像５３の画像データ６３を生成する。第一の実施形態および第二の実施形態では、仮合成画像５３の中の二次元バーコード５２Ｎの３つの位置検出パターン５２Ｎｐのいずれもオブジェクト５１Ｊに重ならない場合について説明したが、少なくとも１つが重なる場合がある。
【０１２６】
そこで、画像形成装置１は、ステップ＃７０３または＃７１３の処理の際つまり仮合成画像５３を求める際に、位置検出パターン５２Ｎｐが１つもオブジェクト５１Ｊに重ならないように調整する処理（シンボル調整処理）を行う。シンボル調整処理は、図１８のフローチャートに示す手順で行われる。
【０１２７】
画像形成装置１は、オブジェクト５１Ｊに重なる部分が二次元バーコード５２Ｎに含まれており、かつ、３つの位置検出パターン５２Ｎｐのうちの１つのみがオブジェクト５１Ｊに重なる場合は（図１８の＃７２１でＹｅｓ、＃７２２でＹｅｓ、＃７２３でＹｅｓ）、二次元バーコード５２Ｎを回転させることによって、３つの位置検出パターン５２Ｎｐのいずれもオブジェクト５１Ｊに重ならないようにする（＃７２４）。
【０１２８】
しかし、回転させても、いずれかの位置検出パターン５２Ｎｐがオブジェクト５１Ｊに重なる場合は（＃７２５でＹｅｓ）、画像形成装置１は、移動縮小処理を実行する（＃７２６）。
【０１２９】
また、３つの位置検出パターン５２Ｎｐのうちの２つ以上がオブジェクト５１Ｊに重なる場合も（＃７２１でＹｅｓ、＃７２２でＹｅｓ、＃７２３でＮｏ）、移動縮小処理を実行する（＃７２６）。
【０１３０】
移動縮小処理は、図１９のフローチャートに示す手順で行われる。画像形成装置１は、二次元バーコード５２Ｎの周囲のオブジェクト５１Ｊを検索する（＃７３１）。上下左右のすべての方向にオブジェクト５１Ｊがある場合は（＃７３２でＹｅｓ）、二次元バーコード５２Ｎを縮小する（＃７３５）。これにより、移動可能な領域が確保することができるので、縮小した二次元バーコード５２Ｎを、位置検出パターン５２Ｎｐが１つもオブジェクト５１Ｊに重ならないように適宜、移動させる。
【０１３１】
一方、移動可能な方向がある場合は（＃７３２でＮｏ）、画像形成装置１は、その方向へ二次元バーコード５２Ｎを移動させる（＃７３３）。この際に、位置検出パターン５２Ｎｐが１つもオブジェクト５１Ｊに重ならないようになるまで、適宜、移動の方向を変える。それでもなお、いずれかの位置検出パターン５２Ｎｐがオブジェクト５１Ｊに重なる場合は（＃７３４でＹｅｓ）、二次元バーコード５２Ｎを縮小する（＃７３５）。そして、縮小した二次元バーコード５２Ｎを、位置検出パターン５２Ｎｐが１つもオブジェクト５１Ｊに重ならないように適宜、移動させる。
【０１３２】
シンボル調整処理が完了したら、画像形成装置１は、図６のステップ＃７０４〜＃７０９の処理または図９のステップ＃７１４〜＃７１９の処理を実行する。
【０１３３】
しかし、ステップ＃７０６または＃７１８において、二次元バーコード５２Ｎを文字列の判別が可能なように合成画像５４、５５を求めることができない場合がある。この場合は、画像形成装置１は、二次元バーコード５２Ｎを縮小して、合成画像５４、５５を求め直す。または、二次元バーコード５２Ｎの誤り訂正レベルを上げて、合成画像５４、５５を求め直す。
【０１３４】
図２０は、二次元バーコード５２Ｎを移動させまたは複数の小さい二次元バーコードに分割する例を示す図である。
【０１３５】
上述の実施形態および変形例によると、ドキュメント画像への二次元バーコードの付加を従来よりも好適に行うことができる。しかも、二次元バーコードから離れたスペースへ移動させたり（図２０（Ａ）、（Ｂ）参照）、サイズの小さい複数の二次元バーコードに分けたりするのではなく（図２０（Ａ）、（Ｃ）参照）、できるだけ元の位置に近いまま二次元バーコードを移動させ、回転させ、または縮小させる。よって、ユーザが最初に意図したレイアウトをあまり損なうことなく二次元バーコードを付加することができる。
【０１３６】
上述の実施形態および変形例によると、原稿画像５１および重畳用画像５２を、用紙をスキャンすることによって取得した。しかし、端末装置２からこれらの画像データを受信することによって取得しても構わない。また、合成画像を、用紙に印刷することによって出力したが、合成画像の画像データを他の装置へ送信しまたはリムーバブルディスプレイなどに記録することによって出力してもよい。
【０１３７】
上述の実施形態および変形例では、図３および図６に示す各機能を、プログラムをＣＰＵ１０ａで実行することによって実現したが、画像処理回路１０ｊのみによって実現してもよい。
【０１３８】
上述の実施形態および変形例では、破損率Ｒｋを、オブジェクト５１ＪＮを内接する矩形の領域と二次元バーコード５２Ｎとの重なる面積の、二次元バーコード５２Ｎ全体の面積に対する割合を算出することによって求めたが、オブジェクト５１ＪＮの有色の画素によって識別不能になるセルの個数の、二次元バーコード５２Ｎ全体のセルの個数に対する割合を算出することによって求めてもよい。
【０１３９】
上述の実施形態および変形例では、二次元バーコード５２Ｎを適宜、回転させ、縮小し、または移動させたが、予め設定されている制限に応じて、一部の編集を行わないようにしてもよい。例えば、二次元バーコードのサイズが固定である旨の設定がなされている場合は、縮小を行わず、回転および移動によって二次元バーコード５２Ｎを調整すればよい。
【０１４０】
上述の実施形態および変形例では、二次元バーコード５２ＮとしてＱＲコードを例に挙げたが、他の規格の二次元バーコードを用いる場合にも本発明を適用することができる。
【０１４１】
その他、画像形成装置１の全体または各部の構成、処理内容、処理順序、原稿画像５１または重畳用画像５２の構成などは、本発明の趣旨に沿って適宜変更することができる。
【符号の説明】
【０１４２】
１  画像形成装置（画像処理装置）
１０４  第一の二次元バーコード解析部（解析可否判別手段）
１０５  好適合成画像生成部（画像生成手段）
１２４  破損率算出部（解析可否判別手段）
１２５  誤り訂正率検出部（解析可否判別手段）
１２６  解析可否判別部（解析可否判別手段）
１２７  好適合成画像生成部（画像生成手段）
５１  原稿画像（第一の画像）
５１Ｊ  オブジェクト
５１ＪＮ  オブジェクト
５２Ｎ  二次元バーコード
５２Ｎｐ  位置検出パターン（シンボル）
５４  合成画像（第二の画像）
【図１】
0005834866.tif 000002
【図２】
0005834866.tif 000003
【図３】
0005834866.tif 000004
【図４】
0005834866.tif 000005
【図５】
0005834866.tif 000006
【図６】
0005834866.tif 000007
【図７】
0005834866.tif 000008
【図８】
0005834866.tif 000009
【図９】
0005834866.tif 000010
【図１０】
0005834866.tif 000011
【図１１】
0005834866.tif 000012
【図１２】
0005834866.tif 000013
【図１３】
0005834866.tif 000014
【図１４】
0005834866.tif 000015
【図１５】
0005834866.tif 000016
【図１６】
0005834866.tif 000017
【図１７】
0005834866.tif 000018
【図１８】
0005834866.tif 000019
【図１９】
0005834866.tif 000020
【図２０】
0005834866.tif 000021