説明

画像形成装置及びプログラム

【課題】画像に埋め込まれた情報の処理機能のカスタマイズ性を向上させることのできる画像形成装置を提供することを目的とする。
【解決手段】画像データに関してジョブの一部を構成する処理を実行するソフトウェア部品を接続してジョブを実行する画像形成装置であって、前記ソフトウェア部品の一つに基づいて、他の前記ソフトウェア部品より出力された画像データに対する埋め込み情報の抽出又は埋め込みに関する埋め込み情報処理を制御する埋め込み情報処理制御手段と、前記埋め込み情報制御手段からの指示に応じて、前記画像データに対する埋め込み情報処理を実行する埋め込み情報処理サービス手段とを有し、前記埋め込み情報処理サービス手段は、前記埋め込み情報処理の種類に対して共通の処理を実行する共通サービス手段と、前記種類に応じた固有の処理を行う一つ以上の固有サービス手段とを有することにより上記課題を解決する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像データに関してジョブの一部を構成する処理を実行するソフトウェア部品を接続してジョブを実行する画像形成装置及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、パイプ&フィルタアーキテクチャを採用し、フィルタと呼ばれるソフトウェアコンポーネントの組み合わせによって構成されるアクティビティと呼ばれるソフトウェアコンポーネントによって、ジョブを実行するアプリケーションが実現される画像形成装置が開示されている。このような画像形成装置によれば、機能のカスタマイズ又は拡張等を簡便化させることができる。
【0003】
他方において、画像形成装置の中には、スキャンされた原稿画像に埋め込まれている情報を抽出し、当該原稿に関する情報を解析する機能(例えば、原稿の改竄検知や流通経路の追跡(出力者検知)等。以下、総称して「マーキング検知機能」という。)を備えているものがある(例えば、特許文献2)。
【特許文献1】特開2007−325251号公報
【特許文献2】特開2006−20258号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、特許文献1に記載された画像形成装置において、マーキング検知機能を実現する場合を考える。この場合、入力フィルタによって入力された画像より情報を抽出し、解析処理を行い、その解析結果を出力するフィルタ(以下、「マーキング検知フィルタ」という。)を作成すればよい。ここで、改竄検知と、出力者検知とでは、情報の抽出処理、解析処理、解析結果の出力形態はそれぞれ異なるため、原稿画像に埋め込まれた情報の用途に応じてマーキング検知フィルタを作成する必要がある。したがって、改竄検知と出力者検知との双方の機能を実装する必要がある場合、それぞれに対応したマーキング検知フィルタ(例えば、改竄検知フィルタ、出力者検知フィルタ)を作成する必要がある。
【0005】
また、入力フィルタと各マーキング検知フィルタとの組み合わせごとにアクティビティを作成すればよい。例えば、改竄検知フィルタを利用する改竄検知アクティビティと、出力者検知フィルタを利用する出力者検知アクティビティとの二つのアクティビティを作成すればよい。
【0006】
このような開発作業は、特許文献1以前の技術に対しては非常に簡便である。しかし、各マーキングフィルタ、及び各マーキングフィルタを利用する各アクティビティについて多くの共通部分が見受けられることに鑑みれば、カスタマイズ性を更に向上させる余地が有ると考えられる。
【0007】
本発明は、上記の点に鑑みてなされたものであって、画像に埋め込まれた情報の処理機能のカスタマイズ性を向上させることのできる画像形成装置及びプログラムの提供を目的とする。
【課題を解決するための手段】
【0008】
そこで上記課題を解決するため、本発明は、画像データに関してジョブの一部を構成する処理を実行するソフトウェア部品を接続してジョブを実行する画像形成装置であって、前記ソフトウェア部品の一つに基づいて、他の前記ソフトウェア部品より出力された画像データに対する埋め込み情報の抽出又は埋め込みに関する埋め込み情報処理を制御する埋め込み情報処理制御手段と、前記埋め込み情報制御手段からの指示に応じて、前記画像データに対する埋め込み情報処理を実行する埋め込み情報処理サービス手段とを有し、前記埋め込み情報処理サービス手段は、前記埋め込み情報処理の種類に対して共通の処理を実行する共通サービス手段と、前記種類に応じた固有の処理を行う一つ以上の固有サービス手段とを有し、前記共通サービス手段は、前記埋め込み情報制御手段からの指示を受け付け、前記固有サービス手段は、前記画像データに対して前記埋め込み処理を実行することを特徴とする。
【0009】
このような画像形成装置では、画像に埋め込まれた情報の処理機能のカスタマイズ性を向上させることができる。
【発明の効果】
【0010】
本発明によれば、画像に埋め込まれた情報の処理機能のカスタマイズ性を向上させることのできる画像形成装置及びプログラムを提供することができる。
【発明を実施するための最良の形態】
【0011】
以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、情報処理装置の具体例として画像形成装置を用いて説明する。図1は、本発明の実施の形態における画像形成装置のハードウェア構成の一例を示す図である。図1では、画像形成装置の具体例として、プリンタ、コピー、スキャナ、又は、ファクス等の複数の機能を一台の筐体において実現する複合機1のハードウェア構成が示されている。
【0012】
複合機1のハードウェアとしては、コントローラ601と、オペレーションパネル602と、ファクシミリコントロールユニット(FCU)603と、撮像部604と、印刷部605が存在する。
【0013】
コントローラ601は、CPU611、ASIC612、NB621、SB622、MEM−P631、MEM−C632、HDD(ハードディスクドライブ)633、メモリカードスロット634、NIC(ネットワークインタフェースコントローラ)641、USBデバイス642、IEEE1394デバイス643、セントロニクスデバイス644により構成される。
【0014】
CPU611は、種々の情報処理用のICである。ASIC612は、種々の画像処理用のICである。NB621は、コントローラ601のノースブリッジである。SB622は、コントローラ601のサウスブリッジである。MEM−P631は、複合機1のシステムメモリである。MEM−C632は、複合機1のローカルメモリである。HDD633は、複合機1のストレージである。メモリカードスロット634は、メモリカード635をセットするためのスロットである。NIC641は、MACアドレスによるネットワーク通信用のコントローラである。USBデバイス642は、USB規格の接続端子を提供するためのデバイスである。IEEE1394デバイス643は、IEEE1394規格の接続端子を提供するためのデバイスである。セントロニクスデバイス644は、セントロニクス仕様の接続端子を提供するためのデバイスである。オペレーションパネル602は、オペレータが複合機1に入力を行うためのハードウェア(操作部)であると共に、オペレータが複合機1から出力を得るためのハードウェア(表示部)である。
【0015】
図2は、本発明の実施の形態の画像形成装置におけるソフトウェア構成例を示す図である。図2に示されるように、複合機1におけるソフトウェアは、アプリケーションメカニズム10、サービスメカニズム20、デバイスメカニズム30、及び運用部40等のレイヤによって構成される。図2におけるレイヤの上下関係は、レイヤ間の呼び出し関係に基づいている。すなわち、基本的に図中において上にあるレイヤが下のレイヤを呼び出す。図2に示されるソフトウェアは、例えば、HDD633に記憶されており、実行時にMEM−P631にロードされてCPU611にその機能を実行させる。
【0016】
アプリケーションメカニズム10は、複合機1が提供する機能又は情報(データ)等の資源をユーザに利用させるためのソフトウェア部品(プログラム)群が実装されているレイヤである。本実施の形態では、アプリケーションメカニズム10に実装される一部のソフトウェア部品を「フィルタ」と呼ぶ。これは、複合機1のジョブを実行するアプリケーションが、「パイプ&フィルタ」と呼ばれるソフトウェアアーキテクチャに基づいて構築されることによる。
【0017】
図3は、パイプ&フィルタアーキテクチャの概念を説明するための図である。図3において、「F」はフィルタを示し、「P」はパイプを示す。図中に示されるように、各フィルタはパイプによって接続される。フィルタは、入力されたデータに対して変換を施し、その結果を出力する。パイプは、例えば、両端のフィルタより参照可能な記録領域によって構成され、フィルタから出力されたデータを次のフィルタに伝達する。
【0018】
すなわち、本実施の形態における複合機1では、ジョブをドキュメント(データ)に対する「変換」の連続として捉える。複合機1のジョブは、ドキュメントの入力、加工、及び、出力によって構成されるものとして一般化することができる。そこで「入力」、「加工」、及び、「出力」を、それぞれ「変換」として捉え、一つの「変換」を実現するソフトウェア部品がフィルタとして構成される。入力を実現するフィルタを特に「入力フィルタ」という。また、加工を実現するフィルタを特に「加工フィルタ」という。更に、出力を実現するフィルタを特に「出力フィルタ」という。基本的に、各フィルタは、単独では一つのジョブを実行することはできず、それぞれジョブの一部を実行する複数のフィルタが、図3に示されるように接続されることにより、一つのジョブを実行するアプリケーションが構築される。
【0019】
なお、各フィルタは、フィルタフレームワーク110上で動作可能なように実装される。具体的には、各フィルタは、フィルタフレームワーク110において規定されたインタフェースを備える必要がある。フィルタフレームワーク110は、斯かるインタフェースを介して、各フィルタの実行手順等を制御する。
【0020】
また、各フィルタは独立しており、フィルタ間における依存関係(呼び出し関係)は基本的に存在しない。従って、フィルタ単位で追加(インストール)又は削除(アンインストール)が可能とされている。
【0021】
図2において、アプリケーションメカニズム10には、入力フィルタとして、読取フィルタ111、保管文書読出フィルタ112、メール受信フィルタ113、及びファクス受信フィルタ114等が示されている。
【0022】
読取フィルタ111は、撮像部604(スキャナ)による画像データの読み取りを制御し、読み取られた画像データを出力する。保管文書読出フィルタ112は、複合機1の記憶装置に保管されている文書データ(画像データ)を読み出し、読み出されたデータを出力する。メール受信フィルタ113は、電子メールを受信し、当該電子メールに含まれているデータを出力する。ファクス受信フィルタ114は、ファクス受信を制御し、受信された印刷データを出力する。
【0023】
また、加工フィルタとしては、文書編集フィルタ121及び文書変換フィルタ122等が示されている。文書編集フィルタ121は、入力されたデータに所定の画像変換処理(変倍、回転、及び集約等)を施し、出力する。文書変換フィルタ122は、画像データのデータ形式を変換する。文書変換フィルタ122は、例えば、レンダリング処理、すなわち、入力されたPostScriptデータをビットマップデータに変換して出力する。
【0024】
また、出力フィルタとしては、印刷フィルタ131、保管文書登録フィルタ132、メール送信フィルタ133、ファクス送信フィルタ134、及びマーキングフィルタ135等が示されている。
【0025】
印刷フィルタ131は、入力されたデータをプロッタに出力(印刷)させる。保管文書登録フィルタ132は、入力されたデータを複合機1内の記憶装置、例えば、HDD633に保存する。メール送信フィルタ133は、入力されたデータを電子メールに添付して送信する。ファクス送信フィルタ134は、入力されたデータをファクス送信する。マーキングフィルタ135は、入力された画像データに対する埋め込み情報の抽出処理又埋め込み処理を制御し、その処理結果を出力する。ここで、埋め込み情報とは、地紋やバーコード等の形式によって、画像の描画要素とは別に、画像に対して埋め込まれる(又は埋め込まれた)情報をいう。埋め込み情報の用途は所定のものに限定されないが、例えば、紙文書の改竄の検知や、紙文書の出力者(印刷指示したユーザ又はコピー指示したユーザ)の検知(出力者検知)等が挙げられる。
【0026】
例えば、複合機1における各種機能は、次のようなフィルタの組み合わせにより実現される。図4は、本実施の形態の複合機における各機能を実現するためのフィルタの組み合わせの例を示す図である。
【0027】
例えば、コピー機能は、読取フィルタ111と印刷フィルタ131とを接続することにより実現される。読取フィルタ111によって原稿より読み取られた画像データを印刷フィルタ131によって印刷すればよいからである。なお、集約、拡大、又は縮小等の加工が要求された場合は、これらの加工を実現する文書編集フィルタ121が二つのフィルタの間に挿入される。
【0028】
スキャンto email機能(スキャンした画像データを電子メールで転送する機能)は、読取フィルタ111とメール送信フィルタ133とを接続することによって実現される。ファクス送信機能は、読取フィルタ111とファクス送信フィルタ134とを接続することによって実現される。ファクス受信機能は、ファクス受信フィルタ114と印刷フィルタ131とを接続することによって実現される。ドキュメントボックス蓄積機能(スキャンした画像データを複合機1内に保存する機能)は、読取フィルタ111と保管文書登録フィルタ132とを接続することによって実現される。ドキュメントボックス印刷機能(複合機1内に保存されている文書データを印刷する機能)は、保管文書読出フィルタ102と印刷フィルタ131とを接続することにより実現される。
【0029】
図4において、例えば、読取フィルタ111については5つの機能において利用されている。このように、各フィルタは複数の機能から利用可能であり、それによって各機能を実現するための開発工数を削減することができる。また、複合機1では各フィルタを部品としてアプリケーションを構築するため、機能のカスタマイズ又は拡張を簡便に行うことができる。すなわち、各フィルタ間には、機能的な依存関係はなく独立性が保たれているため、フィルタの新たな追加やフィルタの組み合わせの変更によって、新たなアプリケーションを容易に開発することができる。したがって、新たなアプリケーションの実装が要求された場合、当該アプリケーションの一部の処理について実装されていない場合は、当該一部の処理を実現するフィルタのみを開発し、インストールすればよい。よって、アプリケーションメカニズム10より下位のレイヤについて、新たなアプリケーションの実装に応じて発生する修正の頻度を低下させることができ、安定したプラットフォームを提供することができる。
【0030】
アプリケーションメカニズム10には、また、「アクティビティ」と呼ばれるソフトウェア部品が存在する。アクティビティは、複数のフィルタをどの順番で接続するかを管理し、その順番でフィルタを実行させることによりジョブを実行するソフトウェア部品であり、一つのアクティビティによって一つのアプリケーションが実現される。
【0031】
すなわち、フィルタはそれぞれ独立性が高いため、フィルタの組み合わせ(接続関係)を動的に構築することが可能である。具体的には、ジョブの実行要求を受け付けるたびに、利用するフィルタと、フィルタの実行順序、及びそれぞれのフィルタの動作条件等をオペレーションパネル602を介してユーザに設定させることにより、ユーザ所望の機能を実現するようにしてもよい。
【0032】
しかし、コピー機能のように頻繁に利用する機能については、毎回フィルタを選択することにより実行指示を行うのはユーザにとって煩雑である。かかる課題を解決するのがアクティビティである。すなわち、フィルタの組み合わせ(接続関係)をアクティビティとして予め定義しておけば、ユーザは、アクティビティを単位として実行対象を選択することができる。選択されたアクティビティは、当該アクティビティに定義された組み合わせに係る各フィルタを自動的に実行する。したがって、アクティビティによって、操作の煩雑さを解消することができるとともに、アプリケーション単位で実行対象を選択していた従来のユーザインタフェースと同様の操作感を提供することができる。
【0033】
図中には、アクティビティの一例として、コピーアクティビティ101、送信アクティビティ102、ファクスアクティビティ103、及びマーキングアクティビティ104等が含まれる。例えば、コピーアクティビティ101は、読取フィルタ111と、文書編集フィルタ121と、印刷フィルタ131との組み合わせにより、コピージョブ(コピーアプリケーション)を実現する。マーキングアクティビティ104については後述する。
【0034】
なお、各アクティビティは、アクティビティフレームワーク100上で動作可能なように実装される。具体的には、各アクティビティは、アクティビティフレームワーク100において規定されたインタフェースを備える必要がある。アクティビティフレームワーク100は、斯かるインタフェースを介して、各アクティビティの実行手順等を制御する。
【0035】
また、基本的に各アクティビティは独立しており、アクティビティ間における依存関係(呼び出し関係)は基本的に存在しない。したがって、アクティビティ単位で追加(インストール)又は削除(アンインストール)が可能である。よって、図2に示されているアクティビティ以外にも、必要に応じて各種のフィルタの組み合わせによるアクティビティを作成し、インストールすることができる。
【0036】
フィルタ及びアクティビティについて更に詳しく説明する。図5は、フィルタの構成要素を説明するための図である。図5に示されるように、各フィルタは、フィルタ設定用UI、フィルタロジック、フィルタ固有下位サービス、及び永続記憶領域情報等より構成される。このうち、フィルタ設定用UI、フィルタ固有下位サービス、及び永続記憶領域情報については、フィルタによって必ずしも構成要素に含まれない。
【0037】
フィルタ設定用UIは、フィルタの動作条件等を設定させるための画面をオペレーションパネル602等に表示させるプログラムである。すなわち、フィルタごとに動作条件が設定される。例えば、読取フィルタ111であれば、フィルタ設定用UIは、原稿種類、読取サイズ、解像度等を設定させる画面が相当する。なお、オペレーションパネル602が、HTMLデータや、スクリプトに基づいて表示制御を行うことが可能であれば、フィルタ設定用UIは、HTMLデータやスクリプトであってもよい。
【0038】
フィルタロジックは、フィルタの機能を実現するためロジックが実装されたプログラムである。すなわち、フィルタの構成要素としてのフィルタ固有下位サービスや、サービスメカニズム20等を利用して、フィルタ設定用UIを介して設定された動作条件に応じてフィルタの機能を実現する。例えば、読取フィルタ111であれば、撮像部604による原稿の読み取り制御のためのロジックが相当する。
【0039】
フィルタ固有下位サービスは、フィルタロジックを実現するために必要な下位機能(ライブラリ)である。
【0040】
永続記憶領域情報は、フィルタに対する設定情報(例えば、動作条件のデフォルト値)等、不揮発メモリに保存する必要があるデータのスキーマ定義が相当する。当該スキーマ定義は、フィルタのインストール時にデータ管理部23に登録される。
【0041】
図6は、アクティビティの構成要素を説明するための図である。図6に示されるように、アクティビティは、アクティビティUI、アクティビティロジック、及び永続記憶領域情報等より構成される。
【0042】
アクティビティUIは、アクティビティに関する画面(例えば、アクティビティの動作条件等を設定させるための設定画面)をオペレーションパネル602等に表示させるための情報又はプログラムである。
【0043】
アクティビティロジックは、アクティビティの処理内容が実装されたプログラムである。基本的に、アクティビティロジックには、フィルタの組み合わせに関するロジック(例えば、フィルタの実行順、複数のフィルタに跨る設定、フィルタの接続変更、エラー処理等)が実装されている。
【0044】
永続記憶領域情報は、アクティビティに対する設定情報(例えば、動作条件のデフォルト値)等、不揮発メモリに保存する必要があるデータのスキーマ定義が相当する。当該スキーマ定義は、アクティビティのインストール時にデータ管理部23に登録される。
【0045】
図2に戻る。サービスメカニズム20は、アクティビティ又はフィルタ等が利用するプリミティブなサービスを提供するソフトウェア部品や、アプリケーションが機種等のハード的な仕様に対して非依存となるための仕組みを提供すソフトウェア部品等が実装されるレイヤである。図中において、サービスメカニズム20には、画像パイプ21、UI部22、データ管理部23、及びマーキングサービス24等のソフトウェア部品が含まれる。
【0046】
画像パイプ21は、上述したパイプの機能を実現する。すなわち、メモリ領域等を用いて或るフィルタからの出力データを次のフィルタに伝達する。なお、図中において、画像パイプ21は、一つのブロックによって示されているが、その実体はフィルタ間を接続するパイプの数だけ生成される。
【0047】
UI部22は、オペレーションパネル602に表示される操作画面を介して入力されるユーザ要求を解釈し、ユーザ要求に応じた処理制御をアプリケーションメカニズム10又はサービスメカニズム20等におけるソフトウェア部品に委譲する。データ管理部23は、ユーザ情報等、機器内外に保存される各種情報について、保存方法、及び保存場所等を規定する。
【0048】
マーキングサービス24は、マーキングフィルタ135からの要求に応じ、画像データに対する埋め込み情報の抽出処理又は埋め込み処理を行う。
【0049】
デバイスメカニズム30は、複合機1が有するデバイス毎に設けられたデバイスを制御する手段を有する。
【0050】
運用部40は、システムの運用管理に関するソフトウェア部品が実装される部分であり、アプリケーションメカニズム10、サービスメカニズム20、及びデバイスメカニズム30より共通に利用される。図中において、運用部40には、プラグイン管理部41が含まれている。プラグイン管理部41は、アクティビティ及びフィルタ等、自由に抜き差し(インストール・アンインストール)可能なソフトウェア部品の情報を管理する。
【0051】
以上のようなソフトウェア構成を有する複合機1における、埋め込み情報の抽出又は埋め込み機能(以下、「マーキング処理機能」という。)について詳細に説明する。
【0052】
図7は、マーキング処理機能を実現するためのソフトウェアコンポーネントの構成例を示す図である。マーキング処理機能に関するジョブ(以下、「マーキングジョブ」という。)は、マーキングアクティビティ104によって制御される。同図において、マーキングアクティビティ104は、読取フィルタ111と、マーキングフィルタ104と、印刷フィルタ131との組み合わせによりマーキングジョブを実行する。但し、印刷フィルタ131は、マーキング処理機能の種類に応じて必ずしも必要ではない。
【0053】
例えば、マーキングジョブの一つである出力者検知ジョブを実行する場合、読取フィルタ111の制御によって撮像部604より紙文書の画像データが読み取られ、マーキングフィルタ135の制御によって当該紙文書(当該画像データ)に対して地紋又はバーコード等の形式によって埋め込まれている出力者検知用の埋め込み情報(出力者検知情報)が抽出される。出力者検知情報を抽出するための画像処理は、マーキングサービス24によって実行される。続いて、抽出された情報(出力者を示す情報(例えば、誰によって印刷されたかを示す情報))は、オペレーションパネル602に表示される。このように、出力者検知ジョブの場合、文書編集フィルタ121及び印刷フィルタ131は必要ではない。
【0054】
一方、やはりマーキングジョブの一つである改竄検知ジョブを実行する場合、読取フィルタ111の制御によって撮像部604より画像データが読み取られ、マーキングフィルタ135の制御によって当該画像データに対する改竄検知用の埋め込み情報がマーキングフィルタ135によって読み取られ、マーキングフィルタ135の制御によって当該紙文書(当該画像データ)に対して地紋又はバーコード等の形式によって埋め込まれている改竄検知用の埋め込み情報(改竄検知情報)が抽出される。改竄検知情報を抽出するための画像処理は、マーキングサービス24によって実行される。マーキングサービス24は、更に、改竄検知情報に基づいて改竄の有無及び改竄されている場合は改竄の箇所を特定し、当該箇所に赤丸を付す等の画像処理を行う。なお、地紋を利用した改竄の検知及び改竄位置の判定については、例えば、特開2005−12530号公報や特開2005−192148号公報等に記載されている公知の技術を用いればよい。
【0055】
マーキングサービス24によって改竄が検知された場合、マーキングフィルタ135は、改竄箇所に赤丸が付された画像データを文書編集フィルタ121に出力する。続いて、印刷フィルタ131によって当該画像データが印刷される。したがって、ユーザは、印刷された文書を参照することにより改竄の存在及び改竄位置を認識することができる。一方、マーキングサービス24によって改竄が検知されなかった場合、改竄は無いことを示すメッセージがオペレーションパネル602に表示されることにより改竄検知ジョブは終了する。したがって、この場合、文書編集フィルタ121及び印刷フィルタ131は利用されない。
【0056】
なお、同図では入力フィルタとして読取フィルタ111を、出力フィルタ131として印刷フィルタを用いた例を示しているが、入力フィルタ及び出力フィルタは、実現したいジョブの種類に応じて適宜変更すればよい。
【0057】
図7においてマーキング処理機能を実現するために必須のソフトウェアコンポーネント(破線で囲まれたもの)について更に詳しく説明する。図8は、マーキングアクティビティ、マーキングフィルタ、及びマーキングサービスの構成例を示す図である。
【0058】
同図において、マーキングアクティビティ104は、マーキングアクティビティ共通部1041及びマーキングアクティビティ固有部1042より構成される。マーキングアクティビティ共通部1041は、マーキングアクティビティ104として実行すべき処理のうち、マーキングジョブの種類に対して共通に実行される処理が実装された部分である。一方、マーキングアクティビティ固有部1042は、マーキングジョブの種類に応じた固有の処理を実行する部分であり、当該種類ごとに実装される。なお、マーキングアクティビティ固有部1042は、マーキングアクティビティ共通部1041において規定されているインタフェース(関数又はメソッド)を備えている必要がある。換言すれば、マーキングアクティビティ固有部1042は、当該関数等についてマーキングジョブの種類に応じた固有の処理を実装することにより生成される。
【0059】
マーキングサービス24も同様に、マーキングサービス共通部241及びマーキングサービス固有部242より構成される。マーキングサービス共通部241は、マーキングサービス24として実行すべき処理のうち、マーキング処理の種類に対して共通に実行される処理が実装された部分である。一方、マーキングサービス固有部242は、マーキング処理の種類に応じた固有の処理を実行する部分であり、当該種類ごとに実装される。なお、マーキングサービス固有部242は、マーキングサービス共通部241において規定されているインタフェース(関数又はメソッド)を備えている必要がある。換言すれば、マーキングサービス固有部242は、当該関数等についてマーキング処理の種類に応じた固有の処理を実装することにより生成される。
【0060】
一方、マーキングフィルタ135は、マーキング処理機能の種類に対して汎用的に作られている。したがって、マーキング処理機能の種類を問わず同一のマーキングフィルタ135が利用される。これは、マーキング処理機能の種類に対して異なる部分がマーキングアクティビティ固有部1042及びマーキングサービス固有部242によって吸収されるからである。
【0061】
なお、同図において、マーキング処理機能の種類に対して共通な部分(マーキングアクティビティ共通部1041、マーキングフィルタ135、及びマーキングサービス共通部241)は、マーキング処理機能を実現するためのフレームワーク(以下、「マーキングフレームワーク」という。)として機能する。すなわち、或るマーキング処理機能を実装したい場合、マーキングフレームワーク以外の部分(マーキングアクティビティ固有部1042及びマーキングサービス固有部242)を、マーキングフレームワークにおいて規定されるインタフェースに従って実装すればよい。
【0062】
例えば、図9は、マーキングフレームワークに対して出力者検知機能及び改竄検知機能を実装した場合の構成例を示す図である。
【0063】
同図では、マーキングアクティビティ固有部1402として、及び出力者検知アクティビティ部1042a及び改竄検知アクティビティ部1042bがプラグインされた例が示されている。また、マーキングサービス固有部242として、出力者検知サービス部242a及び改竄検知サービス部242bがプラグインされた例が示されている。同図の構成によれば、出力者検知ジョブと改竄検知ジョブとの実行が可能となる。
【0064】
図10は、マーキングサービス共通部の構成例を示す図である。同図において、マーキングサービス共通部241は、代理部2411、固有部管理部2412、固有部実行部2413、及びサービス処理条件2414等を含む。
【0065】
代理部2411は、マーキングサービス共通部241の窓口的な存在であり、各種のマーキング処理機能に対して共通のインタフェース(関数又はメソッド)をマーキングフィルタ135に提供する。代理部2411は、当該共通のインタフェースを介してマーキングフィルタ135からの各種の要求を受け、当該要求をマーキングサービス固有部242に伝達する。このように、マーキングフィルタ135からは、マーキングサービス固有部242が直接呼び出されることはない。したがって、マーキングフィルタ135は、実行されるマーキング処理機能がいかなるものかを意識することなく、マーキングサービス24を利用することができる。
【0066】
固有部管理部2412は、マーキングサービス固有部242の管理を行う。具体的には、固有部管理部2412は、インストールされているマーキングサービス固有部242の一覧情報の管理や、各マーキングサービス固有部242のロード(例えば、オブジェクトのインスタンス化)等を行う。
【0067】
サービス処理条件2414は、ジョブの実行時におけるマーキングサービス24の処理の実行条件を格納するためのデータ(オブジェクト)である。具体的には、サービス処理条件2414は、実行対象とされているジョブにおいて利用されるマーキングサービス固有部242のインスタンスを識別する情報(インスタンス自体又は参照等でよい。)を格納する。
【0068】
固有部実行部2413は、代理部2411からの要求に応じ、サービス処理条件2414に格納された情報によって特定されるマーキングサービス固有部242に具体的な(各マーキング処理機能に応じた)処理を実行させる。
【0069】
なお、同図には、固有部インタフェース2415が示されている。固有部インタフェース2415は、実体が存在するものではなく、マーキングサービス固有部242が備えるべきインタフェースを示す。基本的に、固有部インタフェース2415は、代理部2411がマーキングフィルタ135に対して提供するインタフェースに対応する(対をなす)。代理部2411及び固有部実行部2413等は、固有部インタフェース2415に基づいて、マーキングフィルタ135からの要求を各マーキングサービス固有部242に伝達する。
【0070】
以下、マーキング処理機能を実行する際に複合機1において実行される処理手順について説明する。まず、マーキングジョブのための初期化処理について説明する。ここでいう初期化処理とは、マーキングジョブを実行するための準備処理をいい、例えば、複合機1の起動時等に自動的に実行される。但し、ユーザによるマーキングジョブの利用要求に応じて(例えば、オペレーションパネル602におけるマーキングジョブに対応するボタンの選択に応じて)実行されてもよい。
【0071】
図11は、マーキングジョブのための初期化処理の概要を説明するための図である。同図に示されるように、初期化処理ではマーキングジョブにおいて利用される各フィルタ(読取フィルタ111、マーキングフィルタ135、及び印刷フィルタ135)に対して設定が必要な実行条件を構成するパラメータ(属性項目(設定項目))の構成情報(属性名、データ型、属性値(初期値))が各フィルタよりマーキングアクティビティ104に対して設定される。読取フィルタ111の実行条件を読取属性という。マーキングフィルタ135の実行条件をマーキング属性という。印刷フィルタ131の実行条件を印刷属性という。
【0072】
同図において注目すべき点は、マーキング属性のマーキングアクティビティ104に対する設定については、マーキングフィルタ135が実行するのではなく、マーキングサービス24に委譲されている点である。これは、複合機1にインストールされているマーキングサービス固有部242ごとにマーキング属性の構成が異なるからである。マーキング属性の設定がマーキングサービス24に委譲されることにより、マーキングフィルタ135の汎用性が確保されている。なお、マーキング属性は、マーキングフィルタ135に対しても設定される。
【0073】
初期化処理について更に詳細に説明する。図12及び図13は、マーキングジョブのための初期化処理を説明するためのシーケンス図である。
【0074】
ステップS101において、アクティビティフレームワーク100は、マーキングアクティビティ共通部1041に対してプリファレンスの生成を要求する(S101)。本実施の形態において、「プリファレンス」とは、アクティビティロジック又はフィルタロジックの一部を構成するオブジェクトであって、ジョブ等の実行条件を構成する属性項目に関する情報を格納するためのオブジェクトをいう。具体的には、プリファレンスは、各属性項目の属性名、データ型、及び属性値等を格納する。
【0075】
続いて、マーキングアクティビティ共通部1041は、マーキングジョブ用のプリファレンスとしてマーキングアクティビティプリファレンス1041pを生成(インスタンス化)し(S102)、生成されたマーキングアクティビティプリファレンス1041pをアクティビティフレームワーク100に返却する(S103)。なお、この時点においてマーキングアクティビティプリファレンス1041pの中身は空である。すなわち、実行条件の属性項目の構成情報は設定されていない。
【0076】
続いて、アクティビティフレームワーク100は、マーキングアクティビティプリファレンス1041pのセットアップ(実行条件の属性項目の構成情報の設定)をマーキングアクティビティプリファレンス1041pに要求する(S104)。当該要求に応じマーキングアクティビティプリファレンス1041pは、自ら(マーキングアクティビティプリファレンス1041p)のインスタンスを引数として、マーキング属性の構成情報(各属性項目の属性名及びデータ型)の設定をマーキングサービス共通部241の代理部2411に対して要求する(S105)。当該要求に応じマーキングサービス24は、マーキング属性の構成情報(属性名及びデータ型)の設定をマーキングアクティビティプリファレンス1041pに対して行う(S106)。ステップS106の詳細については後述する。
【0077】
続いて、マーキングアクティビティプリファレンス1041pは、マーキングアクティビティプリファレンス1041pに対する属性値(ここでは初期値)の設定を代理部2411に対して要求する(S107)。当該要求に応じマーキングサービス24は、ステップS106においてその構成情報が設定されているマーキング属性の各属性項目について初期値(デフォルト値)を設定する(S108)。ステップS108の詳細については後述する。
【0078】
ステップS106及びS108では、空のマーキングプリファレンス104pに対してマーキング属性のスキーマ定義(各属性項目の属性名及びデータ型)と初期値とが定義されたことになる。斯かる定義をマーキングサービス24に動的に行わせるのは、マーキング属性の構成はどのようなマーキングサービス固有部242がプラグインされているかによって異なり、予め固定的に定めることはできないからである。
【0079】
続いて、マーキングアクティビティプリファレンス1041pは、現在インストールされている各マーキングアクティビティ固有部242(本実施の形態では出力者検知アクティビティ部1042a及び改竄検知アクティビティ部1042b)に、それぞれに固有のマーキング処理機能を実行するために必要な実行条件の構成情報の設定を実行させる。
【0080】
まず、マーキングアクティビティプリファレンス1041pは、出力者検知アクティビティ部1042aをインスタンス化する(S109)。続いて、マーキングアクティビティプリファレンス1041pは、出力者検知アクティビティ部1042aに対し、出力者検知ジョブの実行条件に関する情報の設定(マーキングアクティビティプリファレンス1041pへの設定)を要求する(S110)。当該要求に応じ、出力者検知アクティビティ部1042aは、出力者検知ジョブにおいて利用する各フィルタ(読取フィルタ111、マーキングフィルタ135)よりそれぞれの実行条件に関する情報を格納するプリファレンス(フィルタプリファレンス)を取得する。
【0081】
まず、出力者検知アクティビティ部1042aは、読取フィルタ111に対しフィルタプリファレンスの生成を要求する(S111)。読取フィルタ111は、読取属性を構成する各属性項目の属性名、データ型、初期値が格納されたフィルタプリファレンス(読取フィルタプリファレンス)を生成し、当該読取フィルタプリファレンスを出力者検知アクティビティ部1042aに返却する(S112)。
【0082】
続いて、出力者検知アクティビティ部1042aは、読取フィルタプリファレンスに設定されている属性項目のうち、UI画面(設定画面)に表示させる属性項目(表示項目)に関する属性名のリストをマーキングアクティビティプリファレンス1041pに設定する(S113)。すなわち、読取フィルタ111は、各種のアクティビティ(各種のアプリケーション)から利用可能なように汎用的に作られている。したがって、読取フィルタ111の属性項目も汎用的な構成となっている。しかし、出力者検知ジョブを実行するに際し、読取フィルタ111の属性項目のうち属性値が所定値(固定的)である必要があるもの(例えば、解像度等)がある。そこで、斯かる属性項目については設定画面では非表示とされるように全属性項目から非表示とする属性項目が除かれた表示項目がマーキングアクティビティプリファレンス1041pに設定されるのである。なお、いずれを表示項目とするかの判定は、ロジックとしてハードコーディングされていてもよいし、例えば、図14に示されるようなテーブル形式でHDD633に記録されている情報(表示項目定義テーブル)に基づいて行われてもよい。後者の場合、機能拡張等に応じて柔軟に対応できるという利点がある。なお、図14の例では、表示要否の値が「TRUE」の属性項目が表示項目とされる。
【0083】
続いて、出力者検知アクティビティ部1042aは、読取フィルタプリファレンスに設定されている全ての属性項目について属性名と属性値(初期値)とをマーキングアクティビティプリファレンス1041pに設定する(S114)。
【0084】
続いて、出力者検知アクティビティ部1042aは、マーキングフィルタ135について、読取フィルタ111に関して行った処理と同様のことを繰り返す。まず。出力者検知アクティビティ部1042aは、マーキングフィルタ135に対しフィルタプリファレンスの生成を要求する(S115)。マーキングフィルタ135は、マーキングフィルタ135用の空のフィルタプリファレンス(マーキングフィルタプリファレンス)を生成し、当該マーキングプリファレンスに対するマーキング属性の構成情報の設定をマーキングサービス共通部241の代理部2411に対して要求する(S116)。当該要求に応じマーキングサービス24は、マーキング属性の構成情報(属性名及びデータ型)の設定をマーキングフィルタプリファレンスに対して行う(S117)。ステップS117の詳細については後述する。
【0085】
続いて、マーキングフィルタ135は、マーキングフィルタプリファレンスに対する属性値(ここでは属性の初期値)の設定を代理部2411に対して要求する(S118)。当該要求に応じマーキングサービス24は、ステップS117においてその構成情報が設定されているマーキング属性の各属性項目について初期値(デフォルト値)を設定する(S119)。ステップS119の詳細については後述する。続いて、マーキングフィルタ135は、マーキングフィルタプリファレンスを出力者検知アクティビティ1042aに返却する(S120)。
【0086】
続いて、出力者検知アクティビティ部1042aは、マーキングフィルタプリファレンスに設定されている全ての属性項目について属性名と属性値(初期値)とをマーキングアクティビティプリファレンス1041pに設定する(S121)。
【0087】
続いて、出力者検知アクティビティ部1042aは、出力者検知ジョブにおいて利用する読取フィルタ111とマーキングフィルタ135とのそれぞれのフィルタプリファレンス(読取フィルタプリファレンス、マーキングフィルタプリファレンス)を、フィルタの実行順に対応させて接続する(S122)。すなわち、フィルタの接続関係を決定する。したがって、読取フィルタプリファレンスが前段(前方)となり、マーキングフィルタプリファレンスが後段(後方)となる。図15に、読取フィルタプリファレンス111pとマーキングフィルタプリファレンス135pとが接続された状態を示す。
【0088】
続いて、図13に進み、マーキングアクティビティプリファレンス1041pは、ステップS111からステップS122において出力者検知アクティビティ部1042aが実行した処理と同様の処理を改竄検知アクティビティ部1042bに実行させる。まず、マーキングアクティビティプリファレンス1041pは、改竄検知アクティビティ部1042bをインスタンス化する(S131)。続いて、マーキングアクティビティプリファレンス1041pは、改竄検知アクティビティ部1042bに対し、改竄検知ジョブの実行条件に関する情報の設定(マーキングアクティビティプリファレンス1041pへの設定)を要求する(S132)。当該要求に応じ、改竄検知アクティビティ部1042bは、改竄検知ジョブにおいて利用する各フィルタ(読取フィルタ111、マーキングフィルタ135、及び印刷フィルタ131)よりそれぞれの実行条件に関する情報を格納するプリファレンス(フィルタプリファレンス)を取得する。
【0089】
まず、改竄検知アクティビティ部1042bは、読取フィルタ111に対しフィルタプリファレンスの生成を要求する(S133)。ステップS112と同様に読取フィルタ111は、読取フィルタプリファレンスを生成し、当該読取フィルタプリファレンスを改竄検知アクティビティ部1042bに返却する(S134)。なお、ここで生成される読取フィルタプリファレンスのインスタンスは、ステップS112において生成されるものとは異なる。
【0090】
続いて、改竄検知アクティビティ部1042bは、読取フィルタプリファレンスに設定されている属性項目のうち、表示項目に関する属性名のリストをマーキングアクティビティプリファレンス1041pに設定する(S135)。続いて、改竄検知アクティビティ部1042bは、読取フィルタプリファレンスに設定されている全ての属性項目について属性名と属性値(初期値)とをマーキングアクティビティプリファレンス1041pに設定する(S136)。
【0091】
続いて、改竄検知アクティビティ部1042bの制御の下、マーキングフィルタ135についてステップS115からS121と同様の処理が実行される(S137〜S143)。その結果、マーキングフィルタプリファレンスが生成され、マーキングフィルタプリファレンスに設定された各属性項目の属性名及び属性値がマーキングアクティビティプリファレンス1041pに設定される。なお、ステップS137生成されるマーキングフィルタプリファレンスのインスタンスは、ステップS116において生成されるものとは異なる。
【0092】
続いて、改竄検知アクティビティ部1042bは、印刷フィルタ131について、読取フィルタ111等に関して行った処理と同様のことを繰り返す。改竄検知アクティビティ部1042bは、印刷フィルタ131に対しフィルタプリファレンスの生成を要求する(S144)。印刷フィルタ131は、印刷フィルタ131の実行条件に対応した(印刷フィルタ131の実行条件を構成する各属性項目の属性名、データ型、初期値が格納された)フィルタプリファレンス(印刷フィルタプリファレンス)を生成し、当該印刷フィルタプリファレンスを改竄検知アクティビティ部1042bに返却する(S145)。続いて、改竄検知アクティビティ部1042bは、印刷フィルタプリファレンスに設定されている全ての属性項目について属性名と属性値(初期値)とをマーキングアクティビティプリファレンス1041pに設定する(S146)。
【0093】
続いて、改竄検知アクティビティ部1042bは、読取フィルタプリファレンスとマーキングフィルタプリファレンスとを、フィルタの実行順に対応させて接続する(S147)。また、改竄検知アクティビティ部1042bは、マーキングフィルタプリファレンスと印刷フィルタプリファレンスとをフィルタの実行順に対応させて結合(接続)する(S148)。したがって、読取フィルタプリファレンス、マーキングフィルタプリファレンス、印刷フィルタプリファレンスの順で接続関係が構築される。図16に、読取フィルタプリファレンス111pとマーキングフィルタプリファレンス135pと印刷フィルタプリファレンス131pとが接続された状態を示す。
【0094】
続いて、ステップS106、S117、及びS139において共通に行われる処理について説明する。図17は、マーキングサービスによるプリファレンスに対するマーキング属性の構成情報の設定処理を説明するためのシーケンス図である。
【0095】
まず、代理部2411は、複合機1にインストールされているマーキングサービス固有部242のインスタンス(オブジェクト)の一覧(以下、「マーキングサービス固有部一覧」という。)を固有部管理部2412より取得する(S151、S152)。なお、固有管理部2412は、既に各マーキングサービス固有部242のインスタンスをメモリ上にロードし、管理していることとする。
【0096】
続いて、マーキング処理機能タイプに応じて処理が分岐する。マーキング処理機能タイプとは、マーキング処理機能の種類(本実施の形態では、「出力者検知機能」と「改竄検知機能」との別)を示す情報であり、ステップS117の場合は、ステップS115及びS116を介して出力者検知アクティビティ部1042aより通知される。また、ステップS139の場合は、ステップS137及びS138を介して改竄検知アクティビティ部1042bより通知される。
【0097】
マーキング処理機能タイプが出力者検知機能を示す場合(すなわち、ステップS117の場合)、代理部2411は、出力者検知サービス部242aに対して、プリファレンスへのマーキング属性の構成情報の設定を要求する(S153)。当該要求に応じ、出力者検知サービス部242aは、出力者検知ジョブに必要な各属性項目の属性名及びデータ型をプリファレンスに設定する。
【0098】
また、マーキング処理機能タイプが改竄検知機能を示す場合(すなわち、ステップS139の場合)、代理部2411は、改竄検知サービス部242bに対して、プリファレンスへのマーキング属性の構成情報の設定を要求する(S154)。当該要求に応じ、改竄検知サービス部242bは、改竄検知ジョブに必要な各属性項目の属性名及びデータ型をプリファレンスに設定する。
【0099】
このように、代理部2411は、マーキング属性の構成情報の設定要求(マーキング属性の構成情報の問い合わせ)に対する応答を、マーキングサービス固有部242に実行させる。
【0100】
なお、図17の処理において設定対象となるプリファレンスは、ステップS105、S116、又はS139において引数として渡されたプリファレンスである。
【0101】
続いて、図12又は図13のステップS108、S119、及びS141において共通に行われる処理について説明する。図18は、マーキングサービスによるプリファレンスに対するマーキング属性の初期値の設定処理を説明するためのシーケンス図である。
【0102】
まず、代理部2411は、マーキングサービス固有部一覧を固有部管理部2412より取得する(S161、S162)。続いて、マーキング処理機能タイプに応じて処理が分岐する。
【0103】
マーキング処理機能タイプが出力者検知機能を示す場合(すなわち、ステップS119の場合)、代理部2411は、出力者検知サービス部242aに対して、プリファレンスへのマーキング属性の初期値の設定を要求する(S163)。当該要求に応じ、出力者検知サービス部242aは、出力者検知ジョブに必要な各属性項目の初期値型をプリファレンスに設定する。ここでは、マーキング処理機能タイプとして出力者検知機能を示す値もプリファレンスに設定される。
【0104】
また、マーキング処理機能タイプが改竄検知機能を示す場合(すなわち、ステップS141の場合)、代理部2411は、改竄検知サービス部242bに対して、プリファレンスへのマーキング属性の構成情報の設定を要求する(S164)。当該要求に応じ、改竄検知サービス部242bは、改竄検知ジョブに必要な属性項目の初期値をプリファレンスに設定する。ここでは、マーキング処理機能タイプとして改竄検知機能を示す値もプリファレンスに設定される。
【0105】
このように、代理部2411は、マーキング属性の初期値の設定要求(マーキング属性の初期値の問い合わせ)に対する応答を、マーキングサービス固有部242に実行させる。
【0106】
なお、図18の処理において設定対象となるプリファレンスは、ステップS107、S118、又はS140において引数として渡されたプリファレンスである。
【0107】
以上で初期化処理は終了する。初期化処理のうち、マーキング処理機能ごとに固有の実装が必要な部分は、図12及び図13においては、出力者検知アクティビティ部1042a又は改竄検知アクティビティ部1042bに関する処理のみである。また、図17及び図18においては、マーキング処理機能ごとに固有の実装が必要な部分は、出力者検知サービス部242a又は改竄検知サービス部242bに関する処理のみである。
【0108】
一方、仮に複合機1がマーキングフレームワークを備えていない場合、図12及び図13においては、マーキングアクティビティ共通部1041、マーキングアクティビティプリファレンス1041p、マーキングフィルタ135、及び代理部2411に関する処理についてもマーキング処理機能ごとに個別に実装される必要がある。また、図17及び図18においては、代理部2411及び固有部管理部2412についてもマーキング処理機能ごとに個別に実装される必要がある。
【0109】
このように、マーキングフレームワークの存在により、初期化処理の実装について、マーキング処理機能ごとに実装が必要とされる部分が著しく削減されることが分かる。
【0110】
初期化処理(図12、図13)の終了後、オペレーションパネル602において所定のハードキー(ボタン)がユーザによって押下されると、複合機1は、ログイン画面をオペレーションパネル602に表示させる。
【0111】
図19は、ログイン画面の表示例を示す図である。同図に示されるログイン画面510を介してユーザ名及びパスワードが入力されると、複合機1の非図示の認証部は、ユーザの認証を行う。認証に成功した場合、複合機1は、ユーザに利用可能なマーキング処理機能を利用権限テーブルに基づいて判定する。
【0112】
図20は、利用権限テーブルの例を示す図である。同図の利用権限テーブルには、マーキング処理機能ごとに利用権限を有するユーザ名が登録されている。例えば、出力者検知機能は、ユーザ1及びユーザ2が利用権限を有する。改竄検知機能は、ユーザ1及びユーザ3が利用権限を有する。
【0113】
続いて、複合機1は、利用権限テーブルに基づいて利用権限を有すると判定された機能のみが選択可能なように、アプリケーション選択画面をオペレーションパネル602に表示させる。
【0114】
図21は、アプリケーション選択画面の表示例を示す図である。同図に示されるアプリケーション選択画面520には、出力者検知ボタンと改竄検知ボタンとが表示されている。図20の利用権限テーブルに基づく場合、図21の例は、ユーザ1がログインした際に表示されるアプリケーション選択画面である。
【0115】
アプリケーション選択画面520において、いずれかのアプリケーション(マーキング処理機能)に対応するボタンが選択されると、マーキングアクティビティ104のアクティビティUI(図6参照。以下、「マーキングアクティビティUI」という。)は、選択されたアプリケーション(出力者検知機能又は改竄検知機能)に対応する設定画面をオペレーションパネル602に表示させる。なお、アプリケーションの選択に応じ、選択されたアプリケーションに対応するマーキング処理機能タイプがMEM−P631に記録(保持)される。
【0116】
出力者検知機能が選択された場合、マーキングアクティビティUIは、出力者検知アクティビティ部1042aによってマーキングアクティビティプリファレンス1041pに設定された属性項目(すなわち、出力者検知ジョブに必要な属性項目)に対する属性値(すなわち、出力者検知ジョブの実行条件)を設定させるための設定画面(出力者検知設定画面)を表示させる。
【0117】
図22は、出力者検知設定画面の表示例を示す図である。同図において出力者検知設定画面530には、検知モード、マーキングタイプ、原稿濃度、及び元原稿からの変倍率等のマーキング属性の各属性項目の値(属性値)を設定させるための表示部品が表示されている。なお、出力者検知設定画面530の初期状態において、各属性項目にはマーキングアクティビティプリファレンス1041pに設定されている初期値が表示される。
【0118】
また、出力者検知設定画面530には読取設定ボタン531が表示されている。読取設定ボタン531が押下されると、マーキングアクティビティUIは、マーキングアクティビティプリファレンス1041pに設定されている読取属性を設定させるための画面を表示させる。
【0119】
一方、改竄検知機能が選択された場合、マーキングアクティビティUIは、改竄検知アクティビティ部1042bによってマーキングアクティビティプリファレンス1041pに設定された属性項目(すなわち、改竄検知ジョブに必要な属性項目)に対する属性値(すなわち、改竄検知ジョブの実行条件)を設定させるための設定画面(改竄検知設定画面)を表示させる。
【0120】
図23は、改竄検知設定画面の表示例を示す図である。同図において改竄検知設定画面540には、地紋濃度の上限、地紋濃度の下限、処理精度、処理速度、原稿濃度、検知モード、及び改竄部分の印刷(の要否)等のマーキング属性の各属性項目の値(属性値)を設定させるための表示部品が表示されている。
【0121】
また、改竄検知設定画面540には読取設定ボタン541が表示されている。読取設定ボタン541が押下されると、マーキングアクティビティUIは、マーキングアクティビティプリファレンス1041pに設定されている読取属性の属性値を設定させるための画面を表示させる。
【0122】
続いて、出力者検知設定画面530又は改竄検知設定画面540等の設定画面を介してマーキングジョブに対する実行条件(属性値)の設定がユーザによって行われた際に複合機1が実行する処理手順について説明する。
【0123】
図24は、マーキングジョブに対する属性値の設定処理の概要を示す図である。同図に示されるように属性値の設定処理では、ユーザによって設定される属性値がマーキングアクティビティ104から各フィルタに対して設定される。例えば、読取フィルタ111に対しては読取属性の各属性項目の属性値が設定される。マーキングフィルタ135に対してはマーキング属性の各属性項目の属性値が設定される。印刷フィルタ131に対しては印刷属性の各属性項目の属性値が設定される。なお、各フィルタに設定された属性値は、各フィルタが処理を実行する際に利用する。但し、マーキングフィルタ135に設定された属性値は、マーキングサービス24によって利用される。すなわち、マーキングフィルタ135は属性値をマーキングサービス24にそのまま設定し、当該属性値に基づいて行う処理(ロジック)については関与しない。斯かる構成により、マーキングフィルタ135の汎用性が確保されている。
【0124】
属性値の設定処理について更に詳細に説明する。図25は、マーキングジョブに対する属性値の設定処理を説明するためのシーケンス図である。
【0125】
出力者検知設定画面530又は改竄検知設定画面540等の設定画面を介してユーザによって各属性項目に属性値(出力者検知ジョブ又は改竄検知ジョブの実行条件)が設定されると、マーキングアクティビティUI1041uは、マーキングフレームワーク100を介して設定対象とされた属性項目とその属性値とをマーキングアクティビティプリファレンス1041pに通知する(S201、S202)。続いて、マーキングアクティビティプリファレンス1041pは、アプリケーション選択画面520におけるアプリケーションの選択に応じてMEM−P631に記録されたマーキング処理機能タイプを取得し、保持する(S203、S204)。
【0126】
取得されたマーキング処理機能タイプが出力者検知機能を示すものである場合、マーキングアクティビティプリファレンス1041pは、出力者検知マーキングアクティビティプリファレンス1042apに設定対象とされた属性名及び属性値を通知する(S205)。出力者検知マーキングアクティビティプリファレンス1042apは、出力者検知アクティビティ部1042aに対するプリファレンスである。続いて、出力者検知マーキングアクティビティプリファレンス1042apは、当該属性名に対する属性値を、対応するフィルタプリファレンスに設定する。例えば、当該属性名が読取属性の属性項目に対するものである場合、出力者検知マーキングアクティビティプリファレンス1042apは、当該属性名に対する属性値を読取フィルタプリファレンス111pに設定する(S206)。一方、当該属性名がマーキング属性の属性項目に対するものである場合、出力者検知マーキングアクティビティプリファレンス1042apは、当該属性値をマーキングフィルタプリファレンス135pに設定する(S207)。
【0127】
また、取得されたマーキング処理機能タイプが改竄検知機能を示すものである場合、マーキングアクティビティプリファレンス1041pは、改竄検知マーキングアクティビティプリファレンス1042bpに設定対象とされた属性名及び属性値を通知する(S208)。改竄検知マーキングアクティビティプリファレンス1042bpは、改竄検知アクティビティ部1042bに対するプリファレンスである。続いて、改竄検知マーキングアクティビティプリファレンス1042bpは、当該属性名に対する属性値を、対応するフィルタプリファレンスに設定する。例えば、当該属性名が読取属性の属性項目に対するものである場合、改竄検知マーキングアクティビティプリファレンス1042apは、当該属性名に対する属性値を読取フィルタプリファレンス111pに設定する(S209)。一方、当該属性名がマーキング属性の属性項目に対するものである場合、改竄検知マーキングアクティビティプリファレンス1042apは、当該属性値をマーキングフィルタプリファレンス135pに設定する(S210)。また、改竄検知マーキングアクティビティプリファレンス1042apは、印刷フィルタプリファレンス131pに対して、印刷属性の属性名及び属性値を設定する(S211)。なお、図23の改竄設定画面540には印刷属性を設定させる領域は無い。本実施の形態では、印刷属性の属性値は、改竄検知マーキングアクティビティプリファレンス1042apによって固定的に印刷フィルタプリファレンス131pに設定される例を示しているからである。
【0128】
図25の処理によって、出力者検知設定画面530又は改竄検知設定画面540等を介して設定された属性値は、各フィルタプリファレンス(図15、図16参照)に設定される。したがって、この段階において、出力者検知ジョブ又は改竄検知ジョブの実行条件は、各フィルタプリファレンスに保持されていることになる。
【0129】
なお、属性値の設定処理(図25)のうち、マーキング処理機能ごとに固有の実装が必要な部分は、出力者検知アクティビティプリファレンス1042ap又は改竄検知アクティビティプリファレンス1042bpに関する処理のみである。一方、仮に複合機1がマーキングフレームワークを備えていない場合、マーキングアクティビティプリファレンス1041p及びマーキングフィルタプリファレンス135pに関する処理についてもマーキング処理機能ごとに個別に実装される必要がある。このように、マーキングフレームワークの存在により、属性値の設定処理の実装について、マーキング処理機能ごとに実装が必要とされる部分が著しく削減されることが分かる。
【0130】
続いて、図26及び図27は、マーキングジョブの実行処理を説明するためのシーケンス図である。
【0131】
出力者検知設定画面530又は改竄検知設定画面540等を介して属性値(ジョブの実行条件)が設定された後、オペレーションパネル602のスタートボタンがユーザによって押下されると、マーキングアクティビティUI1041uは、ジョブの開始をアクティビティフレームワーク100に要求する(S301)。続いて、アクティビティフレームワーク100は、マーキングアクティビティ共通部1041に対し、マーキングアクティビティプリファレンス1041pを引数に指定してジョブオブジェクトの生成を要求する(S302)。ここで、ジョブオブジェクトとは、アクティビティロジック又はフィルタロジックを構成するオブジェクトであり、ジョブの開始の度に当該ジョブにおいて利用されるアクティビティ及びフィルタごとに生成され、ジョブの実行を制御する。また、ジョブオブジェクトの接続の前後関係によって、フィルタの実行順等が表現される。
【0132】
マーキングアクティビティ共通部1041は、まず、マーキングアクティビティ104(マーキングアクティビティ共通部1041)に対応するジョブオブジェクト(マーキングアクティビティジョブ1041j)を生成する(S303)。この際、マーキングアクティビティ共通部1041は、マーキングアクティビティプリファレンス1041pを引数としてマーキングアクティビティジョブ1041jに引き渡す。続いて、マーキングアクティビティジョブ1041jは、マーキングアクティビティプリファレンス1041pよりマーキング処理機能タイプを取得する(S304、S305)。
【0133】
続いて、マーキングアクティビティジョブ1041jは、マーキングアクティビティ固有部1042に対応するジョブオブジェクトを生成する。具体的には、マーキング処理機能タイプが出力者検知機能を示す場合、マーキングアクティビティジョブ1041jは、出力者検知アクティビティ部1042aに対応するジョブオブジェクトである出力者検知アクティビティジョブ1042ajを生成する(S306)。一方、マーキング処理機能タイプが改竄検知機能を示す場合、マーキングアクティビティジョブ1041jは、改竄検知アクティビティ部1042bに対応するジョブオブジェクトである改竄検知アクティビティジョブ1042bjを生成する(S307)。ステップS306又はS307に続き、マーキングアクティビティジョブ1041jは、生成された出力者検知アクティビティジョブ1042aj又は改竄検知アクティビティジョブ1042bjを自ら(マーキングアクティビティジョブ1041j)に設定(保持)しておく(S308)。続いて、マーキングアクティビティジョブ1041jは、自らのインスタンスをマーキングアクティビティ共通部1041に返却する(S309)。マーキングアクティビティ共通部1041は、マーキングアクティビティジョブ1041jをアクティビティフレームワーク100に返却する(S310)。
【0134】
続いて、アクティビティフレームワーク100は、各フィルタのジョブオブジェクトの生成をフィルタフレームワーク110に要求する(S311)。フィルタフレームワーク110は、実行対象とされているマーキングジョブに応じたフィルタプリファレンスに基づいて各フィルタのジョブオブジェクトを生成する。例えば、フィルタフレームワーク110は、マーキングフィルタ135に対してジョブオブジェクトの生成を要求する(S312)。マーキングフィルタ135はマーキングフィルタジョブ135jを生成し、マーキングフレームワーク110に返却する。フィルタフレームワーク110は、アクティビティフレームワーク100にマーキングフィルタジョブを返却する。
【0135】
なお、図26では、便宜上、マーキングフィルタジョブ135jの生成に関してのみ記載されている。したがって、他のフィルタのジョブのジョブオブジェクトについても、各フィルタによって生成され、フィルタフレームワーク110を介してアクティビティフレームワーク100に返却される。
【0136】
例えば、実行対象とされているマーキングジョブが出力者検知ジョブの場合、図15に示される読取フィルタプリファレンス111p及びマーキングフィルタプリファレンス135pに基づいて、読取フィルタ111のジョブオブジェクト(読取フィルタジョブ111j)とマーキングフィルタ135のジョブオブジェクト(マーキングフィルタジョブ135j)とが生成される。
【0137】
また、実行対象とされているマーキングジョブが改竄検知ジョブの場合、図16に示される読取フィルタプリファレンス111p、マーキングフィルタプリファレンス135p、及び印刷フィルタプリファレンス131pに基づいて、読取フィルタ111のジョブオブジェクト(読取フィルタジョブ111j)とマーキングフィルタ135のジョブオブジェクト(マーキングフィルタジョブ135j)と印刷フィルタ131のジョブオブジェクト(印刷フィルタジョブ131j)とが生成される。
【0138】
以上の処理によって、アクティビティフレームワーク100には、マーキングアクティビティに対応するジョブオブジェクトと、実行対象とされているマーキングジョブにおいて利用される各フィルタに対応するジョブオブジェクトとが収集される。そこで、アクティビティフレームワーク100は、収集されたジョブオブジェクトをプリファレンスの接続関係(図15、図16参照)に対応させて接続し、ジョブツリーをMEM−P631内に構築(生成)する(S315)。ここで、構築されるジョブツリーは、実行されるマーキングジョブに応じて例えば次のようになる。
【0139】
図28は、出力者検知ジョブが実行される場合のジョブツリーの例を示す図である。同図のジョブツリーでは、読取フィルタジョブ111j及びマーキングフィルタジョブ135jが、図15のプリファレンスの接続順序に対応した順序で接続されている。また、ステップS308において出力者検知アクティビティジョブ1042ajが設定されたマーキングアクティビティジョブ1041jから各フィルタジョブに対してジョブにおける利用関係を示す関連が生成されている。斯かるジョブツリーより、出力者検知ジョブは、読取フィルタ111→マーキングフィルタ135の順でフィルタを実行させる必要があることが識別される。
【0140】
また、図29は、改竄検知ジョブが実行される場合のジョブツリーの例を示す図である。同図のジョブツリーでは、読取フィルタジョブ111j、マーキングフィルタジョブ135j、及び印刷フィルタジョブ131jが、図16のプリファレンスの接続順序に対応した順序で接続されている。また、ステップS308において改竄検知アクティビティジョブ1042bjが設定されたマーキングアクティビティジョブ1041jから各フィルタジョブに対してジョブにおける利用関係を示す関連が生成されている。斯かるジョブツリーより、改竄検知ジョブは、読取フィルタ111→マーキングフィルタ135→印刷フィルタ131の順でフィルタを実行させる必要があることが識別される。
【0141】
ジョブツリーの構築に続いて、アクティビティフレームワーク100は、ジョブの実行の開始をフィルタフレームワーク110に要求する(図27:S321)。ジョブの開始要求に応じ、フィルタフレームワーク110は、MEM−P631に記録されているジョブツリーに基づいてジョブの実行処理を制御する。まず、フィルタフレームワーク110は、ジョブにおいて利用する各フィルタにフィルタ間調整を実行させる。
【0142】
図30は、フィルタ間調整を説明するための図である。フィルタ間調整とは、接続関係にあるフィルタ間同士で、パイプを介して伝達する画像データのデータ形式(画像形式)等を調整する処理をいう。例えば、読取フィルタ111は、TIFF形式及びJPEG形式による画像データの出力が可能であり、マーキングフィルタ135はJPEG形式及びBMP形式による画像データの処理が可能である(入力データとして受け付け可能である)場合、両者の間で伝達される画像データはJPEG形式が採用される。基本的に、各フィルタは自らが処理可能な画像データを知っている。但し、マーキングフィルタ135は、汎用的に作成されているため、処理可能な画像形式を示す情報(以下、「フィルタ間調整値」という。)は、マーキングサービス24に問い合わせることにより判定される。
【0143】
フィルタ間調整を行う場合、フィルタフレームワーク110は、まず、ジョブツリーによって示されるフィルタの接続関係において末端に位置するフィルタ(「フィルタC」とする。)にフィルタ間調整を指示する。フィルタCは、フィルタフレームワーク110に対して自らのフィルタ間調整値を返却する。フィルタフレームワーク110は、返却されたフィルタ間調整値をフィルタCの前段のフィルタ(「フィルタB」とする。)に対して通知し、フィルタBに対してフィルタ間調整を要求する。フィルタBは、通知されたフィルタ間調整値によって示される画像形式による出力の可否を判定し、可能であれば自らのフィルタ間調整値をフィルタフレームワーク110に返却する。フィルタフレームワーク110は、更に前段のフィルタ(「フィルタA」とする。)が存在する場合は、フィルタAに対してフィルタBのフィルタ間調整値を通知し、フィルタ間調整を要求する。このように、フィルタ間調整では、後段から前段のフィルタにかけて順番に調整処理が行われる。
【0144】
但し、前段から後段のフィルタにかけてフィルタ間調整が行われてもよい。この場合、フィルタフレームワーク110は、ジョブツリーによって示されるフィルタの接続関係において先端に位置するフィルタ(「フィルタA」とする。)にフィルタ間調整を指示する。フィルタAは、フィルタフレームワーク110に対して自らのフィルタ間調整値を返却する。フィルタフレームワーク110は、返却されたフィルタ間調整値を当フィルタAの後段のフィルタ(「フィルタB」とする。)に対して通知し、フィルタBに対してフィルタ間調整を要求する。フィルタBは、通知されたフィルタ間調整値によって示される画像形式による出力の可否を判定し、可能であれば自らのフィルタ間調整値をフィルタフレームワーク110に返却する。フィルタフレームワーク110は、更に後段のフィルタ(「フィルタC」とする。)が存在する場合は、フィルタCに対してフィルタBのフィルタ間調整値を通知し、フィルタ間調整を要求する。
【0145】
本実施の形態では、後者の例(前段のフィルタから後段のフィルタにかけて調整処理が行われる例)について説明する。
【0146】
図27では、便宜上、マーキングフィルタ135によるフィルタ間調整のみが示されている。すなわち、ステップS322において、フィルタフレームワーク110は、フィルタ間調整値を引数に指定してフィルタ間調整をマーキングフィルタジョブ135jに要求する。ここで、引数に指定されるフィルタ間調整値は、マーキングフィルタ135の前段のフィルタのジョブオブジェクト(すなわち、読取フィルタジョブ111j)から取得されたものである。なお、当該フィルタ間調整値には、複数種類の画像形式が含まれうる。
【0147】
続いてマーキングフィルタジョブ135jは、図30において説明したように、処理可能な画像形式をマーキングサービス共通部241の代理部2411に問い合わせる(S323)。問い合わせに際し、マーキングフィルタジョブ135jは、フィルタ名(「マーキングフィルタ」)とマーキングフィルタプリファレンス135pとを引数として代理部2411に引き渡す。これは、マーキングサービス24(厳密にはマーキングサービス固有部242)が、自らを利用するフィルタとマーキングフィルタプリファレンス135p(マーキング属性)の値とに応じて処理可能な画像形式が変化する可能性が有るからである。
【0148】
代理部2411は、当該問い合わせに応じ、現在利用対象とされている(すなわち、実行対象とされているマーキングジョブに対応する)マーキングサービス固有部242において処理可能な画像形式を取得し(S324)、当該画像形式をマーキングフィルタジョブ135jに返却する(S325)。なお、ここでは複数種類の画像形式が返却されうる。ステップS325の詳細については後述する。
【0149】
続いて、マーキングフィルタジョブ135jは、ステップS322において通知されたフィルタ間調整値(読取フィルタ111が出力可能な画像形成)と、代理部2411より返却された画像形式とを比較することにより、フィルタ間の接続の可否を判定する(S326)。すなわち、当該フィルタ間調整値と当該画像形式との間で一致する画像形式が存在すればフィルタ間の接続は可能であると判定し、一致しなければフィルタ間調整は不可能であると判定する。続いて、マーキングフィルタジョブ135jは、判定結果(フィルタ間の接続の可否)をフィルタフレームワーク110に返却する(S327)。
【0150】
利用される他の全てのフィルタ(読取フィルタ111、印刷フィルタ131)についても隣接するフィルタとの接続が可能である場合、フィルタフレームワーク110は、ジョブの準備を各フィルタに対して指示する。図27では、便宜上、マーキングフィルタ135についてのみ記載されている。すなわち、ステップS328において、フィルタフレームワーク110は、ジョブの実行準備をマーキングフィルタジョブ135jに要求する。マーキングフィルタジョブ135jは、マーキングフィルタプリファレンス135pを引数に指定して代理部2411に対してサービス処理条件2414(図10参照)の生成を要求する(S329)。代理部2411は、サービス処理条件2414を生成し(S330)、当該サービス処理条件2414をマーキングフィルタジョブ135jに返却する(S331)。
【0151】
利用される他の全てのフィルタについてもジョブの準備が完了すると、フィルタフレームワーク110は、各フィルタ(のジョブオブジェクト)を利用してマーキングジョブの実行を制御する。
【0152】
図31は、マーキングジョブの実行手順の概要を説明するための図である。同図において、画像パイプ21aは、読取フィルタ111とマーキングフィルタ135との間を接続する画像パイプ21である。画像パイプ21bは、マーキングフィルタ135と印刷フィルタ131との間を接続する画像パイプ21である。なお、実行対象のジョブが出力者検知ジョブである場合、印刷フィルタジョブ131jに関する手順は実行されない。
【0153】
まず、フィルタフレームワーク110は、ジョブで利用される各フィルタのジョブオブジェクト(印刷フィルタジョブ111j、マーキングフィルタジョブ135j、印刷フィルタジョブ131j)に対してジョブの開始を同時に指示する(S11)。ジョブの開始を指示された各フィルタのジョブオブジェクトは、自らの前段側(画像データの入力側)に接続されているフィルタの処理が完了するまで(入力側に接続されている画像パイプ21に対して画像データが入力されるまで)処理の開始を待機する。但し、ジョブツリーにおいて先端に位置するフィルタ(本実施の形態では読取フィルタ111)は、待機することなく処理を開始する。
【0154】
すなわち、読取フィルタジョブ111jは、紙文書からの画像データの読み取りを撮像部604に実行させ(S12)、読み取られた画像データを画像パイプ21aに出力する(S13)。なお、画像データは、フィルタ間調整によって選択された画像形式によって出力される。続いて、読取フィルタジョブ111jは、画像パイプ21aへの画像データの出力の完了を示すイベント(画像確定イベント)をフィルタフレームワーク110に通知する(S14)。
【0155】
フィルタフレームワーク110は、読取フィルタジョブ111jからの画像確定イベントをマーキングフィルタジョブ135jに通知する(S15)。マーキングフィルタジョブ135jは、イベントの通知に応じ、画像パイプ21aより画像データを取り出し(S16)、当該画像データに関するマーキング処理(本実施の形態では、出力者検知処理又は改竄検知処理)をマーキングサービス24に実行させる(S17)。マーキングフィルタジョブ135jは、マーキングサービス24による処理結果(検知結果)に画像データが含まれている場合は、当該画像データを画像パイプ21bに出力する(S18)。本実施の形態において、マーキングサービス24による処理結果に画像データが含まれている場合とは、改竄検知ジョブにおいて改竄が検知された場合が相当する。この場合、改竄箇所にマークが付された画像データがマーキングサービス24の処理結果に含まれている。続いて、マーキングフィルタジョブ135jは、画像確定イベント又は処理の完了(画像データを出力しなかった場合)を示すイベント(終了イベント)をフィルタフレームワーク110に通知する(S19)。
【0156】
フィルタフレームワーク110は、マーキングフィルタジョブ135jからのイベント(画像データの出力の完了)を印刷フィルタジョブ131jに通知する(S20)。印刷フィルタジョブ131jは、イベントの通知に応じ、画像パイプ21bより画像データを取り出し(S21)、当該画像データの印刷を印刷部605に実行させる(S22)。印刷が完了すると、印刷フィルタジョブ131jは、終了イベントをフィルタフレームワーク110に通知する(S23)。
【0157】
なお、ステップS12からS19又はS23までの処理手順は1ページごとに実行される。また、各フィルタは全ページ分の処理が完了した場合、又は何らかの理由で途中で終了した場合(中止された場合)、終了イベントをフィルタフレームワーク110に通知する。
【0158】
図31において説明した処理のうち、図27では便宜上、マーキングフィルタジョブ135jに関する部分のみが記載されている。
【0159】
すなわち、ステップS332においてフィルタフレームワーク110は、マーキングフィルタジョブ135jに対してジョブの開始を指示する(図31のS11に対応)。続いて、フィルタフレームワーク110は、読取フィルタジョブ111jより画像確定イベントが通知されると、マーキングフィルタジョブ135jに対して当該画像確定イベントを通知する(S341)。当該画像確定イベントに応じ、マーキングフィルタジョブ135jは、画像パイプ21aより1ページ分の画像データ(ページ画像)を取り出す(S342、S343)。続いて、マーキングフィルタジョブ135jは、ステップS331において取得したサービス処理条件2414とページ画像とを引数に指定してマーキング処理の実行を代理部2411に要求する(S344)。当該要求に応じマーキングサービス24は、サービス処理条件2414に従ったマーキング処理を実行し(S345)、実行IDをマーキングフィルタジョブ135jに返却する(S346)。実行IDとは、マーキングサービス24が、マーキング処理の実行、終了、又は中止等の要求を受け付けた際に発行するIDである。
【0160】
一方、マーキングフィルタ135の前段のフィルタ(読取フィルタ111)のフィルタジョブ(読取フィルタジョブ111j)より終了イベント(全ページの読み取りの完了を示すイベント)がフィルタフレームワーク110に通知されると、フィルタフレームワーク110はマーキングフィルタジョブ135jに対して前段のフィルタの終了を示すイベント(前段フィルタ終了イベント)を通知する(S351)。前段フィルタ終了イベントに応じ、マーキングフィルタジョブ135jは、サービス処理条件2414を引数に指定してマーキング処理の終了を代理部2411に要求する(S352)。当該要求に応じマーキングサービス24は、サービス処理条件2414に基づいてマーキング処理の終了処理を実行し(S353)、実行IDをマーキングフィルタジョブ135jに返却する(S354)。
【0161】
更に、マーキングフィルタ135の後段のフィルタ(印刷フィルタ131)のフィルタジョブ(印刷フィルタジョブ131j)より終了イベント(例えば、処理の中止を示すイベント)がフィルタフレームワーク110に通知されると、フィルタフレームワーク110はマーキングフィルタジョブ135jに対して後段のフィルタの終了を示すイベント(後段フィルタ終了イベント)を通知する(S361)。後段フィルタ終了イベントに応じ、マーキングフィルタジョブ135jは、サービス処理条件2414を引数に指定してマーキング処理の中止を代理部2411に要求する(S362)。当該要求に応じマーキングサービス24は、サービス処理条件2414に基づいてマーキング処理の中止処理を実行し(S363)、実行IDをマーキングフィルタジョブ135jに返却する(S364)。
【0162】
続いて、ステップS324の詳細について説明する。図32は、マーキングサービスによる処理可能な画像形式の取得処理を説明するためのシーケンス図である。
【0163】
代理部2411は、ステップS323の引数として渡されたマーキングフィルタプリファレンス135pよりマーキング処理機能タイプの値を取得する(S401)。続いて、代理部2411は、マーキング処理機能タイプに対応するマーキングサービス固有部1042のインスタンスを固有部管理部2412より取得する(S402、S403)。続いて、代理部2411は、ステップS323の引数として渡されたフィルタ名及びマーキングフィルタプリファレンス135pを引数に指定して、取得されたマーキングサービス固有部104(出力者検知サービス部242a又は改竄検知サービス部242b)に対して処理可能な画像形式を問い合わせる(S404又はS406)。出力者検知サービス部242a又は改竄検知サービス部242bは、フィルタ名及びマーキングフィルタプリファレンス135pに格納されているマーキング属性に基づいて処理可能な画像形式を判定し、当該画像形式を示す情報を代理部2411に返却する(S405又はS407)。
【0164】
続いて、図27のステップS330の詳細について説明する。図33は、マーキングサービスによるサービス処理条件の生成処理を説明するためのシーケンス図である。
【0165】
代理部2411は、ステップS329の引数として渡されたマーキングフィルタプリファレンス135pよりマーキング属性を取得する(S411)。続いて、代理部2411は、取得されたマーキング属性を引数に指定して、実行対象とされているマーキングジョブに対応したマーキングサービス固有部242のインスタンスの生成を固有部管理部2412に要求する(S412)。
【0166】
なお、図33より前のシーケンス図において登場するマーキングサービス固有部242のインスタンス(出力者検知サービス部242a又は改竄検知サービス部242b)は、常駐するインスタンスであり、各ジョブから共通的に利用されるものである。一方、ステップS412において生成が要求されているインスタンスは、ジョブごとに固有のものであり、ジョブの開始に伴って生成され、ジョブの終了に伴って破棄されるものである。両者の区別を明確にするため、後者については参照番号の末尾に「j」を付加する。
【0167】
続いて、固有部管理部2412は、マーキング属性よりマーキング処理機能タイプを取得する(S413)。マーキング処理機能タイプが出力者検知機能を示す場合、固有部管理部2412は、出力者検知サービス部242ajのインスタンス(オブジェクト)を生成する(S414)。この際、固有部管理部2412は、マーキング属性を出力者検知サービス部242ajに設定する。一方、マーキング処理機能タイプが改竄検知機能を示す場合、固有部管理部2412は、改竄検知サービス部242bjのインスタンス(オブジェクト)を生成する(S415)。この際、固有部管理部2412は、マーキング属性を改竄検知サービス部242bjに設定する。
【0168】
続いて、固有部管理部2412は、生成されたマーキングサービス固有部242のインスタンス(出力者検知サービス部242aj又は改竄検知サービス部242bj)を代理部に返却する(S416)。続いて、代理部2411は、サービス処理条件2414のインスタンスを生成し、ステップS414又はS415において生成されたマーキングサービス固有部242のインスタンスをサービス処理条件2414に登録する(S418)。
【0169】
図34は、サービス処理条件とマーキングサービス固有部とマーキング属性との関係を示す図である。同図に示されるように、サービス処理条件2414の中には実行対象のマーキングサービス固有部242(出力者検知サービス部242aj又は改竄検知サービス部242bj)が登録されている。更に、マーキングサービス固有部242の中にはマーキング属性が登録されている。したがって、サービス処理条件2414によって、実行対象とされているジョブに対応したマーキング処理を実行するために必要な全ての情報(処理条件)が管理されていることになる。
【0170】
続いて、図27のステップS345の詳細について説明する。図35は、マーキングサービスによるマーキング処理の実行手順を説明するためのシーケンス図である。
【0171】
上述したステップS344(図27)において、マーキング処理の実行要求をマーキングフィルタジョブ135jより受け付けると、代理部2411は、当該実行要求に対する実行IDを生成する(S421)。続いて、代理部2411は、実行IDと、図33の処理によって生成されたサービス処理条件2412(図34参照)とページ画像とを引数に指定して、マーキング処理の実行を固有部実行部2413に依頼する(S422)。当該依頼後、代理部2411は、実行IDをマーキングフィルタジョブ135jに返却する(S423)。
【0172】
一方、マーキング処理の実行を依頼された固有部実行部2413は、引数に指定されたサービス処理条件2414に登録されているマーキングサービス固有部242のインスタンスを取得し(S424、S425)、取得されたインスタンスに対してページ画像を引数に指定してマーキング処理の実行要求を入力する。
【0173】
したがって、取得されたインスタンスが出力者検知サービス部242ajの場合、当該実行要求は出力者検知サービス部242ajに入力される(S426)。出力者検知サービス部242ajは、自らに設定されているマーキング属性に基づいて、ページ画像に対して出力者検知処理を実行し、その処理結果(検知結果)を固有部実行部2413に返却する(S427)。出力者検知処理が正常に実行された場合、当該検知結果には、出力者を識別する情報(出力者名等)が含まれる。また、出力者検知処理中に異常が発生した場合、例外が発行される。
【0174】
一方、取得されたインスタンスが改竄検知サービス部242bjの場合、当該実行要求は改竄検知サービス部242bjに入力される(S428)。改竄検知サービス部242bjは、自らに設定されているマーキング属性に基づいて、ページ画像に対して改竄検知処理を実行し、その処理結果(検知結果)を固有部実行部2413に返却する(S429)。改竄検知処理が正常に実行された場合、当該検知結果には、改竄の有無と改竄が検知された場合には改竄位置にマークが付されたページ画像(検知結果画像)等が含まれる。また、改竄検知処理中に異常が発生した場合、例外が発行される。
【0175】
続いて、固有部実行部2413は、検知結果を示すイベントの生成処理を実行する(S430)。すなわち、マーキング処理が正常に実行された場合、検知完了イベントを生成し(S431)、例外が発行された場合、中止要求イベントを生成する(S432)。なお、検知完了イベントには検知結果が含まれる。続いて、固有部実行部2413は、生成されたイベントをマーキングフィルタジョブ135jに通知する(S433)。当該イベントの通知に応じ、マーキングフィルタジョブ135jは、通知されたイベントに応じた処理を実行する(S434)。ステップS434の詳細については後述する。
【0176】
続いて、図27のステップS353の詳細について説明する。図36は、マーキングサービスによるマーキング処理の終了手順を説明するためのシーケンス図である。
【0177】
上述したステップS352(図27)において、マーキング処理の終了要求をマーキングフィルタジョブ135jより受け付けると、代理部2411は、当該終了要求に対する実行IDを生成する(S451)。続いて、代理部2411は、実行IDと、図33の処理によって生成されたサービス処理条件2412(図34参照)とを引数に指定して、マーキング処理の終了を固有部実行部2413に依頼する(S452)。当該依頼後、代理部2411は、実行IDをマーキングフィルタジョブ135jに返却する(S453)。
【0178】
一方、マーキング処理の実行を依頼された固有部実行部2413は、引数に指定されたサービス処理条件2414に登録されているマーキングサービス固有部242のインスタンスを取得し(S454、S455)、取得されたインスタンスに対してマーキング処理の終了要求を入力する。
【0179】
したがって、取得されたインスタンスが出力者検知サービス部242ajの場合、当該終了要求は出力者検知サービス部242ajに入力される(S456)。出力者検知サービス部242ajは、自らに設定されているマーキング属性や現在の出力者検知処理の実行状況等に基づいて処理の終了の可否を判定し、終了が可能な場合は出力者検知処理を終了させる。出力者検知サービス部242ajは、処理の終了の可否の判定結果を固有部実行部2413に返却する(S457)。
【0180】
一方、取得されたインスタンスが改竄検知サービス部242bjの場合、当該終了要求は改竄検知サービス部242bjに入力される(S458)。改竄検知サービス部242bjは、自らに設定されているマーキング属性や現在の改竄検知処理の実行状況等に基づいて処理の終了の可否を判定し、終了が可能な場合は改竄検知処理を終了させる。改竄検知サービス部242bjは、処理の終了の可否の判定結果を固有部実行部2413に返却する(S459)。
【0181】
続いて、固有部実行部2413は、処理の終了の判定結果を示すイベントの生成処理を実行する(S460)。すなわち、処理の終了が可能である場合、終了完了イベントを生成し(S461)、処理の終了が不可能である場合、終了失敗イベントを生成する(S462)。続いて、固有部実行部2413は、生成されたイベントをマーキングフィルタジョブ135jに通知する(S463)。当該イベントの通知に応じ、マーキングフィルタジョブ135jは、通知されたイベントに応じた処理を実行する(S464)。ステップS464の詳細については後述する。
【0182】
続いて、図27のステップS363の詳細について説明する。図37は、マーキングサービスによるマーキング処理の中止手順を説明するためのシーケンス図である。
【0183】
上述したステップS362(図27)において、マーキング処理の中止要求をマーキングフィルタジョブ135jより受け付けると、代理部2411は、当該中止要求に対する実行IDを生成する(S471)。続いて、代理部2411は、実行IDと、図33の処理によって生成されたサービス処理条件2412(図34参照)とを引数に指定して、マーキング処理の中止を固有部実行部2413に依頼する(S472)。当該依頼後、代理部2411は、実行IDをマーキングフィルタジョブ135jに返却する(S473)。
【0184】
一方、マーキング処理の実行を依頼された固有部実行部2413は、引数に指定されたサービス処理条件2414に登録されているマーキングサービス固有部242のインスタンスを取得し(S474、S475)、取得されたインスタンスに対してマーキング処理の中止要求を入力する。
【0185】
したがって、取得されたインスタンスが出力者検知サービス部242ajの場合、当該中止要求は出力者検知サービス部242ajに入力される(S476)。出力者検知サービス部242ajは、自らに設定されているマーキング属性や現在の出力者検知処理の実行状況等に基づいて処理の中止の可否を判定し、中止が可能な場合は出力者検知処理を中止させる。出力者検知サービス部242ajは、処理の中止の可否の判定結果を固有部実行部2413に返却する(S477)。
【0186】
一方、取得されたインスタンスが改竄検知サービス部242bjの場合、当該中止要求は改竄検知サービス部242bjに入力される(S478)。改竄検知サービス部242bjは、自らに設定されているマーキング属性や現在の改竄検知処理の実行状況等に基づいて処理の中止の可否を判定し、中止が可能な場合は改竄検知処理を中止させる。改竄検知サービス部242bjは、処理の中止の可否の判定結果を固有部実行部2413に返却する(S479)。
【0187】
続いて、固有部実行部2413は、処理の中止の判定結果を示すイベントの生成処理を実行する(S480)。すなわち、処理の中止が可能である場合、中止完了イベントを生成し(S481)、処理の中止が不可能である場合、中止失敗イベントを生成する(S482)。続いて、固有部実行部2413は、生成されたイベントをマーキングフィルタジョブ135jに通知する(S483)。当該イベントの通知に応じ、マーキングフィルタジョブ135jは、通知されたイベントに応じた処理を実行する(S484)。ステップS484の詳細については後述する。
【0188】
続いて、ステップS434(図35)の詳細について説明する。図38及び図39は、マーキングサービスより検知完了イベントが通知された場合に実行される処理を説明するためのシーケンス図である。
【0189】
マーキングサービス24より通知されたイベントが検知完了イベントであった場合、マーキングフィルタジョブ135jは、検知完了イベントに検知結果画像(改竄位置にマークが付された画像データ)が含まれているか否かを判定し、含まれている場合は検知結果画像を画像パイプ21b(図31参照)に出力する(S501)。続いて、マーキングフィルタジョブ135jは、検知完了イベントをマーキングアクティビティジョブ1041jに通知する(S502)。
【0190】
続いて、マーキングアクティビティは、図26のステップS308において自らに設定されているマーキングアクティビティ固有部1042のジョブオブジェクトに対して検知完了イベントを通知する。
【0191】
したがって、検知完了イベントが出力検知機能の検知結果を含む場合、当該検知完了イベントは出力者検知アクティビティジョブ1042ajに通知される(S511)。出力者検知アクティビティジョブ1042ajは、アクティビティフレームワーク100に検知完了イベントを通知する(S512)。アクティビティフレームワーク100は、マーキングアクティビティUI1041uに検知完了イベントを通知する(S513)。
【0192】
続いて、マーキングアクティビティUI1041uは、検知結果を一覧形式に整形したデータ(以下、「検知結果リスト」という。)の取得をマーキングアクティビティ共通部1041に対して要求する(S514)。当該要求に応じ、マーキングアクティビティ共通部1041は、出力者検知アクティビティジョブ1042ajに対して検知結果の取得を要求する(S515)。出力者検知アクティビティジョブ1042ajは、検知完了イベントを解析することにより検知結果(出力者検知結果)を取り出し、当該出力者検知結果をマーキングアクティビティ共通部1041に返却する(S516)。なお、出力者検知結果とは出力者の識別情報(例えば、出力者名)を含む情報である。続いて、マーキングアクティビティ共通部1041は、出力者検知結果に基づいて出力者の検知結果リストを生成し(S517)、当該検知結果リストをマーキングアクティビティUI1041uに返却する(S518)。マーキングアクティビティUI1041uは、出力者の検知結果リストを表示させる画面(出力者検知結果画面)をオペレーションパネル602に表示させる(S519)。
【0193】
図40は、出力者検知結果画面の表示例を示す図である。同図に示されるように、出力者検知結果画面550には、ページごとに出力者の識別情報(図中における「○○○○」、「△△△△」、及び「××××」等)が表示される。また、出力者を検知できなかったページについてはその旨を示すメッセージが表示される。
【0194】
一方、検知完了イベントが改竄検知機能の検知結果を含む場合、検知完了イベントは改竄検知アクティビティジョブ1042bjに通知される(図39:S521)。改竄検知アクティビティジョブ1042bjは、アクティビティフレームワーク100に検知完了イベントを通知する(S522)。アクティビティフレームワーク100は、マーキングアクティビティUI1041uに検知完了イベントを通知する(S523)。
【0195】
続いて、マーキングアクティビティUI1041uは、検知結果リストの取得をマーキングアクティビティ共通部1041に対して要求する(S524)。当該要求に応じ、マーキングアクティビティ共通部1041は、改竄検知アクティビティジョブ1042bjに対して検知結果の取得を要求する(S525)。改竄検知アクティビティジョブ1042bjは、検知完了イベントを解析することにより検知結果(改竄検知結果)を取り出し、当該改竄検知結果をマーキングアクティビティ共通部1041に返却する(S526)。なお、改竄検知結果とは改竄の有無を示す情報である。続いて、マーキングアクティビティ共通部1041は、改竄検知結果に基づいて改竄の検知結果リストを生成し(S527)、当該検知結果リストをマーキングアクティビティUI1041uに返却する(S528)。マーキングアクティビティUI1041uは、改竄の検知結果リストを表示させる画面(改竄検知結果画面)をオペレーションパネル602に表示させる(S529)。
【0196】
図41は、改竄検知結果画面の表示例を示す図である。同図に示されるように、改竄検知結果画面560には、ページごとに改竄の有無を示すメッセージが表示される。また、改竄の有無を検知できなかったページについてはその旨を示すメッセージが表示される。
【0197】
続いて、ステップS464(図36)、又はステップS484(図37)の詳細について説明する。図42は、マーキングサービスより終了完了イベント又は中止完了イベントが通知された場合に実行される処理を説明するためのシーケンス図である。
【0198】
マーキングサービス24より通知されたイベントが終了完了イベントであった場合、マーキングフィルタジョブ135jは、ジョブの終了をフィルタフレームワーク110に通知する(S601)。フィルタフレームワーク110は、マーキングジョブで利用されている各フィルタのジョブオブジェクトに対してジョブの終了を通知する。なお、図42では、便宜上、マーキングフィルタジョブ135jに対してのみジョブの終了が通知されている(S602)。
【0199】
続いて、マーキングフィルタジョブ135jは、終了完了イベントをフィルタフレームワーク110に通知する(S603)。フィルタフレームワーク110は、終了完了イベントをアクティビティフレームワーク100に通知する(S604)。アクティビティフレームワーク100は、ジョブの終了処理を行い(S605)、終了完了イベントをマーキングアクティビティUI1041uに通知する(S606)。マーキングアクティビティUI1041uは、終了完了イベントの通知に応じ、ジョブの終了時の状態に表示画面を遷移させる。
【0200】
一方、マーキングサービス24より通知されたイベントが中止完了イベントであった場合、マーキングフィルタジョブ135jは、ジョブの中止をフィルタフレームワーク110に通知する(S611)。フィルタフレームワーク110は、マーキングジョブで利用されている各フィルタのジョブオブジェクトに対してジョブの中止を通知する。なお、図42では、便宜上、マーキングフィルタジョブ135jに対してのみジョブの中止が通知されている(S612)。
【0201】
続いて、マーキングフィルタジョブ135jは、中止完了イベントをフィルタフレームワーク110に通知する(S613)。フィルタフレームワーク110は、中止完了イベントをアクティビティフレームワーク100に通知する(S614)。アクティビティフレームワーク100は、ジョブの中止処理を行い(S615)、中止完了イベントをマーキングアクティビティUI1041uに通知する(S616)。マーキングアクティビティUI1041uは、中止完了イベントの通知に応じ、ジョブの中止時の状態に表示画面を遷移させる。
【0202】
以上のマーキングジョブの実行処理のうち、マーキング処理機能ごとに固有の実装が必要な部分は、図26、図27、図38、図39、及び図42においては、出力者検知アクティビティジョブ1042aj又は改竄検知アクティビティジョブ1042bjに関する処理のみである。また、図32、図33、図35、図36、及び図37においては、出力者検知サービス242a(242aj)又は改竄検知サービス部242b(242bj)に関する処理のみである。 一方、仮に複合機1がマーキングフレームワークを備えていない場合、図26、図27、図38、図39、及び図42においては、マーキングアクティビティ共通部1041、マーキングアクティビティジョブ1041j、マーキングアクティビティプリファレンス1041p、マーキングフィルタ135、及びマーキングフィルタジョブ135jに関する処理についてもマーキング処理機能ごとに個別に実装される必要がある。また、図32、図33、図35、図36、及び図37においては、代理部2411及び固有部管理部2412に関する処理についてもマーキング処理機能ごとに個別に実装される必要がある。
【0203】
このように、マーキングフレームワークの存在により、マーキングジョブの実行処理の実装について、マーキング処理機能ごとに実装が必要とされる部分が著しく削減されることが分かる。
【0204】
上述したように、本実施の形態における複合機1によれば、マーキング処理機能に関して、アクティビティとフィルタとの関係、フィルタ間の関係、及びフィルタとサービスメカニズム20との関係等に関する処理制御はマーキングフレームワークによって実現される。したがって、新たなマーキング処理機能を追加する場合は、マーキングアクティビティ共通部1041において決められたインタフェース(関数又はメソッド)に対する実装(新たなマーキングアクティビティ固有部1042)を作成し、マーキングサービス共通部214において決められたインタフェース(固有部インタフェース2415)に対する実装(新たなマーキングサービス固有部242)を作成すればよい。すなわち、マーキング処理機能の開発者は、予め決められた関数又はメソッドに対する実装のみを行えばよく、他のコンポーネントとの関係を意識する必要はない。よって、複合機1のソフトウェアアーキテクチャの全体像について詳細な知識の無い開発者であっても、新たなマーキング処理機能を実装することができる。
【0205】
なお、本実施の形態では、マーキング処理機能のうち、主に情報の抽出機能(出力者検知機能及び改竄検知機能)の処理手順等を説明したが、情報の埋め込み機能(出力者検知情報埋め込み機能、改竄検知情報埋め込み機能等)についても同様にマーキングフレームワーク上に実装することができる。例えば、出力者検知情報埋め込み機能を追加する場合、マーキングアクティビティ固有部として出力者検知情報埋め込みアクティビティ部を実装し、マーキングサービス固有部242として出力者検知情報埋め込みサービス部を実装すればよい。出力者検知情報埋め込みアクティビティ部は、出力者検知アクティビティ部1042aとほぼ同様の処理を行えばよい。また、出力者検知情報埋め込みサービス部は、処理対象として入力されたページ画像に対して地紋又はバーコード等によって出力者の識別情報(例えば、複合機1にログインしているユーザのユーザ名)を埋め込めばよい。改竄検知情報埋め込み情報についても同様である。
【0206】
ところで、本実施の形態では、マーキングアクティビティ104、マーキングフィルタ135、及びマーキングサービス24の三つの階層における全てのコンポーネントをフレームワーク化した例について説明した(図8又は図9参照)。但し、マーキングアクティビティ104又はマーキングサービス24のいずれか一方についてフレームワーク部分を有さない構成であっても、マーキング処理機能のカスタマイズ性の向上を達成することは可能である。
【0207】
例えば、図43は、マーキングフレームワークがマーキングサービス共通部を有さない場合の構成例を示す図である。図43中、図9と同一部分には同一符号を付している。
【0208】
マーキング共通部241がマーキングフレームワークに含まれていない場合、マーキング処理機能ごとにマーキングサービス24を作成する必要がある。同図では、マーキング処理機能ごとに作成されたマーキングサービス24の例として出力検知サービス25及び改竄検知サービス26が示されている。この場合、出力検知サービス25及び改竄検知サービス26の双方において、マーキング共通部241が行っていた処理(すなわち、シーケンス図において、代理部2411、固有部管理部2412、及び固有部実行部2413が行っていた処理)を実装する必要がある。したがって、図9の構成に比べてマーキングサービス24の作成は煩雑化する。但し、マーキングアクティビティ104については、マーキングアクティビティ固有部1042のみを実装すればよいため、カスタマイズ性を向上させることができる。
【0209】
また、図44は、マーキングフレームワークがマーキングアクティビティ共通部を有さない場合の構成例を示す図である。図44中、図9と同一部分には同一符号を付している。
【0210】
マーキングアクティビティ共通部1041がマーキングフレームワークに含まれていない場合、マーキング処理機能ごとにマーキングアクティビティ104を作成する必要がある。同図では、マーキング処理機能ごとに作成されたマーキングアクティビティ104の例として出力検知アクティビティ105及び改竄検知アクティビティ106が示されている。この場合、出力検知アクティビティ105及び改竄検知アクティビティ106の双方において、マーキングアクティビティ共通部1041が行っていた処理(すなわち、シーケンス図において、マーキングアクティビティ共通部1041、マーキングアクティビティプリファレンス1041p、及びマーキングアクティビティジョブ1041jが行っていた処理)を実装する必要がある。したがって、図9の構成に比べてマーキングアクティビティ104の作成は煩雑化する。但し、マーキングサービス24については、マーキングサービス固有部242のみを実装すればよいため、カスタマイズ性を向上させることができる。
【0211】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【0212】
【図1】本発明の実施の形態における画像形成装置のハードウェア構成の一例を示す図である。
【図2】本発明の実施の形態の画像形成装置におけるソフトウェア構成例を示す図である。
【図3】パイプ&フィルタアーキテクチャの概念を説明するための図である。
【図4】本実施の形態の複合機における各機能を実現するためのフィルタの組み合わせの例を示す図である。
【図5】フィルタの構成要素を説明するための図である。
【図6】アクティビティの構成要素を説明するための図である。
【図7】マーキング処理機能を実現するためのソフトウェアコンポーネントの構成例を示す図である。
【図8】マーキングアクティビティ、マーキングフィルタ、及びマーキングサービスの構成例を示す図である。
【図9】マーキングフレームワークに対して出力者検知機能及び改竄検知機能を実装した場合の構成例を示す図である。
【図10】マーキングサービス共通部の構成例を示す図である。
【図11】マーキングジョブのための初期化処理の概要を説明するための図である。
【図12】マーキングジョブのための初期化処理を説明するためのシーケンス図である。
【図13】マーキングジョブのための初期化処理を説明するためのシーケンス図である。
【図14】表示項目定義テーブルの例を示す図である
【図15】読取フィルタプリファレンスとマーキングフィルタプリファレンスとが接続された状態を示す図である。
【図16】読取フィルタプリファレンスとマーキングフィルタプリファレンスと印刷フィルタプリファレンスとが接続された状態を示す図である。
【図17】マーキングサービスによるプリファレンスに対するマーキング属性の構成情報の設定処理を説明するためのシーケンス図である。
【図18】マーキングサービスによるプリファレンスに対するマーキング属性の初期値の設定処理を説明するためのシーケンス図である。
【図19】ログイン画面の表示例を示す図である。
【図20】利用権限テーブルの例を示す図である。
【図21】アプリケーション選択画面の表示例を示す図である。
【図22】出力者検知設定画面の表示例を示す図である。
【図23】改竄検知設定画面の表示例を示す図である。
【図24】マーキングジョブに対する属性値の設定処理の概要を示す図である。
【図25】マーキングジョブに対する属性値の設定処理を説明するためのシーケンス図である。
【図26】マーキングジョブの実行処理を説明するためのシーケンス図である。
【図27】マーキングジョブの実行処理を説明するためのシーケンス図である。
【図28】出力者検知ジョブが実行される場合のジョブツリーの例を示す図である。
【図29】改竄検知ジョブが実行される場合のジョブツリーの例を示す図である。
【図30】フィルタ間調整を説明するための図である。
【図31】マーキングジョブの実行手順の概要を説明するための図である。
【図32】マーキングサービスによる処理可能な画像形式の取得処理を説明するためのシーケンス図である。
【図33】マーキングサービスによるサービス処理条件の生成処理を説明するためのシーケンス図である。
【図34】サービス処理条件とマーキングサービス固有部とマーキング属性との関係を示す図である。
【図35】マーキングサービスによるマーキング処理の実行手順を説明するためのシーケンス図である。
【図36】マーキングサービスによるマーキング処理の終了手順を説明するためのシーケンス図である。
【図37】マーキングサービスによるマーキング処理の中止手順を説明するためのシーケンス図である。
【図38】マーキングサービスより検知完了イベントが通知された場合に実行される処理を説明するためのシーケンス図である。
【図39】マーキングサービスより検知完了イベントが通知された場合に実行される処理を説明するためのシーケンス図である。
【図40】出力者検知結果画面の表示例を示す図である。
【図41】改竄検知結果画面の表示例を示す図である。
【図42】マーキングサービスより終了完了イベント又は中止完了イベントが通知された場合に実行される処理を説明するためのシーケンス図である。
【図43】マーキングフレームワークがマーキングサービス共通部を有さない場合の構成例を示す図である。
【図44】マーキングフレームワークがマーキングアクティビティ共通部を有さない場合の構成例を示す図である。
【符号の説明】
【0213】
1 複合機
10 アプリケーションメカニズム
20 サービスメカニズム
21 画像パイプ
22 UI部
23 データ管理部
24 マーキングサービス
25 出力者検知サービス
26 改竄検知サービス
30 デバイスメカニズム
40 運用部
41 プラグイン管理部
100 アクティビティフレームワーク
101 コピーアクティビティ
102 送信アクティビティ
103 ファクスアクティビティ
104 マーキングアクティビティ
105 出力者検知アクティビティ
106 改竄検知アクティビティ
110 フィルタフレームワーク
111 読取フィルタ
112 保管文書読出フィルタ
113 メール受信フィルタ
114 ファクス受信フィルタ
121 文書編集フィルタ
122 文書変換フィルタ
131 印刷フィルタ
132 保管文書登録フィルタ
133 メール送信フィルタ
134 ファクス送信フィルタ
135 マーキングフィルタ
241 マーキングサービス共通部
242 マーキングサービス固有部
242a 出力者検知サービス部
242b 改竄検知サービス部
601 コントローラ
602 オペレーションパネル
603 ファクシミリコントロールユニット
604 撮像部
605 印刷部
611 CPU
612 ASIC
621 NB
622 SB
631 MEM−P
632 MEM−C
633 HDD
634 メモリカードスロット
635 メモリカード
641 NIC
642 USBデバイス
643 IEEE1394デバイス
644 セントロニクスデバイス
1041 マーキングアクティビティ共通部
1042 マーキングアクティビティ固有部
1042a 出力者検知アクティビティ部
1042b 改竄検知アクティビティ部
2411 代理部
2412 固有部管理部
2413 固有部実行部
2414 サービス処理条件
2415 固有部インタフェース

【特許請求の範囲】
【請求項1】
画像データに関してジョブの一部を構成する処理を実行するソフトウェア部品を接続してジョブを実行する画像形成装置であって、
前記ソフトウェア部品の一つに基づいて、他の前記ソフトウェア部品より出力された画像データに対する埋め込み情報の抽出又は埋め込みに関する埋め込み情報処理を制御する埋め込み情報処理制御手段と、
前記埋め込み情報制御手段からの指示に応じて、前記画像データに対する埋め込み情報処理を実行する埋め込み情報処理サービス手段とを有し、
前記埋め込み情報処理サービス手段は、前記埋め込み情報処理の種類に対して共通の処理を実行する共通サービス手段と、前記種類に応じた固有の処理を行う一つ以上の固有サービス手段とを有し、
前記共通サービス手段は、前記埋め込み情報制御手段からの指示を受け付け、
前記固有サービス手段は、前記画像データに対して前記埋め込み処理を実行することを特徴とする画像形成装置。
【請求項2】
前記埋め込み情報処理制御手段は、前記埋め込み情報処理に関してユーザに設定させる設定項目の構成情報を前記共通サービス手段に問い合わせ、
前記共通サービス手段は、該問い合わせに応じた応答を前記埋め込み情報処理の種類に応じた固有サービス手段に実行させることを特徴とする請求項1記載の画像形成装置。
【請求項3】
前記埋め込み情報処理制御手段は、前記埋め込み情報処理に関してユーザに設定させる設定項目の初期値を前記共通サービス手段に問い合わせ、
前記共通サービス手段は、該問い合わせに応じた応答を前記埋め込み情報処理の種類に応じた固有サービス手段に実行させることを特徴とする請求項2記載の画像形成装置。
【請求項4】
前記埋め込み情報処理制御手段は、前記埋め込み情報処理サービス手段が処理可能な画像データの形式を前記共通サービス手段に問い合わせ、該問い合わせに応じた応答に基づいて、前記他の前記ソフトウェア部品より出力される画像データの処理の可否を判定し、
前記共通サービス手段は、該問い合わせに応じ、前記固有サービス手段に処理可能な画像形式を問い合わせることを特徴とする請求項1乃至3いずれか一項記載の画像形成装置。
【請求項5】
前記ソフトウェア部品を接続して画像データに対する埋め込み情報の抽出又は埋め込みに関するジョブである埋め込み情報ジョブを制御する埋め込み情報ジョブ制御手段を有し、
前記埋め込み情報ジョブ制御手段は、前記埋め込み情報ジョブの種類に対して共通の処理を実行する共通手段と、前記埋め込み情報ジョブの種類に応じた固有の処理を行う一つ以上の固有手段とを有し、
前記固有手段は、前記埋め込み情報ジョブの種類に応じて前記ソフトウェア部品の接続関係を生成することを特徴とする請求項1乃至4いずれか一項記載の画像形成装置。
【請求項6】
画像データに関してジョブの一部を構成する処理を実行するソフトウェア部品を接続してジョブを実行する画像形成装置を、
前記ソフトウェア部品の一つに基づいて、他の前記ソフトウェア部品より出力された画像データに対する埋め込み情報の抽出又は埋め込みに関する埋め込み情報処理を制御する埋め込み情報処理制御手段と、
前記埋め込み情報制御手段からの指示に応じて、前記画像データに対する埋め込み情報処理を実行する埋め込み情報処理サービス手段とをして機能させ、
前記埋め込み情報処理サービス手段は、前記埋め込み情報処理の種類に対して共通の処理を実行する共通サービス手段と、前記種類に応じた固有の処理を行う一つ以上の固有サービス手段とを有し、
前記共通サービス手段は、前記埋め込み情報制御手段からの指示を受け付け、
前記固有サービス手段は、前記画像データに対して前記埋め込み処理を実行することを特徴とするプログラム。
【請求項7】
前記埋め込み情報処理制御手段は、前記埋め込み情報処理に関してユーザに設定させる設定項目の構成情報を前記共通サービス手段に問い合わせ、
前記共通サービス手段は、該問い合わせに応じた応答を前記埋め込み情報処理の種類に応じた固有サービス手段に実行させることを特徴とする請求項6記載のプログラム。
【請求項8】
前記埋め込み情報処理制御手段は、前記埋め込み情報処理に関してユーザに設定させる設定項目の初期値を前記共通サービス手段に問い合わせ、
前記共通サービス手段は、該問い合わせに応じた応答を前記埋め込み情報処理の種類に応じた固有サービス手段に実行させることを特徴とする請求項7記載のプログラム。
【請求項9】
前記埋め込み情報処理制御手段は、前記埋め込み情報処理サービス手段が処理可能な画像データの形式を前記共通サービス手段に問い合わせ、該問い合わせに応じた応答に基づいて、前記他の前記ソフトウェア部品より出力される画像データの処理の可否を判定し、
前記共通サービス手段は、該問い合わせに応じ、前記固有サービス手段に処理可能な画像形式を問い合わせることを特徴とする請求項6乃至8いずれか一項記載のプログラム。
【請求項10】
前記ソフトウェア部品を接続して画像データに対する埋め込み情報の抽出又は埋め込みに関するジョブである埋め込み情報ジョブを制御する埋め込み情報ジョブ制御手段を有し、
前記埋め込み情報ジョブ制御手段は、前記埋め込み情報ジョブの種類に対して共通の処理を実行する共通手段と、前記埋め込み情報ジョブの種類に応じた固有の処理を行う一つ以上の固有手段とを有し、
前記固有手段は、前記埋め込み情報ジョブの種類に応じて前記ソフトウェア部品の接続関係を生成することを特徴とする請求項6乃至9いずれか一項記載のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate


【公開番号】特開2010−74434(P2010−74434A)
【公開日】平成22年4月2日(2010.4.2)
【国際特許分類】
【出願番号】特願2008−238629(P2008−238629)
【出願日】平成20年9月17日(2008.9.17)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】