以下に添付図面を参照して、この発明にかかる画像処理装置の最良な実施の形態を詳細に説明する。なお、以下に示す実施の形態では、本発明の画像処理装置をプリンタ機能、コピー機能、スキャナ機能及びファクシミリ機能を一つの筐体に含めた複合機として用いた場合を例示して説明するが、これに限定されるものではない。例えば、本発明の画像処理装置を、スキャナ装置、ファクシミリ装置等の画像形成装置に適用することができる。また、本発明の画像処理装置を一般的なコンピュータ等の情報処理装置に適用することもできる。
本発明は、パイプ&フィルタと呼ばれる考え方に基づくソフトウェアアーキテクチャを画像処理装置に適用することで、画像処理装置の機能のカスタマイズ又は拡張などを簡略化するものである。本発明では、データに識別子を付与し、出力側から入力側へ識別子とデータ生成条件とを含む読出要求を伝達することにより、出力側が必要とするデータを、出力側で決定する条件に応じた処理を施した形で得ることができるようにする。さらに、本発明では出力フィルタでパイプから読み出したデータを管理し、出力側で決定する条件が途中で変化した場合には再度パイプにデータを要求して異なった処理を施したデータを取得する。
図1は、パイプ&フィルタの概念を説明する図である。図1に示す「P」はパイプを示し、「F」はフィルタを示す。フィルタとは、入力されたデータに対して所定の処理を施して、その処理結果を出力するプログラムである。そしてパイプは、フィルタとフィルタを連結する手段であり、パイプの入力側に結合されたフィルタから出力される処理結果を一時的に保持し、その後パイプの出力側へ結合されたフィルタへデータを伝達する。このように、パイプ&フィルタの概念によれば、パイプを介在させてフィルタにおける処理を連続したものとすることができる。
本発明の画像処理装置では、フィルタにおいて施される所定の処理を、入力されたデータに対し、所定の変換を施す処理と考える。すなわち、本発明の画像処理装置では、画像処理装置で実現される各機能をドキュメント(入力データ)に対する「変換処理」の連続として捉える。画像処理装置の各機能は、ドキュメントすなわちデータの入力、加工及び出力によって構成されるものと考える。そこで、本発明では「入力処理」、「加工処理」及び「出力処理」のそれぞれを「変換処理」として捉え、一つの変換処理を実現するソフトウェア部品をフィルタとして構成した。
本発明の画像処理装置では、データの入力処理を制御するフィルタを入力フィルタ、データの加工処理を制御するフィルタを加工フィルタ、データの出力処理を制御するフィルタを出力フィルタとした。これらの各フィルタはそれぞれ独立したプログラムであって、各フィルタは、画像処理装置において独立してフィルタ単位で追加(インストール)、削除(アンインストール)することが可能である。
(実施の形態1)
図2は実施の形態1にかかる画像処理装置100のハードウェア構成図である。画像処理装置100は、それぞれバスBで相互に接続されているスキャン装置21、プロッタ装置22、ドライブ装置23、補助記憶装置24、メモリ装置25、演算処理装置26、インターフェース装置27及び操作パネル28で構成される。
スキャン装置21はスキャナエンジンとエンジン制御部などで構成され、紙原稿をスキャンして画像データとする。プロッタ装置22はプロッタエンジンとエンジン制御部などで構成され、画像データを印刷する。インターフェース装置27は、モデム、LANカードなどで構成されており、ネットワークに接続する為に用いられる。操作パネル28は、画像処理装置100の処理に関する操作を行うために用いられる。操作パネル28は、例えばタッチパネルなどの表示機能を有するものである。
実施の形態1にかかる画像処理プログラムは、画像処理装置100を制御する各種プログラムの少なくとも一部である。画像処理プログラムは例えば記録媒体29の配布やネットワークからのダウンロードなどによって提供される。画像処理プログラムを記録した記録媒体29は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
また、画像処理プログラムを記録した記録媒体29がドライブ装置23にセットされると、画像処理プログラムは記録媒体29からドライブ装置23を介して補助記憶装置24にインストールされる。ネットワークからダウンロードされた画像処理プログラムは、インターフェース装置27を介して補助記憶装置24にインストールされる。
画像処理装置100は、インストールされた画像処理プログラムを格納すると共に、必要なファイル、データ等を格納する。メモリ装置25は、コンピュータの起動時に補助記憶装置24から画像処理プログラムを読み出して格納する。そして、演算処理装置26はメモリ装置25に格納された画像処理プログラムに従って、後述するような各部の機能を実現し、各種処理を実現している。
画像処理装置100では、画像処理装置100における各種機能を実現させるソフトウェアアーキテクチャに、上記のパイプ&フィルタの概念が適用されている。図3は、実施の形態1にかかる画像処理装置100のソフトウェア構成図である。画像処理装置100は、例えばプリンタ、コピー、スキャナ、又はFAX等の複数の機能を一台の筐体において実現する複合機である。
画像処理装置100の機能を実現するソフトウェアは階層構造となっており、ユーザインターフェイス層10、コントロール層20、アプリケーションロジック層30、デバイスサービス層40及びデバイス制御層50により構成されている。これらの各層における上下関係は、層間の呼び出し関係に基づいている。すなわち、図中において上位層が下位層を呼び出す。
画像処理装置100において、ユーザインターフェイス層10によりユーザから各種機能の実行指示が成されると、ユーザインターフェイス層10は、コントロール層20を呼び出しこの実行要求に基づきアプリケーションロジック層30を制御する。アプリケーションロジック層30では、コントロール層20からの指示に基づき要求された機能を実現させるアプリケーションを実行する。そして、この実行結果に基づきデバイスサービス層40、デバイス制御層50が画像処理装置100のハードウェア資源を制御する。画像処理装置100では、このような動作によりユーザインターフェイス層10が受け付けた機
能に対応した出力結果を得る。
次に、各層について説明する。ユーザインターフェイス層10には、例えば通信サーバ部11及びローカルUI(User Interface )部12が実装されており、画像処理装置100の各種機能を実現するための実行要求を受け付ける機能を有する。ここで言う各種機能とは、例えばコピー機能、印刷機能、スキャン機能、FAX機能などである。ユーザインターフェイス層10において、例えば通信サーバ部11は、例えば図示しないクライアントPC(Presonal Computer)等からネットワークを介して実行要求を受け付けても良い。ローカルUI部12は、例えば画像処理装置100に設けられた操作パネル28などを介して実行要求を受け付けても良い。操作パネル28についての詳細は後述する。ユーザインターフェイス層10において受け付けられた実行要求は、コントロール層20へ伝達される。
コントロール層20は、画像処理装置100の各機能を実現する処理を制御するための機能が実装されている制御手段である。具体的には、例えば、要求された機能に応じてアプリケーションロジック層30における各フィルタをパイプ41を用いて結合し、結合されたフィルタを用いて機能の実行を制御する。
また、コントロール層20は、特許請求の範囲に記載の制御手段に該当するものであり、パイプ41を制御する。コントロール層20は、ユーザインターフェイス層10において受け付けられた実行要求に基づきパイプ41を制御する。コントロール層20によるパイプ41の制御については後述する。
尚、以下の実施の形態において述べる画像処理装置100の機能とは、画像処理装置100がユーザに対して提供する一つのまとまった単位(要求が入力されて最終的な出力が得られるまで)のサービスの定義であり、ソフトウェア的には一つのまとまった単位のサービスを提供するアプリケーションと同義である。
アプリケーションロジック層30には、画像処理装置100において提供される機能の一部を実現する部品群である各種フィルタが実装されている。アプリケーションロジック層30では、コントロール層20の制御により、複数のフィルタを組み合わせて一つの機能が実現される。実施の形態1におけるアプリケーションロジック層30には、入力フィルタ300、加工フィルタ310、出力フィルタ320が実装されている。これら各フィルタは、同一の定義に基づき動作するものであり、この定義に基づきコントロール層20に制御される。これら各フィルタの詳細は後述する。
デバイスサービス層40には、アプリケーションロジック層30に実装された各フィルタが共通して利用される下位の機能が実装されている。画像処理装置100のデバイスサービス層40にはパイプ41、第1データ管理部42等が実装されている。パイプ41は上で述べたパイプの機能を実現するものであり、アプリケーションロジック層30に実装されている各フィルタのうち、一のフィルタからの出力結果を、一のフィルタへ伝達する。
第1データ管理部42は、画像処理装置100内のデータベースであって、例えばユーザにより登録されたユーザ情報や、画像処理装置100において各種の処理が施された文書データや画像データなどが蓄積されて保管されていても良い。
デバイス制御層50には、ハードウェアを制御するプログラムであるドライバが実装されている。本実施形態の画像処理装置100のデバイス制御層50には、例えばスキャナ制御部51、プロッタ制御部52、メモリ制御部53、Tel回線制御部54及びネットワーク制御部55等が実装されている。これらの各制御部は、それぞれの名称に付けられたデバイスを制御するものである。
以下に、アプリケーションロジック層30に実装された各フィルタについてさらに説明する。
画像処理装置100の入力フィルタ300は、画像処理装置100の外部より入力されたデータに対する入力処理を制御する。入力フィルタ300には、読取フィルタ301、保管文書読出フィルタ302、メール受信フィルタ303、FAX受信フィルタ304、PC文書受信フィルタ305、レポートフィルタ306等が含まれる。
読取フィルタ301は、例えばスキャナによる画像データの読取を制御し、読み取られた画像データを出力する。メール受信フィルタ303は、画像処理装置100において電子メールを受信し、受信した電子メールに含まれるデータを出力する。FAX受信フィルタ304はFAX受信を制御し、受信されたデータを出力する。PC文書受信フィルタ305は、図示しないクライアントPCなどから印刷データを受信し、この印刷データを出力する。レポートフィルタ306は、画像処理装置100の設定情報や履歴情報などを例えば表形式などに整え、この整えられたデータを出力する。尚ここで、保管文書読出フィルタ302は、画像処理装置100の外部からではなく、画像処理装置100内の例えば第1データ管理部42や、画像処理装置100の有する図示しない記憶装置などに蓄積されたデータを読み出し、読み出したデータを出力するものとした。
画像処理装置100の加工フィルタ310は、加工フィルタ310の入力側のパイプより入力されたデータに所定の処理を施し、加工フィルタ310の出力側にあるフィルタへ処理結果を出力する。加工フィルタ310には、文書加工フィルタ311、文書変換フィルタ312等が含まれる。文書加工フィルタ311は、入力されたデータに所定の画像変換処理を施し出力する。この画像変換処理とは、例えば入力されたデータの集約、拡大、縮小処理等であっても良い。文書変換フィルタ312は、入力されたデータにレンダリング処理を施し出力する。すなわち、文書変換フィルタ312に入力されたPostScr
iptデータをビットマップデータに変換して出力する。
画像処理装置100の出力フィルタ320は、入力されたデータに対する出力処理を制御し、画像処理装置100の外部へ出力する。出力フィルタ320には、印刷フィルタ321、保管文書登録フィルタ322、メール送信フィルタ323、FAX送信フィルタ324、PC文書送信フィルタ325、プレビューフィルタ326等が含まれる。
印刷フィルタ321は、入力されたデータをプロッタに出力(印刷)させる。メール送信フィルタ323は、入力されたデータを電子メールに添付して送信する。FAX送信フィルタ324は、入力されたデータをFAX送信する。PC文書送信フィルタ325は、入力されたデータを図示しないクライアントPCなどに送信する。プレビューフィルタ326は、入力されたデータを画像処理装置100の有する操作パネルなどにプレビュー表示させる。尚ここで、文書登録フィルタ322から出力されるデータについては、例外的に画像処理装置100の外部ではなく画像処理装置100内の記憶装置やデータ管理部4
2に対してデータが出力されて保存されるものとした。
アプリケーションロジック層30では、上記各フィルタを組み合わせることにより、画像処理装置100の各機能を実現している。係る構成によれば、画像処理装置100では、フィルタとパイプの組み合わせにより各種の機能を実現することができる。具体的には、例えばコピー機能を実現したい場合には、読取フィルタ301、文書加工フィルタ311、印刷フィルタ321を組み合わせれば良い。
次に、このパイプ&フィルタの概念を適用した画像処理装置について説明する。図4は、実施の形態1にかかる画像処理装置におけるフィルタとパイプの構成を説明する図である。画像処理装置100において、入力フィルタ300と加工フィルタ310とが第1パイプ41a(第1伝達手段)により連結され、加工フィルタ310と出力フィルタ320とが第2パイプ41b(第2伝達手段)によって連結されている。
第1パイプ41aは入力フィルタ300と加工フィルタ310とを連結する手段である。第1パイプ41aは、入力フィルタ300から入力されるデータを一時的に保持し、加工フィルタ310に書き込みを行うとともに、加工フィルタ310からのデータの読出要求に応じてデータを加工フィルタ310に伝達する。
第2パイプは41bは、加工フィルタ310と出力フィルタ320とを連結する手段である。第2パイプ41bは、出力フィルタ320からのデータの読出要求に応じてデータを加工パイプ310に伝達するとともに、加工されたデータを加工フィルタ310より取得して出力フィルタ320に伝達する。実施の形態1にかかる画像処理装置においては、入力フィルタ300、加工フィルタ310、出力フィルタ320に、第1パイプ41aと第2パイプ41bとを介在させることにより、フィルタ300〜320間における連続した処理を実現することができる。
図5はパイプ&フィルタの概念を適用した画像処理装置において一機能を実現させる動作を説明するフローチャートである。
まず入力フィルタ300は、入力デバイスよりデータを入力し(ステップS111)、このデータを、出力側に接続されている第1パイプ41aに出力する(ステップS112)。なお、データが複数回に分けて入力される場合(複数枚の原稿がスキャンされる場合等)は、データの入力とパイプへの出力が繰り返される。全ての入力データについて処理が終了すると(ステップS113;Yes)、入力フィルタ300の処理は終了する。全ての入力データについて処理が終了していない場合にはステップS111に戻る(ステップS113;No)。
加工フィルタ310は、入力側に接続されている第1パイプ41aに対するデータの入力を検知すると処理を開始する。まず、当該第1パイプ41aからデータを読み込み(ステップS121)、データに対して画像処理を施す(ステップS122)。続いて、処理結果としてのデータを出力側に接続されている第2パイプ41bに出力する(ステップS123)。入力側の第1パイプ41aに入力された全てのデータについて処理が終了すると(ステップS124;Yes)、加工フィルタ310の処理は終了する。全てのデータについて処理が終了していない場合には、ステップS121に戻る(ステップS124;No)。
出力フィルタ320は、入力側に接続されている第2パイプ41bに対するデータの入力を検知すると処理を開始する。まず、当該第2パイプ41bからデータを読み込み(S131)。続いて、読み込まれたデータを出力デバイスを利用して出力する(S132)。入力側の第2パイプ41bに入力された全てのデータについて処理が終了すると(S133;Yes)、出力フィルタ320の処理は終了する。全てのデータについて処理が終了していない場合には、ステップS131に戻る(ステップS133;No)。
このように、画像処理装置100では、各フィルタを部品として各機能を構築するため、機能のカスタマイズ又は拡張を簡便に行うことができる。すなわち、各フィルタ間には、機能的な依存関係はなく独立性が保たれているため、フィルタの新たな追加やフィルタの組み合わせの変更によって、新たな機能(アプリケーション)を容易に開発することができる。したがって、新たなアプリケーションの実装が要求された場合、当該アプリケーションの一部の処理について実装されていない場合は、当該一部の処理を実現するフィルタのみを開発し、インストールすればよい。よって、コントロール層20及びアプリケーションロジック層30より下位の層について、新たなアプリケーションの実装に応じて発生する修正の頻度を低下させることができ、安定したプラットフォームを提供することができる。
このため、プラットフォームによって提供される機能又はインターフェイスの粒度に影響されることなくアプリケーションの開発効率を向上させることができる。また、既存のアプリケーションによって提供されるサービスの一部を変更したアプリケーションを実装したい場合にも、このサービスを提供するフィルタの一部のみを変更すれば良いので新たにソースコードを記述する必要がなく、開発効率を向上させることができる。
次に、以上のように構成された実施の形態1にかかる画像処理装置の動作について、図6を用いて説明する。図6は、実施の形態1にかかる画像処理装置による読出要求受付から出力実行までの処理手順を示すフローチャートである。実施の形態1にかかる画像処理装置は、用紙指定変倍機能及び応用変倍機能を有する。
入力フィルタ300において、利用者からデータの入力を受け付けると(ステップS600)、入力フィルタ300は、受け付けたデータに識別子としてページ番号を付与し、データと識別子とを対応付けて第1パイプ41aに書き込みを行う(ステップS602)。なお、入力されたデータには、用紙サイズや用紙方向等に関する情報も含まれることとしてもよい。ここでは、データと識別子に対応付けて用紙サイズA3が書き込まれているものとする。なお、実施の形態1におけるデータの識別子として、ページ番号を例示しているが、入力フィルタ300がデータを取得した順番に付与されることとしてもよい。例えば、データがスキャン装置21によって読取られた画像データであった場合には、スキャン装置21によって読取られた順番にデータ番号を付与し、このデータ番号を識別子としてもよい。尚、この識別子はデータを取得した順番に限定されるものではなく、データを識別することができるものであれば良い。例えば、入力されたデータの用紙サイズ、解像度、画質モード等を識別子として用いてもよい。
次に、出力フィルタ320は、利用者からデータの出力処理の実行要求を受け付けたか否かを判断する(ステップS604)。出力フィルタ320において、利用者からデータの出力処理の実行要求を受け付けたと判断した場合には(ステップS604;Yes)、出力フィルタ320は、出力されるデータに対応付けられる識別子とデータ生成条件として用紙サイズA4とを含むデータの読出要求を第2パイプ41bに伝達する(ステップS606)。第2パイプ41bは、識別子とデータ生成条件とを含むデータの読出要求を加工フィルタ310に伝達する(ステップS608)。なお、出力フィルタ320において、利用者からデータの出力処理の実行要求を受け付けていないと判断した場合には(ステップS604;No)、出力処理を受け付けるまで検知を繰り返す。
加工フィルタ310は、読出要求に含まれる識別子に対応するデータに対して加工処理を施すために、読出要求を第1パイプ41aに伝達する(ステップS610)。第1パイプには、ステップS602で前述したとおり、識別子と対応付けられたデータが書き込まれている。第1パイプ41aは、加工フィルタ310からの読出要求を受けて、読出要求に含まれる識別子に対応するデータを加工フィルタ310に書き込む(ステップS612)。
ここで、第1パイプ41aが、加工フィルタから読出要求を受け付けてから、加フィルタに読出要求に含まれる識別子に対応付けられるデータを書き込むまでの処理について説明する。図7は、実施の形態1にかかる画像処理装置における第1伝達手段において読出要求を受け付けてから加工フィルタ310へのデータの書き込むまでの手順を示すフローチャートである。ここでは、入力フィルタ300が、保管文書読出フィルタ302等である場合について例示する。データは、識別子を付与されて、画像処理装置100内の記憶装置(不図示)に予め格納されている。尚、実施の形態1にかかる画像処理装置においては、記憶装置は、メモリ装置25、ハードディスクドライブ装置(HDD)等、補助記憶装置24等の記憶媒体によって実現されている。
第1パイプ41aは、加工フィルタ310から受けた読出要求を入力フィルタ300に
伝達する(ステップS700)。入力フィルタ300は、読出要求に含まれる識別子に対応する任意のデータを、第1パイプ41aに書き込む(ステップS702)。
次に、加工フィルタ310は、第1パイプ41aにデータが書き込まれたか否かを判断する(ステップS704)。加工フィルタ310において、第1パイプ41aにデータが書き込まれたと判断された場合には(ステップS704;Yes)、加工フィルタ310は、第1パイプ41aからデータを読み出して加工フィルタ310に書き込みを行う(ステップS706)。一方、ステップS704において、加工フィルタ310が第1パイプ41aにデータが書き込まれたと判断しない場合には(ステップS704;No)、加工フィルタ310は、データの書き込みを検知するまで処理を繰り返す。
図6にもどり、加工フィルタ310は、ステップS602で書き込まれたデータの用紙サイズA3と、データ生成条件としての用紙サイズA4とを比較して加工処理条件を決定する(ステップS614)。ここでは、書き込まれた用紙サイズA3とデータ生成条件としての用紙サイズA4とを比較した結果、加工処理条件として縮小率71%を決定する。加工フィルタ310は、決定した加工処理条件に基づいてデータを縮小する加工処理を行い(ステップS616)、加工後のデータを第2パイプ41bに書き込む(ステップS618)。
出力フィルタ320は、加工後のデータが第2パイプ41bに書き込まれたか否かを判断する(ステップS620)。出力フィルタ320は、第2パイプ41bへのデータの書き込みを検知した場合には(ステップS620:Yes)、書き込まれたデータを読み出して出力処理を実行する(ステップS622)。一方、第2パイプ41bへのデータの書き込みを検知しない場合には(ステップS620:No)、出力フィルタ320はデータの書き込みを検知するまで処理を検知を繰り返す。
実施の形態1においては、加工フィルタ310において、出力要求に応じてデータを拡大若しくは縮小する処理を行うこととしているが、入力フィルタ300において入力時に所定の用紙サイズに変更可能なように読取るように構成してもよい。
次に、実施の形態1にかかる画像処理装置において、上述の処理手順により用紙指定変倍処理を施して出力されたデータの一例を示す。図8は、用紙指定変倍機能の概要を示す図である。図8における左方には、画像処理装置100に入力され、第1パイプ41aに書き込まれた文書や画像等の原稿データを例示する。図8における右方には、出力要求に応じて加工フィルタ310によって用紙指定変倍処理を施されたデータを示す。用紙指定変倍には、縮小(25%、50%、61%、71%、82%、87%)、等倍(100%)、拡大(115%、122%、141%、200%、400%)等、予め定められた数値が設定されている。
入力フィルタ300によって第1パイプ41aに書き込まれた、用紙サイズA3、A4、A5のデータは、それぞれ決定された加工処理条件に基づいて縮小、等倍、拡大等の加工処理を施され、用紙サイズA4のデータとして出力される。実施の形態1においては、指定変倍機能を備えた画像処理装置を例示して説明したが、応用変倍機能をさらに備え、任意の倍率に加工処理が可能な画像処理装置とするように構成してもよい。また、加工処理条件として、文字を鮮明に出力する文字モード、高画質の写真モード、文字と写真が混在した文書に適用される文字写真モード等、画質モードを設定してもよい。
このように、実施の形態1にかかる画像処理装置によれば、入力フィルタ300と、加工フィルタ310と、出力フィルタ320とをパイプによって結合することによりアプリケーションを構築することにより、各フィルタの機能を独立させて、機能のカスタマイズ又は拡張の簡略化を実現することが可能となる。
また、実施の形態1にかかる画像処理装置によれば、入力フィルタ300においてデータに識別子を付与し、出力フィルタ320は識別子及びデータ生成条件を含む読出要求を加工フィルタ310に伝達することにより、出力フィルタ320の要求を入力フィルタ300に容易に反映することが可能となる。その結果、出力用件に応じて入力フィルタ300及び加工フィルタ310で細やかな処理内容の設定を可能にするとともに、カスタマイズを実現し性能の向上を図ることが可能となる。
さらに、実施の形態1にかかる画像処理装置によれば、用紙指定変倍機能及び応用変倍機能を有し、データ生成条件として用紙サイズを含むデータの読出要求を加工フィルタ310に伝達することにより、読出要求に応じた画像の拡大処理、縮小処理が可能である。従って、用紙切れや紙つまり等、所望の用紙サイズによる出力処理が実行できない場合にも、異なる用紙サイズに拡大、等倍、縮小処理することにより、加工後のデータを用紙サイズの異なる他の給紙トレイより迅速に出力することができる。
(応用例1)
応用例1では、用紙指定変倍機能及び応用変倍機能に加えて回転ソート機能を有する画像処理装置100について説明する。図9は、実施の形態1の応用例1にかかる画像処理装置の読出要求受付から出力実行までの処理手順を示すフローチャートである。
入力フィルタ300において、利用者からデータの入力を受け付けると(ステップS900)、入力フィルタ300は、受け付けたデータに識別子としてページ番号を付与し、データと識別子とを対応付けて第1パイプ41aに書き込みを行う(ステップS902)。なお、入力されたデータには、用紙サイズや用紙方向、用紙方向等に関する情報も含まれることとしてもよい。ここでは、データと識別子に対応付けて、用紙サイズA3、用紙方向ヨコが書き込まれているものとする。
次に、出力フィルタ320は、利用者からデータの出力処理の実行要求を受け付けたか否かを判断する(ステップS904)。出力フィルタ320において、利用者からデータの出力処理の実行要求を受け付けたと判断した場合には(ステップS904;Yes)、出力フィルタ320は、出力されるデータに対応付けられる識別子とデータ生成条件として用紙サイズA4、用紙方向タテとを含むデータの読出要求を第2パイプ41bに伝達する(ステップS906)。第2パイプ41bは、識別子とデータ生成条件とを含むデータの読出要求を加工フィルタ310に伝達する(ステップS908)。なお、出力フィルタ320において、利用者からデータの出力処理の実行要求を受け付けていないと判断した場合には(ステップS904;No)、出力処理を受け付けるまで検知を繰り返す。
加工フィルタ310は、読出要求に含まれる識別子に対応するデータに対して加工処理を施すために、読出要求を第1パイプ41aに伝達する(ステップS910)。第1パイプには、ステップS902で前述したとおり、識別子と対応付けられたデータが書き込まれている。第1パイプ41aは、加工フィルタ310からの読出要求を受けて、読出要求に含まれる識別子に対応するデータを加工フィルタ310に書き込む(ステップS912)。第1パイプ41aが、加工フィルタ310から読出要求を受け付けてから、加工フィルタ310に読出要求に含まれる識別子に対応付けられるデータを書き込むまでの処理については、図7の説明と同様であるので省略する。
加工フィルタ310は、ステップS902で書き込まれたデータの用紙サイズA3、用紙方向ヨコと、データ生成条件としての用紙サイズA4、用紙方向タテとを比較した結果、加工処理条件として縮小率71%、90°回転を決定する(ステップS914)。加工フィルタ310は、決定した加工処理条件に基づいてデータを縮小し回転する加工処理を行い(ステップS916)、加工後のデータを第2パイプ41bに書き込む(ステップS918)。
出力フィルタ320は、加工後のデータが第2パイプ41bに書き込まれたか否かを判断する(ステップS920)。出力フィルタ320は、第2パイプ41bへのデータの書き込みを検知した場合には(ステップS920:Yes)、書き込まれたデータを読み出して出力処理を実行する(ステップS922)。一方、第2パイプ41bへのデータの書き込みを検知しない場合には(ステップS920:No)、出力フィルタ320はデータの書き込みを検知するまで処理を検知を繰り返す。
次に、上述の処理手順により用紙指定変倍処理及び回転処理を施して出力されたデータの一例を示す。図10は、用紙指定変倍機能及び回転ソート機能の概要を示す図である。図10における左方には、画像処理装置100に入力され、第1パイプ41aに書き込まれた文書や画像等の原稿データを例示する。ここでは、第1パイプ41aに書き込まれたデータとして、用紙サイズA3及び用紙方向タテ、用紙サイズA4及び用紙方向ヨコ、用紙サイズA5及び用紙方向タテ、用紙サイズA5及び用紙方向ヨコのデータを例示する。図10における右方には、出力要求に応じて加工フィルタ310によって用紙指定変倍処理及び回転処理を施されたデータを例示する。用紙指定変倍機能については、実施の形態1で前述した通りであるので省略する。
回転ソート機能とは、出力する給紙トレイの用紙方向に合わせて適宜用紙方向を回転する機能である。具体的には、データに対応付けられる用紙方向と給紙トレイの用紙方向が等しい場合に回転角度0°、データに対応付けられる用紙方向と給紙トレイの用紙方向が異なる場合に回転角度90°と設定した回転処理が存在する。回転角度90°と設定した処理においては、用紙方向ヨコから用紙方向タテへ90°回転、用紙方向タテから用紙方向ヨコへ90°回転等が存在する。図10では、第1パイプ41aに書き込まれたデータに対し、拡大、等倍、縮小等の変倍処理が行われた後に、適宜0°回転処理や90°回転が施され、用紙サイズA4及び用紙方向ヨコである出力先のトレイに出力される。
応用例1においては、指定変倍機能、及び回転機能を備えた画像処理装置を例示して説明したが、応用変倍機能をさらに備え、任意の倍率に加工処理が可能な画像処理装置とするように構成してもよい。また、加工処理条件として、文字を鮮明に出力する文字モード、高画質の写真モード、文字と写真が混在した文書に適用される文字写真モード等、画質モードを設定してもよい。
応用例1にかかる画像処理装置によれば、入力フィルタ300においてデータに識別子を付与し、出力フィルタ320は識別子及びデータ生成条件を含む読出要求を加工フィルタ310に伝達することにより、出力フィルタ320の要求を入力フィルタ300に容易に反映することが可能となる。その結果、出力用件に応じて入力フィルタ300及び加工フィルタ310で細やかな処理内容の設定を可能にするとともに、カスタマイズを実現し性能の向上を図ることが可能となる。
また、応用例1にかかる画像処理装置によれば、用紙指定変倍機能及び応用変倍機能及び回転機能を有し、データ生成条件として用紙方向を含むデータの読出要求を加工フィルタ310に伝達することにより、読出要求に応じた画像の回転処理が可能である。従って、所望の用紙サイズの給紙トレイにおいて用紙切れや紙つまり等が発生し、出力処理が実行できない場合にも、異なる用紙方向に回転処理することにより、加工後のデータを用紙方向の異なる他の給紙トレイより迅速に出力することが可能である。
(応用例2)
応用例では、画像データの解像度補正機能を備えたFAX送受信機能を有する画像処理装置100について説明する。ここでは、画像処理装置が備えるFAX送受信機能を用いて相手先と通信し、相手先に設置されるFAX機能を有する送受信機に対応する解像度を取得するとともに、取得した解像度で相手先に画像データを送信する処理を例示する。図11は実施の形態1の応用例2にかかる画像処理装置の読出要求受付から出力実行までの処理手順を示すフローチャートである。
入力フィルタ300において、利用者からデータの入力を受け付けると(ステップS1100)、入力フィルタ300は、受け付けたデータに識別子としてページ番号を付与し、データと識別子とを対応付けて第1パイプ41aに書き込みを行う(ステップS1102)。なお、入力されたデータには、用紙サイズや用紙方向、用紙方向、解像度を表すdpi(dot per inch)等に関する情報も含まれることとしてもよい。ここでは、データと識別子に対応付けて、解像度600dpiが書き込まれているものとする。
次に、出力フィルタ320は、利用者からデータの出力処理の実行要求を受け付けたか否かを判断する(ステップS1104)。出力フィルタ320において、利用者からデータの出力処理の実行要求を受け付けたと判断した場合には(ステップS1104;Yes)、出力フィルタ320は、受信相手と通信し相手先に設置されるFAX送受信機に対応する解像度150dpiを取得する(ステップS1106)。出力フィルタ320は、出力されるデータに対応付けられる識別子とデータ生成条件として解像度150diとを含むデータの読出要求を第2パイプ41bに伝達する(ステップS1108)。第2パイプ41bは、識別子とデータ生成条件とを含むデータの読出要求を加工フィルタ310に伝達する(ステップS1110)。なお、出力フィルタ320において、利用者からデータの出力処理の実行要求を受け付けていないと判断した場合には(ステップS1104;No)、出力処理を受け付けるまで検知を繰り返す。
加工フィルタ310は、読出要求に含まれる識別子に対応するデータに対して加工処理を施すために、読出要求を第1パイプ41aに伝達する(ステップS1112)。第1パイプには、ステップS1102で前述したとおり、識別子と対応付けられたデータが書き込まれている。第1パイプ41aは、加工フィルタ310からの読出要求を受けて、読出要求に含まれる識別子に対応するデータを加工フィルタ310に書き込む(ステップS1114)。第1パイプ41aが、加工フィルタ310から読出要求を受け付けてから、加フィルタに読出要求に含まれる識別子に対応付けられるデータを書き込むまでの処理については、図7の説明と同様であるので省略する。
加工フィルタ310は、ステップS1102で書き込まれたデータの解像度600dpiと、データ生成条件としての解像度150dpiとを比較した結果、加工処理条件として間引き率25%を決定する(ステップS1116)。加工フィルタ310は、決定した加工処理条件に基づいてデータを間引きする加工処理を行い(ステップS1118)、加工後のデータを第2パイプ41bに書き込む(ステップS1120)。
出力フィルタ320は、加工後のデータが第2パイプ41bにデータ書き込まれたか否かを判断する(ステップS1122)。出力フィルタ320は、第2パイプ41bへのデータの書き込みを検知した場合には(ステップS1122:Yes)、書き込まれたデータを読み出して出力処理を実行する(ステップS1124)。一方、第2パイプ41bへのデータの書き込みを検知しない場合には(ステップS1122:No)、出力フィルタ320はデータの書き込みを検知するまで処理を検知を繰り返す。
次に、上述の処理手順により画像データの解像度について間引き処理施して出力されたデータの一例を示す。図12は、解像度補正機能の概要を示す図である。図12における左方には、入力フィルタ300によって第1パイプ41aに書き込まれた、解像度300dpiのデータを例示する。画像処理装置は、相手先と通信を行って、相手先に設置されるFAX機能を有する送受信機に対応する解像度600dpi、300dpi、150dpiを取得する。出力フィルタ320は取得した解像度を出力要求として、第2伝達手段を介して加工フィルタ310に伝達する。加工フィルタ310は取得した解像度に補間処理、間引き処理等を行って、出力フィルタ320に加工データを伝達し、出力フィルタ320は相手先の送受信機に対応する解像度により出力処理を行う。
応用例2においては、解像度補正機能を備えた画像処理装置を例示して説明したが、用紙指定変倍機能、応用変倍機能、回転機能をさらに備え、所定の倍率、任意の倍率及び所定の用紙方向に加工処理が可能な画像処理装置とするように構成してもよい。また、加工処理条件として、文字を鮮明に出力する文字モード、高画質の写真モード、文字と写真が混在した文書に適用される文字写真モード等、画質モードを設定してもよい。
応用例2にかかる画像処理装置によれば、入力フィルタ300においてデータに識別子を付与し、出力フィルタ320は識別子及びデータ生成条件を含む読出要求を加工フィルタ310に伝達することにより、出力フィルタ320の要求を入力フィルタ300に容易に反映することが可能となる。その結果、出力用件に応じて入力フィルタ300及び加工フィルタ310で細やかな処理内容の設定を可能にするとともに、カスタマイズを実現し性能の向上を図ることが可能となる。
また、応用例2にかかる画像処理装置によれば、データ生成条件として用紙サイズを含むデータの読出要求を加工フィルタ310に伝達することにより、読出要求に応じた画像の拡大処理、縮小処理が可能である。従って、例えば、用紙切れ等により所望の用紙サイズの出力ができない場合にも、異なる用紙サイズに拡大処理若しくは縮小処理することにより新たな出力要求に迅速に適応することが可能である。
また、応用例2にかかる画像処理装置によれば、解像度補正機能を有し、出力先である相手方のFAX送受信機との間において解像度が相違する場合であっても、相手方と通信して相手方機種に対応する解像度を取得し、取得した画像の解像度をデータ生成条件として含むデータの読出要求を加工フィルタ310に伝達することにより、入力フィルタ300や加工フィルタ310において画像に対し間引き処理や補間処理等を施すことが可能である。従って、相手方機種の解像度に応じて、適宜解像度補正処理を施すことにより迅速に画像データを送信することが可能である。
(実施の形態2)
上述した実施の形態1においては、加工フィルタ310は、読出要求に含まれる識別子に対応するデータを第1伝達手段より取得し、書き込まれたデータと読出要求に含まれるデータ生成条件とを比較することにより、出力要求に応じたデータに加工処理を行うよう構成していた。実施の形態2においては、出力フィルタ330はデータを格納するデータリストとデータ検索手段とを備え、出力要求を受けた場合には、出力要求に含まれる識別子に対応付けられるデータをデータリストから検索し、該当データがデータリストに存在する場合に、該当データを出力するものである。
図13は、実施の形態2にかかる画像処理装置におけるフィルタとパイプの構成を説明する図である。実施の形態2にかかる画像処理装置100においては、出力フィルタ330は、出力処理部331を備え、入力側において第2パイプ手段と結合し、出力側において出力装置400と結合している。出力装置400は、利用者からの受け付けた出力要求に応じて加工されたデータを画面(不図示)に表示し出力する。入力フィルタ300、加工フィルタ310、第1伝達手段41a、第2伝達手段41bの機能及び構成は実施の形態1と同様である。
出力処理部331は、利用者からの出力要求に応じて、出力処理を実行する。出力処理部331は、第2データ管理部332とデータ検索部333とデータリスト334とを主に備えている。データリスト334は、加工フィルタ310によって加工処理されたデータを保持する。実施の形態2において、データは識別子としてのページ番号と用紙サイズと用紙方向とに対応付けた状態でデータリストに登録されている。データ検索部333は、出力要求に応じてデータリストからデータを検索する。データ検索部333は、データの読出要求に含まれる識別子に対応するデータを検索する。第2データ管理部332は、データリストに登録されるデータの管理やデータリストへの登録処理を行う。第2データ管理部332は、加工フィルタ310によって加工されたデータを出力処理部331から取得し、出力フィルタ330若しくはデータリスト334に登録する。
次に、以上のように構成された実施の形態2にかかる画像処理装置の動作について、図14を用いて説明する。図14は、実施の形態2にかかる画像処理装置による読出要求受付から出力実行までの処理手順を示すフローチャートである。実施の形態2においては、用紙指定変倍機能及び回転機能を備える画像処理装置を例示して説明する。
入力フィルタ300において、利用者からデータの入力を受け付けると(ステップS1400)、入力フィルタ300は、受け付けたデータに識別子としてページ番号を付与し、データと識別子とを対応付けて第1パイプ41aに書き込みを行う(ステップS1402)。入力されたデータには、用紙サイズや用紙方向等に関する情報も含まれることとしてもよい。ここでは、データと識別子に対応付けて用紙サイズA3及び用紙方向ヨコが書き込まれているものとする。なお、実施の形態2におけるデータの識別子として、ページ番号を例示しているが、入力フィルタ300がデータを取得した順番に付与されることとしてもよい。例えば、データがスキャン装置21によって読取られた画像データであった場合には、スキャン装置21によって読取られた順番にデータ番号を付与し、このデータ番号を識別子としてもよい。尚、この識別子はデータを取得した順番に限定されるものではなく、データを識別することができるものであれば良い。例えば、入力されたデータの用紙サイズ、解像度、画質モード等を識別子として用いてもよい。
次に、出力フィルタ330は、出力フィルタ330において利用者からデータの出力処理の実行要求を受け付けたか否かを判断する(ステップS1404)。出力フィルタ330において、利用者からデータの出力処理の実行要求を受け付けたと判断した場合には(ステップS1404;Yes)、データ検索部333は、出力要求に含まれるデータの識別子とデータ生成条件として用紙サイズA4及び用紙方向ヨコに合致するデータがデータリストに存在するか否かを検索する(ステップS1406)。一方、ステップ1404において、出力フィルタ330が利用者からデータの出力処理の実行要求を受付けていないと判断した場合には(ステップS1404;No)、処理を繰り返す。
ここでは、図13に示すように、データリスト334の第1行目にデータ生成条件に含まれる識別子であるページ番号1に対応として、ページ番号1、用紙サイズA4及び用紙方向ヨコのデータが登録されているものとする。データ検索部333において、出力要求に含まれるデータ生成条件に合致するデータがデータリスト334に存在すると判断した場合には(ステップS1408:Yes)、出力処理部331は合致するデータをデータリスト334より取得して出力処理を実行する(ステップS1410)。一方、データ検索部333において、出力要求に含まれるデータ生成条件に合致するデータがデータリスト334に存在しないと判断した場合には、ステップS906以降と同様の処理を行って、加工後のデータが出力される。
実施の形態2においては、加工フィルタ310によって加工されたデータは、第2データ管理部332によって第2パイプ41bに書き込まれる。第2データ管理部332は、加工後のデータをデータリストに登録するように構成してもよい。かかる構成については実施の形態2の応用例において後述する。
また、実施の形態2においては、第2データ管理部332は出力フィルタ330が有することとしているが、加工フィルタ310が有することとしてもよい。また、実施の形態2においては、加工フィルタ310において出力要求に応じてデータを拡大若しくは縮小する処理を行うこととしているが、入力フィルタ300において入力時にデータを所定の用紙サイズに変更することが可能となるように読取る構成としてもよい。
上述の処理手順により用紙指定変倍処理及び回転処理を施して出力されたデータについては、図10の上方に示した出力例と同様であるので説明を省略する。実施の形態2においては、用紙指定変倍機能及び回転機能を有する画像処理装置を例示して説明したが、応用変倍機能をさらに備え、任意の倍率に加工処理が可能な画像処理装置とするように構成してもよい。また、加工処理条件として、文字を鮮明に出力する文字モード、高画質の写真モード、文字と写真が混在した文書に適用される文字写真モード等、画質モードを設定してもよい。実施の形態2においては、用紙サイズをデータ生成条件として、加工フィルタ310において拡大処理若しくは縮小処理を行う場合を例示して説明したが、実際の画像処理装置においてはこれに限定されるものではない。データ生成条件として用紙方向や画像の解像度を含むデータの読出要求を加工フィルタ310に伝達し、加工フィルタ310において回転処理、間引き処理、補間処理等を行うように構成してもよい。
実施の形態2にかかる画像処理装置によれば、データ生成条件に合致するデータが、データリスト334に含まれる場合に、出力処理部331はデータリストに登録されている、データ生成条件に合致するデータを出力する。従って、エラーや割り込み等により出力処理が実行できない場合にも、入力フィルタ300にデータの読出要求を行うことなく出力フィルタ330において迅速に所望のデータを出力することが可能である。
(応用例1)
応用例1では、読出要求に含まれる識別子に合致するデータがデータリストに存在した場合で、且つ、データリストに登録されるデータと読出要求に含まれるデータとにおいてデータ生成条件が異なる場合に、データリストに登録されるデータを削除する構成について説明する。
図15は、応用例1かかる画像処理装置におけるフィルタとパイプの構成を説明する図である。入力フィルタ300、加工フィルタ310、第1伝達手段41a、第2伝達手段41b、出力フィルタ330、出力装置400の機能及び構成は実施の形態2と同様である。ここでは、出力要求には識別子であるページ番号1と、データ生成条件としての用紙サイズA4、用紙方向ヨコとが含まれるものとする。一方、データリスト334には読出要求を受け付けた識別子ページ番号1に対応するデータとして、ページ番号1、用紙サイズA4、用紙方向タテとを有するデータが登録されているものとする。
次に、応用例1にかかる画像処理装置の動作について、図16を用いて説明する。図16は、実施の形態2の応用例1にかかる画像処理装置の読出要求受付から出力実行までの処理手順を示すフローチャートである。応用例1においては、用紙指定変倍機能及び回転機能を備えた画像処理装置を例示する。
入力フィルタ300において、利用者からデータの入力を受け付けると(ステップS1600)、入力フィルタ300は、受け付けたデータに識別子としてページ番号を付与し、データと識別子とを対応付けて第1パイプ41aに書き込みを行う(ステップS1602)。入力されたデータには、用紙サイズや用紙方向等に関する情報も含まれることとしてもよい。ここでは、データと識別子に対応付けて用紙サイズA3及び用紙方向ヨコが書き込まれているものとする。なお、実施の形態2の応用例1において、データの識別子としてページ番号を例示しているが、入力フィルタ300がデータを取得した順番に付与されることとしてもよい。例えば、データがスキャン装置21によって読取られた画像データであった場合には、スキャン装置21によって読取られた順番にデータ番号を付与し、このデータ番号を識別子としてもよい。尚、この識別子はデータを取得した順番に限定されるものではなく、データを識別することができるものであれば良い。例えば、入力されたデータの用紙サイズ、解像度、画質モード等を識別子として用いてもよい。
次に、出力フィルタ330は、利用者からデータの出力処理の実行要求を受け付けたか否かを判断する(ステップS1604)。出力フィルタ330において、利用者からデータの出力処理の実行要求を受け付けたと判断した場合には(ステップS1604;Yes)、データ検索部333は、出力要求に含まれるデータの識別子とデータ生成条件として用紙サイズA4及び用紙方向ヨコに合致するデータがデータリストに存在するか否かを検索する(ステップS1606)。ここでは、データ生成条件に合致する識別子ページ番号1に対応するデータは、用紙サイズA4と用紙方向タテとしてデータリストに登録されているものとする。
データ検索部333において、出力要求に含まれるデータ生成条件に合致するデータがデータリスト334に存在しないと判断した場合には(ステップS1608:No)、出力フィルタ330は、出力されるデータに対応付けられる識別子とデータ生成条件として用紙サイズA4及び用紙方向ヨコとを含むデータの読出要求を第2パイプ41bに伝達する(ステップS1610)。第2パイプ41bは、識別子とデータ生成条件とを含むデータの読出要求を加工フィルタ310に伝達する(ステップS1612)。加工フィルタ310は、読出要求に含まれる識別子に対応するデータに対して加工処理を施すために、読出要求を第1パイプ41aに伝達する(ステップS1614)。第1パイプ41aは、加工フィルタ310からの読出要求を受けて、読出要求に含まれる識別子に対応するデータを加工フィルタ310に書き込む(ステップS1616)。なお、出力フィルタ330において、利用者からデータの出力処理の実行要求を受け付けていないと判断した場合には(ステップS1604;No)、出力処理を受け付けるまで検知を繰り返す。一方、データ検索部333において、出力要求に含まれる識別子及びデータ生成条件に合致するデータがデータリスト334に存在すると判断した場合には(ステップS1608:Yes)、出力処理部330は合致したデータの出力処理を実行する(ステップS1630)。
加工フィルタ310は、ステップS1602で書き込まれたデータの用紙サイズA3及び用紙方向タテと、データ生成条件としての用紙サイズA4及び用紙方向ヨコとを比較して加工処理条件を決定する(ステップS1618)。ここでは、書き込まれた用紙サイズA3及び用紙方向タテとデータ生成条件としての用紙サイズA4及び用紙方向ヨコとを比較した結果、加工処理条件として縮小率71%、90°回転を決定する。加工フィルタ310は、決定した加工処理条件に基づいてデータを縮小し回転する加工処理を行い(ステップS1620)、加工後のデータを第2パイプ41bに書き込む(ステップS1622)。
出力フィルタ330は、加工後のデータが第2パイプ41bに書き込まれたか否かを判断する(ステップS1624)。出力フィルタ330は、第2パイプ41bへのデータの書き込みを検知した場合には(ステップS1624:Yes)、第2データ管理部332は、書き込まれたデータをデータリスト334に登録し(ステップS1626)、既にデータリストに登録されているページ番号1、用紙サイズA4、用紙方向タテのデータを削除する(ステップS1628)。出力処理部331は、第2パイプ41bに書き込まれたデータを読み出して出力処理を実行する(ステップS1630)。一方、出力フィルタ330において、第2パイプ41bへのデータの書き込みを検知しない場合には(ステップS1624:No)、出力フィルタ330はデータの書き込みを検知するまで処理を検知を繰り返す。
応用例1においては、読出要求に含まれる識別子に合致するデータがデータリスト334に存在した場合で、且つ、データリスト334に登録されるデータと読出要求に含まれるデータとにおいてデータ生成条件が異なる場合に、データリストに登録されるデータを削除するように構成しているが、データ生成条件のうち一つでも合致するデータがデータリストに存在する場合には、該当データをデータリストから削除せず、応用例2で後述するように既存のデータと並存させて登録することとしてもよい。
また、応用例1においては、加工フィルタ310において、出力要求に応じてデータを拡大処理、縮小処理、回転処理等を行うこととしているが、入力フィルタ300において入力時にデータを所定の用紙サイズ、用紙方向に変更することが可能となるように読取る構成としてもよい。
上述の処理手順により用紙指定変倍処理及び回転処理を施して出力されたデータについては、図10の上方に示した出力例と同様であるので説明を省略する。応用例1においては、用紙指定変倍機能及び回転機能を有する画像処理装置を例示して説明したが、応用変倍機能をさらに備え、任意の倍率に加工処理が可能な画像処理装置とするように構成してもよい。また、加工処理条件として、文字を鮮明に出力する文字モード、高画質の写真モード、文字と写真が混在した文書に適用される文字写真モード等、画質モードを設定してもよい。さらに、実施の形態2においては、用紙サイズをデータ生成条件として、加工フィルタ310において拡大処理若しくは縮小処理を行う場合を例示して説明したが、実際の画像処理装置においてはこれに限定されるものではない。データ生成条件として用紙方向や画像の解像度を含むデータの読出要求を加工フィルタ310に伝達し、加工フィルタ310において回転処理、間引き処理、補間処理等を行うように構成してもよい。
応用例1にかかる画像処理装置によれば、データリストに登録されるデータと読出要求に含まれるデータとにおいてデータ生成条件とが異なる場合に、データリストに登録されているデータを削除する。これにより、エラーや割り込みや用紙切れ等により出力処理が実行できない場合に、再度異なる用紙トレイから出力する際に、識別子及びデータ生成条件に合致するデータがデータリストにあれば利用することができる。従って、不要な読出要求を伝達することなく、異なる給紙トレイより迅速に再出力することが可能である。
また、エラーや割り込みや用紙切れ等により出力処理が実行できない場合に、再度異なる用紙トレイから出力する際に、識別子及びデータ生成条件に合致するデータがデータリストになければ第2パイプ41bに読出要求を行うことが可能である。従って、不要となったデータを破棄して第2データ管理部332の容量が増大することを防止することができる。
(応用例2)
応用例2では、読出要求に含まれる識別子に合致するデータがデータリストに存在した場合で、且つ、データリストに登録されるデータと読出要求に含まれるデータとにおいてデータ生成条件が異なる場合に、読出要求を受けたデータとデータリストに既に登録されているデータとを並存させてデータリストに登録する構成について説明する。
図17は、実施の形態2の応用例2にかかる画像処理装置におけるフィルタとパイプの構成を説明する図である。入力フィルタ300、加工フィルタ310、第1伝達手段41a、第2伝達手段41b、出力フィルタ330、出力装置400の機能及び構成は実施の形態2と同様である。ここでは、出力要求には識別子であるページ番号1と、データ生成条件としての用紙サイズA4、用紙方向ヨコとが含まれるものとする。一方、データリスト334には読出要求を受け付けた識別子ページ番号1に対応するデータとして、ページ番号1、用紙サイズA4、用紙方向タテとを有するデータが登録されているものとする。
次に、以上のように構成された応用例2にかかる画像処理装置の動作について、図18を用いて説明する。図18は、実施の形態2の応用例2にかかる画像処理装置の読出要求受付から出力実行までの処理手順を示すフローチャートである。実施の形態2の応用例2にかかる画像処理装置は、用紙指定変倍機能及び回転機能を備えている。
入力フィルタ300において、利用者からデータの入力を受け付けると(ステップS1800)、入力フィルタ300は、受け付けたデータに識別子としてページ番号を付与し、データと識別子とを対応付けて第1パイプ41aに書き込みを行う(ステップS1802)。入力されたデータには、用紙サイズや用紙方向等に関する情報も含まれることとしてもよい。ここでは、データと識別子に対応付けて用紙サイズA3及び用紙方向ヨコが書き込まれているものとする。なお、実施の形態2の応用例2において、データの識別子としてページ番号を例示しているが、入力フィルタ300がデータを取得した順番に付与されることとしてもよい。例えば、データがスキャン装置21によって読取られた画像データであった場合には、スキャン装置21によって読取られた順番にデータ番号を付与し、このデータ番号を識別子としてもよい。尚、この識別子はデータを取得した順番に限定されるものではなく、データを識別することができるものであれば良い。例えば、入力されたデータの用紙サイズ、解像度、画質モード等を識別子として用いてもよい。
次に、出力フィルタ330は、出力フィルタ330において利用者からデータの出力処理の実行要求を受け付けたか否かを判断する(ステップS1804)。出力フィルタ330において、利用者からデータの出力処理の実行要求を受け付けたと判断した場合には(ステップS1804;Yes)、データ検索部333は、出力要求に含まれるデータの識別子とデータ生成条件として用紙サイズA4及び用紙方向ヨコに合致するデータがデータリスト334に存在するか否かを検索する(ステップS1806)。ここでは、データ生成条件に合致する識別子ページ番号1に対応するデータは、用紙サイズA4と用紙方向タテとしてデータリストに登録されているものとする。
データ検索部333において、出力要求に含まれるデータ生成条件に合致するデータがデータリスト334に存在しないと判断した場合には(ステップS1808:No)、出力フィルタ330は、出力されるデータに対応付けられる識別子とデータ生成条件として用紙サイズA4及び用紙方向ヨコとを含むデータの読出要求を第2パイプ41bに伝達する(ステップS1810)。第2パイプ41bは、識別子とデータ生成条件とを含むデータの読出要求を加工フィルタ310に伝達する(ステップS1812)。加工フィルタ310は、読出要求に含まれる識別子に対応するデータに対して加工処理を施すために、読出要求を第1パイプ41aに伝達する(ステップS1814)。第1パイプ41aは、加工フィルタ310からの読出要求を受けて、読出要求に含まれる識別子に対応するデータを加工フィルタ310に書き込む(ステップS1816)。なお、出力フィルタ330において、利用者からデータの出力処理の実行要求を受け付けていないと判断した場合には(ステップS1804;No)、出力処理を受け付けるまで検知を繰り返す。一方、データ検索部333において、出力要求に含まれる識別子及びデータ生成条件に合致するデータがデータリスト334に存在すると判断した場合には(ステップS1808:Yes)、出力処理部330は合致したデータの出力処理を実行する(ステップS1828)。
加工フィルタ310は、ステップS1802で書き込まれたデータの用紙サイズA3及び用紙方向タテと、データ生成条件としての用紙サイズA4及び用紙方向ヨコとを比較して加工処理条件を決定する(ステップS1818)。ここでは、書き込まれた用紙サイズA3及び用紙方向タテとデータ生成条件としての用紙サイズA4及び用紙方向ヨコとを比較した結果、加工処理条件として縮小率71%、90°回転を決定する。加工フィルタ310は、決定した加工処理条件に基づいてデータを縮小し回転する加工処理を行い(ステップS1820)、加工後のデータを第2パイプ41bに書き込む(ステップS1822)。
出力フィルタ330は、加工後のデータが第2パイプ41bに書き込まれたか否かを判断する(ステップS1824)。出力フィルタ330は、第2パイプ41bへのデータの書き込みを検知した場合には(ステップS1824:Yes)、第2データ管理部332は、書き込まれたデータ、即ち、ページ番号1、用紙サイズA4、用紙方向ヨコに対応するデータを、既に登録されているページ番号1、用紙サイズA4、用紙方向タテのデータと並存させてデータリスト334に登録する(ステップS1826)。出力処理部331は、第2パイプ41bに書き込まれたデータを読み出して出力処理を実行する(ステップS1828)。一方、出力フィルタ330において、第2パイプ41bへのデータの書き込みを検知しない場合には(ステップS1824:No)、出力フィルタ330はデータの書き込みを検知するまで処理を検知を繰り返す。
応用例2においては、加工フィルタ310において、出力要求に応じてデータを拡大処理、縮小処理、回転処理等を行うこととしているが、入力フィルタ300において入力時にデータを所定の用紙サイズ、用紙方向に変更することが可能となるように読取る構成としてもよい。
上述の処理手順により用紙指定変倍処理及び回転処理を施して出力されたデータについては、図10の上方に示した出力例と同様であるので説明を省略する。応用例2においては、用紙指定変倍機能及び回転機能を有する画像処理装置を例示して説明したが、応用変倍機能をさらに備え、任意の倍率に加工処理が可能な画像処理装置とするように構成してもよい。また、加工処理条件として、文字を鮮明に出力する文字モード、高画質の写真モード、文字と写真が混在した文書に適用される文字写真モード等、画質モードを設定してもよい。さらに、実施の形態2においては、用紙サイズをデータ生成条件として、加工フィルタ310において拡大処理若しくは縮小処理を行う場合を例示して説明したが、実際の画像処理装置においてはこれに限定されるものではない。データ生成条件として用紙方向や画像の解像度を含むデータの読出要求を加工フィルタ310に伝達し、加工フィルタ310において回転処理、間引き処理、補間処理等を行うように構成してもよい。
応用例2にかかる画像処理装置によれば、読出要求に含まれる識別子に合致するデータがデータリストに存在した場合で、且つ、データリストに登録されるデータと読出要求に含まれるデータとにおいてデータ生成条件が異なる場合に、データリストに既に登録されているデータを破棄せずに、読出要求を受けたデータと並存させて登録するように構成している。従って、データリストに登録されるデータを再出力する必要が生じた場合にも、読出要求を伝達することなく、迅速に再出力することが可能である。
以上、実施の形態1及び2にかかる画像処理装置について説明したが、上述した実施の形態に多様な変更又は改良を加えることができる。