(57)【要約】【課題】機能のカスタマイズ又は拡張などを簡略化させることのできる画像処理装置、画像処理方法及び画像処理プログラムを提供する。【解決手段】本発明は、パイプ＆フィルタと呼ばれる考え方に基づくソフトウェアアーキテクチャを画像処理装置１００に適用する。さらに本発明では、画像データが出力フィルタにおける出力処理と対応していない場合に、出力処理に対応した画像データを再生成し、画像データを出力処理と対応させる。【選択図】図３
2009105491.tif 000002
【特許請求の範囲】
【請求項１】
画像処理の対象として入力される画像データの入力処理を制御する入力フィルタと、
外部に出力される画像データの出力処理を制御する出力フィルタと、
前記入力フィルタと前記出力フィルタとの間で前記画像データの加工処理を行う加工フィルタと、
前記入力フィルタ、前記加工フィルタ、前記出力フィルタの間で画像データを保持して伝送させるパイプと、を有し、
前記出力フィルタは、前記画像データが前記出力処理と対応しているか否かを判断する対応判断手段と、
前記画像データが前記出力処理に対応していないことを通知する通知イベントを生成する通知イベント生成手段とを有し、
前記画像データが前記出力処理に対応していない場合、前記通知イベント生成手段により生成された前記通知イベントを前記加工フィルタへ通知することを特徴とする画像処理装置。
【請求項２】
前記加工フィルタは、
前記通知イベントを解析する通知イベント解析手段と、
前記通知イベント解析手段により解析された通知イベントに基づき画像データの消去指示を生成する消去指示生成手段とを有し、
前記消去指示生成手段により生成された消去指示を前記加工フィルタの後段に接続された前記パイプへ通知することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記加工フィルタは、
前記通知イベント解析手段による解析結果に基づき、前記画像データを前記出力処理と対応する画像データとするように前記画像データの再加工を行うことを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記通知イベントは、前記画像データが前記出力処理と対応しない理由を示す理由情報を含み、
前記加工フィルタは、前記理由情報に基づき前記画像データの再加工を行うか否かを判断することを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記入力フィルタは、
前記通知イベントを解析する通知イベント解析手段と、
前記通知イベント解析手段により解析された通知イベントに基づき画像データの消去指示を生成する消去指示生成手段とを有し、
前記消去指示生成手段により生成された消去指示を前記入力フィルタの後段に接続された前記パイプへ通知することを特徴とする請求項１ないし４の何れか一項に記載の画像処理装置。
【請求項６】
前記通知イベントは、前記出力処理と対応しない画像データを特定する特定情報を含み、
前記消去指示生成手段は、
前記特定情報に基づき画像データの消去指示を生成することを特徴とする請求項２ないし５の何れか一項に記載の画像処理装置。
【請求項７】
前記パイプは、
前記画像データを消去したことを通知する消去イベントを生成する消去イベント生成手段を有し、
前記消去指示に基づき前記画像データを消去し、前記消去イベント生成手段により生成された前記消去イベントを前記パイプの後段に接続された前記加工フィルタ又は前記出力フィルタへ通知することを特徴とする請求項２ないし６の何れか一項に記載の画像処理装置。
【請求項８】
前記加工フィルタは、
前記通知イベント生成手段により生成された前記通知イベントを、前記入力フィルタへ通知することを特徴とする請求項１ないし７の何れか一項に記載の画像処理装置。
【請求項９】
一の前記入力フィルタに対し、複数の前記出力フィルタが選択されたとき、
前記通知イベントは、
前記通知イベントを生成した前記出力フィルタから、一の入力フィルタと複数の前記出力フィルタとを接続する出力経路において分岐点となる前記パイプまで通知されることを特徴とする請求項１ないし８の何れか一項に記載の画像処理装置。
【請求項１０】
前記パイプは、
前記通知イベントが生成された出力フィルタと接続された加工フィルタへ、前記消去イベント生成手段により生成された消去イベントを通知することを特徴とする請求項９記載の画像処理装置。
【請求項１１】
画像処理の対象として入力される画像データの入力処理を制御する入力手順と、
外部に出力される画像データの出力処理を制御する出力手順と、
前記入力手順と前記出力手順との間で前記画像データの加工処理を行う加工手順と、を有し、
前記出力手順は、
前記画像データが前記出力処理と対応しているか否かを判断する対応判断手順と、
前記画像データが前記出力処理に対応していないことを通知する通知イベントを生成する通知イベント生成手順とを有し、
前記画像データが前記出力処理に対応していない場合、前記通知イベント生成手順により生成される前記通知イベントを前記加工手順へ通知することを特徴とする画像処理方法。
【請求項１２】
コンピュータに、
画像処理の対象として入力される画像データの入力処理を制御する入力ステップと、
外部に出力される画像データの出力処理を制御する出力ステップと、
前記入力ステップと前記出力ステップとの間で前記画像データの加工処理を行う加工ステップと、を実行させ、
前記出力ステップは、
前記画像データが前記出力処理と対応しているか否かを判断する対応判断ステップと、
前記画像データが前記出力処理に対応していないことを通知する通知イベントを生成する通知イベント生成ステップとを実行させ、
前記画像データが前記出力処理に対応していない場合、前記通知イベント生成手順により生成された前記通知イベントを前記加工ステップへ通知させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
近年において、プリンタ、コピー機、スキャナ、ファクシミリ、又はこれらの機能を一台の筐体で実現する複合機等の画像処理装置では、汎用的にコンピュータと同様にＣＰＵを備え、各機能はアプリケーションの制御によって実現されるようになっている。
【０００２】
例えば特許第３６７９３４９号公報（特許文献１）に記載された画像形成装置では、各アプリケーションから共通して利用される機能をプラットフォームとして備えており、このプラットフォームのＡＰＩ（Application Programming Interface）を利用してアプリケーションを実装することができる。係る画像形成装置によれば、共通して利用される機能がプラットフォームとして備えられていることにより、アプリケーションごとに重複した機能の実装が回避され、アプリケーション全体の開発効率を向上させることができる。
【特許文献１】特許第３６７９３４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、係る構成では、このプラットフォームによって提供される機能又はインターフェースの粒度が適切に設計されないと、アプリケーションの開発効率の向上が期待以上にはかれない場合がある。
【０００４】
例えば、この粒度が小さすぎると、単純なサービスを提供するアプリケーションであるにも関わらず、多くのＡＰＩの呼び出しが必要とされ、そのソースコードは複雑なものとなってしまう。
【０００５】
一方、粒度が大きすぎると、ある機能の一部について変更を加えたサービスを提供するアプリケーションを実装したい場合、プラットフォーム内を修正しなければならず、開発工数の増加を招きかねない。特に、プラットフォーム内における各モジュールの依存関係が強い場合は、プラットフォームに新規機能を追加するだけでなく、既存部分の修正も必要とされる場合があり、事態はより複雑となる。
【０００６】
また、既存のアプリケーションによって提供されているサービスの一部（例えば、画像の入力処理）を変更したアプリケーションを実装したい場合、変更部分以外の部分については既存のアプリケーションを呼び出すといったようなことはできない。したがって、改めてソースコードを記述して新たなアプリケーションを実装しなければならない。
【０００７】
本発明は、上記の点を鑑みてなされたものであって、機能のカスタマイズ又は拡張などを簡略化させることのできる画像処理装置、画像処理方法及び画像処理プログラムを提供することを目的とするものである。
【課題を解決するための手段】
【０００８】
本発明は、上記目的を達成するために、以下の如き構成を採用した。
【０００９】
本発明の画像処理装置は、画像処理の対象として入力される画像データの入力処理を制御する入力フィルタと、外部に出力される画像データの出力処理を制御する出力フィルタと、前記入力フィルタと前記出力フィルタとの間で前記画像データの加工処理を行う加工フィルタと、前記入力フィルタ、前記加工フィルタ、前記出力フィルタの間で画像データを保持して伝送させるパイプと、を有し、前記出力フィルタは、前記画像データが前記出力処理と対応しているか否かを判断する対応判断手段と、前記画像データが前記出力処理に対応していないことを通知する通知イベントを生成する通知イベント生成手段とを有し、前記画像データが前記出力処理に対応していない場合、前記通知イベント生成手段により生成された前記通知イベントを前記加工フィルタへ通知する構成とした。
【００１０】
係る構成によれば、機能のカスタマイズ又は拡張などを簡略化させることができ、さらに画像データが出力フィルタにおける出力処理と対応していない場合に、出力処理に対応した画像データを再生成し、画像データを出力処理と対応させることができる。
【００１１】
また本発明の画像処理装置において、前記加工フィルタは、前記通知イベントを解析する通知イベント解析手段と、前記通知イベント解析手段により解析された通知イベントに基づき画像データの消去指示を生成する消去指示生成手段とを有し、前記消去指示生成手段により生成された消去指示を前記加工フィルタの後段に接続された前記パイプへ通知する構成としても良い。
【００１２】
また本発明の画像処理装置において、前記加工フィルタは、前記通知イベント解析手段による解析結果に基づき、前記画像データを前記出力処理と対応する画像データとするように前記画像データの再加工を行う構成としてもよい。
【００１３】
また本発明の画像処理装置において、前記通知イベントは、前記画像データが前記出力処理と対応しない理由を示す理由情報を含み、前記加工フィルタは、前記理由情報に基づき前記画像データの再加工を行うか否かを判断する構成としても良い。
【００１４】
また本発明の画像処理装置において、前記入力フィルタは、前記通知イベントを解析する通知イベント解析手段と、前記通知イベント解析手段により解析された通知イベントに基づき画像データの消去指示を生成する消去指示生成手段とを有し、前記消去指示生成手段により生成された消去指示を前記入力フィルタの後段に接続された前記パイプへ通知する構成としても良い。
【００１５】
また本発明の画像処理装置において、前記通知イベントは、前記出力処理と対応しない画像データを特定する特定情報を含み、前記消去指示生成手段は、前記特定情報に基づき画像データの消去指示を生成する構成としても良い。
【００１６】
また本発明の画像処理装置において、前記パイプは、前記画像データを消去したことを通知する消去イベントを生成する消去イベント生成手段を有し、前記消去指示に基づき前記画像データを消去し、前記消去イベント生成手段により生成された前記消去イベントを前記パイプの後段に接続された前記加工フィルタ又は前記出力フィルタへ通知する構成としても良い。
【００１７】
また本発明の画像処理装置において、前記加工フィルタは、前記通知イベント生成手段により生成された前記通知イベントを、前記パイプを介して前記入力フィルタへ通知する構成としても良い。
【００１８】
また本発明の画像処理装置において、一の前記入力フィルタに対し、複数の前記出力フィルタが選択されたとき、前記通知イベントは、前記通知イベントを生成した前記出力フィルタから、一の入力フィルタと複数の前記出力フィルタとを接続する出力経路において分岐点となる前記パイプまで通知される構成としても良い。
【００１９】
また本発明の画像処理装置において、前記パイプは、前記通知イベントが生成された出力フィルタと接続された加工フィルタへ、前記消去イベント生成手段により生成された消去イベントを通知する構成としても良い。
【００２０】
本発明の画像処理方法は、画像処理の対象として入力される画像データの入力処理を制御する入力手順と、外部に出力される画像データの出力処理を制御する出力手順と、前記入力手順と前記出力手順との間で前記画像データの加工処理を行う加工手順と、を有し、前記出力手順は、前記画像データが前記出力処理と対応しているか否かを判断する対応判断手順と、前記画像データが前記出力処理に対応していないことを通知する通知イベントを生成する通知イベント生成手順とを有し、前記画像データが前記出力処理に対応していない場合、前記通知イベント生成手順により生成される前記通知イベントを前記加工手順へ通知する方法とした。
【００２１】
係る方法によれば、機能のカスタマイズ又は拡張などを簡略化させることができ、さらに画像データが出力フィルタにおける出力処理と対応していない場合に、出力処理に対応した画像データを再生成し、画像データを出力処理と対応させることができる。
【００２２】
本発明の画像処理プログラムは、コンピュータに、画像処理の対象として入力される画像データの入力処理を制御する入力ステップと、外部に出力される画像データの出力処理を制御する出力ステップと、前記入力ステップと前記出力ステップとの間で前記画像データの加工処理を行う加工ステップと、を実行させ、前記出力ステップは、前記画像データが前記出力処理と対応しているか否かを判断する対応判断ステップと、前記画像データが前記出力処理に対応していないことを通知する通知イベントを生成する通知イベント生成ステップとを実行させ、前記画像データが前記出力処理に対応していない場合、前記通知イベント生成手順により生成された前記通知イベントを前記加工ステップへ通知させるプログラムとした。
【００２３】
係るプログラムによれば、機能のカスタマイズ又は拡張などを簡略化させることができ、さらに画像データが出力フィルタにおける出力処理と対応していない場合に、出力処理に対応した画像データを再生成し、画像データを出力処理と対応させることができる。
【発明の効果】
【００２４】
本発明によれば、機能のカスタマイズ又は拡張などを簡略化させることができる。
【発明を実施するための最良の形態】
【００２５】
本発明では、パイプ＆フィルタと呼ばれる考え方に基づくソフトウェアアーキテクチャを画像処理装置に適用することで、機能のカスタマイズ又は拡張などを簡略化する。さらに本発明では、小容量の半導体メモリを効率的に使用することで、生産性の低下を防止できる。
【００２６】
以下に、本発明の実施形態の説明に先立ち、本発明の画像処理装置に適用されたパイプ＆フィルタの概念について説明する。図１は、パイプ＆フィルタの概念を説明する図である。図１に示す「Ｐ」はパイプを示し、「Ｆ」はフィルタを示す。
【００２７】
フィルタとは、入力された画像データに対して所定の処理を施して、その処理結果を出力するプログラムである。そしてパイプは、フィルタとフィルタを連結する手段であり、パイプの入力側に連結されたフィルタから出力される処理結果を一時的に保持し、その後パイプの出力側へ連結されたフィルタへ画像データを伝達する。このように、パイプ＆フィルタの概念によれば、パイプを介在させてフィルタにおける処理を連続したものとすることができる。
【００２８】
本発明では、フィルタにおいて施される所定の処理を、入力された画像データに対し、所定の変換を施す処理と考える。すなわち、本発明の画像処理装置では、画像処理装置で実現される各機能をドキュメント（入力画像データ）に対する「変換処理」の連続として捉える。画像処理装置の各機能は、ドキュメントすなわち画像データの入力、加工及び出力によって構成されるものと考える。そこで、以下の実施形態の説明では「入力処理」、「加工処理」及び「出力処理」のそれぞれを「変換処理」として捉え、一つの変換処理を実現するソフトウェア部品をフィルタとして構成した。
【００２９】
本発明では、画像データの入力処理を制御するフィルタを入力フィルタ、画像データの加工処理を制御するフィルタを加工フィルタ、画像データの出力処理を制御するフィルタを出力フィルタとした。これらの各フィルタはそれぞれ独立したプログラムであって、フィルタ間の依存関係は存在しない。よって、各フィルタは、画像処理装置において独立してフィルタ単位で追加（インストール）、削除（アンインストール）することが可能である。
【００３０】
図２は、パイプ＆フィルタの概念が適用された画像処理装置の一例のハードウェア構成図である。画像処理装置１００は、それぞれバスＢで相互に接続されているスキャン装置１１、プロッタ装置１２、ドライブ装置１３、補助記憶装置１４、メモリ装置１５、演算処理装置１６、インターフェース装置１７、操作装置１８で構成される。
【００３１】
スキャン装置１１はスキャナエンジンなどで構成され、原稿を読み取って画像データとするために用いられる。プロッタ装置１２はプロッタエンジンなどで構成され、画像データを印刷するために用いられる。インターフェース装置１７は、モデム、ＬＡＮカードなどで構成されており、ネットワークに接続する為に用いられる。
【００３２】
本発明の画像処理プログラムは、画像処理装置１００を制御する各種プログラムの少なくとも一部である。画像処理プログラムは例えば記録媒体１９の配布やネットワークからのダウンロードなどによって提供される。画像処理プログラムを記録した記録媒体１９は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００３３】
また、画像処理プログラムを記録した記録媒体１９がドライブ装置１３にセットされると、画像処理プログラムは記録媒体１９からドライブ装置１３を介して補助記憶装置１４にインストールされる。ネットワークからダウンロードされた画像処理プログラムは、インターフェース装置１７を介して補助記憶装置１４にインストールされる。
【００３４】
画像処理装置１００は、インストールされた画像処理プログラムを格納すると共に、必要なファイル、画像データ等を格納する。メモリ装置１５は、コンピュータの起動時に補助記憶装置１４から画像処理プログラムを読み出して格納する。そして、演算処理装置１６はメモリ装置１５に格納された画像処理プログラムに従って、後述するような各種処理を実現している。
（第一の実施形態）
図３は、本発明の第一の実施形態の画像処理装置１００のソフトウェア構成を示す構成図である。画像処理装置１００は、例えばプリンタ、コピー、スキャナ、又はＦＡＸ等の複数の機能を一台の筐体において実現する複合機である。
【００３５】
画像処理装置１００の機能を実現するソフトウェアは階層構造となっており、ユーザインターフェイス層１１０、コントロール層１２０、アプリケーションロジック層１３０、デバイスサービス層１４０及びデバイス層１５０により構成されている。これらの各層における上下関係は、層間の呼び出し関係に基づいている。すなわち、図中において上位層が下位層を呼び出す。
【００３６】
画像処理装置１００において、ユーザインターフェイス層１１０によりユーザから各種機能の実行指示が成されると、ユーザインターフェイス層１１０は、コントロール層１２０を呼び出しこの実行指示に基づきアプリケーションロジック層１３０を制御する。アプリケーションロジック層１３０では、コントロール層１２０からの指示に基づき要求された機能を実現させるアプリケーションを実行する。そして、この実行結果に基づきデバイスサービス層１４０、デバイス層１５０が画像処理装置１００のハードウェア資源を制御する。画像処理装置１００では、このような動作によりユーザインターフェイス層１１０が受け付けた機能に対応した出力結果を得る。
【００３７】
以下に各層について説明する。
【００３８】
ユーザインターフェイス層１１０には、例えばローカルＵＩ（user interface）部１１１が実装されており、画像処理装置１００の各種機能を実現するための実行指示を受け付ける機能を有する。ここで言う各種機能とは、例えばコピー機能、印刷機能、スキャン機能、ＦＡＸ機能などである。ローカルＵＩ部１１１は、例えば画像処理装置１００の操作装置１８に設けられていても良い。この操作装置１８は、例えば表示領域を備えるオペレーションパネルなどにより実現されても良い。ユーザインターフェイス層１１０において、ローカルＵＩ部１１１で受け付けられた実行指示は、コントロール層１２０へ伝達される。
【００３９】
コントロール層１２０では、画像処理装置１００の各機能を実現する処理を制御するための機能が実装されている。具体的には、要求された機能に応じてアプリケーションロジック層１３０における各フィルタの実行を制御する。尚、以下の本実施形態において述べる画像処理装置１００の機能とは、画像処理装置１００がユーザに対して提供する一つのまとまった単位（要求が入力されて最終的な出力が得られるまで）のサービスの定義であり、ソフトウェア的には一つのまとまった単位のサービスを提供するアプリケーションと同義である。
【００４０】
アプリケーションロジック層１３０には、画像処理装置１００において提供される機能の一部を実現する部品群である各種フィルタが実装されている。アプリケーションロジック層１３０では、コントロール層１２０の制御により、複数のフィルタを組み合わせて一つの機能が実現される。本実施形態におけるアプリケーションロジック層１３０には、入力フィルタ１３１、加工フィルタ１３２、出力フィルタ１３３及びアクティビティ１３４とが実装されている。アプリケーションロジック層１３０に実装された各フィルタは、各フィルタ毎に決められた定義に基づき動作するものであり、この定義に基づき制御される。これら各フィルタの詳細は後述する。アクティビティ１３４は、ユーザインターフェイス層１１０において要求された機能に応じて各フィルタを接続し、各フィルタの実行をとりまとめるコンポーネントである。
【００４１】
デバイスサービス層１４０には、アプリケーションロジック層１３０に実装された各フィルタが共通して利用する下位の機能が実装されている。本実施形態のデバイスサービス層１４０には画像パイプ１４１が実装されている。画像パイプ１４１は上で述べたパイプの機能を実現するものであり、アプリケーションロジック層１３０に実装されている各フィルタのうち、一のフィルタからの出力結果を、一のフィルタへ伝達する。ここで画像パイプ１４１は、例えば入力フィルタ１３１と加工フィルタ１３２とを接続しても良いし、加工フィルタ１３２と出力フィルタ１３３とを接続しても良い。
【００４２】
デバイス層１５０には、ハードウェアを制御するプログラムであるドライバが実装されている。本実施形態のデバイス層１５０には、例えばスキャナ部１５１、プロッタ部１５２等が実装されている。これらの各制御部は、それぞれの名称に付けられたデバイスを制御するものである。
【００４３】
以下に、アプリケーションロジック層１３０に実装された各フィルタについてさらに説明する。
【００４４】
本実施形態の入力フィルタ１３１は、画像処理装置１００の外部より入力された画像データに対する入力処理を制御する。入力フィルタ１３１には、例えば読取フィルタ、メール受信フィルタ、ＦＡＸ受信フィルタ、ＰＣ文書受信フィルタ等が含まれる（図示せず）。読取フィルタは、例えばスキャナによる画像データの読取を制御し、読み取られた画像データを出力する。メール受信フィルタは、画像処理装置１００において電子メールを受信し、受信した電子メールに含まれる画像データを出力する。ＦＡＸ受信フィルタはＦＡＸ受信を制御し、受信された画像データを出力する。ＰＣ文書受信フィルタは、図示しないクライアントＰＣなどから印刷画像データを受信し、この印刷画像データを出力する。レポートフィルタ３０６は、画像処理装置１００の設定情報や履歴情報などを例えば表形式などに整え、この整えられた画像データを出力する。
【００４５】
本実施形態の加工フィルタ１３２は、加工フィルタ１３２の入力側のフィルタより入力された画像データに所定の加工処理を施し、加工フィルタ１３２の出力側にあるフィルタへ処理結果を出力する。ここで言う加工処理とは、例えば入力された画像データの集約、拡大、縮小、回転処理等である。
【００４６】
本実施形態の出力フィルタ１３３は、入力された画像データ対する出力処理を制御し、画像処理装置１００の外部へ出力する。出力フィルタ１３３には、印刷フィルタ、プレビューフィルタ、メール送信フィルタ、ＦＡＸ送信フィルタ、ＰＣ文書送信フィルタ、文書登録フィルタ等が含まれる。
【００４７】
印刷フィルタは、入力された画像データをプロッタ部１５２に出力（印刷）させる。プレビューフィルタは、入力された画像データを画像処理装置１００の操作装置１８などにプレビュー表示させる。またメール送信フィルタは、画像データを電子メールに添付して送信する。またＦＡＸ送信フィルタは、入力された画像データをＦＡＸ送信する。ＰＣ文書送信フィルタは、入力された画像データを図示しないクライアントＰＣなどに送信する。文書登録フィルタは、入力された画像データを補助記憶装置１４等に出力して蓄積する。
【００４８】
本実施形態のアクティビティ１３４には、ユーザインターフェイス層１１０においてローカルＵＩ部１１１から入力された指示がコントロール層１２０を介して伝達される。アクティビティ１３４は、この指示にしたがって、入力フィルタ１３１、加工フィルタ１３２、出力フィルタ１３３におけるジョブの実行を制御する。
【００４９】
アプリケーションロジック層１３０では、上記各フィルタを組み合わせることにより、画像処理装置１００の各機能を実現している。係る構成によれば、画像処理装置１００では、フィルタとパイプの組み合わせにより各種の機能を実現することができる。具体的には、例えばコピー機能を実現したい場合には、入力フィルタ１３１に含まれる読取フィルタ、加工フィルタ１３２、出力フィルタ１３３に含まれる印刷フィルタを組み合わせれば良い。
【００５０】
以下に、本実施形態の画像処理装置１００における印刷処理について説明する。図４は、第一の実施形態の画像処理装置１００における印刷処理を説明する図である。
【００５１】
本実施形態の画像処理装置１００においてコントロール層１２０は、アクティビティ１３４に対し、各フィルタでの処理に係る処理の実行を制御させるジョブを生成させる（Ｓ３１）。本実施形態の画像処理装置１００では、例えば画像処理装置１００の電源が投入されたときに、このアクティビティ１３４に対するジョブを生成しても良い。
【００５２】
ローカルＵＩ部１１１により印刷処理の実行要求がなされると、ローカルＵＩ部１１１は、この要求をコントロール層１２０へ伝達する（Ｓ３２）。尚図４に示す例では、印刷処理の一つであるコピー処理が選択されたものとして説明する。この場合、ローカルＵＩ部１１１では、紙原稿の読取及び印刷を指示する操作がなされる。
【００５３】
アクティビティ１３４は、紙原稿の読取及び印刷指示を受けると、読取フィルタ１３１ａ、加工フィルタ１３２、印刷フィルタ１３３ａとを画像パイプにより接続する。尚このとき、実際には読取フィルタ１３１ａに含まれる読取フィルタが加工フィルタ１３２に接続される。次にコントロール層１２０は、読取フィルタ１３１ａにより実行されるジョブ（Ｓ３３）、加工フィルタ１３２により実行されるジョブ（Ｓ３４）、印刷フィルタ１３３ａにより実行されるジョブを生成する（Ｓ３５）。
【００５４】
コントロール層１２０により各フィルタにおいて実行されるジョブが生成されると、アクティビティ１３４は、各フィルタに対しジョブの実行を指示する。すると、読取フィルタ１３１ａにより、入力部であるスキャナ部１５１から紙原稿を読取る処理が実行され、紙原稿が画像データとして読み込まれる。この画像データが読取フィルタ１３１ａから出力されて、画像パイプ１４１を介して加工フィルタ１３２へ伝達される。
【００５５】
加工フィルタ１３２では、この画像データに予め設定された所定の加工処理を施し、加工された画像データとして出力する。加工された画像データは、次に出力フィルタ１３３の一つである印刷フィルタ１３３ａへ伝達される。印刷フィルタ１３３ａでは、この加工された画像データを出力部であるプロッタ部１５２から出力させて、コピー処理を実現する。
【００５６】
このように本実施形態では、入力フィルタ１３１、加工フィルタ１３２、出力フィルタ１３３は、それぞれが独立して制御されており、各フィルタ間に依存関係が存在しない。このため本実施形態では、機能のカスタマイズ又は拡張などを行う場合には、該当するフィルタ毎にカスタマイズ等を行えば良い。よって本実施形態によれば、機能のカスタマイズ又は拡張などを簡略化させることができる。
（第二の実施形態）
以下に図面を参照して本発明の第二の実施形態について説明する。本発明の第二の実施形態は、第一の実施形態をさらに改良したものである。よって、本実施形態の説明において、第一の実施形態と同様の機能構成を有するものには第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【００５７】
本実施形態の画像処理装置では、例えば出力フィルタにおいて、出力処理に対応していない画像データを受けたとき、出力処理に対応した画像データを再生成する。
【００５８】
以下に、出力処理と画像データが対応しない場合の具体例を説明する。
【００５９】
画像処理装置において、例えば印刷処理に関する機能として、リミットレス給紙機能がある。この機能は、印刷処理中に一つの給紙トレイの用紙がなくなった場合に、自動的に別の給紙トレイから印刷用紙が供給される機能である。この機能によれば、印刷用紙切れにより印刷処理が中断されることがなく、印刷処理を続行することができる。
【００６０】
例えばリミットレス給紙機能において、横向きに印刷用紙が置かれた給紙トレイから印刷用紙がなくなった場合に、縦置きに印刷用紙が置かれた給紙トレイから印刷用紙が供給される場合がある。この場合画像データは、出力フィルタの前段の加工フィルタにおいて、横置きの印刷用紙に合わせた画像処理が施されており、縦置きの印刷用紙には対応していない。よって画像データを縦置きの印刷用紙に合わせた画像データにする必要がある。
【００６１】
本発明のようにパイプ＆フィルタを適用した画像処理装置においても、画像データが出力処理に対応していない場合には、出力フィルタに送られる画像データを出力処理に対応した画像データとするために画像データを再生成できることが望ましい。
【００６２】
そこで本実施形態の画像処理装置では、画像データが出力フィルタにおける出力処理と対応していない場合に、出力処理に対応した画像データを再生成し、画像データを出力処理と対応させることを可能とした。
【００６３】
図５は、第二の実施形態の画像処理装置における第一のフィルタの構成を説明する図である。
【００６４】
本実施形態の画像処理装置では、出力フィルタ１３３Ａにおいて画像パイプ１４１ｂから読み出した画像データが、出力処理と対応しているか否かを判定する。そして画像データが出力処理と対応していないと判定されると、加工フィルタ１３２Ａにおいて、画像データが出力処理と対応した画像データとなるように、再度画像処理が行われて画像データが再生成される。再生成された画像データは、出力フィルタ１３３Ａから出力される。
【００６５】
本実施形態の出力フィルタ１３３Ａは、対応判定部１４２、通知イベント生成部１４３を有する。対応判定部１４２は、出力フィルタ１３３Ａが画像パイプ１４１ｂから読み出した画像データが出力処理と対応しているか否かを判定する。通知イベント生成部１４３は、画像データが出力処理と対応していないと判定されたとき、その旨を加工フィルタ１３２Ａへ通知するための通知イベントを生成する。通知イベントについての詳細は後述する。
【００６６】
本実施形態の加工フィルタ１３２Ａは、通知イベント解析部１４４、消去指示生成部１４５を有する。通知イベント解析部１４４は、出力フィルタ１３３Ａからの通知イベントを解析する。消去指示生成部１４５は、解析された通知イベントに基づき画像パイプ１４１ｂに保持された画像データの消去指示を生成する。
【００６７】
本実施形態の画像パイプ１４１ｂは、消去イベント生成部１４６を有する。消去イベント生成部１４６は、加工フィルタ１３２Ａからの消去指示を受けて画像データを消去したことを通知する消去イベントを生成する。消去イベントの詳細は後述する。
【００６８】
ここで、本実施形態における通知イベントと消去イベントについて説明する。図６は、通知イベントと消去イベントを説明する図である。図６（Ａ）は、通知イベントの一例を示す図である。図６（Ｂ）は、消去イベントの一例を示す図である。
【００６９】
本実施形態の出力フィルタ１３３Ａにおいて、通知イベント生成部１４３は、図６（Ａ）に示す通知イベントを生成する。
【００７０】
通知イベントは、イベント名、画像データのうち出力処理と対応しない画像データを特定する情報、画像データが出力処理と対応しない理由の情報が紐付けされて構成されている。本実施形態では、通知イベントのイベント名を「データ・リフレッシュ通知」とし、対応しない画像データを特定する情報を対応しない画像データの最初のページ番号とした。また図６（Ａ）示す例では、画像データが出力処理と対応しない理由として、画像データが本来必要な画像データと比較して９０度回転していることを示している。
【００７１】
また本実施形態の画像パイプ１４１ｂにおいて、消去イベント生成部１４６は、画像データの消去に際し、消去イベントを生成する。
【００７２】
消去イベントは、イベント名、画像データを再生成したか否か、再生成した画像データの最初のページ、画像データを生成した理由が紐付けされて構成されている。図６（Ｂ）に示す例では、イベント名を「データ・リフレッシュ要求」、画像データを再生成したか否かについては「再生成した」、再生成された画像データの最初のページ番号を「２ページ」、画像データを再生成した理由を「画像データを９０度回転させるため」とした。
【００７３】
次に、本実施形態の画像処理装置における画像データの再生成の動作を説明する。図７は、第二の実施形態の画像処理装置における画像データの再生成を説明する第一のシーケンス図である。
【００７４】
画像処理装置において、出力フィルタ１３３Ａは、画像パイプ１４１ｂから画像データを読み出す（Ｓ７０１）。尚画像パイプ１４１ｂには、加工フィルタ１３２Ａにより画像処理済みの画像データが書き込まれている。よってＳ７０１で出力フィルタ１３３Ａが読み出す画像データは、加工フィルタ１３２Ａにおいて画像処理が施された後の画像データである。
【００７５】
出力フィルタ１３３Ａは、画像データを読み出すと、対応判定部１４２により読み出した画像データが出力処理と対応した画像データであるか否かを判定する（Ｓ７０２）。尚本実施形態の対応判定部１４２は、画像パイプ１４１ｂに流れてくる画像データのヘッダ情報に基づき、画像データが出力処理と対応しているか否かを判定する。画像データのヘッダ情報とは、例えば画像データのページサイズ、カラー情報、画像データの向きの情報などである。
【００７６】
また本実施形態において、画像データと出力処理とが対応しない場合とは、上述したリミットレス給紙機能において印刷用紙の向きが画像データの向きと一致しない場合の他に、画像データのプレビュー機能に関するものがある。プレビュー機能とは、出力される画像データのプレビューが表示される機能であり、出力フィルタ１３３Ａの一つであるプレビューフィルタにより実現される。プレビューフィルタは、出力される画像データのプレビュー表示、画像データの出力条件の再設定、再設定された出力条件での画像データのプレビュー表示を行う。
【００７７】
例えばプレビューフィルタにおいて出力条件の再設定が行われた場合、再設定前の画像データは再設定された出力条件に対応しない画像データとなる。よってこの場合、プレビューフィルタは通知イベントを生成し、前段の加工フィルタ１３２Ａへ通知イベントを通知する。この通知イベントには、画像データが出力処理と対応しない理由として、再設定された出力条件が含まれる。よって加工フィルタ１３２Ａは、再設定前の画像データを再設定された出力条件に対応する画像データに再加工する。再加工された画像データは、プレビューフィルタでの出力処理に対応した画像データとなる。
【００７８】
その他、画像データが出力処理と対応しない場合とは、画像データが出力処理において要求される画像データとは異なる形式の場合等がある。
【００７９】
Ｓ７０２において対応判定部１４２により画像データが出力処理と対応していないと判定された場合、出力フィルタ１３３Ａは通知イベント生成部１４３により通知イベントを生成する（Ｓ７０３）。尚ここで生成される通知イベントは、図６（Ａ）に示す通知イベントとして以下の説明を行う。
【００８０】
出力フィルタ１３３Ａは、生成した通知イベントを画像パイプ１４１ｂを介して加工フィルタ１３２Ａへ通知する（Ｓ７０４）。加工フィルタ１３２Ａは、通知イベントを受けると、通知イベント解析部１４４により通知イベントの解析を開始する（Ｓ７０５）。通知イベントの解析の詳細は後述する。
【００８１】
加工フィルタ１３２Ａは、通知イベント解析部１４４による通知イベントの解析結果に基づき、消去指示生成部１４５により画像パイプ１４１ｂに保持された画像データの消去指示を生成する。ここでは出力処理と対応しない画像データの最初のページは２ページ目であるから、消去指示生成部１４５は、２ページ目以降の画像データを消去する指示を生成する。生成された消去指示は画像パイプ１４１ｂへ通知される（Ｓ７０６）。
【００８２】
画像パイプ１４１ｂは、加工フィルタ１３２Ａからの消去指示を受けて（Ｓ７０７）、保持された画像データの中から指定された画像データを消去する（Ｓ７０８）。ここで画像パイプ１４１ｂは、消去指示に従って保持された画像データの２ページ目以降の画像データを消去する。
【００８３】
画像データを消去すると、画像パイプ１４１ｂは、消去イベント生成部１４６により消去イベントを生成する。そして画像パイプ１４１ｂは、画像データを消去した結果と、消去イベントとを出力フィルタ１３３Ａへ通知する（Ｓ７０９）。また画像パイプ１４１ｂは、画像データを消去したことを加工フィルタ１３２Ａへ通知する（Ｓ７１０）。ここで出力フィルタ１３３Ａへ通知される消去イベントは、図６（Ｂ）に示す消去イベントとした。
【００８４】
加工フィルタ１３２Ａは、画像パイプ１４１ｂから画像データ消去の通知を受けると、加工フィルタ１３２Ａの前段に接続された画像パイプ１４１ａから、再度画像データを読み出す（Ｓ７１１）。ここで加工フィルタ１３２Ａが読み出す画像データは、入力フィルタ１３１Ａにより入力されて画像パイプ１４１ａに保持されている画像データであり、画像処理前の画像データである。またここで加工フィルタ１３２Ａに読み出される画像データは、通知イベント解析部１４４により出力処理と対応していないと判定された画像データの加工前の画像データである。よってここで加工フィルタ１３２Ａが読み出す画像データは、２ページ目以降の画像データである。
【００８５】
画像データを読み出すと、加工フィルタ１３２Ａは、読み出した画像データに画像処理を施す（Ｓ７１２）。ここで加工フィルタ１３２Ａは、通知イベント解析部１４４による解析結果に基づき、画像データが出力フィルタ１３３Ａにおける出力処理と対応するように画像処理を施し、画像データを再生成する。すなわち通知イベント解析部１４４は、画像データが出力処理と対応しない理由から、画像データを９０度回転させる画像処理を行えば画像データが出力処理と対応することを解析し、画像データを９０度回転させて画像データを再生成する。
【００８６】
加工フィルタ１３２Ａは、画像データを再生成すると、再生成した画像データを画像パイプ１４１ｂへ書き込む（Ｓ７１３）。画像パイプ１４１ｂは、再生成された画像データを保持していることを出力フィルタ１３３Ａへ通知する（Ｓ７１４）。
【００８７】
出力フィルタ１３３Ａはこの通知を受けて（Ｓ７１５）、画像パイプ１４１ｂから画像データを読み出す（Ｓ７１６）。出力フィルタ１３３Ａは、再生成された画像データの出力処理を行う（Ｓ７１７）。
【００８８】
このように本実施形態の画像処理装置では、出力処理と対応していない画像データをユーザの指示を介することなく出力処理に対応した画像データに再生成することができる。よって本実施形態によれば、画像データが出力処理に適していない場合でも、ユーザに余分な操作をさせることなく画像データを適切に出力することができる。
【００８９】
次に、本実施形態の画像処理装置において、画像データの再生成を行う際に入力フィルタ１３１Ａから新たに画像データを読み取る場合について説明する。
【００９０】
図８は、第二の実施形態の画像処理装置における第二のフィルタの構成を説明する図である。本実施形態では、画像データの再生成を行う際に入力フィルタ１３１Ａから新たに画像データを読み取る必要がある場合、出力フィルタ１３３Ａで生成された通知イベントを入力フィルタ１３１Ａまで通知する。
【００９１】
本実施形態において加工フィルタ１３２Ａに通知された通知イベントは、画像パイプ１４１ａを介して入力フィルタ１３１Ａへ通知される。入力フィルタ１３１Ａは、この通知イベントに基づき、画像データの再入力処理を行う。再入力された画像データは加工フィルタ１３２Ａへ送られ、加工フィルタ１３２Ａで出力処理と対応するように画像処理が施され、出力フィルタ１３３Ａから出力される。
【００９２】
本実施形態の入力フィルタ１３１Ａは、加工フィルタ１３２Ａと同様に、通知イベント解析部１４７、消去指示生成部１４８を有する。通知イベント解析部１４７は、加工フィルタ１３２Ａから通知された通知イベントを解析する。消去指示生成部１４８は、通知イベント解析部１４７の解析結果に基づき画像パイプ１４１ａに対する画像データの消去指示を生成する。
【００９３】
本実施形態の画像パイプ１４１ａは、画像パイプ１４１ｂと同様の機能を有する消去イベント生成部１４９を有する。消去イベント生成部１４９は、入力フィルタ１３１Ａからの消去指示を受けて画像データを消去したことを通知する消去イベントを生成し、加工フィルタ１３２Ａへ通知する。
【００９４】
以下に図９を参照して画像データの再生成について説明する。図９は、第二の実施形態の画像処理装置における画像データの再生成を説明する第二のシーケンス図である。
【００９５】
図９のＳ９０１からＳ９０５までの処理は、図７のＳ７０１からＳ７０５までの処理と同様であるから説明を省略する。Ｓ９０５において通知イベント解析部１４４による通知イベントの解析の結果、新たに画像データの入力処理が必要であった場合、加工フィルタ１３２Ａは通知イベントを画像パイプ１４１ａを介して入力フィルタ１３１Ａへ通知する（Ｓ９０６）。
【００９６】
入力フィルタ１３１Ａは、通知イベントを受けて、通知イベント解析部１４７による通知イベントの解析を行う（Ｓ９０７）。入力フィルタ１３１Ａにおいて、消去指示生成部１４８は、通知イベント解析部１４７の解析結果に基づき、画像パイプ１４１ａに対する画像データの消去指示を生成し、画像パイプ１４１ａに通知する（Ｓ９０８）。
【００９７】
画像パイプ１４１ａは、消去指示を受けて、画像パイプ１４１ａに保持された画像データから消去対象とされた画像データを消去する（Ｓ９０９）。画像パイプ１４１ａは、画像データを消去した後、消去イベント生成部１４９により消去イベントを生成し、加工フィルタ１３３Ａへ通知する（Ｓ９１０）。また画像パイプ１４１ａは、画像データが消去されたことを入力フィルタ１３１Ａへ通知する（Ｓ９１１）。
【００９８】
入力フィルタ１３１Ａは、この通知を受けて、通知イベント解析部１４７の解析結果に基づき画像データの入力処理を行う（Ｓ９１２）。例えば入力フィルタ１３１Ａは、通知イベント解析部１４７により、通知イベントの「出力データと対応しない画像データの最初のページ」が２ページ目以降であることが解析された場合、２ページ目以降の画像データの入力処理を行う。ここで画像データの入力処理とは、例えば読取フィルタ１３１ａによる画像データの読取処理等である。
【００９９】
入力フィルタ１３１Ａは、新たに入力された画像データを画像パイプ１４１ａに書き込む（Ｓ９１３）。画像パイプ１４１ａは、画像データが書き込まれことを加工フィルタ１３２Ａに通知する（Ｓ９１４）。
【０１００】
加工フィルタ１３２Ａはこの通知を受けて（Ｓ９１５）、消去指示生成部１４５により、新たに入力された画像データに相当する画像データを消去する消去指示を生成し、画像パイプ１４１ｂへ通知する（Ｓ９１６）。消去指示生成部１４５は、２ページ目以降の画像データが入力フィルタ１３１Ａに新たに読み取られた場合には、２ページ目以降の画像データを消去する指示を生成する。
【０１０１】
画像パイプ１４１ｂは、消去指示を受けて（Ｓ９１７）該当する画像データを消去する（Ｓ９１８）。図９のＳ９１９からＳ９２７の処理は、図７のＳ７０９からＳ７１７の処理と同様であるから説明を省略する。
【０１０２】
このように本実施形態の画像処理装置では、画像データに再生成において、新たに画像データの入力処理を行う場合でも、ユーザに余分な操作をさせることなく画像データを適切に出力することができる。
【０１０３】
次に本実施形態において、通知イベントが入力フィルタ１３１Ａまで通知された場合に、入力フィルタ１３１Ａで新たに画像データの入力処理が行われない場合について説明する。入力フィルタ１３１Ａで新たに画像データの入力処理が行われない場合とは、例えば画像データの再入力処理を行うに当たり、ユーザの操作が必要となる場合か、再入力処理を行っても入力される画像データが変化しない場合等である。
【０１０４】
再入力処理にユーザの操作が必要な場合とは、具体的には例えばスキャン原稿を置き直しが必要である場合等である。再入力処理においても画像データが変化しない場合とは、例えば画像データがネットワークを介して受信される場合や、補助記憶装置１４等に蓄積された画像データが読み出されて使用される場合などである。
【０１０５】
以下に図１０を参照して画像データの再生成において新たに画像データの入力処理が行われない場合の動作を説明する。図１０は、第二の実施形態の画像処理装置における画像データの再生成を説明する第三のシーケンス図である。
【０１０６】
図１０のＳ１００１からＳ１００７までの処理は、図９のＳ９０１からＳ９０７までの処理と同様であるから説明を省略する。
【０１０７】
Ｓ１００７において、通知イベント解析部１４７による解析結果により画像データの新たな入力処理が必要ないと判定されると、入力フィルタ１３１Ａは、消去指示生成部１４８により、「画像データを消去しない」指示を生成し画像パイプ１４ａへ通知する（１００８）。
【０１０８】
画像パイプ１４１ａは、この指示を受けて消去イベント生成部１４９により消去イベントを生成する。尚ここで画像パイプ１４１ａは、画像データを消去しない。よってここで生成される消去イベントは、画像データを再生成したか否かについては「再生成しない」となる。
【０１０９】
この消去イベントは加工フィルタ１３２Ａへ通知される（Ｓ１００９）。図１０のＳ１００１０からＳ１０２２までの処理は、図９のＳ９１５からＳ９２７までの処理と同様であるから説明を省略する。
【０１１０】
次に本実施形態の画像処理装置において、多出力処理を行う場合について説明する。まず始めに、画像処理装置における多出力について説明する。
【０１１１】
図１１は、入力フィルタと出力フィルタとの組み合わせの例を説明する図である。図１１に示す例では、入力フィルタ１３１Ａに含まれる読取フィルタ１３１ａにより読み取られたデータを、出力フィルタ１３３Ａに含まれる印刷フィルタ、文書登録フィルタ、メール送信フィルタ、ＦＡＸ送信フィルタの４つの出力フィルタを用いて４種類の出力データとして出力する。
【０１１２】
このように、一の入力フィルタ１３１Ａから入力されたデータを複数の出力フィルタ１３３Ａから出力することを多出力と呼ぶ。
【０１１３】
以下に本実施形態では、多出力処理を行う場合に、一の出力フィルタにおいて画像データが出力処理と対応しない場合、他の出力フィルタと独立して画像データの再生成を行うことができる。
【０１１４】
図１２は、第二の実施形態の画像処理装置における第三のフィルタ構成を説明する図である。図１２で示す例では、例えば出力フィルタ１３３Ａとして、印刷フィルタ１３３ａとメール送信フィルタ１３３ｂが選択された場合を示している。
【０１１５】
本実施形態の印刷フィルタ１３３ａは、対応判定部１４２ａ、通知イベント生成部１４３ａを有する。本実施形態では、例えば印刷フィルタ１３３ａにおいて画像データが出力処理と対応しない場合、出力経路の分岐点となる画像パイプ１４１ａより前段の入力フィルタ１３１Ａには通知イベントを通知しない。よって本実施形態では、出力経路毎に独立して画像データの再生成を行うことができる。
【０１１６】
以下に図１３を参照して多出力処理における画像データの再生成について説明する。図１３は、第二の実施形態の画像処理装置における画像データの再生成を説明する第三のシーケンス図である。
【０１１７】
本実施形態において、印刷フィルタ１３３ａの対応判定部１４２ａにより画像データが出力処理と対応しないと判定された場合、通知イベント生成部１４３ａにより通知イベントが生成されて。画像パイプ１４１ｂを介して加工フィルタ１３２Ａへ通知される（Ｓ１３０１）。加工フィルタ１３２Ａは、この通知を受けて（Ｓ１３０２）画像パイプ１４１ａへ通知イベントを通知する（Ｓ１３０３）。
【０１１８】
画像パイプ１４１ａは、通知イベントを画像パイプ１４１ａの前段のフィルタである入力フィルタ１３１ａへ通知せず、消去イベント生成部１４９により消去イベントを生成する。ここで生成される消去イベントでは、画像データを再生成したか否かについては「再生成しない」となる。画像パイプ１４１ａは、生成した消去イベントを加工フィルタ１３２Ａへ通知する（Ｓ１３０４）。このとき画像パイプ１４１ａは、画像パイプ１４１ａに保持された画像データを消去しない。
【０１１９】
加工フィルタ１３２Ａは、消去イベントを受けて（Ｓ１３０５）、消去指示生成部１４５により画像パイプ１４１ｂに保持された画像データの消去指示を生成する。そして生成された消去指示を画像パイプ１４１ｂへ通知する（Ｓ１３０６）。
【０１２０】
図１３のＳ１３０７からＳ１３１７までの処理は、図７のＳ７０７からＳ７１７までの処理と同様であるから説明を省略する。
【０１２１】
このように本実施形態の画像処理装置は、画像データの多出力処理において、各出力経路毎に画像データの再生成を行うことができる。また本実施形態では、出力経路の分岐点となる画像パイプ１４１ａの前段のフィルタには通知イベントを通知せず、画像パイプ１４１ａに保持された画像データを消去しない。このため画像データの再生成を行い出力経路において必要となる画像データが消去されることがなく、適切に画像データを出力することができる。
【０１２２】
次に本実施形態における通知イベントの解析について説明する。図１４は、第二の実施形態おける通知イベントの解析を説明するフローチャートである。
【０１２３】
加工フィルタ１３２Ａの通知イベント解析部１４４は、通知イベントの通知を受けて通知イベントの解析を開始する（Ｓ１４０１）。本実施形態では、通知イベント解析部１４４は、通知イベントと共に、前段のフィルタで画像データの再生成が行われたか否かを示す情報が渡される。
【０１２４】
前段のフィルタで画像データの再生成が行われている場合（Ｓ１４０２）、通知イベント解析部１４４は、画像データの再生成を実行することを示すフラグをオンにする（Ｓ１４０３）。そして通知イベント解析部１４４は、通知イベントに含まれる「画像データを再生成する理由」に基づき画像データの加工条件を更新する（Ｓ１４０４）。
【０１２５】
前段のフィルタで画像データの再生成が行われていない場合（Ｓ１４０２）、通知イベント解析部１４４は、通知イベントに基づき加工フィルタ１３２Ａでの画像データの再生成が必要か否かを判断する（Ｓ１４０５）。ここで加工フィルタ１３２Ａでの画像データの再生成が必要と判断された場合、Ｓ１４０２へ進む。またＳ１４０４において画像データの再生成が不要と判断された場合、画像データの再生成を実行することを示すフラグをオフにする（Ｓ１４０６）。
【０１２６】
ここで加工フィルタ１３２Ａにおける画像データの再生成の必要性の判断について説明する。本実施形態の加工フィルタ１３２Ａは、画像データの再生成が必要か否かを判断する機能を有する。以下に図１５を参照して加工フィルタ１３２Ａにおける画像データの再生成の判断について説明する。図１５は、第二の実施形態における加工フィルタ１３２Ａの画像データの再生成の判断を説明する図である。
【０１２７】
図１５は、加工フィルタ１３２Ａとして、画像データをモノクロデータからカラーデータへ変換するカラー変換フィルタ１３２ａと、画像データの回転を行う画像回転フィルタ１３２ｂが入力フィルタ１３１Ａと出力フィルタ１３３Ａとの間に接続された場合を示している。図１５（Ａ）の例では、入力フィルタ１３１Ａの後段にカラー変換フィルタ１３２ａ、その後段に画像回転フィルタ１３２ｂが接続されている。図１５（Ｂ）の例では、入力フィルタ１３１Ａの後段に画像回転フィルタ１３２ｂが接続されており、その後段にカラー変換フィルタ１３２ａが接続されている。
【０１２８】
図１５（Ａ）において画像データの向きが印刷用紙の向きと対応しないとして、出力フィルタ１３３Ａで通知イベントが生成された場合、出力フィルタ１３３Ａより前段にある各フィルタ及びパイプは、その前段へと通知イベントを転送する。通知イベントが入力フィルタ１３１Ａに達すると、入力フィルタは再生成の理由が自身の処理とは無関係であることを判別し、画像パイプ１４１ａの画像データの消去を行わないという決定をして、データ・リフレッシュ要求を画像パイプ１４１ａへ発行する。
【０１２９】
この要求には、図６に示されるように、出力フィルタ１３３Ａからの通知イベントと同じ再生成の理由が格納されている。画像パイプ１４１ａは、要求内容がデータ消去不要となっているため、その要求をカラー変換フィルタ１３２ａへ転送する。カラー変換フィルタ１３２ａは、要求の理由が自身の処理とは無関係であり、且つ前段の画像パイプ１４１ａの画像データが消去されていないことから、画像データの再生成と画像パイプ１４１ｂの画像データの消去を行わず、データ・リフレッシュ要求を画像パイプ１４１ｂへ発行する。画像パイプ１４１ｂは、画像パイプ１４１ａと同様に、要求内容がデータ消去不要となっているため、その要求を画像回転フィルタ１３２ｂへ転送する。
【０１３０】
画像回転フィルタ１３２ｂは、要求の理由から画像データの回転処理が必要であることを判別し、画像パイプ１４１ｃに対してデータ消去を指示する消去指示を行う。同時に画像回転フィルタ１３２ｂは、画像パイプ１４１ｂから再度画像データを取得して、必要な画像回転処理を施した後、そのデータを画像パイプ１４１ｃに書き込む。画像パイプ１４１ｃは、データの消去が要求されているため、格納している画像データのうち、指定された画像データ以降の全画像データを消去する。そして画像回転フィルタ１３２ｂは、再生成した画像データを画像パイプ１４１ｃへ書き込む。出力フィルタ１３３Ａは画像データの書き込みを受けて、画像パイプ１４１ｃから画像データを取得して、出力処理を行う。
【０１３１】
図１５（Ｂ）の例では、図１５（Ａ）と同様に、出力フィルタ１３３Ａで生成された通知イベントは、出力フィルタ１３３Ａより前段にある各フィルタ及びパイプへと順々に転送される。通知イベントが入力フィルタ１３１Ａに達すると、入力フィルタは再生成の理由が自身の処理とは無関係であることを判別し、画像パイプ１４１ａの画像データの消去を行わないという決定をして、データ・リフレッシュ要求を画像パイプ１４１ａへ発行する。画像回転フィルタ１３２ｂは、要求の理由から画像データの回転処理が必要であることを判別し、画像パイプ１４１ｂに対してデータ消去を指示する消去指示を行う。画像パイプ１４１ｂは、この消去指示を受けて、格納している画像データのうち、指定された画像データ以降の全画像データを消去する。同時に画像回転フィルタ１３２ｂは、画像パイプ１４１ａから再度画像データを取得して、必要な画像回転処理を施した後、その画像データを画像パイプ１４１ｂに書き込む。そして画像回転フィルタ１３２ｂが画像データを再生成したことを示すデータ・リフレッシュ要求をカラー変換フィルタ１３２ａへ発行する。カラー変換フィルタ１３２ａは、要求の理由が自身の処理とは無関係であるが、前段の画像パイプ１４１ｂのデータが再生成されているため、自身もその新しいデータを使って再処理を行う必要があると判断し、画像パイプ１４１ｃに対して画像データの消去指示を行う。画像パイプ１４１ｃは、画像データの消去指示を受けて、格納している画像データの内、指定された画像データ以降の全画像データを消去する。同時にカラー変換フィルタ１３２ａは、画像パイプ１４１ｂから再度画像データを取得して、必要なカラー変換処理を施した後、そのデータを画像パイプ１４１ｃに書き込む。そして、カラー変換フィルタ１３２ａが画像データを再生成したことを示すデータ・リフレッシュ要求を出力フィルタ１３３Ａへ発行する。出力フィルタ１３３Ａはこの要求を受けて、画像パイプ１４１ｃから画像データを取得して、出力処理を行う。
【０１３２】
このように本実施形態では、各フィルタがフィルタ構成及び各フィルタの機能に基づき画像データの再生成が必要か否かを判断している。
【０１３３】
図１４へ戻って、加工フィルタ１３２Ａは画像データの再生成を行うか否かを後段の画像パイプ１４１ｂへ通知する（Ｓ１４０７）。Ｓ１４０７において、画像データの再生成を行うフラグがオンであった場合（Ｓ１４０８）、加工フィルタ１３２Ａは前段の画像パイプ１４１ａから画像データを読み込み（Ｓ１４０９）、再度画像処理を行い画像データを再生成する（Ｓ１４１０）。
【０１３４】
加工フィルタ１３２Ａは、画像処理済みの再生成された画像データを後段の画像パイプ１４１ｂへ書き出す（Ｓ１４１１）。加工フィルタ１３２Ａは、Ｓ１４０９からＳ１４１１までの処理を通知イベントで通知された全ページ数回繰り返す。加工フィルタ１３２Ａは、全ページの画像データの再生成が終了すると、画像データの再生成を終了する（Ｓ１４１２）。
【０１３５】
以上に説明したように、本実施形態によれば、機能のカスタマイズ又は拡張などを簡略化させることができる。また本実施形態によれば、画像データが出力フィルタにおける出力処理と対応していない場合に、出力処理に対応した画像データを再生成し、画像データを出力処理と対応させることができる。
【０１３６】
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。
【図面の簡単な説明】
【０１３７】
【図１】パイプ＆フィルタの概念を説明する図である。
【図２】パイプ＆フィルタの概念が適用された画像処理装置の一例のハードウェア構成図である。
【図３】第一の実施形態の画像処理装置１００のソフトウェア構成を示す構成図である。
【図４】第一の実施形態の画像処理装置１００における印刷処理を説明する図である。
【図５】第二の実施形態の画像処理装置における第一のフィルタ構成を説明する図である。
【図６】通知イベントと消去イベントを説明する図である。
【図７】第二の実施形態の画像処理装置における画像データの再生成を説明する第一のシーケンス図である。
【図８】第二の実施形態の画像処理装置における第二のフィルタ構成を説明する図である。
【図９】第二の実施形態の画像処理装置における画像データの再生成を説明する第二のシーケンス図である。
【図１０】第二の実施形態の画像処理装置における画像データの再生成を説明する第三のシーケンス図である。
【図１１】入力フィルタと出力フィルタとの組み合わせの例を説明する図である。
【図１２】第二の実施形態の画像処理装置における第三のフィルタ構成を説明する図である。
【図１３】第二の実施形態の画像処理装置における画像データの再生成を説明する第三のシーケンス図である。
【図１４】第二の実施形態おける通知イベントの解析を説明するフローチャートである。
【図１５】第二の実施形態における加工フィルタ１３２Ａの画像データの再生成の判断を説明する図である。
【符号の説明】
【０１３８】
１００  画像処理装置
１３１、１３１Ａ  入力フィルタ
１３２、１３２Ａ  加工フィルタ
１３３、１３３Ａ  出力フィルタ
１４１ａ、１４１ｂ  画像パイプ
１４２、１４２ａ  対応判定部
１４３  通知イベント生成部
１４４、１４７  通知イベント解析部
１４５、１４８  消去指示生成部
１４６、１４９  消去イベント生成部
【図１】
2009105491.tif 000003
【図２】
2009105491.tif 000004
【図３】
2009105491.tif 000005
【図４】
2009105491.tif 000006
【図５】
2009105491.tif 000007
【図６】
2009105491.tif 000008
【図７】
2009105491.tif 000009
【図８】
2009105491.tif 000010
【図９】
2009105491.tif 000011
【図１０】
2009105491.tif 000012
【図１１】
2009105491.tif 000013
【図１２】
2009105491.tif 000014
【図１３】
2009105491.tif 000015
【図１４】
2009105491.tif 000016
【図１５】
2009105491.tif 000017