(57)【特許請求の範囲】
【請求項１】
画像処理を行うための複数の処理部を有する画像形成装置において、前記画像処理の対象となるデータの入力処理を行う複数の入力処理部と、前記データの加工処理を行う複数の加工処理部と、前記画像処理の結果の出力処理を行う複数の出力処理部と、を有し、
当該画像形成装置の一のアプリケーションに対応して、前記複数の入力処理部の中から所定の入力処理部と、前記複数の加工処理部の中から所定の加工処理部と、前記複数の出力処理部の中から所定の出力処理部とをそれぞれ選択し、該所定の入力処理部、該所定の加工処理部及び該所定の出力処理部を接続することにより前記一のアプリケーションが構築され、さらに、前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とに対し、処理動作を指示する処理動作指示部を有する画像形成装置であって、
前記処理動作指示部は、前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とに対し、処理の制御単位を通知する制御単位通知手段を有し、
前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とは、実行すべき処理内容の指示を前記処理動作指示部に要求する処理内容要求手段を有し、
前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とは、各々の処理結果と共に、該処理結果を利用する前記入力処理部と、該処理結果を利用する前記加工処理部と、該処理結果を利用する前記出力処理部の動作処理を規定する前記画像処理の対象となるデータに埋め込まれた制御コードを、記憶部に記憶させ、
前記処理内容要求手段は、前記制御コードに対応した、実行すべき処理内容の指示を処理動作指示部に要求することを特徴とする画像形成装置。
【請求項２】
前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とは、処理の制御単位を前記処理動作指示部に要求する制御単位要求手段を有し、
前記処理動作指示部の制御単位通知手段は、前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とからの要求に対し、処理の制御単位を通知することを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記処理動作指示部は、前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とに対し、実行すべき処理内容を通知する処理内容通知手段を有することを特徴とする請求項１記載の画像形成装置。
【請求項４】
前記処理動作指示部の処理内容通知手段は、前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とからの要求に対し、実行すべき処理内容を通知することを特徴とする請求項３記載の画像形成装置。
【請求項５】
当該画像形成装置のアプリケーションに対応して、前記所定の入力処理部、前記所定の加工処理部及び前記所定の出力処理部の接続に係る組合せを記憶したテーブルを有する接続関係記憶部を有し、
前記接続関係記憶部は、ユーザが指定したアプリケーションに対応した前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とのいずれか二つの接続関係に関する情報を前記処理動作指示部に通知する接続関係通知手段を有し、
前記処理動作指示部は、前記接続関係通知手段により通知された前記接続関係に関する情報に基づいて、前記アプリケーションに対応した、前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部との接続に係る情報を得ることを特徴とする請求項１記載の画像形成装置。
【請求項６】
画像処理を行うための複数の処理部を有する画像形成装置において、前記画像処理の対象となるデータの入力処理を行う複数の入力処理部と、前記データの加工処理を行う複数の加工処理部と、前記画像処理の結果の出力処理を行う複数の出力処理部と、を有し、
当該画像形成装置の一のアプリケーションに対応して、前記複数の入力処理部の中から所定の入力処理部と、前記複数の加工処理部の中から所定の加工処理部と、前記複数の出力処理部の中から所定の出力処理部とをそれぞれ選択し、該所定の入力処理部、該所定の加工処理部及び該所定の出力処理部を接続することにより前記一のアプリケーションが構築される画像形成装置の画像処理方法であって、
処理動作指示部が、前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とに対し、処理動作を指示するステップと、
前記処理動作指示部の制御単位通知手段が、前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とに対し、処理の制御単位を通知するステップと、
前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とのそれぞれが有する処理内容要求手段が、実行すべき処理内容の指示を前記処理動作指示部に要求するステップと、
前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とが、各々の処理結果と共に、該処理結果を利用する前記入力処理部と、該処理結果を利用する前記加工処理部と、該処理結果を利用する前記出力処理部の動作処理を規定する前記画像処理の対象となるデータに埋め込まれた制御コードを、記憶部に記憶させるステップと、を有し、
前記処理内容要求手段は、前記制御コードに対応した、実行すべき処理内容の指示を処理動作指示部に要求することを特徴とする画像形成制御方法。
【請求項７】
前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とのそれぞれが有する制御単位要求手段が、処理の制御単位を前記処理動作指示部に要求するステップを有し、
前記処理動作指示部の制御単位通知手段は、前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とからの要求に対し、処理の制御単位を通知することを特徴とする請求項６記載の画像形成制御方法。
【請求項８】
前記処理動作指示部の処理内容通知手段が、前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とに対し、実行すべき処理内容を通知するステップを有することを特徴とする請求項６記載の画像形成制御方法。
【請求項９】
前記処理動作指示部の処理内容通知手段は、前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とからの要求に対し、実行すべき処理内容を通知することを特徴とする請求項８記載の画像形成制御方法。
【請求項１０】
さらに、接続関係記憶部が、前記所定の入力処理部、前記所定の加工処理部及び前記所定の出力処理部の接続に係る組合せを記憶したテーブルを保持するステップを有し、
前記接続関係記憶部の接続関係通知手段が、ユーザが指定したアプリケーションに対応した前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とのいずれか二つの接続関係に関する情報を前記処理動作指示部に通知するステップを有し、
前記処理動作指示部は、前記接続関係通知手段により通知された前記接続関係に関する情報に基づいて、前記アプリケーションに対応した、前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部との接続に係る情報を得ることを特徴とする請求項６記載の画像形成制御方法。
【請求項１１】
画像処理を行うための複数の処理部を有する画像形成装置において、前記画像処理の対象となるデータの入力処理を行う複数の入力処理部と、前記データの加工処理を行う複数の加工処理部と、前記画像処理の結果の出力処理を行う複数の出力処理部と、を有し、
当該画像形成装置の一のアプリケーションに対応して、前記複数の入力処理部の中から所定の入力処理部と、前記複数の加工処理部の中から所定の加工処理部と、前記複数の出力処理部の中から所定の出力処理部とをそれぞれ選択し、該所定の入力処理部、該所定の加工処理部及び該所定の出力処理部を接続することにより前記一のアプリケーションが構築される画像形成装置の画像形成制御プログラムであって、
コンピュータに、
処理動作指示部が、前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とに対し、処理動作を指示するステップと、
前記処理動作指示部の制御単位通知手段が、前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とに対し、処理の制御単位を通知するステップと、
前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とのそれぞれが有する処理内容要求手段が、実行すべき処理内容の指示を前記処理動作指示部に要求するステップと、
前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とが、各々の処理結果と共に、該処理結果を利用する前記入力処理部と、該処理結果を利用する前記加工処理部と、該処理結果を利用する前記出力処理部の動作処理を規定する前記画像処理の対象となるデータに埋め込まれた制御コードを、記憶部に記憶させるステップと、を実行させ、
前記処理内容要求手段は、前記制御コードに対応した、実行すべき処理内容の指示を処理動作指示部に要求する画像形成制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の入力処理部、複数の加工処理部及び複数の出力処理部から構成される画像形成装置に関し、その各処理部の動作処理を弾力的に規定することができるような画像形成装置、画像形成制御方法及び画像形成プログラムに関する。
【背景技術】
【０００２】
近年におけるプリンタ、コピー機、スキャナ、ファクシミリ、又はこれらの機能を一台の機器で実現する複合機等の画像形成装置では、メモリ等の制限は厳しいものの、汎用的なコンピュータと同様にCPUを備え、各機能はアプリケーションの制御によって実現されるようになっている。
【０００３】
例えば、特許文献１に記載された画像形成装置では、各アプリケーションから共通的に利用される機能をプラットフォームとして備えており、当該プラットフォームのAPI（Application Programming Interface）を利用してアプリケーションを実装することができる。かかる画像形成装置によれば、共通的に利用される機能がプラットフォームとして備えられていることにより、アプリケーション毎に重複した機能の実装が回避され、アプリケーション全体の開発効率を向上させることができる。
【特許文献１】３６７９３４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の画像形成装置では、個々の固定的な機能を有する装置を組み合わせてアプリケーションを構築していたため、当該アプリケーションの処理動作は固定的なものであった。
【０００５】
本発明は、上記の点に鑑みなされたものであって、処理する画像データの属性に応じて、アプリケーションの動作処理を弾力的に変更させることができる画像形成装置の提供を目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る画像形成装置は、画像処理を行うための複数の処理部を有する画像形成装置において、前記画像処理の対象となるデータの入力処理を行う複数の入力処理部と、前記データの加工処理を行う複数の加工処理部と、前記画像処理の結果の出力処理を行う複数の出力処理部と、を有し、
当該画像形成装置の一のアプリケーションに対応して、前記複数の入力処理部の中から所定の入力処理部と、前記複数の加工処理部の中から所定の加工処理部と、前記複数の出力処理部の中から所定の出力処理部とをそれぞれ選択し、該所定の入力処理部、該所定の加工処理部及び該所定の出力処理部を接続することにより前記一のアプリケーションが構築され、さらに、前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とに対し、処理動作を指示する処理動作指示部を有する画像形成装置であって、
前記処理動作指示部は、前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とに対し、処理の制御単位を通知する制御単位通知手段を有し、
前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とは、実行すべき処理内容の指示を前記処理動作指示部に要求する処理内容要求手段を有し、
前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とは、各々の処理結果と共に、該処理結果を利用する前記入力処理部と、該処理結果を利用する前記加工処理部と、該処理結果を利用する前記出力処理部の動作処理を規定する前記画像処理の対象となるデータに埋め込まれた制御コードを、記憶部に記憶させ、
前記処理内容要求手段は、前記制御コードに対応した、実行すべき処理内容の指示を処理動作指示部に要求することを特徴とする。
【０００７】
また、本発明に係る画像形成装置の一形態において、前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とは、処理の制御単位を前記処理動作指示部に要求する制御単位要求手段を有し、前記処理動作指示部の制御単位通知手段は、前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とからの要求に対し、処理の制御単位を通知することを特徴とする。
【０００８】
また、本発明に係る画像形成装置の一形態において、前記処理動作指示部は、前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とに対し、実行すべき処理内容を通知する処理内容通知手段を有することを特徴とする。
【０００９】
前記処理動作指示部の処理内容通知手段は、前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とからの要求に対し、実行すべき処理内容を通知することを特徴とする。
【００１１】
また、本発明に係る画像形成装置の一形態において、当該画像形成装置のアプリケーションに対応して、前記所定の入力処理部、前記所定の加工処理部及び前記所定の出力処理部の接続に係る組合せを記憶したテーブルを有する接続関係記憶部を有し、前記接続関係記憶部は、ユーザが指定したアプリケーションに対応した前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部とのいずれか二つの接続関係に関する情報を前記処理動作指示部に通知する接続関係通知手段を有し、前記処理動作指示部は、前記接続関係通知手段により通知された前記接続関係に関する情報に基づいて、前記アプリケーションに対応した、前記所定の入力処理部と、前記所定の加工処理部と、前記所定の出力処理部との接続に係る情報を得ることを特徴とする。
【００１２】
このような画像形成装置は、処理する画像データの属性に応じて、アプリケーションの動作処理を弾力的に変更させることができる。
【発明の効果】
【００１３】
本発明によれば、処理する画像データの属性に応じて、アプリケーションの動作処理を弾力的に変更させることができる画像形成装置の提供をすることができる。
【発明を実施するための最良の形態】
【００１４】
図面を参照しながら、本発明を実施するための最良の形態について説明する。
【００１５】
（本発明に係る画像形成装置のソフトウェアアーキテクチャ）
本発明の画像形成装置の一例である複合機のソフトウェアアーキテクチャが採用している「パイプ＆フィルタ」と呼ばれる考え方を以下に説明する。
【００１６】
図１は、「パイプ＆フィルタ」の概念を説明するための図である。図中に示されるように、各フィルタは、パイプによって接続される。フィルタは、入力されたデータに対して変換を施し、その結果を出力する。パイプは、フィルタから出力されたデータを次のフィルタに伝達する。
【００１７】
すなわち、本実施の形態における複合機では、各機能をドキュメント（データ）に対する「変換」の連続として捉える。複合機の各機能は、ドキュメントの入力、加工及び出力によって構成されるものとして一般化することができる。そこで、「入力」、「加工」及び「出力」を変換として捉え、一つの「変換」を実現するソフトウェア部品がフィルタとして構成される。入力を実現するためのフィルタを特に「入力フィルタ」という。また、加工を実現するためのフィルタを特に「加工フィルタ」という。更に、出力を実現するフィルタを特に「出力フィルタ」という。なお、各フィルタは独立しており、フィルタ間における依存関係（呼び出し関係）は基本的には存在しない。従って、フィルタ単位で追加（インストール）又は削除（アンインストール）が可能となる。
【００１８】
フィルタについて、更に詳しく説明する。図２は、フィルタの構成要素を説明するための図である。図２に示されるように、各フィルタは、フィルタ設定用UI（User Interface）２１、フィルタロジック２２、フィルタ固有下位サービス２３及び永続記憶領域情報２４により構成される。
【００１９】
フィルタ設定用UI２１は、フィルタの実行条件を設定させるための画面をオペレーションパネルに表示させるプログラムである。例えば、入力フィルタの一つである読取フィルタであれば、解像度、濃度、画像種別を設定する画面が相当する。なお、オペレーションパネルの表示がHTML（HyperText Markup Language）データや、スクリプトに基づいて行われ得ることに鑑みれば、フィルタ設定用UIはHTMLデータやスクリプトであっても良い。
【００２０】
フィルタロジック２２は、フィルタの機能を実現するためのロジックが実装されたプログラムである。例えば、読取フィルタであれば、スキャナによる原稿読み取り制御のためのロジックが相当する。
【００２１】
フィルタ固有下位サービス２３は、フィルタロジックを実現するために必要な下位機能（ライブラリ）である。例えば、読取フィルタであれば、スキャナを制御するための機能が相当する。
【００２２】
永続記憶領域情報２４は、フィルタに対する設定情報（例えば、実行条件のデフォルト値）等、不揮発性メモリに保存する必要があるデータのスキーマ定義が相当する。
【００２３】
図３は、本実施の形態における複合機の入力フィルタ、加工フィルタ及び出力フィルタの一例を示す図である。
【００２４】
入力フィルタとしては、読取フィルタ３１、保管文書読出フィルタ３２、メール受信フィルタ３３、FAX送信フィルタ３４、PC文書受信フィルタ３５がある。読取フィルタ３１は、スキャナによる画像データの読み取りを制御し、読み取られた画像データを出力する。保管文書読出フィルタ３２は、複合機の記憶装置に保管されている文書データ（画像データ）を読み出し、読み出されたデータを出力する。メール受信フィルタ３３は、電子メールの受信し、当該電子メールに含まれているデータを出力する。ＦＡＸ受信フィルタ３４は、ＦＡＸ受信を制御し、受信されたデータを出力する。ＰＣ文書受信フィルタ３５は、非図示のクライアントＰＣから印刷データを受信し、受信された印刷データを出力する。
【００２５】
加工フィルタとしては、文書加工フィルタ３６、文書変換フィルタ３７がある。文書加工フィルタ３６は、入力されたデータに所定の画像変換処理（集約、拡大、又は縮小等）を施し、出力する。文書変換フィルタ３７は、レンダリング処理を実行する。すなわち、入力されたPostScriptデータをビットマップデータに変換して出力する。
【００２６】
出力フィルタとしては、印刷フィルタ３８、保管文書登録フィルタ３９、メール送信フィルタ４０、FAX送信フィルタ４１がある。印刷フィルタ３８は、入力されたデータをプロッタに出力（印刷）させる。保管文書登録フィルタ３９は、入力されたデータを複合機内のハードディスク内に保存する。メール送信フィルタ４０は、入力されたデータを電子メールに添付して送信する。ＦＡＸ送信フィルタ４１は、入力されたデータをＦＡＸ送信する。
【００２７】
図４は、本実施の形態の複合機における各機能（アプリケーション）を実現するためのフィルタの組み合わせの例を示す図である。
【００２８】
例えば、コピー機能は、読取フィルタ３１と印刷フィルタ３８とを接続することにより実現される。読取フィルタ３１によって、原稿から読み取られた画像データを印刷フィルタ３８によって印刷すれば良いからである。なお、コピー機能に付随する、集約、拡大、縮小等の加工が要求された場合には、これらの加工を実現する文書加工フィルタ３６が読取フィルタ３１と印刷フィルタ３８の間に挿入される。
【００２９】
プリンタ機能（クライアントPCからの印刷機能）は、PC文書受信フィルタ３５と文書変換フィルタ３７と印刷フィルタ３８とを接続することにより実現される。スキャンto  mail機能（スキャンした画像データを電子メールで転送する機能）は、読取フィルタ３１とメール送信フィルタ４０とを接続することにより実現される。FAX送信機能は、読取フィルタ３１とFAX送信フィルタ３４とを接続することにより実現される。FAX受信機能は、FAX受信フィルタ３４と印刷フィルタ３８とを接続することにより実現される。ドキュメントボックス蓄積機能（スキャンした画像データを複合機内に保存する機能）は、読取フィルタ３１と保管文書登録フィルタ３９とを接続することにより実現される。ドキュメントボックス印刷機能（複合機内に保存されている文書データを印刷する機能）は、保管文書読出フィルタ３２と印刷フィルタ３８とを接続することにより実現される。
【００３０】
（本発明の動作原理）
図５は、本発明に係る画像形成装置５０の動作原理を示す図である。本発明に係る画像形成装置５０は、処理動作指示部５１、アプリケーション処理部５５、記憶部５６、接続関係記憶部５７から構成される。
【００３１】
処理動作指示部５１は、ポリシーテーブルに基づいて、各処理部にその処理動作を指示する機能を有する。ここで、ポリシーテーブルとは、制御コードに応じた出力手段毎の動作を規定するテーブルをいう。また、当該制御コードは、原稿をスキャンした際に、原稿に埋め込まれているものであり、各処理部の動作処理を規定するために必要な情報の一つである。
【００３２】
処理動作指示部５１は、制御単位通知手段５１１、処理内容通知手段５１２及びフィルタ制御テーブル５１３を有する。制御単位通知手段５１１は、後述する入力処理部５２、加工処理部５３及び出力処理部５４の制御単位要求手段５２１、５３１、５４１に応答して、これら各処理部が行うべき画像処理の単位を通知する。例えば、入力処理部５２に対しては、ページ単位と文書単位の両方での画像処理を行うよう通知を行い、一方、加工処理部５３に対しては、ページ単位でのみ画像処理を行うよう通知を行う。
【００３３】
また、処理動作指示部５１の一形態において、制御単位通知手段５１１は、入力処理部５２、加工処理部５３及び出力処理部５４の制御単位要求手段５２１、５３１、５４１による要求が無い場合でも、これら各処理部が行うべき画像処理の単位を通知する形態としても良い。
【００３４】
また、処理内容通知手段５１２は、後述する入力処理部５２、加工処理部５３及び出力処理部５４の処理内容要求手段５２２、５３２、５４２に応答して、これら各処理部が行うべき画像処理の内容を通知する。例えば、入力処理部５２に対しは、文書単位でジョブログを残すように通知を行い、一方で、出力処理部５４に対しては、ページ単位で印刷をキャンセルするように通知を行う。
【００３５】
また、処理動作指示部５１の一形態において、処理内容通知手段５１２は、後述する入力処理部５２、加工処理部５３及び出力処理部５４の処理内容要求手段５２２、５３２、５４２による要求が無い場合でも、これら各処理部が行うべき画像処理の内容を通知する形態としても良い。
【００３６】
次に、フィルタ制御テーブル５１３は、制御コードに基づき各フィルタが実行すべき処理を規定したテーブルである。図６は、フィルタ制御テーブル５１３の一例であり、複合機がコピー機能を実現する場合に、入力フィルタ、加工フィルタ、出力フィルタが、制御コードに応じて実行すべき処理が記載されている。また、入力フィルタに関しては、ページ単位と文書単位とで別々に実行すべき処理が規定されている。
【００３７】
記憶部５６は、前述の「パイプ＆フィルタ」アーキテクチャにおけるパイプに相当する処理を行う。つまり、記憶部５６とは、後述する入力処理部５２、加工処理部５３及び出力処理部５４での処理結果を一時的に保存するメモリである。本実施の形態では、入力処理部５２、加工処理部５３及び出力処理部５４は、各々の処理結果と共に、書誌的情報として制御コードを記憶部５６に記憶させる。
【００３８】
アプリケーション処理部５５は、入力処理部５２、加工処理部５３及び出力処理部５４から構成される。入力処理部５２は、前述の「パイプ＆フィルタ」アーキテクチャにおける入力フィルタに相当する処理を行い、具体的には、スキャナを使った画像データ読み取り処理、メールの受信処理、FAX受信処理等を行う。入力処理部５２は、制御単位要求手段５２１と処理内容要求手段５２２を有する。制御単位要求手段５２１は、入力処理部５２での処理を、ページ単位で行うのか、文書単位で行うのかを、処理動作指示部５１に問い合わせを行う。そして、処理動作指示部５１の制御単位通知手段５１１により通知された制御単位に従って、入力処理部５２は動作処理を行う。また、処理内容要求手段５２２は、先の制御単位通知手段５１１により通知された制御単位に応じて、入力処理部５２が実行すべき処理内容を処理動作指示部に要求する。また、処理内容要求手段５２２は、前記記憶部５６より読み出した制御コードに対応した、実行すべき処理内容を処理動作指示部５１に要求する。そして、入力処理部５２は、処理動作指示部５１の処理内容通知手段５１２により通知された、制御コードに応じて入力処理部５２が実行すべき処理内容を実行する。
【００３９】
加工処理部５３は、前述の「パイプ＆フィルタ」アーキテクチャにおける加工フィルタに相当する処理を行い、具体的には、入力されたデータに所定の画像処理（集約、拡大、縮小等）、レンダリング処理を行う。加工処理部５３は、制御単位要求手段５３１と処理内容要求手段５３２を有する。制御単位要求手段５３１は、加工処理部５３での処理を、ページ単位で行うのか、文書単位で行うのかを、処理動作指示部５１に問い合わせを行う。そして、処理動作指示部５１の制御単位通知手段５１１により通知された制御単位に従って、加工処理部５３は動作処理を行う。また、処理内容要求手段５３２は、先の制御単位通知手段５３１により通知された制御単位に応じて、加工処理部５３が実行すべき処理内容を処理動作指示部５１に要求する。また、処理内容要求手段５３２は、前記記憶部５６より読み出した制御コードに対応した、実行すべき処理内容を処理動作指示部５１に要求する。そして、加工処理部５３は、処理動作指示部５１の処理内容通知手段５１２により通知された、制御コードに応じて加工処理部５３が実行すべき処理内容を実行する。
【００４０】
出力処理部５４は、前述の「パイプ＆フィルタ」アーキテクチャにおける出力フィルタに相当する処理を行い、具体的には、印刷処理、電子メール送信処理、FAX送信処理等を行う。出力処理部５４は、制御単位要求手段５４１と処理内容要求手段５４２を有する。制御単位要求手段５４１は、出力処理部５４での処理を、ページ単位で行うのか、文書単位で行うのかを、処理動作指示部５１に問い合わせを行う。そして、処理動作指示部の制御単位通知手段５１１により通知された制御単位に従って、出力処理部５４は動作処理を行う。また、処理内容要求手段５４２は、先の制御単位通知手段５４１により通知された制御単位に応じて、出力処理部５４が実行すべき処理内容を処理動作指示部５１に要求する。また、処理内容要求手段５４２は、前記記憶部５６より読み出した制御コードに対応した、実行すべき処理内容を処理動作指示部５１に要求する。そして、出力処理部５４は、処理動作指示部５１の処理内容通知手段５１２により通知された、制御コードに応じて出力処理部５４が実行すべき処理内容を実行する。
【００４１】
また、制御単位通知手段５１１、処理内容通知手段５１２が、入力処理部５２、加工処理部５３、出力処理部５４からの要求が無くても、各処理部が行うべき画像処理の単位、内容を通知する場合、入力処理部５２、加工処理部５３、出力処理部５４のそれぞれは、制御単位要求手段５２１、５３１、５４１、処理内容要求手段５２２、５３２、５４２を有さない形態であっても良い。
【００４２】
接続関係記憶部５７は、予め固定的に定義（ユーザが操作するアプリケーションに対応して定義）された、複数の入力処理部５２の中からアプリケーションに対応して選択された入力処理部５２、複数の加工処理部５３の中から選択された加工処理部５３、複数の出力処理部５４の中から選択された出力処理部５４の組み合わせによって、一つの「機能（アプリケーション）」を実現するソフトウェアである。接続関係記憶部５７が有する接続関係通知手段５７１は、接続関係記憶部５７が有する上記組み合わせに係る情報を処理動作指示部５１に通知する。これにより、処理動作指示部５１は、接続関係記憶部５７が有する所定の入力処理部５２、加工処理部５３及び出力処理部５４の組み合わせに関する情報を得ることができる。
【００４３】
ここで、この接続関係通知手段５７１により、接続関係記憶部５７から処理動作指示部５１に当該情報を通知するアルゴリズムの例を説明する。接続関係記憶部５７は、二つのフィルタの接続関係を処理動作指示部５１に連続的に通知し、一方、処理動作指示部５１はアプリケーションに対応した入力フィルタと、加工フィルタと、出力フィルタとの接続関係に係る情報を取得する。
【００４４】
図７は、接続関係記憶部５７が有する所定の入力処理部５２、加工処理部５３及び出力処理部５４の組み合わせに関する情報が処理動作指示部５１へ通知されるアルゴリズムを示す図である。まず、ステップ１で、接続関係記憶部５７から処理動作指示部５１へ「加工１フィルタと加工２フィルタ」が接続されているという情報が通知される。
【００４５】
次に、ステップ２で、ステップ１で通知された情報は処理動作指示部５１内にリストとして蓄積され、また、接続関係記憶部５７からは、「加工1フィルタと加工３フィルタ」が接続されているという情報が通知される。
【００４６】
ステップ3では、ステップ２で通知された情報は処理動作指示部５１内にリストとして蓄積され、新たに、接続関係記憶部５７から、「入力フィルタと加工１フィルタ」が接続されているという情報が通知される。
【００４７】
そして、ステップ4で、ステップ３において通知された接続関係に係る情報は、既に処理動作指示部に蓄積されていた「加工１フィルタと加工２フィルタ」の接続関係に係る情報と、「加工1フィルタと加工３フィルタ」の接続関係に係る情報と連結され、新たに「入力フィルタ、加工１フィルタ及び加工２フィルタ」の接続関係に係る情報と「入力フィルタ、加工1フィルタ及び加工３フィルタ」の接続関係に係る情報が処理動作指示部５１内にリストとして蓄積される。さらに、ステップ4では、新たに接続関係記憶部５７から処理動作指示部５１へ「加工２フィルタと出力２フィルタ」の接続関係が通知される。
【００４８】
次のステップ５では、既にあった「入力フィルタ、加工１フィルタ及び加工２フィルタ」の接続関係に係る情報と、ステップ４で通知された「加工２フィルタと出力２フィルタ」の接続関係に係る情報とが連結され、処理動作指示部５１は「入力フィルタ、加工１フィルタ、加工２フィルタ及び出力２フィルタ」という入力フィルタから出力フィルタまでの接続関係に係る情報を得る。この一連のアルゴリズムによって、接続関係記憶部５７が有する入力フィルタから出力フィルタまでの接続関係に係る情報を処理動作指示部５１に通知し、その情報を処理動作指示部５１が認識することにより、処理動作指示部５１は各アプリケーションを構成するフィルタの動作処理を指示することができる。
【００４９】
（本実施の形態に係る複合機のハードウェア構成）
以下に本発明の画像形成装置である複合機のハードウェアの構成の一例を示す。図８は、本発明の実施の形態における複合機のハードウェア構成の一例を示す図である。
【００５０】
複合機のハードウェアとしては、コントローラ７０と、オペレーションパネル８４、ファクシミリコントロールユニット（FCU：Facsimile Control Unit）８５と、撮像部８６と、印刷部８７が存在する。
【００５１】
コントローラ７０は、CPU（Central Processing Unit）７１、ASIC（Application Specific Integrated Circuit）７８、NB（North Bridge）７３、SB（South Bridge）７４、MEM-P７２、MEM-C７７、HDD（ハードディスクドライブ）８０、メモリカードスロット７５、ネットワークインタフェースコントローラ（NIC：Network Interface Controller）７９、USB（Universal Serial Bus）デバイス８１、IEEE（The Institute of Electrical and Electronics Engineers, Inc.）１３９４デバイス８２、セントロニクスデバイス８３により構成される。
【００５２】
CPU７１は、種々の情報処理用のIC（Integrated Circuit）である。ASIC７８は、種々の画像処理用のICである。NB７３は、コントローラのノースブリッジである。SB７４は、コントローラのサウスブリッジである。MEM-P７２は、複合機のシステムメモリである。MEM-C７７は、複合機のローカルメモリである。HDD８０は、複合機のストレージである。メモリカードスロット７５は、メモリカード７６をセットするためのスロットである。NIC７９は、MACアドレスによるネットワーク通信用のコントローラである。USBデバイス８１は、USB規格の接続探知を提供するためのデバイスである。セントロニクスデバイス８３は、セントロニクス仕様の接続端子を提供するためのデバイスである。オペレーションパネル８４は、オペレータが複合機に入力を行うためのハードウェア（操作部）であると共に、オペレータが複合機から出力を得るためのハードウェア（表示部）である。
【００５３】
なお、本発明に係る複合機のソフトウェアは、例えば、MEM-C７７に格納され、CPU７１によって処理されることにより、その機能を複合機に実行させる。
【００５４】
（本発明の実施の形態）
図６、図９、図１０を用いて、本実施の形態における複合機の処理手順について説明する。図９は、接続関係記憶部５７と処理動作指示部５１の、本発明の実施の形態における処理動作に係るフローチャートを示す。また、図１０は、入力フィルタ、加工フィルタ、出力フィルタの各フィルタの、本発明の実施の形態における処理動作に係るフローチャートを示す。
【００５５】
ここでは、複合機におけるコピー機能の動作処理を例に説明する。
【００５６】
Ｓ８０でユーザが複合機のオペレーションパネル８４からコピー操作を行うと、Ｓ８１でコピー機能に対応した接続関係記憶部５７が選択される。図４より、当該接続関係記憶部５７は、読取フィルタ３１、文書加工フィルタ３６及び印刷フィルタ３８における二者間の接続関係に関する情報を有する。Ｓ８２で接続関係記憶部５７は、前述のアルゴリズムにより、これらフィルタの接続関係に関する情報を処理動作指示部５１に通知する。Ｓ８３で処理動作指示部５１は、この通知により、コピー機能に関連する読取フィルタ３１、文書加工フィルタ３６、印刷フィルタ３８の間の全接続情報を取得する。
【００５７】
そして、Ｓ８４で処理動作指示部５１は、コピー機能に関連する読取フィルタ３１、文書加工フィルタ３６、印刷フィルタ３８に対し、処理の開始を行う旨の通知を行う。
【００５８】
以下では、読取フィルタ３１、文書加工フィルタ３６、印刷フィルタ３８の各処理動作について、説明する。
【００５９】
はじめに、入力フィルタの一つである読取フィルタ３１の動作処理を説明する。Ｓ９０で読取フィルタ３１は、制御単位要求手段５２１により、自己の処理すべき制御単位を処理動作指示部５１により問い合わせる。それに対し、Ｓ９１で処理動作指示部５１は、制御単位通知手段５１１により、読取フィルタ３１の制御単位を通知する。例えば、読取フィルタ３１の処理の制御単位は、ページ単位と文書単位の両方であることが通知される。
【００６０】
そして、Ｓ９２で読取フィルタ３１は、ユーザの操作により撮像部８６が読み取り、記憶装置５６に記録された画像データを当該記憶装置５６から読み出す。Ｓ９３で読取フィルタ３１の処理の制御単位はページ単位であるため（Ｓ９３でYESの場合）、Ｓ９４で読取フィルタ３１は、その読み出したデータから更にページ単位の制御コードを読み出す。その次に、Ｓ９５で読取フィルタ３１は、処理内容要求手段５２２により、その制御コードに対応した処理内容の通知を処理動作指示部５１に要求し、Ｓ９６で処理動作指示部５１はそれに対応した処理内容通知手段５１２により、制御コードに対応した読取フィルタ３１の実行すべき処理内容を通知する。そこで、Ｓ９７で読取フィルタ３１は、その通知された処理内容を実行する。図６より、制御コードが「ない」又は４、５、６の場合、読取フィルタ３１は実行すべき処理はない。制御コードが１、２、３の場合、読取フィルタ３１は、ページ単位のジョブである「画像ログを残す」を実行する。
【００６１】
次に、Ｓ９８で読取フィルタ３１の処理は文書単位でも実行するため（Ｓ９８でYESの場合）、Ｓ１００で読取フィルタ３１は、先に記憶部５６より読み出したデータから更に文書単位の制御コードを読み出す。そして、Ｓ１０１で読取フィルタ３１は、処理内容要求手段５２２により、その制御コードに対応した処理内容の通知を処理動作指示部５１に要求し、Ｓ１０２で処理動作指示部５１はそれに対応した処理内容通知手段５１２により、制御コードに対応した読取フィルタ３１の実行すべき処理内容を通知する。
【００６２】
そこで、Ｓ１０３で読取フィルタ３１は、その通知された処理内容を実行する。図６より、全ての制御コードにおいて、文書単位でのジョブである「ジョブログを残す」を実行する。そして、Ｓ１０４で読取フィルタ３１は、撮像部８６で読み取った画像データと共に、制御コードを記憶装置５６に記憶させる。
【００６３】
次は、加工フィルタの一つである文書加工フィルタ３６の動作処理を説明する。はじめに、Ｓ９０で文書加工フィルタ３６は、制御単位要求手段５３１により、自己の処理すべき制御単位を処理動作指示部５１に問い合わせる。それに対し、Ｓ９１で処理動作指示部５１は、制御単位通知手段５１１により、文書加工フィルタ３６の制御単位を通知する。例えば、文書加工フィルタ３６の処理の制御単位は、ページ単位のみであることが通知される。
【００６４】
そして、Ｓ９２で文書加工フィルタ３６は、先に読取フィルタが記憶装置５６に記憶させたデータを読み出す。そこで、Ｓ９３で文書加工フィルタ３６の処理の制御単位はページ単位であるため（Ｓ９３でYESの場合）、Ｓ９４で文書加工フィルタ３６は、その記憶装置５６から読み出したデータからページ単位の制御コードを読み出す。その次に、Ｓ９５で文書加工フィルタ３６は、処理内容要求手段５３２により、その制御コードに対応した処理内容の通知を処理動作指示部５１に要求し、Ｓ９６で処理動作指示部５１はそれに対応した処理内容通知手段５１２により、制御コードに対応した文書加工フィルタ３６の実行すべき処理内容を通知する。
【００６５】
そこで、Ｓ９７で文書加工フィルタ３６は、その通知された処理内容を実行する。図６より、文書加工フィルタ３６は、制御コードが「ない」又は４、５、６の場合、ページ単位のジョブである「通常の処理動作」を行い、制御コードが１、２、３の場合、ページ単位のジョブである「何もしない」を実行する。「通常の動作処理」とは、例えば、画像データを拡大、縮小等する画像処理である。
【００６６】
そして、Ｓ９８で文書加工フィルタ３６には文書単位での実行すべき処理が無いため（Ｓ９８でNOの場合）、Ｓ９９で文書加工フィルタは、ページ単位の処理終了後、自己の処理結果と、制御コードを記憶装置５６に記憶させる。
【００６７】
次は、出力フィルタの一つである印刷フィルタ３８の動作処理を説明する。はじめに、Ｓ９０で印刷フィルタ３８は、制御単位要求手段５３１により、自己の処理すべき制御単位を処理動作指示部５１に問い合わせる。それに対し、Ｓ９１で処理動作指示部５１は、制御単位通知手段５１１により、文書加工フィルタ３６の制御単位を通知する。例えば、印刷フィルタ３８の処理の制御単位は、ページ単位のみであることが通知される。
【００６８】
そして、Ｓ９２で印刷フィルタ３８は、先に文書加工フィルタが記憶装置５６に記憶させたデータを読み出す。そこで、Ｓ９３で印刷フィルタ３８の処理の制御単位はページ単位であるため（Ｓ９３でYESの場合）、Ｓ９４で印刷フィルタ３８は、先に記憶装置５６から読み出したデータからページ単位の制御コードを読み出す。
【００６９】
次に、Ｓ９５で印刷フィルタ３８は、処理内容要求手段５４２により、その制御コードに対応した処理内容の通知を処理動作指示部５１に要求し、Ｓ９６で処理動作指示部５１はそれに対応した処理内容通知手段５１２により、制御コードに対応した印刷フィルタ３８の実行すべき処理内容を通知する。
【００７０】
そこで、Ｓ９７で印刷フィルタ３８は、その通知された処理内容を実行する。図６より、印刷フィルタ３８は、制御コードが「ない」又は４、５、６の場合、ページ単位のジョブである「通常の処理動作」を行い、所定の印刷処理を行う。一方、制御コードが１、２、３の場合、ページ単位のジョブである印刷ジョブの「キャンセル」及び「ビープ音を鳴らす」を実行する。
【００７１】
そして、Ｓ９８で印刷フィルタ３８には文書単位での実行すべき処理が無いため（Ｓ９８でNOの場合）、Ｓ９９で印刷フィルタ３８は、ページ単位の処理終了後、自己の処理結果と、制御コードを記憶装置５６に記憶させる。複合機における一連のコピー処理は印刷フィルタ３８で終了するため、これでユーザが行ったコピー操作に対応する複合機の動作処理は終了する。
【００７２】
以上、本発明の実施の形態について詳述したが、本発明は係る特定の実施の形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００７３】
【図１】図１は、「パイプ＆フィルタ」の概念を説明するための図である。
【図２】図２は、フィルタの構成要素を説明するための図である。
【図３】図３は、本実施の形態の複合機における入力フィルタ、加工フィルタ及び出力フィルタの一例を示す図である。
【図４】図４は、本実施の形態の複合機における各機能を実現するためのフィルタの組み合わせの例を示す図である。
【図５】図５は、本発明の画像形成装置の動作原理を示す図である。
【図６】図６は、本発明に係る複合機でコピーを行う場合のフィルタ制御テーブルの一例を示す。
【図７】図７は、接続関係記憶部が有する所定の入力処理部、加工処理部及び出力処理部の組み合わせに関する情報が処理動作指示部へ通知されるアルゴリズムを示す図である。
【図８】図８は、本発明の実施の形態における複合機のハードウェア構成の一例を示す図である。
【図９】図９は、接続関係記憶部と処理動作指示部の処理動作に係るフローチャートを示す。
【図１０】図１０は、各フィルタの処理動作に係るフローチャートを示す。
【符号の説明】
【００７４】
５０    画像形成装置
５１    処理動作指示部
５１１  制御単位通知手段
５１２  処理内容通知手段
５１３  フィルタ制御テーブル
５２    入力処理部
５２１  制御単位要求手段
５２２  処理内容要求手段
５３    加工処理部
５３１  制御単位要求手段
５３２  処理内容要求手段
５４    出力処理部
５４１  制御単位要求手段
５４２  処理内容要求手段
５５    アプリケーション
５６    記憶部
５７    接続関係記憶部
５７１  接続関係通知手段
【図１】
0005315919.tif 000002
【図２】
0005315919.tif 000003
【図３】
0005315919.tif 000004
【図４】
0005315919.tif 000005
【図５】
0005315919.tif 000006
【図６】
0005315919.tif 000007
【図７】
0005315919.tif 000008
【図８】
0005315919.tif 000009
【図９】
0005315919.tif 000010
【図１０】
0005315919.tif 000011