(57)【特許請求の範囲】
【請求項１】
反復埋め込み方式のコードを含む原稿をスキャンするスキャン手段と、
スキャン画像に単純埋め込み方式のコードを合成する設定が行われたか、反復埋め込み方式のコードを合成する設定が行われたかを判定する判定手段と、
前記判定手段でスキャン画像に単純埋め込み方式のコードを合成する設定が行われたと判定した場合には、前記スキャンにより得られたスキャン画像と前記単純埋め込み方式のコードを合成する合成手段と、
印刷手段とを有し、
前記印刷手段は、
前記判定手段でスキャン画像に単純埋め込み方式のコードを合成する設定が行われたと判定した場合には、前記合成手段による合成結果を印刷し、
前記判定手段でスキャン画像に対して反復埋め込み方式のコードを合成する設定が行われたと判定した場合には、前記スキャンにより得られたスキャン画像の印刷を行わないことを特徴とする装置。
【請求項２】
前記合成手段は、
前記判定手段でスキャン画像に単純埋め込み方式のコードを合成する設定が行われたと判定した場合には、前記スキャンにより得られたスキャン画像における前記反復埋め込み方式のコードが含まれていた位置と重なる位置に前記単純埋め込み方式のコードを合成することを特徴とする請求項１に記載の装置。
【請求項３】
前記スキャンにより得られたスキャン画像に反復埋め込み方式のコードが含まれているか判定する手段をさらに有することを特徴とする請求項１又は２に記載の装置。
【請求項４】
前記スキャン手段は、さらに、単純埋め込み方式のコードを含む原稿をスキャンすることが可能となっており、
前記判定手段でスキャン画像に単純埋め込み方式のコードを合成する設定が行われたと判定した場合には、
前記合成手段は、前記スキャンにより得られた単純埋め込み方式のコードを含むスキャン画像における前記単純埋め込み方式のコードが含まれていた位置に応じた領域に、前記合成する設定が行われている単純埋め込み方式のコードを合成し、
前記印刷手段は、前記領域に前記単純埋め込み方式のコードが合成された画像を印刷することを特徴とする請求項１乃至３の何れか１項に記載の装置。
【請求項５】
前記合成手段で前記スキャンにより得られたスキャン画像と前記単純埋め込み方式のコードとを合成する前に、
当該スキャン画像に対して処理を行う画像処理手段を有することを特徴とする請求項１乃至４の何れか１項に記載の装置。
【請求項６】
前記スキャン手段は、さらに、単純埋め込み方式のコードを含む原稿をスキャンすることが可能となっており、
前記判定手段でスキャン画像に反復埋め込み方式のコードを合成する設定が行われたと判定した場合には、
前記合成手段は、
前記スキャンにより得られた単純埋め込み方式のコードを含むスキャン画像における、前記単純埋め込み方式のコードが含まれていた位置に重ならないように反復埋め込み方式のコードを合成し、
前記印刷手段は、
前記単純埋め込み方式のコードが含まれていた位置に重ならないように反復埋め込み方式のコードが合成された画像を印刷することを特徴とする請求項１乃至５の何れか１項に記載の装置。
【請求項７】
反復埋め込み方式のコードを含む原稿をスキャンするスキャンステップと、
スキャン画像に単純埋め込み方式のコードを合成する設定が行われたか、反復埋め込み方式のコードを合成する設定が行われたかを判定する判定ステップと、
前記判定ステップでスキャン画像に単純埋め込み方式のコードを合成する設定が行われたと判定した場合には、前記スキャンにより得られたスキャン画像と前記単純埋め込み方式のコードを合成する合成ステップと、
印刷ステップとを有し、
前記印刷ステップは、
前記判定ステップでスキャン画像に単純埋め込み方式のコードを合成する設定が行われたと判定した場合には、前記合成ステップによる合成結果を印刷し、
前記判定ステップでスキャン画像に対して反復埋め込み方式のコードを合成する設定が行われたと判定した場合には、前記スキャンにより得られたスキャン画像の印刷を行わないことを特徴とする方法。
【請求項８】
前記合成ステップは、
前記判定ステップでスキャン画像に単純埋め込み方式のコードを合成する設定が行われたと判定した場合には、前記スキャンにより得られたスキャン画像における前記反復埋め込み方式のコードが含まれていた位置と重なる位置に前記単純埋め込み方式のコードを合成することを特徴とする請求項７に記載の方法。
【請求項９】
前記スキャンにより得られたスキャン画像に反復埋め込み方式のコードが含まれているか判定するステップをさらに有することを特徴とする請求項７又は８に記載の方法。
【請求項１０】
前記スキャンステップは、さらに、単純埋め込み方式のコードを含む原稿をスキャンすることが可能となっており、
前記判定ステップでスキャン画像に単純埋め込み方式のコードを合成する設定が行われたと判定した場合には、
前記合成ステップは、前記スキャンにより得られた単純埋め込み方式のコードを含むスキャン画像における前記単純埋め込み方式のコードが含まれていた位置に応じた領域に、前記合成する設定が行われている単純埋め込み方式のコードを合成し、
前記印刷ステップは、前記領域に前記単純埋め込み方式のコードが合成された画像を印刷することを特徴とする請求項７乃至９の何れか１項に記載の方法。
【請求項１１】
前記合成ステップで前記スキャンにより得られたスキャン画像と前記単純埋め込み方式のコードとを合成する前に、
当該スキャン画像に対して処理を行う画像処理ステップを有することを特徴とする請求項７乃至１０の何れか１項に記載の方法。
【請求項１２】
前記スキャンステップは、さらに、単純埋め込み方式のコードを含む原稿をスキャンすることが可能となっており、
前記判定ステップでスキャン画像に反復埋め込み方式のコードを合成する設定が行われたと判定した場合には、
前記スキャンにより得られた単純埋め込み方式のコードを含むスキャン画像における、前記単純埋め込み方式のコードが含まれていた位置に重ならないように反復埋め込み方式のコードを合成し、
前記印刷ステップは、
前記単純埋め込み方式のコードが含まれていた位置に重ならないように反復埋め込み方式のコードが合成された画像を印刷することを特徴とする請求項７乃至１１の何れか１項に記載の方法。
【請求項１３】
反復埋め込み方式のコードを含む原稿をスキャンするスキャン手段と、
スキャン画像に単純埋め込み方式のコードを合成する設定が行われたか、反復埋め込み方式のコードを合成する設定が行われたかを判定する判定手段と、
前記判定手段でスキャン画像に単純埋め込み方式のコードを合成する設定が行われたと判定した場合には、前記スキャンにより得られたスキャン画像と前記単純埋め込み方式のコードを合成する合成手段と、
印刷手段とを有し、
前記印刷手段は、
前記判定手段でスキャン画像に単純埋め込み方式のコードを合成する設定が行われたと判定した場合には、前記合成手段による合成結果を印刷し、
前記判定手段でスキャン画像に対して反復埋め込み方式のコードを合成する設定が行われたと判定した場合には、前記スキャンにより得られたスキャン画像の印刷を行わないことを特徴とするシステム。
【請求項１４】
前記合成手段は、
前記判定手段でスキャン画像に単純埋め込み方式のコードを合成する設定が行われたと判定した場合には、前記スキャンにより得られたスキャン画像における前記反復埋め込み方式のコードが含まれていた位置と重なる位置に前記単純埋め込み方式のコードを合成することを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記スキャンにより得られたスキャン画像に反復埋め込み方式のコードが含まれているか判定する手段をさらに有することを特徴とする請求項１３又は１４に記載のシステム。
【請求項１６】
前記スキャン手段は、さらに、単純埋め込み方式のコードを含む原稿をスキャンすることが可能となっており、
前記判定手段でスキャン画像に単純埋め込み方式のコードを合成する設定が行われたと判定した場合には、
前記合成手段は、前記スキャンにより得られた単純埋め込み方式のコードを含むスキャン画像における前記単純埋め込み方式のコードが含まれていた位置に応じた領域に、前記合成する設定が行われている単純埋め込み方式のコードを合成し、
前記印刷手段は、前記領域に前記単純埋め込み方式のコードが合成された画像を印刷することを特徴とする請求項１３乃至１５の何れか１項に記載のシステム。
【請求項１７】
前記合成手段で前記スキャンにより得られたスキャン画像と前記単純埋め込み方式のコードとを合成する前に、
当該スキャン画像に対して処理を行う画像処理手段を有することを特徴とする請求項１３乃至１６の何れか１項に記載のシステム。
【請求項１８】
前記スキャン手段は、さらに、単純埋め込み方式のコードを含む原稿をスキャンすることが可能となっており、
前記判定手段でスキャン画像に反復埋め込み方式のコードを合成する設定が行われたと判定した場合には、
前記合成手段は、
前記スキャンにより得られた単純埋め込み方式のコードを含むスキャン画像における、前記単純埋め込み方式のコードが含まれていた位置に重ならないように反復埋め込み方式のコードを合成し、
前記印刷手段は、
前記単純埋め込み方式のコードが含まれていた位置に重ならないように反復埋め込み方式のコードが合成された画像を印刷することを特徴とする請求項１３乃至１７の何れか１項に記載のシステム。
【請求項１９】
請求項７乃至１２の何れか１項に記載の方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コードを扱う装置、方法、システム、プログラムに関する。
【背景技術】
【０００２】
従来から電子データを符号化して生成した画像パターンを印字することによって電子データを紙に埋め込み、その画像を光学的に読み取り、電子データを抽出するという二次元コード技術がある。二次元コードで情報を埋め込むことで、より多くの電子情報を紙に埋め込むことが可能となった。
【０００３】
プリント機能とスキャン機能を合わせ持つ複写機を用いれば、二次元コードの埋め込みと読み込みを１台の機器で実現できる為、二次元コードを利用した複写機特有のシステムが開発されている。例えば、印刷出力に二次元コードとして機密文書であることを示す情報を埋め込み、複写時に画像形成装置において複写の禁止された機密文書であるかを判別して、機密文書であった場合は複写動作を停止するシステムがある（特許文献１）。他にも、画像形成装置の利用ログを紙文書に埋め込み文書の追跡に利用するシステムや、画像情報そのものを二次元コードとして、スキャン時にその画像情報を元にオリジナルの画像を印刷するシステム（特許文献２）などがある。また、画像形成装置において、予め文書を画像形成装置に登録しておき、前記予め登録された文書と、別の文書を画像合成（オーバーレイ）して印刷するシステム（特許文献３）がある。
【０００４】
これら用途に従って、最適な埋め込み方式が選択され、利用される。二次元コードの埋め込み方式は以下のように２通りに分類できる。
【０００５】
【表１】
0005420054.tif 000002
【０００６】
図１は、反復埋め込み方式と、単純埋め込み方式を用いて二次元コードが埋め込まれた原稿を示す図である。
【０００７】
１０は、反復埋め込み方式により二次元コードが埋め込まれた原稿を示す。図中の点線で囲まれた矩形は、一つの情報埋め込みタイルを示す。この点線は実際には印刷されないが、１０では情報埋め込みタイルの存在を分かりやすく示す為に点線を表記する。原稿１０には、原稿全面に印刷されている各情報埋め込みタイルに全て同じ情報が埋め込まれているため、原稿の一部分からでも情報を抽出することが可能である。したがって、反復埋め込み方式により二次元コードが埋め込まれた原稿は、汚れやしわなどに対する耐性がある。また、反復埋め込み方式は二次元コードを原稿全面に印刷する為、二次元コードの可視性を下げるために情報埋め込みにはドットや線などを利用したパターンを生成するものが多い。一方、２０は、単純埋め込み方式により二次元コードが埋め込まれた原稿を示す。図中の原稿の右下に二次元コードが印刷されている。単純埋め込み方式の場合、二次元コードの一部が欠けたり二次元コードが汚れたりすると、二次元コードから情報を抽出できなくなる。しかし、単純埋め込み方式の場合、高密度な二次元コードを生成するので、
原稿に埋め込める情報量を多くできるという利点がある。
【０００８】
機密文書を検出するシステムの場合、反復埋め込み方式を利用することが多い。一方、画像情報を埋め込んで利用するシステムの場合、多量の情報量を扱うため、単純埋め込み方式を利用することが多い。
【０００９】
次に、特許文献３で提案された、予め登録された文書と、別の文書を画像合成（オーバーレイ）して印刷するシステムの概要を説明する。図１１は、特許文献３で提案されたシステムのデータの流れを示すブロック図である。図１１において、１００３は、ＲＯＭ（プログラムＲＯＭ）である。ＲＯＭ１００３には、制御プログラムとして以下のモジュールを構成として格納している。
【００１０】
２０１は、フォームファイル２０７を生成するためのフォーム生成モジュールである。２０２は、埋め込みデータファール２０８を生成するための埋め込みデータ生成モジュールである。２０３は、複数のフォームファイル２０７と埋め込みデータファイル２０８とから複合フォームファイル２０９を生成する複合ファイル生成モジュールである。２０４は、複合フォームファイルを展開するメモリ展開モジュールである。２０５は、展開された複合フォームファイルを順次解析する順次解析処理モジュールである。２０６は、複合フォームファイルを解析することにより得られた指示通りにオーバーレイ印刷をプリンタにおいて処理させるためのオーバーレイモジュールである。メモリ展開モジュール２０４と順次解析モジュール２０５とオーバーレイモジュール２０６を合わせてランタイムライブラリモジュールもしくはオーバーレイ指定モジュールとも言う。
【００１１】
１００２は、上記のモジュールがロードされるメモリとして機能するＲＡＭであり、帳票オブジェクトが格納される。帳票オブジェクトとは、帳票データ（フォームデータ）と埋め込みデータ（フィールドデータ）のことである。またＲＡＭ１００２は、作業領域でもある。
【００１２】
１００９は、データベース、埋め込みデータファイル、フォームファイル、あるいは複合フォームファイルが格納されるハードディスクである。２０７は、フォームファイルであり、前述したフォーム生成モジュール２０１により生成される帳票データ（フォームデータ）からなるファイルである。２０８は、埋め込みデータファイルであり、前述した埋め込みデータ生成モジュール２０３により生成される埋め込みデータ（フィールドデータ、後付けデータとも言う）からなるファイルである。２０９は、複合フォームファイルであり、前述した複合ファイル生成モジュール２０３により生成される複数のフォームファイルから定義付けられる複合フォームファイルである。複合フォームファイル２０９は、複数種の帳票フォームを１つの関連した連続なフォームとして管理されるフォーム情報と、フォーム毎の出力先用紙カセットなどの出力情報とを併せ持つ情報ファイルと定義される。２１０は、データベースであり、後述するように埋め込みデータ生成モジュール２０２によりアクセスされ、埋め込みデータファイル２０８が生成される。
【００１３】
ＲＯＭ１００３に格納されたそれぞれのプログラムモジュールにより生成されたオーバーレイデータ（帳票データと埋め込みデータとからなる）は、ＯＳへ渡される。ＯＳは、アプリケーションから出力されたデータ関数（ＧＤＩ関数）を出力デバイスで認識できる共通のデータ関数（ＤＤＩ関数）に対応させて、該アプリケーションにより指定されたプリンタドライバ２１１にデータ関数を出力する。ここの部分を処理する関数対応手段は、ＯＳの機能の一部であり、Ｗｉｎｄｏｗｓ（登録商標）でいうＧＤＩに相当する部分である。この機能は公知であるので、詳細な制御は省略する。
【００１４】
プリンタドライバ２１１は、ＯＳの関数対応手段から入力されたデータ関数（ＤＤＩ関数）を印刷出力するプリンタで解析し、印刷処理可能なページ記述言語（ＰＤＬ）で印刷データを生成する。生成された印刷データは、印刷装置であるプリンタに出力送信される。プリンタでは、印刷データで指示されたように、ビットマップデータを生成し、印刷出力する。プリンタはオーバーレイ可能であり、フォーム用印刷データと埋め込み用印刷データとを受信し、オーバーレイ（重ね合せ）処理を実行して、印刷する。なお、プリンタがオーバーレイ機能を有していない場合は、プリンタドライバ２１１でオーバーレイ処理を実行することにより、すべてのページの印刷データを生成してプリンタに送信すればよい。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２００２−３０５６４６号公報
【特許文献２】特開２００４−１５３５６８号公報
【特許文献３】特開２０００−１２２８３７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
このように、二次元コードを用いたシステムでは、その目的にしたがって様々な二次元コードが利用されるため、異なる複数の二次元コードが同時に利用されることが考えられる。すなわち、同一の紙面上に異なる複数の二次元コードを印刷することが考えられる。異なる複数の二次元コードが同時に利用された場合、それらの二次元コードがお互いに干渉し合うことにより、各二次元コードから情報を読み取れなくなるおそれがある。つまり、異なる複数の二次元コードを同時に利用するシステムの場合、二次元コードが既に埋め込まれている原稿を複写する際にその上に新たな二次元コードを追加して印刷すると、既に埋め込まれている二次元コードを破損する可能性がある。
【課題を解決するための手段】
【００１７】
本発明に係る装置は、反復埋め込み方式のコードを含む原稿をスキャンするスキャン手段と、スキャン画像に単純埋め込み方式のコードを合成する設定が行われたか、反復埋め込み方式のコードを合成する設定が行われたかを判定する判定手段と、前記判定手段でスキャン画像に単純埋め込み方式のコードを合成する設定が行われたと判定した場合には、前記スキャンにより得られたスキャン画像と前記単純埋め込み方式のコードを合成する合成手段と、印刷手段とを有し、前記印刷手段は、前記判定手段でスキャン画像に単純埋め込み方式のコードを合成する設定が行われたと判定した場合には、前記合成手段による合成結果を印刷し、前記判定手段でスキャン画像に対して反復埋め込み方式のコードを合成する設定が行われたと判定した場合には、前記スキャンにより得られたスキャン画像の印刷を行わないことを特徴とする。
【発明の効果】
【００１８】
本発明によって、既に二次元コードが埋め込まれている原稿を複写する場合に、既に埋め込まれている二次元コードを破損するのを防止できる。
【図面の簡単な説明】
【００１９】
【図１】反復埋め込み方式と、単純埋め込み方式を用いて二次元コードが埋め込まれた原稿を示す図である。
【図２】反復埋め込み方式による情報埋め込みの一例を示す図である。
【図３】反復埋め込み方式により、入力画像中に埋め込まれている二次元コードを抽出する処理の流れを示すフローチャートである。
【図４】入力画像中に付加された二次元コードを抽出する処理の流れを示すフローチャートである。
【図５】実施例１の処理を示すフローチャートである。
【図６】実施例１における、第１の二次元コードの印刷が可能か否かを判定する判定処理の流れを示すフローチャートである。
【図７】実施例２における、第１の二次元コードの印刷が可能か否かを判定する判定処理の流れを示すフローチャートである。
【図８】第１の二次元コードを第２の二次元コードの上に印刷した状態を示す図である。
【図９】実施例３の処理を示すフローチャートである。
【図１０】第１の二次元コードを埋め込む領域の探索を説明するための図である。
【図１１】本発明の従来例におけるシステムのデータの流れを示すブロック図である。
【図１２】実施例４における、フォームデータの登録処理の流れを示すフローチャートである。
【図１３】実施例４における、フォーム合成印刷処理の流れを示すフローチャートである。
【図１４】実施例５における、フォーム合成印刷処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２０】
まず、本実施形態で利用する情報埋め込み方式に対応する情報抽出方式について説明する。
【００２１】
前述の通り、情報埋め込み方式には反復埋め込み方式と単純埋め込み方式の２種類あるが、各情報埋め込み方式に対応する情報抽出方式を説明する。
【００２２】
以下の説明において、情報抽出処理は、画像形成装置により行われる。画像形成装置は、各情報抽出方式を用いて、スキャナが読み取った画像から情報を抽出する。ここで、画像形成装置は、内部にＣＰＵや記憶部を有し、ＣＰＵは、記憶部に格納されているプログラムやデータを読み出すことによって以下に例示する処理を実行する。
【００２３】
（Ａ）反復埋め込み方式
反復埋め込み方式として、原稿上に二次元コードとしてドットを印刷することで埋め込まれた情報を抽出する例に示す。反復埋め込み方式では、原稿全体に二次元コードを印刷する為、できるだけ可視性の低い埋め込み方法が望まれる。本実施形態では、図２に示すように原稿に引かれた仮想グリッド２０２の交差点付近にドット（２０１）を印刷し、交差点からのドットの変位により情報を埋め込む二次元コードを例にあげる。
【００２４】
図３は、反復埋め込み方式により、入力画像中に埋め込まれている二次元コードを抽出する処理の流れを示すフローチャートである。
画像形成装置は、スキャナが読み取った画像を入力すると、その入力画像を走査して画像中に含まれるドットを検出する（Ｓ３０１）。
【００２５】
画像形成装置は、検出した全てのドットの絶対座標、粒形サイズおよび濃度等のドット情報を算出する（Ｓ３０２）。
【００２６】
画像形成装置は、情報ドットのみを検出するために、算出したドット情報に基づき、検出したドットから埋め込み情報に係わる情報ドット以外のドットを削除するハーフトーン除去処理を行う（Ｓ３０３）。
【００２７】
画像形成装置は、グリッドを再現するために、検出した情報ドットと近隣ドットとの距離を計測し、グリッド間隔を算出する。また、画像形成装置は、すべての情報ドットに対して近隣の情報ドットまでの角度を測定し、グリッドの回転角度も算出する（Ｓ３０４）。画像形成装置は、グリッド間隔、回転角度を求めた後、グリッド（図２の２０２）の交差点に対する情報ドットの相対的位置を計測する。
【００２８】
画像形成装置は、各データ領域の位置とサイズを算出するために、反復されて埋め込まれているデータ領域の繰り返しサイズを決定する（Ｓ３０５）。
【００２９】
画像形成装置は、繰り返し埋め込まれたデータ領域にある情報ドットの位置とサイズを算出し（Ｓ３０６）、埋め込まれたデータを抽出する（Ｓ３０７）。
最後に、画像形成装置は、抽出したデータにエラー訂正処理を施して（Ｓ３０８）、埋め込まれた情報を取得する。
【００３０】
以上は、本実施形態で示す反復埋め込み方式に対応する情報抽出方式の一例であるが、本発明はこれに限るものではなく他の反復埋め込み方式に対応する情報抽出方式を用いてもよい。
【００３１】
（Ｂ）単純埋め込み方式
単純埋め込み方式の抽出方法として、二次元コード（ＱＲコード）の抽出の例に示す。
【００３２】
図４は、入力画像中に付加された二次元コードを抽出する処理の流れを示すフローチャートである。
【００３３】
画像形成装置は、スキャナが読み取った画像を入力すると、その入力画像を走査して所定の二次元コードの位置を検出する（Ｓ４０１）。二次元コードの位置の検出は、二次元コードの４隅のうち３隅に配置される同一の切り出しシンボルのパターンを利用して行う。
【００３４】
画像形成装置は、切り出しシンボルに隣接する形式情報を復元し、シンボルに適用されている誤り訂正レベル及びマスクパターンを取得する（Ｓ４０２）。
【００３５】
画像形成装置は、取得したマスクパターンを利用して、符号化領域ビットパターンをＸＯＲ演算することによってマスク処理を解除する（Ｓ４０３）。
【００３６】
画像形成装置は、モデルに対応する配置規則に従いシンボルキャラクタを読み取り、メッセージのデータ及び誤り訂正コードを復元する（Ｓ４０４）。
【００３７】
画像形成装置は、復元されたデータに対して誤り訂正コードを適用して、復元されたデータに誤りがあるかどうかを判定し（Ｓ４０５）、誤りがある場合には、その誤りを訂正する（Ｓ４０６）。
【００３８】
画像形成装置は、誤り訂正されたデータに対して誤り検出符号を適用して、当該データに誤りがないか否かを判定し（Ｓ４０７）、誤りがない場合には、抽出データの復号が成功したと判断し、当該データを出力する（Ｓ４０８）。これに対して、誤りがある場合には、抽出データの復号が失敗したと判断し、処理を終了する（４６０９）。
【００３９】
以上は、本実施の形態で示す単純埋め込み方式に対応する情報抽出方式の一例であるが、本発明はこれに限るものではなく他の単純埋め込み方式に対応する情報抽出方式を用いてもよい。
【００４０】
次に複数の二次元コードが同一の紙面上に印刷される場合の課題について説明する。
【００４１】
ここでは、二次元コードが既に印刷されている原稿を複写し、更に新しい二次元コードを印刷した場合に、複写後の原稿に印刷されている各二次元コードから情報を抽出する際の課題を説明する。以降の説明では、既に原稿に印刷されていた二次元コードを第２の二次元コード（第２の符号画像）とよび、新たに印刷される二次元コードを第１の二次元コード（第１の符号画像）とよぶ。
【００４２】
以下の表２は、第１の二次元コードの埋め込み方式及び第２の二次元コードの埋め込み方式と、それら２つの二次元コードが埋め込まれた原稿から情報を抽出した際の抽出結果を示した表である。抽出結果における「○」は情報抽出可能であることを示し、「×」は情報抽出不可であることを示し、「△」は、情報抽出が可能な場合と不可な場合とがあることを示す。
【００４３】
【表２】
0005420054.tif 000003
【００４４】
表２からわかるように、二次元コードが重なり合って印刷されると情報の復元ができなくなる。情報復元が可能か否かは、二次元コードの印刷の順番とその埋め込み方式の特性に依存する為、以下、表２を参照して実施例を説明する。
【実施例１】
【００４５】
実施例１では、上述の情報埋め込み技術を用いて複写時に情報を埋め込む場合に、原稿に既に埋め込まれている第２の二次元コードと、新たに埋め込む第１の二次元コードとが重なり合わないようにする埋め込み制御の処理を示す。
【００４６】
図５は、実施例１の処理を示すフローチャートである。
【００４７】
スキャナは、原稿を読み取り、読み取った画像を画像形成装置に送る（Ｓ５０１）。
【００４８】
画像形成装置は、スキャナから画像を受け取ると、その入力画像（スキャン画像）に第２の二次元コードが埋め込まれているか否かを判定する（Ｓ５０２）。入力画像に第２の二次元コードが埋め込まれていない場合は、画像形成装置は、そのまま複写動作を継続し、印刷を行う（Ｓ５０７）。これに対して、入力画像に第２の二次元コードが埋め込まれている場合は、画像形成装置は、第２の二次元コードの位置と埋め込み方式を特定する（Ｓ５０３）。
【００４９】
画像形成装置は、複写時の設定として、新たな二次元コードである第１の二次元コードの埋め込み指示がされているかどうかを判定し（Ｓ５０４）、第１の二次元コードの埋め込みが指定されていない場合は、そのまま複写動作を継続し、印刷を行う（Ｓ５０７）。これに対して、第１の二次元コードの埋め込み指示がされている場合は、画像形成装置は、指示された第１の二次元コードの印刷が可能か否かを判定する（Ｓ５０５）。
【００５０】
ここで、第１の二次元コードの印刷が可能か否かの判定処理（Ｓ５０５）を詳細に説明する。
【００５１】
図６は、第１の二次元コードの印刷が可能か否かを判定する判定処理（Ｓ５０５）の流れを示すフローチャートである。
【００５２】
画像形成装置は、第２の二次元コードの埋め込み方式の種類（反復埋め込み方式又は単純埋め込み方式）と、第２の二次元コードの印刷領域の位置情報を取得する（Ｓ６０１）。
【００５３】
画像形成装置は、第１の二次元コードの埋め込み方式の種類と、第１の二次元コードの印刷領域の位置情報を取得する（Ｓ６０２）。
【００５４】
画像形成装置は、第１の二次元コードの埋め込み方式が反復埋め込み方式である場合、表２で示した通り、第２の二次元コードの上に印刷すると第２の二次元コードを破損する恐れがあるため、第１の二次元コードは印刷不可と決定する（Ｓ６０６）。これに対して、第１の二次元コードの埋め込み方式が単純埋め込み方式である場合、画像形成装置は、第１の二次元コードの印刷領域と、第２の二次元コードの印刷領域に重なりがあるか否かを判定する（Ｓ６０４）。判定した結果、第２の二次元コードの印刷領域と第１の二次元コードの印刷領域に重なりがある場合は、第１の二次元コードを埋め込むと第２の二次元コードが破損される恐れがあるため、印刷不可（出力停止）と決定する（Ｓ６０６）。これに対して、第１の二次元コードの印刷領域と第２の二次元コードの印刷領域に重なりがない場合は、第１の二次元コードは印刷可能と決定し（Ｓ６０５）、画像形成装置の処理を終了する。
【００５５】
以下、図５に示すフローチャートの説明に戻る。
【００５６】
Ｓ５０５において、第１の二次元コードが印刷可能と判定した場合、画像形成装置は、第１の二次元コードと入力画像上の第２の二次元コードとを合成して（Ｓ５０６）、印刷を行う（Ｓ５０７）。これに対して、第１の二次元コードは印刷不可と判定した場合、画像形成装置は、ジョブをキャンセルする（Ｓ５０８）。尚、画像形成装置は、ジョブをキャンセルせずに、第１の二次元コードを合成しないで入力画像をそのまま複写してもよい。また、画像形成装置は、第１の二次元コードが印刷不可と判定した場合にジョブをキャンセルするか否かをユーザが設定した値に基づいて判定する手段を備えても良い。
【００５７】
以上説明したように、実施例１によれば、既に二次元コードが埋め込まれた原稿を複写する際に、その二次元コードが破損しないように新たな二次元コードの埋め込みを制御できる。
【実施例２】
【００５８】
実施例２では、上述の情報埋め込み技術を用いて、複写時に情報を埋め込む場合に、第２の二次元コードと第１の二次元コードから情報が復元可能な最低領域を保証する埋め込み制御の処理を示す。
【００５９】
実施例２で示す処理は、第１の二次元コードの印刷が可能か否かを判定する判定処理（Ｓ５０５）が図５に示す処理とは異なり、他の処理は同様である。したがって、第１の二次元コードが印刷可能か否かを判定する判定処理（Ｓ５０５）を詳細に説明する。
【００６０】
図７は、第１の二次元コードの印刷が可能か否かを判定する判定処理（Ｓ５０５）の流れを示すフローチャートである。
【００６１】
Ｓ７０１〜Ｓ７０３の処理は、図６に示すＳ６０１〜Ｓ６０３の処理と同じであるため説明を省略する。
【００６２】
実施例１では、Ｓ６０４において、第１の二次元コードと第２の二次元コードの印刷領域に重なりがある場合、第２の二次元コードから情報を復元できないとみなして、第１の二次元コードの印刷を無条件に不可と決定した。その理由は、第２の二次元コードが反復埋め込み方式で埋め込まれている場合、第２の二次元コードは原稿の全面に印刷されているため、第１の二次元コードを第２の二次元コードに重ならないように埋め込むことはできないからである。しかし、反復埋め込み方式の特性から、反復埋め込み方式によって埋め込まれている第２の二次元コードの領域の一部が失われても、残りの部分から情報を復元することができる場合がある。すなわち、第１の二次元コードの埋め込み方式が単純埋め込み方式である場合、第１の二次元コードを第２の二次元コードの上に印刷しても第１の二次元コード及び第２の二次元コードから情報を復元できる場合がある（表２の２のケース）。ただし、反復埋め込み方式でも情報を復元するための最低の領域は必要である。
実施例２では、このような反復埋め込み方式の特性を利用した判定処理を行う。
【００６３】
画像形成装置は、Ｓ７０３において第１の二次元コードの埋め込み方式が単純埋め込み方式と判定した場合には、Ｓ７０４の処理に進む。
【００６４】
画像形成装置は、第１の二次元コードの印刷領域と、第２の二次元コードの印刷領域に重なりがあるか否かを判定し（Ｓ７０４）、重なりがある場合にはＳ７０５の処理に進む。
【００６５】
画像形成装置は、Ｓ７０１とＳ７０２で取得した第２の二次元コードの位置情報と第１の二次元コードの位置情報から、第１の二次元コードの領域と重ならない第２の二次元コード領域の個数を取得する（Ｓ７０５）。図８は、第１の二次元コード２１を第２の二次元コード１１の上に印刷した状態を示す図である。図において、丸印が付けられた領域（情報埋め込みタイル）は、両者が重ならない領域である。
【００６６】
画像形成装置は、第１の二次元コードと重ならない第２の二次元コードの領域の個数と既定の値とを比較する（Ｓ７０６）。画像形成装置は、第１の二次元コードと重ならない第２の二次元コードの領域の個数が既定値よりも大きい場合は、第２の二次元コードの上に第１の二次元コードを印刷しても情報の復元は可能と判定し、第１の二次元コードは印刷可能と決定する（Ｓ７０８）。これに対して、第１の二次元コードと重ならない第２の二次元コードの領域の個数が既定値よりも小さい場合は、第１の二次元コードを印刷すると第２の二次元コードの情報の復元は不能と判定し、第１の二次元コードは印刷不可と決定する（Ｓ７０７）。
【００６７】
以下、図５に示すフローチャートの説明に戻る。
【００６８】
Ｓ５０５において、第１の二次元コードは印刷可能と判定した場合、画像形成装置は、第１の二次元コードを入力画像上の第２の二次元コードに合成して（Ｓ５０６）、印刷を行う（Ｓ５０７）。これに対して、第１の二次元コードが印刷不可と判定した場合、画像形成装置は、ジョブをキャンセルする（Ｓ５０８）。尚、画像形成装置は、ジョブをキャンセルせずに、第１の二次元コードを合成しないで入力画像をそのまま複写してもよい。
また、画像形成装置は、第２の次元コードが印刷不可と判定した場合にジョブをキャンセルするか否かをユーザが設定した値に基づいて判定する手段を備えても良い。
【００６９】
以上説明したように、実施例２によれば、既に二次元コードが埋め込まれた原稿を複写する際に、当該二次元コードから情報を復元できる最低領域を考慮して新たな二次元コードを埋め込むため、多くの種類の二次元コードを埋め込むことができる。
【実施例３】
【００７０】
実施例１及び実施例２では、複写時に指定された新たな二次元コード（第１の二次元コード）を印刷できるか否かを判定し、印刷できない場合は、新たな二次元コードの印刷を行わないよう制御した。一方、実施例３では、既に埋め込まれている二次元コード（第２の二次元コード）の領域に従って、新たに埋め込む二次元コードの印刷位置を調整する制御を行う。
【００７１】
図９は、実施例３の処理を示すフローチャートである。
【００７２】
Ｓ９０１〜Ｓ９０３の処理は、図５に示すＳ５０１〜Ｓ５０３の処理と同じであるため説明を省略する。
画像形成装置は、複写時の設定として、新たな二次元コードである第１の二次元コードの埋め込み指示がされているかどうかを判定し（Ｓ９０４）、第１の二次元コードの埋め込みが指示されていない場合は、そのまま複写動作を継続し、印刷を行う（Ｓ９１０）。これに対して、第１の二次元コードの埋め込み指示がされている場合は、画像形成装置は、Ｓ９０５の処理に進む。
【００７３】
画像形成装置は、出力原稿のサイズを取得する（Ｓ９０５）。
【００７４】
画像形成装置は、第１の二次元コードの埋め込み方式が単純埋め込み方式か反復埋め込み方式かを判定し（Ｓ９０６）、単純埋め込み方式の場合には、Ｓ９０７の処理に進み、反復埋め込み方式の場合には、Ｓ９１１の処理に進む。
【００７５】
画像形成装置は、第１の二次元コードの埋め込み方式が反復埋め込み方式の場合には、第１の二次元コードを第２の二次元コードの印刷領域に埋め込まないように合成し（Ｓ９１１）、印刷する（Ｓ９１０）。これに対して第１の二次元コードの埋め込み方式が単純埋め込み方式の場合には、第２の二次元コードに重ならないように第１の二次元コードを埋め込む領域を探索し（Ｓ９０７）、探索した領域に第１の二次元コードを埋め込み可能な否かを判定する（Ｓ９０８）。図１０は、第１の二次元コードを埋め込む領域の探索を説明するための図である。探索は、第２の二次元コード２２の周りの８領域（（１）〜（８））のいずれかに第１の二次元コード２３を埋め込めるか否かを判定することによって行われる。画像形成装置は、第２の二次元コード２２の位置座標とサイズ、第１の二次元コード２３のサイズ、印刷原稿のサイズに基づいて判定を行う。８領域のいずれかに埋め込み可能と判定した場合、画像形成装置は、第１の二次元コードをその埋め込み可能領域に埋め込み、印刷を行う（Ｓ９０９、Ｓ９１０）。これに対して、８領域のいずれにも埋め込めないと判定した場合、画像形成装置は、第１の二次元コードの埋め込みはできない
と決定し、ジョブをキャンセルする（Ｓ９１２）。尚、画像形成装置は、ジョブをキャンセルせずに、第１の二次元コードを合成しないで入力画像をそのまま複写してもよい。また、画像形成装置は、第２の次元コードが印刷不可と判定した場合にジョブをキャンセルするか否かをユーザが設定した値に基づいて判定する手段を備えても良い。
【００７６】
実施例３では、第１の二次元コードの埋め込みが可能か否かの判定を図１０に示す８領域に対して行うが、それ以外の判定方法、埋め込み位置の指定でも構わない。例えば、複写の指示を行ったユーザに第１の二次元コードの埋め込み位置を指定させる構成にしてもよい。
【００７７】
以上説明したように、実施例３によれば、既に二次元コードが埋め込まれた原稿を複写する際に、新たな二次元コードの埋め込みにより、既に埋め込まれている二次元コードが破損することを防止できる。さらに、既に埋め込まれている二次元コードの領域に重ならないように新たな二次元コードを埋め込むため、多くの種類の二次元コードを埋め込むことができる。
【実施例４】
【００７８】
実施例４では、上述の情報埋め込み技術を用いて既に二次元コードが埋め込まれているフォームデータに、二次元コードが埋め込まれた原稿を画像合成（オーバーレイ）した後、印刷時に情報を埋め込む場合の処理を示す。具体的には、フォームデータに既に埋め込まれている二次元コードと、新たに埋め込む二次元コードとが重なり合わないようにする埋め込み制御の処理を示す。
【００７９】
図１２は、フォームデータを登録する際の実施例４の処理を示すフローチャートである。
【００８０】
画像形成装置は、パソコンやサーバーなどホストコンピュータからフォームデータを受信する（Ｓ１２０１）。
【００８１】
画像形成装置は、ホストコンピュータからフォームデータを受け取ると、その入力画像（フォームデータ）に二次元コードが埋め込まれているか否かを判定する（Ｓ１２０２）。入力画像に二次元コードが埋め込まれていない場合は、画像形成装置は、そのままフォーム登録動作を継続する（Ｓ１２０５）。これに対して、入力画像に二次元コードが埋め込まれている場合は、画像形成装置は、二次元コードの位置と埋め込み方式を特定する（Ｓ１２０３）。つぎに、画像形成装置は、Ｓ１２０３で特定した二次元コードの位置と埋め込み方式を元に、二次元コードのみのレイヤー（電子透かし情報レイヤー等の二次元コードレイヤー）を作成して、二次元コードレイヤーを記憶装置に記憶する（Ｓ１２０４）。そして、画像形成装置は、二次元コードを含まないデータのみのレイヤー（画像レイヤー）を作成して、記憶装置に記憶する（Ｓ１２０７）。
【００８２】
ここで、実施例４における二次元コードは、第１の二次元コード、第２の二次元コードのどちらでも良い。
【００８３】
次に、図１３を用いて、実施例４における画像形成装置の動作を説明する。
【００８４】
画像形成装置は、図１２に示す処理において登録されたフォームデータと画像合成するための画像データを画像形成装置に入力した際、フォームデータに含まれる二次元コードと、画像データに含まれる二次元コードが重なり合うことを防止する機能を有する。
【００８５】
図１３において、画像形成装置は、ホストコンピュータから印刷のための印刷データを受信する（Ｓ１３０１）。画像形成装置は、印刷時の設定として、図１２で登録したフォームデータの合成の指示がされているかどうかを判定する（Ｓ１３０２）。フォームデータの合成が指定されていない場合は、画像形成装置は、そのまま印刷動作を継続し、印刷を行う（Ｓ１３０８）。これに対して、フォームデータの合成が指定されている場合、画像形成装置は、印刷データに二次元コードが埋め込まれているか判定する（Ｓ１３０３）。印刷データに二次元コードが埋め込まれていない場合、Ｓ１３０５に進む。印刷データに二次元コードが埋め込まれている場合、画像形成装置は、印刷データ中の二次元コードの種類と、印刷データ中の二次元コードの位置を特定する（Ｓ１３０４）。次に、画像形成装置は、フォームデータに二次元コードが埋め込まれているか判定する（Ｓ１３０５）。フォームデータに二次元コードが埋め込まれていない場合、画像形成装置は、フォームデータと印刷データを合成する（Ｓ１３０９）。フォームデータに二次元コードが埋め込まれている場合、画像形成装置は、フォームデータと印刷データを合成した際に、フォームデータ中の二次元コードと、印刷データ中の二次元コードが重なり合うかどうか判断する（Ｓ１３０６）。フォームデータ中の二次元コードと、印刷データ中の二次元コードが重なり合わない場合、画像形成措置は、フォームデータと印刷データを合成する（Ｓ１３０９）。フォームデータ中の二次元コードと、印刷データ中の二次元コードが重なり合う場合、画像形成装置は、フォームデータ中の二次元コードを含まないデータ（画像レイヤー）と印刷データを合成する（フォームデータ中の二次元コードは合成しない）（Ｓ１３０７）。次いで、画像形成装置は、Ｓ１３０７で合成した印刷データを印刷する（Ｓ１３０８）。
【００８６】
ここで、ホストコンピュータから印刷データを受信した場合として説明してきたが、画像形成装置に接続されたスキャナから複写のための複写データを受信した場合においても本実施例と同様の手段を用いても良い。
【００８７】
以上説明したように、実施例４によれば、二次元コードが埋め込まれたフォームデータと印刷データを合成する指示をされた状態で、二次元コードが埋め込まれた印刷データを印刷する際に、二次元コードが破損しないように二次元コードの埋め込みを制御できる。
【実施例５】
【００８８】
実施例５では、予め登録されたフォームデータと、印刷データの合成に加えて、画像形成装置に二次元コードの埋め込みが設定（二次元コード付加の設定）された場合の動作について説明する。表３は、予め登録されたフォームデータと、印刷データの合成に加えて、画像形成装置に二次元コードの埋め込み設定のそれぞれの有無の組み合わせと、印刷結果を示す表である。
【００８９】
表３において、各マス中の斜め線の上部は画像データの構成を示し、画像データの構成に複数の要素が書かれているマスは、それぞれの画像が重ね合わされたものが印刷されることを示す。各マス中の斜め線の下部は二次元コードの構成を示す。二次元コードの構成に複数の要素が書かれているマスは、それぞれの二次元コードが重ならない場合、全ての二次元コードが印刷されることを示す。また、当該マスは、それぞれの二次元コードの一部が重なる場合、重ならない二次元コードが印刷されることを示す。また、当該マスは、それぞれの二次元コードの全てが重なる場合、いずれか一つの二次元コードが印刷されることを示す。Ａ行１列およびＢ行１列は、印刷データ中の画像データおよび二次元コードの有無を示し、Ｃ行は、フォームデータ中の画像データおよび二次元コードの有無を示し、Ｄ行は、埋め込み設定中の画像データおよび二次元コードの有無を示す。Ａ行２列〜７列およびＢ行２列〜７列は印刷されたデータの画像データおよび二次元コードの構成を示す。
【００９０】
【表３】
0005420054.tif 000004
【００９１】
次に、図１４を用いて、実施例５における画像形成装置の動作を説明する。
【００９２】
画像形成装置は、図１２に示す処理において登録されたフォームデータと画像合成するための画像データを画像形成装置に入力した際、二次元コードの重なりを防止する機能を有する。具体的には、画像形成装置は、フォームデータに含まれる二次元コードと、画像データに含まれる二次元コードと、画像形成装置に強制埋め込みを設定された二次元コードが重なり合うことを防止する機能を有する。
【００９３】
図１４において、画像形成装置は、ホストコンピュータから印刷のための印刷データを受信する（Ｓ１４０１）。画像形成装置は、印刷時の設定として、図１２に示す処理において登録されたフォームデータの合成の指示がされているかどうかを判定する（Ｓ１４０２）。フォームデータの合成が指定されていない場合は、Ｓ１４０８に進む。これに対して、フォームデータの合成が指定されている場合、画像形成装置は、印刷データに二次元コードが埋め込まれているか判定する（Ｓ１４０３）。印刷データに二次元コードが埋め込まれていない場合、Ｓ１４０５に進む。印刷データに二次元コードが埋め込まれている場合、画像形成装置は、印刷データ中の二次元コードの種類と、印刷データ中の二次元コードの位置を特定する（Ｓ１４０４）。
【００９４】
次に、画像形成装置は、フォームデータに二次元コードが埋め込まれているか判定する（Ｓ１４０５）。フォームデータに二次元コードが埋め込まれていない場合、画像形成装置は、フォームデータと印刷データを合成する（Ｓ１４１２）。フォームデータに二次元コードが埋め込まれている場合、画像形成装置は、フォームデータと印刷データを合成した際に、フォームデータ中の二次元コードと、印刷データ中の二次元コードが重なり合うかどうか判断する（Ｓ１４０６）。フォームデータ中の二次元コードと、印刷データ中の二次元コードが重なり合わない場合、画像形成装置は、フォームデータと印刷データを合成する（Ｓ１４１２）。フォームデータ中の二次元コードと、印刷データ中の二次元コードが重なり合う場合、画像形成装置は、フォームデータ中の二次元コードを含まないデータ（画像レイヤー）と、印刷データを合成し、フォームデータ中の二次元コードは合成しない（Ｓ１４０７）。
【００９５】
次に、画像形成装置は、自装置に二次元コードの埋め込みの設定（強制埋込設定）がされているかどうか判断する（Ｓ１４０８）。強制埋め込みが設定されていない場合、画像形成装置は、Ｓ１４１２またはＳ１４０７で合成した印刷データを印刷する（Ｓ１４１１）。
【００９６】
次に画像形成装置に二次元コードの埋め込みの設定（強制埋込設定）がされている場合、当該二次元コードを埋め込むと、二次元コードが重なり合うか否かを判定する（Ｓ１４０９）。具体的には、画像形成装置は、Ｓ１４１２またはＳ１４０７で合成した印刷データと、設定により埋め込まれる二次元コードを合成した際に、合成した印刷データ中の二次元コードと、設定により埋め込まれる二次元コードが重なり合うかどうか判断する。Ｓ１４１２またはＳ１４０７で合成した印刷データ中の二次元コードと、設定により埋め込まれる二次元コードが重なり合う場合、画像形成装置は、二次元コードが重なっても印刷する設定かどうか判断する（Ｓ１４１３）。二次元コードが重なっても印刷する設定の場合、画像形成装置は、印刷を行う（Ｓ１４１１）。二次元コードが重なったら印刷しない設定の場合、画像形成装置は、印刷ジョブをキャンセルする（Ｓ１４１４）。また、Ｓ１４０９において、Ｓ１４１２またはＳ１４０７で合成した印刷データ中の二次元コードと、設定により埋め込まれる二次元コードが重ならない場合、Ｓ１４１０に進む。Ｓ１４１０において、画像形成装置は、Ｓ１４１２またはＳ１４０７で合成した印刷データ中の二次元コードと、設定により埋め込まれる二次元コードを合成し（Ｓ１４１０）、Ｓ１４１０で合成されたータを印刷する（Ｓ１４１１）。
【００９７】
上述した通り、画像形成装置は、入力画像に二次元コードが含まれているかどうか、画像形成装置に二次元コード付加の設定がされているかどうか、及び、入力画像に合成されるべきフォームデータに二次元コードが含まれるかいるかどうかを判定する。そして、これらの３つの判定結果に従って印刷出力の可否を判定し、印刷出力の二次元コードを切り替える。
【００９８】
また、図には示さないが、画像形成装置は、指示部と、第１の検出部と、第１の合成画像形成部と、記憶部と、第２の検出部と、第２の合成画像形成部と、出力部とを備え、各部が以下に述べる処理を実行する構成であってもよい。
【００９９】
指示部は、第１の入力画像（印刷データ）に第１の符号画像（第１の二次元コード）の合成を指示する。
【０１００】
第１の検出部は、第１の入力画像（印刷データ）に第２の符号画像（第２の二次元コード）が含まれているかどうかを検出する。
【０１０１】
第１の合成画像形成部は、第１の検出部が第２の符号画像（第２の二次元コード）を検出した場合、第１の入力画像（印刷データ）と第１の符号画像（第１の二次元コード）とを合成しない。これに対して、第１の検出部が第２の符号画像（第２の二次元コード）を検出しない場合、第１の入力画像（印刷データ）と第１の符号画像（第１の二次元コード）とを合成する。
【０１０２】
記憶部は、第２の入力画像（フォームデータ）を記憶する。
【０１０３】
第２の検出部は、第２の入力画像（フォームデータ）に第３の符号画像（第３の二次元コード）が含まれているかどうかを検出する。
【０１０４】
第２の合成画像形成部は、第２の検出部が第３の符号画像（第３の二次元コード）を検出した場合、第１の合成画像形成手段による第１の合成画像出力と、第３の符号画像（第３の二次元コード）を含まない第２の入力画像（フォームデータ）とを合成する。これに対して、第２の検出部が第３の符号画像（第３の二次元コード）を検出しない場合は、第１の合成画像形成部による第１の合成画像出力と、第３の符号画像（第３の二次元コード）を含めた第２の入力画像（フォームデータ）とを合成する。
【０１０５】
出力部は、第２の合成画像形成部による第２の合成画像を出力する。
【０１０６】
実施例５によれば、既に二次元コードが埋め込まれているフォームデータに二次元コードが埋め込まれた原稿が画像合成された印刷データを印刷する場合に、新たな二次元コードを追加して印刷しても、二次元コードを破損するのを防止できる。
【０１０７】
（他の実施例）
ここで説明のため、フォームデータはホストコンピュータから受信するとして、説明してきたが、画像形成装置に接続されたスキャナから入力するなど、画像データを転送できるものであればどのような装置からフォームデータを入力しても良い。
【０１０８】
実施例１〜３では、画像形成装置に接続されたスキャナから入力した原稿を複写する場合を例として説明した。しかし、実施例４又は５のようにホストコンピュータから受信した印刷データを印刷する場合のように、画像形成装置に画像データを転送できるものであればどのような装置から印刷データを入力しても良い。
【０１０９】
本発明の目的は、上述した実施例で示した構成の動作（ステップ）を達成するプログラムコードを記録した記録媒体から、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が、プログラムコードを読出し実行することによっても達成される。記録媒体とは、コンピュータ読み取り可能な記録媒体である。この場合、コンピュータ読み取り可能な記録媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになる。そのため、このプログラムコード及びプログラムコードを記録した記録媒体も本発明の一つを構成することになる。
【０１１０】
プログラムコードを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１１１】
また、そのプログラムコードの指示に基づきコンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
【０１１２】
更に、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される。
【符号の説明】
【０１１３】
１０  反復埋め込み方式により二次元コードが埋め込まれた原稿
２０  単純埋め込み方式により二次元コードが埋め込まれた原稿
【図１】
0005420054.tif 000005
【図２】
0005420054.tif 000006
【図３】
0005420054.tif 000007
【図４】
0005420054.tif 000008
【図５】
0005420054.tif 000009
【図６】
0005420054.tif 000010
【図７】
0005420054.tif 000011
【図８】
0005420054.tif 000012
【図９】
0005420054.tif 000013
【図１０】
0005420054.tif 000014
【図１１】
0005420054.tif 000015
【図１２】
0005420054.tif 000016
【図１３】
0005420054.tif 000017
【図１４】
0005420054.tif 000018