以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰り返さない。
図1は、本発明の実施の形態の1つにおける画像形成システムの全体概要を示す図である。図1を参照して、画像形成システム1は、ネットワーク2にそれぞれ接続された複合機(以下、「MFP」という)100,100Aと、PC200,200A,200B,200C,200Dとを含む。
ネットワーク2は、ローカルエリアネットワーク(LAN)であり、有線または無線を問わない。またネットワーク2は、LANに限らず、ワイドエリアネットワーク(WAN)、インターネット、または一般公衆回線を用いたネットワーク等であってもよい。
PC200,200A〜200Dは、一般的なコンピューターであり、ネットワーク2を介して接続されたMFP100,100Aそれぞれを制御するためのプリンタードライバプログラムおよびアプリケーションプログラムがインストールされており、アプリケーションプログラムを実行することにより生成したデータを、MFP100,100Aのいずれかで印刷することが可能である。
なお、図1においては2台のMFP100,100Aを示しているが、台数を限定するものではなく、1台以上がネットワーク2に接続されていればよい。MFP100,100Aのハードウェア構成は同じなので、ここでは特に言及しない限りMFP100を例に説明する。また、図1においては、5台のPC200,200A,200B,200C,200Dを示しているが、台数を限定するものではなく、1台以上がネットワーク2に接続されていればよい。PC200,200A,200B,200C,200Dのハードウェア構成は同じなので、ここでは特に言及しない限りPC200を例に説明する。
図2は、MFPのハードウェア構成の一例を示すブロック図である。図2を参照して、MFP100は、メイン回路110と、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、原稿読取部130が原稿を読み取って出力する静止画像を用紙等に形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、ユーザーインターフェースとしての操作パネル160と、を含む。
メイン回路110は、CPU111と、通信インターフェース(I/F)部112と、ROM(Read Only Memory)113と、RAM(Random Access Memory)114と、EEPROM(Electrically Erasable and Programmable ROM)115と、大容量記憶装置としてのハードディスクドライブ(HDD)116と、ファクシミリ部117と、CD−ROM((Compact Disc−ROM)119Aが装着される外部記憶装置119とを含む。
CPU111は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150および操作パネル160と接続され、MFP100の全体を制御する。ROM113は、CPU111が実行するプログラム、およびそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。また、RAM114は、原稿読取部130から連続的に送られてくる静止画像を一時的に記憶する。
操作パネル160は、MFP100の上面に設けられ、表示部160Aと操作部160Bとを含む。表示部160Aは、液晶表示装置(LCD)、有機ELD(Electroluminescence Display)等の表示装置であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部160Bは、複数のキーを備え、キーに対応するユーザーの操作による各種の指示、文字、数字などのデータの入力を受け付ける。操作部160Bは、表示部160A上に設けられたタッチパネルをさらに含む。
通信I/F部112は、MFP100をネットワーク2に接続するためのインターフェースである。CPU111は、通信I/F部112を介してPC200,200A,200B,200C,200Dとの間で通信し、データを送受信する。また、通信I/F部112は、ネットワーク2を介してインターネットに接続されたコンピューターと通信が可能である。
ファクシミリ部117は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部117は、受信したファクシミリデータを、HDD116に記憶する、または画像形成部140に出力する。画像形成部140は、ファクシミリ部117により受信されたファクシミリデータを用紙に印刷する。また、ファクシミリ部117は、HDD116に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
外部記憶装置119は、CD−ROM119Aが装着される。CPU111は、外部記憶装置119を介してCD−ROM119Aにアクセス可能である。CPU111は、外部記憶装置119に装着されたCD−ROM119Aに記録されたプログラムをRAM114にロードして実行する。なお、CPU111が実行するプログラムは、CD−ROM119Aに記録されたプログラムに限られず、HDD116に記憶されたプログラムをRAM114にロードして実行するようにしてもよい。この場合、ネットワーク2に接続された他のコンピューターが、MFP100のHDD116に記憶されたプログラムを書き換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、MFP100が、ネットワーク2に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD116に記憶するようにしてもよい。ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
図3は、PCのハードウェア構成の一例を示すブロック図である。図3を参照して、PC200は、それぞれがバス221に接続された、PC200の全体を制御する中央演算装置(CPU)201と、CPU201が実行するプログラム等を記憶するためのROM203と、CPU201の作業領域として用いられるRAM205と、LCD207と、大容量記憶装置としてのHDD209と、ユーザーの操作を受け付ける操作部211と、PC200を外部機器と接続するための通信I/F213と、外部記憶装置215と、PC200をネットワーク2に接続するためのネットワークI/F217と、を含む。
操作部211は、キーボード、またはマウス等のポインティングデバイスを含み、ユーザーがそれらに入力する操作を受け付ける。
外部記憶装置215には、CD−ROM215Aが着脱可能である。CPU201は、外部記憶装置215を介して、CD−ROM215Aにアクセス可能である。なお、ここでは、CPU201が実行するプログラムをROM203に記憶する例を示すが、CPU201がCD−ROM215Aに記憶されたプログラムをRAM205にロードして実行するようにしてもよい。また、CPU201が実行するプログラムを記憶する媒体としては、CD−ROM215Aに限られず、光ディスク(MO(Magnetic Optical Disc/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROM(Electronically EPROM)などの半導体メモリでもよい。
また、CPU201は、HDD209に記憶されたプログラムをRAM205にロードして実行するようにしてもよい。この場合、ネットワーク2に接続された他のコンピューターが、PC200のHDD209に記憶されたプログラムを書き換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、PC200が、ネットワーク2に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD209に記憶するようにしてもよい。ここでいうプログラムは、CPU201が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
図4は、PCが備えるCPUの機能の一例を示すブロック図である。図4に示す機能は、PC200が備えるCPU201がROM203、HDD209またはCD−ROM215Aに記憶されたドライバプログラムを実行することにより、CPU201に形成される機能である。
図4を参照して、CPU201は、ユーザーによる操作を受け付ける操作受付部51と、プリントの対象となるデータを取得するデータ取得部53と、データに基づいてページデータを生成するページデータ生成部55と、データに基づいてプリントデータを生成する画像処理部59と、ユーザーにより入力されたプリント条件でプリントデータを生成可能か否かを判断する実行可否判断部63と、代替条件を生成する代替条件生成部65と、影響度算出部67と、速度比較部61と、切換制御部57と、MFP100,100Aのうちユーザーにより指示された装置にプリントさせるプリント指示部69と、を含む。
操作受付部51は、ユーザーが操作部211に入力する操作を受け付ける。ここでは、ユーザーがPC200を操作して、PC200のHDD209またはRAM205に記憶されたデータを、MFP100にプリントさせる操作を入力する場合を例に説明する。この場合、ユーザーは、操作部211に、PC200のHDD209またはRAM205に記憶されたデータのうちからプリントの対象となるデータを指定する操作、プリント条件を設定する操作、およびプリントさせる装置としてMFP100を指定する操作を入力する。操作受付部51は、プリントの対象となるデータを指定する操作、プリント条件を設定する操作、およびMFP100を指定する操作を受け付ける。操作受付部51は、ユーザーにより指定されたデータを識別するためのデータ識別情報をデータ取得部53に出力し、ユーザーにより設定されたプリント条件をページデータ生成部55、速度比較部61および実行可否判断部63に出力し、指定されたMFP100を識別するための装置識別情報を速度比較部61およびプリント指示部69に出力する。
プリントの対象となるデータは、HDD209に記憶されたデータの他に、CPU201がアプリケーションプログラムを実行することにより生成されてRAM114に記憶されたデータを含む。
プリント条件は、文字のフォントを定めるフォント条件、写真などの画像データに対して実行される画像処理の実行有無または画像処理条件を含む。画像処理は、画像を拡大または縮小する変倍処理、画像の輪郭を強調するエッジ強調処理、人の赤目を修正する赤目補正、MFP100に色を合わせるガンマー補正、ハッチングパターンの密度を変更するパターン密度変更処理を含む。画像処理は、プリント条件によって定められるパラメータによって処理内容が特定される場合がある。たとえば、変更倍率処理は、解像度がパラメータとして設定され、エッジ強調処理は強調度合いがパラメータとして設定され、パターン密度変更処理は、密度がパラメータとして設定される。
データ取得部53は、操作受付部51からデータ識別情報が入力されることに応じて、データ識別情報で特定されるデータを取得する。データ取得部53は、データ識別情報で特定されるデータがHDD209に記憶されている場合、HDD209からそのデータを読み出し、RAM205に記憶する。データ取得部53は、データ識別情報で特定されるデータが、CPU201がアプリケーションプログラムを実行して生成されるデータならば、RAM206に記憶されているデータを特定し、処理対象に設定する。データ取得部53は、取得されたデータをページデータ生成部55、画像処理部59、および影響度算出部67に出力する。実際には、RAM205中でデータが記憶された位置を示すメモリアドレスを出力する。
ページデータ生成部55は、データ取得部53から入力されるデータに基づいて、操作受付部51から入力されるプリント条件に従ってページデータを生成する。ページデータは、ページ記述言語(PDL)で記述され、プリント条件に含まれる画像処理を実行する記述を含む。PDLは、PJL(Print Job Language)、PCL(Printer Control Language)およびPS(PostScript)コマンドを含む。ページデータ生成部55は、後述する切換制御部57から生成指示が入力されると、ページデータを生成し、生成されたページデータをプリント指示部69に出力する。
実行可否判断部63は、操作受付部51からプリント条件が入力されることに応じて、画像処理部59がプリント条件に従ってプリントデータを生成することが可能か否かを判断する。具体的には、実行可否判断部63は、プリント条件にフォント条件が含まれる場合に、画像処理部59がそのフォントの画像を生成することが可能か否かを判断する。換言すれば、プリンタードライバプログラムが、そのフォントの画像を含むか否かを判断する。フォントの画像を生成することが可能でなければプリントデータを生成できないと判断する。また、実行可否判断部63は、プリント条件が画像処理条件を含む場合に、画像処理部59がその画像処理条件に従ってラスターデータを画像処理することが可能か否かを判断する。換言すれば、プリンタードライバプログラムが、その画像処理を実行するための処理を含むか否かを判断する。画像処理を実行することが可能でなければ、プリントデータを生成できないと判断する。実行可否判断部63は、プリントデータを生成できないと判断する場合、プリント条件を含む代替条件生成指示を代替条件生成部65に出力する。実行可否判断部63は、プリントデータを生成できると判断する場合、プリント条件を含むプリント条件出力指示を代替条件生成部65に出力する。
代替条件生成部65は、代替条件生成指示が入力されることに応じて、プリント条件の一部を変更した代替条件を生成する。代替条件は、画像処理部59が実行するこが可能なフォント条件および画像処理条件を含む。具体的には、代替条件生成部65は、プリント条件で定められるフォント条件が、画像処理部59が生成することのできないフォントを定める場合、プリント条件で定められるフォントを代替フォントで置き換えることによって代替条件を生成する。代替条件生成部65は、代替フォントが代替可能なフォントを定めた代替フォントテーブルを予め記憶しており、代替フォントテーブルを参照して、代替フォントを決定する。
また、代替条件生成部65は、プリント条件で定められる画像処理条件が、画像処理部59が処理することのできない画像処理を定める場合、プリント条件で定められる画像処理条件をプリント条件から削除することによって代替条件を生成する。
代替条件生成部65は、プリント条件と代替条件との差分を影響度算出部67に出力する。代替条件生成部65は、実行可否判断部63から代替条件生成指示が入力されることに応じて、代替条件を生成し、生成された代替条件を画像処理部59に出力する。また、実行可否判断部63からプリント条件出力指示が入力されることに応じて、プリント条件を画像処理部59に出力する。
影響度算出部67は、代替条件生成部65からプリント条件と代替条件との差分が入力され、データ取得部53からプリントの対象となるデータが入力される。影響度算出部67は、プリント条件と代替条件とで相違する条件に基づいて影響度を算出する。影響度は、ページデータ生成部55によって生成されるページデータに基づいてMFP100が用紙に形成する画像と、画像処理部59によって生成されるプリントデータに従ってMFP100が用紙に形成する画像と、の差分を示す値である。
ページデータ生成部55によって生成されるページデータは、プリントの対象となるデータに基づいてプリント条件に従って生成されるデータである。画像処理部59によって生成されるプリントデータは、プリントの対象となるデータに基づいて代替条件に従って生成されるデータである。したがって、ページデータ生成部55によって生成されるページデータに基づいてMFP100が用紙に形成する画像と、画像処理部59によって生成されるプリントデータに従ってMFP100が用紙に形成する画像と、は文字のフォントが異なる場合と、画像処理の対象となる領域が異なる場合と、がある。
影響度算出部67は、MFP100に画像を形成させる前の段階で影響度を算出するので、ここでは、プリント条件と代替条件との差分がフォント条件の場合は文字のサイズを影響度とし、プリント条件と代替条件との差分が画像処理条件の場合は画像処理の対象となる領域のサイズを影響度にする。影響度算出部67は、プリント条件と代替条件との差分がフォント条件の場合は、プリント条件に従って用紙に形成される画像に含まれることになる文字のサイズを算出する。また、影響度算出部67は、プリント条件と代替条件との差分が画像処理条件の場合は、プリントの対象となるデータがプリント条件に従って用紙に形成される画像に含まれることになる画像処理の対象となる領域のサイズを算出する。影響度算出部67は、影響度を切換制御部57に出力する。影響度は、文字のサイズおよび/または領域のサイズである。
速度比較部61は、操作受付部51からMFP100の装置識別情報と、プリント条件とが入力される。速度比較部61は、操作受付部51から入力される装置識別情報で特定されるMFP100の処理速度と、画像処理部59の処理速度とを比較する。速度比較部61は、比較結果を切換制御部57に出力する。
速度比較部61は、MFP100が画像処理する処理速度と、画像処理部59が使用可能なハードウェア資源が画像処理する処理速度とを比較する。画像処理の処理速度は、ラスター処理の対象となるデータのデータ量によって処理速度が変動する。ここでは、ラスター処理は処理対象となるデータが複数のページを含む場合、ページ単位で実行されるので、画像処理の処理速度を、1分以内に処理することのできるページ数(PPM(Page Per Minute))で示す。また、処理速度の単位を統一するために、1ページのデータ量を、A4サイズのデータとし、解像度で示す。たとえば、解像度が300DPI(Dot Per Inch)のページデータは、1インチ当たり300個の画素が配列されたA4サイズのデータであることを示す。
ページサイズが大きくなると、画素数も増えるので、ラスター処理を実行するための演算回数が増加し、処理速度が低下する。1ページのデータ量が所定の値を超える場合には、メモリーの記憶容量が不足する場合があり、この場合にはHDDとの間でデータをスワッピングする必要がある。このため、データの入出力する新たな処理が加わるので、1ページのデータ量が所定の値を超える場合には、処理速度がさらに低下する。したがって、1ページのデータ量(解像度)ごとに処理速度を予め定める場合に、スワッピングが発生しないデータ量(解像度)に対応する処理速度に加えて、スワッピングが発生するデータ量(解像度)に対する処理速度を定めておくとよい。
図5は、MFPとPCそれぞれの処理速度の一例を示す図である。図5を参照して、解像度が、300DPI、600DPI、1200DPI、2400DPIのページのデータ量それぞれに対して、MFP100の処理速度と、PC200の処理速度を示す。PC200の処理速度は、画像処理部59が使用可能なハードウェア資源が画像処理する処理速度である。
MFP100の処理速度は、300DPI、600DPI、1200DPI、2400DPIのページのデータ量に対して、55ppm、50ppm、20ppm、5ppmがそれぞれ定められる。ページのデータ量が300DPIに対するMFP100の処理速度は55ppmであり、これは、A4サイズに解像度300DPIで画素が配列されたページのデータを、1分間に55ページを処理することを示す。
PC200の処理速度は、300DPI、600DPI、1200DPI、2400DPIのページのデータ量に対して、90ppm、80ppm、70ppm、30ppmがそれぞれ定められる。ページのデータ量が300DPIに対する画像処理部59の処理速度は90ppmであり、これは、A4サイズに解像度300DPIで画素が配列されたページのデータを、1分間に90ページを処理することを示す。
MFP100の処理速度は、ページのデータ量が1200DPI以上になると、処理速度が急激に遅くなる。これは、MFP100のRAM113のメモリー容量が、解像度が600DPI以下ではスワッピングが発生しない容量であり、ページのデータ量が1200DPI以上ではスワッピングが発生する容量であることを示している。一方、PC200の処理速度は、ページのデータ量が2400DPI以上になると、処理速度が急激に遅くなる。これは、PC200のRAM205のメモリー容量が、ページのデータ量が1200DPI以下ではスワッピングが発生しない容量であり、ページのデータ量が2400DPI以上ではスワッピングが発生する容量であることを示している。
ページのデータ量が300DPI、600DPIにおいては、PC200の処理速度は、MFP100の処理速度の2倍より小さいが、ページのデータ量が1200DPI、2400DPIにおいては、PC200の処理速度は、MFP100の処理速度の2倍より大きい。
なお、ここでは、処理速度の単位をPPMとし、解像度により定まるデータ量のページを1分で画像処理することが可能なページ数で示したが、この処理速度は一例であり、別の単位を用いるようにしてもよい。また、MFP100の処理速度と、PC200の処理速度とを、画像データのサイズごとに予め定めたテーブルを用いるようにしたが、画像データのサイズに基づいて、それぞれの処理速度を算出することができればよく、テーブルを用いる必要はない。また、MFP100から画像データのサイズごとの処理速度を取得するようにしたが、プリント条件により定まる解像度および用紙のサイズから画像データのサイズを算出し、画像データのサイズをMFP100に送信し、MFP100から処理速度を受信するようにしてもよい。
図4に戻って、速度比較部61は、操作受付部51から入力されるプリント条件で定まる用紙のサイズおよび解像度から画像データのサイズを決定する。また、速度比較部61は、MFP100から解像度ごとの処理速度を取得する。そして、速度比較部61は、画像データのサイズに対応する画像処理部59の処理速度と、画像データのサイズに対応するMFP100の処理速度と、を比較する。速度比較部61は、MFP100の処理速度を画像処理部59の処理速度で除算した値を倍率とし、倍率を切換制御部57に出力する。
なお、処理速度を、MFP100と画像処理部59とで予め定めておくのではなく、MFP100のハードウェア資源の能力と、画像処理部59が使用可能なハードウェア資源の能力と、から処理速度を算出するようにしてもよい。たとえば、速度比較部61は、MFP100からハードウェア資源に関するハードウェア情報を取得し、MFP100のハードウェア資源が画像処理する処理速度と画像処理部59が使用可能なハードウェア資源が画像処理する処理速度とを比較する。MFP100のハードウェア情報は、MFP100のCPU111の演算速度、RAM114の容量を含む。画像処理部59が使用可能なハードウェア資源は、CPU201の演算速度、RAM205の容量を含む。演算速度とRAMのメモリー容量とから処理速度を求める計算式を予め準備しておけばよい。
さらに、RAM114の空き容量およびRAM205の空き容量を、処理速度を算出するために用いるようにしてもよい。RAM114の空き容量およびRAM205の空き容量を、処理速度を算出するために用いることにより、CPU111およびCPU201の負荷を考量することができる。換言すれば、MFP100において、別の処理が実行されている場合、または、PC200において別のプログラムが実行されている場合などは、それぞれの負荷が変動する場合がある。このため、ある状況においては、MFP100の処理速度が画像処理部59の処理速度よりも早い場合あり、別の状況においては、MFP100の処理速度が画像処理部59の処理速度よりも遅くなる場合あり得る。なお、速度比較部61は、MFP100に予め定められた処理を実行させるベンチマークテストを実行させることによって、MFP100の処理速度を計測するようにしてもよい。
切換制御部57は、影響度算出部67から影響度が入力され、速度比較部61から倍率が入力される。切換制御部57は、倍率が所定倍率以上となる第1の条件と、影響度が所定の条件を満たす第2の条件とがともに満たさされるか否かを判断する。ここでは、所定倍率は、2倍とするのが好ましい。第2の条件は、影響度が文字のサイズを含む場合は、文字のサイズが予め定められたしきい値T1以下の場合に満たされる。また、第2の条件は、影響度が領域のサイズを含む場合は、領域のサイズが予め定められたしきい値T2以下の場合に満たされる。第2の条件は、影響度が文字のサイズおよび領域のサイズを含む場合は、文字のサイズがしきい値T1以下で、かつ、領域のサイズがしきい値T2以下の場合に満たされる。切換制御部57は、第1の条件と第2の条件とがともに満たされる場合には、画像処理部59に生成指示を出力し、プリントデータ生成部55には生成指示を出力しない。また、切換制御部57は、第1の条件と第2の条件とがともに満たされない場合、換言すれば、第1の条件が満たされない場合または第2の条件が満たされない場合には、プリントデータ生成部55に生成指示を出力し、画像処理部59に生成指示を出力しない。
画像処理部59は、代替条件生成部65から代替条件またはプリント条件が入力される。画像処理部59は、切換制御部57から生成指示が入力されると、データ取得部53から入力されるデータに基づいて、プリントデータを生成する。画像処理部59は、代替条件生成部65から代替条件が入力される場合は、データ取得部53から入力されるデータに基づいて、代替条件に従ってプリントデータを生成する。画像処理部59は、代替条件生成部65からプリント条件が入力される場合は、データ取得部53から入力されるデータに基づいて、プリント条件に従ってプリントデータを生成する。プリントデータは、ラスターフォーマットのデータであり、代替条件に従って画像処理を実行した後のデータである。
プリント指示部69は、操作受付部51からMFP100の装置識別情報が入力される。プリント指示部69は、ページデータ生成部55からページデータが入力される場合と、画像処理部59からプリントデータが入力される場合とがある。プリント指示部69は、ページデータ生成部55からページデータが入力される場合、ページデータをネットワークI/F217を介して、装置識別情報で特定されるMFP100に送信する。また、プリント指示部69は、画像処理部59からプリントデータが入力される場合、プリントデータをネットワークI/F217を介して、装置識別情報で特定されるMFP100に送信する。
図6は、プリンタ制御処理の流れの一例を示すフローチャートである。プリンタ制御処理は、PC200が備えるCPU201がROM203、HDD209またはCD−ROM215Aに記憶されたドライバプログラムを実行することにより、CPU201により実行される処理である。図6を参照して、CPU201は、データの指定を受け付ける(ステップS01)。ユーザーが操作部211に入力する操作に基づいて、HDD209またはRAM205に記憶されたデータの指定を受け付ける。
次のステップS02においては、プリント条件を受け付ける。ユーザーが操作部211に入力する操作に基づいて、プリント条件を受け付ける。プリント条件設定画面をLCD207に表示し、ユーザーがプリント条件設定画面に従って入力するプリント条件を受け付ける。なお、プリント条件として、デフォルトの値が設定されており、ステップS02では、デフォルトの値を変更する操作であってもよい。
ステップS03においては、プリンタの指定を受け付ける。ユーザーが操作部211に入力する操作に基づいて、MFP100,100Aのいずれか一方の指定を受け付ける。MFP100,100Aそれぞれの装置識別情報を選択可能に表示する装置選択画面をLCD207に表示し、ユーザーが装置選択画面に従って装置識別情報を選択する操作を入力すれば、選択された装置の指定を受け付ける。以下の説明では、MFP100が指定された場合を例に説明する。
ステップS04においては、ステップS03においてユーザーにより指定されたプリンタの処理速度を取得する。ここでは、MFP100と通信し、MFP100の処理速度を取得する。具体的には、MFP100に予め記憶されたデータ量(解像度)ごとの処理速度を取得する。
次のステップS05においては、ページを選択し、処理をステップS06に進める。ステップS01において指定されたデータが複数ページを含む場合に、処理対象となる1つのページを最初から順に選択する。ステップS01において指定されたデータが1つのページを含む場合はそのページを処理対象に選択する。
ステップS06においては、ステップS02において受け付けられたプリント条件でプリントデータを生成可能か否かを判断する。プリントデータを生成可能ならば処理をステップS07に進めるが、そうでなければ処理をステップS12に進める。プリント条件で定められる文字フォントをドライバプログラムが有してない場合、または、プリント条件で定められた画像処理をドライバプログラムが定めていない場合、プリントデータを生成不可能と判断する。
ステップS07においては、PC200の処理速度がMFP100の処理速度以上か否かを判断する。PCの処理速度がステップS04において取得されたMFP100の処理速度以上ならば処理をステップS08に進めるが、そうでなければ処理をステップS10に進める。PC200の処理速度とMFP100の処理速度とは、ページのデータ量によって異なるので、ステップS02においてユーザーにより受け付けられたプリント条件で定まる解像度および用紙のサイズからページのデータ量を算出し、算出されたページのデータ量に対応するPC200の処理速度とMFP100の処理速度とを比較する。
ステップS08においては、プリントデータを生成する。ステップS01において指定されたデータに基づいて、ステップS02において受け付けられたプリント条件に従ってプリントデータを生成する。プリントデータは、ラスターフォーマットのデータであり、プリント条件に含まれるフォント条件で定まるフォントの文字の画像を含み、プリント条件に含まれる画像処理条件で定まる画像処理を実行した後のデータである。次のステップS09においては、プリントデータをステップS03において指定されたMFP100に送信し、処理をステップS20に進める。
一方、ステップS10においては、ページデータを生成する。ステップS01において指定されたデータに基づいて、ステップS02において受け付けられたプリント条件に従ってページデータを生成する。ページデータは、プリンタ記述言語で記述され、プリント条件に含まれるフォント条件と、プリント条件に含まれる画像処理条件で定まる画像処理を実行させる記述を含む。次のステップS11においては、ページデータをステップS03において指定されたMFP100に送信し、処理をステップS20に進める。
ステップS20においては、未処理のページが存在するか否かを判断する。未処理のページが存在するならば処理をステップS05に戻すが、存在しなければ処理を終了する。
処理がステップS12に進む場合、ステップS02において受け付けられたプリント条件でプリントデータを生成不可能な場合である。ステップS12においては、代替条件を生成する。代替条件は、ステップS02において受け付けられたプリント条件の一部を変更したものである。代替条件は、画像処理部59が実行可能なフォント条件および画像処理条件を含む。具体的には、プリント条件で定められるフォント条件が、ドライバプログラムで定められていないフォントを定める場合、プリント条件で定められるフォントを代替フォントで置き換えることによって代替条件を生成する。代替フォントが代替可能なフォントを定めた代替フォントテーブルを予め記憶しており、代替フォントテーブルを参照して、代替フォントを決定する。また、ステップS02において受け付けられたプリント条件で定められる画像処理条件が、ドライバプログラムで定められていない画像処理を定める場合、プリント条件で定められる画像処理条件をプリント条件から削除することによって代替条件を生成する。
ステップS13においては、PC200の処理速度がMFP100の処理速度のT倍以上か否かを判断する。PC200の処理速度がMFP100の処理速度のT倍以上ならば処理をステップS14に進めるが、そうでなければ処理をステップS18に進める。Tは1以上の数であり、ここでは、T=2としている。PC200の処理速度とMFP100の処理速度とは、ページのデータ量によって異なるので、ステップS02においてユーザーにより受け付けられたプリント条件で定まる解像度および用紙のサイズからページのデータ量を算出し、算出されたページのデータ量に対応するPC200の処理速度とMFP100の処理速度とを比較する。
ステップS14においては、影響度を算出する。ステップS02において受け付けられたプリント条件とステップS12において生成された代替条件とで相違する条件に基づいて影響度を算出する。影響度は、プリント条件と代替条件との差分がフォント条件の場合は文字のサイズであり、プリント条件と代替条件との差分が画像処理条件の場合は画像処理の対象となる領域のサイズである。したがって、プリント条件と代替条件との差分がフォント条件の場合は、プリント条件に従って用紙に形成される画像に含まれることになる文字のサイズを算出し、プリント条件と代替条件との差分が画像処理条件の場合は、プリントの対象となるデータがプリント条件に従って用紙に形成される画像に含まれることになる画像処理の対象となる領域のサイズを算出する。
次のステップS15においては、影響度が所定の条件を満たすか否かを判断する。所定の条件は、影響度が文字のサイズを含む場合は、文字のサイズが予め定められたしきい値T1以下の場合に満たされる。所定の条件は、影響度が領域のサイズを含む場合は、領域のサイズが予め定められたしきい値T2以下の場合に満たされる。影響度が所定の条件を満たすならば処理をステップS16に進めるが、そうでなければ処理をステップS18に進める。
ステップS16においては、プリントデータを生成する。ステップS01において指定されたデータに基づいて、ステップS12において生成された代替条件に従ってプリントデータを生成する。プリントデータは、ラスターフォーマットのデータであり、代替条件に含まれるフォント条件で定まるフォントの文字の画像を含み、代替条件に含まれる画像処理条件で定まる画像処理を実行した後のデータである。次のステップS17においては、プリントデータをステップS03において指定されたMFP100に送信し、処理をステップS20に進める。
一方、ステップS18においては、ページデータを生成する。ステップS01において指定されたデータに基づいて、ステップS02において受け付けられたプリント条件に従ってページデータを生成する。ページデータは、プリンタ記述言語で記述され、プリント条件に含まれるフォント条件と、プリント条件に含まれる画像処理条件で定まる画像処理を実行させる記述を含む。次のステップS19においては、ページデータをステップS03において指定されたMFP100に送信し、処理をステップS20に進める。
ステップS20においては、未処理のページが存在するか否かを判断する。未処理のページが存在するならば処理をステップS05に戻すが、存在しなければ処理を終了する。
以上説明したように、本実施の形態におけるPC200は、MFP100を制御する制御装置として機能し、ユーザーにより入力されたプリント条件に従ってラスターフォーマットのプリントデータの生成が可能と判断されない場合、プリント条件の一部を変更した代替条件を生成し、プリント条件と代替条件とで相違する条件に基づいて、影響度を算出し、PC200の処理速度がMFP100の処理速度に対して2倍以上となる第1の条件と、影響度が所定の条件を満たす第2の条件とがともに満たさされる場合、プリントの対象となるデータに基づいて代替条件に従ってプリントデータを生成し、MFP100に送信し、MFP100にプリントデータの画像を用紙に形成させる。処理速度がMFP100の処理速度よりも2倍以上の場合に、PC200でラスターフォーマットに変換するので、MFP100の負荷を小さくなり、用紙に画像が形成されるまでのスループットを短くすることができる。また、影響度が所定の条件を満たす場合に、PC200でラスターフォーマットに変換するので、MFP100によって画像形成される画像の品質が低下するのを少なくすることができる。その結果、PC200においてプリント条件のすべてを実行できない場合であっても、用紙に形成される画像の画質を極力低下させないようにして用紙に画像が形成されるまでのスループットを短くすることができる。
また、PC200の処理速度がMFP100の処理速度よりも2倍以上でない場合、または影響度が所定の条件を満たさない場合は、プリント条件に従ってプリンタ記述言語で記述されるページデータを生成し、ページデータをMFP100に送信する。このため、用紙に形成される画像の画質が大きく低下する場合には、スループット時間よりも画質を優先することができる。
また、プリント条件と代替条件とで文字のフォントが相違する場合、代替条件に従って生成されるプリントデータにおける文字のサイズを影響度とし、影響度として算出された文字のサイズが所定のサイズ以下の場合は、代替条件に含まれるフォントの文字を含むプリントデータをMFP100に送信する。文字のサイズが所定のサイズ以下の場合には、プリント条件に含まれるフォントの文字とは異なるフォントの文字の画像が用紙に形成されるが、文字のサイズが小さい場合には、フォントの違いが目立たなくなるので、画質が低下するのを極力少なくすることができる。
また、プリント条件が画像処理を含み、代替条件がその画像処理を含まない場合、その画像処理の対象となる領域のサイズを影響度とし、影響度として算出された領域のサイズが所定のサイズ以下の場合は、その画像処理を実行しないプリントデータをMFP100に送信する。画像処理を実行しない画像が用紙に形成されるが、画像処理の対象となる領域のサイズが所定のサイズ以下の場合には、画像処理前後の画像の差が目立たなくなるので、画質が低下するのを極力少なくすることができる。
なお、上述した実施の形態においては、画像形成システム1において、制御装置の一例として、PC200,200A〜200Dを例に説明したが、図6に示した処理を実行するための制御方法または、その制御方法をPC200,200A〜200Dを制御するコンピューター(CPU201)に実行させるためのプリンタードライバプログラムとして発明を捉えることができるのは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。