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