(57)【要約】【課題】機能のカスタマイズ又は拡張などを簡略化させることのできる画像処理装置、画像処理方法及び画像処理プログラムを提供することを目的とする。【解決手段】画像データの入力処理を制御する入力フィルタと、出力される画像データの出力処理を制御する出力フィルタと、入力フィルタと出力フィルタとの間にパイプを介して接続されて画像データの加工処理を制御する加工フィルタとを有し、出力される画像データの出力設定が変更されたとき、加工フィルタが入力フィルタの後段のパイプへ接続される。【選択図】図４
2008287363.tif 000002
【特許請求の範囲】
【請求項１】
画像処理の対象となる画像データが入力される入力部と、
前記入力部により入力される画像データの入力処理を制御する入力フィルタと、
前記画像処理の結果を出力する出力部と、
前記出力部から出力される画像データの出力処理を制御する出力フィルタと、
前記入力フィルタと前記出力フィルタとの間にパイプを介して接続されて画像データの加工処理を制御する加工フィルタとを有し、
前記出力部から出力される画像データの出力設定が変更されたとき、前記加工フィルタが前記入力フィルタの後段のパイプへ接続されることを特徴とする画像処理装置。
【請求項２】
前記出力部から出力される画像データのプレビュー画像データの出力処理を制御するプレビューフィルタを有し、
前記出力部から出力される画像データの出力設定が変更されたとき、前記加工フィルタを前記入力フィルタの後段のパイプへ接続させ、
前記出力フィルタ及び前記プレビューフィルタをパイプを介して前記加工フィルタへ接続させることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記加工フィルタ及び前記プレビューフィルタにおいて実行されるジョブであって、前記加工フィルタ及び前記プレビューフィルタにおいて前記画像データの出力設定毎に生成されたジョブを保持する保持手段と、
前記ジョブの実行を管理する管理手段とを有し、
前記管理手段は、前記加工フィルタ及び前記プレビューフィルタに、変更された出力設定に対応したジョブを実行させることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記管理手段は、
前記出力設定の戻し指示を受けたとき、前記戻し指示を受けた時点の出力設定の前の出力設定に対応したジョブを前記加工フィルタ及び前記プレビューフィルタに実行させることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記管理手段は、
前記出力設定の戻し指示を受けた後に出力設定の設定が変更されたとき、前記戻し指示を受ける前の出力設定に対応したジョブを、前記戻し指示を受けた後の出力設定に対応したジョブに書き換えることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記出力設定が変更されたとき、変更前の出力設定において前記加工フィルタから出力された画像データを前記加工フィルタの後段のパイプに保持することを特徴とする請求項２ないし５のいずれか一項に記載の画像処理装置。
【請求項７】
当該画像処理装置に係る操作が行われる操作手段を有し、
前記操作手段は、
前記出力設定の変更前のプレビュー画像を表示する第一の領域と、
前記出力設定の変更後のプレビュー画像を表示する第二の領域とを有することを特徴とする請求項２ないし６のいずれか一項に記載の画像処理装置。
【請求項８】
画像処理の対象となる画像データが入力される入力部により入力される画像データの入力処理を制御する入力制御手順と、
前記画像処理の結果を出力する出力部による画像データの出力処理を制御する出力制御手順と、
前記画像データの加工処理を制御する加工制御手順とを有し、
前記出力部から出力される画像データの出力設定が変更されたとき、前記入制御手順と前記出力制御手順との間で前記加工制御手順を実行する特徴とする画像処理方法。
【請求項９】
コンピュータに、
画像処理の対象となる画像データが入力される入力部により入力される画像データの入力処理を制御する入力制御ステップと、
前記画像処理の結果を出力する出力部による画像データの出力処理を制御する出力制御ステップと、
前記画像データの加工処理を制御する加工制御ステップとを実行させ、
前記出力部から出力される画像データの出力設定が変更されたとき、前記入力制御ステップと前記出力制御ステップとの間で前記加工制御ステップを実行させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【０００２】
近年において、プリンタ、コピー機、スキャナ、ファクシミリ、又はこれらの機能を一台の筐体で実現する複合機等の画像処理装置では、汎用的にコンピュータと同様にＣＰＵを備え、各機能はアプリケーションの制御によって実現されるようになっている。
【０００３】
例えば特許第３６７９３４９号公報（特許文献１）に記載された画像形成装置では、各アプリケーションから共通して利用される機能をプラットフォームとして備えており、このプラットフォームのＡＰＩ（Application Programming Interface）を利用してアプリケーションを実装することができる。係る画像形成装置によれば、共通して利用される機能がプラットフォームとして備えられていることにより、アプリケーションごとに重複した機能の実装が回避され、アプリケーション全体の開発効率を向上させることができる。
【特許文献１】特許第３６７９３４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、係る構成では、このプラットフォームによって提供される機能又はインターフェースの粒度が適切に設計されないと、アプリケーションの開発効率の向上が期待以上にはかれない場合がある。
【０００５】
例えば、この粒度が小さすぎると、単純なサービスを提供するアプリケーションであるにも関わらず、多くのＡＰＩの呼び出しが必要とされ、そのソースコードは複雑なものとなってしまう。
【０００６】
一方、粒度が大きすぎると、ある機能の一部について変更を加えたサービスを提供するアプリケーションを実装したい場合、プラットフォーム内を修正しなければならず、開発工数の増加を招きかねない。特に、プラットフォーム内における各モジュールの依存関係が強い場合は、プラットフォームに新規機能を追加するだけでなく、既存部分の修正も必要とされる場合があり、事態はより複雑となる。
【０００７】
また、既存のアプリケーションによって提供されているサービスの一部（例えば、画像の入力処理）を変更したアプリケーションを実装したい場合、変更部分以外の部分については既存のアプリケーションを呼び出すといったようなことはできない。したがって、改めてソースコードを記述して新たなアプリケーションを実装しなければならない。
【０００８】
本発明は、上記の点を鑑みてなされたものであって、機能のカスタマイズ又は拡張などを簡略化させることのできる画像処理装置、画像処理方法及び画像処理プログラムを提供することを目的とするものである。
【課題を解決するための手段】
【０００９】
本発明は、上記目的を達成するために、以下の如き構成を採用した。
【００１０】
本発明の画像処理装置は、画像処理の対象となる画像データが入力される入力部と、前記入力部により入力される画像データの入力処理を制御する入力フィルタと、前記画像処理の結果を出力する出力部と、前記出力部から出力される画像データの出力処理を制御する出力フィルタと、前記入力フィルタと前記出力フィルタとの間にパイプを介して接続されて画像データの加工処理を制御する加工フィルタとを有し、前記出力部から出力される画像データの出力設定が変更されたとき、前記加工フィルタが前記入力フィルタの後段のパイプへ接続される構成とした。
【００１１】
係る構成によれば、機能のカスタマイズ又は拡張などを簡略化させることができる。
【００１２】
また本発明の画像処理装置は、前記出力部から出力される画像データのプレビュー画像データの出力処理を制御するプレビューフィルタを有し、前記出力部から出力される画像データの出力設定が変更されたとき、前記加工フィルタを前記入力フィルタの後段のパイプへ接続させ、前記出力フィルタ及び前記プレビューフィルタをパイプを介して前記加工フィルタへ接続させる構成としても良い。
【００１３】
係る構成によれば、機能のカスタマイズ又は拡張などを簡略化させることができ、かつ既存のコンポーネントを変更せずにプレビュー機能を実現できる。
【００１４】
また本発明の画像処理装置は、前記加工フィルタ及び前記プレビューフィルタにおいて実行されるジョブであって、前記加工フィルタ及び前記プレビューフィルタにおいて前記画像データの出力設定毎に生成されたジョブを保持する保持手段と、前記ジョブの実行を管理する管理手段とを有し、前記管理手段は、前記加工フィルタ及び前記プレビューフィルタに、変更された出力設定に対応したジョブを実行させる構成としても良い。
【００１５】
係る構成によれば、各フィルタにおいてジョブ同士の複雑な制御を行うことなく出力設定毎にプレビュー画像を切り換えることができる。
【００１６】
また、前記管理手段は、前記出力設定の戻し指示を受けたとき、前記戻し指示を受けた時点の出力設定の前の出力設定に対応したジョブを前記加工フィルタ及び前記プレビューフィルタに実行させる構成としても良い。
【００１７】
係る構成によれば、ユーザは自分が行った出力設定の設定を記憶しておく必要がなく、容易に過去の設定を反映したプレビュー画像を得ることができる。
【００１８】
また、前記管理手段は、前記出力設定の戻し指示を受けた後に出力設定の設定が変更されたとき、前記戻し指示を受ける前の出力設定に対応したジョブを、前記戻し指示を受けた後の出力設定に対応したジョブに書き換える構成としても良い。
【００１９】
係る構成によれば、過去の任意の時点において、新たに出力設定を設定することができる。
【００２０】
また本発明の画像処理装置において、前記出力設定が変更されたとき、変更前の出力設定において前記加工フィルタから出力された画像データを前記加工フィルタの後段のパイプに保持する構成としても良い。
【００２１】
係る構成によれば、出力設定が変更前に戻された場合に再度画像データの加工処理を行う必要がなく、加工フィルタにおける処理の負担を軽減することができる。
【００２２】
また本発明の画像処理装置は、当該画像処理装置に係る操作が行われる操作手段を有し、前記操作手段は、前記出力設定の変更前のプレビュー画像を表示する第一の領域と、前記出力設定の変更後のプレビュー画像を表示する第二の領域とを有する構成としても良い。
【００２３】
係る構成によれば、出力設定の変更前のプレビュー画像と出力設定の変更後のプレビュー画像とを視覚的に比較することができ、画像処理装置の操作性を向上させることができる。
【００２４】
本発明の画像処理方法は、画像処理の対象となる画像データが入力される入力部により入力される画像データの入力処理を制御する入力制御手順と、前記画像処理の結果を出力する出力部による画像データの出力処理を制御する出力制御手順と、前記画像データの加工処理を制御する加工制御手順とを有し、前記出力部から出力される画像データの出力設定が変更されたとき、前記入制御手順と前記出力制御手順との間で前記加工制御手順を実行する方法とした。
【００２５】
係る方法によれば、機能のカスタマイズ又は拡張などを簡略化させることができる。
【００２６】
本発明の画像処理プログラムは、コンピュータに、画像処理の対象となる画像データが入力される入力部により入力される画像データの入力処理を制御する入力制御ステップと、前記画像処理の結果を出力する出力部による画像データの出力処理を制御する出力制御ステップと、前記画像データの加工処理を制御する加工制御ステップとを実行させ、前記出力部から出力される画像データの出力設定が変更されたとき、前記入力制御ステップと前記出力制御ステップとの間で前記加工制御ステップを実行させるプログラムとした。
【００２７】
係るプログラムによれば、機能のカスタマイズ又は拡張などを簡略化させることができる。
【発明の効果】
【００２８】
本発明によれば、機能のカスタマイズ又は拡張などを簡略化させることができる。
【発明を実施するための最良の形態】
【００２９】
本発明では、パイプ＆フィルタと呼ばれる考え方に基づくソフトウェアアーキテクチャを画像処理装置に適用することで、機能のカスタマイズ又は拡張などを簡略化する。さらに本発明では、画像処理装置から出力される画像データの出力設定が変更されたとき、加工フィルタを入力フィルタの後段のパイプへ接続し、出力設定に対応した画像データの加工及び出力を行う。
【００３０】
また本発明の画像処理装置では、プレビュー画像を出力するプレビュー画像用のプレビューフィルタを設け、出力設定が変更されたとき、プレビューフィルタを加工フィルタに接続することで出力設定に対応したプレビュー画像を表示させる。本発明の画像処理装置では、出力設定に対応して加工フィルタ及びプレビューフィルタで実行されるジョブを保持することにより、出力設定の変更毎にプレビュー画像を切り換えて表示させる。
（第一の実施形態）
以下に、本発明の第一の実施形態の説明に先立ち、本発明の画像処理装置に適用されたパイプ＆フィルタの概念について説明する。図１は、パイプ＆フィルタの概念を説明する図である。図１に示す「Ｐ」はパイプを示し、「Ｆ」はフィルタを示す。
【００３１】
フィルタとは、入力されたデータに対して所定の処理を施して、その処理結果を出力するプログラムである。そしてパイプは、フィルタとフィルタを連結する手段であり、パイプの入力側に連結されたフィルタから出力される処理結果を一時的に保持し、その後パイプの出力側へ連結されたフィルタへデータを伝達する。このように、パイプ＆フィルタの概念によれば、パイプを介在させてフィルタにおける処理を連続したものとすることができる。
【００３２】
本実施形態では、フィルタにおいて施される所定の処理を、入力されたデータに対し、所定の変換を施す処理と考える。すなわち、本実施形態の画像処理装置では、画像処理装置で実現される各機能をドキュメント（入力データ）に対する「変換処理」の連続として捉える。画像処理装置の各機能は、ドキュメントすなわちデータの入力、加工及び出力によって構成されるものと考える。そこで、本実施形態では「入力処理」、「加工処理」及び「出力処理」のそれぞれを「変換処理」として捉え、一つの変換処理を実現するソフトウェア部品をフィルタとして構成した。
【００３３】
本実施形態では、データの入力処理を制御するフィルタを入力フィルタ、データの加工処理を制御するフィルタを加工フィルタ、データの出力処理を制御するフィルタを出力フィルタとした。これらの各フィルタはそれぞれ独立したプログラムであって、フィルタ間の依存関係は存在しない。よって、各フィルタは、画像処理装置において独立してフィルタ単位で追加（インストール）、削除（アンインストール）することが可能である。
【００３４】
以下に、本実施形態の画像処理装置１００について図面を参照して説明する。
【００３５】
図２は、本発明の第一の実施形態の画像処理装置１００のソフトウェア構成を示す構成図である。画像処理装置１００は、例えばプリンタ、コピー、スキャナ、又はＦＡＸ等の複数の機能を一台の筐体において実現する複合機である。
【００３６】
画像処理装置１００の機能を実現するソフトウェアは階層構造となっており、ユーザインターフェイス層１１０、コントロール層１２０、アプリケーションロジック層１３０、デバイスサービス層１４０及びデバイス層１５０により構成されている。これらの各層における上下関係は、層間の呼び出し関係に基づいている。すなわち、図中において上位層が下位層を呼び出す。
【００３７】
画像処理装置１００において、ユーザインターフェイス層１１０によりユーザから各種機能の実行指示が成されると、ユーザインターフェイス層１１０は、コントロール層１２０を呼び出しこの実行指示に基づきアプリケーションロジック層１３０を制御する。アプリケーションロジック層１３０では、コントロール層１２０からの指示に基づき要求された機能を実現させるアプリケーションを実行する。そして、この実行結果に基づきデバイスサービス層１４０、デバイス層１５０が画像処理装置１００のハードウェア資源を制御する。画像処理装置１００では、このような動作によりユーザインターフェイス層１１０が受け付けた機能に対応した出力結果を得る。
【００３８】
以下に各層について説明する。
【００３９】
ユーザインターフェイス層１１０には、例えばローカルＵＩ（user interface）部１１１が実装されており、画像処理装置１００の各種機能を実現するための実行指示を受け付ける機能を有する。ここで言う各種機能とは、例えばコピー機能、印刷機能、スキャン機能、ＦＡＸ機能などである。ローカルＵＩ１１１は、例えば画像処理装置１００で実行される処理の操作が行われる操作部（図示せず）に設けられていても良い。この操作部は、例えば表示領域を備えるオペレーションパネルなどにより実現されても良い。ユーザインターフェイス層１１０において受け付けられた実行指示は、コントロール層１２０へ伝達される。
【００４０】
コントロール層１２０では、画像処理装置１００の各機能を実現する処理を制御するための機能が実装されている。具体的には、要求された機能に応じてアプリケーションロジック層１３０における各フィルタを接続し、接続されたフィルタを用いて機能の実行を制御する機能を有する。以下の本実施形態において述べる画像処理装置１００の機能とは、画像処理装置１００がユーザに対して提供する一つのまとまった単位（要求が入力されて最終的な出力が得られるまで）のサービスの定義であり、ソフトウェア的には一つのまとまった単位のサービスを提供するアプリケーションと同義である。
【００４１】
アプリケーションロジック層１３０には、画像処理装置１００において提供される機能の一部を実現する部品群である各種フィルタが実装されている。アプリケーションロジック層１３０では、コントロール層１２０の制御により、複数のフィルタを組み合わせて一つの機能が実現される。本実施形態におけるアプリケーションロジック層１３０には、入力フィルタ１３１、加工フィルタ１３２、出力フィルタ１３３及びアクティビティ１３４とが実装されている。アプリケーションロジック層１３０に実装された各フィルタは、同一の定義に基づき動作するものであり、この定義に基づきコントロール層１２０に制御される。これら各フィルタの詳細は後述する。また、アクティビティ１３４は、各フィルタの実行をとりまとめるコンポーネントである。
【００４２】
デバイスサービス層１４０には、アプリケーションロジック層１３０に実装された各フィルタが共通して利用する下位の機能が実装されている。本実施形態のデバイスサービス層１４０には画像パイプ１４１が実装されている。画像パイプ１４１は上で述べたパイプの機能を実現するものであり、アプリケーションロジック層１３０に実装されている各フィルタのうち、一のフィルタからの出力結果を、一のフィルタへ伝達する。ここで画像パイプ１４１は、例えば入力フィルタ１３１と加工フィルタ１３２とを接続しても良いし、加工フィルタ１３２と出力フィルタ１３３とを接続しても良い。
【００４３】
デバイス層１５０には、ハードウェアを制御するプログラムであるドライバが実装されている。本実施形態のデバイス層１５０には、例えばスキャナ制御部１５１、プロッタ制御部１５２等が実装されている。これらの各制御部は、それぞれの名称に付けられたデバイスを制御するものである。
【００４４】
以下に、アプリケーションロジック層１３０に実装された各フィルタについてさらに説明する。
【００４５】
本実施形態の入力フィルタ１３１は、画像処理装置１００の外部より入力されたデータに対する入力処理を制御する。入力フィルタ１３１には、例えば読取フィルタ、メール受信フィルタ、ＦＡＸ受信フィルタ、ＰＣ文書受信フィルタ等が含まれる（図示せず）。読取フィルタは、例えばスキャナによる画像データの読取を制御し、読み取られた画像データを出力する。メール受信フィルタは、画像処理装置１００において電子メールを受信し、受信した電子メールに含まれるデータを出力する。ＦＡＸ受信フィルタはＦＡＸ受信を制御し、受信されたデータを出力する。ＰＣ文書受信フィルタは、図示しないクライアントＰＣなどから印刷データを受信し、この印刷データを出力する。
【００４６】
本実施形態の加工フィルタ１３２は、加工フィルタ１３２の入力側のフィルタより入力された画像データに所定の加工処理を施し、加工フィルタ１３２の出力側にあるフィルタへ処理結果を出力する。本実施形態の加工処理とは、例えば入力されたデータの集約、拡大、縮小、回転処理等の画像データの編集処理である。
【００４７】
本実施形態の出力フィルタ１３３、入力されたデータに対する出力処理を制御して出力する。出力フィルタ１３３には、印刷フィルタ１３５が含まれる。また図２に示すこれら２つの出力フィルタの他にも、出力フィルタ１３３には、例えばメール送信フィルタ、ＦＡＸ送信フィルタ、ＰＣ文書送信フィルタ等が含まれる。
【００４８】
印刷フィルタ１３５は、入力されたデータをプロッタ制御部１５２に出力（印刷）させる。その他の出力フィルタ１３３に含まれるフィルタでは、例えばメール送信フィルタは、データを電子メールに添付して送信する。またＦＡＸ送信フィルタは、入力されたデータをＦＡＸ送信する。ＰＣ文書送信フィルタは、入力されたデータを図示しないクライアントＰＣなどに送信する。尚以下の説明において、各フィルタで実行される処理をジョブと呼ぶ。
【００４９】
本実施形態のアクティビティ１３４には、ユーザインターフェース層１１０においてローカルＵＩ１１１から入力された指示がコントロール層１２０を介して伝達される。アクティビティ１３４は、この指示にしたがって、入力フィルタ１３１、加工フィルタ１３２、出力フィルタ１３３におけるジョブの実行を制御する。
【００５０】
アプリケーションロジック層１３０では、上記各フィルタを組み合わせることにより、画像処理装置１００の各機能を実現している。係る構成によれば、画像処理装置１００では、フィルタとパイプの組み合わせにより各種の機能を実現することができる。具体的には、例えばコピー機能を実現したい場合には、入力フィルタ１３１に含まれる読取フィルタ、加工フィルタ１３２、印刷フィルタ１３５を組み合わせれば良い。
【００５１】
以下に、本実施形態の画像処理装置１００における印刷処理について説明する。図３は、第一の実施形態の画像処理装置１００における印刷処理を説明する図である。
【００５２】
本実施形態の画像処理装置１００においてコントロール層１２０は、アクティビティ１３４に対し、各フィルタで生成されるジョブの実行を指示する。（Ｓ３１）。本実施形態の画像処理装置１００では、例えば画像処理装置１００においてユーザにより例えばコピー機能などの操作が選択されたときや、画像処理装置１００における全体の実行が指示されたとき（スタートボタンが押下されたとき）に、コントロール層１２０からアクティビティ１３４に対する指示が出されても良い。また本実施形態の画像処理装置１００では、画像形成装置１００の電源が投入されたときに、コントロール層１２０からアクティビティ１３４に対する指示が出されても良い。
【００５３】
ここで画像処理装置１００では、ローカルＵＩ１１１により印刷処理の実行要求がなされると、ローカルＵＩ１１１は、この要求をコントロール層１２０へ伝達する（Ｓ３２）。尚図３に示す例では、印刷処理の一つであるコピー処理が選択されたものとして説明する。この場合ローカルＵＩ１１１では、紙原稿の読取及び印刷を指示する操作がなされる。
【００５４】
コントロール層１２０は、紙原稿の読取及び印刷指示を受けると、入力フィルタ１３１、加工フィルタ１３２、印刷フィルタ１３５とを画像パイプにより接続する。尚このとき、実際には入力フィルタ１３１に含まれる読取フィルタが加工フィルタ１３２に接続される。コントロール層１２０は、入力フィルタ１３１により実行されるジョブ（Ｓ３３）、加工フィルタ１３２により実行されるジョブ（Ｓ３４）、印刷フィルタ１３５により実行されるジョブを各フィルタに生成させる（Ｓ３５）。
【００５５】
各フィルタにおいて実行されるジョブが生成されると、アクティビティ１３４は、各フィルタに対しジョブの実行を指示する。すると、入力フィルタ１３１により、入力部であるスキャナ部から紙原稿の読取る処理が実行され、紙原稿が画像データとして読み込まれる。この画像データが入力フィルタ１３１から出力されて、画像パイプ１４１を介して加工フィルタ１３２へ伝達される。
【００５６】
加工フィルタ１３２では、この画像データに予め設定された所定の加工処理を施し、加工された画像データとして出力する。加工された画像データは、次に出力フィルタ１３３の一つである印刷フィルタ１３５へ伝達される。印刷フィルタ１３５では、この加工された画像データを出力部であるプロッタ部から出力する処理を行う。本実施形態の画像処理装置１００では、このようにしてコピー処理を行う。
【００５７】
本実施形態の画像形成装置１００では、印刷フィルタ１３５を用いた画像データを印刷出力処理において、画像データの出力設定が変更されたとき、加工フィルタ１３２が入力フィルタ１３１の後段の画像パイプ１４１ａに接続される。以下に画像データの出力設定が変更された場合を説明する。
【００５８】
図４は、第一の実施形態において出力設定が変更された場合の処理を説明する図である。尚、以下の図においてＦｉｌｔｅｒと記載されたものは、各フィルタ内で生成される実行ジョブを示すものとした。
【００５９】
画像処理装置１００では、編集ＵＩ１１２において画像データの出力設定が変更されると（Ｓ４０１）、コントロール層１２０が加工フィルタ１３２を画像パイプ１４１ａに接続させる。編集ＵＩ１１２では、画像処理装置１００において画像データを印刷出力する際の出力設定の設定が行われる。編集ＵＩ１１２は、ローカルＵＩ１１１に含まれていても良い。また以下の説明における出力設定とは、例えば画像データの集約、拡大、縮小、回転処理等であり、加工フィルタ１３２における画像データの加工処理により実現可能な印刷条件とした。
【００６０】
印刷フィルタ１３５は、出力設定の変更指示を受けたことをアクティビティ１３４へ伝達する（Ｓ４０２）。アクティビティ１３４は、印刷フィルタ１３５からの伝達を受けて、コントロール層１２０へ出力設定の変更に対応したジョブの生成を要求する（Ｓ４０３）。コントロール層１２０は、ジョブの生成要求を受けて、加工フィルタ１３２に、出力設定の変更に対応したジョブを生成させる（Ｓ４０４）。またコントロール層１２０は、印刷フィルタ１３５に、出力設定の変更に対応したジョブを生成させる（Ｓ４０５）。
【００６１】
尚出力設定に対応したジョブとは、Ｓ４０１において変更された後の出力設定で画像データを印刷出力させるためのジョブである。具体的には、例えばＳ４０１において、出力設定が、通常の印刷設定から２頁分を１枚に集約する２頁分集約設定に変更された場合、Ｓ４０４において加工フィルタ１３２で生成されるジョブは、画像パイプ１４１ａから読み出した２頁分の画像データを１枚に集約するジョブである。またＳ４０５において印刷フィルタ１３５で生成されるジョブは、画像パイプ１４１ｂから読み出した集約画像データを印刷出力するジョブである。
【００６２】
加工フィルタ１３２及び印刷フィルタ１３５においてジョブが生成されると、アクティビティ１３４は、印刷フィルタ１３５に対しジョブの実行を指示する（Ｓ４０６）。
【００６３】
印刷フィルタ１３５は、この実行指示を受けると、画像パイプ１４１ｂへ画像データの読込要求を出す（Ｓ４０７）。この時、画像パイプ１４１ｂには画像データが保持されていないため、画像パイプ１４１ｂは、この読込要求を加工フィルタ１３２へ伝達する（Ｓ４０８）。加工フィルタ１３２は、この読込要求を受けると、画像パイプ１４１ａから画像データを読み込む（Ｓ４０９）。そして読み込んだ画像データに対し加工を施すジョブを実行し、加工済みの画像データを画像パイプ１４１ｂに対して出力する。
【００６４】
ここで印刷フィルタ１３５は、画像データを読み込むまで画像パイプ１４１ｂに対して読込要求を出している。よって加工フィルタ１３２から出力された加工済みの画像データは、画像パイプ１４１ｂを介して印刷フィルタ１３５により読み出される。印刷フィルタ１３５は画像パイプ１４１ｂから加工済みの画像データを読み出し、加工済みの画像データを印刷出力する。
【００６５】
本実施形態では、このように出力設定が変更された場合に、加工データ１３２を入力フィルタ１３１の後段の画像パイプ１４１ａに接続させることで、容易に出力設定の変更に対応した画像データを出力することができる。
【００６６】
また加工フィルタ１３２及び印刷フィルタ１３５において、出力設定に対応して生成されたジョブを保持しておけば、各フィルタにおいて設定された出力設定に対応したジョブを実行することで、ジョブ間の制御を行わずに容易に出力設定に対応した印刷出力を行うことができる。
（第二の実施形態）
以下に本発明の第二の実施形態について説明する。第二の実施形態の画像処理装置１００Ａは出力フィルタ１３３Ａにプレビューフィルタ１３６が含まれる点で第一の実施形態と相違する。よって第二の実施形態では、第一の実施形態との相違点についてのみ説明し、第一の実施形態と同様の機能構成を有するものには第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【００６７】
図５は、第二の実施形態の画像処理装置１００Ａのソフトウェア構成を示す構成図である。画像処理装置１００Ａでは、出力フィルタ１３３Ａに含まれるプレビューフィルタ１３６を有する。プレビューフィルタ１３６は、入力された画像データをプレビュー表示させる。プレビューフィルタ１３６から出力されたプレビュー画像データは、例えば画像処理装置１００Ａの操作部等に表示されても良い。
【００６８】
画像処理装置１００Ａでは、加工フィルタ１３２とプレビューフィルタ１３６において出力設定毎に実行されるジョブを管理することにより、画像データを印刷出力する際に、出力設定に対応した出力画像データのプレビュー画像を表示することができる。
【００６９】
以下に本実施形態の画像処理装置１００Ａにおける画像データのプレビュー表示について説明する。本実施形態の画像処理装置１００Ａでは、出力画像のプレビュー表示指示がなされた場合に、出力フィルタ１３３Ａに含まれるプレビューフィルタ１３６を加工フィルタ１３２に接続することにより、既存のコンポーネントを変更せずに画像データのプレビュー機能を実現している。
【００７０】
以下に図６を参照して、本実施形態の画像処理装置１００Ａにおけるプレビュー機能の実現について説明する。図６は、第二の実施形態の画像処理装置１００Ａにおけるプレビュー表示処理を説明する図である。
【００７１】
画像処理装置１００Ａにおいて、ローカルＵＩ１１１により、出力画像データのプレビュー表示指示がなされると、ローカルＵＩ１１１はこの指示をコントロール層１２０へ伝達する（Ｓ４１）。
【００７２】
コントロール層１２０では、この指示を受けると、プレビューフィルタ１３６を画像パイプを介して加工フィルタ１３４へ接続する。そしてコントロール層１２０は、加工フィルタ１３４に、プレビューフィルタ１３６へ出力される画像データを生成するために加工フィルタ１３４で実行されるジョブを生成させる（Ｓ４２）。さらにコントロール層１２０は、プレビューフィルタ１３６に、プレビュー機能を実現させるジョブを生成させる（Ｓ４３）。
【００７３】
アクティビティ１３４は、プレビュー機能を実現させるジョブが生成されると、プレビューフィルタ１３６とに対しジョブの実行指示を出す。プレビューフィルタ１３６は、この実行指示を画像パイプを介して加工フィルタ１３２へ伝達する。加工フィルタ１３２はこの伝達を受けて、加工フィルタ１３２で生成されたジョブを実行し、加工済みの画像データを出力する。プレビューフィルタ１３６は、加工済みの画像データをプレビュー表示画像として出力する処理を行う。
【００７４】
本実施形態では、加工フィルタ１３２及びプレビューフィルタ１３６において実行されるジョブを一連のジョブの流れとし、このジョブの流れをジョブライン６０と呼ぶ。本実施形態では、生成されたジョブラインは、後述するメモリなどに記憶されて保持されるものとした。また、フィルタ１３６から出力されたプレビュー画像データは、ローカルＵＩ１１１が備えられた表示手段を有する操作部（図示せず）に表示されても良い。操作部についての詳細は後述する。
【００７５】
尚ここで、Ｓ４２において加工フィルタ１３２で生成されたジョブとは、図３のＳ３４において生成されたジョブと同様のものである。したがって、加工フィルタ１３２は、図３で説明したコピー処理の場合と同様の処理を行う。すなわち加工フィルタ１３２は、印刷処理であろうとプレビュー表示処理であろうと関係なく、「コントロール層１２０の指示により生成したジョブをアクティビティ１３４からの実行指示により実行する」という振る舞いをすれば良い。
【００７６】
このように、本実施形態の画像処理装置１００Ａでは、プレビューフィルタ１３６を加工フィルタ１３２に接続することで、加工フィルタ１３２や、その他の既存のフィルタを変更することなくプレビュー機能を実現することができる。すなわち、機能のカスタマイズ又は拡張などを簡略化させることができる。
【００７７】
また、加工フィルタ１３２が常に一定の振る舞いをすることにより、印刷フィルタ１３５に供給される画像データと同様の画像データをプレビューフィルタ１３６にも提供することができる。よって、出力される画像データと同程度の画像データをプレビュー表示させることができる。
【００７８】
ここで、図７を参照して、本実施形態の画像処理装置１００Ａにおいてプレビュー表示指示後に印刷指示がなされ場合の動作についてより詳細に説明する。図７は、第二の実施形態の画像処理装置１００Ａにおいてプレビュー表示処理を実行した際の動作を説明する図である。
【００７９】
ローカルＵＩ１１１において、出力画像データのプレビュー表示指示がなされると、コントロール層１２０により加工フィルタ１３２とプレビューフィルタ１３６で実行されるジョブ（ジョブライン６０）の生成指示がなされる。加工フィルタ１３２とプレビューフィルタ１３６においてジョブが生成されると、アクティビティ１３４は、入力フィルタ１３１に対し、画像データの読取（入力）処理の実行を指示する（Ｓ５１）。
【００８０】
入力フィルタ１３１は、この指示を受けて画像処理対象となる画像データの読取処理を実行する。尚ここで実行される読取処理は、コントロール層１２０からの指示により入力フィルタ１３１で生成されたジョブに該当する。入力フィルタ１３１は、画像データを読み取ると、この読み取った画像データを画像パイプ１４１ａと画像パイプ１４１ｃに出力する（Ｓ５２）。ここで、入力フィルタ１３１から画像パイプ１４１ａと画像パイプ１４１ｃとに出力される画像データは同一の画像データである。
【００８１】
入力フィルタ１３１により画像データが読み込まれると、アクティビティ１３４は、プレビューフィルタ１３６に対し、画像データのプレビュー表示処理の実行を指示する（Ｓ５３）。ここで実行されるプレビュー表示処理は、コントロール層１２０の指示によりプレビューフィルタ１３６で生成されたジョブに該当する。
【００８２】
プレビューフィルタ１３６は、この実行指示を受けると、画像パイプ１４１ｄへプレビュー画像データの読込要求を出す（Ｓ５４）。この時、画像パイプ１４１ｃには画像データが保持されていないため、画像パイプ１４１ｄは、この読込要求を加工フィルタ１３２へ伝達する（Ｓ５５）。加工フィルタ１３２は、この読込要求を受けると、画像パイプ１４１ｃから画像データを読み込む（Ｓ５６）。そして読み込んだ画像データに対し加工を施すジョブを実行し、加工済みの画像データを画像パイプ１４１ｄに対して出力する。
【００８３】
ここでプレビューフィルタ１３６は、プレビュー画像データを読み込むまで画像パイプ１４１ｄに対して読込要求を出している。よって加工フィルタ１３２から出力された加工済みの画像データは、画像パイプ１４１ｄを介してプレビューフィルタ１３６により読み出される。
【００８４】
プレビューフィルタ１３６は、加工済みの画像データを画像パイプ１４１ｄから読み出すと、この画像データをプレビュー画像データとして出力する出力処理を行い、プレビュー画像を出力する（Ｓ５７）。Ｓ５７においてプレビューフィルタ１３６から出力されたプレビュー画像データは、プレビューＵＩ１１３に表示される。プレビューＵＩ１１３は、画像処理装置１００Ａの有する操作部に設けられた表示部材により実現されても良く、ローカルＵＩ１１１に含まれるものであっても良い。プレビューＵＩ１１３では、プレビュー画像の表示以外にも、プレビュー画像の設定に関する操作が行われても良い。
【００８５】
プレビューフィルタ１３６は、プレビューＵＩ１１３において、プレビュー画像通りの印刷処理の実行を決定する指示が成されると（Ｓ５８）、プレビュー表示処理の終了をアクティビティ１３４へ伝達する（Ｓ５９）。尚ここで、プレビューフィルタ１３６で実行される各処理は、コントロール層１２０の指示によりプレビューフィルタ１３６で生成されたジョブに該当する。
【００８６】
アクティビティ１３４は、プレビュー表示処理の終了を受けて、印刷フィルタ１３５へ印刷処理の実行を指示する（Ｓ６０）。印刷フィルタ１３５は、この指示をうけると画像パイプ１４１ｂに対して印刷される画像データの読込要求を出す（Ｓ６１）。画像パイプ１４１ｂは、この読込要求を加工フィルタ１３２へ伝達する（Ｓ６２）。
【００８７】
加工フィルタ１３２は、この読込要求を受けると、画像パイプ１４１ａから画像データを読み込む（Ｓ６３）。そして読み込んだ画像データに対し加工処理を施し、加工済みの画像データを画像パイプ１４１ｂに対して出力する。ここで印刷フィルタ１３５は、印刷される画像データを読み込むまで画像パイプ１４１ｂに対して読込要求を出している。よって加工フィルタ１３２から出力された加工済みの画像データは、画像パイプ１４１ｂを介して印刷フィルタ１３５により読み出される。
【００８８】
印刷フィルタ１３５は、加工済みの画像データを画像パイプ１４１ｂから読み出すと、この画像データを印刷される画像データとして出力する出力処理を行い、プロッタ部から印刷された画像データを出力する。
【００８９】
本実施形態の画像処理装置１００Ａでは、以上のようにして出力される画像データのプレビュー表示処理を行っている。
【００９０】
次に、画像処理装置１００Ａにおいて、出力設定に対応したプレビュー画像を表示させる場合について説明する。
【００９１】
画像処理装置１００Ａでは、出力設定の変更指示及びプレビュー表示指示を受けると、コントロール層１２０が印刷フィルタ１３５及びプレビューフィルタ１３６を加工フィルタ１３２に接続させ、加工フィルタ１３２を入力フィルタ１３１の後段の画像パイプ１４１ｃに接続させる。そしてコントロール層１２０は、加工フィルタ１３２及びプレビューフィルタ１３６において、変更後の出力設定に対応したジョブ（ジョブライン６１）を生成させる。
【００９２】
また本実施形態の画像処理装置１００Ａでは、アクティビティ１３４により、出力設定に対応して加工フィルタ１３２及びプレビューフィルタ１３６で実行されるジョブの流れをジョブラインとして管理する。各出力設定毎に生成されたジョブラインは、後述するメモリなどに保持されてアクティビティ１３４により管理される。
【００９３】
本実施形態の画像処理装置１００Ａでは、出力設定の変更に応じて保持されたジョブラインを実行することにより、各ジョブライン間（ジョブ間）の制御を行うことなく各出力設定を反映させた複数パータンのプレビュー画像を任意に表示させることができる。よって画像処理装置１００Ａでは、各出力設定毎にプレビュー画像を切り換えて表示させることができ、画像処理装置１００Ａの操作性を向上させることができる。
【００９４】
以下に図８を参照して出力設定に対応したプレビュー画像の表示処理についてさらに説明する。図８は、出力設定に対応したプレビュー表示を説明する図である。
【００９５】
図８では、出力設定を、２頁分の画像データを１枚に集約する２頁集約設定から４頁分の画像データを１枚に集約する４頁集約設定に変更した場合を説明する。
【００９６】
コントロール層１２０は、編集ＵＩ１１２における出力設定の変更指示及びプレビューＵＩ１１３における出力設定変更後のプレビュー表示指示を受けて、印刷フィルタ１３５及びプレビューフィルタ１３６を加工フィルタ１３２に接続し、加工フィルタ１３２を入力フィルタ１３１の後段の画像パイプ１４１ｃに接続する。プレビューＵＩ１１３は、プレビューフィルタ１３６へ、出力設定変更後のプレビュー表示指示を出す（Ｓ８０１）。
【００９７】
プレビューフィルタ１３６は、アクティビティ１３４へ出力設定変更後のプレビュー表示指示を受けたことを伝達する（Ｓ８０２）。アクティビティ１３４は、これを受けてコントロール層１２０へ、出力設定の変更に対応したジョブの生成を要求する（Ｓ８０３）。コントロール層１２０は、ジョブの生成要求を受けて、各フィルタにジョブを生成させ、ジョブライン６２とする。
【００９８】
すなわちコントロール層１２０は、加工フィルタ１３２に対し、画像データに編集ＵＩ１１２で設定された４頁集約設定に対応した加工を行うジョブを生成させる（Ｓ８０４）。またコントロール層１２０は、プレビューフィルタ１３６に対し、４頁集約設定に対応したプレビュー画像データを出力するジョブを生成させる（Ｓ８０５）。よってジョブライン６２は、４頁集約設定に対応したジョブラインとなる。ジョブライン６２は、後述するメモリなどに記憶されて保持される。尚ジョブライン６１は、２頁集約設定に対応したジョブラインとして、メモリに保持されている。
【００９９】
ジョブライン６２が生成されると、アクティビティ１３４は、ジョブライン６２の実行指示を出す。すなわちアクティビティ１３４は、プレビューフィルタ１３６へジョブの実行指示をだす（Ｓ８０６）。
【０１００】
プレビューフィルタ１３６は、この実行指示を受けると、画像パイプ１４１ｅへ画像データの読込要求を出す（Ｓ８０７）。この時、画像パイプ１４１ｅには画像データが保持されていないため、画像パイプ１４１ｅは、この読込要求を加工フィルタ１３２へ伝達する（Ｓ８０８）。加工フィルタ１３２は、この読込要求を受けると、画像パイプ１４１ｃから画像データを読み込む（Ｓ８０９）。そして読み込んだ画像データに対し加工処理を施し、加工済みの画像データを画像パイプ１４１ｅに対して出力する。
【０１０１】
プレビューフィルタ１３６は、画像データを読み込むまで画像パイプ１４１ｅに対して読込要求を出している。よって加工フィルタ１３２から出力された加工済みの画像データは、画像パイプ１４１ｅを介してプレビューフィルタ１３６により読み出される。プレビューフィルタ１３６は読み出した加工済みの画像データをプレビュー画像として表示させる。
【０１０２】
このように本実施形態の画像処理装置１００Ａでは、出力設定が変更される度に、出力設定に対応して加工フィルタ１３２及びプレビューフィルタ１３６で実行されるジョブを生成する。そして各フィルタにおいて生成されたジョブを出力設定に対応した一ジョブラインとして実行する。また本実施形態の画像処理装置１００Ａでは、出力設定毎に対応して生成されたジョブラインを保持する。よって出力設定が変更された場合には変更後の出力設定に対応するジョブラインを選択して実行することができる。
【０１０３】
このため画像処理装置１００Ａでは、ジョブによる個々の操作履歴を管理やジョブ同士の操作履歴の整合性の管理等の複雑な制御を行わずに任意の出力設定を反映させたプレビュー表示を行うことができる。また本実施形態によれば、過去の出力設定に対応したプレビュー画像を任意に表示させることができるため、ユーザは過去の出力設定を記憶する必要がなく、画像処理装置１００Ａの操作性を向上させることができる。
【０１０４】
以下に本実施形態の画像処理装置１００Ａにおけるジョブラインの管理について説明する。図９は、画像処理装置１００Ａにおけるジョブラインの管理を説明する図である。
【０１０５】
図９に示す例では、３つのジョブラインが保持されている。ジョブライン６１は、２頁分の画像データを１枚に集約する２頁集約設定に対応したジョブラインである。ジョブライン６２は４頁分の画像データを１枚に集約する４頁集約設定に対応したジョブラインである。ジョブライン６３は、８頁分の画像データを１枚に集約する８頁集約設定に対応したジョブラインである。
【０１０６】
これらのジョブラインは、各出力設定がなされたときに生成されて、メモリなどに保持される。尚ジョブラインは、例えば画像処理装置１００Ａの起動後に始めて出力設定がなされたときに生成されて保持されていても良い。またジョブラインは、画像処理装置１００Ａにおいて出力設定を初期設定に戻す処理がなされるまで保持されていても良い。またはジョブラインは、ジョブラインが生成されてから所定時間保持され、所定時間が経過した後にメモリから消去されても良い。
【０１０７】
アクティビティ１３４は、編集ＵＩ１１２において設定された出力設定に対応したジョブラインをアクティブなジョブラインとして実行する。
【０１０８】
以下に図１０を参照して、ジョブラインが選択されて実行される場合について説明する。図１０は、画像処理装置１００Ａにおいてアクティブなジョブラインが実行される場合を説明する図である。
【０１０９】
編集ＵＩ１１２において出力設定が変更されると、編集ＵＩ１１２は加工フィルタ１３２に出力設定が変更指示を受けたことを伝達する（Ｓ１００１）。尚図１０では、出力設定が２頁集約設定から４頁集約設定に変更された場合を示す。
【０１１０】
加工フィルタ１３２は、出力設定の変更指示を受けて、アクティビティ１３４へ出力設定の変更指示を伝達する（Ｓ１００２）。アクティビティ１３４は、保持されたジョブラインの中から、変更後の出力設定である４頁集約設定に対応したジョブライン６２をアクティブなジョブラインとして選択し、ジョブライン６２の実行を指示する。
【０１１１】
すなわちアクティビティ１３４は、プレビューフィルタ１３６に対し、ジョブライン６２を構成するジョブの実行を指示する（Ｓ１００３）。
【０１１２】
プレビューフィルタ１３６は、ジョブの実行指示を受けて、画像パイプ１４１ｅへ画像データの読込要求を出す（Ｓ１００４）。画像パイプ１４１ｅはこの要求を加工フィルタ１３２へ伝達する（Ｓ１００５）。加工フィルタ１３２はこの要求を受けて画像パイプ１４１ａより画像データを読み込んで加工を施すジョブを実行し（Ｓ１００６）、加工済みの画像データを出力する。プレビューフィルタ１３６は、加工フィルタ１３２から加工済みの画像データが出力されると、画像パイプ１４１ｅを介して出力済みの画像データを読み込んでプレビュー画像として表示させる（Ｓ１００７）。
【０１１３】
本実施形態の画像処理装置１００Ａでは、このようにして保持されたジョブラインからアクティブなジョブラインを選択し実行する。
【０１１４】
本実施形態の画像処理装置１００Ａでは、上述したように出力設定毎にジョブラインを保持し、アクティブなジョブラインを選択して実行する構成により、プレビュー表示リバース機能とプレビュー表示フォーワード機能とを実現することができる。
【０１１５】
以下にプレビュー表示リバース機能とプレビュー表示フォーワード機能について説明する。
【０１１６】
プレビュー表示リバース機能とは、ある時点のプレビュー表示を、直前の出力設定を反映させたプレビュー表示に戻す機能である。またレビュー表示フォーワード機能とは、ある時点のプレビュー表示を、次に設定された出力設定を反映させたプレビュー表示に切り換える機能である。
【０１１７】
言い換えれば、プレビュー表示リバース機能とは、プレビュー表示を、ある時点の出力設定が反映されたプレビュー画像から、その時点の出力設定の直前の出力設定が反映されたプレビュー画像へ切り換える機能である。プレビュー表示フォーワード機能とは、プレビュー表示を、ある時点の出力設定が反映されたプレビュー画像から、その時点の出力設定の直後に設定された出力設定が反映されたプレビュー画像へ切り換える機能である。
【０１１８】
画像処理装置１００Ａは、プレビュー表示リバース機能を実行させる指示であるリバース指示を受けたとき、またはプレビュー表示フォーワード機能を実行させるフォーワード指示を受けたとき、プレビュー表示の切り換えを行う。以下に図１１を参照してプレビュー表示の切り換えについて説明する。図１１は、画像処理装置１００Ａにおけるプレビュー表示の切り換えを説明する図である。
【０１１９】
図１１では、出力設定は４頁集約設定とされており、現在のアクティブなジョブラインは４頁集約設定に対応したジョブライン６２である。よってプレビューＵＩ１１２には、４頁集約設定に対応したプレビュー画像が表示されている。
【０１２０】
プレビューＵＩ１１２は、リバース指示を受けると、プレビューフィルタ１３６にリバース指示を受けたことを伝達する（Ｓ１１０１）。プレビューフィルタ１３６は、リバース指示を受けたことをアクティビティ１３４へ伝達する（Ｓ１１０２）。
【０１２１】
アクティビティ１３４は、リバース指示を受けて、保持されているジョブラインの中からジョブライン６２の直前に生成されたジョブラインを選択する。図１１では、ジョブライン６２の直前に生成されて保持されているジョブラインをジョブライン６１とした。
【０１２２】
アクティビティ１３４は、ジョブライン６１を選択し、実行する。すなわちアクティビティ１３４は、プレビューフィルタ１３６へジョブライン６１を構成するジョブの実行を指示する（Ｓ１１０３）。プレビューフィルタ１３６は、画像パイプ１４１ｃを介して加工フィルタ１３２へ、ジョブライン６１を構成するジョブの実行指示を伝達する（Ｓ１１０４）。加工フィルタ１３２は、ジョブの実行指示を受けて、メモリに保持されたジョブから選択されたジョブを実行する。ここで選択されたジョブは、２頁集約設定に対応したジョブである。
【０１２３】
加工フィルタ１３２においてジョブが実行されると、加工済みの画像データが画像パイプ１４１ｄへ出力される。プレビューフィルタ１３６は画像パイプ１４１ｄから加工済みの画像データを読み出し、プレビュー画像として出力するジョブを実行し、プレビューＵＩ１１２にプレビュー画像を表示させる（Ｓ１１０５）。ここで表示されるプレビュー画像は、ジョブライン６１が対応している出力設定である２頁集約設定のプレビュー画像である。
【０１２４】
またプレビューＵＩ１１２は、フォーワード指示を受けると、プレビューフィルタ１３６にフォーワード指示を受けたことを伝達する（Ｓ１１０６）。プレビューフィルタ１３６は、リバース指示を受けたことをアクティビティ１３４へ伝達する（Ｓ１１０７）。
【０１２５】
アクティビティ１３４は、フォーワード指示を受けて、保持されているジョブラインの中からリバース指示の前に実行したジョブライン６２を選択して実行する。すなわちアクティビティ１３４は、プレビューフィルタ１３６へジョブライン６２を構成するジョブの実行を指示する（Ｓ１１０８）。プレビューフィルタ１３６は、画像パイプ１４１ｅを介して加工フィルタ１３２へ、ジョブライン６２を構成するジョブの実行指示を伝達する（Ｓ１１０９）。加工フィルタ１３２は、ジョブの実行指示を受けて、メモリに保持されたジョブから選択されたジョブを実行する。ここで選択されたジョブは、４頁集約設定に対応したジョブである
加工フィルタ１３２でジョブが実行されると、加工済みの画像データが出力される。プレビューフィルタ１３６は画像パイプ１４１ｅを介して加工済みの画像データを読み出し、プレビュー画像として表示させる。
【０１２６】
以上のようにして本実施形態の画像処理装置１００Ａでは、プレビュー表示リバース機能とプレビュー表示フォーワード機能とを実現する。画像処理装置１００Ａでは、プレビュー表示リバース機能を有することにより、直前の出力設定を反映させたプレビュー画像を表示させることができる。また画像処理装置１００Ａは、プレビュー表示フォーワード機能を有することにより、リバース指示によって切り換えられたプレビュー表示を切り換える前のプレビュー表示へ戻すことができる。よって、ユーザは過去の出力設定を記憶しておく必要がなく、現在の出力設定が反映されたプレビュー画像と、過去の出力設定が反映されたプレビュー画像とを容易に見比べることができる。このため本実施形態によれば、画像処理装置１００Ａの操作性を向上させることができる。
【０１２７】
また本実施形態の画像処理装置１００Ａでは、リバース指示を受けてプレビュー表示を切り換えた後に、フォーワード指示以外の出力設定変更指示がなされた場合、リバース指示前に実行されたジョブラインをリバース指示後に変更された出力設定と対応して生成されたジョブラインに書き換える。
【０１２８】
以下に図１２を参照して、リバース指示後の出力設定の変更について説明する。図１２は、画像処理装置１００Ａにおいてリバース指示後に出力設定が変更された場合を説明する図である。
【０１２９】
画像処理装置１００Ａでは出力設定が２頁分集約設定とされており、アクティブなジョブラインはジョブライン６１となっている。ここで出力設定が２頁分集約設定から４頁分集約設定に変更されると、アクティビティ１３４は、４頁分集約設定に対応したジョブライン６２を生成し、実行する（Ｓ１２０１）。またアクティビティ１３４は、ジョブライン６２をメモリに記憶させて保持する。
【０１３０】
画像処理装置１００Ａにおいて、さらに出力設定が４頁分集約設定から８頁分集約設定に変更されると、アクティビティ１３４は、８頁分集約設定に対応したジョブライン６３を生成し、実行する（Ｓ１２０２）。またアクティビティ１３４は、ジョブライン６３をメモリに記憶させて保持する。
【０１３１】
ここで、プレビューＵＩ１１２においてリバース指示がなされると、アクティビティ１３４はジョブライン６３の直前に実行されたジョブライン６２を選択して実行する。ここでプレビューＵＩ１１２に表示されるプレビュー画像は、８頁分集約設定に対応したプレビュー画像から、４頁分集約設定を反映させたプレビュー画像に切り換えられる（Ｓ１２０３）。
【０１３２】
プレビュー画像の切り換え後に出力設定がさらに変更されると、コントロール層１２０により変更後の出力設定に対応したジョブライン６４が生成される。アクティビティ１３４は、ジョブライン６４をジョブライン６３に上書きしてメモリに記憶させる（Ｓ１２０４）。例えばＳ１２０３のリバース指示の後、編集ＵＩ１１３において、出力設定が両面印刷設定に変更されると、コントロール層１２０は両面印刷設定に対応したジョブライン６４を生成する。アクティビティ１３４は、生成されたジョブライン６４を保持する際に、ジョブライン６３に上書きしてジョブライン６４を保持する。
【０１３３】
本実施形態の画像処理装置１００Ａでは、この処理により、過去の任意の時点の出力設定から、さらに別の出力条件を設定することができる。
【０１３４】
また本実施形態の画像処理装置１００Ａでは、出力設定に対応して生成されたジョブラインを実行した際に、加工パイプ１３２の後段の画像パイプに出力された加工済みの画像データを保持しても良い。
【０１３５】
以下に図１３を参照して加工済みの画像データが保持される場合を説明する。図１３は加工フィルタ１３２の後段の画像パイプにおける画像データが保持を説明する図である。
【０１３６】
画像処理装置１００Ａにおいて、例えばジョブライン６１が実行された場合、加工フィルタ１３２から画像パイプ１４１ｃへ出力される画像データは、２頁分集約設定に対応した画像データである。この加工済みの画像データは、画像パイプ１４１ｃで保持される。
【０１３７】
この構成によれば、ジョブライン６２が実行された後にジョブライン６１が選択されたとき、プレビューフィルタ１３６によるジョブの実行のみでジョブライン６１と対応したプレビュー画像を表示させることができる。
【０１３８】
アクティビティ１３４によりジョブライン６１が再度選択されると、プレビューフィルタ１３６はアクティビティ１３４からジョブライン６１の実行指示を受ける。プレビューフィルタ１３６この実行指示を受けて、画像パイプ１４１ｃから画像データを読み出す。このとき画像パイプ１４１ｃには、既に加工フィルタ１３２においてジョブライン６１を構成するジョブが実行された結果の加工済み画像データが保持されている。よってプレビューフィルタ１３６は画像パイプ１４１ｃから加工済み画像データを読み出すだけでプレビュー画像として表示させることができる。
【０１３９】
よって本実施形態の画像処理装置１００Ａでは、出力設定が変更された際のプレビュー表示の切り換え処理のパフォーマンスを向上させることができ、加工フィルタ１３２における処理の負荷を軽減させることができる。
【０１４０】
また本実施形態の画像処理装置１００Ａでは、操作部に出力設定変更前のプレビュー画像と、出力設定変更後のプレビュー画像とを同時に表示させても良い。画像処理装置１００Ａの操作部とは、例えば操作パネルなどの表示機能を有する部材により実現されるものとした。
【０１４１】
図１４は、画像処理装置１００Ａの操作部に出力設定変更前後のプレビュー画像が表示された例を示す図である。
【０１４２】
操作部１６０は、出力設定変更前のプレビュー画像が表示される表示領域１６１と、出力設定変更後のプレビュー画像が表示される表示領域１６２とを有し、表示領域１６１と表示領域１６２とが操作部１６０に同時に表示される。操作部１６０では、現在の出力設定を反映したプレビュー画像が表示領域１６２に表示され、過去の出力設定が反映されたプレビュー画像が表示領域１６１に表示される。
【０１４３】
操作部１６０の表示状態が状態Ａのとき、出力設定は表示領域１６２に表示されたプレビュー画像は出力設定が４頁分集約設定の場合のプレビュー画像である。この出力設定が、編集画面などにより変更されて８頁分集約設定とされた場合、操作部１６０の表示状態は状態Ｂへ遷移する。状態Ｂでは、状態Ａで表示領域１６２に表示されていたプレビュー画像が、出力設定変更前のプレビュー画像として表示領域１６１に表示される。そして新たに設定された８頁分集約設定のプレビュー画像が現在の出力設定を反映したプレビュー画像として表示領域１６２に表示される。
【０１４４】
このように本実施形態の画像処理装置１００Ａでは、出力設定変更前後のプレビュー画像が同時に表示されるため、ユーザは過去の出力設定を記憶しておく必要がない。また画像処理装置１００Ａでは、ユーザが現在の出力設定と過去の出力設定とを視覚的に比較することができるので、画像処理装置１００Ａの操作性を向上させることができる。
【０１４５】
以上に説明した実施形態における各機能を実現する手順は、コンピュータに読み取り可能なプログラムとして記録媒体に記録されていても良い。
【０１４６】
図１５は、各実施形態で説明した各機能を実現させるプログラムが記録された記録媒体を説明する図である。記録媒体４１０に記録されたプログラムが、画像処理装置５００の有する演算処理装置（ＣＰＵ）に読み込まれて実行されることにより各本実施形態で説明した機能を実現することができる。画像処理装置５００は、第一の実施形態の画像処理装置１００の有する機能と第二の実施形態の画像処理装置１００Ａの有する機能とを実現可能な画像処理装置である。
【０１４７】
例えば画像処理装置５００は、ＣＰＵ５１０、ハードディスク５２０、メモリ５３０、表示部５４０、スキャナ部５５０、通信部５６０、記録媒体読込部５７０、プロッタ部５８０とを備えている。ＣＰＵ５１０は演算処理装置であって、画像処理装置５００において実行される演算や処理を実行する。ハードディスク５２０は、データを格納する記録手段であって、画像処理装置５００上で動作するアプリケーションや、このアプリケーションにより作成されたデータなどが格納されている。
【０１４８】
メモリ５３０には、画像処理装置５００に係る各種の設定値や、ＣＰＵ５１０での演算結果などが格納される。またメモリ５３０は、出力設定に対応して生成されたジョブラインを構成するジョブが記憶されて保持される保持手段である。
【０１４９】
表示部５４０はディスプレイなどであり、画像処理装置５００の装置情報や処理の進捗に係る情報などをユーザに閲覧可能に表示する。スキャナ部５５０は、スキャン手段とスキャン手段を制御するスキャナエンジンなどにより構成され、紙文書がスキャンされて電子化された画像データとして入力される。通信部５６０は例えばネットワークコントロールユニットなどであり、画像処理装置５００が外部の装置と通信を行うためのものである。記録媒体読込部５７０は、各種記録媒体に記録されたデータやプログラムなどを読み込むものであり、例えばフロッピー（登録商標）ディスクドライバなどである。プロッタ部５８０は、プロッタとプロッタを制御するプロッタエンジンなどにより構成され、画像データの印刷出力を行う。
【０１５０】
記録媒体４１０は、本実施形態の各機能を実現させる画像処理プログラム４００が記録されている。この画像処理プログラム４００は、記録媒体読込部５７０により読み込まれてＣＰＵ５１０において実行される。記録媒体４１０は、例えばメモリカードやフロッピー（登録商標）ディスク等であっても良く、画像処理装置５００において読み取り可能なに媒体であれば良い。また、画像処理プログラム４００はネットワークを介して通信部５６０により受信されて、ハードディスク５２０等に格納されても良い。
【０１５１】
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態にあげた構成、その他の要素との組み合わせなど、ここで示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【産業上の利用可能性】
【０１５２】
本発明はパイプ＆フィルタの概念を適用した画像処理装置において利用可能である。
【図面の簡単な説明】
【０１５３】
【図１】パイプ＆フィルタの概念を説明する図である。
【図２】第一の実施形態の画像処理装置１００のソフトウェア構成を示す構成図である
【図３】第一の実施形態の画像処理装置１００における印刷処理を説明する図である。
【図４】第一の実施形態において出力設定が変更された場合の処理を説明する図である。
【図５】第二の実施形態の画像処理装置１００Ａのソフトウェア構成を示す構成図である。
【図６】第二の実施形態の画像処理装置１００Ａにおけるプレビュー表示処理を説明する図である。
【図７】第二の実施形態の画像処理装置１００Ａにおいてプレビュー表示処理を実行した際の動作を説明する図である。
【図８】第二の実施形態の画像処理装置１００Ａにおける出力設定に対応したプレビュー表示を説明する図である
【図９】第二の実施形態の画像処理装置１００Ａにおけるジョブラインの管理を説明する図である。
【図１０】画像処理装置１００Ａにおいてアクティブなジョブラインが実行される場合を説明する図である。
【図１１】画像処理装置１００Ａにおけるプレビュー表示の切り換えを説明する図である。
【図１２】画像処理装置１００Ａにおいてリバース指示後に出力設定が変更された場合を説明する図である。
【図１３】加工フィルタ１３２の後段の画像パイプにおける画像データが保持を説明する図である。
【図１４】画像処理装置１００Ａの操作部に出力設定変更前後のプレビュー画像が表示された例を示す図である。
【図１５】各実施形態で説明した各機能を実現させるプログラムが記録された記録媒体を説明する図である。
【符号の説明】
【０１５４】
１００、１００Ａ  画像処理装置
１１０  ユーザインターフェース層
１１１  ローカルＵＩ
１１２  編集ＵＩ
１１３  プレビューＵＩ
１２０  コントロール層
１３０  アプリケーションロジック層
１３１  入力フィルタ
１３２  加工フィルタ
１３３  出力フィルタ
１３４  アクティビティ
１３５  印刷フィルタ
１３６  プレビューフィルタ
１４０  デバイスサービス層
１４１  画像パイプ
１６０  操作部
１６１、１６２  表示領域
【図１】
2008287363.tif 000003
【図２】
2008287363.tif 000004
【図３】
2008287363.tif 000005
【図４】
2008287363.tif 000006
【図５】
2008287363.tif 000007
【図６】
2008287363.tif 000008
【図７】
2008287363.tif 000009
【図８】
2008287363.tif 000010
【図９】
2008287363.tif 000011
【図１０】
2008287363.tif 000012
【図１１】
2008287363.tif 000013
【図１２】
2008287363.tif 000014
【図１３】
2008287363.tif 000015
【図１４】
2008287363.tif 000016
【図１５】
2008287363.tif 000017