(57)【特許請求の範囲】
【請求項１】
複数のソフトウェア部品間の情報の入出力に関する接続関係に基づいて前記ソフトウェア部品に処理を実行させる複数の部品制御手段と、
前記ソフトウェア部品の一つとして、紙文書より画像データを読み取り、前記接続関係において出力側に接続されているソフトウェア部品に読み取られた画像データを出力する画像データ取得手段と、
前記ソフトウェア部品の一つとして、前記接続関係において入力側に接続されているソフトウェア部品より入力される画像データに合成されたパターンに記録された情報を出力する情報抽出手段と、
画像データに合成されているパターンに関する処理を実行するパターン処理手段とを有し、
前記部品制御手段は、前記画像データ取得手段の出力側に前記情報抽出手段を接続させ、
前記画像データ取得手段は、前記部品制御手段より指定される前記パターンの種類に対応する読み取り条件を、前記パターン処理手段に問い合わせ、前記パターン処理手段によって判定される読み取り条件に基づいて、画像データを読み取り、
前記情報抽出手段は、前記部品制御手段より指定される前記パターンの種類に係るパターンに記録された情報の抽出を、前記パターン処理手段に実行させ、前記パターン処理手段によって抽出された情報を出力し、
前記画像データ取得手段及び前記情報抽出手段に対する前記パターンの種類の指定は、前記部品制御手段に応じて異なることを特徴とする情報処理装置。
【請求項２】
前記ソフトウェア部品の一つとして、記憶手段に保存されている画像データを読み出し、前記接続関係において出力側に接続されているソフトウェア部品に読み出された画像データを出力する画像データ読出手段と、
前記ソフトウェア部品の一つとして、前記接続関係において入力側に接続されているソフトウェア部品より入力される画像データを印刷装置に印刷させる印刷制御手段とを有し、
前記部品制御手段は、前記画像データ読出手段の出力側に前記印刷手段を接続させ、前記情報抽出手段によって抽出された情報に関連付けられている画像データを前記画像データ読出手段に読み出させることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記部品制御手段は、前記情報抽出手段によって抽出された情報を表示装置に表示させることを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記情報抽出手段は、抽出された情報に基づいて前記画像データにおける描画要素の改竄の有無を判定することを特徴とする請求項１記載の情報処理装置。
【請求項５】
コンピュータが実行する情報処理方法であって、
複数の部品制御手段のいずれかが、複数のソフトウェア部品間の情報の入出力に関する接続関係に基づいて前記ソフトウェア部品に処理を実行させる部品制御手順と、
前記ソフトウェア部品の一つである画像データ取得手段が、紙文書より画像データを読み取り、前記接続関係において出力側に接続されているソフトウェア部品に読み取られた画像データを出力する画像データ取得手順と、
前記ソフトウェア部品の一つである情報抽出手段が、前記接続関係において入力側に接続されているソフトウェア部品より入力される画像データに合成されたパターンに記録された情報を出力する情報抽出手順とを有し、
前記部品制御手順は、前記画像データ取得手段の出力側に前記情報抽出手段を接続させ、
前記画像データ取得手順において、画像データ取得手段は、前記部品制御手段より指定される前記パターンの種類に対応する読み取り条件を、パターン処理手段に問い合わせ、前記パターン処理手段によって判定される読み取り条件に基づいて、画像データを読み取り、
前記情報抽出手順において、前記情報抽出手段は、前記部品制御手段より指定される前記パターンの種類に係るパターンに記録された情報の抽出を、前記パターン処理手段に実行させ、前記パターン処理手段によって抽出された情報を出力し、
前記画像データ取得手段及び前記情報抽出手段に対する前記パターンの種類の指定は、前記部品制御手段に応じて異なることを特徴とする情報処理方法。
【請求項６】
前記ソフトウェア部品の一つである画像データ読出手段が、記憶手段に保存されている画像データを読み出し、前記接続関係において出力側に接続されているソフトウェア部品に読み出された画像データを出力する画像データ読出手順と、
前記ソフトウェア部品の一つである印刷制御手段が、前記接続関係において入力側に接続されているソフトウェア部品より入力される画像データを印刷装置に印刷させる印刷制御手順とを有し、
前記部品制御手順は、前記画像データ読出手段の出力側に前記印刷手段を接続させ、前記情報抽出手順によって抽出された情報に関連付けられている画像データを前記画像データ読出手順に読み出させることを特徴とする請求項５記載の情報処理方法。
【請求項７】
前記部品制御手順は、前記情報抽出手順によって抽出された情報を表示装置に表示させることを特徴とする請求項５記載の情報処理方法。
【請求項８】
前記情報抽出手順は、抽出された情報に基づいて前記画像データにおける描画要素の改竄の有無を判定することを特徴とする請求項５記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理方法に関し、特に複数のソフトウェア部品を接続して機能を実行する情報処理装置及び情報処理方法に関する。
に関する。
【背景技術】
【０００２】
近年におけるプリンタ、コピー機、スキャナ、ファクシミリ、又はこれらの機能を一台の筐体で実現する複合機等の画像形成装置では、メモリ等の制限は厳しいものの、汎用的なコンピュータと同様にＣＰＵを備え、各機能はアプリケーションの制御によって実現されるようになっている。
【０００３】
例えば、特許文献１に記載された画像形成装置では、各アプリケーションから共通的に利用される機能をプラットフォームとして備えており、当該プラットフォームのＡＰＩを利用してアプリケーションを実装することができる。かかる画像形成装置によれば、共通的に利用される機能がプラットフォームとして備えられていることにより、アプリケーションごとに重複した機能の実装が回避され、アプリケーション全体の開発効率を向上させることができる。
【特許文献１】特許第３６７９３４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、一般的に、共通的に利用されるＡＰＩを備えたプラットフォームについては、当該プラットフォームによって提供される機能又はインタフェースの粒度が適切に設計されていないと、アプリケーションの開発効率の向上が期待以上に図れない場合がある。
【０００５】
例えば、当該粒度が小さ過ぎると、単純なサービスを提供するアプリケーションであるにもかかわらず、多くのＡＰＩの呼び出しが必要とされ、そのソースコードは複雑なものとなってしまう。
【０００６】
一方、当該粒度が大き過ぎると、或るインタフェースによって提供されている機能の一部について変更を加えたサービスを提供するアプリケーションを実装したい場合、当該プラットフォーム内を修正しなければならず、開発工数の増加を招いてしまいかねない。特に、プラットフォーム内における各モジュールの依存関係が強い場合は、プラットフォームに新規機能を追加するだけでなく、既存部分の修正も必要とされる場合があり、事態はより複雑となる。
【０００７】
また、既存のアプリケーションによって提供されているサービスの一部（例えば、画像の入力処理）を変更したアプリケーションを実装したい場合、当該一部以外の部分については既存のアプリケーションを呼び出すといったようなことは出来ない。したがって、改めてソースコードを記述して新たなアプリケーションを実装しなければならない。
【０００８】
本発明は、上記の点に鑑みてなされたものであって、機能のカスタマイズ又は拡張等を簡便化させることのできる情報処理装置及び情報処理方法の提供を目的とする。
【課題を解決するための手段】
【０００９】
そこで上記課題を解決するため、本発明は、複数のソフトウェア部品間の情報の入出力に関する接続関係に基づいて前記ソフトウェア部品に処理を実行させる部品制御手段と、前記ソフトウェア部品の一つとして、画像データを取得し、前記接続関係において出力側に接続されているソフトウェア部品に取得された画像データを出力する画像データ取得手段と、前記ソフトウェア部品の一つとして、前記接続関係において入力側に接続されているソフトウェア部品より入力される画像データに合成されたパターンに記録された情報を抽出する情報抽出手段とを有し、前記部品制御手段は、前記画像データ取得手段の出力側に前記情報抽出手段を接続させることを特徴とする。
【００１０】
このような情報処理装置では、機能のカスタマイズ又は拡張等を簡便化させることができる。
【発明の効果】
【００１１】
本発明によれば、機能のカスタマイズ又は拡張等を簡便化させることのできる情報処理装置及び情報処理方法を提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、情報処理装置の具体例として画像形成装置を用いて説明する。図１は、本発明の実施の形態における画像形成装置のハードウェア構成の一例を示す図である。図１では、画像形成装置の具体例として、プリンタ、コピー、スキャナ、又は、ファクス等の複数の機能を一台の筐体において実現する複合機１のハードウェア構成が示されている。
【００１３】
複合機１のハードウェアとしては、コントローラ６０１と、オペレーションパネル６０２と、ファクシミリコントロールユニット（ＦＣＵ）６０３と、撮像部６０４と、印刷部６０５が存在する。
【００１４】
コントローラ６０１は、ＣＰＵ６１１、ＡＳＩＣ６１２、ＮＢ６２１、ＳＢ６２２、ＭＥＭ−Ｐ６３１、ＭＥＭ−Ｃ６３２、ＨＤＤ（ハードディスクドライブ）６３３、メモリカードスロット６３４、ＮＩＣ（ネットワークインタフェースコントローラ）６４１、ＵＳＢデバイス６４２、ＩＥＥＥ１３９４デバイス６４３、セントロニクスデバイス６４４により構成される。
【００１５】
ＣＰＵ６１１は、種々の情報処理用のＩＣである。ＡＳＩＣ６１２は、種々の画像処理用のＩＣである。ＮＢ６２１は、コントローラ６０１のノースブリッジである。ＳＢ６２２は、コントローラ６０１のサウスブリッジである。ＭＥＭ−Ｐ６３１は、複合機１のシステムメモリである。ＭＥＭ−Ｃ６３２は、複合機１のローカルメモリである。ＨＤＤ６３３は、複合機１のストレージである。メモリカードスロット６３４は、メモリカード６３５をセットするためのスロットである。ＮＩＣ６４１は、ＭＡＣアドレスによるネットワーク通信用のコントローラである。ＵＳＢデバイス６４２は、ＵＳＢ規格の接続端子を提供するためのデバイスである。ＩＥＥＥ１３９４デバイス６４３は、ＩＥＥＥ１３９４規格の接続端子を提供するためのデバイスである。セントロニクスデバイス６４４は、セントロニクス仕様の接続端子を提供するためのデバイスである。オペレーションパネル６０２は、オペレータが複合機１に入力を行うためのハードウェア（操作部）であると共に、オペレータが複合機１から出力を得るためのハードウェア（表示部）である。
【００１６】
図２は、本発明の実施の形態の画像形成装置におけるソフトウェア構成例を示す図である。図２に示されるように、複合機１におけるソフトウェアは、アプリケーションメカニズム１０、サービスメカニズム２０、デバイスメカニズム３０、及び運用部４０等のレイヤによって構成される。図２におけるレイヤの上下関係は、レイヤ間の呼び出し関係に基づいている。すなわち、基本的に図中において上にあるレイヤが下のレイヤを呼び出す。図２に示されるソフトウェアは、例えば、ＨＤＤ６３３に記憶されており、実行時にＭＥＭ−Ｐ６３１にロードされてＣＰＵ６１１にその機能を実行させる。
【００１７】
アプリケーションメカニズム１０は、複合機１が提供する機能又は情報（データ）等の資源をユーザに利用させるためのソフトウェア部品（プログラム）群が実装されているレイヤである。本実施の形態では、アプリケーションメカニズム１０に実装される一部のソフトウェア部品を「フィルタ」と呼ぶ。これは、複合機１のジョブを実行する手アプリケーションが、「パイプ＆フィルタ」と呼ばれるソフトウェアアーキテクチャに基づいて構築されることによる。
【００１８】
図３は、パイプ＆フィルタアーキテクチャの概念を説明するための図である。図３において、「Ｆ」はフィルタを示し、「Ｐ」はパイプを示す。図中に示されるように、各フィルタはパイプによって接続される。フィルタは、入力されたデータに対して変換を施し、その結果を出力する。パイプは、例えば、両端のフィルタより参照可能な記録領域によって構成され、フィルタから出力されたデータを次のフィルタに伝達する。
【００１９】
すなわち、本実施の形態における複合機１では、ジョブをドキュメント（データ）に対する「変換」の連続として捉える。複合機１のジョブは、ドキュメントの入力、加工、及び、出力によって構成されるものとして一般化することができる。そこで「入力」、「加工」、及び、「出力」を、それぞれ「変換」として捉え、一つの「変換」を実現するソフトウェア部品がフィルタとして構成される。入力を実現するフィルタを特に「入力フィルタ」という。また、加工を実現するフィルタを特に「加工フィルタ」という。更に、出力を実現するフィルタを特に「出力フィルタ」という。基本的に、各フィルタは、単独では一つのジョブを実行することはできず、複数のフィルタが、図３に示されるように接続されることにより、一つのジョブを実行するアプリケーションが構築される。
【００２０】
なお、各フィルタは独立しており、フィルタ間における依存関係（呼び出し関係）は基本的に存在しない。従って、フィルタ単位で追加（インストール）又は削除（アンインストール）が可能とされている。
【００２１】
図２において、アプリケーションメカニズム１０には、入力フィルタとして、読取フィルタ１１１、保管文書読出フィルタ１１２、メール受信フィルタ１１３、及びファクス受信フィルタ１１４等が示されている。
【００２２】
読取フィルタ１１１は、スキャナによる画像データの読み取りを制御し、読み取られた画像データを出力する。保管文書読出フィルタ１１２は、複合機１の記憶装置に保管されている文書データ（画像データ）を読み出し、読み出されたデータを出力する。メール受信フィルタ１１３は、電子メールを受信し、当該電子メールに含まれているデータを出力する。ファクス受信フィルタ１１４は、ファクス受信を制御し、受信された印刷データを出力する。
【００２３】
また、加工フィルタとしては、文書編集フィルタ１２１及び文書変換フィルタ１２２等が示されている。文書編集フィルタ１２１は、入力されたデータに所定の画像変換処理（濃度調整、変倍、回転、及び集約等集）を施し、出力する。文書変換フィルタ１２２は、画像データのデータ形式を変換する。文書変換フィルタ１２２は、例えば、レンダリング処理、すなわち、入力されたＰｏｓｔＳｃｒｉｐｔデータをビットマップデータに変換して出力する。
【００２４】
また、出力フィルタとしては、印刷フィルタ１３１、保管文書登録フィルタ１３２、メール送信フィルタ１３３、ファクス送信フィルタ１３４、及びマーキング解析フィルタ１３５等が示されている。
【００２５】
印刷フィルタ１３１は、入力されたデータをプロッタに出力（印刷）させる。保管文書登録フィルタ１３２は、入力されたデータを複合機１内の記憶装置、例えば、ＨＤＤ６３３に保存する。メール送信フィルタ１３３は、入力されたデータを電子メールに添付して送信する。ファクス送信フィルタ１３４は、入力されたデータをファクス送信する。マーキング解析フィルタ１３５は、入力された画像データに合成されているマーキング（バーコードや地紋等のパターン）の解析（マーキングに埋め込まれた情報の抽出等）を行い、その解析結果を出力する。
【００２６】
例えば、複合機１における各種機能は、次のようなフィルタの組み合わせにより実現される。図４は、本実施の形態の複合機における各機能を実現するためのフィルタの組み合わせの例を示す図である。
【００２７】
例えば、コピー機能は、読取フィルタ１１１と印刷フィルタ１３１とを接続することにより実現される。読取フィルタ１１１によって原稿より読み取られた画像データを印刷フィルタ１３１によって印刷すればよいからである。なお、集約、拡大、又は縮小等の加工が要求された場合は、これらの加工を実現する文書編集フィルタ１２１が二つのフィルタの間に挿入される。
【００２８】
スキャンｔｏ  ｅｍａｉｌ機能（スキャンした画像データを電子メールで転送する機能）は、読取フィルタ１１１とメール送信フィルタ１３３とを接続することによって実現される。ファクス送信機能は、読取フィルタ１１１とファクス送信フィルタ１３４とを接続することによって実現される。ファクス受信機能は、ファクス受信フィルタ１１４と印刷フィルタ１３１とを接続することによって実現される。ドキュメントボックス蓄積機能（スキャンした画像データを複合機１内に保存する機能）は、読取フィルタ１１１と保管文書登録フィルタ１３２とを接続することによって実現される。ドキュメントボックス印刷機能（複合機１内に保存されている文書データを印刷する機能）は、保管文書読出フィルタ１０２と印刷フィルタ１３１とを接続することにより実現される。
【００２９】
図４において、例えば、読取フィルタ１１１については５つの機能において利用されている。このように、各フィルタは複数の機能から利用可能であり、それによって各機能を実現するための開発工数を削減することができる。また、複合機１では各フィルタを部品としてアプリケーションを構築するため、機能のカスタマイズ又は拡張を簡便に行うことができる。すなわち、各フィルタ間には、機能的な依存関係はなく独立性が保たれているため、フィルタの新たな追加やフィルタの組み合わせの変更によって、新たなアプリケーションを容易に開発することができる。したがって、新たなアプリケーションの実装が要求された場合、当該アプリケーションの一部の処理について実装されていない場合は、当該一部の処理を実現するフィルタのみを開発し、インストールすればよい。よって、アプリケーションメカニズム１０より下位のレイヤについて、新たなアプリケーションの実装に応じて発生する修正の頻度を低下させることができ、安定したプラットフォームを提供することができる。
【００３０】
アプリケーションメカニズム１０には、また、「アクティビティ」と呼ばれるソフトウェア部品が存在する。アクティビティは、複数のフィルタをどの順番で接続するかを管理し、その順番でフィルタを実行させることによりジョブを実行するソフトウェア部品であり、一つのアクティビティによって一つのアプリケーションが実現される。
【００３１】
すなわち、フィルタはそれぞれ独立性が高いため、フィルタの組み合わせ（アプリケーション）を動的に構築することが可能である。具体的には、ジョブの実行要求を受け付けるたびに、利用するフィルタと、フィルタの実行順序、及びそれぞれのフィルタの動作条件等をオペレーションパネル６０２を介してユーザに設定させることにより、ユーザ所望の機能を実現するようにしてもよい。
【００３２】
しかし、コピー機能のように頻繁に利用する機能については、毎回フィルタを選択することにより実行指示を行うのはユーザにとって煩雑である。かかる課題を解決するのがアクティビティである。すなわち、フィルタの組み合わせ（接続関係）をアクティビティとして予め定義しておけば、ユーザは、アクティビティを単位として実行対象を選択することができる。選択されたアクティビティは、当該アクティビティに定義された組み合わせに係る各フィルタを自動的に実行する。したがって、アクティビティによって、操作の煩雑さを解消することができるとともに、アプリケーション単位で実行対象を選択していた従来のユーザインタフェースと同様の操作感を提供することができる。
【００３３】
図中には、アクティビティの一例として、コピーアクティビティ１０１、送信アクティビティ１０２、ファクスアクティビティ１０３、リフレッシュコピー検知アクティビティ１０４、セキュリティトレース検知アクティビティ１０５、及び改竄検知アクティビティ１０６等が含まれる。例えば、コピーアクティビティ１０１は、読取フィルタ１１１と、文書編集フィルタ１２１と、印刷フィルタ１３１との組み合わせにより、コピー機能（コピーアプリケーション）を実現する。リフレッシュコピー検知アクティビティ１０４は、リフレッシュコピー機能を実現するアクティビティである。
【００３４】
リフレッシュコピー機能について説明する。図７は、リフレッシュコピー機能を説明するための図である。リフレッシュコピー機能を実現するための処理は、埋込段階（リフレッシュコピー埋込処理）と読取段階（リフレッシュコピー読取処理）とより構成される。図中において、（Ａ）は埋込段階を示し、（Ｂ）は読取段階を示す。
【００３５】
（Ａ）では、紙文書３００が複合機１によってコピーされ紙文書３００ａが出力される様子が示されている。この際、複合機１は、紙文書３００ａの紙ＩＤを示すマーキングとしてバーコードｂ１を紙文書３００ａに印字する。また、複合機１は、紙文書３００より読み取られた画像データ３１０と紙ＩＤとを関連付けてＨＤＤ６３３に保存する。ここで、紙ＩＤとは、紙文書一枚一枚を識別するための識別情報である。
【００３６】
（Ｂ）では、紙文書３００ａが複合機１によってコピーされ紙文書３００ｂが出力される様子が示されている。この際、複合機１は、紙文書３００ａのバーコードｂ１を読み取ることにより紙文書３００の紙ＩＤを識別し、当該紙ＩＤに関連付けられてＨＤＤ６３３に保存されている画像データを印刷用紙に印刷した結果を紙文書３００ｂとして出力する。なお、紙文書３００ｂには、紙文書３００ａとは異なる紙ＩＤを示すバーコードｂ２が印字される。
【００３７】
すなわち、リフレッシュコピー機能における読取段階（Ｂ）では、コピー元の紙文書３００ａから読み取られた画像データではなく、埋込段階において保存されている画像データ３１０が印刷対象となる。したがって、例えば、紙文書３００ａに書き込みｄ１がされている場合であっても、書き込みｄ１は紙文書３００ｂに印字されない。
【００３８】
リフレッシュコピー検知アクティビティ１０４は、斯かるリフレッシュコピー機能において、読取段階を実行するためのアクティビティである。
【００３９】
セキュリティトレース検知アクティビティ１０５は、紙文書として印刷された情報のセキュリティの確保を目的として当該情報と共に紙文書に印字されたマーキング（本実施の形態では地紋）を解析し、その解析結果を通知する。
【００４０】
改竄検知アクティビティ１０６は、紙文書として印刷された情報の改竄の検知を目的として当該情報と共に紙文書に印字されたマーキング（本実施の形態では地紋）に基づいて、紙文書における情報の改竄の有無を検知する。
【００４１】
なお、基本的に各アクティビティは独立しており、アクティビティ間における依存関係（呼び出し関係）は基本的に存在しない。したがって、アクティビティ単位で追加（インストール）又は削除（アンインストール）が可能である。よって、図２に示されているアクティビティ以外にも、必要に応じて各種のフィルタの組み合わせによるアクティビティを作成し、インストールすることができる。
【００４２】
フィルタ及びアクティビティについて更に詳しく説明する。図５は、フィルタの構成要素を説明するための図である。図５に示されるように、各フィルタは、フィルタ設定用ＵＩ、フィルタロジック、フィルタ固有下位サービス、及び永続記憶領域情報等より構成される。このうち、フィルタ設定用ＵＩ、フィルタ固有下位サービス、及び永続記憶領域情報については、フィルタによって必ずしも構成要素に含まれない。
【００４３】
フィルタ設定用ＵＩは、フィルタの動作条件等を設定させるための画面をオペレーションパネル６０２等に表示させるプログラムである。すなわち、フィルタごとに動作条件が設定される。例えば、読取フィルタ１１１であれば、フィルタ設定用ＵＩは、原稿種類、読取サイズ、解像度等を設定させる画面が相当する。なお、オペレーションパネル６０２が、ＨＴＭＬデータや、スクリプトに基づいて表示制御を行うことが可能であれば、フィルタ設定用ＵＩは、ＨＴＭＬデータやスクリプトであってもよい。
【００４４】
フィルタロジックは、フィルタの機能を実現するためロジックが実装されたプログラムである。すなわち、フィルタの構成要素としてのフィルタ固有下位サービスや、サービスメカニズム２０等を利用して、フィルタ設定用ＵＩを介して設定された動作条件に応じてフィルタの機能を実現する。例えば、読取フィルタ１１１であれば、スキャナによる原稿の読み取り制御のためのロジックが相当する。
【００４５】
フィルタ固有下位サービスは、フィルタロジックを実現するために必要な下位機能（ライブラリ）である。
【００４６】
永続記憶領域情報は、フィルタに対する設定情報（例えば、動作条件のデフォルト値）等、不揮発メモリに保存する必要があるデータのスキーマ定義が相当する。当該スキーマ定義は、フィルタのインストール時にデータ管理部２３に登録される。
【００４７】
図６は、アクティビティの構成要素を説明するための図である。図６に示されるように、アクティビティは、アクティビティＵＩ、アクティビティロジック、及び永続記憶領域情報等より構成される。
【００４８】
アクティビティＵＩは、アクティビティに関する画面（例えば、アクティビティの動作条件等を設定させるための設定画面）をオペレーションパネル６０２等に表示させるための情報又はプログラムである。
【００４９】
アクティビティロジックは、アクティビティの処理内容が実装されたプログラムである。基本的に、アクティビティロジックには、フィルタの組み合わせに関するロジック（例えば、フィルタの実行順、複数のフィルタに跨る設定、フィルタの接続変更、エラー処理等）が実装されている。
【００５０】
永続記憶領域情報は、アクティビティに対する設定情報（例えば、動作条件のデフォルト値）等、不揮発メモリに保存する必要があるデータのスキーマ定義が相当する。当該スキーマ定義は、アクティビティのインストール時にデータ管理部２３に登録される。
【００５１】
図２に戻る。サービスメカニズム２０は、アクティビティ又はフィルタ等が利用するプリミティブなサービスを提供するソフトウェア部品や、アプリケーションが機種等のハード的な仕様に対して、非依存となるための仕組みを提供すソフトウェア部品等が実装されるレイヤである。図中において、サービスメカニズム２０には、画像パイプ２１、ＵＩ部２２、データ管理部２３、紙トレースサービス２４、マーキング解析サービス２５、及びマーキングハンドリングサービス２６等のソフトウェア部品が含まれる。
【００５２】
画像パイプ２１は、上述したパイプの機能を実現する。すなわち、メモリ領域等を用いて或るフィルタからの出力データを次のフィルタに伝達する。なお、図中において、画像パイプ２１は、一つのブロックによって示されているが、その実体はフィルタ間を接続するパイプの数だけ生成される。
【００５３】
ＵＩ部２２は、オペレーションパネル６０２に表示される操作画面を介して入力されるユーザ要求を解釈し、ユーザ要求に応じた処理制御をアプリケーションメカニズム１０又はサービスメカニズム２０等におけるソフトウェア部品に委譲する。データ管理部２３は、ユーザ情報等、機器内外に保存される各種情報について、保存方法、及び保存場所等を規定する。
【００５４】
紙トレースサービス２４は、複合機１によって画像データが印刷された紙文書を一意に識別するための紙ＩＤの発行及び管理を行う。マーキング解析サービス２５は、画像データに対して合成されているマーキングを解析ための処理の制御を行う。マーキングハンドリングサービス２６は、マーキング解析サービス２５より指定された条件で画像データからのマーキングの検知処理を実行する。
【００５５】
デバイスメカニズム３０は、複合機１が有するデバイス毎に設けられたデバイスを制御する手段を有する。
【００５６】
運用部４０は、システムの運用管理に関するソフトウェア部品が実装される部分であり、アプリケーションメカニズム１０、サービスメカニズム２０、及びデバイスメカニズム３０より共通に利用される。図中において、運用部４０には、プラグイン管理部４１が含まれている。プラグイン管理部４１は、アクティビティ及びフィルタ等、自由に抜き差し（インストール・アンインストール）可能なソフトウェア部品の情報を管理する。
【００５７】
以上のようなソフトウェア構成を有する複合機１において、本実施の形態ではマーキングフィルタ解析フィルタ１３５を用いてアプリケーションを実現するリフレッシュコピー検知アクティビティ１０４、セキュリティトレース検知アクティビティ１０５、及び改竄検知アクティビティ１０６について詳細に説明する。
【００５８】
第一の実施の形態では、リフレッシュコピー検知アクティビティ１０４について説明する。図８及び図９は、第一の実施の形態における処理手順を説明するためのシーケンス図である。
【００５９】
オペレーションパネル６０２に表示されている操作画面を介して、ユーザによってリフレッシュコピー検知アクティビティ１０４が実行対象として選択されると、ＵＩ部２２は、リフレッシュコピー検知アクティビティ１０４に対して起動を指示する（Ｓ１０１）。リフレッシュコピー検知アクティビティ１０４は、起動指示に応じ、リフレッシュコピー検知アクティビティ１０４自身の動作条件を格納するためのオブジェクト（以下、「プリファレンスオブジェクト」という。）を生成する（Ｓ１０２）。プリファレンスオブジェクトとは、動作条件を規定するパラメータが属性として定義されたクラスのインスタンスをいい、当該クラスの構成は、アクティビティ及びフィルタごとに異なり得る。
【００６０】
続いて、リフレッシュコピー検知アクティビティ１０４は、自らが利用する各フィルタ（読取フィルタ１１１、マーキング解析フィルタ１３５、保管文書読み出しフィルタ１１２、文書編集フィルタ１２１、及び印刷フィルタ１３１）のそれぞれに対して、プリファレンスオブジェクトの生成を要求する（Ｓ１０３〜Ｓ１０７）。各フィルタは、当該フィルタに固有の属性を有するプリファレンスオブジェクトを生成し、生成されたプリファレンスオブジェクトをリフレッシュコピー検知アクティビティ１０４に返却する。なお、以上において生成されたリフレッシュコピー検知アクティビティ１０４及び各フィルタのプリファレンスオブジェクトの属性には既定値が設定されている。
【００６１】
続いて、リフレッシュコピー検知アクティビティ１０４は、自らに定義されているリフレッシュコピー検知アクティビティ１０４と各フィルタとの接続関係（リフレッシュコピー検知アクティビティ１０４と各フィルタとの利用関係及び各フィルタの実行順の前後関係）に基づいて、各プリファレンスオブジェクトの間に関連を生成することにより当該接続関係を示す情報（プリファレンスツリー）を構築する（Ｓ１０８）。
【００６２】
ところで、リフレッシュコピー検知アクティビティ１０４は、一回の実行要求に応じて２つのジョブを実行する。１つ目は、紙文書からの画像データの読み込みと、その画像データに合成されているマーキングの解析による紙ＩＤの特定を行うジョブ（以下、「第一ジョブ」という。）であり、読取フィルタ１１１とマーキング解析フィルタ１３５が利用される。２つ目は、紙ＩＤに関連付けられている画像データの読み出しと、当該画像データに対する変換処理と、変換処理が施された画像データの印刷を行うジョブ（以下、「第二ジョブ」という。）であり、保管文読出フィルタ１１２、文書編集フィルタ１２１、及び印刷フィルタ１３１が利用される。第二ジョブは、第一ジョブにおいて、正常に紙ＩＤが取得された場合に実行される。すなわち、第二ジョブは、必ずしも実行されるとは限らない。したがって、ステップＳ１０８では、第一ジョブに関するプリファレンスツリーが構築される。
【００６３】
図１０は、リフレッシュコピー検知アクティビティの第一ジョブに関するプリファレンスツリーの例を示す図である。
【００６４】
同図において、プリファレンスツリーＰ１は、リフレッシュコピー検知アクティビティ１０４、読取フィルタ１１１、マーキング解析フィルタ１３５のそれぞれに対するプリファレンスオブジェクトである、リフレッシュコピー検知プリファレンス１０４ｐ、読取プリファレンス１１１ｐ、及びマーキング解析プリファレンス１３５ｐ等より構成される。
【００６５】
読取プリファレンス１１１ｐは、原稿種類、読取サイズ、カラーモード、解像度、及び原稿面等のパラメータを含む。マーキング解析フィルタ１３５ｐは、マーキングタイプ等のパラメータを含む。マーキングタイプは、解析すべきマーキング自体又はその用途の種類を示す情報であり、本実施の形態では「バーコード」、「セキュリティトレース」、又は「改竄検知」の値が設定されうる。マーキング解析フィルタ１３５ｐは、更に、マーキングタイプの値に応じてバーコード用パラメータ１３５ｐ１、セキュリティトレース用パラメータ１３５ｐ２、改竄検知用パラメータ１３５ｐ３を含む。バーコード用パラメータ１３５ｐ１は、マーキングタイプが「バーコード」の際に有効となるパラメータであり、検知領域を含む。検知領域は、マーキングを検知すべき領域を示す。セキュリティトレース用パラメータ１３５ｐ２及び改竄検知用パラメータ１３５ｐ３については、第二又は第三の実施の形態において説明する。
【００６６】
リフレッシュコピー検知プリファレンス１０４ｐから他のプリファレンスオブジェクトへの関連ｌ１及びｌ２は、リフレッシュコピー検知アクティビティ１０４と各フィルタとの利用関係に基づいて生成される。各フィルタ間の関連ｌ３は、フィルタの実行順の前後関係に基づいて生成される。なお、各関連は、例えば、一方のプリファレンスオブジェクトが他方のプリファレンスオブジェクトの識別情報（参照、ポインタ、又はＩＤ等）をメンバ変数によって保持することにより実装すればよい。
【００６７】
起動指示に対応する処理が完了すると（Ｓ１０９）、ＵＩ部２２は、オペレーションパネル６０２に、リフレッシュコピー検知アクティビティ１０４の操作画面（リフレッシュコピー検知操作画面）を表示させる。
【００６８】
図１１は、リフレッシュコピー検知操作画面の表示例を示す図である。図１１において、リフレッシュコピー検知操作画面５００は、文書編集条件設定領域１２１ｇ及び印刷条件設定領域１３１ｇ等より構成される。各領域は、各フィルタのフィルタ設定用ＵＩ（図５参照）に基づいてＵＩ部２２が表示させる。ユーザは、各領域を操作することにより、各フィルタの動作条件を設定する。各領域において設定可能な動作条件のパラメータは、基本的に各フィルタに対応するプリファレンスオブジェクトの属性に一致する。
【００６９】
例えば、文書編集条件設定領域１２１ｇにおいて動作条件が設定されると、ＵＩ部２２は、文書編集フィルタ１２１に対して設定内容を通知する（Ｓ１１０）。当該通知に応じ、文書編集フィルタ１２１は、設定内容を文書編集プリファレンス１２１ｐに反映（設定）する。同様に、印刷条件設定領域１３１ｇにおいて動作条件が設定されると、ＵＩ部２２は、印刷フィルタ１３１に対して設定内容を通知する（Ｓ１１１）。当該通知に応じ、印刷フィルタ１３１は、設定内容を印刷プリファレンス１３１ｐに反映（設定）する。
【００７０】
なお、リフレッシュコピー検知操作画面５００には、リフレッシュコピー検知アクティビティ１０４より利用されるフィルタのうち、読取フィルタ１１１、マーキング解析フィルタ１３５、及び保管文書読出フィルタ１１２の動作条件を設定させるための領域は無い。これらのフィルタの動作条件については、リフレッシュコピー機能の読取段階を実現するために適切な値が自動的に設定されるからである。
【００７１】
続いて、オペレーションパネル６０２においてスタートボタンが押下されることにより、ユーザによってジョブの開始指示が入力されると、ＵＩ部２２は、リフレッシュコピー検知アクティビティ１０４に対してジョブの実行を指示する（Ｓ１１２）。ジョブの実行指示に応じ、リフレッシュコピー検知アクティビティ１０４は、読取フィルタ１１１に対してマーキングタイプを引数として、当該マーキングタイプに対応した適切な動作条件を自ら（読取フィルタ１１１）に設定するよう要求する（Ｓ１１３）。リフレッシュコピー機能では、紙ＩＤを示すバーコードを読み取る必要があるため、ここでのマーキングタイプには、「バーコード」が指定される。
【００７２】
当該要求に応じ、読取フィルタ１１１は、指定されたマーキングタイプ（バーコード）の読み取りに適切な動作条件（読取条件）をマーキング解析サービス２５に問い合わせる（Ｓ１１４）。マーキング解析サービス２５は、バーコードの読み取りに適切な読取条件（例えば、グレースケール、６００ｄｐｉ等）を判定し（Ｓ１１５）、判定結果としての読取条件を読取フィルタ１１１に返却する（Ｓ１１６）読取フィルタ１１１は、返却された読取条件を読取プリファレンス１１１ｐに設定する（Ｓ１１７）。
【００７３】
ここで、マーキングタイプに応じた読取条件をマーキング解析サービス２５に判定させるのは、読取フィルタ１１１の汎用性を確保するためである。すなわち、読取フィルタ１１１の責務は、紙文書より画像データを読み取ることである。また、読取フィルタ１１１は、リフレッシュコピー検知アクティビティ１０４だけでなく、コピーアクティビティ１０１等の他のアクティビティからも利用される。読取フィルタ１１１の斯かる責務及びその汎用性に鑑みて、マーキングの読み取り又は解析といった特定の機能に関する判断処理を読取フィルタ１１１に組み込むのは好ましくない。そこで、マーキングタイプに応じた読取条件の判定処理は、マーキングの解析に特化したソフトウェア部品であるマーキング解析サービス２５に委譲させているのである。
【００７４】
読取フィルタ１１１による動作条件の設定が完了すると（Ｓ１１８）、リフレッシュコピー検知アクティビティ１０４は、マーキングタイプ（バーコード）を引数として、当該マーキングタイプに対応した動作条件の設定をマーキング解析フィルタ１３５に要求する（Ｓ１２０）。マーキング解析フィルタ１３５は、当該要求に応じ、マーキング解析プリファレンス１３５ｐのマーキングタイプの値を「バーコード」に設定すると共に、バーコード用パラメータ１３５ｐ１の検知領域の値を設定する。
【００７５】
続いて、リフレッシュコピー検知アクティビティ１０４は、プリファレンスツリーＰ１に基づいて、第一ジョブにおいて利用されるフィルタ間を接続する画像パイプ２１を生成する（Ｓ１２１）。ここでは、図１０のプリファレンスツリーＰ１における関連ｌ３に基づいて、読取フィルタ１１１とマーキング解析フィルタ１３５とを接続する画像パイプ２１ａが生成される。
【００７６】
続いて、リフレッシュコピー検知アクティビティ１０４は、プリファレンスツリーＰ１に基づいて、リフレッシュコピー検知アクティビティ１０４と各フィルタと画像パイプ２１ａとの接続を行う（Ｓ１２２）。当該接続が形成されることにより、リフレッシュコピー検知アクティビティ１０４、読取フィルタ１１１、マーキング解析フィルタ１３５、及び画像パイプ２１ａによって実行される第一ジョブにおける処理の流れを表現するツリー構造（以下「ジョブツリー」という。）が構築される。
【００７７】
図１２は、リフレッシュコピー検知アクティビティの第一ジョブに関するジョブツリーの例を示す図である。同図に示されるジョブツリーＪ１は、リフレッシュコピー検知アクティビティ１０４、読取フィルタ１１１、マーキング解析フィルタ１３５、及び画像パイプ２１ａ等より構成される。
【００７８】
リフレッシュコピー検知アクティビティ１０４と各フィルタとの接続（関連ｌ５１、ｌ５２）は、プリファレンスツリーＰ１における関連ｌ１及びｌ２に基づいて生成される。また、読取フィルタ１１１と画像パイプ２１ａとの接続（関連ｌ５３）、及び画像パイプ２１ａとマーキング解析フィルタ１３５との接続（関連ｌ５４）は、プリファレンスツリーＰ１における関連ｌ３に基づいて生成される。
【００７９】
このように、プリファレンスツリーに基づくジョブツリーの構築は、固定的なものでなく汎用的な、また、動的な変換処理として実装されている。
【００８０】
ジョブツリーＪ１が構築されると、リフレッシュコピー検知アクティビティ１０４は、ジョブツリーＪ１に基づいてジョブの実行を開始する。まず、リフレッシュコピー検知アクティビティ１０４は、ジョブツリーＪ１において末端のフィルタ（当該フィルタの出力先に画像パイプ２１が接続されていないフィルタ）に対して処理の実行要求を行う。通常、末端のフィルタは、出力フィルタであり、ここでは、マーキング解析フィルタ１３５がそれに該当する。したがって、まず、マーキング解析フィルタ１３５に対して実行要求がなされる（Ｓ１２３）。
【００８１】
実行要求を受けたマーキング解析フィルタ１３５は、ジョブツリーＪ１において自らの入力先に接続されている画像パイプ２１ａに画像データの入力を要求する（Ｓ１２４）。画像パイプ２１ａは、自らが管理するメモリ領域に画像データが入力されていないため、ジョブツリーＪ１において自らの入力先に接続されている読取フィルタ１１１に対して処理の実行を要求する（Ｓ１２５）。
【００８２】
読取フィルタ１１１は、実行要求に応じ、読取プリファレンス１１１ｐに設定された動作条件（すなわち、バーコードの読み取りに適した読取条件）に従って撮像部６０４を制御して原稿からの画像データの読み取りを行い（Ｓ１２６）、読み取られた画像データをジョブツリーＪ１において自らの出力先に接続されている画像パイプ２１ａに出力する（Ｓ１２７）。画像パイプ２１ａは、画像データの入力に応じ、画像データの入力を要求していたマーキング解析フィルタ１３５に対して画像パイプ２１ａの状態変化（ここでは、画像データが入力されたこと）を通知する（Ｓ１２８）。当該通知に応じ、マーキング解析フィルタ１３５は、画像パイプ２１ａより画像データを取得し、マーキング解析プリファレンス１３５ｐに設定された動作条件（マーキングタイプ＝「バーコード」等）に基づいて画像データに合成されているバーコードの解析処理を実行する（Ｓ１２９）。当該解析処理において、マーキング解析フィルタ１３５は、マーキングタイプ（バーコード）及びバーコード用パラメータ１３５ｐ１等を引数として、画像データに合成されているマーキングの解析をマーキング解析サービス２５に委譲する（Ｓ１３０）。マーキング解析サービス２５は、マーキングハンドリングサービス２６に対してバーコード用パラメータ１３５ｐ１に指定された検知領域におけるバーコードの検知を要求する（Ｓ１３１）。マーキングハンドリングサービス２６は、指定された検知領域に基づいて画像データにおけるバーコードの検知を行い、検知されたバーコードに記録されているデータ（ビット列）を解析結果としてマーキング解析サービス２５に返却する（Ｓ１３２）。マーキング解析サービス２５は、解析結果としてのデータをマーキング解析フィルタ１３５に返却する（Ｓ１３３）。マーキング解析フィルタ１３５は、解析結果を保持し、処理の完了通知をリフレッシュコピー検知アクティビティ１０４に通知する（Ｓ１３４）。これにより、第一ジョブは完了する。
【００８３】
続いて、リフレッシュコピー検知アクティビティ１０４は、マーキング解析フィルタ１３５より、バーコードより解析されたデータを取得する（Ｓ１３５、Ｓ１３６）。リフレッシュコピー検知アクティビティ１０４は、当該データ（ビット列）を紙ＩＤとして扱い、当該紙ＩＤに関連付けられている文書情報の取得を紙トレースサービス２４に要求する（Ｓ１３７）。
【００８４】
続いて、紙トレースサービス２４は、紙ＩＤに関連付けられて管理されている（例えば、ＨＤＤ６３３に記録されている）文書ＩＤを検索し、当該文書ＩＤに関連付けられて管理されている文書情報をリフレッシュコピー検知アクティビティ１０４に返却する（Ｓ１３８）。ここで、文書ＩＤとは、図７（Ａ）に示される埋込段階等においてＨＤＤ６３３に保存される画像データ３００、並びに当該画像データの保存を指示したユーザのユーザ名、保存が行われた日時、及び保存を行った複合機１の名前（マシン名）等の書誌情報（文書情報）を、複合機１内において（ローカルな範囲内において）一意に識別するために各画像データ３００に対して割り当てられるＩＤである。一方、紙一枚一枚の識別を目的とする紙ＩＤは、複合機１内において（ローカルな範囲において）一意ではなく、複合機１外において（グローバルな範囲において）一意となるように割り当てられる。紙は複合機１の存在と関係なく流通するからである。紙トレースサービス２４は、埋込段階において画像データ３００に対する紙ＩＤを発行し、当該紙ＩＤを画像データ３００の文書ＩＤと関連付けて管理している。したがって、紙トレースサービス２４は、ステップＳ１３７における要求に応じ、紙ＩＤに対応する文書情報を返却することができるのである。なお、紙トレースサービス２４は、画像データのロケーション情報を文書情報に含めて返却する。ロケーション情報とは、画像データが所在する複合機１を識別するための情報であり、例えば、ＩＰアドレス等が用いられる。ロケーション情報は、紙ＩＤに基づいて特定される。例えば、ロケーション情報は、紙ＩＤの一部として含まれていても良い。この場合、紙トレースサービス２４は、ステップＳ１３７において入力された紙ＩＤよりロケーション情報を抽出し、抽出されたロケーション情報を文書情報に含めて返却する。
【００８５】
続いて、リフレッシュコピー検知アクティビティ１０４は、リフレッシュコピー検知アクティビティ１０４と各フィルタとの第二ジョブに関する接続関係に基づいて、各プリファレンスオブジェクトの間に関連を生成することにより第二ジョブに関するプリファレンスツリーを構築する（Ｓ１３９）。
【００８６】
図１３は、リフレッシュコピー検知アクティビティの第二ジョブに関するプリファレンスツリーの例を示す図である。同図において、プリファレンスツリーＰ２は、リフレッシュコピー検知アクティビティ１０４、保管文書読出フィルタ１１２、文書編集フィルタ１２１、印刷フィルタ１３１のそれぞれに対するプリファレンスオブジェクトである、リフレッシュコピー検知プリファレンス１０４ｐ、保管文書読出プリファレンス１１２ｐ、文書編集プリファレンス１２１ｐ、及び印刷プリファレンス１３１ｐ等より構成される。
【００８７】
保管文書読出プリファレンス１１２ｐは、ロケーション情報及び文書ＩＤ等のパラメータを含む。文書編集プリファレンス１２１ｐは、自動濃度、手動濃度、変倍種類、画像回転、及び集約等のパラメータを含む。印刷プリファレンス１３１ｐは、カラーモード、用紙選択、印刷面、印刷部数、ソート、ステープル、パンチ、及び排紙先等のパラメータを含む。
【００８８】
リフレッシュコピー検知プリファレンス１０４ｐから他のプリファレンスオブジェクトへの関連ｌ４、ｌ５、及びｌ６は、リフレッシュコピー検知アクティビティ１０４と各フィルタとの利用関係に基づいて生成される。各フィルタ間の関連ｌ７及びｌ８は、フィルタの実行順の前後関係に基づいて生成される。
【００８９】
続いて、リフレッシュコピー検知アクティビティ１０４は、取得された文書情報に含まれているロケーション情報及び文書ＩＤを、画像データの読み出し条件として設定するよう保管文書読出フィルタ１１２に要求する（Ｓ１４０）。保管文書読出フィルタ１１２は、当該ロケーション情報及び文書ＩＤを、読み出し対象とする画像データを特定するための動作条件として保管文書読出プリファレンス１１２ｐに設定する。
【００９０】
続いて、リフレッシュコピー検知アクティビティ１０４は、プリファレンスツリーＰ２に基づいて、各フィルタ間を接続する画像パイプ２１を生成する（Ｓ１４１、Ｓ１４２）。ここでは、プリファレンスツリーＰ２における関連ｌ７に基づいて、保管文書読出フィルタ１１２と文書編集フィルタ１２１とを接続する画像パイプ２１ｂが生成され、関連ｌ８に基づいて、文書編集フィルタ１２１と印刷フィルタ１３１とを接続する画像パイプ２１ｃが生成される。
【００９１】
続いて、リフレッシュコピー検知アクティビティ１０４は、プリファレンスツリーＰ２に基づいて、コピーアクティビティ１０１と各フィルタと画像パイプ２１との接続を行い、第二ジョブのジョブツリーを生成する（Ｓ１４３）。
【００９２】
図１４は、リフレッシュコピー検知アクティビティの第二ジョブに関するジョブツリーの例を示す図である。同図に示されるジョブツリーＪ２は、リフレッシュコピー検知アクティビティ１０４、文書読出フィルタ１１２、文書編集フィルタ１２１、印刷フィルタ１３１、画像パイプ２１ｂ及び２１ｃ等より構成される。
【００９３】
リフレッシュコピー検知アクティビティ１０４と各フィルタとの接続（関連ｌ５５、ｌ５６、ｌ５７）は、プリファレンスツリーＰ２における関連ｌ４、ｌ５、ｌ６に基づいて生成される。また、保管文書読出フィルタ１１２と画像パイプ２１ｂとの接続（関連ｌ５８）、及び画像パイプ２１ｂと文書編集フィルタ１２１との接続（関連ｌ５９）は、プリファレンスツリーＰ２における関連ｌ７に基づいて生成される。また、文書編集フィルタ１２１と画像パイプ２１ｃとの接続（関連ｌ６０）、及び画像パイプ２１ｃと印刷フィルタ１３１との接続（関連ｌ６１）は、プリファレンスツリーＰ２における関連ｌ８に基づいて生成される。
【００９４】
ジョブツリーＪ２が構築されると、リフレッシュコピー検知アクティビティ１０４は、ジョブツリーＪ２に基づいてジョブの実行を開始する。まず、リフレッシュコピー検知アクティビティ１０４は、ジョブツリーＪ２において末端のフィルタである、印刷フィルタ１３１に対して処理の実行要求を行う（Ｓ１４４）。
【００９５】
実行要求を受けた印刷フィルタ１３１は、ジョブツリーＪ２において自らの入力先に接続されている画像パイプ２１ｃに１ページ分の画像データの入力を要求する（Ｓ１４５）。画像パイプ２１ｃは、自らが管理するメモリ領域に画像データが入力されていないため、ジョブツリーＪ２において自らの入力先に接続されている文書編集フィルタ１２１に対して処理の実行を要求する（Ｓ１４６）。文書編集フィルタ１２１は、ジョブツリーＪ２において自らの入力先に接続されている画像パイプ２１ｂに画像データの入力を要求する（Ｓ１４７）。画像パイプ２１ｂは、自らが管理するメモリ領域に画像データが入力されていないため、ジョブツリーＪ２において自らの入力先に接続されている保管文書読出フィルタ１１２に対して処理の実行を要求する（Ｓ１４８）。
【００９６】
保管文書読出フィルタ１１２は、実行要求に応じ、保管文書読出プリファレンス１１２ｐに設定された文書ＩＤ及びロケーション情報によって特定される画像データをＨＤＤ６３３より読み出し（取得し）（Ｓ１４９）、読み出された画像データをジョブツリーＪ２において自らの出力先に接続されている画像パイプ２１ｂに出力する（Ｓ１５０）。この際、ロケーション情報に基づいて、読み出すべき画像データが当該複合機１外に保存されていると判定される場合、保管文書読出フィルタ１１２は、ネットワークを介して画像データを取得する。なお、ここで読み出される画像データは、第一ジョブにおいて紙文書より読み取られた画像データに含まれていたバーコードに記録されていた紙ＩＤに係る画像データである。
【００９７】
画像パイプ２１ｂは、画像データの入力に応じ、画像データの入力を要求していた文書編集フィルタ１２１に対して画像パイプ２１ｂの状態変化（ここでは、画像データが入力されたこと）を通知する（Ｓ１５１）。当該通知に応じ、文書編集フィルタ１２１は、画像パイプ２１ｂより画像データを取得し、取得された画像データに対して文書編集プリファレンス１２１ｐに設定された動作条件に従って、画像データに対する画像処理を行う（Ｓ１５２）。続いて、文書編集フィルタ１２１は、画像処理が施された画像データを自らの出力先に接続されている画像パイプ２１ｃに出力する（Ｓ１５３）。画像パイプ２１ｃは、画像データの入力に応じ、画像データの入力を要求していた印刷フィルタ１３１に対して画像パイプ２１ｃの状態変化（ここでは、画像データが入力されたこと）を通知する（Ｓ１５４）。当該通知に応じ、印刷フィルタ１３１は、画像パイプ２１ｃより画像データを取得し、印刷プリファレンス１３１ｐに設定された動作条件に従って印刷部６０５を制御して取得された画像データの印刷を行う（Ｓ１５５）。続いて、印刷フィルタ１３１は、処理の完了をリフレッシュコピー検知アクティビティ１０４に通知する（Ｓ１５６）。以上によって、第二ジョブの実行が完了し、併せてリフレッシュコピー機能における読取段階の実行が完了する。なお、上記では、１ページ分のコピーについて説明しているが、複数ページのコピーの場合は、ステップＳ１４５〜Ｓ１５５までがページ数分繰り返される。
【００９８】
次に、第二の実施の形態として、セキュリティトレース検知アクティビティ１０５について説明する。図１５及び図１６は、第二の実施の形態における処理手順を説明するためのシーケンス図である。
【００９９】
ステップＳ２０１〜Ｓ２０４では、図８におけるステップＳ１０１〜Ｓ１０４と同様の手順によって、セキュリティトレース検知アクティビティ１０５からの要求に応じて読取フィルタ１１１は読取プリファレンス１１１ｐを、マーキング解析フィルタ１３５はマーキング解析プリファレンス１３５ｐを生成する。続いて、セキュリティトレース検知アクティビティ１０５は、自らに定義されているセキュリティトレース検知アクティビティ１０５と各フィルタとの接続関係に基づいて、各プリファレンスオブジェクトの間に関連を生成することによりプリファレンスツリーを生成する（Ｓ２０５）。
【０１００】
図１７は、セキュリティトレース検知アクティビティに関するプリファレンスツリーの例を示す図である。図１７中、図１０と同一部分には同一符号を付し、その説明は省略する。
【０１０１】
図１７において、プリファレンスツリーＰ３は、セキュリティトレース検知プリファレンス１０５ｐ、読取プリファレンス１１１ｐ、及びマーキング解析プリファレンス１３５ｐ等より構成される。セキュリティトレース検知プリファレンス１０５ｐは、セキュリティトレース検知アクティビティ１０５のプリファレンスオブジェクトである。
【０１０２】
マーキング解析プリファレンス１３５ｐに含まれるパラメータのうち、第二の実施の形態ではセキュリティトレース用パラメータ１３５ｐ２が用いられる。セキュリティトレース用パラメータ１３５ｐ２は、マーキング解析プリファレンス１３５ｐのマーキングタイプが「セキュリティトレース」の際に有効となるパラメータであり、検知モード、原稿濃度、及び検知閾値等を含む。検知モードは、速度優先で地紋を検知するか、正確性優先で地紋を検知するかを示す。原稿濃度は、画像の濃度を補正するためのパラメータである。原稿の濃度によって地紋が検知できあに場合があるために指定される。検知閾値は、地紋の検知を行う際の濃度の閾値を示す。
【０１０３】
なお、セキュリティトレースプリファレンス１０５ｐから他のプリファレンスオブジェクトへの関連ｌ１０及びｌ１１は、セキュリティトレース検知アクティビティ１０５と各フィルタとの利用関係に基づいて生成される。各フィルタ間の関連ｌ１２は、フィルタの実行順の前後関係に基づいて生成される。
【０１０４】
起動指示に対応する処理が完了すると（Ｓ２０６）、ＵＩ部２２は、オペレーションパネル６０２に、スタートボタンの押下を促すメッセージを表示させる。スタートボタンが押下されることにより、ユーザによってジョブの開始指示が入力されると、ＵＩ部２２は、セキュリティトレースに対してジョブの実行を指示する（Ｓ２０７）。ジョブの実行指示に応じ、セキュリティトレース検知アクティビティ１０５は、読取フィルタ１１１に対してマーキングタイプとして「セキュリティトレース」を引数として、当該マーキングタイプに対応した適切な動作条件を自ら（読取フィルタ１１１）に設定するよう要求する（Ｓ２０８）。
【０１０５】
当該要求に応じ、読取フィルタ１１１は、第一の実施の形態と同様に、指定されたマーキングタイプ（セキュリティトレース）の読み取りに適切な動作条件（読取条件）をマーキング解析サービス２５に問い合わせる（Ｓ２０９）。マーキング解析サービス２５は、セキュリティトレース用の地紋の読み取りに適切な読取条件を判定し（Ｓ２１０）、判定結果としての読取条件を読取フィルタ１１１に返却する（Ｓ２１１）。読取フィルタ１１１は、返却された読取条件を読取プリファレンス１１１ｐに設定する（Ｓ２１２）。
【０１０６】
読取フィルタ１１１による動作条件の設定が完了すると（Ｓ２１３）、セキュリティトレース検知アクティビティ１０５は、マーキングタイプ（セキュリティトレース）を引数として、当該マーキングタイプに対応した動作条件の設定をマーキング解析フィルタ１３５に要求する（Ｓ２１４）。マーキング解析フィルタ１３５は、当該要求に応じ、マーキング解析プリファレンス１３５ｐのマーキングタイプの値を「セキュリティトレース」に設定すると共に、セキュリティトレース用パラメータ１３５ｐ２の各パラメータの値を設定する。
【０１０７】
続いて、セキュリティトレース検知アクティビティ１０５は、プリファレンスツリーＰ３に基づいて、ジョブにおいて利用されるフィルタ間を接続する画像パイプ２１を生成する（Ｓ２１５）。ここでは、図１７のプリファレンスツリーＰ３における関連ｌ１２に基づいて、読取フィルタ１１１とマーキング解析フィルタ１３５とを接続する画像パイプ２１ｄが生成される。
【０１０８】
続いて、セキュリティトレース検知アクティビティ１０５は、プリファレンスツリーＰ３に基づいて、セキュリティトレース検知アクティビティ１０５と各フィルタと画像パイプ２１ｄとの接続を行うことによりジョブツリーを生成する（Ｓ２１６）。
【０１０９】
図１８は、セキュリティトレース検知アクティビティに関するジョブツリーの例を示す図である。同図に示されるジョブツリーＪ３は、セキュリティトレース検知アクティビティ１０５、読取フィルタ１１１、マーキング解析フィルタ１３５、及び画像パイプ２１ｄ等より構成される。
【０１１０】
セキュリティトレース検知アクティビティ１０５と各フィルタとの接続（関連ｌ６２、ｌ６３）は、プリファレンスツリーＰ３における関連ｌ１０及びｌ１１に基づいて生成される。また、読取フィルタ１１１と画像パイプ２１ｄとの接続（関連ｌ６４）、及び画像パイプ２１ｄとマーキング解析フィルタ１３５との接続（関連ｌ６５）は、プリファレンスツリーＰ３における関連ｌ１２に基づいて生成される。
【０１１１】
ジョブツリーＪ３が構築されると、セキュリティトレース検知アクティビティ１０５は、ジョブツリーＪ３に基づいてジョブの実行を開始する。まず、セキュリティトレース検知アクティビティ１０５は、ジョブツリーＪ３において末端のフィルタであるマーキング解析フィルタ１３５に対して処理の実行要を行う（Ｓ２１７）。ステップＳ２１８〜Ｓ２２２においては、図８におけるステップＳ１２４〜Ｓ１２８と同様の手順によって、画像データの読み取りが実行され、マーキング解析フィルタ１３５に対して画像パイプ２１ｄの状態変化（ここでは、画像データが入力されたこと）が通知される。なお、ステップＳ２２０では、セキュリティトレース用の地紋の読み取りに適した読取条件によって画像データの読み取りが行われる。
【０１１２】
画像パイプ２１ｄからの通知に応じ、マーキング解析フィルタ１３５は、画像パイプ２１ｄより画像データを取得し、マーキング解析プリファレンス１３５ｐに設定された動作条件（マーキングタイプ＝「セキュリティトレース」等）に基づいて画像データに合成されている地紋の解析処理を実行する（Ｓ２２３）。当該解析処理において、マーキング解析フィルタ１３５は、マーキングタイプ（セキュリティトレース）及びセキュリティトレース用パラメータ１３５ｐ２等を引数として、画像データに合成されているマーキングの解析をマーキング解析サービス２５に委譲する（Ｓ２２４）。マーキング解析サービス２５は、マーキングハンドリングサービス２６に対してマーキングタイプ（セキュリティトレース）とセキュリティトレース用パラメータ１３５ｐ２に設定されたパラメータとを指定して地紋の検知を要求する（Ｓ２２５）。マーキングハンドリングサービス２６は、指定されたパラメータに基づいて画像データからの地紋の検知を行い、検知された地紋に記録されているデータ（ビット列）を解析結果としてマーキング解析サービス２５に返却する（Ｓ２２６）。
【０１１３】
マーキング解析サービス２５は、解析結果として返却されたデータ（すなわち、地紋に埋め込まれているデータ）が紙ＩＤであるか否かを判定する（Ｓ２２７）。具体的には、当該データが紙ＩＤの値として適切か否か（紙ＩＤのデータ構成に合致するか否か）を判定する。当該データが紙ＩＤである場合、マーキング解析サービス２５は、当該紙ＩＤを引数として紙トレースサービス２４に対して文書情報の取得を要求する（Ｓ２２８）。紙トレースサービス２４は、指定された紙ＩＤに関連付けられている文書ＩＤに係る文書情報を取得し、取得された文書情報を返却する（Ｓ２２９）。マーキング解析サービス２５は、当該文書情報を解析結果としてマーキング解析フィルタ１３５に返却する（Ｓ２３０）。
【０１１４】
なお、ステップＳ２２７において、マーキングハンドリングサービス２６より返却されたデータが紙ＩＤではないと判定された場合、マーキング解析サービス２５は、ステップＳ２３０において当該データをそのまま返却する。本実施の形態では、セキュリティトレース用として地紋に埋め込まれている情報は紙ＩＤ又は文書情報そのものであるとする。したがって、いずれの場合であっても、ステップＳ２３０では文書情報がマーキング解析フィルタ１３５に返却される。
【０１１５】
続いて、マーキング解析フィルタ１３５は、解析結果としての文書情報を保持し、処理の完了通知をセキュリティトレース検知アクティビティ１０５に通知する（Ｓ２３１）。セキュリティトレース検知アクティビティ１０５は、地紋より解析された文書情報を取得し（Ｓ２３２、Ｓ２３３）、当該文書情報の表示をＵＩ部２２に実行させる（Ｓ２３４）。これにより、オペレーションパネル６０２には、セキュリティトレースの解析結果を表示させるセキュリティトレース検知画面が表示される。
【０１１６】
図１９は、セキュリティトレース検知画面の表示例を示す図である。図１９に示されるセキュリティトレース検知画面６１０は、今回実行されたジョブだけでなく、以前に行われたジョブを含んだ解析結果の一覧が表示される例が示されている。すなわち、セキュリティトレース検知画面６１０には、解析結果ごと（ジョブごと）に、検知日時、検知ジョブＩＤ、ジョブ総括、及び参照ボタンが表示されている。検知日時は、図１５及び図１６において説明したジョブが実行された日時である。検知ジョブＩＤは、当該ジョブのＩＤである。ジョブ総括は、当該ジョブの結果の概要を示すメッセージである。参照ボタンが押下されると、ＵＩ部２２は、対応するジョブにおいて地紋より解析（抽出）された文書情報を表示させる。なお、このように、過去のジョブによる検知結果についても表示させる場合は、セキュリティトレース検知アクティビティ１０５は、ジョブが実行される度に解析結果等をＨＤＤ６３３に蓄積しておけばよい。
【０１１７】
次に、第三の実施の形態として、改竄検知アクティビティ１０６について説明する。図２０及び図２１は、第三の実施の形態における処理手順を説明するためのシーケンス図である。
【０１１８】
ステップＳ３０１〜Ｓ３０５では、図８におけるステップＳ１０１〜Ｓ１０４及びＳ１０７と同様の手順によって、改竄検知アクティビティ１０６からの要求に応じて読取フィルタ１１１は読取プリファレンス１１１ｐを、マーキング解析フィルタ１３５はマーキング解析プリファレンス１３５ｐを、印刷フィルタ１３１は印刷プリファレンス１３１ｐを生成する。続いて、改竄検知アクティビティ１０６は、自らに定義されている改竄検知アクティビティ１０６と各フィルタとの接続関係に基づいて、各プリファレンスオブジェクトの間に関連を生成することによりプリファレンスツリーを生成する（Ｓ３０６）。
【０１１９】
図２２は、改竄検知アクティビティに関するプリファレンスツリーの例を示す図である。図２２中、図１０又は図１３と同一部分には同一符号を付し、その説明は省略する。
【０１２０】
図２２において、プリファレンスツリーＰ４は、改竄検知プリファレンス１０６ｐ、読取プリファレンス１１１ｐ、マーキング解析プリファレンス１３５ｐ、及び印刷プリファレンス１３１ｐ等より構成される。改竄検知プリファレンス１０６ｐは、改竄検知アクティビティ１０６のプリファレンスオブジェクトである。
【０１２１】
マーキング解析プリファレンス１３５ｐに含まれるパラメータのうち、第三の実施の形態では改竄検知用パラメータ１３５ｐ３が用いられる。改竄検知用パラメータ１３５ｐ３は、マーキング解析プリファレンス１３５ｐのマーキングタイプが「改竄検知」の際に有効となるパラメータであり、検知精度及び原稿濃度等を含む。検知精度は、地紋の検知精度の高さを示す。原稿濃度は、セキュリティトレース用検知パラメータ１３５ｐ２においける原稿濃度と同義である。
【０１２２】
改竄検知プリファレンス１０６ｐから他のプリファレンスオブジェクトへの関連ｌ１３、ｌ１４、及びｌ１５は、リフレッシュコピー検知アクティビティ１０４と各フィルタとの利用関係に基づいて生成される。各フィルタ間の関連ｌ１６及びｌ１７は、フィルタの実行順の前後関係に基づいて生成される。起動指示に対応する処理が完了すると（Ｓ３０７）、ＵＩ部２２は、改竄検知アクティビティ１０６のアクティビティＵＩに基づいて、改竄検知アクティビティ１０６の操作画面（改竄検知操作画面）をオペレーションパネル６０２に表示させる。
【０１２３】
図２３は、改竄検知操作画面の表示例を示す図である。図２３において、改竄検知操作画面７００は、印刷設定ボタン７１０及び検知設定ボタン７２０等より構成される。
【０１２４】
検知設定ボタン７２０が押下されると、ＵＩ部２２は、マーキング解析フィルタ１３５のフィルタ設定用ＵＩに基づいて、図２２に示される改竄検知用パラメータ１３５ｐ３を設定させるための画面を表示させる。当該画面において各パラメータの値が設定されると、ＵＩ部２２は、マーキング解析フィルタ１３５に対して設定内容を通知するとともに、マーキングタイプとして改竄検知を設定するように要求する（Ｓ３０８）。マーキング解析フィルタ１３５は、通知された設定内容を改竄検知用パラメータ１３５ｐ３に反映すると共に、マーキング解析プリファレンス１３５ｐのマーキングタイプを「改竄検知」に設定する。
【０１２５】
また、印刷設定ボタン７１０が押下されると、ＵＩ部２２は、印刷フィルタ１３１のフィルタ設定用ＵＩに基づいて、図２２に示される印刷プリファレンス１３１ｐのパラメータを設定させるための画面を表示させる。当該画面において各パラメータの値が設定されると、ＵＩ部２２は、設定内容を印刷フィルタ１３１に通知する（Ｓ３０９）。印刷フィルタ１３１は、通知された設定内容を印刷プリファレンス１３１ｐに反映する。
【０１２６】
続いて、オペレーションパネル６０２においてスタートボタンが押下されることにより、ユーザによってジョブの開始指示が入力されると、ＵＩ部２２は、改竄検知アクティビティ１０６に対してジョブの実行を指示する（Ｓ３１０）。ジョブの実行指示に応じ、改竄検知アクティビティ１０６は、読取フィルタ１１１に対してマーキングタイプとして「改竄検知」を引数として、当該マーキングタイプに対応した適切な動作条件を自ら（読取フィルタ１１１）に設定するよう要求する（Ｓ３１１）。
【０１２７】
当該要求に応じ、読取フィルタ１１１は、第一又は第二の実施の形態と同様に、指定されたマーキングタイプ（改竄検知）の読み取りに適切な動作条件（読取条件）をマーキング解析サービス２５に問い合わせる（Ｓ３１２）。マーキング解析サービス２５は、改竄検知用の地紋の読み取りに適切な読取条件を判定し（Ｓ３１３）、判定結果としての読取条件を読取フィルタ１１１に返却する（Ｓ３１４）。読取フィルタ１１１は、返却された読取条件を読取プリファレンス１１１ｐに設定する（Ｓ３１５）。
【０１２８】
続いて、改竄検知アクティビティ１０６は、プリファレンスツリーＰ４に基づいて、各フィルタ間を接続する画像パイプ２１を生成する（Ｓ３１７、Ｓ３１８）。ここでは、プリファレンスツリーＰ４における関連ｌ１６に基づいて、読取フィルタ１１１とマーキング解析フィルタ１３５とを接続する画像パイプ２１ｅが生成され、関連ｌ１７に基づいて、マーキング解析フィルタ１３５と印刷フィルタ１３１とを接続する画像パイプ２１ｆが生成される。
【０１２９】
続いて、改竄検知アクティビティ１０６は、プリファレンスツリーＰ４に基づいて、改竄検知アクティビティ１０６と各フィルタと画像パイプ２１ｅ及び２１ｆとの接続を行うことによりジョブツリーを生成する（Ｓ２１６）。
【０１３０】
図２４は、改竄検知アクティビティに関するジョブツリーの例を示す図である。同図に示されるジョブツリーＪ４は、改竄検知アクティビティ１０６、読取フィルタ１１１、マーキング解析フィルタ１３５、印刷フィルタ１３１、画像パイプ２１ｅ及び２１ｆ等より構成される。
【０１３１】
改竄検知アクティビティ１０６と各フィルタとの接続（関連ｌ７１、ｌ７２、ｌ７３）は、プリファレンスツリーＰ４における関連ｌ１３、ｌ１４、ｌ１５に基づいて生成される。また、読取フィルタ１１１と画像パイプ２１ｅとの接続（関連ｌ７４）、及び画像パイプ２１ｅとマーキング解析フィルタ１３５との接続（関連ｌ７５）は、プリファレンスツリーＰ４における関連ｌ１６に基づいて生成される。また、マーキング解析フィルタ１３５と画像パイプ２１ｆとの接続（関連ｌ７６）、及び画像パイプ２１ｆと印刷フィルタ１３１との接続（関連ｌ７７）は、プリファレンスツリーＰ４における関連ｌ１７に基づいて生成される。
【０１３２】
ジョブツリーＪ４が構築されると、改竄検知アクティビティ１０６は、ジョブツリーＪ４に基づいてジョブの実行を開始する。まず、改竄検知アクティビティ１０６は、ジョブツリーＪ４において末端のフィルタである、印刷フィルタ１３１に対して処理の実行要求を行う（Ｓ３２０）。
【０１３３】
実行要求を受けた印刷フィルタ１３１は、ジョブツリーＪ４において自らの入力先に接続されている画像パイプ２１ｆに１ページ分の画像データの入力を要求する（Ｓ３２１）。画像パイプ２１ｆは、自らが管理するメモリ領域に画像データが入力されていないため、ジョブツリーＪ４において自らの入力先に接続されているマーキング解析フィルタ１３５に対して処理の実行を要求する（Ｓ３２２）。マーキング解析フィルタ１３５は、ジョブツリーＪ４において自らの入力先に接続されている画像パイプ２１ｅに画像データの入力を要求する（Ｓ３２３）。画像パイプ２１ｅは、自らが管理するメモリ領域に画像データが入力されていないため、ジョブツリーＪ４において自らの入力先に接続されている読取フィルタ１１１に対して処理の実行を要求する（Ｓ３２４）。
【０１３４】
ステップＳ３２５〜Ｓ３２７においては、図８におけるステップＳ１２６〜Ｓ１２８と同様の手順によって、画像データの読み取りが実行され、マーキング解析フィルタ１３５に対して画像パイプ２１ｅの状態変化（ここでは、画像データが入力されたこと）が通知される。なお、ステップＳ３２５では、改竄検知用の地紋の読み取りに適した読取条件によって画像データの読み取りが行われる。
【０１３５】
画像パイプ２１ｅからの通知に応じ、マーキング解析フィルタ１３５は、画像パイプ２１ｅより画像データを取得し、マーキング解析プリファレンス１３５ｐに設定された動作条件（マーキングタイプ＝「改竄検知」等）に基づいて画像データに合成されている地紋の解析処理を実行する（Ｓ３２８）。当該解析処理において、マーキング解析フィルタ１３５は、マーキングタイプ（改竄検知）及び改竄検知用パラメータ１３５ｐ３等を引数として、画像データに合成されているマーキングの解析をマーキング解析サービス２５に委譲する（Ｓ３２９）。マーキング解析サービス２５は、マーキングハンドリングサービス２６に対してマーキングタイプ（改竄検知）と改竄検知用パラメータ１３５ｐ３に設定されたパラメータを指定して地紋の検知を要求する（Ｓ３３０）。マーキングハンドリングサービス２６は、指定されたパラメータに基づいて画像データからの地紋の検知を行い、検知された地紋に記録されているデータ（ビット列）を用いて、画像データの描画要素として記録されている情報（例えば、文章や図形等）の改竄の有無、及び改竄が有る場合はその位置（領域）を解析する。マーキングハンドリングサービス２６は、その解析結果をマーキング解析サービス２５に返却する（Ｓ３３１）。なお、地紋を利用した改竄の検知及び改竄位置の判定については、例えば、特開２００５−１２５３０号公報や特開２００５−１９２１４８号公報等に記載されている公知の技術を用いればよい。
【０１３６】
マーキングハンドリングサービス２６より返却される解析結果において改竄が検知されたことが示されている場合、マーキング解析サービス２５は、改竄された位置が視覚的に識別可能となるような画像処理を画像データに対して施す（Ｓ３３２）。例えば、改竄された位置を赤等の目立つ色による矩形又は円等によって囲む等、その位置にマークを付加する。続いて、マーキング解析サービス２５は、改竄が検知されなかった場合は、改竄を識別するための画像処理が施されていない画像データを、改竄が検知された場合は当該画像処理が施された画像データ（以下、双方を総称する場合「解析結果画像データ」という。）をマーキング解析フィルタ１３５に返却する（Ｓ３３３）。
【０１３７】
続いて、マーキング解析フィルタ１３５は、解析結果画像データをジョブツリーＪ４において自らの出力先に接続されている画像パイプ２１ｆに出力する（Ｓ３３４）。画像パイプ２１ｆは、解析結果画像データの入力に応じ、画像データの入力を要求していた印刷フィルタ１３１に対して画像パイプ２１ｆの状態変化（ここでは、画像データが入力されたこと）を通知する（Ｓ３３５）。当該通知に応じ、印刷フィルタ１３１は、画像パイプ２１ｆより解析結果画像データを取得し、印刷プリファレンス１３１ｐに設定された動作条件に従って印刷部６０５を制御して取得された解析結果画像データの印刷を行う（Ｓ３３６）。したがって、改竄が検知された場合、改竄位置を示すマークが付加された印刷結果が得られる。続いて、印刷フィルタ１３１は、処理の完了を改竄検知アクティビティ１０６に通知する（Ｓ３３７）。
【０１３８】
上述したように本実施の形態における複合機１によれば、各フィルタを部品として各機能を構築するため、機能のカスタマイズ又は拡張を簡便に行うことができる。すなわち、各フィルタ間には、機能的な依存関係はなく独立性が保たれているため、フィルタの新たな追加やフィルタの組み合わせの変更によって、新たな機能（アプリケーション）を容易に開発することができる。したがって、新たなアプリケーションの実装が要求された場合、当該アプリケーションの一部の処理について実装されていない場合は、当該一部の処理を実現するフィルタのみを開発し、インストールすればよい。
【０１３９】
したがって、本実施の形態のように、紙文書より読み取られた画像データに合成されているマーキングの解析機能を実現する場合も、マーキング解析フィルタ２５を追加すればよく、画像データの読み取りに関しては既存の読取フィルタ１１１を利用することで、開発効率を向上させることができる。
【０１４０】
また、フィルタの組み合わせによって構成される機能をアクティビティとして予め定義しておくことにより、より簡便な操作で、フィルタの組み合わせによる機能を利用することができる。
【０１４１】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【０１４２】
【図１】本発明の実施の形態における画像形成装置のハードウェア構成の一例を示す図である。
【図２】本発明の実施の形態の画像形成装置におけるソフトウェア構成例を示す図である。
【図３】パイプ＆フィルタアーキテクチャの概念を説明するための図である。
【図４】本実施の形態の複合機における各機能を実現するためのフィルタの組み合わせの例を示す図である。
【図５】フィルタの構成要素を説明するための図である。
【図６】アクティビティの構成要素を説明するための図である。
【図７】リフレッシュコピー機能を説明するための図である。
【図８】第一の実施の形態における処理手順を説明するためのシーケンス図である。
【図９】第一の実施の形態における処理手順を説明するためのシーケンス図である。
【図１０】リフレッシュコピー検知アクティビティの第一ジョブに関するプリファレンスツリーの例を示す図である。
【図１１】リフレッシュコピー検知操作画面の表示例を示す図である。
【図１２】リフレッシュコピー検知アクティビティの第一ジョブに関するジョブツリーの例を示す図である。
【図１３】リフレッシュコピー検知アクティビティの第二ジョブに関するプリファレンスツリーの例を示す図である。
【図１４】リフレッシュコピー検知アクティビティの第二ジョブに関するジョブツリーの例を示す図である。
【図１５】第二の実施の形態における処理手順を説明するためのシーケンス図である。
【図１６】第二の実施の形態における処理手順を説明するためのシーケンス図である。
【図１７】セキュリティトレース検知アクティビティに関するプリファレンスツリーの例を示す図である。
【図１８】セキュリティトレース検知アクティビティに関するジョブツリーの例を示す図である。
【図１９】セキュリティトレース検知画面の表示例を示す図である。
【図２０】第三の実施の形態における処理手順を説明するためのシーケンス図である。
【図２１】第三の実施の形態における処理手順を説明するためのシーケンス図である。
【図２２】改竄検知アクティビティに関するプリファレンスツリーの例を示す図である。
【図２３】改竄検知操作画面の表示例を示す図である。
【図２４】改竄検知アクティビティに関するジョブツリーの例を示す図である。
【符号の説明】
【０１４３】
１          複合機
１０        アプリケーションメカニズム
２０        サービスメカニズム
２１        画像パイプ
２２        ＵＩ部
２３        データ管理部
２４        紙トレースサービス
２５        マーキング解析サービス
２６        マーキングハンドリングサービス
２７ｂ      送信プラグイン
３０        デバイスメカニズム
４０        運用部
４１        プラグイン管理部
１０１      コピーアクティビティ
１０２      送信アクティビティ
１０３      ファクスアクティビティ
１０４      リフレッシュコピー検知アクティビティ
１０５      セキュリティトレース検知アクティビティ
１０６      改竄検知アクティビティ
１１１      読取フィルタ
１１２      保管文書読出フィルタ
１１３      メール受信フィルタ
１１４      ファクス受信フィルタ
１２１      文書編集フィルタ
１２２      文書変換フィルタ
１３１      印刷フィルタ
１３２      保管文書登録フィルタ
１３３      メール送信フィルタ
１３４      ファクス送信フィルタ
１３５      マーキング解析フィルタ
６０４      撮像部
６０５      印刷部
６０１      コントローラ
６０２      オペレーションパネル
６０３      ファクシミリコントロールユニット
６１１      ＣＰＵ
６１２      ＡＳＩＣ
６２１      ＮＢ
６２２      ＳＢ
６３１      ＭＥＭ−Ｐ
６３２      ＭＥＭ−Ｃ
６３３      ＨＤＤ
６３４      メモリカードスロット
６３５      メモリカード
６４１      ＮＩＣ
６４２      ＵＳＢデバイス
６４３      ＩＥＥＥ１３９４デバイス
６４４      セントロニクスデバイス
【図１】
0005169150.tif 000002
【図２】
0005169150.tif 000003
【図３】
0005169150.tif 000004
【図４】
0005169150.tif 000005
【図５】
0005169150.tif 000006
【図６】
0005169150.tif 000007
【図７】
0005169150.tif 000008
【図８】
0005169150.tif 000009
【図９】
0005169150.tif 000010
【図１０】
0005169150.tif 000011
【図１１】
0005169150.tif 000012
【図１２】
0005169150.tif 000013
【図１３】
0005169150.tif 000014
【図１４】
0005169150.tif 000015
【図１５】
0005169150.tif 000016
【図１６】
0005169150.tif 000017
【図１７】
0005169150.tif 000018
【図１８】
0005169150.tif 000019
【図１９】
0005169150.tif 000020
【図２０】
0005169150.tif 000021
【図２１】
0005169150.tif 000022
【図２２】
0005169150.tif 000023
【図２３】
0005169150.tif 000024
【図２４】
0005169150.tif 000025