(57)【要約】【課題】  本発明の課題は、並列して行われる複数の種類のコードの検出とデコードの処理を効率よく行うことができる画像処理装置を提供することである。【解決手段】  上記課題を解決するために、本発明に係る画像処理装置は、スキャンされた画像から第１のコードを検出してデコードする処理を行う第１の手段と、スキャンされた画像から第２のコードを検出してデコードする処理を行う第２の手段とを備え、第１の手段における処理と、第２の手段における処理とは並列して行われ、さらに、第１の手段による処理が完了した場合に、第２の手段による処理が完了していなくても、第１の手段における処理の結果に基づいてスキャンされた画像の印刷を開始することを特徴とする。【選択図】  図１１
2010093774.tif 000002
【特許請求の範囲】
【請求項１】
スキャンされた画像から第１のコードを検出してデコードする処理を行う第１の手段と、
前記スキャンされた画像から第２のコードを検出してデコードする処理を行う第２の手段とを備え、
前記第１の手段における前記処理と、前記第２の手段における前記処理とは並列して行われ、さらに、前記第１の手段による前記処理が完了した場合に、前記第２の手段による前記処理が完了していなくても、前記第１の手段における前記処理の結果に基づいて前記スキャンされた画像の印刷を開始することを特徴とする画像処理装置。
【請求項２】
前記第１の手段による前記処理が完了した場合に、前記第２の手段による前記処理が完了していなくても、前記スキャンされた画像の印刷が開始される場合には、前記第２の手段による前記処理を中止することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の手段による前記処理が完了した場合に、前記第２の手段による前記処理が完了していなくても、前記第１の手段における前記処理の結果に基づいて前記スキャンされた画像の印刷を開始するのは、前記第１の手段による前記処理の結果、前記スキャンされた画像の印刷が許可されていることを示す情報が得られた場合に限られることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記第１の手段による前記処理の結果、前記スキャンされた画像の印刷が禁止されていることを示す情報が得られた場合には、前記第１の手段における前記処理の結果に基づいて前記スキャンされた画像の印刷を開始することはしないことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記第１のコードは、前記画像の全面に印刷できる改竄耐性の強いコードであり、前記第２のコードは、切り張り可能な改竄耐性の弱いコードであることを特徴とする請求項１又は請求項２に記載の画像処理装置。
【請求項６】
前記第１のコードは、前記画像の全面に印刷できる改竄耐性の強いコードであり、前記第２のコードは、切り張り可能な改竄耐性の弱いコードであるという両方の条件が揃わない場合には、前記第１の手段による前記処理が完了した場合に、前記第２の手段による前記処理が完了していなくても、前記第１の手段における前記処理の結果に基づいて前記スキャンされた画像の印刷を開始することはしないことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記第１の手段は、ハードデコーダーであり、前記第２の手段は、ソフトデコーダーであることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
スキャンされた画像から第１のコードを検出してデコードする処理を行う第１のステップと、
前記スキャンされた画像から第２のコードを検出してデコードする処理を行う第２のステップとを備え、
前記第１のステップにおける前記処理と、前記第２のステップにおける前記処理とは並列して行われ、さらに、前記第１のステップによる前記処理が完了した場合に、前記第２のステップによる前記処理が完了していなくても、前記第１のステップにおける前記処理の結果に基づいて前記スキャンされた画像の印刷を開始することを特徴とする画像処理方法。
【請求項９】
前記第１のステップによる前記処理が完了した場合に、前記第２のステップによる前記処理が完了していなくても、前記スキャンされた画像の印刷が開始される場合には、前記第２のステップによる前記処理を中止することを特徴とする請求項８に記載の画像処理方法。
【請求項１０】
前記第１のステップによる前記処理が完了した場合に、前記第２のステップによる前記処理が完了していなくても、前記第１のステップにおける前記処理の結果に基づいて前記スキャンされた画像の印刷を開始するのは、前記第１のステップによる前記処理の結果、前記スキャンされた画像の印刷が許可されていることを示す情報が得られた場合に限られることを特徴とする請求項８に記載の画像処理方法。
【請求項１１】
前記第１のステップによる前記処理の結果、前記スキャンされた画像の印刷が禁止されていることを示す情報が得られた場合には、前記第１のステップにおける前記処理の結果に基づいて前記スキャンされた画像の印刷を開始することはしないことを特徴とする請求項８に記載の画像処理方法。
【請求項１２】
前記第１のコードは、前記画像の全面に印刷できる改竄耐性の強いコードであり、前記第２のコードは、切り張り可能な改竄耐性の弱いコードであることを特徴とする請求項８又は請求項９に記載の画像処理方法。
【請求項１３】
前記第１のコードは、前記画像の全面に印刷できる改竄耐性の強いコードであり、前記第２のコードは、切り張り可能な改竄耐性の弱いコードであるという両方の条件が揃わない場合には、前記第１のステップによる前記処理が完了した場合に、前記第２のステップによる前記処理が完了していなくても、前記第１のステップにおける前記処理の結果に基づいて前記スキャンされた画像の印刷を開始することはしないことを特徴とする請求項１２に記載の画像処理方法。
【請求項１４】
前記第１のステップは、ハードデコーダーにより実行され、前記第２のステップは、ソフトデコーダーにより実行されることを特徴とする請求項１３に記載の画像処理方法。
【請求項１５】
請求項８乃至１４のいずれかに記載の画像処理方法をコンピュータに実行させるためのプログラム。
【請求項１６】
請求項１５に記載のプログラムを記憶したコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書の不正複写を防止することができる画像処理装置、画像処理方法、プログラムおよび記憶媒体に関するものである。
【背景技術】
【０００２】
文書の不正複写を防止するために、以下で説明する方法が提案されている。まず、文書作成時において、その文書が「複写禁止」であるか否かを示す複写条件が、文書に画像データとして埋め込まれ、文書が印刷される。一方、その文書の複写時において、複写機が、印刷された文書から複写条件を検出し、その複写条件にしたがって、複写動作を制御（複写動作の実行、複写動作の停止）する。
【０００３】
このような方法として、例えば、特許文献１には、複写機が、複写対象の文書内からバーコードを検出した場合に、その文書の機密レベルを検出し、その機密レベルに応じて複写動作の制御が行われる方法が開示されている。この方法によると、複写対象の文書にバーコードが埋め込まれているかどうかを判定するだけで、その文書が複写動作の制御が必要な文書かどうかを判定できる。
【０００４】
また、特許文献２には、文書内に埋め込まれるコードとして、汎用的に使用されているＱＲコード（登録商標）のような２次元コードを用いる方法が開示されている。
【０００５】
特許文献１に記載されているようなバーコードは、可視性が低く、画像データ全体に付加しても、画像データの可読性を大きく下げることはない。また、文書の全面にバーコードが付加されるため、バーコードは、強い改竄耐性を有する。しかし、バーコードは、特許文献２に記載の２次元コードに比べ、汎用的に使用されておらず、バーコードの読み取りや文書への埋め込みを行うことが可能な複写機は限定される。
【０００６】
一方、２次元コードは、汎用的に使用されていることから、２次元コードを扱うことが可能な複写機は広範に存在する。また、２次元コードは、四辺形のコードであるためコード自体の可視性が高く、画像データ全体に２次元コードを付加すると、元の画像データの可読性が下がってしまう。そのため、２次元コードは、画像データの一部分に付加されるのが一般的である。しかし、２次元コードは、画像データの一部分にしか付加されないため、その部分がマスクされると２次元コードの情報は欠落するため、バーコードに比べ、改竄耐性が弱い。
【０００７】
一方、バーコードは、独自の仕様であるため、例えば複写機のメーカーによってバーコードの仕様が異なり、各々のメーカーの複写機の間でバーコードを共通に使用できない制約がある。しかし、オフィスに複数のメーカーの複写機がある場合や、外部から文書が入ってくる場合が一般的に存在する。従って、可視性が低く改竄に強い独自のバーコードと、ＱＲコード（登録商標）のような汎用的に扱うことができる２次元コードが同時に扱われる場合が存在する。
【０００８】
従って、複写機は、バーコードや２次元コードのような複数の種類のコードに対応するために、複数の種類のコードの検出とデコードを行う場合がある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００２−３０５６４６号公報
【特許文献２】特開平１０−３１２４４７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
複写機は、文書をスキャンして複数の種類のコードの検出とデコードを行う場合、事前にどのような種類のコードが文書に付加されているかがわからないため、複数の種類のコードの検出処理を行う。また、複写機の複写の生産性を落とさないためには、複数の種類のコードの検出とデコードの処理が、並列に行われる必要がある。
【００１１】
しかし、コードの種類によって検出とデコードの処理にかかる時間は異なる。そのため、一方の種類のコードの検出とデコードの処理が完了しても、もう一方の種類のコードの検出とデコードの処理が完了しないために、複写機は次の処理に移行できず、複写機の生産性が落ちてしまう。
【００１２】
そこで、本発明は、並列して行われる複数の種類のコードの検出とデコードの処理を効率よく行うことを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、本発明に係る画像処理装置は、スキャンされた画像から第１のコードを検出してデコードする処理を行う第１の手段と、スキャンされた画像から第２のコードを検出してデコードする処理を行う第２の手段とを備え、第１の手段における処理と、第２の手段における処理とは並列して行われ、さらに、第１の手段による処理が完了した場合に、第２の手段による処理が完了していなくても、第１の手段における処理の結果に基づいてスキャンされた画像の印刷を開始することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、並列して行われる複数の種類のコードの検出とデコードの処理を効率よく行うことができる。
【図面の簡単な説明】
【００１５】
【図１】ＬＶＢＣを含む印刷物の一例を示す図である。
【図２】２次元コードを含む印刷物の一例を示す図である。
【図３】ＬＶＢＣと２次元コードを含む印刷物の一例を示す図である。
【図４】プリンタドライバが提供する印刷設定画面の一例を示す図である。
【図５】画像処理装置の内部を示すブロック図である。
【図６】ＬＶＢＣの情報パターンに埋め込まれる付加情報を示す図である。
【図７】データドットおよび配列ドットがどのように配置されるかの一例を示す図である。
【図８】ドットがどのように回転されるかを示す図である。
【図９】タイルおよびタイリング配置を示す図である。
【図１０】ダイアログボックスの一例を示す図である。
【図１１】画像処理装置が実行する複写制御の流れの一例を示すフローチャートである。
【図１２】画像処理装置が実行する複写制御の流れの一例を示すフローチャートである。
【図１３】２次元コードに埋め込まれる情報の一例を示す図である。
【図１４】ダイアログボックスの一例を示す図である。
【発明を実施するための形態】
【００１６】
以下に、図面を参照して、この発明に係る実施形態を例示的に詳しく説明する。ただし、この実施形態に記載されている構成要素の相対配置、数式、数値等は、特に特定的な記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１７】
＜実施形態１＞
本実施形態では、画像処理装置が不正複写を防止するために、第１のコードと第２のコードの２種類のコードを扱うことを前提とする。
【００１８】
図１は、付加情報の埋め込まれた第１のコードを含む印刷物１１２の外観を表す図である。本実施形態では、この第１のコードを、ＬＶＢＣ（Ｌｏｗ  Ｖｉｓｉｂｉｌｉｔｙ  Ｂａｒｃｏｄｅ（低可視バーコード））と呼ぶ。
【００１９】
図１において、領域１１１は、印刷物１１２の一部分を拡大したものを示している。領域１１１には、印刷物１１２に印刷されている文字の一部（「あ」の一部）と、ＬＶＢＣ１１３とが示されている。
【００２０】
図２は、付加情報の埋め込まれた第２のコードとして、２次元コードを含む印刷物の外観を示している。図２において、印刷物２２２の左上に２次元コード２２１が印刷されている。ここで、２次元コード２２１が印刷されている位置や２次元コード２２１の大きさと個数は、任意である。また、本発明の説明で用いる図面には、２次元コードの例として、ＱＲコード（登録商標）を示しているが、２次元コードは、ＱＲコード（登録商標）以外でも良い。
【００２１】
図３は、ＬＶＢＣと、２次元コードとを含む印刷物の外観を示している。図３において、印刷物３３２の左上に２次元コード３３１が印刷されている。ここで、２次元コード３３１が印刷されている位置や２次元コード３３１の大きさ、及び個数は、任意である。
【００２２】
本実施形態に係る画像処理装置は、図１〜図３に示されている印刷物１１２、２２２、３３２をスキャンして複写する。
【００２３】
図５は、画像処理装置３００１の内部を示すブロック図である。
【００２４】
コントローラ３３００は、スキャナ部３２０２やプリンタ部３２０３を制御する。また、コントローラ３３００は、ＬＡＮ又はＷＡＮ３３０１を介して、クライアントＰＣ１００１と、画像処理装置３００１との間のデータ通信を制御する。
【００２５】
図５のＲＡＭ３３０２は、ＣＰＵ３４００が動作するためのシステムワークメモリであり、かつ、画像処理装置３００１が受け取った原稿画像データを一時記憶するためのメモリでもある。
【００２６】
ＲＯＭ３３０３は、画像処理装置３００１のブートプログラムなどを格納する。
【００２７】
ＨＤＤ３３０４は、ハードディスクドライブであり、画像処理装置３００１のシステムソフトウェアや画像処理装置３００１が受け取った原稿画像データを格納する。
【００２８】
操作部Ｉ／Ｆ３３０５は、システムバス３３０７と操作部３２０１とを接続するためのインタフェース部である。操作部Ｉ／Ｆ３３０５は、操作部３２０１に表示するための原稿画像データをシステムバス３３０７から受取り、操作部３２０１に出力すると共に、操作部３２０１から入力された情報をシステムバス３３０７へ出力する。
【００２９】
ＮｅｔｗｏｒｋＩ／Ｆ３３０６は、ＬＡＮ又はＷＡＮ３３０１とシステムバス３３０７とを接続するインタフェースボードである。
【００３０】
画像バス３３１９は、原稿画像データをやり取りするための伝送路であり、ＰＣＩバス又はＩＥＥＥ１３９４で構成されている。
【００３１】
スキャナ画像処理部３３１２は、スキャナ部３２０２からスキャナＩ／Ｆ３３１１を介して受け取った原稿画像データをＬＶＢＣ抽出処理部３３０９と２次元コード抽出処理部３３１０に転送する。
【００３２】
ＬＶＢＣ抽出処理部３３０９は、原稿画像データに付加されているＬＶＢＣから、付加情報の検出とデコードを行う。このＬＶＢＣに埋め込まれている付加情報の内容、及び、ＬＶＢＣ抽出処理部３３０９による付加情報の検出とデコードの処理の詳細については後述する。
【００３３】
２次元コード抽出処理部３３１０は、原稿画像データに付加されている２次元コードから、付加情報の検出とデコードを行う。この２次元コードに埋め込まれている付加情報の内容、及び、２次元コード抽出処理部３３１０による付加情報の検出とデコードの処理の詳細については後述する。また、この検出とデコードはコントローラのＣＰＵ３４００によって、ＲＯＭ３３０３、または、ＨＤＤ３３０４に記憶された制御プログラムに基づいて行われる。
【００３４】
ここで、ＬＶＢＣの検出とデコードの計算コストが高い場合には、画像処理装置のＣＰＵ３４００を使ってＬＶＢＣの検出とデコードを行わずに、他のハードウェアで、ＬＶＢＣの検出とデコードを行っても良い。このような場合に、ＬＶＢＣの検出とデコードを行うハードウェア（ハードデコーダー）は、例えば、ＦＰＧＡ、ＡＳＩＣまたはＰＰＣでも良い。
【００３５】
一方、２次元コードの検出とデコードは、一般に、計算コストが低いため、ＣＰＵ３４００上でソフトウェア（ソフトデコーダー）により実行されても良いが、上記の他のハードウェアにより実行されても良い。
【００３６】
プリンタ画像処理部３３１７は、受け取った原稿画像データに付随する属性データを参照して原稿画像データに対して画像処理を施す。
【００３７】
ＬＶＢＣ生成部３３１５は、付加情報が埋め込まれたＬＶＢＣを生成する。次いで、プリンタ画像処理部３３１７は、このＬＶＢＣを原稿画像データに付加する。このプリンタ画像処理部３３１７によるＬＶＢＣの付加処理は、コントローラ３３００のＣＰＵ３４００によって、ＲＯＭ３３０３、または、ＨＤＤ３３０４に記憶された制御プログラムに基づいて行われる。
【００３８】
２次元コード生成部３３１６は、付加情報が埋め込まれた２次元コードを生成する。次いで、プリンタ画像処理部３３１７は、この２次元コードを原稿画像データに付加する。このプリンタ画像処理部３３１７による２次元コードの付加処理は、コントローラ３３００のＣＰＵ３４００によって、ＲＯＭ３３０３、または、ＨＤＤ３３０４に記憶された制御プログラムに基づいて行われる。
【００３９】
画像変換部３３１４は、原稿画像データに対して回転や色空間変換、２値多値変換、画像合成、間引きといった所定の変換処理を施す。
【００４０】
ＲＩＰ部３３０８は、クライアントＰＣ１００１から送信されたＰＤＬコードデータを元に生成された中間データを受取り、ビットマップデータを生成する。生成されたビットマップデータは、画像バス３３１９へ送られる。
【００４１】
図５を参照して、画像処理装置３００１の動作を詳細に説明する。
【００４２】
ユーザが原稿フィーダ上に原稿を載せ、操作部３２０１が、ユーザからの複写開始指示を受け取ると、スキャナ部３２０２は、原稿の読み取りを開始する。スキャナ部３２０２は、読み取った原稿画像データを、スキャナＩ／Ｆ３３１１を介して、スキャナ画像処理部３３１２に送る。そして、スキャナ画像処理部３３１２は、受け取った原稿画像データをＬＶＢＣ抽出処理部３３０９と２次元コード抽出処理部３３１０に送る。
【００４３】
ＬＶＢＣ抽出処理部３３０９は、受け取った原稿画像データに対してＬＶＢＣの検出とデコードの処理を行う。
【００４４】
また、２次元コード抽出処理部３３１０は、受け取った原稿画像データに対して２次元コードの検出とデコードの処理を行う。
【００４５】
尚、上述のＬＶＢＣの検出とデコードの処理と、２次元コードの検出とデコードの処理は並列して行われる。
【００４６】
そして、ＬＶＢＣ抽出処理部３３０９及び２次元コード抽出処理部３３１０は、抽出結果をジョブ制御部３３２０に送る。
【００４７】
ジョブ制御部３３２０は、受け取った抽出結果にしたがって複写動作を実行するか停止するかどうかを判定する。ここで、ジョブ制御部３３２０は、ＬＶＢＣ抽出処理部３３０９または２次元コード抽出処理部３３１０のどちらか一方のデコードの結果に基づいて、複写動作を実行するか停止するかどうかを判定する。
【００４８】
ジョブ制御部３３２０が、複写動作を停止すると判定した場合には、ジョブ制御部３３２０は、複写動作の停止命令を、プリンタＩ／Ｆ３３１８を介して、プリンタ部３２０３に送る。さらに、ジョブ制御部３３２０は、操作部Ｉ／Ｆ３３０５を制御して、図１４のダイアログボックス４１又は図１０に示したダイアログボックス５１を操作部３２０１に表示する。
【００４９】
なお、プリンタ部３２０３は、ジョブ制御部３３２０から複写動作の停止命令を受け取ると、印刷中であっても印刷を停止する。
【００５０】
次に、図５と図６を参照して、画像処理装置３００１が実行する処理内容を詳細に説明する。
【００５１】
クライアントＰＣ１００１は、ユーザから原稿画像データの印刷操作の指示を受け付けると、印刷データを生成する。そして、クライアントＰＣ１００１は、ＬＡＮ又はＷＡＮ３３０１を介して、画像処理装置３００１に印刷データを送信する。
【００５２】
画像処理装置３００１は、受信した印刷データを原稿画像データに変換し、用紙に印刷物を印刷する。
【００５３】
ここで、クライアントＰＣ１００１は、ユーザから、印刷操作の指示と共に、ＬＶＢＣと２次元コードの両方またはどちらか一方を原稿画像データに付加するための指示を受け付ける。そして、画像処理装置３００１は、ＬＶＢＣと２次元コードの両方またはどちらか一方を原稿画像データに付加するための設定を行う。そして、画像処理装置３００１は、当該設定に従って、ＬＶＢＣと２次元コードの両方またはどちらか一方を原稿画像データに付加する。
【００５４】
図６は、ＬＶＢＣの情報パターン２０２１に埋め込まれる付加情報２０２２を示す図である。付加情報２０２２は、符号化された情報として、第１の情報２０２３と、第２の情報２０２５とを含む。
【００５５】
本実施形態では、一例として、第１の情報２０２３は、複写制御情報とされており、第２の情報２０２５は、印刷ジョブの履歴を持つ追跡情報とされている。
【００５６】
ＬＶＢＣの情報パターン２０２１は、付加情報２０２２をＬＶＢＣ生成部３３１５が画像化したパターンである。
【００５７】
本実施形態では、第１の情報２０２３のチャネルは、後述のＬＤＤチャネルに該当する。第１の情報２０２３は、後のスキャン動作時の検知によりスキャンにより得られた画像データの印刷を制御する複写制御情報として使用されるので、高速に検知される必要がある。
【００５８】
本実施形態では、第２の情報２０２５は、印刷物２０６０の印刷者を追跡するための情報を含む。追跡情報には例えば、印刷日時、印刷指示をしたユーザのユーザ名、デバイス名といった印刷時の情報が含まれる。第２の情報２０２５のチャネルは後述のＨＤＤチャネルに該当する。
【００５９】
ＬＶＢＣを用いれば、第１の情報２０２３と第２の情報２０２５を合成したものを付加情報として画像に埋め込むことができる。また、ＬＶＢＣは、利用態様に応じて、第１の情報２０２３のみの抽出、第２の情報２０２５のみの抽出、第１の情報２０２３及び第２の情報２０２５の抽出のいずれかから選択して抽出することが可能である。ＬＶＢＣを用いた付加情報の埋め込み方法及び抽出方法については後述する。
【００６０】
図１３は、２次元コード２５０１に埋め込まれる情報の一例を示す図である。本実施形態では、２次元コードは、複写制御情報と追跡情報から構成される。２次元コードを用いれば、これらの情報を合成したものを付加情報２５０２として画像に埋め込むことができる。
【００６１】
ユーザが、画像処理装置３００１を用いて、ＬＶＢＣと２次元コードの両方または一方が埋め込まれた印刷物の複写を試みると、画像処理装置３００１は、印刷物にコードが埋め込まれていることを検知する。次いで、画像処理装置３００１は、その付加情報のうちの複写制御情報に含まれる複写条件にしたがって、複写動作を制御する。例えば、複写条件が「複写禁止」であると、画像処理装置３００１は複写動作を停止する。これによって、複写が禁止された印刷物の複写を防止できる。
【００６２】
次に、クライアントＰＣ１００１における複写制御情報の設定処理と、画像処理装置３００１における複写動作の制御について詳細に説明する。
【００６３】
図４は、クライアントＰＣ１００１にインストールされているプリンタドライバが提供する印刷設定画面の一例を示している。
【００６４】
ユーザは、印刷セキュリティ設定ダイアログボックス３１を用いて複写条件を設定する。ユーザは、印刷セキュリティ設定ダイアログボックス３１内のラジオボタン３２にチェックマークを入れることにより、「複写を許可する」、「複写を禁止する」、「複写を許可する為の条件を指定する」の条件の中から一つの条件を選択する。選択された条件は、複写制御情報として印刷対象の文書に埋め込まれる。「複写を許可する為の条件を指定する」を選択すると、条件情報入力フィールド３３が入力可能な状態になり、ユーザは、そこに条件情報を入力する。この条件情報もまた、複写制御情報として印刷対象の文書に埋め込まれる。条件情報としては、例えば、パスワードがある。一方、ユーザが画像処理装置３００１を用いて「複写の許可条件を指定する」が埋め込まれた印刷物の複写を試みると、画像処理装置３００１は、ユーザに条件情報の入力を促す。この場合、ユーザは、印刷設定時に条件情報入力フィールド３３に入力した条件情報を画像処理形成装置３００１に入力すれば複写が許可される。尚、条件情報としては、複写許可されているユーザの名前であってもよい。また、条件情報としては、複写許可の期間（例えば、２００９年１月１日〜２００９年１月３１日）であってもよい。条件情報として複写許可の期間が設定されると、画像処理装置３００１は、その期間内に行われる複写だけを許可する制御を行う。
【００６５】
なお、ユーザが「複写を禁止する」複写制御情報の埋め込みを指示した場合、本プリンタドライバは、原稿画像データに対してＬＶＢＣと２次元バーコードの両方の埋め込みを行う。このとき、両方のコードには「複写を禁止する」情報が埋め込まれる。即ち、原稿画像データに対して、複写を禁止する情報の含まれるＬＶＢＣを合成した上で、複写を禁止する情報の含まれる２次元バーコードを合成する。一方、ユーザが「複写を許可する」または「複写を許可する為の条件を指定する」情報を指定した場合、原稿画像データにはＬＶＢＣの埋め込みのみを行う。これは、２次元コードには、「複写を許可する」または「複写を許可する為の条件を指定する」情報を埋込むことができないためである。ただし、「複写を許可する情報」の埋込みを可能とする２次元コードを設計すれば、ユーザが「複写を許可する」を指定した場合にＬＶＢＣだけでなく２次元コードを埋め込むことも可能となる（本実施形態の変形例）。とはいえ、「複写を許可する為の条件を指定する」情報の埋め込みを可能とする２次元コードを設計することは望ましくない。なぜならば、上述の通り、２次元コードのサイズが大きくなってしまうからである。２次元コードはＬＶＢＣと違って濃い画像となっているため、原稿画像データの画像領域（文字等のコンテンツが存在する領域）に合成するのは望ましくない画像である。そのため、この２次元コードのサイズが大きくなってしまうのは問題なのである。いずれにせよ、本実施形態においては、ユーザの指示に応じてＬＶＢＣと２次元コードの両方を合成することはあるが、両方合成される場合にはその中に含められる情報は一致させることにしている。
【００６６】
次に、複写対象の印刷物に、複写制御情報として「複写を禁止する」又は「複写を許可する為の条件を指定する」の複写条件が埋め込まれていることを検知した画像処理装置３００１がユーザに提示するダイアログボックスの例を図１４と図１０に示す。これらのダイアログボックスは、画像処理装置３００１の操作部３２０１に表示される。図１４は、複写制御情報として「複写を禁止する」が埋め込まれた印刷文書の複写をユーザが試みたときに操作部３２０１に表示されるダイアログボックス４１を示す。画像処理装置３００１は、複写対象である印刷文書に「複写を禁止する」を示す複写制御情報が埋め込まれていることを検知すると、複写を行わない旨のメッセージをユーザに通知する。したがって、この通知を受けたユーザは、複写を断念することになる。
【００６７】
図１０は、複写制御情報として「複写の許可条件を指定する」を示す複写制御情報が埋め込まれた文書の複写をユーザが試みたときに操作部３２０１に表示されるダイアログボックス５１を示す。画像処理装置３００１、複写対象である印刷文書に「複写の許可条件を設定する」を示す複写制御情報が埋め込まれていることを検知すると、この文書を複写するためにはパスワード入力が必要である旨のメッセージをユーザに通知する。この通知を受けたユーザは、操作部３２０１のキーボード又はＩＣカード等を用いてパスワードを入力する。次いで、画像処理装置３００１は、印刷文書に複写制御情報として埋め込まれているパスワードと、ユーザが入力したパスワードとを照合し、両者が一致していれば複写動作を実行する。これに対して、両者が一致せずパスワード認証に失敗すると、図１４に示すダイアログボックス４１を操作部３２０１に表示する。
【００６８】
次に、図７〜９を用いて印刷の際に印刷物２０６０にＬＶＢＣ生成部３３１５が第１の情報２０２３及び第２の情報２０２５を埋め込む方法の一例を説明する。もちろん印刷物２０６０に第１の情報２０２３及び第２の情報２０２５を埋め込む方法は以下の方法に限らず、他の方法を用いてもよい。
【００６９】
図７は、ＬＶＢＣにおいて、データドット１４０１および配列ドット１４０２がどのように配置されるかの一例を示す。
【００７０】
リファレンスグリッド１４０３は、配列ドットによって形成される。そして、データドット１４０１は、リファレンスグリッド１４０３に関して調整される。
【００７１】
図８は、ドットがどのように回転されるかを示す図である。
【００７２】
図８に示されているように、ドット１５０１、１５０２は、座標１５０３、１５０４の算出のため９０度回転される。
【００７３】
本実施形態では、第１の情報２０２３や第２の情報２０２５などの２チャネルのデータは、１つＬＶＢＣの情報パターン２０２１において同時に格納される。
【００７４】
付加情報２０２２は、ＬＶＢＣに埋め込まれる際に、全グリッドの上に繰り返しタイルリングされる。
【００７５】
図９は、単一のユニークなタイル１６００およびタイリング配置を示す。
【００７６】
タイル１６００は、高密度データ・チャネル（ＨＤＤチャネル）と低密度データ・チャネル（ＬＤＤチャネル）との、２種類のチャネルにより構成される。ＨＤＤチャネルはロバスト性が低く、一方ＬＤＤチャネルはロバスト性が高い。また、タイル１６００は、ＨＤＤチャネル・タイルである４つのサブタイル１６０１〜１６０４から成る。
【００７７】
各ＨＤＤチャネル・タイルは、グリッドセルまたはデータドットを単位にしてＨＤＤタイル・サイズ１６１４の寸法を有する正方形の格子である。それぞれのＨＤＤチャネル・タイルは、ＬＤＤチャネル・タイルと呼ばれるより小さい１枚の埋め込みタイルを含む。タイル１６００のＬＤＤチャネル・タイルは、サブタイル１６０５〜１６０８から成る。これは、タイル１６００がＬＤＤチャネル・タイルの４つのコピーを含むことを意味する。
【００７８】
各ＬＤＤチャネル・タイルは、グリッドセルまたはデータドットを単位にしてＬＤＤタイル・サイズ１６１３の寸法を有する正方形の格子である。加えて、ＨＤＤチャネルは、ＬＤＤチャネル・タイルを除外している４枚のＨＤＤチャネル・タイルの完全な領域を占有する。そして、それはタイル１６００がＨＤＤチャネルの単一のコピーだけを含むことを意味する。例えば、領域１６０９〜１６１２は、集合的にＨＤＤチャネルを形成する。
【００７９】
ＨＤＤチャネルを格納するために用いるＨＤＤチャネル・タイルの数は、必要に応じて拡大することができる。
【００８０】
エラー訂正コード（ＥＣＣ）は、ＬＤＤおよびＨＤＤ両チャネルのデータに適用される。本実施形態においては、ＥＣＣとして低密度パリティーチェック（ＬＤＰＣ）コードを使用する。ＬＤＰＣは公知技術の高性能ＥＣＣである。
【００８１】
次に、不正複写を防止する機能を搭載した画像処理装置３００１が行う複写動作の制御を、図５及び図１１を用いて説明する。
【００８２】
図１１は、本実施形態において、画像処理装置３００１が実行する複写制御の流れを示すフローチャートである。
【００８３】
ステップＳ２３０１において、操作部３２０１は、ユーザから複写開始指示を受け取る。そして、スキャナ部３２０２は、スキャンにより原稿を読み取り、読み取った原稿画像データを、スキャナＩ／Ｆ３３１１とスキャナ画像処理部３３１２を経由して、ＬＶＢＣ抽出処理部３３０９、２次元コード抽出処理部３３１０に送る。なお、このとき、スキャナ画像処理部３３１２は、原稿画像データを受け取ると、その原稿画像データに対して、プリンタ部３２０３が印刷するために必要な画像処理（例えば、ハーフトーニングなど）の実行を開始する。
【００８４】
次に、ステップＳ２３０２において、ＬＶＢＣ抽出処理部３３０９は、原稿画像データからＬＶＢＣを検出する処理を実行し、２次元コード抽出処理部３３１０は、原稿画像データから２次元コードを検出する処理を実行する。
【００８５】
次に、ステップＳ２３０３において、ジョブ制御部３３２０は、ＬＶＢＣ抽出処理部３３０９と２次元コード抽出処理部３３１０に、ステップＳ２３０２で実行した検出処理が完了したかを問い合わせる。ＬＶＢＣと２次元コードのどちらも検出処理が未完了の場合、ステップＳ２３０２に処理が進む。
【００８６】
なお、ステップＳ２３０２で実行されるＬＶＢＣ抽出処理部３３０９による検出処理において、ＬＶＢＣが原稿画像データに埋め込まれているかどうかの判定はドット解析が可能か不可能かを判定することにより行われる。すなわち、ドット解析が可能な場合は、原稿画像データにＬＶＢＣが埋め込まれていると判定される。一方、ドット解析が不可能な場合は、原稿画像データにＬＶＢＣが埋め込まれていないと判定される。ここで、ドット解析とは、印刷物上に存在する様々なドットの中から、所定のサイズ以上で所定のサイズ以下のドットを探し出す解析である。
【００８７】
ステップＳ２３０３において、ＬＶＢＣ抽出処理部３３０９がＬＶＢＣの検出処理を完了した場合、ステップＳ２３０４に処理が進む。
【００８８】
ステップＳ２３０３において、２次元コード抽出処理部３３１０が２次元コードの検出処理を完了した場合、ステップＳ２３１０に処理が進む。
【００８９】
ステップＳ２３０４において、ＬＶＢＣ抽出処理部３３０９が原稿画像データにＬＶＢＣが埋め込まれていると判定した場合にはステップＳ２３０５に処理が進む。
【００９０】
ステップＳ２３０４において、ＬＶＢＣ抽出処理部３３０９が原稿画像データにＬＶＢＣが埋め込まれていないと判定した場合にはステップＳ２３１０に処理が進む。
【００９１】
ステップＳ２３０５において、ＬＶＢＣ抽出処理部３３０９は、原稿画像データから検出したＬＶＢＣに対してデコード処理を行う。ステップＳ２３０５におけるデコード処理の完了後、ステップＳ２３０６に処理が進む。
【００９２】
ステップＳ２３０６において、ジョブ制御部３３２０は、ＬＶＢＣ抽出処理部３３０９のデコード処理が成功して、ＬＶＢＣから付加情報を取り出すことができたかを判定する。
【００９３】
ステップＳ２３０６で、ＬＶＢＣのデコードが失敗して付加情報を取り出すことができない場合、処理が終了する。
【００９４】
一方、ステップＳ２３０６で、ＬＶＢＣのデコードが成功して付加情報を取り出すことができた場合、ステップＳ２３０７に処理が進む。
【００９５】
ステップＳ２３０６において、ＬＶＢＣ抽出処理部３３０９のデコード処理が失敗した場合、ＬＶＢＣに複写禁止の付加情報が埋め込まれている可能性があるため、ジョブ制御部３３２０は、複写動作の停止を決定する。そして、ジョブ制御部３３２０は、ジョブをキャンセルすることにより、プリンタ部３２０３の複写動作を停止する。その際に、ジョブ制御部３３２０は、図１４に示すダイアログボックス４１を操作部３２０１に表示し、印刷を停止することをユーザに知らせる。
【００９６】
ステップＳ２３０７において、ＬＶＢＣ抽出処理部３３０９は、デコードしてＬＶＢＣから取り出した付加情報に複写を禁止する情報が含まれていたかどうかを判定する。付加情報に複写を禁止する情報が含まれていない場合、ステップＳ２３０８に処理が進む。
【００９７】
ステップＳ２３０７において、ＬＶＢＣ抽出処理部３３０９がデコードして取り出した付加情報に複写を禁止する情報が含まれていると判定した場合、ジョブ制御部３３２０は、複写動作の停止を決定する。そして、ジョブ制御部３３２０は、ジョブをキャンセルすることにより、プリンタ部３２０３の複写動作を停止する。その際に、ジョブ制御部３３２０は、図１４に示すダイアログボックス４１を操作部３２０１に表示し、印刷を停止することをユーザに知らせる。
【００９８】
ステップＳ２３０８において、ジョブ制御部３３２０は、プリンタ部３２０３に原稿画像データの印刷開始の指令を送る。
【００９９】
プリンタ部３２０３が、スキャナ画像処理部３３１２から既に原稿画像データを受け取っている場合に、プリンタ部３２０３は、その原稿画像データの印刷を開始する。
【０１００】
一方、プリンタ部３２０３が、スキャナ画像処理部３３１２から原稿画像データを受け取っていない場合には、プリンタ部３２０３は、スキャナ画像処理部３３１２における画像処理が終了するまで待機する。そして、プリンタ部３２０３は、スキャナ画像処理部３３１２から原稿画像データを受け取った後に、その原稿画像データの印刷を開始する。
【０１０１】
ここで、ＬＶＢＣの検出とデコード処理が完了した場合に、２次元コードの検出とデコード処理が完了していなくても、プリンタ部３２０３により、スキャナ部３２０２によりスキャンされた画像の印刷が開始される場合には、以下の処理が実行されても良い。すなわち、２次元コード抽出処理部３３１０は、２次元コードの検出とデコード処理を中止しても良い。
【０１０２】
ステップＳ２３０９において、ジョブ制御部３３２０は、スキャナ部３２０２がスキャンする原稿の残り枚数は１枚以上あるか否かを判定する。
【０１０３】
ステップＳ２３０９で、スキャナ部３２０２がスキャンする原稿の残り枚数は１枚以上ないと判定された場合には、処理が終了する。
【０１０４】
一方、ステップＳ２３０９で、スキャナ部３２０２がスキャンする原稿の残り枚数は１枚以上あると判定された場合には、ステップＳ２３０１に処理が進む。
【０１０５】
ステップＳ２３１０において、２次元コード抽出処理部３３１０が原稿画像データに２次元コードが埋め込まれていると判定した場合にはステップＳ２３１１に処理が進む。
【０１０６】
ステップＳ２３１０において、２次元コード抽出処理部３３１０が原稿画像データに２次元コードが埋め込まれていないと判定した場合には、ステップＳ２３０８に処理が進む。
【０１０７】
ステップＳ２３１１において、２次元コード抽出処理部３３１０は、原稿画像データから検出した２次元コードに対してデコード処理を行う。デコード処理の完了後、ステップＳ２３１２に処理が進む。
【０１０８】
ステップＳ２３１２において、ジョブ制御部３３２０は、２次元コード抽出処理部３３１０のデコード処理が成功して２次元コードから付加情報を取り出すことができたかを判定する。ステップＳ２３１２で、２次元コードから付加情報を取り出すことができてデコードが成功したと判定された場合、ステップＳ２３０７に処理が進む。
【０１０９】
ステップＳ２３１２において、２次元コード抽出処理部３３１０によるデコード処理が失敗したと判定された場合、ＬＶＢＣに複写禁止の付加情報が埋め込まれている可能性があるため、ジョブ制御部３３２０は、複写動作の停止を決定する。そして、ジョブ制御部３３２０は、ジョブをキャンセルすることにより、プリンタ部３２０３の複写動作を停止する。その際に、ジョブ制御部３３２０は、図１４に示すダイアログボックス４１を操作部３２０１に表示し、印刷を停止することをユーザに知らせる。
【０１１０】
このように、本実施形態では、ＬＶＢＣ抽出処理部３３０９と２次元コード抽出処理部３３１０によるコードの検出とデコード処理が並列に行われる場合に、以下のように処理が行われる。すなわち、ＬＶＢＣ抽出処理部３３０９の処理が完了した場合、２次元コードの処理が完了していなくても、次の処理に進む。すなわち、２次元コードの処理が完了していなくても、ＬＶＢＣ抽出処理部３３０９によるコードの検出とデコード処理の結果に基づいて、スキャナ部３２０２によりスキャンされた画像の印刷が開始される。
【０１１１】
従って、ＬＶＢＣの検出とデコード処理が２次元コードに検出とデコード処理よりも先に完了した場合、２次元コードの処理に影響を受けずに次の処理に進むため、コードの処理を効率よく行うことができる。
【０１１２】
＜実施形態２＞
次に、実施形態２について説明する。
【０１１３】
前述の実施形態１は、ＬＶＢＣの検出とデコード処理が、２次元コードの検出とデコード処理よりも先に完了することを前提としている。
【０１１４】
このような場合は、例えば、図５のＬＶＢＣ抽出処理部３３０９が、ＬＶＢＣの検出とデコード処理を、ＦＰＧＡ、ＡＳＩＣまたはＰＰＣのようなハードウェア（ハードデコーダー）上で高速に実行したときに起こると考えられる。また、例えば、この場合、２次元コード抽出処理部３３１０が、２次元コードの検出とデコード処理をＣＰＵ３４００上のソフトウェア（ソフトデコーダー）で実行していると考えられる。
【０１１５】
一方、実施形態２は、２次元コード抽出処理部３３１０も、実施形態１のＬＶＢＣ抽出処理部３３０９と同様に、ＦＰＧＡ、ＡＳＩＣまたはＰＰＣのようなハードウェア（ハードデコーダー）上で高速に処理を実行する場合を前提する。
【０１１６】
この場合、ＬＶＢＣの検出とデコード処理と２次元コードの検出とデコード処理が並列に行われた場合、２次元コードに埋め込まれる付加情報の情報量が小さい場合、以下のような場合がある。すなわち、２次元コードの検出とデコード処理が、ＬＶＢＣの検出とデコード処理より先に完了する場合がある。
【０１１７】
しかしながら、２次元コードの場合、切り張り可能で改竄耐性が弱いため、上から別の２次元コードを貼り付けることが可能である。
【０１１８】
例えば、「コピーを禁止する」という内容の付加情報が含まれたＬＶＢＣが付加された文書に対して、「コピーを許可する」という内容の付加情報が含まれた２次元コードを上から貼り付けることができる。
【０１１９】
この文書に対して、２次元コードの検出とデコードの処理がＬＶＢＣの検出とデコードより先に完了した場合、複写が実行されてしまう。本実施形態では、この２次元コードの改竄を前提とし、２次元コードが改竄された場合の誤検知を防ぐことを目的とする。
【０１２０】
本実施形態では、画像の全面に印刷できる改竄耐性の強いＬＶＢＣの検出とデコードの処理が２次元コードの検出より先に完了した場合には、実施形態１と同一の制御が行われる。
【０１２１】
本実施形態では、実施形態１の制御に加えて、改竄耐性の弱い２次元コードの検出とデコードの処理がＬＶＢＣの検出とデコードの処理より先に完了した場合は、複写を実行せずに、必ずＬＶＢＣの検出とデコード処理を完了させる。
【０１２２】
図１２は、本実施形態において、画像処理装置３００１が実行する複写制御の流れを示すフローチャートである。
【０１２３】
図１２のフローチャートでは、図１１の実施形態１のフローチャートと違って、ステップＳ２４１０とステップＳ２４１２の判定後の処理の遷移が変更され、さらにステップＳ２４１３とステップＳ２４１４が追加されることになる。
【０１２４】
まず、ステップＳ２４０１において、操作部３２０１は、ユーザから複写開始指示を受け取る。そして、スキャナ部３２０２は、スキャンにより原稿を読み取り、読み取った原稿画像データを、スキャナＩ／Ｆ３３１１とスキャナ画像処理部３３１２を経由して、ＬＶＢＣ抽出処理部３３０９、２次元コード抽出処理部３３１０に送る。なお、このとき、スキャナ画像処理部３３１２は、原稿画像データを受け取ると、その原稿画像データに対して、プリンタ部３２０３が印刷するために必要な画像処理（例えば、ハーフトーニングなど）の実行を開始する。
【０１２５】
次に、ステップＳ２４０２において、ＬＶＢＣ抽出処理部３３０９は、原稿画像データからＬＶＢＣを検出する処理を実行し、２次元コード抽出処理部３３１０は、原稿画像データから２次元コードを検出する処理を実行する。
【０１２６】
次に、ステップＳ２４０３において、ジョブ制御部３３２０は、ＬＶＢＣ抽出処理部３３０９と２次元コード抽出処理部３３１０に、ステップＳ２４０２で実行した検出処理が完了したかを問い合わせる。ＬＶＢＣと２次元コードのどちらも検出処理が未完了の場合、ステップＳ２４０２に処理が進む。
【０１２７】
なお、ステップＳ２４０２で実行されるＬＶＢＣ抽出処理部３３０９による検出処理において、ＬＶＢＣが原稿画像データに埋め込まれているかどうかの判定はドット解析が可能か不可能かを判定することにより行われる。すなわち、ドット解析が可能な場合は、原稿画像データにＬＶＢＣが埋め込まれていると判定される。一方、ドット解析が不可能な場合は、原稿画像データにＬＶＢＣが埋め込まれていないと判定する。ここで、ドット解析とは、印刷物上に存在する様々なドットの中から、所定のサイズ以上で所定のサイズ以下のドットを探し出す解析である。
【０１２８】
ステップＳ２４０３において、ＬＶＢＣ抽出処理部３３０９がＬＶＢＣの検出処理を完了した場合、ステップＳ２４０４に処理が進む。
【０１２９】
ステップＳ２４０３において、２次元コード抽出処理部３３１０がＬＶＢＣの検出処理を完了した場合、ステップＳ２４１０に処理が進む。
【０１３０】
ステップＳ２４０４において、ＬＶＢＣ抽出処理部３３０９が原稿画像データにＬＶＢＣが埋め込まれていると判定した場合にはステップＳ２４０５に処理が進む。
【０１３１】
ステップＳ２４０４において、ＬＶＢＣ抽出処理部３３０９が原稿画像データにＬＶＢＣが埋め込まれていないと判定した場合にはステップＳ２４１０に処理が進む。
【０１３２】
ステップＳ２４０５において、ＬＶＢＣ抽出処理部３３０９は、原稿画像データから検出したＬＶＢＣに対してデコード処理を行う。ステップＳ２４０５におけるデコード処理の完了後、ステップＳ２４０６に処理が進む。
【０１３３】
ステップＳ２４０６において、ジョブ制御部３３２０は、ＬＶＢＣ抽出処理部３３０９のデコード処理が成功して、ＬＶＢＣから付加情報を取り出すことができたかを判定する。
【０１３４】
ステップＳ２４０６において、ＬＶＢＣのデコードが失敗して付加情報を取り出すことができない場合、処理が終了する。
【０１３５】
一方、ステップＳ２４０６において、ＬＶＢＣのデコードが成功して付加情報を取り出すことができた場合、ステップＳ２４０７に処理が進む。
【０１３６】
ステップＳ２４０６において、ＬＶＢＣ抽出処理部３３０９のデコード処理が失敗した場合、ＬＶＢＣに複写禁止の付加情報が埋め込まれている可能性があるため、ジョブ制御部３３２０は、複写動作の停止を決定する。そして、ジョブ制御部３３２０は、ジョブをキャンセルすることにより、プリンタ部３２０３の複写動作を停止する。その際に、ジョブ制御部３３２０は、図１４に示すダイアログボックス４１を操作部３２０１に表示し、印刷を停止することをユーザに知らせる。
【０１３７】
ステップＳ２４０７において、ＬＶＢＣ抽出処理部３３０９は、デコードしてＬＶＢＣから取り出した付加情報に複写を禁止する情報が含まれていたかどうかを判定する。付加情報に複写を禁止する情報が含まれていない場合、ステップＳ２４０８に処理が進む。
【０１３８】
ステップＳ２４０７において、ＬＶＢＣ抽出処理部３３０９がデコードして取り出した付加情報に複写を禁止する情報が含まれていると判定した場合、ジョブ制御部３３２０は、複写動作の停止を決定する。そして、ジョブ制御部３３２０は、ジョブをキャンセルすることにより、プリンタ部３２０３の複写動作を停止する。その際に、ジョブ制御部３３２０は、図１４に示すダイアログボックス４１を操作部３２０１に表示し、印刷を停止することをユーザに知らせる。
【０１３９】
ステップＳ２４０８において、ジョブ制御部３３２０は、プリンタ部３２０３に原稿画像データの印刷開始の指令を送る。
【０１４０】
プリンタ部３２０３が、スキャナ画像処理部３３１２から既に原稿画像データを受け取っている場合に、プリンタ部３２０３は、その原稿画像データの印刷を開始する。
【０１４１】
一方、プリンタ部３２０３が、スキャナ画像処理部３３１２から原稿画像データを受け取っていない場合には、プリンタ部３２０３は、スキャナ画像処理部３３１２から原稿画像データを受け取った後に、その原稿画像データの印刷を開始する。
【０１４２】
ステップＳ２４０９において、ジョブ制御部３３２０は、スキャナ部３２０２がスキャンする原稿の残り枚数は１枚以上あるか否かを判定する。
【０１４３】
ステップＳ２４０９で、スキャナ部３２０２がスキャンする原稿の残り枚数は１枚以上ないと判定された場合には、処理が終了する。
【０１４４】
一方、ステップＳ２４０９で、スキャナ部３２０２がスキャンする原稿の残り枚数は１枚以上あると判定された場合には、ステップＳ２３０１に処理が進む。
【０１４５】
ステップＳ２４１０において、２次元コード抽出処理部３３１０が原稿画像データに２次元コードが埋め込まれていると判定した場合にはステップＳ２４１１に処理が進む。
【０１４６】
ステップＳ２４１０において、２次元コード抽出処理部３３１０が原稿画像データに２次元コードが埋め込まれていないと判定した場合には、ステップＳ２４１４に処理が進む。
【０１４７】
ステップＳ２４１１において、２次元コード抽出処理部３３１０は、原稿画像データから検出した２次元コードに対してデコード処理を行う。デコード処理の完了後、ステップＳ２４１２に処理が進む。
【０１４８】
ステップＳ２４１２において、ジョブ制御部３３２０は、２次元コード抽出処理部３３１０のデコード処理が成功して２次元コードから付加情報を取り出すことができたかを判定する。ステップＳ２４１２で、２次元コードから付加情報を取り出すことができてデコードが成功したと判定された場合、ステップＳ２４１３に処理が進む。
【０１４９】
ステップＳ２４１２において、２次元コード抽出処理部３３１０によるデコード処理が失敗したと判定された場合、ＬＶＢＣに複写禁止の付加情報が埋め込まれている可能性があるため、ジョブ制御部３３２０は、複写動作の停止を決定する。そして、ジョブ制御部３３２０は、ジョブをキャンセルすることにより、プリンタ部３２０３の複写動作を停止する。その際に、ジョブ制御部３３２０は、図１４に示すダイアログボックス４１を操作部３２０１に表示し、印刷を停止することをユーザに知らせる。
【０１５０】
ステップＳ２４１３において、２次元コード抽出処理部３３１０が、２次元コードをデコードして取り出した付加情報に複写を禁止する情報が含まれているかどうかを判定する。付加情報に複写を禁止する情報が含まれていない場合でも、２次元コードは改竄耐性が弱いので、ＬＶＢＣの付加情報を元に、複写を制御するために、ステップＳ２４１４に処理が進む。
【０１５１】
ステップＳ２４１３において、２次元コード抽出処理部３３１０が２次元コードをデコードして取り出した付加情報に複写を禁止する情報が含まれている場合、ジョブ制御部３３２０は、複写動作の停止を決定する。そして、ジョブ制御部３３２０は、ジョブをキャンセルすることにより、プリンタ部３２０３の複写動作を停止する。
【０１５２】
ステップＳ２４１４において、ＬＶＢＣ抽出処理部３３０９が原稿画像データにＬＶＢＣが埋め込まれていると判定した場合にはステップＳ２４０５に処理が進む。
【０１５３】
ステップＳ２４１４において、ＬＶＢＣ抽出処理部３３０９が原稿画像データにＬＶＢＣが埋め込まれていない判定した場合にはステップＳ２４０８に処理が進む。
【０１５４】
このように、本実施形態によれば、ＬＶＢＣの検出とデコードの処理が、２次元コードの検出とデコード処理が並列に行われる場合、以下のことが可能である。すなわち、ＬＶＢＣの処理が２次元コードの処理よりも先に完了する場合は、２次元コードの処理の影響を受けずに次の処理に進むことができる。
【０１５５】
さらに、本実施形態によれば、２次元コードの処理がＬＶＢＣの処理より先に完了する場合、２次元コードだけでなく、ＬＶＢＣも検出とデコードすることで、２次元コードが改竄された場合の誤検知を防ぐことができる。
【０１５６】
本発明では、例えば、ＬＶＢＣの検出とデコード処理が完了した場合に、２次元コードの検出とデコード処理が完了していなくても、プリンタ部３２０３により、スキャナ部３２０２によりスキャンされた画像の印刷が開始されるのは以下の場合である。
【０１５７】
すなわち、ＬＶＢＣの検出とデコード処理の結果、スキャナ部３２０２によりスキャンされた画像の印刷（複写）が許可されていることを示す情報が得られた場合に限って、スキャナ部３２０２によりスキャンされた画像の印刷が開始されても良い。
【０１５８】
したがって、ＬＶＢＣの検出とデコード処理の結果、スキャナ部３２０２によりスキャンされた画像の印刷（複写）が禁止されていることを示す情報が得られた場合に、スキャナ部３２０２によりスキャンされた画像の印刷は開始されない。
【０１５９】
また、本発明において、ＬＶＢＣの改竄耐性が強く、二次元コードの改竄耐性が弱いという両方の条件が揃わない場合には、以下のように画像処理装置が設定されても良い。すなわち、ＬＶＢＣの検出とデコード処理が完了した場合に、２次元コードの検出とデコード処理が完了していなくても、プリンタ部３２０３により、スキャナ部３２０２によりスキャンされた画像の印刷が開始されることはしないと設定されても良い。
【０１６０】
（その他の実施形態）
前述した実施形態の機能を実現するように前述した実施形態の構成を動作させるプログラムを記憶媒体に記憶させ、該記憶媒体に記憶されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も上述の実施形態の範疇に含まれる。また、前述のプログラムが記憶された記憶媒体はもちろんそのプログラム自体も上述の実施形態に含まれる。
【０１６１】
かかる記憶媒体としては、例えばフロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性メモリーカード、ＲＯＭなど、コンピュータで読み取り可能なものを用いることができる。
【０１６２】
また、前述の記憶媒体に記憶されたプログラム単体で処理を実行しているものに限らず、他のソフトウェア、拡張ボードの機能と共同して、ＯＳ上で動作し前述の実施形態の動作を実行するものも前述した実施形態の範疇に含まれる。
【符号の説明】
【０１６３】
１１１  領域
１１２  印刷物
１１３  ＬＶＢＣ
２２１  ２次元コード
２２２  印刷物
３３１  ２次元コード
３３２  印刷物
【図１】
2010093774.tif 000003
【図２】
2010093774.tif 000004
【図３】
2010093774.tif 000005
【図４】
2010093774.tif 000006
【図５】
2010093774.tif 000007
【図６】
2010093774.tif 000008
【図７】
2010093774.tif 000009
【図８】
2010093774.tif 000010
【図９】
2010093774.tif 000011
【図１０】
2010093774.tif 000012
【図１１】
2010093774.tif 000013
【図１２】
2010093774.tif 000014
【図１３】
2010093774.tif 000015
【図１４】
2010093774.tif 000016