画像形成装置、画像処理方法およびプログラム
【課題】 複数部数印刷処理時に、他の画像形成装置に蓄積される画像データを利用する印刷処理と、生成した画像データを利用する印刷処理とを切り換えながらを効率的に印刷処理を行うことである。
【解決手段】 複数部数印刷処理が開始されると、ホストから受信す印刷データに対する処理を開始して、継続する処理において、生成した画像データに基づいて印刷する処理と、処理済みの画像データを他の画像形成装置に一旦蓄積し、当該蓄積された画像データを読み出して印刷する処理とを動的に切り換える(S1002)。そして、継続する処理において、他の画像形成装置に蓄積した画像データを読み出して処理する方が生成した画像データを印刷する場合に比べて遅くなる場合は、生成した画像データに基づいて印刷する処理に切り換える(1010)ことを特徴とする。
【解決手段】 複数部数印刷処理が開始されると、ホストから受信す印刷データに対する処理を開始して、継続する処理において、生成した画像データに基づいて印刷する処理と、処理済みの画像データを他の画像形成装置に一旦蓄積し、当該蓄積された画像データを読み出して印刷する処理とを動的に切り換える(S1002)。そして、継続する処理において、他の画像形成装置に蓄積した画像データを読み出して処理する方が生成した画像データを印刷する場合に比べて遅くなる場合は、生成した画像データに基づいて印刷する処理に切り換える(1010)ことを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理を行った画像データを一旦記憶し、記憶した画像データを再利用して印刷する画像形成装置における画像処理に関するものである。
【背景技術】
【0002】
近年の画像形成装置は、複数部印刷時に画像処理済みの画像データを一旦記憶装置に記憶し、二部目以降では記憶した画像処理済み画像データを利用することで、二部目以降での画像処理を省略し、高速な印刷をすることが可能である。
【0003】
この場合において、画像形成装置内に大容量の記憶装置が存在する場合には、画像処理済みの画像データを自装置内の記憶装置に一旦格納し、二部目以降で再利用する装置が一般的である。
【0004】
しかしながら、自装置内に大容量の記憶装置を備えていない画像形成装置の場合であっても、画像処理済みの画像データを他の機器が備える記憶装置に記憶させて再利用する方法が提案されている(例えば特許文献1)。
【特許文献1】特開平8−123633号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
従来の画像形成装置において、自装置以外へ画像データを一時的に蓄積させる手法では、自装置に蓄積する場合と比較し、画像データを蓄積、読み出しする際の速度が蓄積先の装置の負荷変動や通信上の負荷変動によって遅くなる課題が存在する。
【0006】
例えば、蓄積先の装置が高負荷で処理が続いている状況下では、結果的に、画像処理後の画像データを外部の装置に蓄積し、さらに読み出しを行った方が却って遅くなってしまうという課題があった。
【0007】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、複数部数印刷処理時に、他の画像形成装置に蓄積される画像データを利用する印刷処理と、生成した画像データを利用する印刷処理とを切り換えながらを効率的に印刷処理を行える仕組みを提供することである。
【課題を解決するための手段】
【0008】
上記目的を達成する本発明の画像形成装置は以下に示す構成を備える。
【0009】
通信媒体を介してホストから送信された印刷データを受信して画像処理を行う画像形成装置であって、前記通信媒体を介して前記画像処理後の画像データを他の画像形成装置に蓄積するネットワークスプール手段と、前記ネットワークスプール手段を用いずに毎回画像処理を行い印刷出力する第1の動作と、前記ネットワークスプール手段を用いて画像処理後の画像データをスプールし、スプールした画像処理後の画像データを再利用し印刷出力する第2の動作と、を選択的に実行するスプーラ利用制御手段と、を備えたことを特徴とする。
【発明の効果】
【0010】
本発明によれば、複数部数印刷処理時に、他の画像形成装置に蓄積される画像データを利用する印刷処理と、生成した画像データを利用する印刷処理とを切り換えながら効率的に印刷処理を行える。
【発明を実施するための最良の形態】
【0011】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【0012】
<システム構成の説明>
〔第1実施形態〕
図1は、本実施形態を示す画像形成システムの構成を説明する概念図である。本例は、通信媒体としてネットワーク(LAN105)を介して、複合機(MFP)102,103や、プリンタ(SFP)101、PC104が双方向に通信可能な画像形成システムの例である。
【0013】
図1に示すように、画像形成システムは、複数の画像形成装置を含み、画像形成装置の種別としては複合機(MFP)102,103や、プリンタ(SFP)101、などが存在する。
【0014】
各画像形成装置は、図2に示すネットワークインタフェース204を備えLAN105に接続しており、ネットワークによる通信が可能である。
【0015】
なお、図1に示したシステム構成では、プリンタ(SFP)101、複合機MFP102、複合機MFP103、PC104が、LAN105に接続しているという構成例であり、お互いに装置情報やデータの交換を行うことが可能である。
【0016】
また、図1で図示した本実施形態では、複数部印刷時にSFP101がMFP102に画像処理後の画像データをスプールして再利用するか、SFP101が毎回画像処理を行うかを制御するスプーラ利用制御の基本動作について図示している。
【0017】
まず、SFP101はPC104から複数部印刷の印刷JOB106を受信する。複数部を印刷する印刷JOBを受信した場合、SFP101は、スプーラ利用制御部107により、毎回画像処理した方が速いか、他の画像形成装置が備えるスプーラを利用した方が速いかを後述する手順に基づいて判断する。そして、スプーラ利用制御部107は、上記判断に従い、スプーラを利用しないで毎回画像処理を行い印刷出力する動作を第1の動作とし、スプーラを利用して印刷出力する第2の動作を切り換えながら、継続する最終部数まで印刷処理を実行する。このようにスプーラ利用制御部107は、第1の動作と第2の動作とを選択的に切り換えることで、ネットワーク上のトラフィックの負荷変動に適応した部数印刷処理を実行させるように、SFP101の印刷処理を制御する。
【0018】
ここで、スプーラ利用制御部107により、スプーラを利用すると決定した場合、まず、最初の第1部目は、他の画像形成装置、例えばMFP102が備える記憶装置に対して、画像処理済の画像データ110をスプールし、SFP101で印刷する。
【0019】
次の部からは、既にMFP102が備える記憶装置にスプールした画像処理済みの画像データ111を読み出し、SFP101が印刷出力109のみを実行する。
【0020】
もし、MFP102から読み出される画像データ111の読み出しが遅くなった場合、スプーラ利用制御部107は、スプーラを利用しない制御に切り替え、以降の第2部以降からは画像処理部108でRIPを行い、印刷処理を実行する。
【0021】
一方、スプーラ利用制御部107により、スプーラを利用しないと判断した場合には、受信した印刷データを毎回、画像処理部108で処理して、部数分繰り返して印刷出力109を得る印刷処理を実行する。
【0022】
以上、本発明のシステム構成と基本動作について説明したが、以下において具体的な実施方法について図面を用いて詳細に説明する。
【0023】
まず、図2を用いて画像形成装置である複合機、プリンタの内部構成を説明する。
【0024】
図2は、図1に示した画像形成装置の構成を説明するブロック図である。本例は、図1に示したMFP102、103、SFP101のハードウエアの構成に対応するが、SFP101は、後述するようにスキャナとして機能する手段を備えていないとともに、ハードディスク等の外部記憶装置も備えていない。
【0025】
図2において、200は複合機全体である。複合機200は、ROM202あるいは例えばハードディスクなどの大規模な記憶装置、例えばハードディスク(HD)210に記憶されたソフトウェアを実行するCPU201を備える。そして、CPU201はシステムバス213に接続される各デバイスを総括的に制御する。
【0026】
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。205は外部入力コントローラ(PANELC)で、複合機に備えられた各種ボタンあるいはタッチパネル(PANEL)206等からの指示入力を制御する。
【0027】
207はディスプレイコントローラ(DISPC)で、例えば液晶ディスプレイなどで構成される表示モジュール(DISPLAY)208の表示を制御する。
【0028】
204はネットワークインタフェースコントローラ(NIC)で、LAN214を介して、他のネットワーク機器あるいはファイルサーバ等と双方向にデータをやりとりする。211は、例えば電子写真方式あるいはインクジェット方式などで実現される紙への印刷部(PRINTER)である。
【0029】
212は画像読み取り部(SCANNER)で、紙に印刷された画像を読み込む。なお、多くの場合、画像読み取り部212にはオプションとしてオートドキュメントフィーダ(不図示)が装着されており、複数枚の原稿を自動的に読み込むことができる。
【0030】
また、大規模の記憶装置で構成されるHD210は、ディスクコントローラ209によって読み書きの制御が行われる。大規模の記憶装置で構成されるHD210は、生成した画像データ又は、他の画像形成装置から取得する処理済の画像データの一時記憶場所(スプーラ部)としても使われる。
【0031】
また、図1のプリンタ(SFP)101の内部構成は、図2の複合機と基本的に近い構造になっているが、画像読み取り部212は存在せず、紙への印字を主目的とした構成である。また、安価なプリンタでは大規模な記憶装置で構成されるHD210やそれを制御するディスクコントローラ209は装着されていない。
【0032】
以下、まず、スプーラを利用しない場合と利用する場合の基本処理フローについて図3と図4を用いて説明する。
【0033】
図3は、本実施形態を示す画像形成装置におけるデータ処理手順を示すフローチャートである。本例は、スプーラを利用しない場合の複数部印刷の処理フローである。なお、S301〜S305は各ステップを示し、各ステップは、CPU201がRAM203にモジュールをロードして実行することで実現される。ここで、モジュールは、ROM202に記憶されている。
【0034】
S301で、ホストPC104から送信された印刷データをNIC204を介して受信すると、S302で、CPU201は、ROM202から読み出すモジュールを実行して、受信した印刷データに対して、受信した印刷データを中間言語に変換するPDL処理をRAM203上で行う。
【0035】
次に、CPU201は、ROM202から読み出すモジュールを実行して、S302で生成された中間言語から画像データを生成し様々な画像処理を行うRIP処理を行う。そして、S304で、生成された画像データをプリンタ211に出力し、記録媒体に印刷を行う。
【0036】
次に、S301〜S304の処理を最終部まで繰り返したかどうかをCPU201が判断し、繰り返していないと判断した場合は、S301へ戻り、CPU201は複数部の印刷を行う。
【0037】
一方、S305で、繰り返しているとCPU201が判断した場合は、本処理を終了する。
【0038】
次に、MFP102,103が備える記憶装置に確保されるスプーラを利用する場合の複数部印刷の処理フローを説明する。
【0039】
図4は、本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。本例は、スプーラを備えていない画像形成装置として機能するSFP101が外部の画像形成装置として機能する、例えばMFP102、103が備える記憶装置をスプーラにスプールして印刷を行う処理例である。なお、S401〜S411は各ステップを示し、各ステップは、CPU201がRAM203にモジュールをロードして実行することで実現される。ここで、モジュールは、ROM202に記憶されている。
【0040】
S401で、SFP101は、先ほどと同様、ホストPC104から印刷データを、NIC204を介して受信する。次に、CPU201は、詳細は後述する画像処理時間を測定する処理を開始する。
【0041】
次に、S403で、CPU201はモジュールを実行して、受信した印刷データを中間言語に変換するPDL処理をRAM203上で行う。そして、S404で、CPU201はモジュールを実行して、中間言語から画像データを生成し様々な画像処理を行うRIP処理を行う。次に、S405で、CPU201はモジュールを実行して、画像処理時間測定処理を終了し、PDL処理、RIP処理した時間の測定結果から、測定時間GT、データサイズDを得る。なお、測定時間GT、データサイズDは、RAM203上に保持される。
【0042】
次に、S406で、CPU201がスプーラ利用を制御するモジュールを実行して、他の画像形成装置の中からどの装置にスプールするか、スプーラを備える画像形成装置の候補を選定する処理を実行する。なお、スプーラを選定する処理は、詳述する。
【0043】
次に、S407で、他の画像形成装置のスプーラを利用するかどうかを判断する処理を行う。そして、S408で、他の画像形成装置(ここでは例としてMFP102)へ画像データを転送し、MFP102が備える記憶装置にスプールする処理を行う。
【0044】
そして、S409で、CPU201はモジュールを実行して、一部目の出力のために生成された画像データをプリンタ211に出力して、記録媒体に印刷を行う。
【0045】
次に、S411で、CPU201は、部単位の出力が最終部か否かを判断して、最終部であると判断した場合は、本処理を終了する。
【0046】
一方、S411で、まだ、続いて出力すべき部があるとCPU201が判断した場合は、ネットワーク214を介してMFP102が備える記憶装置にスプールした画像データを読み込む処理をCPU201が行い、S409へ戻る。
【0047】
これにより、他の画像形成装置として機能するMFP102にスプールした画像データを読み込みながら、二部目以降の印刷処理をSFP101が行うことで、効率よく画像データを印刷することができる。
【0048】
<ネットワークを介したスプール機能の説明>
ここでは、ネットワークで接続される他の画像形成装置が備える記憶装置に画像データを蓄積するスプール処理について説明する。
【0049】
図5は、本実施形態を示す画像処理システムにおけるデータ処理手順を説明するフローチャートである。なお、S501、S504は、スプーラを利用する側、図1に示したSFP101側の処理に対応し、S502〜S506はスプーラを提供する側、図1に示したMFP102側の処理に対応する。ここで、各ステップは、SFP101、MFP102のCPU201がモジュールをRAM203にロードして実行することで実現される。以下、ネットワーク上の他の画像形成装置が備えるスプーラを用いる印刷処理について説明する。
【0050】
まず、S501で、スプーラを利用する側のSFP101は、スプーラを提供する側の例えばMFP102に対し、スプール要求のメッセージを送信する。ここで、スプーラを利用する側の画像形成装置は、図1でいうとSFP101に対応し、スプーラを提供する側の画像形成装置は、提供側とは、図1でいうとMFP102に対応する。以下、いずれかをSFP101、MFP102のいずれかで説明する。
【0051】
次に、S502で、MFP102のCPU201は、SFP101からのスプール要求を受信し、S503で、MFP102が備える記憶装置、例えばHD210に必要なスプール領域を予約する。ここで、MFP102のCPU201が実行するスプール領域の予約とは、要求されたサイズのファイルを、HD210に仮生成することで領域を確保することで行われる。
【0052】
次に、S504で、SFP101は、スプールすべき画像データをMFP102へLAN105を介して送信し、MFP102は、S505で、LAN105を介して画像データを受信し、HD210へ格納する。そして、S506で、MFP102は、SFP101から受信した画像データを全てHD210に格納し終わると、S506へ進む。そして、S506で、MFP102のCPU201は、スプールデータを管理するスプール情報リスト全体700へスプールした画像データの情報を記録して、本処理を終了する。
【0053】
次に、このHD210にスプールした画像データを管理するスプール情報リスト全体700について、図6、図7を用いて説明する。
【0054】
図6は、図1に示したMFP102がSFP101より受信するスプール情報600を管理するスプール情報テーブルの一例を示す図である。
【0055】
図6において、601はJOB−IDで、受信した印刷JOBを識別する識別子が保持される。602はRequestDeviceで、本実施形態では、SFP101を特定する情報が保持される。より具体的には、スプーラを利用する側のデバイスの名前を格納する。したがって、図1でいうと、RequestDevice602の値は、SFP101のホスト名(もしくはIPアドレスなどのネットワークアドレス)に相当する。
【0056】
603はFileNameで、HD210に格納した画像データのファイル名が保持される。604はsizeで、スプールする画像データのデータ量を特定する情報が保持される。MFP102は、上記各情報を含むスプール情報600をスプール情報リスト全体700に格納することで、SFP101から受信してHD210にスプールした画像データの情報を管理する。
【0057】
なお、RequestDevice602とJOB−ID601の組により、ネットワーク上のどの画像形成装置から送信されたどのJOBの画像データであるかを一意に特定することができる。これらのスプール情報600を参照して、スプールされた画像データを管理し、SFP101からスプールされた画像データを読み出す要求が発生した際にも、このスプール情報600を用いて読み出すべき画像データを特定して要求元のSFP101にネットワークを介して送信することができる。
【0058】
図1に示したMFP102は、HD210に蓄積した画像データのスプール情報600を管理する図6に示す管理テーブルをリスト構造に連結してスプール情報の管理を行う。
【0059】
図7は、図6に示したスプール情報テーブルを管理するスプール情報リストの一例を示す図である。
【0060】
図7において、700はスプール情報リスト全体で、リストヘッド701に続いて、スプール情報テーブル702、703がリンクする。最初に作成したスプール情報テーブル702には、作成したテーブルがスプール情報テーブル703にリンクさせ、これを繰り返すことで情報リストが作成できる。
【0061】
次に、MFP102のHD210にスプールした画像データを読み出す処理について説明する。
【0062】
図8は、本実施形態を示す画像処理システムにおけるデータ処理手順を説明するフローチャートである。なお、S801、S805〜S809は、スプーラを利用する側、図1に示したSFP101側の処理に対応し、S802〜S804,S810〜S812はスプーラを提供する側、図1に示したMFP102側の処理に対応する。ここで、各ステップは、SFP101、MFP102のCPU201がモジュールをRAM203にロードして実行することで実現される。以下、MFP102のHD210にスプールした画像データを読み出す処理について説明する。
【0063】
まず、S801で、SFP101は、読み出し要求をMFP102に送信する。次に、S802で、MFP102は、SFP101から送信された読み出し要求を受信し、S803で、要求されたスプールデータを確認する。ここで、スプールデータの確認は、MFP102のCPU201が上述した図7で説明したスプール情報リスト全体700を検索して、要求されている画像データがあるかどうかを判断することで行う。
【0064】
具体的には、MFP102のCPU201は、スプールした画像データを利用する側のデバイスを示すRequestDevice602とJOB−ID601の組により、要求された画像データを特定する。このようにして画像データを特定できると、S804で、MFP102のCPU201は、その画像データをHD210から読み出して、スプールした画像データを利用するSFP101側へ送信する。以後、S810で、MFP102は、スプールされている画像データを消去するための消去要求待ち状態となる。
【0065】
これにより、MFP102のHD210にスプールした画像データを利用するSFP101側は、S805で、SFP101のCPU201が読み出し時間を測定する処理を開始し、S806で、MFP102側から送信された画像データを受信する。
【0066】
実際には、MFP102から受信した画像データを用いて印刷を行うが、スプール処理機能の説明から外れるため、このフローチャートには含めない。
【0067】
このようにしてSFP101が画像データを受信する処理が完了すると、S807で読み出し時間を測定する処理を終了し、開始した時刻と、完了した時刻とから読み出し時間(RT)を記録しておく。この読み出し時間(RT)は、スプーラ利用制御を行う際に必要な情報であるが、詳しくは後述する。
【0068】
ここで、SFP101は、印刷JOBを複数部印刷する処理であるため、印刷すべき部が指定されている部数に対応する最終部かどうかをSFP101のCPU201が判定する。ここで、SFP101のCPU201が最終部であると判断した場合は、S809で、SFP101のCPU201は、MFP102のHD210にスプールされている画像データを消去する要求をMFP102に送信する。
【0069】
一方、スプールされている画像データを提供するMFP102側は、S810の消去要求待ちの状態で、SFP101から受信した要求が、SFP101からの消去要求であるかどうかをMFP102のCPU201が判断する。ここで、MFP102のCPU201が消去要求であると判断した場合は、S812で、MFP102のHD210にスプールしている画像データを消去して、本処理を終了する。
【0070】
一方、S811で受信した要求が消去要求ではなく、次の読み出し要求があるとMFP102のCPU201が判断した場合は、S802へ戻り、HD210にスプールされている画像データを読み出す処理を継続する。
【0071】
なお、MFP102のHD210にスプールされている画像データを消去する処理は、MFP102のCPU201が管理しているスプール情報リスト全体700、該当するスプール情報テーブルを削除し、HD210から該当ファイルを削除することで消去を行う。
【0072】
<スプーラを利用するかどうを決定する処理>
図9は、本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。本例は、図1に示したスプーラ利用制御部107による処理であって、印刷を実行する画像形成装置が実際にスプーラを利用するかどうかを制御する処理例である。なお、S901〜S911は各ステップを示す。また、各ステップは、SFP101のCPU201がモジュールをRAM203にロードして実行することで実現される。ここで、スプーラ利用制御部107は、SFP101に記憶されたモジュールとして構成され、SFP101のCPU201が当該モジュールを実行することで、スプーラ利用制御処理が実行される。
【0073】
まず、S901で、スプーラ利用制御部107は、MFP102のHD210に確保されるスプーラへの書き込み時と、読み込み時でそれぞれ機能するため、要求が書き込み時か、読み出し時かを判断する。ここで、要求が書き込み時であるとスプーラ利用制御部107が判断した場合は、S902へ進む。そして、S902で、スプーラ利用制御部107は先の処理で測定されている画像処理時間(GT)と最短印刷時間(PT)とを比較し、最短印刷時間(PT)の方が長いかどうかを判断する。ここで、最短印刷時間(PT)の方が長いとスプーラ利用制御部107が判断した場合は、S908へ進み、スプーラ利用制御部107は、スプールを利用しないモードにする。
【0074】
なお、上記画像処理時間と最短印刷時間に基づいたスプーラ利用制御処理については、詳細を後述する。
【0075】
一方、S902で、画像処理時間(GT)より最短印刷時間(PT)の方が短いとスプーラ利用制御部107が判断した場合は、スプーラを利用した方が有利である可能性がある。
【0076】
そこで、S903で、スプーラ利用制御部107は、スプール書き込み速度の計測を開始する。ここで、S904で、ダミーデータ(実際の画像データの一部のみ)をMFP102のHD210にスプールし、S905で、それにかかった時間を記録する。
【0077】
そして、スプーラ利用制御部107は測定した書き込み速度からスプールにかかる予測時間を求め、S906で、画像処理時間計測処理に基づく画像処理時間(GT)と予測時間を比較し、スプールを利用するか否かを判断する。具体的には、スプーラ利用制御部107は画像処理時間(GT)がスプール時間予測処理に基づくスプール予測時間(D/SP)よりも短いかどうかに基づいてスプールを利用するか否かを判断する。そして、画像処理時間(GT)がスプール予測時間(D/SP)よりも時間が短いとスプーラ利用制御部107が判断した場合は、S908へ進み、スプールを利用しないと判断して、本処理を終了する。
【0078】
一方、S906で、画像処理時間(GT)がスプール予測時間(D/SP)よりも時間が長いとスプーラ利用制御部107が判断した場合は、S907へ進み、スプールを利用すると判断して、本処理を終了する。
【0079】
なお、画像処理時間とスプール予測時間に基づいたスプーラ利用制御処理については詳細を後述する。
【0080】
次に、HD210にスプールした画像データを読み出し処理を行った時点でのスプール利用制御処理について説明する。
【0081】
S901で、要求が読み出しであるとスプーラ利用制御部107が判断した場合は、S909で、画像処理時間(GT)と読み出し時間(RT)を比較し、GT<RTが成立するかどうかを判断する。ここで、スプーラ利用制御部107がGT<RTが成立していないと場合、すなわち、画像処理時間(GT)が読み出し時間(RT)よりも長いとスプーラ利用制御部107が判断した場合は、S910へ進み、そのまま継続してスプールを利用するモードとし、本処理を終了する。
【0082】
一方、S909で、画像処理時間(GT)よりも読み出し時間(RT)の方が長いとスプーラ利用制御部107が判断した場合は、S911へ進み、スプールを利用しないモードに変更して、本処理を終了する。なお、スプーラ読み出し時間を測定する処理と、読み出し時間と画像処理時間に基づくスプーラ利用制御処理については、詳細を後述する。
【0083】
<画像処理時間を計測する処理の説明>
以下、画像処理時間(GT)を計測する処理について図4のフローチャートを用いてここで説明する。
【0084】
図4において、SFP101において、クライアントPC104から受信した印刷データに対して、S403でPDL処理を始める直前に、S402で画像処理時間を測定する処理を開始する。そして、S403で、受信した印刷データを中間言語に変換するPDL処理を行い、S404で中間言語から画像データを生成し様々な画像処理を行うRIP処理を行う。
【0085】
このようにして、RIP処理が完了すると、S405で、画像処理時間の測定を終了し、測定した画像処理時間(GT)と、画像処理後の画像データサイズ(D)を、SFP101のCPU201は、例えばRAM203上に記憶しておく。本実施形態ではPDL処理も含めた時間を測定しているが、中間言語への変換処理がほとんど不要な画像形成装置においては、RIP処理時間の区間のみ測定してもよい。
【0086】
なお、一部の画像データを全てスプールする本実施形態の場合は、各ページ処理毎に時間を測定して1部分加算したものが画像処理の測定時間(GT)となる。また、画像データサイズについても同様で、各ページ処理毎の画像データサイズを1部分加算したものがデータサイズ(D)となる。
【0087】
また、後述するページ単位でのスプールにおいては、各ページごとの画像処理の測定時間とデータサイズを各々記録することになる。
【0088】
<スプール時間を予測する処理の説明>
以下、スプール時間を予測する処理について図9のフローチャートを用いてここで説明する。
【0089】
S903で、スプーラ利用制御部107がスプール書き込み速度の計測を開始し、S904でダミーデータをHD210にスプールし、S905でそれにかかった時間を記録する。
【0090】
この際、スプーラ利用制御部107が書き込むダミーデータとは、ネットワーク先の画像形成装置に書き込む速度が測定できればよいため、あらかじめ用意しておいた簡易的なデータでも良いし、実際に画像処理した画像データの一部分を書き込んでも良い。ここでは、あまり大きなデータで測定すると測定時間にかえって時間をとられてしまうため、小さなダミーデータで測定を行う。
【0091】
そして、スプーラ利用制御部107が実際の画像データサイズ(D)を測定した書き込み速度(SP)で割ると、それがスプールにかかる予測時間と見なせる。これがS906のスプール予測時間(D/SP)に対応する。
【0092】
<画像処理時間(GT)とスプール予測時間(D/SP)に基づくスプーラ利用制御部107による処理>
次に、前述のスプール時間を予測する処理により求まったスプール予測時間(D/SP)と画像処理時間(GT)に基づいてスプール時間を予測する処理について図9のフローチャートを用いて説明する。
【0093】
S906で、スプーラ利用制御部107が画像処理時間(GT)よりスプール予測時間(D/SP)が大きいと判断した場合には、スプールを利用しない方が有利と判断し、S908で、スプールを利用しないモードにする。
【0094】
一方、スプーラ利用制御部107が画像処理時間(GT)の方がスプール予測時間(D/SP)よりかかっていると判断した場合には、スプーラ利用制御部107がスプールを利用した方が有利と判断し、S907で、スプールを利用するモードにする。
【0095】
このようにして、SFP101のスプーラ利用制御部107は、画像データをネットワーク上のMFP102、103のHD210に確保されているスプーラを利用して蓄積した方がそれ以降の印刷がより高速に行えるかどうかを判断し、スプールを実行するか否かを制御する。
【0096】
このスプーラ利用制御部107のスプーラ利用を選択する制御により、ネットワーク先の画像形成装置にスプールする環境においても、スプール利用するか否かを制御して、より高速な印刷時間となるようにすることが可能となる。
【0097】
<画像処理時間と最短印刷時間に基づいてスプール時間を予測する処理>
次に、画像処理時間(GT)と最短印刷時間(PT)に基づいてスプール時間を予測する処理について図9のフローチャートを用いて説明する。
【0098】
S901で、書き込み時の処理であるとスプーラ利用制御部107が判断した場合、S902で、画像処理時間(GT)と最短印刷時間(PT)を比較する。そして、最短印刷時間(PT)の方が長いとスプーラ利用制御部107が判断した場合は、S908で、スプールを利用しないモードにする。
【0099】
ここで、最短印刷時間(PT)とは、印刷を実行する画像形成装置の最大印刷速度から決定される最短印刷時間のことである。
【0100】
例えば、毎分最大30枚の印刷性能を備えた画像形成装置の場合、1ページの最短印刷時間は2秒であり、これより速く出力する事はできない。よって1部あたりの最短印刷時間(PT)は、このプリンタエンジン性能から決まる1ページの最短印刷時間より簡単に導くことができる。ここで、画像処理時間(GT)より最短印刷時間(PT)の方が長いとスプーラ利用制御部107が判断した場合は、画像処理時間がプリンタエンジンの出力性能を上回るJOBであると判断できる。よって、この場合はスプールを利用しても印刷速度の向上は見込めないため、スプーラ利用制御部107がスプーラを利用しないと判断する。
【0101】
<スプーラから画像データを読み出す処理>
以下、スプール読み出し時間を計測する処理について図8のフローチャートを用いてさらに説明する。
【0102】
MFP102、103等のいずれかのHD210にスプールされた画像データを利用するSFP101側は、スプールされた画像データを提供するMFP102側から画像データを読み出す際、S805で、読み出し開始時に読み出し時間測定を開始する。そして、S806で、SFP101のNIC204がMFP102側から送信された画像データを受信する。そして、画像データの受信が完了すると、S807で、SFP101のCPU201が読み出し時間を測定する処理を終了し、読み出し時間(RT)を、例えばRAM203上に記録しておく。そして、後述するスプーラ利用制御部107でスプーラの利用するか否かの可否を判断する処理で利用する。
【0103】
<読み出し時間と画像処理時間に基づいたスプーラ利用制御部107の処理>
次に、上述したスプーラ読み出し時間を測定する処理により得られる読み出し時間(RT)と画像処理時間(GT)に基づいたスプーラ利用制御部107について、図9のフローチャートを用いてさらに説明する。
【0104】
図9に示すS909で、スプーラ利用制御部107が画像処理時間(GT)と読み出し時間(RT)を比較し、読み出し時間(RT)の方が長いとスプーラ利用制御部107が判断した場合は、S911で、スプールを利用しないモードにする。
【0105】
一方、読み出し時間(RT)の方が短いとスプーラ利用制御部107が判断した場合には、そのまま継続してスプールを利用するモード910とする。この読み出しサイクルにおけるスプール利用制御処理により、ネットワーク先の画像形成装置からの画像データ読み出しが遅くなった場合にそれを検知し、スプールの利用を止めることが可能となる。その結果、ネットワーク上のトラフィックの状況に適応して、より高速な印刷時間となるようにスプール利用制御処理で制御することが可能となる。ここまでで、ネットワーク上にスプールした画像データを利用可能な環境におけるスプーラ利用制御について各処理について説明してきた。
【0106】
<複数部印刷時の各部での動作フローの説明>
図10は、本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。以下、複数部印刷時における各場面での処理フロー(1部目、2部目、3部以降の処理の流れ)について説明する。なお、S1001〜S1015は各ステップを示す。また、各ステップは、SFP101のCPU201がモジュールをRAM203にロードして実行することで実現される。
【0107】
まず、S1001で、複数部数の1部目の処理として、印刷データの受信、画像処理、印刷の処理を行い、S1002で、図9を用いて既に説明を行ったスプーラ利用制御部107によりネットワークスプールの利用可否判断を行う。ここで、スプーラ利用制御部107が第1部目の印刷終了時に、ネットワークスプールを利用すると判断した場合、S1003で、スプーラ利用制御部107がネットワークスプールの利用を管理するフラグをONとし、S1004へ進む。本実施形態では、第1部目の印刷終了毎に、スプーラ利用制御部107がネットワークスプールを利用するか、しないかを判断して、いずれによる処理を選択して第2部目以降の処理を実行する。
【0108】
そして、S1004で、2部目に対する印刷データの受信、画像処理を行う。そして、S1005で、画像データの受信、画像処理を行うと共に、画像処理後の画像データをネットワークスプーラとして機能するMFP102のHD210に書き込み処理を行う。
【0109】
そして、スプール先の画像形成装置(図1の場合はMFP102)のHD210に画像データをスプールし、S1006で、二部目の画像データをSFP101のプリンタ211で印刷を行う。そして、3部目以降は、S1007で、既にMFP102のHD210にスプールしてある画像データを、スプール先の画像形成装置であるMFP102のHD210から読み出し、S1008で、MFP102より受信する画像データに基づいてSFP101のプリンタ211で印刷を実行する。
【0110】
次に、S1009で、スプーラ利用制御部107が印刷を実行した後、最終部か否かを判断し、最終部でないとスプーラ利用制御部107が判断した場合は、S1010へ進み、前述した読み出し時間と画像処理時間に基づいたスプーラ利用制御により後続の部でスプールを利用するかどうかをスプーラ利用制御部107が判断する。ここで、スプールを利用するとスプーラ利用制御部107が判断した場合は、そのまま次の部に対してもスプーラから読み出して印刷を行う。
【0111】
一方、S1010で、スプールを利用しないとスプーラ利用制御部107が判断した場合には、S1011で、ネットワークスプールを利用しないモードに変更し、S1014へ進み、後続の部は、データ受信、画像処理、印刷を毎回繰り返す。
【0112】
一方、S1002で、最初の1部目でのスプーラ利用制御部107によりネットワークスプールの利用する否かの可否判断により、ネットワークスプールを利用しないとスプーラ利用制御部107が判断した場合は、S1012へ進む。
【0113】
そして、S1012で、SFP101は、ネットワークスプールを管理するフラグをOFFとして、S1013で、2部目も1部目と同様、印刷データの受信、画像処理、印刷を行う。
【0114】
そして、S1014で、SFP101は、3部目以降も同じく印刷データの受信、画像処理、印刷と行う。そして、S1015で、スプーラ利用制御部107が印刷を実行した後、最終部かを判断し、最終部でないとスプーラ利用制御部107が判断した場合は、S1014へ戻る。
【0115】
一方、S1015で、最終部であるとスプーラ利用制御部107が判断した場合は、本処理を終了する。
【0116】
<空き容量情報に基づくスプール候補選定する処理>
図11は、本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。本例は、他の画像形成装置が備えるスプーラの空き容量情報に基づいてスプール候補を選定する処理例である。なお、S1101、S1107〜S1115は、スプーラを利用する側、図1に示したSFP101側の処理に対応し、S1102〜S1106はスプーラを提供する側、図1に示したMFP102、103等側の処理に対応する。ここで、各ステップは、SFP101、MFP102のCPU201がモジュールをRAM203にロードして実行することで実現される。以下、MFP102のHD210にスプールした画像データを読み出す処理について説明する。
【0117】
まず、スプールを利用する画像形成装置側とは、図1で表すと印刷JOBを実行するSFP101に対応する。また、スプール候補側とは、ネットワークスプーラとして機能することが可能な画像形成装置であって、図1に示したデータ処理システムでは、MFP102やMFP103に対応する。
【0118】
まず、S1101で、SFP101側は、まずスプーラ機器情報を要求するメッセージを同一ネットワーク上に存在する画像形成装置、本例ではMFP102,103にブロードキャストで送信する。
【0119】
これにより、S1102で、スプール候補側の画像形成装置であるMFP102、103は、スプーラ機器情報要求を受信すると、S1103で、MFP102、103は、CPU負荷を取得する。
【0120】
そして、S1104で、MFP102、103が備えるHD210に確保されるスプール領域の空き容量を取得する。そして、S1105で、MFP102、103は、取得した2つの情報を基に、スプーラ機器情報テーブルを生成する。
【0121】
そして、S1106で、MFP102、103は、生成したスプーラ機器テーブルをSFP101へ送信する。ここで、スプールした画像データを利用するSFP101側は、S1107で、ネットワーク上から応答される情報収集する処理を開始する。
【0122】
そして、S1108で、MFP102、103よりスプーラ機器テーブルを受信すると、S1109で、スプーラ機器情報リスト1300に受信したスプーラ機器テーブルを追加し、これを収集処理を終了するまで繰り返す。このようにS1108では、容量情報収集と、負荷情報収集との処理が実行されている。
【0123】
このようにして、スプーラ機器テーブルの収集処理が完了すると、S1110で、SFP101は、スプーラ機器情報リスト1300を空き容量が多い順にリスト並べ替える処理を実行し、リストの先頭から他の画像形成装置が備えるスプーラの画像蓄積領域に対する空き容量が多い順になるようにする。
【0124】
次に、S1111で、SFP101は、リストの先頭からスプーラ機器テーブルを読み出し、S1112〜S1115に基づく後続の負荷チェックで問題がないと判断した場合には、そのスプーラ機器テーブルの機器をスプール先に決定する。なお、負荷チェックの処理についての詳細は、後述する。
【0125】
このようにして、スプール領域の空き容量がより大きな画像形成装置を優先的にスプーラとして利用することで、スプール領域が圧迫されてしまう事態を防ぐことが可能となる。
【0126】
次に、スプーラ機器情報リストにどのように機器情報が記録されているかについて、図12、図13を用いて説明する。
【0127】
図12は、本実施形態を示す画像形成装置で管理されるスプール機器情報テーブル1200の一例を示す図である。本例では、構成要素として、Dev−ID1201、DeviceName1202、FreeSpace1203、CPU load1204を保持して、スプーラ機器情報の管理を行う例である。
【0128】
図12において、Dev−ID1201は画像生成装置を識別するための識別子である。DeviceName1202はスプーラ機器のデバイスの名前を格納する。図1でいうと、DeviceName1202の値は、MFP102やMFP103のホスト名(もしくはIPアドレスなどのネットワークアドレス)に相当する。
【0129】
FreeSpace1203はそのスプーラ機器の現状のスプール領域の空き容量を格納する。CPU load 1204は、そのスプーラ機器の現状のCPU負荷を格納する。これらの情報を参照して、スプーラ機器を管理し、このスプール機器情報を用いて最終的にどの画像形成装置にスプールするかを判断することができる。
【0130】
本例では、図12で説明したスプール機器情報テーブルを用いて、MFP102,103等から収集した各画像形成装置のスプーラ機器テーブルを格納した上で、図13に示すようにリスト構造にしてスプール機器情報テーブルを連結してスプール機器情報の管理を行う。
【0131】
図13は、本実施形態を示す画像形成装置で管理されるスプール機器情報リストの一例を示す図である。
【0132】
図13において、1300はスプーラ機器情報リスト全体である。1301はスプール機器情報のリストヘッドである。このリストヘッド1301に、最初に作成したスプール機器情報テーブル1302をリンクし、次に作成したスプール機器情報テーブル1303をスプール機器情報テーブル1302にリンクし、これを繰り返すことで情報リストが作成できる。
【0133】
<負荷情報に基づいてスプール候補を選定する処理>
続いて、負荷情報に基づくスプール候補選定手段について、図11のフローチャートを用いて説明する。
【0134】
図13に示すスプーラ機器情報リスト全体1300で管理されている画像形成装置の空き容量情報に基づいてスプール候補を選定する処理を説明する。
【0135】
図11に示したS1111で、図13に示したスプール機器情報リストの先頭から、まずスプール機器情報テーブルを読み出す。その後、S1112で、SFP101は、CPU負荷をチェックするか否かを判断する。ここで、CPU負荷をチェックすると判断した場合には、S1114で、スプール機器情報テーブルに記載したCPU負荷(図12に示したCPU load 1204)が閾値(LL)以下かどうかを判断する。なお、S1112で、CPU負荷をチェックしないと判断した場合は、S1113へ進む。
【0136】
また、S114で、CPU負荷が閾値以下であるとSFP101が判断した場合には、S1113で、そのスプール機器情報テーブルに該当する画像形成装置をスプール先として決定する。そして、CPU負荷もチェックすると判断した場合は、S1114で、CPU負荷が閾値(LL)以下であるかどうかをSFP101のスプーラ利用制御部107が判断する。ここで、スプCPU負荷が閾値(LL)以下であるとスプーラ利用制御部107が判断した場合は、S1113へ進み、そのスプール機器情報テーブルに該当する画像形成装置をスプール先として決定する。
【0137】
一方、S1114で、CPU負荷が閾値以下でないとスプーラ利用制御部107が判断した場合は、さらに、S1115で、参照しているリストが最後であるかどうかを判断する。ここで、スプーラ利用制御部107が最後のリストであると判断した場合は、S1111へ戻り、スプーラ利用制御部107が最後のリストでないと判断した場合は、S1113へ進む。
【0138】
なお、S1112でCPU負荷をチェックするか否かは、画像形成装置のタッチパネル206から設定を行うことにより、ユーザが選択可能である。また、S1114で負荷の閾値(LL)についても同様にユーザが設定可能である。この負荷情報に基づいて、スプール候補を選定する処理により、スプール候補が高負荷であった場合には、スプール機器情報リストから次候補に対して順々に閾値を下回るスプール機器を検索し、負荷を鑑みたスプール先を決定することができる。
【0139】
〔第2実施形態〕
上記第1実施形態では印刷データの1部全体の画像データをスプールする場合について説明したが、以下ページ単位でスプールを行うか否かを判断してスプールを行う場合の実施形態について説明する。
【0140】
なお、基本的な処理や制御は第1実施形態とほぼ共通なため、ここでは差異についてのみ説明を行う。
【0141】
<ページ単位によるスプール制御>
図14は、本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。本例は、処理単位をページ単位にした場合の複数部数印刷処理例である。以下、複数部数印刷時における(1部目、2部目以降の処理の流れを説明する。なお、S1401〜S1415は各ステップを示す。また、各ステップは、SFP101のCPU201がモジュールをRAM203にロードして実行することで実現される。
【0142】
複数部数のJOBが開始されると、S1401で、画像形成装置としてのSFP101が印刷データをクライアントPC104より受信し、画像処理をページ単位に行う。ここで、ページ単位で画像処理が終わるたびに、S1402で、スプーラ利用制御部107により、そのページの画像データをスプーラにスプールするか否かを判断する。ここで、判断処理については、すでに第1実施形態で説明した制御と同じである。そのページに対してスプールを利用するとスプーラ利用制御部107が判断した場合は、S1403で、そのページはスプール対象ページとし、スプールを利用しないとスプーラ利用制御部107が判断した場合は、S1404で、スプール非対象ページとする。
【0143】
次に、スプール対象ページとなったページの画像データは、S1405で、ネットワーク上の画像形成装置が備えるスプーラへの書き込み処理により、スプール先の画像形成装置(図1でいうMFP102)へ画像データをスプールしつつ、S1406で、そのページの印刷をSFP101のプリンタ211で行う。スプール手段は、第1実施形態と同じであるが、ページ単位でスプールを行うため、スプーラで格納されるファイルはページ単位で作成する。
【0144】
例えば、“spool−0001−page001“といったようにページ番号を加えた形式のファイル名で格納することで、ページを識別することが可能である。
【0145】
また、スプールした画像データを利用する画像形成装置側は、スプールしたページ番号を非図示の記憶領域に記憶しておく。なお、スプール非対象ページはそのまま印刷のみを行う。
【0146】
そして、S1407で、当該ページが最終ページであるか否かをスプーラ利用制御部107が判断する。ここで、最終ページでないとスプーラ利用制御部107が判断した場合は、S1401へ戻り、この一連の流れを最終ページまで繰り返す。
【0147】
一方、S1407で、最終ページであるとスプーラ利用制御部107が判断した場合は、S1408以降へ進む。
【0148】
そして、S1408で、2部目以降については、既にスプール済みのページかをスプーラ利用制御部107が判断する。ここで、スプールしていないページであるとスプーラ利用制御部107が判断した場合は、S1409で、クライアントPC104より印刷データを受信し、画像処理、印刷を行う。
【0149】
一方、S1408で、スプール済みのページであるとスプーラ利用制御部107が判断した場合は、S1410で、画像データをページ単位にスプールした画像形成装置として機能する、例えばMFP102から画像データを読み出し、S1411で、SFP101のプリンタ211が印刷する。
【0150】
そして、印刷後、S1412で、スプーラ利用制御部107は、読み出し時間が遅くなっているかどうかを判断する。そして、スプールしないとスプーラ利用制御部107が判断した場合は、S1413で、スプール非対象ページに変更する。
【0151】
なお、スプール非対象ページへの変更は、スプーラで格納されている該当ページのファイルを削除し、スプールデータ情報リストから該当テーブルを削除する処理を行うことで実現する。
【0152】
一方、S1412で、スプールするとスプーラ利用制御部107が判断した場合は、S1414で、当該ページが最終ページであるかいなかをスプーラ利用制御部107が判断する。
【0153】
そして、当該ページが最終ページでないとスプーラ利用制御部107が判断した場合は、S1408へ戻り、最終ページまで同様の処理を繰り返す。
【0154】
一方、S1414で、当該ページが最終ページであるとスプーラ利用制御部107が判断した場合は、S1415で、当該部が最終部であるかどうかをスプーラ利用制御部107が判断する。ここで、最終部でないとスプーラ利用制御部107が判断した場合は、S1408へ戻り、同様の処理を繰り返す。
【0155】
一方、S1415で、最終部であるとスプーラ利用制御部107が判断した場合は、本処理を終了する。
【0156】
このようにして、ページ単位でのスプールを制御することにより、1部全体をスプールするよりも更に効率的に印刷を行うことが可能である。
【0157】
〔第3実施形態〕
以下、図15に示すメモリマップを参照して本発明に係る画像形成装置で読み取り可能なデータ処理プログラムの構成について説明する。
【0158】
図15は、本発明に係る画像形成装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【0159】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0160】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0161】
本実施形態における図3〜図5、図8〜図11、図14に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0162】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0163】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0164】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0165】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
【0166】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0167】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
【0168】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0169】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0170】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0171】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。
【0172】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【図面の簡単な説明】
【0173】
【図1】本実施形態を示す画像形成システムの構成を説明する概念図である。
【図2】図1に示した画像形成装置の構成を説明するブロック図である。
【図3】図本実施形態を示す画像形成装置におけるデータ処理手順を示すフローチャートである。
【図4】本実施形態を示す画像形成装置におけるデータ処理手順を示すフローチャートである。
【図5】本実施形態を示す画像処理システムにおけるデータ処理手順を説明するフローチャートである。
【図6】図1に示したMFP102がSFP101より受信するスプール情報を管理するスプール情報テーブルの一例を示す図である。
【図7】図6に示したスプール情報テーブルを管理するスプール情報リストの一例を示す図である。
【図8】本実施形態を示す画像処理システムにおけるデータ処理手順を説明するフローチャートである。
【図9】本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。
【図10】本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。
【図11】本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。
【図12】本実施形態を示す画像形成装置で管理されるスプール機器情報テーブル1200の一例を示す図である。
【図13】本実施形態を示す画像形成装置で管理されるスプール機器情報リストの一例を示す図である。
【図14】本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。
【図15】本発明に係る画像形成装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【0174】
101 SFP
102,103 MFP
104 クライアントPC
107 スプーラ利用制御部
【技術分野】
【0001】
本発明は、画像処理を行った画像データを一旦記憶し、記憶した画像データを再利用して印刷する画像形成装置における画像処理に関するものである。
【背景技術】
【0002】
近年の画像形成装置は、複数部印刷時に画像処理済みの画像データを一旦記憶装置に記憶し、二部目以降では記憶した画像処理済み画像データを利用することで、二部目以降での画像処理を省略し、高速な印刷をすることが可能である。
【0003】
この場合において、画像形成装置内に大容量の記憶装置が存在する場合には、画像処理済みの画像データを自装置内の記憶装置に一旦格納し、二部目以降で再利用する装置が一般的である。
【0004】
しかしながら、自装置内に大容量の記憶装置を備えていない画像形成装置の場合であっても、画像処理済みの画像データを他の機器が備える記憶装置に記憶させて再利用する方法が提案されている(例えば特許文献1)。
【特許文献1】特開平8−123633号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
従来の画像形成装置において、自装置以外へ画像データを一時的に蓄積させる手法では、自装置に蓄積する場合と比較し、画像データを蓄積、読み出しする際の速度が蓄積先の装置の負荷変動や通信上の負荷変動によって遅くなる課題が存在する。
【0006】
例えば、蓄積先の装置が高負荷で処理が続いている状況下では、結果的に、画像処理後の画像データを外部の装置に蓄積し、さらに読み出しを行った方が却って遅くなってしまうという課題があった。
【0007】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、複数部数印刷処理時に、他の画像形成装置に蓄積される画像データを利用する印刷処理と、生成した画像データを利用する印刷処理とを切り換えながらを効率的に印刷処理を行える仕組みを提供することである。
【課題を解決するための手段】
【0008】
上記目的を達成する本発明の画像形成装置は以下に示す構成を備える。
【0009】
通信媒体を介してホストから送信された印刷データを受信して画像処理を行う画像形成装置であって、前記通信媒体を介して前記画像処理後の画像データを他の画像形成装置に蓄積するネットワークスプール手段と、前記ネットワークスプール手段を用いずに毎回画像処理を行い印刷出力する第1の動作と、前記ネットワークスプール手段を用いて画像処理後の画像データをスプールし、スプールした画像処理後の画像データを再利用し印刷出力する第2の動作と、を選択的に実行するスプーラ利用制御手段と、を備えたことを特徴とする。
【発明の効果】
【0010】
本発明によれば、複数部数印刷処理時に、他の画像形成装置に蓄積される画像データを利用する印刷処理と、生成した画像データを利用する印刷処理とを切り換えながら効率的に印刷処理を行える。
【発明を実施するための最良の形態】
【0011】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【0012】
<システム構成の説明>
〔第1実施形態〕
図1は、本実施形態を示す画像形成システムの構成を説明する概念図である。本例は、通信媒体としてネットワーク(LAN105)を介して、複合機(MFP)102,103や、プリンタ(SFP)101、PC104が双方向に通信可能な画像形成システムの例である。
【0013】
図1に示すように、画像形成システムは、複数の画像形成装置を含み、画像形成装置の種別としては複合機(MFP)102,103や、プリンタ(SFP)101、などが存在する。
【0014】
各画像形成装置は、図2に示すネットワークインタフェース204を備えLAN105に接続しており、ネットワークによる通信が可能である。
【0015】
なお、図1に示したシステム構成では、プリンタ(SFP)101、複合機MFP102、複合機MFP103、PC104が、LAN105に接続しているという構成例であり、お互いに装置情報やデータの交換を行うことが可能である。
【0016】
また、図1で図示した本実施形態では、複数部印刷時にSFP101がMFP102に画像処理後の画像データをスプールして再利用するか、SFP101が毎回画像処理を行うかを制御するスプーラ利用制御の基本動作について図示している。
【0017】
まず、SFP101はPC104から複数部印刷の印刷JOB106を受信する。複数部を印刷する印刷JOBを受信した場合、SFP101は、スプーラ利用制御部107により、毎回画像処理した方が速いか、他の画像形成装置が備えるスプーラを利用した方が速いかを後述する手順に基づいて判断する。そして、スプーラ利用制御部107は、上記判断に従い、スプーラを利用しないで毎回画像処理を行い印刷出力する動作を第1の動作とし、スプーラを利用して印刷出力する第2の動作を切り換えながら、継続する最終部数まで印刷処理を実行する。このようにスプーラ利用制御部107は、第1の動作と第2の動作とを選択的に切り換えることで、ネットワーク上のトラフィックの負荷変動に適応した部数印刷処理を実行させるように、SFP101の印刷処理を制御する。
【0018】
ここで、スプーラ利用制御部107により、スプーラを利用すると決定した場合、まず、最初の第1部目は、他の画像形成装置、例えばMFP102が備える記憶装置に対して、画像処理済の画像データ110をスプールし、SFP101で印刷する。
【0019】
次の部からは、既にMFP102が備える記憶装置にスプールした画像処理済みの画像データ111を読み出し、SFP101が印刷出力109のみを実行する。
【0020】
もし、MFP102から読み出される画像データ111の読み出しが遅くなった場合、スプーラ利用制御部107は、スプーラを利用しない制御に切り替え、以降の第2部以降からは画像処理部108でRIPを行い、印刷処理を実行する。
【0021】
一方、スプーラ利用制御部107により、スプーラを利用しないと判断した場合には、受信した印刷データを毎回、画像処理部108で処理して、部数分繰り返して印刷出力109を得る印刷処理を実行する。
【0022】
以上、本発明のシステム構成と基本動作について説明したが、以下において具体的な実施方法について図面を用いて詳細に説明する。
【0023】
まず、図2を用いて画像形成装置である複合機、プリンタの内部構成を説明する。
【0024】
図2は、図1に示した画像形成装置の構成を説明するブロック図である。本例は、図1に示したMFP102、103、SFP101のハードウエアの構成に対応するが、SFP101は、後述するようにスキャナとして機能する手段を備えていないとともに、ハードディスク等の外部記憶装置も備えていない。
【0025】
図2において、200は複合機全体である。複合機200は、ROM202あるいは例えばハードディスクなどの大規模な記憶装置、例えばハードディスク(HD)210に記憶されたソフトウェアを実行するCPU201を備える。そして、CPU201はシステムバス213に接続される各デバイスを総括的に制御する。
【0026】
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。205は外部入力コントローラ(PANELC)で、複合機に備えられた各種ボタンあるいはタッチパネル(PANEL)206等からの指示入力を制御する。
【0027】
207はディスプレイコントローラ(DISPC)で、例えば液晶ディスプレイなどで構成される表示モジュール(DISPLAY)208の表示を制御する。
【0028】
204はネットワークインタフェースコントローラ(NIC)で、LAN214を介して、他のネットワーク機器あるいはファイルサーバ等と双方向にデータをやりとりする。211は、例えば電子写真方式あるいはインクジェット方式などで実現される紙への印刷部(PRINTER)である。
【0029】
212は画像読み取り部(SCANNER)で、紙に印刷された画像を読み込む。なお、多くの場合、画像読み取り部212にはオプションとしてオートドキュメントフィーダ(不図示)が装着されており、複数枚の原稿を自動的に読み込むことができる。
【0030】
また、大規模の記憶装置で構成されるHD210は、ディスクコントローラ209によって読み書きの制御が行われる。大規模の記憶装置で構成されるHD210は、生成した画像データ又は、他の画像形成装置から取得する処理済の画像データの一時記憶場所(スプーラ部)としても使われる。
【0031】
また、図1のプリンタ(SFP)101の内部構成は、図2の複合機と基本的に近い構造になっているが、画像読み取り部212は存在せず、紙への印字を主目的とした構成である。また、安価なプリンタでは大規模な記憶装置で構成されるHD210やそれを制御するディスクコントローラ209は装着されていない。
【0032】
以下、まず、スプーラを利用しない場合と利用する場合の基本処理フローについて図3と図4を用いて説明する。
【0033】
図3は、本実施形態を示す画像形成装置におけるデータ処理手順を示すフローチャートである。本例は、スプーラを利用しない場合の複数部印刷の処理フローである。なお、S301〜S305は各ステップを示し、各ステップは、CPU201がRAM203にモジュールをロードして実行することで実現される。ここで、モジュールは、ROM202に記憶されている。
【0034】
S301で、ホストPC104から送信された印刷データをNIC204を介して受信すると、S302で、CPU201は、ROM202から読み出すモジュールを実行して、受信した印刷データに対して、受信した印刷データを中間言語に変換するPDL処理をRAM203上で行う。
【0035】
次に、CPU201は、ROM202から読み出すモジュールを実行して、S302で生成された中間言語から画像データを生成し様々な画像処理を行うRIP処理を行う。そして、S304で、生成された画像データをプリンタ211に出力し、記録媒体に印刷を行う。
【0036】
次に、S301〜S304の処理を最終部まで繰り返したかどうかをCPU201が判断し、繰り返していないと判断した場合は、S301へ戻り、CPU201は複数部の印刷を行う。
【0037】
一方、S305で、繰り返しているとCPU201が判断した場合は、本処理を終了する。
【0038】
次に、MFP102,103が備える記憶装置に確保されるスプーラを利用する場合の複数部印刷の処理フローを説明する。
【0039】
図4は、本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。本例は、スプーラを備えていない画像形成装置として機能するSFP101が外部の画像形成装置として機能する、例えばMFP102、103が備える記憶装置をスプーラにスプールして印刷を行う処理例である。なお、S401〜S411は各ステップを示し、各ステップは、CPU201がRAM203にモジュールをロードして実行することで実現される。ここで、モジュールは、ROM202に記憶されている。
【0040】
S401で、SFP101は、先ほどと同様、ホストPC104から印刷データを、NIC204を介して受信する。次に、CPU201は、詳細は後述する画像処理時間を測定する処理を開始する。
【0041】
次に、S403で、CPU201はモジュールを実行して、受信した印刷データを中間言語に変換するPDL処理をRAM203上で行う。そして、S404で、CPU201はモジュールを実行して、中間言語から画像データを生成し様々な画像処理を行うRIP処理を行う。次に、S405で、CPU201はモジュールを実行して、画像処理時間測定処理を終了し、PDL処理、RIP処理した時間の測定結果から、測定時間GT、データサイズDを得る。なお、測定時間GT、データサイズDは、RAM203上に保持される。
【0042】
次に、S406で、CPU201がスプーラ利用を制御するモジュールを実行して、他の画像形成装置の中からどの装置にスプールするか、スプーラを備える画像形成装置の候補を選定する処理を実行する。なお、スプーラを選定する処理は、詳述する。
【0043】
次に、S407で、他の画像形成装置のスプーラを利用するかどうかを判断する処理を行う。そして、S408で、他の画像形成装置(ここでは例としてMFP102)へ画像データを転送し、MFP102が備える記憶装置にスプールする処理を行う。
【0044】
そして、S409で、CPU201はモジュールを実行して、一部目の出力のために生成された画像データをプリンタ211に出力して、記録媒体に印刷を行う。
【0045】
次に、S411で、CPU201は、部単位の出力が最終部か否かを判断して、最終部であると判断した場合は、本処理を終了する。
【0046】
一方、S411で、まだ、続いて出力すべき部があるとCPU201が判断した場合は、ネットワーク214を介してMFP102が備える記憶装置にスプールした画像データを読み込む処理をCPU201が行い、S409へ戻る。
【0047】
これにより、他の画像形成装置として機能するMFP102にスプールした画像データを読み込みながら、二部目以降の印刷処理をSFP101が行うことで、効率よく画像データを印刷することができる。
【0048】
<ネットワークを介したスプール機能の説明>
ここでは、ネットワークで接続される他の画像形成装置が備える記憶装置に画像データを蓄積するスプール処理について説明する。
【0049】
図5は、本実施形態を示す画像処理システムにおけるデータ処理手順を説明するフローチャートである。なお、S501、S504は、スプーラを利用する側、図1に示したSFP101側の処理に対応し、S502〜S506はスプーラを提供する側、図1に示したMFP102側の処理に対応する。ここで、各ステップは、SFP101、MFP102のCPU201がモジュールをRAM203にロードして実行することで実現される。以下、ネットワーク上の他の画像形成装置が備えるスプーラを用いる印刷処理について説明する。
【0050】
まず、S501で、スプーラを利用する側のSFP101は、スプーラを提供する側の例えばMFP102に対し、スプール要求のメッセージを送信する。ここで、スプーラを利用する側の画像形成装置は、図1でいうとSFP101に対応し、スプーラを提供する側の画像形成装置は、提供側とは、図1でいうとMFP102に対応する。以下、いずれかをSFP101、MFP102のいずれかで説明する。
【0051】
次に、S502で、MFP102のCPU201は、SFP101からのスプール要求を受信し、S503で、MFP102が備える記憶装置、例えばHD210に必要なスプール領域を予約する。ここで、MFP102のCPU201が実行するスプール領域の予約とは、要求されたサイズのファイルを、HD210に仮生成することで領域を確保することで行われる。
【0052】
次に、S504で、SFP101は、スプールすべき画像データをMFP102へLAN105を介して送信し、MFP102は、S505で、LAN105を介して画像データを受信し、HD210へ格納する。そして、S506で、MFP102は、SFP101から受信した画像データを全てHD210に格納し終わると、S506へ進む。そして、S506で、MFP102のCPU201は、スプールデータを管理するスプール情報リスト全体700へスプールした画像データの情報を記録して、本処理を終了する。
【0053】
次に、このHD210にスプールした画像データを管理するスプール情報リスト全体700について、図6、図7を用いて説明する。
【0054】
図6は、図1に示したMFP102がSFP101より受信するスプール情報600を管理するスプール情報テーブルの一例を示す図である。
【0055】
図6において、601はJOB−IDで、受信した印刷JOBを識別する識別子が保持される。602はRequestDeviceで、本実施形態では、SFP101を特定する情報が保持される。より具体的には、スプーラを利用する側のデバイスの名前を格納する。したがって、図1でいうと、RequestDevice602の値は、SFP101のホスト名(もしくはIPアドレスなどのネットワークアドレス)に相当する。
【0056】
603はFileNameで、HD210に格納した画像データのファイル名が保持される。604はsizeで、スプールする画像データのデータ量を特定する情報が保持される。MFP102は、上記各情報を含むスプール情報600をスプール情報リスト全体700に格納することで、SFP101から受信してHD210にスプールした画像データの情報を管理する。
【0057】
なお、RequestDevice602とJOB−ID601の組により、ネットワーク上のどの画像形成装置から送信されたどのJOBの画像データであるかを一意に特定することができる。これらのスプール情報600を参照して、スプールされた画像データを管理し、SFP101からスプールされた画像データを読み出す要求が発生した際にも、このスプール情報600を用いて読み出すべき画像データを特定して要求元のSFP101にネットワークを介して送信することができる。
【0058】
図1に示したMFP102は、HD210に蓄積した画像データのスプール情報600を管理する図6に示す管理テーブルをリスト構造に連結してスプール情報の管理を行う。
【0059】
図7は、図6に示したスプール情報テーブルを管理するスプール情報リストの一例を示す図である。
【0060】
図7において、700はスプール情報リスト全体で、リストヘッド701に続いて、スプール情報テーブル702、703がリンクする。最初に作成したスプール情報テーブル702には、作成したテーブルがスプール情報テーブル703にリンクさせ、これを繰り返すことで情報リストが作成できる。
【0061】
次に、MFP102のHD210にスプールした画像データを読み出す処理について説明する。
【0062】
図8は、本実施形態を示す画像処理システムにおけるデータ処理手順を説明するフローチャートである。なお、S801、S805〜S809は、スプーラを利用する側、図1に示したSFP101側の処理に対応し、S802〜S804,S810〜S812はスプーラを提供する側、図1に示したMFP102側の処理に対応する。ここで、各ステップは、SFP101、MFP102のCPU201がモジュールをRAM203にロードして実行することで実現される。以下、MFP102のHD210にスプールした画像データを読み出す処理について説明する。
【0063】
まず、S801で、SFP101は、読み出し要求をMFP102に送信する。次に、S802で、MFP102は、SFP101から送信された読み出し要求を受信し、S803で、要求されたスプールデータを確認する。ここで、スプールデータの確認は、MFP102のCPU201が上述した図7で説明したスプール情報リスト全体700を検索して、要求されている画像データがあるかどうかを判断することで行う。
【0064】
具体的には、MFP102のCPU201は、スプールした画像データを利用する側のデバイスを示すRequestDevice602とJOB−ID601の組により、要求された画像データを特定する。このようにして画像データを特定できると、S804で、MFP102のCPU201は、その画像データをHD210から読み出して、スプールした画像データを利用するSFP101側へ送信する。以後、S810で、MFP102は、スプールされている画像データを消去するための消去要求待ち状態となる。
【0065】
これにより、MFP102のHD210にスプールした画像データを利用するSFP101側は、S805で、SFP101のCPU201が読み出し時間を測定する処理を開始し、S806で、MFP102側から送信された画像データを受信する。
【0066】
実際には、MFP102から受信した画像データを用いて印刷を行うが、スプール処理機能の説明から外れるため、このフローチャートには含めない。
【0067】
このようにしてSFP101が画像データを受信する処理が完了すると、S807で読み出し時間を測定する処理を終了し、開始した時刻と、完了した時刻とから読み出し時間(RT)を記録しておく。この読み出し時間(RT)は、スプーラ利用制御を行う際に必要な情報であるが、詳しくは後述する。
【0068】
ここで、SFP101は、印刷JOBを複数部印刷する処理であるため、印刷すべき部が指定されている部数に対応する最終部かどうかをSFP101のCPU201が判定する。ここで、SFP101のCPU201が最終部であると判断した場合は、S809で、SFP101のCPU201は、MFP102のHD210にスプールされている画像データを消去する要求をMFP102に送信する。
【0069】
一方、スプールされている画像データを提供するMFP102側は、S810の消去要求待ちの状態で、SFP101から受信した要求が、SFP101からの消去要求であるかどうかをMFP102のCPU201が判断する。ここで、MFP102のCPU201が消去要求であると判断した場合は、S812で、MFP102のHD210にスプールしている画像データを消去して、本処理を終了する。
【0070】
一方、S811で受信した要求が消去要求ではなく、次の読み出し要求があるとMFP102のCPU201が判断した場合は、S802へ戻り、HD210にスプールされている画像データを読み出す処理を継続する。
【0071】
なお、MFP102のHD210にスプールされている画像データを消去する処理は、MFP102のCPU201が管理しているスプール情報リスト全体700、該当するスプール情報テーブルを削除し、HD210から該当ファイルを削除することで消去を行う。
【0072】
<スプーラを利用するかどうを決定する処理>
図9は、本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。本例は、図1に示したスプーラ利用制御部107による処理であって、印刷を実行する画像形成装置が実際にスプーラを利用するかどうかを制御する処理例である。なお、S901〜S911は各ステップを示す。また、各ステップは、SFP101のCPU201がモジュールをRAM203にロードして実行することで実現される。ここで、スプーラ利用制御部107は、SFP101に記憶されたモジュールとして構成され、SFP101のCPU201が当該モジュールを実行することで、スプーラ利用制御処理が実行される。
【0073】
まず、S901で、スプーラ利用制御部107は、MFP102のHD210に確保されるスプーラへの書き込み時と、読み込み時でそれぞれ機能するため、要求が書き込み時か、読み出し時かを判断する。ここで、要求が書き込み時であるとスプーラ利用制御部107が判断した場合は、S902へ進む。そして、S902で、スプーラ利用制御部107は先の処理で測定されている画像処理時間(GT)と最短印刷時間(PT)とを比較し、最短印刷時間(PT)の方が長いかどうかを判断する。ここで、最短印刷時間(PT)の方が長いとスプーラ利用制御部107が判断した場合は、S908へ進み、スプーラ利用制御部107は、スプールを利用しないモードにする。
【0074】
なお、上記画像処理時間と最短印刷時間に基づいたスプーラ利用制御処理については、詳細を後述する。
【0075】
一方、S902で、画像処理時間(GT)より最短印刷時間(PT)の方が短いとスプーラ利用制御部107が判断した場合は、スプーラを利用した方が有利である可能性がある。
【0076】
そこで、S903で、スプーラ利用制御部107は、スプール書き込み速度の計測を開始する。ここで、S904で、ダミーデータ(実際の画像データの一部のみ)をMFP102のHD210にスプールし、S905で、それにかかった時間を記録する。
【0077】
そして、スプーラ利用制御部107は測定した書き込み速度からスプールにかかる予測時間を求め、S906で、画像処理時間計測処理に基づく画像処理時間(GT)と予測時間を比較し、スプールを利用するか否かを判断する。具体的には、スプーラ利用制御部107は画像処理時間(GT)がスプール時間予測処理に基づくスプール予測時間(D/SP)よりも短いかどうかに基づいてスプールを利用するか否かを判断する。そして、画像処理時間(GT)がスプール予測時間(D/SP)よりも時間が短いとスプーラ利用制御部107が判断した場合は、S908へ進み、スプールを利用しないと判断して、本処理を終了する。
【0078】
一方、S906で、画像処理時間(GT)がスプール予測時間(D/SP)よりも時間が長いとスプーラ利用制御部107が判断した場合は、S907へ進み、スプールを利用すると判断して、本処理を終了する。
【0079】
なお、画像処理時間とスプール予測時間に基づいたスプーラ利用制御処理については詳細を後述する。
【0080】
次に、HD210にスプールした画像データを読み出し処理を行った時点でのスプール利用制御処理について説明する。
【0081】
S901で、要求が読み出しであるとスプーラ利用制御部107が判断した場合は、S909で、画像処理時間(GT)と読み出し時間(RT)を比較し、GT<RTが成立するかどうかを判断する。ここで、スプーラ利用制御部107がGT<RTが成立していないと場合、すなわち、画像処理時間(GT)が読み出し時間(RT)よりも長いとスプーラ利用制御部107が判断した場合は、S910へ進み、そのまま継続してスプールを利用するモードとし、本処理を終了する。
【0082】
一方、S909で、画像処理時間(GT)よりも読み出し時間(RT)の方が長いとスプーラ利用制御部107が判断した場合は、S911へ進み、スプールを利用しないモードに変更して、本処理を終了する。なお、スプーラ読み出し時間を測定する処理と、読み出し時間と画像処理時間に基づくスプーラ利用制御処理については、詳細を後述する。
【0083】
<画像処理時間を計測する処理の説明>
以下、画像処理時間(GT)を計測する処理について図4のフローチャートを用いてここで説明する。
【0084】
図4において、SFP101において、クライアントPC104から受信した印刷データに対して、S403でPDL処理を始める直前に、S402で画像処理時間を測定する処理を開始する。そして、S403で、受信した印刷データを中間言語に変換するPDL処理を行い、S404で中間言語から画像データを生成し様々な画像処理を行うRIP処理を行う。
【0085】
このようにして、RIP処理が完了すると、S405で、画像処理時間の測定を終了し、測定した画像処理時間(GT)と、画像処理後の画像データサイズ(D)を、SFP101のCPU201は、例えばRAM203上に記憶しておく。本実施形態ではPDL処理も含めた時間を測定しているが、中間言語への変換処理がほとんど不要な画像形成装置においては、RIP処理時間の区間のみ測定してもよい。
【0086】
なお、一部の画像データを全てスプールする本実施形態の場合は、各ページ処理毎に時間を測定して1部分加算したものが画像処理の測定時間(GT)となる。また、画像データサイズについても同様で、各ページ処理毎の画像データサイズを1部分加算したものがデータサイズ(D)となる。
【0087】
また、後述するページ単位でのスプールにおいては、各ページごとの画像処理の測定時間とデータサイズを各々記録することになる。
【0088】
<スプール時間を予測する処理の説明>
以下、スプール時間を予測する処理について図9のフローチャートを用いてここで説明する。
【0089】
S903で、スプーラ利用制御部107がスプール書き込み速度の計測を開始し、S904でダミーデータをHD210にスプールし、S905でそれにかかった時間を記録する。
【0090】
この際、スプーラ利用制御部107が書き込むダミーデータとは、ネットワーク先の画像形成装置に書き込む速度が測定できればよいため、あらかじめ用意しておいた簡易的なデータでも良いし、実際に画像処理した画像データの一部分を書き込んでも良い。ここでは、あまり大きなデータで測定すると測定時間にかえって時間をとられてしまうため、小さなダミーデータで測定を行う。
【0091】
そして、スプーラ利用制御部107が実際の画像データサイズ(D)を測定した書き込み速度(SP)で割ると、それがスプールにかかる予測時間と見なせる。これがS906のスプール予測時間(D/SP)に対応する。
【0092】
<画像処理時間(GT)とスプール予測時間(D/SP)に基づくスプーラ利用制御部107による処理>
次に、前述のスプール時間を予測する処理により求まったスプール予測時間(D/SP)と画像処理時間(GT)に基づいてスプール時間を予測する処理について図9のフローチャートを用いて説明する。
【0093】
S906で、スプーラ利用制御部107が画像処理時間(GT)よりスプール予測時間(D/SP)が大きいと判断した場合には、スプールを利用しない方が有利と判断し、S908で、スプールを利用しないモードにする。
【0094】
一方、スプーラ利用制御部107が画像処理時間(GT)の方がスプール予測時間(D/SP)よりかかっていると判断した場合には、スプーラ利用制御部107がスプールを利用した方が有利と判断し、S907で、スプールを利用するモードにする。
【0095】
このようにして、SFP101のスプーラ利用制御部107は、画像データをネットワーク上のMFP102、103のHD210に確保されているスプーラを利用して蓄積した方がそれ以降の印刷がより高速に行えるかどうかを判断し、スプールを実行するか否かを制御する。
【0096】
このスプーラ利用制御部107のスプーラ利用を選択する制御により、ネットワーク先の画像形成装置にスプールする環境においても、スプール利用するか否かを制御して、より高速な印刷時間となるようにすることが可能となる。
【0097】
<画像処理時間と最短印刷時間に基づいてスプール時間を予測する処理>
次に、画像処理時間(GT)と最短印刷時間(PT)に基づいてスプール時間を予測する処理について図9のフローチャートを用いて説明する。
【0098】
S901で、書き込み時の処理であるとスプーラ利用制御部107が判断した場合、S902で、画像処理時間(GT)と最短印刷時間(PT)を比較する。そして、最短印刷時間(PT)の方が長いとスプーラ利用制御部107が判断した場合は、S908で、スプールを利用しないモードにする。
【0099】
ここで、最短印刷時間(PT)とは、印刷を実行する画像形成装置の最大印刷速度から決定される最短印刷時間のことである。
【0100】
例えば、毎分最大30枚の印刷性能を備えた画像形成装置の場合、1ページの最短印刷時間は2秒であり、これより速く出力する事はできない。よって1部あたりの最短印刷時間(PT)は、このプリンタエンジン性能から決まる1ページの最短印刷時間より簡単に導くことができる。ここで、画像処理時間(GT)より最短印刷時間(PT)の方が長いとスプーラ利用制御部107が判断した場合は、画像処理時間がプリンタエンジンの出力性能を上回るJOBであると判断できる。よって、この場合はスプールを利用しても印刷速度の向上は見込めないため、スプーラ利用制御部107がスプーラを利用しないと判断する。
【0101】
<スプーラから画像データを読み出す処理>
以下、スプール読み出し時間を計測する処理について図8のフローチャートを用いてさらに説明する。
【0102】
MFP102、103等のいずれかのHD210にスプールされた画像データを利用するSFP101側は、スプールされた画像データを提供するMFP102側から画像データを読み出す際、S805で、読み出し開始時に読み出し時間測定を開始する。そして、S806で、SFP101のNIC204がMFP102側から送信された画像データを受信する。そして、画像データの受信が完了すると、S807で、SFP101のCPU201が読み出し時間を測定する処理を終了し、読み出し時間(RT)を、例えばRAM203上に記録しておく。そして、後述するスプーラ利用制御部107でスプーラの利用するか否かの可否を判断する処理で利用する。
【0103】
<読み出し時間と画像処理時間に基づいたスプーラ利用制御部107の処理>
次に、上述したスプーラ読み出し時間を測定する処理により得られる読み出し時間(RT)と画像処理時間(GT)に基づいたスプーラ利用制御部107について、図9のフローチャートを用いてさらに説明する。
【0104】
図9に示すS909で、スプーラ利用制御部107が画像処理時間(GT)と読み出し時間(RT)を比較し、読み出し時間(RT)の方が長いとスプーラ利用制御部107が判断した場合は、S911で、スプールを利用しないモードにする。
【0105】
一方、読み出し時間(RT)の方が短いとスプーラ利用制御部107が判断した場合には、そのまま継続してスプールを利用するモード910とする。この読み出しサイクルにおけるスプール利用制御処理により、ネットワーク先の画像形成装置からの画像データ読み出しが遅くなった場合にそれを検知し、スプールの利用を止めることが可能となる。その結果、ネットワーク上のトラフィックの状況に適応して、より高速な印刷時間となるようにスプール利用制御処理で制御することが可能となる。ここまでで、ネットワーク上にスプールした画像データを利用可能な環境におけるスプーラ利用制御について各処理について説明してきた。
【0106】
<複数部印刷時の各部での動作フローの説明>
図10は、本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。以下、複数部印刷時における各場面での処理フロー(1部目、2部目、3部以降の処理の流れ)について説明する。なお、S1001〜S1015は各ステップを示す。また、各ステップは、SFP101のCPU201がモジュールをRAM203にロードして実行することで実現される。
【0107】
まず、S1001で、複数部数の1部目の処理として、印刷データの受信、画像処理、印刷の処理を行い、S1002で、図9を用いて既に説明を行ったスプーラ利用制御部107によりネットワークスプールの利用可否判断を行う。ここで、スプーラ利用制御部107が第1部目の印刷終了時に、ネットワークスプールを利用すると判断した場合、S1003で、スプーラ利用制御部107がネットワークスプールの利用を管理するフラグをONとし、S1004へ進む。本実施形態では、第1部目の印刷終了毎に、スプーラ利用制御部107がネットワークスプールを利用するか、しないかを判断して、いずれによる処理を選択して第2部目以降の処理を実行する。
【0108】
そして、S1004で、2部目に対する印刷データの受信、画像処理を行う。そして、S1005で、画像データの受信、画像処理を行うと共に、画像処理後の画像データをネットワークスプーラとして機能するMFP102のHD210に書き込み処理を行う。
【0109】
そして、スプール先の画像形成装置(図1の場合はMFP102)のHD210に画像データをスプールし、S1006で、二部目の画像データをSFP101のプリンタ211で印刷を行う。そして、3部目以降は、S1007で、既にMFP102のHD210にスプールしてある画像データを、スプール先の画像形成装置であるMFP102のHD210から読み出し、S1008で、MFP102より受信する画像データに基づいてSFP101のプリンタ211で印刷を実行する。
【0110】
次に、S1009で、スプーラ利用制御部107が印刷を実行した後、最終部か否かを判断し、最終部でないとスプーラ利用制御部107が判断した場合は、S1010へ進み、前述した読み出し時間と画像処理時間に基づいたスプーラ利用制御により後続の部でスプールを利用するかどうかをスプーラ利用制御部107が判断する。ここで、スプールを利用するとスプーラ利用制御部107が判断した場合は、そのまま次の部に対してもスプーラから読み出して印刷を行う。
【0111】
一方、S1010で、スプールを利用しないとスプーラ利用制御部107が判断した場合には、S1011で、ネットワークスプールを利用しないモードに変更し、S1014へ進み、後続の部は、データ受信、画像処理、印刷を毎回繰り返す。
【0112】
一方、S1002で、最初の1部目でのスプーラ利用制御部107によりネットワークスプールの利用する否かの可否判断により、ネットワークスプールを利用しないとスプーラ利用制御部107が判断した場合は、S1012へ進む。
【0113】
そして、S1012で、SFP101は、ネットワークスプールを管理するフラグをOFFとして、S1013で、2部目も1部目と同様、印刷データの受信、画像処理、印刷を行う。
【0114】
そして、S1014で、SFP101は、3部目以降も同じく印刷データの受信、画像処理、印刷と行う。そして、S1015で、スプーラ利用制御部107が印刷を実行した後、最終部かを判断し、最終部でないとスプーラ利用制御部107が判断した場合は、S1014へ戻る。
【0115】
一方、S1015で、最終部であるとスプーラ利用制御部107が判断した場合は、本処理を終了する。
【0116】
<空き容量情報に基づくスプール候補選定する処理>
図11は、本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。本例は、他の画像形成装置が備えるスプーラの空き容量情報に基づいてスプール候補を選定する処理例である。なお、S1101、S1107〜S1115は、スプーラを利用する側、図1に示したSFP101側の処理に対応し、S1102〜S1106はスプーラを提供する側、図1に示したMFP102、103等側の処理に対応する。ここで、各ステップは、SFP101、MFP102のCPU201がモジュールをRAM203にロードして実行することで実現される。以下、MFP102のHD210にスプールした画像データを読み出す処理について説明する。
【0117】
まず、スプールを利用する画像形成装置側とは、図1で表すと印刷JOBを実行するSFP101に対応する。また、スプール候補側とは、ネットワークスプーラとして機能することが可能な画像形成装置であって、図1に示したデータ処理システムでは、MFP102やMFP103に対応する。
【0118】
まず、S1101で、SFP101側は、まずスプーラ機器情報を要求するメッセージを同一ネットワーク上に存在する画像形成装置、本例ではMFP102,103にブロードキャストで送信する。
【0119】
これにより、S1102で、スプール候補側の画像形成装置であるMFP102、103は、スプーラ機器情報要求を受信すると、S1103で、MFP102、103は、CPU負荷を取得する。
【0120】
そして、S1104で、MFP102、103が備えるHD210に確保されるスプール領域の空き容量を取得する。そして、S1105で、MFP102、103は、取得した2つの情報を基に、スプーラ機器情報テーブルを生成する。
【0121】
そして、S1106で、MFP102、103は、生成したスプーラ機器テーブルをSFP101へ送信する。ここで、スプールした画像データを利用するSFP101側は、S1107で、ネットワーク上から応答される情報収集する処理を開始する。
【0122】
そして、S1108で、MFP102、103よりスプーラ機器テーブルを受信すると、S1109で、スプーラ機器情報リスト1300に受信したスプーラ機器テーブルを追加し、これを収集処理を終了するまで繰り返す。このようにS1108では、容量情報収集と、負荷情報収集との処理が実行されている。
【0123】
このようにして、スプーラ機器テーブルの収集処理が完了すると、S1110で、SFP101は、スプーラ機器情報リスト1300を空き容量が多い順にリスト並べ替える処理を実行し、リストの先頭から他の画像形成装置が備えるスプーラの画像蓄積領域に対する空き容量が多い順になるようにする。
【0124】
次に、S1111で、SFP101は、リストの先頭からスプーラ機器テーブルを読み出し、S1112〜S1115に基づく後続の負荷チェックで問題がないと判断した場合には、そのスプーラ機器テーブルの機器をスプール先に決定する。なお、負荷チェックの処理についての詳細は、後述する。
【0125】
このようにして、スプール領域の空き容量がより大きな画像形成装置を優先的にスプーラとして利用することで、スプール領域が圧迫されてしまう事態を防ぐことが可能となる。
【0126】
次に、スプーラ機器情報リストにどのように機器情報が記録されているかについて、図12、図13を用いて説明する。
【0127】
図12は、本実施形態を示す画像形成装置で管理されるスプール機器情報テーブル1200の一例を示す図である。本例では、構成要素として、Dev−ID1201、DeviceName1202、FreeSpace1203、CPU load1204を保持して、スプーラ機器情報の管理を行う例である。
【0128】
図12において、Dev−ID1201は画像生成装置を識別するための識別子である。DeviceName1202はスプーラ機器のデバイスの名前を格納する。図1でいうと、DeviceName1202の値は、MFP102やMFP103のホスト名(もしくはIPアドレスなどのネットワークアドレス)に相当する。
【0129】
FreeSpace1203はそのスプーラ機器の現状のスプール領域の空き容量を格納する。CPU load 1204は、そのスプーラ機器の現状のCPU負荷を格納する。これらの情報を参照して、スプーラ機器を管理し、このスプール機器情報を用いて最終的にどの画像形成装置にスプールするかを判断することができる。
【0130】
本例では、図12で説明したスプール機器情報テーブルを用いて、MFP102,103等から収集した各画像形成装置のスプーラ機器テーブルを格納した上で、図13に示すようにリスト構造にしてスプール機器情報テーブルを連結してスプール機器情報の管理を行う。
【0131】
図13は、本実施形態を示す画像形成装置で管理されるスプール機器情報リストの一例を示す図である。
【0132】
図13において、1300はスプーラ機器情報リスト全体である。1301はスプール機器情報のリストヘッドである。このリストヘッド1301に、最初に作成したスプール機器情報テーブル1302をリンクし、次に作成したスプール機器情報テーブル1303をスプール機器情報テーブル1302にリンクし、これを繰り返すことで情報リストが作成できる。
【0133】
<負荷情報に基づいてスプール候補を選定する処理>
続いて、負荷情報に基づくスプール候補選定手段について、図11のフローチャートを用いて説明する。
【0134】
図13に示すスプーラ機器情報リスト全体1300で管理されている画像形成装置の空き容量情報に基づいてスプール候補を選定する処理を説明する。
【0135】
図11に示したS1111で、図13に示したスプール機器情報リストの先頭から、まずスプール機器情報テーブルを読み出す。その後、S1112で、SFP101は、CPU負荷をチェックするか否かを判断する。ここで、CPU負荷をチェックすると判断した場合には、S1114で、スプール機器情報テーブルに記載したCPU負荷(図12に示したCPU load 1204)が閾値(LL)以下かどうかを判断する。なお、S1112で、CPU負荷をチェックしないと判断した場合は、S1113へ進む。
【0136】
また、S114で、CPU負荷が閾値以下であるとSFP101が判断した場合には、S1113で、そのスプール機器情報テーブルに該当する画像形成装置をスプール先として決定する。そして、CPU負荷もチェックすると判断した場合は、S1114で、CPU負荷が閾値(LL)以下であるかどうかをSFP101のスプーラ利用制御部107が判断する。ここで、スプCPU負荷が閾値(LL)以下であるとスプーラ利用制御部107が判断した場合は、S1113へ進み、そのスプール機器情報テーブルに該当する画像形成装置をスプール先として決定する。
【0137】
一方、S1114で、CPU負荷が閾値以下でないとスプーラ利用制御部107が判断した場合は、さらに、S1115で、参照しているリストが最後であるかどうかを判断する。ここで、スプーラ利用制御部107が最後のリストであると判断した場合は、S1111へ戻り、スプーラ利用制御部107が最後のリストでないと判断した場合は、S1113へ進む。
【0138】
なお、S1112でCPU負荷をチェックするか否かは、画像形成装置のタッチパネル206から設定を行うことにより、ユーザが選択可能である。また、S1114で負荷の閾値(LL)についても同様にユーザが設定可能である。この負荷情報に基づいて、スプール候補を選定する処理により、スプール候補が高負荷であった場合には、スプール機器情報リストから次候補に対して順々に閾値を下回るスプール機器を検索し、負荷を鑑みたスプール先を決定することができる。
【0139】
〔第2実施形態〕
上記第1実施形態では印刷データの1部全体の画像データをスプールする場合について説明したが、以下ページ単位でスプールを行うか否かを判断してスプールを行う場合の実施形態について説明する。
【0140】
なお、基本的な処理や制御は第1実施形態とほぼ共通なため、ここでは差異についてのみ説明を行う。
【0141】
<ページ単位によるスプール制御>
図14は、本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。本例は、処理単位をページ単位にした場合の複数部数印刷処理例である。以下、複数部数印刷時における(1部目、2部目以降の処理の流れを説明する。なお、S1401〜S1415は各ステップを示す。また、各ステップは、SFP101のCPU201がモジュールをRAM203にロードして実行することで実現される。
【0142】
複数部数のJOBが開始されると、S1401で、画像形成装置としてのSFP101が印刷データをクライアントPC104より受信し、画像処理をページ単位に行う。ここで、ページ単位で画像処理が終わるたびに、S1402で、スプーラ利用制御部107により、そのページの画像データをスプーラにスプールするか否かを判断する。ここで、判断処理については、すでに第1実施形態で説明した制御と同じである。そのページに対してスプールを利用するとスプーラ利用制御部107が判断した場合は、S1403で、そのページはスプール対象ページとし、スプールを利用しないとスプーラ利用制御部107が判断した場合は、S1404で、スプール非対象ページとする。
【0143】
次に、スプール対象ページとなったページの画像データは、S1405で、ネットワーク上の画像形成装置が備えるスプーラへの書き込み処理により、スプール先の画像形成装置(図1でいうMFP102)へ画像データをスプールしつつ、S1406で、そのページの印刷をSFP101のプリンタ211で行う。スプール手段は、第1実施形態と同じであるが、ページ単位でスプールを行うため、スプーラで格納されるファイルはページ単位で作成する。
【0144】
例えば、“spool−0001−page001“といったようにページ番号を加えた形式のファイル名で格納することで、ページを識別することが可能である。
【0145】
また、スプールした画像データを利用する画像形成装置側は、スプールしたページ番号を非図示の記憶領域に記憶しておく。なお、スプール非対象ページはそのまま印刷のみを行う。
【0146】
そして、S1407で、当該ページが最終ページであるか否かをスプーラ利用制御部107が判断する。ここで、最終ページでないとスプーラ利用制御部107が判断した場合は、S1401へ戻り、この一連の流れを最終ページまで繰り返す。
【0147】
一方、S1407で、最終ページであるとスプーラ利用制御部107が判断した場合は、S1408以降へ進む。
【0148】
そして、S1408で、2部目以降については、既にスプール済みのページかをスプーラ利用制御部107が判断する。ここで、スプールしていないページであるとスプーラ利用制御部107が判断した場合は、S1409で、クライアントPC104より印刷データを受信し、画像処理、印刷を行う。
【0149】
一方、S1408で、スプール済みのページであるとスプーラ利用制御部107が判断した場合は、S1410で、画像データをページ単位にスプールした画像形成装置として機能する、例えばMFP102から画像データを読み出し、S1411で、SFP101のプリンタ211が印刷する。
【0150】
そして、印刷後、S1412で、スプーラ利用制御部107は、読み出し時間が遅くなっているかどうかを判断する。そして、スプールしないとスプーラ利用制御部107が判断した場合は、S1413で、スプール非対象ページに変更する。
【0151】
なお、スプール非対象ページへの変更は、スプーラで格納されている該当ページのファイルを削除し、スプールデータ情報リストから該当テーブルを削除する処理を行うことで実現する。
【0152】
一方、S1412で、スプールするとスプーラ利用制御部107が判断した場合は、S1414で、当該ページが最終ページであるかいなかをスプーラ利用制御部107が判断する。
【0153】
そして、当該ページが最終ページでないとスプーラ利用制御部107が判断した場合は、S1408へ戻り、最終ページまで同様の処理を繰り返す。
【0154】
一方、S1414で、当該ページが最終ページであるとスプーラ利用制御部107が判断した場合は、S1415で、当該部が最終部であるかどうかをスプーラ利用制御部107が判断する。ここで、最終部でないとスプーラ利用制御部107が判断した場合は、S1408へ戻り、同様の処理を繰り返す。
【0155】
一方、S1415で、最終部であるとスプーラ利用制御部107が判断した場合は、本処理を終了する。
【0156】
このようにして、ページ単位でのスプールを制御することにより、1部全体をスプールするよりも更に効率的に印刷を行うことが可能である。
【0157】
〔第3実施形態〕
以下、図15に示すメモリマップを参照して本発明に係る画像形成装置で読み取り可能なデータ処理プログラムの構成について説明する。
【0158】
図15は、本発明に係る画像形成装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【0159】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0160】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0161】
本実施形態における図3〜図5、図8〜図11、図14に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0162】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0163】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0164】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0165】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
【0166】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0167】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
【0168】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0169】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0170】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0171】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。
【0172】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【図面の簡単な説明】
【0173】
【図1】本実施形態を示す画像形成システムの構成を説明する概念図である。
【図2】図1に示した画像形成装置の構成を説明するブロック図である。
【図3】図本実施形態を示す画像形成装置におけるデータ処理手順を示すフローチャートである。
【図4】本実施形態を示す画像形成装置におけるデータ処理手順を示すフローチャートである。
【図5】本実施形態を示す画像処理システムにおけるデータ処理手順を説明するフローチャートである。
【図6】図1に示したMFP102がSFP101より受信するスプール情報を管理するスプール情報テーブルの一例を示す図である。
【図7】図6に示したスプール情報テーブルを管理するスプール情報リストの一例を示す図である。
【図8】本実施形態を示す画像処理システムにおけるデータ処理手順を説明するフローチャートである。
【図9】本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。
【図10】本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。
【図11】本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。
【図12】本実施形態を示す画像形成装置で管理されるスプール機器情報テーブル1200の一例を示す図である。
【図13】本実施形態を示す画像形成装置で管理されるスプール機器情報リストの一例を示す図である。
【図14】本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。
【図15】本発明に係る画像形成装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【0174】
101 SFP
102,103 MFP
104 クライアントPC
107 スプーラ利用制御部
【特許請求の範囲】
【請求項1】
通信媒体を介してホストから送信された印刷データを受信して画像処理を行う画像形成装置であって、
前記通信媒体を介して画像処理後の画像データを他の画像形成装置に蓄積するネットワークスプール手段と、
前記ネットワークスプール手段を用いずに毎回画像処理を行い印刷出力する第1の動作と、前記ネットワークスプール手段を用いて画像処理後の画像データをスプールし、スプールした画像処理後の画像データを再利用し印刷出力する第2の動作と、を選択的に実行するスプーラ利用制御手段と、
を備えたことを特徴とする画像形成装置。
【請求項2】
前記スプーラ利用制御手段は、前記画像データに基づいて複数部数を印刷する場合における第1部目の印刷終了時に、続きの処理を第1の動作と、第2の動作とのいずれかを選択することを特徴とする請求項1記載の画像形成装置。
【請求項3】
前記スプーラ利用制御手段は、前記画像データに基づいて複数部数を印刷する場合における第2部目以降の印刷終了毎に、続きの処理を第1の動作と、第2の動作とのいずれかを選択することを特徴とする請求項1記載の画像形成装置。
【請求項4】
前記印刷データを画像処理するのにかかる時間を計測する画像処理時間計測手段と、
前記画像処理後の画像データを前記ネットワークスプール手段によって前記他の画像形成装置にスプールするのにかかる時間を予測するスプール時間予測手段とを備え、
前記スプーラ利用制御手段は、前記画像処理時間計測手段により計測した画像処理時間と前記スプール時間予測手段により予測されるスプール予測時間に基づいて、前記第1の動作を選択するか前記第2の動作を選択するかを決定することを特徴とする請求項1乃至3のいずれか1項に記載の画像形成装置。
【請求項5】
前記スプーラ利用制御手段は、前記画像処理時間計測手段により計測した画像処理時間と前記画像形成装置の最短印刷時間とに基づいて、前記第1の動作を選択するか前記第2の動作を選択するかを決定することを特徴とする請求項4に記載の画像形成装置。
【請求項6】
前記ネットワークスプール手段により前記他の画像形成装置から画像データを読み出す時間を測定する読み出し時間測定手段を備え、
前記スプーラ利用制御手段は、前記他の画像形成装置に蓄積された前記画像処理後の画像データを再利用して印刷を行う場合に、前記スプーラ読み出し時間測定手段により測定した読み出し時間と前記画像処理時間計測手段により計測した画像処理時間に基づいて、複数部数の印刷時における続きの処理を第1の動作に切り替えるかどうかを判断することを特徴とする請求項4又は5に記載の画像形成装置。
【請求項7】
通信媒体を介して通信可能な他の複数の画像形成装置に対して画像蓄積領域の空き容量情報を問い合わせて当該空き容量情報を収集する空き容量情報収集手段と、
前記空き容量情報収集手段により収集した空き容量情報に基づいてスプール候補とすべき他の画像形成装置を選定するスプール候補選定手段と、
を備えた請求項1乃至3のいずれか1項に記載の画像形成装置。
【請求項8】
通信媒体を介して通信可能な他の複数の画像形成装置に対して負荷情報を問い合わせて、当該負荷情報を収集する負荷情報収集手段と、
前記負荷情報収集手段により収集した負荷情報に基づいてスプール候補に選定するスプール候補選定手段と、
を備えたことを特徴とする請求項1乃至3のいずれか1項に記載の画像形成装置。
【請求項9】
前記スプーラ利用制御手段は、ページ単位で前記ネットワークスプール手段を利用するか否かを制御することを特徴とする請求項1乃至3のいずれか1項に記載の画像形成装置。
【請求項10】
通信媒体を介してホストから送信された印刷データを受信して画像処理を行う画像形成装置における画像処理方法であって、
前記通信媒体を介して画像処理後の画像データを他の画像形成装置に蓄積するネットワークスプールステップと、
前記ネットワークスプールステップを用いずに毎回画像処理を行い印刷出力する第1の動作と、前記ネットワークスプールステップを用いて画像処理後の画像データをスプールし、スプールした画像処理後の画像データを再利用し印刷出力する第2の動作と、を選択的に実行するスプーラ利用制御ステップと、
を備えたことを特徴とする画像処理方法。
【請求項11】
前記スプーラ利用制御ステップは、前記画像データに基づいて複数部数を印刷する場合における第1部目の印刷終了時に、続きの処理を第1の動作と、第2の動作とのいずれかを選択することを特徴とする請求項10記載の画像処理方法。
【請求項12】
前記スプーラ利用制御ステップは、前記画像データに基づいて複数部数を印刷する場合における第2部目以降の印刷終了毎に、続きの処理を第1の動作と、第2の動作とのいずれかを選択することを特徴とする請求項10記載の画像処理方法。
【請求項13】
前記印刷データを画像処理するのにかかる時間を計測する画像処理時間計測ステップと、
前記画像処理後の画像データを前記ネットワークスプールステップによって前記他の画像形成装置にスプールするのにかかる時間を予測するスプール時間予測ステップとを備え、
前記スプーラ利用制御ステップは、前記画像処理時間計測ステップにより計測した画像処理時間と前記スプール時間予測ステップにより予測されるスプール予測時間に基づいて、前記第1の動作を選択するか前記第2の動作を選択するかを決定することを特徴とする請求項10乃至12のいずれか1項に記載の画像処理方法。
【請求項14】
前記スプーラ利用制御ステップは、前記画像処理時間計測ステップにより計測した画像処理時間と前記画像形成装置の最短印刷時間とに基づいて、前記第1の動作を選択するか前記第2の動作を選択するかを決定することを特徴とする請求項13に記載の画像処理方法。
【請求項15】
前記ネットワークスプールステップにより前記他の画像形成装置から画像データを読み出す時間を測定する読み出し時間測定ステップを備え、
前記スプーラ利用制御ステップは、前記他の画像形成装置に蓄積された前記画像処理後の画像データを再利用して印刷を行う場合に、前記スプーラ読み出し時間測定ステップにより測定した読み出し時間と前記画像処理時間計測ステップにより計測した画像処理時間に基づいて、複数部数の印刷時における続きの処理を第1の動作に切り替えるかどうかを判断することを特徴とする請求項13又は14に記載の画像処理方法。
【請求項16】
通信媒体を介して通信可能な他の複数の画像形成装置に対して画像蓄積領域の空き容量情報を問い合わせて当該空き容量情報を収集する空き容量情報収集ステップと、
前記空き容量情報収集ステップにより収集した空き容量情報に基づいてスプール候補とすべき他の画像形成装置を選定するスプール候補選定ステップと、
を備えた請求項10乃至12のいずれか1項に記載の画像処理方法。
【請求項17】
通信媒体を介して通信可能な他の複数の画像形成装置に対して負荷情報を問い合わせる当該負荷情報を収集する負荷情報収集ステップと、
前記負荷情報収集ステップにより収集した負荷情報に基づいてスプール候補に選定するスプール候補選定ステップと、
を備えたことを特徴とする請求項10乃至12のいずれか1項に記載の画像処理方法。
【請求項18】
前記スプーラ利用制御ステップは、ページ単位で前記ネットワークスプールステップを利用するか否かを制御することを特徴とする請求項10乃至12のいずれか1項に記載の画像処理方法。
【請求項19】
請求項10乃至18のいずれか1項に記載の画像処理方法をコンピュータに実行させるためのプログラム。
【請求項1】
通信媒体を介してホストから送信された印刷データを受信して画像処理を行う画像形成装置であって、
前記通信媒体を介して画像処理後の画像データを他の画像形成装置に蓄積するネットワークスプール手段と、
前記ネットワークスプール手段を用いずに毎回画像処理を行い印刷出力する第1の動作と、前記ネットワークスプール手段を用いて画像処理後の画像データをスプールし、スプールした画像処理後の画像データを再利用し印刷出力する第2の動作と、を選択的に実行するスプーラ利用制御手段と、
を備えたことを特徴とする画像形成装置。
【請求項2】
前記スプーラ利用制御手段は、前記画像データに基づいて複数部数を印刷する場合における第1部目の印刷終了時に、続きの処理を第1の動作と、第2の動作とのいずれかを選択することを特徴とする請求項1記載の画像形成装置。
【請求項3】
前記スプーラ利用制御手段は、前記画像データに基づいて複数部数を印刷する場合における第2部目以降の印刷終了毎に、続きの処理を第1の動作と、第2の動作とのいずれかを選択することを特徴とする請求項1記載の画像形成装置。
【請求項4】
前記印刷データを画像処理するのにかかる時間を計測する画像処理時間計測手段と、
前記画像処理後の画像データを前記ネットワークスプール手段によって前記他の画像形成装置にスプールするのにかかる時間を予測するスプール時間予測手段とを備え、
前記スプーラ利用制御手段は、前記画像処理時間計測手段により計測した画像処理時間と前記スプール時間予測手段により予測されるスプール予測時間に基づいて、前記第1の動作を選択するか前記第2の動作を選択するかを決定することを特徴とする請求項1乃至3のいずれか1項に記載の画像形成装置。
【請求項5】
前記スプーラ利用制御手段は、前記画像処理時間計測手段により計測した画像処理時間と前記画像形成装置の最短印刷時間とに基づいて、前記第1の動作を選択するか前記第2の動作を選択するかを決定することを特徴とする請求項4に記載の画像形成装置。
【請求項6】
前記ネットワークスプール手段により前記他の画像形成装置から画像データを読み出す時間を測定する読み出し時間測定手段を備え、
前記スプーラ利用制御手段は、前記他の画像形成装置に蓄積された前記画像処理後の画像データを再利用して印刷を行う場合に、前記スプーラ読み出し時間測定手段により測定した読み出し時間と前記画像処理時間計測手段により計測した画像処理時間に基づいて、複数部数の印刷時における続きの処理を第1の動作に切り替えるかどうかを判断することを特徴とする請求項4又は5に記載の画像形成装置。
【請求項7】
通信媒体を介して通信可能な他の複数の画像形成装置に対して画像蓄積領域の空き容量情報を問い合わせて当該空き容量情報を収集する空き容量情報収集手段と、
前記空き容量情報収集手段により収集した空き容量情報に基づいてスプール候補とすべき他の画像形成装置を選定するスプール候補選定手段と、
を備えた請求項1乃至3のいずれか1項に記載の画像形成装置。
【請求項8】
通信媒体を介して通信可能な他の複数の画像形成装置に対して負荷情報を問い合わせて、当該負荷情報を収集する負荷情報収集手段と、
前記負荷情報収集手段により収集した負荷情報に基づいてスプール候補に選定するスプール候補選定手段と、
を備えたことを特徴とする請求項1乃至3のいずれか1項に記載の画像形成装置。
【請求項9】
前記スプーラ利用制御手段は、ページ単位で前記ネットワークスプール手段を利用するか否かを制御することを特徴とする請求項1乃至3のいずれか1項に記載の画像形成装置。
【請求項10】
通信媒体を介してホストから送信された印刷データを受信して画像処理を行う画像形成装置における画像処理方法であって、
前記通信媒体を介して画像処理後の画像データを他の画像形成装置に蓄積するネットワークスプールステップと、
前記ネットワークスプールステップを用いずに毎回画像処理を行い印刷出力する第1の動作と、前記ネットワークスプールステップを用いて画像処理後の画像データをスプールし、スプールした画像処理後の画像データを再利用し印刷出力する第2の動作と、を選択的に実行するスプーラ利用制御ステップと、
を備えたことを特徴とする画像処理方法。
【請求項11】
前記スプーラ利用制御ステップは、前記画像データに基づいて複数部数を印刷する場合における第1部目の印刷終了時に、続きの処理を第1の動作と、第2の動作とのいずれかを選択することを特徴とする請求項10記載の画像処理方法。
【請求項12】
前記スプーラ利用制御ステップは、前記画像データに基づいて複数部数を印刷する場合における第2部目以降の印刷終了毎に、続きの処理を第1の動作と、第2の動作とのいずれかを選択することを特徴とする請求項10記載の画像処理方法。
【請求項13】
前記印刷データを画像処理するのにかかる時間を計測する画像処理時間計測ステップと、
前記画像処理後の画像データを前記ネットワークスプールステップによって前記他の画像形成装置にスプールするのにかかる時間を予測するスプール時間予測ステップとを備え、
前記スプーラ利用制御ステップは、前記画像処理時間計測ステップにより計測した画像処理時間と前記スプール時間予測ステップにより予測されるスプール予測時間に基づいて、前記第1の動作を選択するか前記第2の動作を選択するかを決定することを特徴とする請求項10乃至12のいずれか1項に記載の画像処理方法。
【請求項14】
前記スプーラ利用制御ステップは、前記画像処理時間計測ステップにより計測した画像処理時間と前記画像形成装置の最短印刷時間とに基づいて、前記第1の動作を選択するか前記第2の動作を選択するかを決定することを特徴とする請求項13に記載の画像処理方法。
【請求項15】
前記ネットワークスプールステップにより前記他の画像形成装置から画像データを読み出す時間を測定する読み出し時間測定ステップを備え、
前記スプーラ利用制御ステップは、前記他の画像形成装置に蓄積された前記画像処理後の画像データを再利用して印刷を行う場合に、前記スプーラ読み出し時間測定ステップにより測定した読み出し時間と前記画像処理時間計測ステップにより計測した画像処理時間に基づいて、複数部数の印刷時における続きの処理を第1の動作に切り替えるかどうかを判断することを特徴とする請求項13又は14に記載の画像処理方法。
【請求項16】
通信媒体を介して通信可能な他の複数の画像形成装置に対して画像蓄積領域の空き容量情報を問い合わせて当該空き容量情報を収集する空き容量情報収集ステップと、
前記空き容量情報収集ステップにより収集した空き容量情報に基づいてスプール候補とすべき他の画像形成装置を選定するスプール候補選定ステップと、
を備えた請求項10乃至12のいずれか1項に記載の画像処理方法。
【請求項17】
通信媒体を介して通信可能な他の複数の画像形成装置に対して負荷情報を問い合わせる当該負荷情報を収集する負荷情報収集ステップと、
前記負荷情報収集ステップにより収集した負荷情報に基づいてスプール候補に選定するスプール候補選定ステップと、
を備えたことを特徴とする請求項10乃至12のいずれか1項に記載の画像処理方法。
【請求項18】
前記スプーラ利用制御ステップは、ページ単位で前記ネットワークスプールステップを利用するか否かを制御することを特徴とする請求項10乃至12のいずれか1項に記載の画像処理方法。
【請求項19】
請求項10乃至18のいずれか1項に記載の画像処理方法をコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2009−292047(P2009−292047A)
【公開日】平成21年12月17日(2009.12.17)
【国際特許分類】
【出願番号】特願2008−148087(P2008−148087)
【出願日】平成20年6月5日(2008.6.5)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成21年12月17日(2009.12.17)
【国際特許分類】
【出願日】平成20年6月5日(2008.6.5)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]