(57)【特許請求の範囲】
【請求項１】
ジョブを構成する入力処理、加工処理、及び出力処理毎に対応するソフトウェア部品を選択して前記ソフトウェア部品の処理順を決定することにより、前記ジョブの手続きを構築するジョブ構築手段と、
前記ジョブの手続きに基づいて、前記ジョブの制御を行うジョブ制御手段と、
前記ジョブを構成する処理の一が実行できない場合に、前記処理の一に代わる代替処理を選択する代替処理選択手段と、
を有し、
前記代替処理選択手段は、前記出力処理の内の第一の出力処理が実行できない場合に、前記出力処理の内の前記第一の出力処理とは異なる第二の出力処理及び該第二の出力処理に対応した前記加工処理の内の第一の加工処理を選択し、
前記ジョブ構築手段は、前記代替処理選択手段によって選択された処理に基づいて、ジョブの手続きを再構築する画像形成装置。
【請求項２】
印刷される画像データと、印刷された用紙の出力方向とを指定する印刷指示を受け付ける印刷指示受付手段と、
用紙の出力方向に対応する給紙手段と、
前記印刷指示により指定された前記出力方向に対応する前記給紙手段に載置物がない場合に、前記印刷指示に係る前記第一の出力処理が実行できないと判定する不可判定手段を有し、
前記代替処理選択手段は、前記不可判定手段により前記第一の出力処理が実行できないと判定された場合に、前記加工処理としての前記画像データの回転処理と、前記第二の出力処理として、回転後の出力方向に対応する前記給紙手段から用紙を供給して印刷する印刷処理とを、前記第一の出力処理の代替処理として選択し、
前記回転処理は、前記印刷指示により指定された前記出力方向から直角の方向に前記画像データを回転させることを特徴とする、請求項１記載の画像形成装置。
【請求項３】
指定された画像データのＦＡＸによる送信が実行不能である場合に、前記第一の出力処理が実行できないと判定する不可判定手段を有し、
前記代替処理選択手段は、前記加工処理として、前記画像データを電子メールによる送信に適した画像データに変換する変換処理と、前記第二の出力処理として、前記変換処理により変換された前記画像データの電子メールによる送信処理とを、前記第一の出力処理の代替処理として選択することを特徴とする、請求項１記載の画像形成装置。
【請求項４】
一のソフトウェア部品が処理した画像データを格納する記憶手段を有し、
前記ジョブにおいて、一のソフトウェア部品は処理した画像データを前記記憶手段に格納し、前記一のソフトウェア部品による処理の次の処理を行うソフトウェア部品は、前記記憶手段に格納された画像データを読み出して処理し、
前記ジョブ構築手段は、前記ジョブの手続きを再構築する際に、前記代替処理の直前の処理による画像データを、前記記憶手段に保持させる請求項２又は３に記載の画像形成装置。
【請求項５】
前記処理の一毎に対応する代替処理に係る情報を保持する情報保持手段を有し、
前記代替処理選択手段は、前記代替処理に係る情報により前記代替処理を選択する請求項４に記載の画像形成装置。
【請求項６】
前記処理の一毎に対応する代替処理を設定する画面を表示する表示手段を有し、
前記情報保持手段は、前記代替処理を設定する画面に基づいて入力された代替処理に係る情報を保持する請求項５記載の画像形成装置。
【請求項７】
前記第一の出力処理が実行できない場合に、前記第二の出力処理を選択する画面を表示する表示手段を有する請求項４又は５に記載の画像形成装置。
【請求項８】
画像形成装置におけるジョブ制御方法であって、
ジョブを構成する入力処理、加工処理、及び出力処理毎に対応するソフトウェア部品を選択して前記ソフトウェア部品の処理順を決定することにより、前記ジョブの手続きを構築するジョブ構築ステップと、
前記ジョブの手続きに基づいて、前記ジョブの制御を行うジョブ制御ステップと、
前記ジョブを構成する処理の一が実行できない場合に、前記処理の一に代わる代替処理を選択する代替処理選択ステップと、
前記代替処理選択ステップにおいて選択された処理に基づいて、ジョブの手続きを再構築するジョブ再構築ステップと、
を有し、
前記代替処理選択ステップにおいて、前記出力処理の内の第一の出力処理が実行できない場合に、前記出力処理の内の前記第一の出力処理とは異なる第二の出力処理及び該第二の出力処理に対応した前記加工処理の内の第一の加工処理を選択することを特徴とするジョブ制御方法。
【請求項９】
印刷される画像データと、印刷された用紙の出力方向とを指定する印刷指示を受け付ける印刷指示受付ステップと、
用紙の出力方向に対応する給紙手段から給紙する給紙ステップと、
前記印刷指示により指定された前記出力方向に対応する前記給紙手段に載置物がない場合に、前記印刷指示に係る前記第一の出力処理が実行できないと判定する不可判定ステップを有し、
前記代替処理選択ステップにおいて、前記不可判定ステップで前記第一の出力処理が実行できないと判定された場合に、前記加工処理としての前記画像データの回転処理と、前記第二の出力処理として、回転後の出力方向に対応する前記給紙手段から用紙を供給して印刷する印刷処理とを、前記第一の出力処理の代替処理として選択し、
前記回転処理は、前記印刷指示により指定された前記出力方向から直角の方向に前記画像データを回転させることを特徴とする、請求項８記載のジョブ制御方法。
【請求項１０】
指定された画像データのＦＡＸによる送信が実行不能である場合に、前記第一の出力処理が実行できないと判定する不可判定ステップを有し、
前記代替処理選択ステップにおいて、前記加工処理として、前記画像データを電子メールによる送信に適した画像データに変換する変換処理と、前記第二の出力処理として、前記変換処理により変換された前記画像データの電子メールによる送信処理とを、前記第一の出力処理の代替処理として選択することを特徴とする、請求項８記載のジョブ制御方法。
【請求項１１】
前記ジョブにおいて、
一のソフトウェア部品が処理した画像データを記憶手段に格納するステップと、
前記一のソフトウェア部品による処理の次の処理を行うソフトウェア部品が、前記記憶手段に格納された画像データを読み出して処理するステップと、
を有し、
前記ジョブ構築ステップにおいて、前記ジョブの手続きを再構築する際に、前記代替処理の直前の処理による画像データを、前記記憶手段に保持させる請求項８ないし１０何れか一項に記載のジョブ制御方法。
【請求項１２】
前記代替処理選択ステップにおいて、前記処理の一毎に対応する代替処理に係る情報を保持する情報保持手段から、前記代替処理に係る情報が取得されて前記代替処理が選択される請求項１１に記載のジョブ制御方法。
【請求項１３】
前記処理の一毎に対応する代替処理を設定する画面を表示する表示ステップと、
前記代替処理を設定する画面に基づいて入力された代替処理に係る情報を、前記情報保持手段に格納するステップと、
を有する請求項１２記載のジョブ制御方法。
【請求項１４】
前記第一の出力処理が実行できない場合に、前記第二の出力処理を選択する画面を表示する表示ステップを有する請求項１１又は１２に記載のジョブ制御方法。
【請求項１５】
請求項８ないし１４何れか一項に記載のジョブ制御方法を、コンピュータに実行させるコンピュータプログラム。
【請求項１６】
請求項１５記載のコンピュータプログラムを格納したコンピュータ読取可能な情報記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、ジョブ制御方法、コンピュータプログラム、及び、情報記録媒体に関する。
【０００２】
近年におけるプリンタ、コピー機、スキャナ、ファクシミリ、又はこれらの機能を一台の筐体で実現する複合機等の画像形成装置では、メモリ等の制限は厳しいものの、汎用的なコンピュータと同様にＣＰＵを備え、各機能はアプリケーションの制御によって実現されるようになっている。
【０００３】
例えば、特許第３６７９３４９号公報（特許文献１）に記載された画像形成装置では、各アプリケーションから共通的に利用される機能をプラットフォームとして備えており、当該プラットフォームのＡＰＩを利用してアプリケーションを実装することができる。かかる画像形成装置によれば、共通的に利用される機能がプラットフォームとして備えられていることにより、アプリケーションごとに重複した機能の実装が回避され、アプリケーション全体の開発効率を向上させることができる。
【特許文献１】特許第３６７９３４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、一般的に、共通的に利用されるＡＰＩを備えたプラットフォームについては、当該プラットフォームによって提供される機能又はインタフェースの粒度が適切に設計されていないと、アプリケーションの開発効率の向上が期待以上に図れない場合がある。
【０００５】
例えば、当該粒度が小さ過ぎると、単純なサービスを提供するアプリケーションであるにもかかわらず、多くのＡＰＩの呼び出しが必要とされ、そのソースコードは複雑なものとなってしまう。
【０００６】
一方、当該粒度が大き過ぎると、或るインタフェースによって提供されている機能の一部について変更を加えたサービスを提供するアプリケーションを実装したい場合、当該プラットフォーム内を修正しなければならず、開発工数の増加を招いてしまいかねない。特に、プラットフォーム内における各モジュールの依存関係が強い場合は、プラットフォームに新規機能を追加するだけでなく、既存部分の修正も必要とされる場合があり、事態はより複雑となる。
【０００７】
また、既存のアプリケーションによって提供されているサービスの一部として、例えば、画像の入力処理を変更したアプリケーションを実装したい場合、当該一部以外の部分については既存のアプリケーションを呼び出すといったようなことは出来ない。したがって、改めてソースコードを記述して新たなアプリケーションを実装しなければならない。
【０００８】
本発明は、上記の点に鑑みてなされたものであって、機能のカスタマイズ又は拡張等を簡便化させ、さらに、ジョブを効率良く実行する画像形成装置、ジョブ制御方法、コンピュータプログラム、及び、情報記録媒体の提供を目的としている。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の画像形成装置は次の如き構成を採用した。
【００１０】
本発明の画像形成装置は、ジョブを構成する入力処理、加工処理、及び出力処理毎に対応するソフトウェア部品を選択して前記ソフトウェア部品の処理順を決定することにより、前記ジョブの手続きを構築するジョブ構築手段と、
前記ジョブの手続きに基づいて、前記ジョブの制御を行うジョブ制御手段と、
前記ジョブを構成する処理の一が実行できない場合に、前記処理の一に代わる代替処理を選択する代替処理選択手段と、
を有し、
前記代替処理選択手段は、前記出力処理の内の第一の出力処理が実行できない場合に、前記出力処理の内の前記第一の出力処理とは異なる第二の出力処理及び該第二の出力処理に対応した前記加工処理の内の第一の加工処理を選択し、
前記ジョブ構築手段は、前記代替処理選択手段によって選択された処理に基づいて、ジョブの手続きを再構築する構成とすることができる。
【００１１】
これにより、機能のカスタマイズ又は拡張等を簡便化させ、さらに、ジョブを効率良く実行する画像形成装置を提供することができる。
【００１２】
なお、上記課題を解決するため、本発明は、さらに、上記画像形成装置におけるジョブ制御方法、そのジョブ制御方法をコンピュータに実行させるためのコンピュータプログラム、又は、そのコンピュータプログラムを格納した情報記録媒体としてもよい。
【発明の効果】
【００１３】
本発明の画像形成装置、ジョブ制御方法、コンピュータプログラム、及び、情報記録媒体によれば、機能のカスタマイズ又は拡張等を簡便化させ、さらに、ジョブを効率良く実行する画像形成装置、ジョブ制御方法、コンピュータプログラム、及び、情報記録媒体を提供することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図面に基づき説明する。
〔本発明の実施の形態〕
図１は、本発明の一実施の形態に係る画像形成装置１００の外観の概略図である。図１の画像形成装置１００は、ＰＣ９０に接続され、スキャナ１１０、操作ボード１２０、自動原稿送り装置１３０、プロッタ部１４０、給紙バンク１４５、給紙トレイ１４６、及び、フィニッシャ１５０を有する。
【００１５】
スキャナ１１０は媒体上に形成された原稿を読み取る。操作ボード１２０は、ジョブの指示や動作条件等の設定が入力され、また画像形成装置１００の状態や処理する画像のプレビューが表示される。自動原稿送り装置１３０は、紙原稿を自動でスキャナ１１０に送る。プロッタ１４０は、用紙上に画像を形成する。給紙バンク１４５と給紙トレイ１４６とは、用紙を格納し、プロッタに送出する。フィニッシャ１５０は、画像が形成された用紙をソートし、また、ステープル処理、パンチ穴処理等の後処理を行う。
【００１６】
（本実施形態の画像形成装置におけるソフトウェア構成）
図２は、本実施形態の画像形成装置１００におけるソフトウェア構成の例を示す図である。図２における画像形成装置１００は、ユーザインタフェース部２０１、コントロール部２０２、アプリケーションロジック部２０３、デバイスサービス部２０４、デバイス部２０５、及び、クロスカット部２０６を有する。
【００１７】
図２において画像形成装置１００は、外部からの指示を受け付けると、ユーザインタフェース部２０１でその指示を解釈し、アプリケーションロジック部２０３に対してその指示を伝達する。ユーザインタフェース部２１０は、ローカルユーザインタフェース（以下、「ローカルＵＩ」という。）部２０８、及び、通信サーバ２０７を有する。ローカルＵＩ部２０８は、画像形成装置１００が有する操作パネル等が操作されることによる指示を受け付ける。通信サーバ２０７はネットワークを介して伝達される指示を受け付ける。
【００１８】
コントロール部２０２は、例えば、アクティビティ部２１０、パラメータ保持部２０９を有する。アクティビティ部２１０は、指示されたジョブに対応する、入力フィルタ３００、加工フィルタ４００、及び、出力フィルタ５００を選択し、これらの処理部に対して実行を指示する。パラメータ保持部２０９は、指示内容に係る情報を保持する。なお、「フィルタ」とは、アプリケーションロジック部２０３に設けられ、ジョブを構成する処理毎に対応するソフトウェア部品である。また、「ソフトウェア部品」とは、例えば、モジュールとして構成される。
【００１９】
アプリケーションロジック部２０３は、例えば入力フィルタ３００、加工フィルタ４００、出力フィルタ５００、及び、データ管理部６００を有する。入力フィルタ３００、加工フィルタ４００、出力フィルタ５００、及び、データ管理部６００は、指示されたジョブを実行するための機能を実現する。これらのコンポーネントを複数使用することで、ジョブが実現される。また、入力、加工、出力、のそれぞれの処理に応じて、各フィルタが設けられてよい。またさらに、機能を実現するフィルタ等は、ここに図示されたものの他に、その他の機能が追加されていてもよい。
【００２０】
本実施の形態では、パイプ＆フィルタアーキテクチャにより、ジョブの手続きが構築され、その手続きにしたがって、ジョブが制御される。
【００２１】
（パイプ＆フィルタアーキテクチャの説明）
図３は、パイプ＆フィルタアーキテクチャの概念を説明するための図である。図３において、「Ｆ」はフィルタを示し、「Ｐ」はパイプを示す。図中に示されるように、各フィルタはパイプによって接続される。フィルタは、入力されたデータに対して変換を施し、その結果を出力する。パイプは、フィルタから出力されたデータを次のフィルタに伝達する。
【００２２】
本実施の形態における画像形成装置１００では、各機能をデータに対する「変換」の連続として捉える。データとは、例えば、文書データ、画像データ等である。画像形成装置１００のジョブは、データの入力、加工、及び、出力によって構成されるものとして一般化することができる。そこで「入力」、「加工」、及び、「出力」を、「変換」として捉え、一つの「変換」を実現するソフトウェア部品がフィルタとして構成される。すなわち、フィルタは、「入力フィルタ」、「加工フィルタ」、及び、「出力フィルタ」の３種類がある。なお、各フィルタは独立しており、フィルタ間における依存関係は基本的に存在しない。ここで「依存関係」とは、例えば、フィルタ間の呼び出しである。従って、フィルタ単位で追加又は削除が可能とされている。なお、画像形成装置１００に対するフィルタの追加を「インストール」、画像形成装置１００からのフィルタの削除を「アンインストール」という。
【００２３】
図２に戻り、デバイスサービス部２０４は、入力フィルタ３００、加工フィルタ４００、及び、出力フィルタ５００の間の画像データの入出力を介する。デバイスサービス部２０４は、例えば、図示しない画像メモリを有する。一の処理部が処理した画像データが、画像メモリに書き込まれた後、次の処理部によってその画像データが読み出されて処理されることにより、ジョブを構成する処理が順に実行される。デバイス部２０５は、デバイス７００ａから７００ｄを有する。
【００２４】
クロスカット部２０６は、ユーザインタフェース部２０１、コントロール部２０２、アプリケーションロジック部２０３、デバイスサービス部２０４、及び、デバイス部２０５から共通に使用されるブロックである。クロスカット部２０６は、例えば、履歴記録部２１９、アクセス制御部２２０、及び、課金部２２１を有する。
【００２５】
（パイプ＆フィルタアーキテクチャによる代替処理の実現）
パイプ＆フィルタアーキテクチャによる画像形成装置のジョブの手続きの構築によれば、例えば、ジョブの実行中に、出力デバイスのトラブルにより、出力処理が行えない場合には、他のソフトウェア部品を用いて代替処理を実現することができる。しかしながら、ジョブを構成する処理毎に対応する代替処理のためのソフトウェア部品を開発したのでは、ソフトウェア部品間の効率的な利用と開発ができない。
【００２６】
そこで、ジョブの通常の処理と、代替処理を含む処理とで共通に使用されるソフトウェア部品については、一のソフトウェア部品として設けられることが望ましい。さらに、共通に使用されるソフトウェア部品から出力される画像データを保持することにより、代替処理が実行される場合にも、共通に使用されるソフトウェア部品による処理を再実行することなく、ジョブを実現することができ、ジョブの実行時間の短縮、画像形成装置が有するリソースの有効活用ができる。
【００２７】
（本実施形態の画像形成装置の機能構成の例）
図４は、本実施形態の画像形成装置１００の機能構成の例を示す図である。図４では、画像形成装置１００は、コントロール部２０、アプリケーションロジック部３０、記憶手段４０、デバイス部５０、入力手段８１、表示手段８２、及び、画面生成手段３９を有する。
【００２８】
コントロール部２０は、ジョブ構築手段２１、代替処理選択手段２２、及び、ジョブ制御手段２３を有する。これらの手段は、例えば、図２のアクティビティ部２１０に対応する。ジョブ構築手段２１は、ジョブ毎に、そのジョブを構成する処理を実現するソフトウェア部品を選択し、それらの実行順を決定することにより、ジョブの手続きを構築する。
【００２９】
代替処理選択手段２２は、ジョブを構成する処理のうち、デバイスのトラブル等により実行できない処理が発生した場合に、その処理に代わる代替処理を選択する。例えば、印刷出力において、Ａ４縦に印刷するための給紙トレイが空になった場合に、Ａ４縦に印刷するための給紙トレイを用いる処理に代えて、Ａ４横に印刷するための給紙トレイを用いる処理と、Ａ４横にあわせて、画像を回転させる処理とが、代替処理として選択される。
【００３０】
ジョブ制御手段２３は、ジョブ構築手段２１によって構築されたジョブの手続きに基づいて、各ソフトウェア部品を動作させることにより、ジョブを実現する。
【００３１】
アプリケーションロジック部３０は、例えば、ソフトウェア部品３１から３３を有する。アプリケーションロジック部３０が有するソフトウェア部品は、例えば、入力デバイスを制御して画像入力処理を行う、入力ソフトウェア部品、入力された画像データを編集処理する加工ソフトウェア部品、及び、出力デバイスを制御して画像出力処理を行う、出力ソフトウェア部品の何れか一である。
【００３２】
記憶手段４０は、例えば、メモリとして構成され、アプリケーションロジック部３０が有する一のソフトウェア部品によって処理された画像データが格納され、次の処理を行うソフトウェア部品が、記憶手段４０からその画像データを読み出す。これにより、記憶手段４０は、ソフトウェア部品間の処理を接続する「パイプ」の機能を実現する。
【００３３】
デバイス部５０は、例えば、画像入力手段５１、情報保持手段５２、及び、画像出力手段５３を有する。画像入力手段５１は、画像データの入力を受け付けるデバイスであり、例えば、スキャナ、ネットワークを介した画像データを受け付ける通信装置、ファクシミリ装置等である。情報保持手段５２は、記憶装置であり、例えば、ハードディスク装置である。画像出力手段５３は、画像データを出力するデバイスであり、例えば、プロッタ、ネットワークを介したＰＣ等に画像データを送信する通信装置、ファクシミリ装置等である。
【００３４】
画面生成手段３９は、表示手段８２によって表示される画面を生成する。画面生成手段３９は、例えば、操作者が、代替処理を選択するための、選択の入力を促す画面を生成する。なお、画面生成手段３９は、アプリケーションロジック部３０が有するソフトウェア部品の一として構成されてもよい。
【００３５】
入力手段８１は、操作者が画像形成装置１００に対してジョブの指示や設定等を入力する手段であり、表示手段８２は、画像形成装置１００の状態や出力される画像データのプレビュー画像が表示される手段である。
【００３６】
（代替処理の概念の説明）
図５は、代替処理の概念を説明する図である。図５では、入力フィルタ３００、編集フィルタ４００、及び、出力フィルタ５００が、それぞれ処理を実行することにより、ジョブが実現される。なお、「編集フィルタ」は「加工フィルタ」に対応する。
【００３７】
図５では、入力フィルタ３００によって取得された画像データが、パイプ６０１に蓄積された後、編集フィルタ４００によって読み出され処理される。編集フィルタ４００は、例えば、加工器４１０、加工器４１２、及び、加工器４１３を有する。各加工器は、それぞれがフィルタであり、ソフトウェア部品でもある。
【００３８】
パイプ６０１から読み出された画像データは、加工器４１０によって処理され、データプール６０２に格納される。データプール６０２は、パイプの一であり、例えば、メモリの所定の領域でもよい。データプール６０２に格納された画像データは、加工器４１２によって読み出され処理されることにより、パイプ６０３に格納される。
【００３９】
パイプ６０３に格納された画像データは、出力フィルタ５００によって読み出され、処理されることにより、画像データが出力される。
【００４０】
ここで、加工器４１２に対応する代替処理として、加工器４１３が設けられている。加工器４１３は、例えば、加工器４１２に対応する出力フィルタの処理が実行できない場合に、その出力フィルタに代わる他の出力フィルタに対応する処理を行う。
【００４１】
（代替処理の例の説明）
図６は、代替処理の例を説明する図である。図６では、入力フィルタ３００が入力処理部３２１を有し、加工フィルタ４００が、加工器４２２、加工器４２３、及び、加工器４２５を有し、出力フィルタ５００が、出力処理部５２１及び出力処理部５２３を有する。なお、入力処理部及び出力処理部は、それぞれがフィルタとして構成されてよい。
【００４２】
図６の構成によって実現されるジョブは、例えば、スキャナで読み取られた２枚の画像を合成して一枚の用紙にＡ４横に印刷出力する例である。この処理を２ｉｎ１という。
【００４３】
入力処理部３２１は、例えば、スキャナを制御して画像データを取得する。加工器４２２は、読み取られた画像データを縮小し、そのうちの２つを合成して一の画像データを生成する。加工器４２３は、合成された画像データに対する処理を行い、出力処理部５２１に対応する画像データを生成する。出力処理部５２１は、プロッタを制御して、Ａ４横の用紙に画像データを形成させて出力させる。
【００４４】
一方、加工器４２５と出力処理部５２３は、例えば、出力処理部５２１の処理が行えない場合に、代替処理を実現する。出力処理部５２１の処理が行えない場合とは、例えば、Ａ４横に印刷するための用紙を格納する給紙トレイが空になった場合等である。
【００４５】
このような場合に、Ａ４縦に印刷するための用紙が格納された給紙トレイを用いる出力処理は、出力処理部５２３が対応する。さらに、画像データを時計回りに２７０度回転ささせた画像データを生成する加工器４２５を組み合わせることにより、出力処理部５２１と同様の印刷出力を実現することができる。
【００４６】
（代替処理のフロー）
図７は、ジョブの通常の処理から代替処理へと遷移する例のフロー図である。図７において、通常の処理は、入力処理部３２１、加工器４２２、加工器４２３、及び、出力処理部５２１によって実行される。一方、代替処理は、入力処理部３２１、加工器４２２、加工器４２５、及び、出力処理部５２３によって実行される。
【００４７】
ここで、入力処理部３２１による処理、及び、加工器４２２による処理は、通常の処理と代替処理の何れにも含まれる。そこで、代替処理に遷移する場合には、通常の処理における加工器４２２の出力を保持することにより、加工器４２５による処理から代替処理を開始することができる。これにより、ジョブを実行する際のリソースを有効に利用することができ、また、ジョブの実行時間を短くすることができる。
【００４８】
図７のステップＳ１１では、入力処理部３２１が、例えばスキャナ等から入力される信号に基づいて、画像データを生成する。ステップＳ１１に続いてステップＳ１２に進み、入力処理部３２１が、画像データをパイプに格納させる。ステップＳ１２に続いてステップＳ１３に進み、入力処理部３２１が、次の画像データの信号の有無を判断する。次の画像データが無い場合には処理を終了し、次の画像データの信号がある場合には、ステップＳ１１からの処理を繰り返す。
【００４９】
ステップＳ２１からステップＳ２４は、加工器４２２によって実行される。ステップＳ２１は、ステップＳ１２に続いて実行され、加工器４２２が、パイプから画像データを読み出して取得する。ここで読み出される画像データは、ステップＳ２３において加工器４２２によって格納された画像データである。
【００５０】
ステップＳ２１に続いてステップＳ２２に進み、加工器４２２がステップＳ２１で取得した画像データを処理する。ここでは、画像データを縮小し、さらに、２つの画像データを合成して一の画像データとする。
【００５１】
ステップＳ２２に続いてステップＳ２３に進み、加工器４２２が画像データをパイプに格納させる。ステップＳ２３に続いてステップＳ２４に進み、加工器４２２が、次の画像データの有無を確認する。処理する画像データが無い場合には、処理を終了する。処理する画像データがある場合には、ステップＳ２１からの処理を繰り返す。
【００５２】
ステップＳ３１からステップＳ３４は、加工器４２３によって実行される。加工器４２３による処理は、ステップＳ２１からステップＳ２４の加工器４２２の処理と同様であり、相違点は、ステップＳ３１で取得する画像データが、加工器４２２によって処理された画像データである点である。したがって、加工器４２３による処理については、ここでは説明を省略する。
【００５３】
ジョブの通常の処理では、加工器４２３による処理に続き、出力処理部５２１によるステップＳ５１からステップＳ５３の処理が実行される。ステップＳ５１では、出力処理部５２１が、画像データをパイプから取得する。ここで取得される画像データは、ステップＳ３３において、加工器４２３によって格納された画像データである。
【００５４】
ステップＳ５１に続いてステップＳ５２に進み、出力処理部５２１が、画像データを出力する。ここでは、例えば、Ａ４横の用紙に形成する印刷処理を行う。ステップＳ５２に続いてステップＳ５３に進み、出力処理部５２１が、次の画像データの有無を確認する。次の画像データが無い場合には処理を終了し、次の画像データがある場合には、ステップＳ５１から処理を繰り返す。
【００５５】
加工器４２５及び出力処理部５２１による処理は、代替処理である。ステップＳ４１からステップＳ４５は、加工器４２５によって実行される。ステップＳ４１では、加工器４２５が、代替処理が発生するまで待機する。代替処理が発生した場合には、ステップＳ４２に進む。一方、代替処理が発生しない場合には、処理を終了してもよく、また、ジョブが終了するまでステップＳ４１を繰り返してもよい。
【００５６】
ステップＳ４１に続くステップＳ４２では、加工器４２５が、パイプから画像データを取得する。ここで取得される画像データは、ステップＳ２３で、加工器４２２によって格納された画像データである。
【００５７】
ステップＳ４２に続いてステップＳ４３に進み、加工器４２５が、ステップＳ４２で取得した画像データを処理する。ここでは、例えば、時計回りに２７０度の回転を行う。ステップＳ４３に続いてステップＳ４４に進み、加工器４２５が画像データをパイプに格納させる。ステップＳ４４に続いてステップＳ４５に進み、加工器４２５が、次の画像データの有無を判断する。次の画像データがない場合には処理を終了し、次の画像データがある場合には、ステップＳ４２からの処理を繰り返す。
【００５８】
出力処理部５２３による処理は、ステップＳ６１からステップＳ６４である。ステップＳ６１では、出力処理部５２３が、代替処理が発生するまで待機する。代替処理が発生した場合には、ステップＳ６２に進む。一方、代替処理が発生しない場合には、処理を終了してもよく、また、ジョブが終了するまでステップＳ６１を繰り返してもよい。
【００５９】
ステップＳ６１に続くステップＳ６２では、出力処理部５２３が、パイプから画像データを取得する。ここで取得される画像データは、ステップＳ４４で、加工器４２５によって格納された画像データである。ステップＳ６２に続いてステップＳ６３に進み、出力処理部５２３が、ステップＳ６２で取得した画像データを出力する。ここでは、例えば、Ａ４縦の用紙に印刷して出力する。これにより、Ａ４横に印刷するための用紙が供給できない場合でも、画像データを回転してＡ４縦に印刷させる同等のジョブを、代替処理に対応するフィルタの選択によって実現することができる。
【００６０】
ステップＳ６３に続いてステップＳ６４に進み、出力処理部５２３が、次の画像データの有無を確認する。次の画像データが無い場合には処理を終了し、次の画像データがある場合には、ステップＳ６２に戻って処理を繰り返す。
【００６１】
（印刷出力を他の画像形成装置から行う代替処理の例）
図８は、代替処理によってジョブが再構築される処理を説明する図であって、印刷出力を他の画像形成装置から行う代替処理の例のシーケンスを示す図である。
【００６２】
図８では、読取フィルタ３３０が入力フィルタであり、編集フィルタ４３０が加工フィルタであり、印刷フィルタ５３０及びリモート印刷フィルタ５３１が出力フィルタである。また、読取フィルタ３３０に対応する入力デバイスがスキャナ７３１であり、印刷フィルタ５３０に対応する出力デバイスがプロッタ７３２であり、リモート印刷フィルタ５３１に対応する出力デバイスがネットワーク通信装置７３３である。また、パイプ６３１及び６３２は、例えば、メモリとして構成され、一のメモリの異なる領域でもよく、それぞれ別のメモリでもよい。
【００６３】
図８では、ステップＳ１０１からステップＳ１１０が通常の処理であり、ステップＳ１１１に基づくステップＳ１１２からステップＳ１１７が代替処理である。
【００６４】
図８のステップＳ１０１からステップＳ１０３では、アクティビティ部２１０から、読取フィルタ３３０、編集フィルタ４３０、及び、印刷フィルタ５３０に対し、それぞれ、ジョブを開始する通知が出力される。なお、ステップＳ１０１からステップＳ１０３の処理は、非同期でも同期でもよい。
【００６５】
ステップＳ１０１からステップＳ１０３に続いてステップＳ１０４に進み、読取フィルタ３３０からスキャナ７３１に対し、画像を読み取る指示が出力される。ステップＳ１０４に続いてステップＳ１０５に進み、ステップＳ１０４の指示に基づいて、スキャナ７３１で読み取られた画像の信号による画像データが、パイプ６３１に書き込まれ格納される。
【００６６】
ステップＳ１０５に続いてステップＳ１０６に進み、編集フィルタ４３０がパイプ６３１に格納された画像データを読み出して取得する。ステップＳ１０６に続いてステップＳ１０７に進み、編集フィルタ４３０が、ステップＳ１０６で取得した画像データに対して所定の処理を行う。ここでは、例えば、印刷出力に対応した条件に基づく処理が行われる。ステップＳ１０７に続いてステップＳ１０８に進み、編集フィルタ４３０が、ステップＳ１０７で処理した画像データをパイプ６３２に格納させる。
【００６７】
ステップＳ１０８に続いてステップＳ１０９に進み、印刷フィルタ５３０が、パイプ６３２に格納されている画像データを読み出して取得する。ステップＳ１０９に続いてステップＳ１１０に進み、印刷フィルタ５３０からプロッタ７３２に対し、印刷出力の指示とともに、画像データが出力される。この指示に基づいて、プロッタ７３２が、画像データを出力する。
【００６８】
図８の例では、プロッタ７３２において、何らかの異常が発生したために印刷出力ができない場合に、以下のステップＳ１１１からステップＳ１１７が実行される。
【００６９】
ステップＳ１１１では、プロッタ７３２から、印刷フィルタ５３０に対し、印刷出力が失敗した旨の通知が出力される。ステップＳ１１１に続いてステップＳ１１２に進み、印刷フィルタ５３０からアクティビティ部２１０に対し、印刷出力が失敗した通知が出力される。
【００７０】
ステップＳ１１２に続いてステップＳ１１３に進み、アクティビティ部２１０が、代替処理を行う手段の検索を行う。代替処理の検索は、例えば、予め設定されている代替処理を、情報保持手段５２から取得してもよく、また例えば、画像形成装置１００が保持するフィルタの組合せによって実現される代替手段を検索してもよい。ここでは、例えば、ネットワークを介して接続される他の画像形成装置の検索が行われ、利用可能な画像形成装置が認識される。
【００７１】
ステップＳ１１３に続いてステップＳ１１４に進み、ステップＳ１１３で利用可能と認識された画像形成装置において、印刷処理を行うか否かを判断する。この判断は、予め代替手段として「他の画像形成装置から出力する」ことが設定されている場合には、その設定に基づいて、他の画像形成装置において印刷出力を行うと判断される。
【００７２】
また例えば、ステップＳ１１３で利用可能と認識された画像形成装置の一覧の画面が画面生成手段３９によって生成され、表示手段８２に表示されることに基づいて、操作者がその代替処理を行うか否かの指示と、印刷処理を行う画像形成装置の選択を入力してもよい。なお、操作者による入力は、印刷出力する画像形成装置の選択に加えて、その画像形成装置が有する機能の選択の入力を含んでもよい。
【００７３】
ステップＳ１１３とステップＳ１１４とにより、印刷フィルタ５３０に代えて、リモート印刷フィルタ５３１を用いるジョブが、新たに構築される。本実施の形態では、このように、処理ができないフィルタに代えて、代替処理を行うフィルタを含むジョブの手続きを新たに構築することを、「ジョブの再構築」という。ジョブの再構築においては、通常の処理と代替処理を含む処理とで共通であるフィルタによって処理された画像データを保持し、代替処理を行うフィルタに引き継ぐことにより、共通であるフィルタによる処理を重複して行う必要がなくなり、ジョブを効率的に実行することができる。
【００７４】
ステップＳ１１４に続いてステップＳ１１５に進み、アクティビティ部２１０からリモート印刷フィルタ５３１に対し、処理を開始する指示が出力される。ステップＳ１１５に続いてステップＳ１１６に進み、リモート印刷フィルタ５３１が、パイプ６３２に格納されている画像データを取得する。
【００７５】
これにより、読取フィルタ３３０及び編集フィルタ４３０による処理を再度実行させることなく、リモート印刷ができるため、画像形成装置１００の全体のジョブを効率的に行うことができ、また画像形成装置１００が有するリソースを有効に活用することができる。なお、ジョブが再構築される場合には、代替処理を行うフィルタの直前のフィルタによって処理された画像データを、パイプであるメモリに保存する他に、例えば、ハードディスク装置等の記憶手段に格納してもよい。
【００７６】
ステップＳ１１６に続いてステップＳ１１７に進み、リモート印刷フィルタ５３１からネットワーク通信装置７３３に対し、画像データとリモート印刷の要求とが出力される。
【００７７】
なお、図８では、出力フィルタの代替処理の例を説明しているが、出力処理を代替させる際に、リモート印刷フィルタ５３１において扱える画像データが、印刷フィルタ５３０が扱える画像データとは異なる加工処理を施されたものである場合には、当該加工処理を行う編集フィルタを新たにアクティビティ部２１０の配下に追加するようにジョブを再構築し、編集処理をやり直させるようにしてもよい。
【００７８】
（リモート印刷の可否を判断する処理）
図９は、アクティビティ部２１０が、リモート印刷の可否を判断する処理を示すフロー図であって、例えば、図８のステップＳ１１３及びステップＳ１１４において実行される処理の例である。
【００７９】
図９のステップＳ７１では、代替処理選択手段２２が、図８のステップＳ１１３で認識された他の画像形成装置において、印刷フィルタがあるか否かの問い合わせを行う。ステップＳ７１に続いてステップＳ７２に進み、ステップＳ７１の問い合わせに基づく応答により、他の画像形成装置に印刷フィルタがある場合には、ステップＳ７３に進み、他の画像形成装置に印刷フィルタが無い場合には、ステップＳ７６に進む。
【００８０】
ステップＳ７２に続くステップＳ７３では、代替処理選択手段２２が、他の画像形成装置に対し、後処理機能の有無の問い合わせを行う。ここでは、他の画像形成装置が保持する情報のうち、後処理機能に係る情報の取得を要求してもよく、また例えば、現在実行しているジョブにおいて設定されている後処理の項目について、その項目に対応する機能の有無に係る情報を取得してもよい。
【００８１】
ステップＳ７３に続いてステップＳ７４に進み、代替処理選択手段２２が、ステップＳ７３の問い合わせに基づく他の画像形成装置からの応答により、現在実行しているジョブに対応する後処理が、他の画像形成装置において実行できるか否かを判断する。実行できる場合には、ステップＳ７５に進み、実行できない場合には、ステップＳ７６に進む。
【００８２】
ステップＳ７４に続くステップＳ７５では、ジョブ構築手段２１が、代替処理によるジョブを新たに構築し、ジョブ制御手段２３が、そのジョブの開始を指示する。これにより、代替処理として、他の画像形成装置から出力するジョブが実行される。
【００８３】
一方、ステップＳ７２又はステップＳ７４に続くステップＳ７６では、画面生成手段３９が、他の画像形成装置による代替出力ができない旨を通知する画面を生成し、表示手段８２に表示させることにより、操作者に通知する。なお、操作者への通知は、例えば、ジョブの指示がネットワークを介したＰＣ等から入力される場合には、そのＰＣによって制御される表示手段に表示されてもよく、またメール等によって通知されてもよい。
【００８４】
代替出力ができない旨を通知する画面は、さらに、その他の代替処理の選択の入力を促す欄を含んでもよい。これにより、操作者が、他の代替処理を選択して指示することができる。
【００８５】
（ファクシミリ送信ができない場合にメール送信を行う例）
図１０は、代替処理が実行されるジョブの例であって、ファクシミリ送信ができない場合に、メール送信を行う処理の例を示すシーケンス図である。
【００８６】
図１０では、読取フィルタ３３０が入力フィルタであり、編集フィルタ４３０が加工フィルタであり、ＦＡＸ送信フィルタ５３２及びメール送信フィルタ５３３が出力フィルタである。また、読取フィルタ３３０に対応する入力デバイスがスキャナ７３１であり、ＦＡＸ送信フィルタ５３２に対応する出力デバイスが回線制御装置７３４であり、メール送信フィルタ５３３に対応する出力デバイスがネットワーク通信装置７３３である。また、パイプ６３１及び６３２は、例えば、メモリとして構成され、一のメモリの異なる領域でもよく、それぞれ別のメモリでもよい。
【００８７】
図１０では、ステップＳ２０１からステップＳ２１０が通常の処理であり、ステップＳ２１１に基づくステップＳ２１２からステップＳ２１７が代替処理である。なお、通常の処理であるステップＳ２０１からステップＳ２１０は、図８のステップＳ１０１からステップＳ１１０と出力フィルタが異なる他は同様であり、容易に理解できるので、ここでは説明を省略する。
【００８８】
図１０の例では、回線制御装置７３４、回線、又は、送信先のファクシミリ装置等において、何らかの異常が発生したためにＦＡＸ送信ができない場合に、以下のステップＳ２１１からステップＳ２１７により、代替処理であるメール送信が実行される。
【００８９】
ステップＳ２１１では、回線制御装置７３４から、ＦＡＸ送信フィルタ５３２に対し、ＦＡＸ送信が失敗した旨の通知が出力される。ステップＳ２１１に続いてステップＳ２１２に進み、ＦＡＸ送信フィルタ５３２からアクティビティ部２１０に対し、ＦＡＸ送信が失敗した通知が出力される。
【００９０】
ステップＳ２１２に続いてステップＳ２１３に進み、アクティビティ部２１０が、代替処理を行う手段の検索を行う。代替処理の検索は、例えば、予め設定されている代替処理を、情報保持手段５２から取得してもよく、また例えば、画像形成装置１００が保持するフィルタの組合せによって実現される代替手段を検索してもよい。
【００９１】
ステップＳ２１３に続いてステップＳ２１４に進み、アクティビティ部２１０が、ステップＳ１１３で取得された代替処理の候補であるメール送信を、このジョブにおける代替処理として確定する。
【００９２】
ステップＳ２１４に続いてステップＳ２１５に進み、アクティビティ部２１０からＦＡＸ送信フィルタ５３２に対し、処理を終了させる指示が出力される。ステップＳ２１５に続いてステップＳ２１６に進み、ＦＡＸ送信フィルタ５３２から回線制御装置７３４に対し、回線を開放する指示が出力される。この指示に基づいて、回線制御装置７３４が回線を開放し、ＦＡＸ通信が終了する。
【００９３】
ステップＳ２１６に続いてステップＳ２１７に進み、アクティビティ部２１０からメール送信フィルタ５３３に対し、代替処理を開始する指示が出力される。ステップＳ２１７に続いてステップＳ２１８に進み、メール送信フィルタ５３３が、パイプ６３２に格納されている画像データを読み出して取得する。これにより、読取フィルタ３３０及び編集フィルタ４３０による処理を、再度実行させることなく、代替処理を実現することができる。
【００９４】
なお、ステップＳ２１８で画像データを取得した後、メール送信フィルタ５３３が、取得された画像データに対し、メール送信するための処理を行ってもよい。
【００９５】
ステップＳ２１８に続いてステップＳ２１９に進み、メール送信フィルタ５３３からネットワーク通信装置７３３に対し、画像データをメールで送信する指示と、画像データとが出力される。この指示により、ネットワーク通信装置７３３から、画像データがメールとして送信される。
【００９６】
なお、図１０では、出力フィルタの代替処理の例を説明しているが、出力処理を代替させる際に、メール送信フィルタ５３３において扱える画像データが、ＦＡＸ送信フィルタ５３２が扱える画像データとは異なる加工処理を施されたものである場合には、当該加工処理を行う編集フィルタを新たにアクティビティ部２１０の配下に追加するようにジョブを再構築し、編集処理をやり直させるようにしてもよい。
【００９７】
（代替処理を選択する画面の例）
図１１及び図１２は、代替処理の選択の入力を促す画面の例である。図１１は、ＦＡＸ送信処理ができない場合に、代替処理として実行される処理を選択する画面の例であって、例えば、図１０のステップＳ２１３において、画面生成手段３９によって生成される。
【００９８】
図１１の画面では、代替処理として「メール送信」、「印刷」、及び、「保存」の３つの項目のうち一が選択される。図１１の例では、「メール送信」が選択されている。ここで、操作者により「実行」ボタンが選択されることにより、ＦＡＸ送信の代替処理として、メール送信が選択される。
【００９９】
図１２は、予め代替処理を設定する画面の例である。図１２（Ａ）は、通常のコピー設定画面の上部に「代替処理選択」のボタンが設けられている。「代替処理選択」のボタンが選択されることにより、図１２（Ｂ）の画面に遷移する。図１２（Ｂ）は、ＦＡＸ送信、メール送信、及び、印刷のそれぞれの処理について、代替処理を選択する画面の例である。出力処理毎に、代替処理が選択された後、「設定」が選択されることに基づいて、操作者によって入力された代替処理に係る情報が、情報保持手段５２に格納される。
【０１００】
（コンピュータの構成）
図１３は、本実施形態の画像形成装置を実現するコンピュータの構成図である。図１３のコンピュータは、主処理部９００、入力デバイス９１０、表示装置９２０、プリンタ９３０、スキャナ９４０、及び、ＨＤＤ９９０を有する。主処理部９００は、コンピュータの機能を実現する主たる部分であり、ＣＰＵ９０１、ＲＯＭ９０８、及び、ＲＡＭ９０９を有する。ＣＰＵ９０１は、コンピュータプログラムをＲＯＭ４０８等から読み出し、ＲＡＭ４０９に展開して実行する。ＲＯＭ９０８は不揮発性のメモリであり、ＣＰＵ４０１によって実行されるコンピュータプログラム、及び、画像形成装置の制御に必要なパラメータ等を保持する。ＲＡＭ９０９は、ＣＰＵ９０１が処理を行う際の、ワークメモリである。
【０１０１】
入力デバイス９１０は、例えば、キーボード等であり、操作者が指示の入力を行う際に使用する。表示装置９２０は、コンピュータの状態等の表示を行う。プリンタ９３０は、画像を媒体に形成して出力する装置であり、スキャナ９４０は、媒体上に形成された画像を光学的に読み取る装置である。ＨＤＤ９９０は、画像のデータ等の大容量のデータを格納する。
【０１０２】
本発明のコンピュータプログラムは、ＨＤＤ９９０、又は、ＲＯＭ９０８に格納される他に、その他図示しないドライブ装置に挿入可能な記録媒体に格納されていてもよい。
【０１０３】
以上、発明を実施するための最良の形態について説明を行ったが、本発明は、この最良の形態で述べた実施の形態に限定されるものではない。本発明の主旨をそこなわない範囲で変更することが可能である。
【図面の簡単な説明】
【０１０４】
【図１】本発明の一実施の形態に係る画像形成装置の外観の概略図。
【図２】本実施形態の画像形成装置におけるソフトウェア構成の例を示す図。
【図３】パイプ＆フィルタアーキテクチャの概念を説明する図。
【図４】本実施形態の画像形成装置の機能構成の例を示す図。
【図５】代替処理の概念を説明する図。
【図６】代替処理の例を説明する図。
【図７】ジョブの通常の処理から代替処理へと遷移する例のフロー図。
【図８】代替処理によってジョブが再構築される処理を説明するシーケンス図（その１）。
【図９】リモート印刷の可否を判断する処理の例を示すフロー図。
【図１０】代替処理によってジョブが再構築される処理を説明するシーケンス図（その２）。
【図１１】代替処理を選択する画面の例。
【図１２】代替処理を設定する画面の例。
【図１３】コンピュータの構成の例を示す図。
【符号の説明】
【０１０５】
２０、２０２  コントロール部
２１  ジョブ構築手段
２２  代替処理選択手段
２３  ジョブ制御手段
３０、２０３  アプリケーションロジック部
３１、３２、３３  ソフトウェア部品
３９  画面生成手段
４０  記憶手段
５０、２０５  デバイス部
５１  画像入力手段
５２  情報保持手段
５３  画像出力手段
８１  入力手段
８２  表示手段
９０  ＰＣ
１００  画像形成装置
１１０  スキャナ
１２０  操作ボード
１３０  自動原稿送り装置
１４０  プロッタ
１４５  給紙バンク
１４６  給紙トレイ
１５０  フィニッシャ
２０１  ユーザインタフェース部
２０４  デバイスサービス部
２０６  クロスカット部
２０７  通信サーバ
２０８  ローカルＵＩ部
２０９  パラメータ保持部
２１０  アクティビティ部
２１９  履歴記録部
２２０  アクセス制御部
２２１  課金部
３００  入力フィルタ
３２１  入力処理部
４００  加工フィルタ
４１０、４１２、４１３、４２２、４２３、４２５  加工器
５００  出力フィルタ
５２１、５２３  出力処理部
５３０  印刷フィルタ
５３１  リモート印刷フィルタ
５３２  ＦＡＸ送信フィルタ
５３３  メール送信フィルタ
６００  データ管理部
７００ａ、７００ｂ、７００ｃ、７００ｄ  デバイス
９００  コンピュータの主処理部
９０１  ＣＰＵ
９０８  ＲＯＭ
９０９  ＲＡＭ
９１０  入力デバイス
９２０  表示装置
９３０  プリンタ
９４０  スキャナ
９９０  ＨＤＤ
【図１】
0005096110.tif 000002
【図２】
0005096110.tif 000003
【図３】
0005096110.tif 000004
【図４】
0005096110.tif 000005
【図５】
0005096110.tif 000006
【図６】
0005096110.tif 000007
【図７】
0005096110.tif 000008
【図８】
0005096110.tif 000009
【図９】
0005096110.tif 000010
【図１０】
0005096110.tif 000011
【図１１】
0005096110.tif 000012
【図１２】
0005096110.tif 000013
【図１３】
0005096110.tif 000014