JP5333259B2 - 画像形成装置、プログラム及び画像形成方法 - Google Patents

画像形成装置、プログラム及び画像形成方法 Download PDF

Info

Publication number
JP5333259B2
JP5333259B2 JP2010012677A JP2010012677A JP5333259B2 JP 5333259 B2 JP5333259 B2 JP 5333259B2 JP 2010012677 A JP2010012677 A JP 2010012677A JP 2010012677 A JP2010012677 A JP 2010012677A JP 5333259 B2 JP5333259 B2 JP 5333259B2
Authority
JP
Japan
Prior art keywords
band
rasterization
generated
print data
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010012677A
Other languages
English (en)
Other versions
JP2011148242A (ja
Inventor
昌裕 小澤
文人 秋山
純 黒木
貴久 松永
博司 野川
泰史 青山
邦和 佐藤
康貴 下原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2010012677A priority Critical patent/JP5333259B2/ja
Priority to US13/013,166 priority patent/US8665458B2/en
Publication of JP2011148242A publication Critical patent/JP2011148242A/ja
Application granted granted Critical
Publication of JP5333259B2 publication Critical patent/JP5333259B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00209Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax
    • H04N1/00222Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of image data generation or reproduction, e.g. scan-to-email or network printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • G06F3/1213Improving printing performance achieving reduced delay between job submission and print start at an intermediate node or at the final node
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1215Improving printing performance achieving increased printing speed, i.e. reducing the time between printing start and printing end
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/124Parallel printing or parallel ripping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/001Sharing resources, e.g. processing power or memory, with a connected apparatus or enhancing the capability of the still picture apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3212Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to a job, e.g. communication, capture or filing of an image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3278Transmission

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Record Information Processing For Printing (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、画像形成装置プログラム及び画像形成方法に関する。
PC(Personal Computer)等の外部装置で作成されたPS(PostScript:ポストスクリプト(登録商標))データやPDF(Portable Document Format)データ等の印刷データを、LAN等のネットワークを介して受信し、受信したデータを一旦中間形式のデータ(中間データ)に変換し、この中間データをラスタライズしてビットマップデータを生成し、印刷を行うプリンタ、MFP(Multi Function Peripheral)等の画像処理装置が普及している。
このような画像処理装置では、メモリ容量を削減させるために、1ページの印刷データを中間データに変換する際に複数のバンドに分割し、中間データに基づくビットマップデータの生成をバンド毎に実行して、画像形成を行う画像形成部の要求により順次転送することが行われている。
ここで、ラスタライズにかかる処理時間は、中間データの内容の複雑さに依存している。そして、ビットマップデータの転送は、画像形成部における画像の形成とともに所定時間毎に実行されなければならないので、ラスタライズにかかる処理時間が長すぎると、画像形成部の要求するタイミングにビットマップデータの転送が間に合わず、画像の欠落(オーバーラン)が生じてしまう。
すなわち、例えば、図22に示されるように、1ページの印刷データをディスプレイリスト等の中間データに変換して、これを複数のバンドに分割する。そして、分割されたバンドのうち、1番目のバンドB1から4番目のバンドB4までは、画像形成部の要求するタイミング(t1〜t4)となるまでにラスタライズが完了してビットマップデータの転送が可能となる。しかしながら、5番目のバンドB5は、その中間データの内容が複雑となっており、画像形成部の要求するタイミングまでにラスタライズが完了せず、ビットマップデータの転送が間に合わなくなる。このような場合に、ラスタライズが完了されていないオブジェクトなどの画像が欠落する。
このような問題に鑑み、従来の画像処理装置では、入力データの解析時に各バンドのラスタライズ時間を予測するものがある。そして、この画像処理装置は、画像形成部の要求するタイミングにラスタライズが間に合わないと判断したバンドについては、中間データ構造を再構成し、あるいは、ページ単位でラスタライズを行ってオーバーランを防止するようにしている(特許文献1)。
また、複数のCPUを用いて複数のバンドを並列でラスタライズして処理量を向上させるようにした画像処理装置がある(特許文献2)。
特開平10−307689号公報 特開2003−51019号公報
しかしながら、上記特許文献1に記載の画像処理装置では、中間データの再構成を行う場合には、処理が増加し、却って画像形成速度の低下につながってしまう。また、1ページ単位のラスタライズに変更した場合には、ビットマップデータを保存するためのメモリ領域が必要となってコストがかかる上に、画像形成部の起動がそれだけ遅くなるため、やはり、画像形成速度の低下につながってしまう。
また、上記特許文献2に記載の画像処理装置では、ラスタライズ化の速度の向上は図れるものの、画像形成部における画像形成速度は一定のため、画像形成部の要求するタイミングよりも必要以上に早くラスタライズしてもパフォーマンスの向上にはつながらない。それどころか、必要以上に早く生成したビットマップデータを保存しておくためのメモリ領域が必要となり、コストがかかってしまう結果となる。
本発明の課題は、メモリ領域の増大及び画像形成速度の低下を抑制して、処理効率よくオーバーランを回避することができる画像処理装置及びプログラムを提供することである。
以上の課題を解決するため、請求項1に記載の発明は、外部機器から入力されたページ印刷用の制御データに基づいて印刷データを生成し、該印刷データに基づいて画像の形成を行う画像形成装置において、
複数の演算処理部を含む制御部であって、
前記ページ印刷用の制御データに基づいて、所定のページについて、
所定のライン数で構成されるバンド単位に分割し、分割された前記バンド単位でディスプレイリストを生成するとともに、前記分割されたバンド単位で当該ディスプレイリストにより特定されたオブジェクトをラスタライズ処理してビットマップに変換するときの処理に要するラスタライズ予測時間を算出し、
前記所定のページについての全てのディスプレイリストが生成されたか否かを判断し、
前記所定のページについての全てのディスプレイリストが生成されたときに、前記分割されたバンド単位で、生成された前記ディスプレイリストに基づいてラスタライズ処理を行うことにより印刷データを生成し
成された前記印刷データを一定の出力間隔で規定された出力タイミングでバンド毎に順次出力する制御部と、
前記制御部より出力された前記印刷データに基づいて画像を形成する画像形成部と、 を備え、
前記制御部は、
前記算出されたラスタライズ予測時間に基づいてページ内の何れのバンドについても前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了すると判断したときには、各バンドのラスタライズ処理を前記複数の演算処理部のうちの何れか一つに担当させ、当該担当の演算処理部により各バンドに対するラスタライズ処理を先頭のバンドから前記一定の出力間隔で開始して印刷データを生成して、当該生成した印刷データを当該バンドに対応付けられた出力タイミングで出力し、
前記算出されたラスタライズ予測時間に基づいてページ内の何れかのバンドに関し当該バンドについて前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断したときには、当該バンドの印刷データの生成が当該バンドに対応付けられた出力タイミングに間に合うように、前記複数の演算処理部のうちの二以上により一或いは複数のバンドに関するラスタライズ処理を並行して実行し印刷データを生成し、当該生成した印刷データを当該バンドに対応付けられた出力タイミングで出力
前記複数の演算処理部のうちのラスタライズ処理を実行していない演算処理部に、前記所定のページよりも後のページについて、バンド単位に分割し、分割された前記バンド単位で、ディスプレイリストを生成するとともに、当該ディスプレイリストにより特定されたオブジェクトをラスタライズしてビットマップに変換するときの処理に要するラスタライズ予測時間を算出する処理を実行させる、
ことを特徴とする。
請求項2に記載の発明は、請求項1に記載の画像形成装置において、
前記制御部は、ページ内の何れかのバンドに関し、前記複数の演算処理部のうちの二以上により当該バンドについて前記生成されたディスプレイリストに基づいたラスタライズ処理を並行して実行しても前記出力間隔内で完了しないと判断したときには、当該バンドについての印刷データの生成を、前記先頭のバンドに関するラスタライズ処理の前に行うことを特徴とする。
請求項3に記載の発明は、請求項1又は2に記載の画像形成装置において、
前記制御部は、前ラスタライズ予測時間が前記出力間隔よりも大きい場合に、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断することを特徴とする。
請求項4に記載の発明は、請求項1〜3の何れか一項に記載の画像形成装置において、
前記制御部は、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断したときに、前記複数の演算処理部のうち印刷データの生成が可能なものを判定し、該判定された複数の演算処理部から少なくとも二以上により、一或いは複数のバンドに関するラスタライズ処理を並行して実行し印刷データを生成することを特徴とする。
請求項5に記載の発明は、請求項1〜4の何れか一項に記載の画像形成装置において、
前記制御部は、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断したときには、一の演算処理部における他のバンドの印刷データの生成中に、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断されたバンドについて、他の一以上の演算処理部によって並列して印刷データの生成を実行可能であることを特徴とする。
請求項6に記載の発明は、プログラムであって、
複数の演算処理部を有するコンピュータを、
外部機器より入力されたページ印刷用の制御データに基づいて、所定のページについて、所定のライン数で構成されるバンド単位に分割し、分割された前記バンド単位でディスプレイリストを生成するとともに、前記分割されたバンド単位で当該ディスプレイリストにより特定されたオブジェクトをラスタライズ処理してビットマップに変換するときの処理に要するラスタライズ予測時間を算出し、前記所定のページについての全てのディスプレイリストが生成されたか否かを判断し、前記所定のページについての全てのディスプレイリストが生成されたときに、前記分割されたバンド単位で、生成された前記ディスプレイリストに基づいてラスタライズ処理を行うことにより印刷データを生成し、生成された前記印刷データを一定の出力間隔で規定された出力タイミングでバンド毎に順次出力し、前記算出されたラスタライズ予測時間に基づいてページ内の何れのバンドについても前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了すると判断したときには、各バンドのラスタライズ処理を前記複数の演算処理部のうちの何れか一つに担当させ、当該担当の演算処理部により各バンドに対するラスタライズ処理を先頭のバンドから前記一定の出力間隔で開始して印刷データを生成して、当該生成した印刷データを当該バンドに対応付けられた出力タイミングで出力し、前記算出されたラスタライズ予測時間に基づいてページ内の何れかのバンドに関し当該バンドについて前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断したときには、当該バンドの印刷データの生成が当該バンドに対応付けられた出力タイミングに間に合うように、前記複数の演算処理部のうちの二以上により一或いは複数のバンドに関するラスタライズ処理を並行して実行し印刷データを生成し、当該生成した印刷データを当該バンドに対応付けられた出力タイミングで出力し、前記複数の演算処理部のうちのラスタライズ処理を実行していない演算処理部に、前記所定のページよりも後のページについて、バンド単位に分割し、分割された前記バンド単位で、ディスプレイリストを生成するとともに、当該ディスプレイリストにより特定されたオブジェクトをラスタライズしてビットマップに変換するときの処理に要するラスタライズ予測時間を算出する処理を実行させる制御部として機能させる。
請求項7に記載の発明は、請求項6に記載のプログラムにおいて、
前記制御部は、ページ内の何れかのバンドに関し、前記複数の演算処理部のうちの二以上により当該バンドについて前記生成されたディスプレイリストに基づいたラスタライズ処理を並行して実行しても前記出力間隔内で完了しないと判断したときには、当該バンドについての印刷データの生成を、前記先頭のバンドに関するラスタライズ処理の前に行う。
請求項8に記載の発明は、請求項6又は7に記載のプログラムにおいて、
前記制御部は、前記ラスタライズ予測時間が前記出力間隔よりも大きい場合に、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断する。
請求項9に記載の発明は、請求項6〜8の何れか一項に記載のプログラムにおいて、
前記制御部は、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断したときに、前記複数の演算処理部のうち印刷データの生成が可能なものを判定し、該判定された複数の演算処理部から少なくとも二以上により、一或いは複数のバンドに関するラスタライズ処理を並行して実行し印刷データを生成する。
請求項10に記載の発明は、請求項6〜9の何れか一項に記載のプログラムにおいて、
前記制御部は、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断したときには、一の演算処理部における他のバンドの印刷データの生成中に、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断されたバンドについて、他の一以上の演算処理部によって並列して印刷データの生成を実行する。
請求項11に記載の発明は、複数の演算処理部を有する画像形成装置を用いた画像形成方法において、
外部機器より入力されたページ印刷用の制御データに基づいて、所定のページについて、所定のライン数で構成されるバンド単位に分割し、分割された前記バンド単位でディスプレイリストを生成するとともに、前記分割されたバンド単位で当該ディスプレイリストにより特定されたオブジェクトをラスタライズ処理してビットマップに変換するときの処理に要するラスタライズ予測時間を算出し、前記所定のページについての全てのディスプレイリストが生成されたか否かを判断し、前記所定のページについての全てのディスプレイリストが生成されたときに、前記分割されたバンド単位で、生成された前記ディスプレイリストに基づいてラスタライズ処理を行うことにより印刷データを生成し、生成された前記印刷データを一定の出力間隔で規定された出力タイミングでバンド毎に順次出力する制御ステップと、
前記制御ステップにおいて出力された前記印刷データに基づいて画像を形成する画像形成ステップと、
を含み、
前記制御ステップにおいて、
前記算出されたラスタライズ予測時間に基づいてページ内の何れのバンドについても前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了すると判断したときには、各バンドのラスタライズ処理を前記複数の演算処理部のうちの何れか一つに担当させ、当該担当の演算処理部により各バンドに対するラスタライズ処理を先頭のバンドから前記一定の出力間隔で開始して印刷データを生成して、当該生成した印刷データを当該バンドに対応付けられた出力タイミングで出力し、
前記算出されたラスタライズ予測時間に基づいてページ内の何れかのバンドに関し当該バンドについて前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断したときには、当該バンドの印刷データの生成が当該バンドに対応付けられた出力タイミングに間に合うように、前記複数の演算処理部のうちの二以上により一或いは複数のバンドに関するラスタライズ処理を並行して実行し印刷データを生成し、当該生成した印刷データを当該バンドに対応付けられた出力タイミングで出力し、
前記複数の演算処理部のうちのラスタライズ処理を実行していない演算処理部に、前記所定のページよりも後のページについて、バンド単位に分割し、分割された前記バンド単位で、ディスプレイリストを生成するとともに、当該ディスプレイリストにより特定されたオブジェクトをラスタライズしてビットマップに変換するときの処理に要するラスタライズ予測時間を算出する処理を実行させる、
ことを特徴とする。
請求項12に記載の発明は、請求項11に記載の画像形成方法において、
前記制御ステップにおいて、ページ内の何れかのバンドに関し、前記複数の演算処理部のうちの二以上により当該バンドについて前記生成されたディスプレイリストに基づいたラスタライズ処理を並行して実行しても前記出力間隔内で完了しないと判断したときには、当該バンドについての印刷データの生成を、前記先頭のバンドに関するラスタライズ処理の前に行うことを特徴とする。
請求項13に記載の発明は、請求項11又は12に記載の画像形成方法において、
前記制御ステップにおいて、前記ラスタライズ予測時間が前記出力間隔よりも大きい場合に、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断する。
請求項14に記載の発明は、請求項11〜13の何れか一項に記載の画像形成方法において、
前記制御ステップにおいて、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断したときに、前記複数の演算処理部のうち印刷データの生成が可能なものを判定し、該判定された複数の演算処理部から少なくとも二以上により、一或いは複数のバンドに関するラスタライズ処理を並行して実行し印刷データを生成する。
請求項15に記載の発明は、請求項11〜14の何れか一項に記載の画像形成方法において、
前記制御ステップにおいて、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断したときには、一の演算処理部における他のバンドの印刷データの生成中に、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断されたバンドについて、他の一以上の演算処理部によって並列して印刷データの生成を実行する。
本発明によれば、メモリ領域の増大及び画像形成速度の低下を抑制して、処理効率よくオーバーランを回避することができる。
画像形成システムのシステム構成図である。 クライアント端末のブロック図である。 第1の実施形態における画像形成装置のブロック図である。 画像形成処理の処理フローを示す図である。 画像形成処理を示すフローチャートである。 印刷データ解析処理を示すフローチャートである。 ラスタライズ処理を示すフローチャートである。 ラスタライズ方法判定処理を示すフローチャートである。 分割ラスタライズ処理を示すフローチャートである。 コア#2ラスタライズ処理を示すフローチャートである。 ビットマップデータ出力処理を示すフローチャートである。 ラスタライズ予測時間算出用テーブルを示す図である。 オブジェクト毎のラスタライズ予測時間について説明する図である。 ディスプレイリストの構成について説明する図である。 分割ラスタライズによるビットマップデータの生成過程について説明する図である。 コア毎の処理動作について説明する図である。 コア毎の処理動作について説明する図である。 コア毎の処理動作について説明する図である。 第2の実施形態における画像形成装置のブロック図である。 第2の実施形態におけるラスタライズ方法判定処理を示すフローチャートである。 第2の実施形態における分割ラスタライズ処理を示すフローチャートである。 従来の画像処理装置における処理動作について説明する図である。
以下、図面を参照して、本発明に係る画像処理装置の実施の形態について説明する。なお、発明の範囲は図示例に限定されない。
(第1の実施形態)
図1に、第1の実施形態における画像形成システム100のシステム構成を示す。図1に示すように、画像形成システム100は、例えば、画像形成装置10とクライアント端末20とを備えて構成されている。画像形成装置10とクライアント端末20の各装置はLAN(Local Area Network)等の通信ネットワークNを介して、データ通信可能に接続されている。
画像形成装置10は、コピー機能、画像読取機能、プリンタ機能を備えた、所謂MFP(Multi-Function Peripheral)である。この画像形成装置10は、例えば、CMYKの色毎に感光体ドラムを有し、感光体ドラムへの画像形成と同時に用紙を搬送して印刷を行うタンデム式の画像処理装置が適用できる。また、画像形成装置10は、単色の感光体ドラムのみ有するモノクロの画像を形成する画像処理装置であってもよい。画像形成装置10は、クライアント端末20から送信されるプリントジョブデータや、画像形成装置10に備えられているスキャナ等の画像読取部から読み込んだ画像データ等に基づき、用紙に画像を形成する。
クライアント端末20は、所謂パーソナルコンピュータであり、画像形成装置10にプリントジョブを送信する機能を有する。クライアント端末20には、プリンタドライバプログラム(以下、単にプリンタドライバと称することがある。)がインストールされている。クライアント端末20は、このプリンタドライバの機能を用いて画像形成時に適用されるプリント条件のデータ(印刷要求データ等)、ページ印刷用制御データ(画像データ等)等を含んだプリントジョブデータを生成し画像形成装置10に送信する。プリントジョブデータは、例えばPS(PostScript:ポストスクリプト(登録商標))や、PCL(Printer Control Language)、PDF(Portable Document Format)、XPS(XML Paper Specification)といったページ記述言語(PDL:Page Description Language)のデータである。また、プリント条件のデータは、PJL(Print Job Language)等の形式によりプリントチケットとしてプリントジョブデータに含まれていてもよい。
図2に、クライアント端末20の構成を示す。図2に示すように、クライアント端末20は、例えば、CPU(Central Processing Unit)21、操作部22、表示部23、通信部24、RAM(Random Access Memory)25、HDD(Hard Disk Drive)26を備えて構成されている。
CPU21は、操作部22から入力される操作信号(指示信号)又は通信部24により受信される指示信号に応じて、HDD26に記憶されている各種処理プログラムを読み出し、RAM25内に形成されたワークエリアに展開し、当該プログラムとの協働により各種処理を行う。
操作部22は、カーソルキー、数字入力キー、及び各種機能キー等を備えたキーボードと、マウスなどのポインティングデバイスを備えて構成され、キーボードに対するキー操作やマウス操作により入力された指示信号をCPU21に出力する。
表示部23は、LCD(Liquid Crystal Display)等により構成され、CPU21から入力される表示信号の指示に従って、操作部22からの入力指示やデータ等を表示する。
通信部24は、LANアダプタ、ルータ、TA(Terminal Adapter)等を備え、通信ネットワークNを介して接続された画像形成装置10等の外部機器との間でデータの送受信を行う。
RAM25は、CPU21により実行される各種処理プログラム及びこれらプログラムに係るデータを一時的に記憶するワークエリアを形成する。
HDD26は、記憶装置であり、各種プログラム、設定データ、画像データ等を記憶する。また、HDD26は、プリンタドライバプログラム261を記憶している。
CPU21は、当該プリンタドライバプログラム261をHDD26から読み出してRAM25に展開し、当該プログラムとの協働により、画像形成装置10に印刷要求データ及びページ印刷用制御データを送信する。
図3に、画像形成装置10の構成を示す。図3に示すように、画像形成装置10は、例えば、CPU(Central Processing Unit)11、操作部12、表示部13、画像読取部14、画像形成部15、通信部16、RAM17、ROM(Read Only Memory)18、HDD(Hard Disk Drive)19を備えて構成されている。
CPU11は、操作部12から入力される操作信号(指示信号)又は通信部16により受信される指示信号に応じて、ROM18に記憶されている各種処理プログラムを読み出し、RAM17内に形成されたワークエリアに展開し、当該プログラムとの協働により各種処理を行う。例えば、CPU11は画像形成に関する一連の処理(画像形成処理)を行う。以下、CPU11とRAM17とを合わせて制御部30と称す場合がある。本実施の形態で用いられるCPU11は、複数のコア(第1のコア111、第2のコア112)を有するマルチコアCPUであって、このマルチコアCPUを用いることにより複数の処理を並列で行うことができる。本実施の形態では、2個のコアを有するマルチコアCPUが使用されるが、3個以上のコアを有するCPUやMPU(Micro Processor Unit)を用いてもよい。また、マルチコアCPUにおける複数のコアにより複数の演算処理部を構成することに代え、2個以上のCPUにより複数の演算処理部を構成するようにしてもよい。
操作部12は、数字キーやスタートキー、リセットキー等の各種キーを有し、押下されたキーの押下信号をCPU11に出力する。また、操作部12は、表示部13と一体的に形成されたタッチパネルを備えており、ユーザの指先やタッチペン等により当接されたタッチパネル上の位置を検出して、位置信号をCPU11に出力する。
画像読取部14は、原稿画像を読み取って画像データを生成する所謂スキャナであり、原稿を載置するプラテンガラス、プラテンガラス上の原稿画像を走査し、これをCCDイメージセンサ上に結像する走査光学系を備えている。画像読取部14は、CCDイメージセンサで読み取った原稿画像に基づいて生成された画像信号をA/D変換して画像信号を生成する。
画像形成部15は、電子写真方式、静電記録方式、熱転写方式等の作像プロセスを利用して画像を形成するために必要な構成要素を含む機能部である。例えば、画像形成部15は、感光体ドラム、転写ベルト、定着器、各種搬送ベルト、電子回路、給紙部、排紙部等を備える。画像形成部15は、CPU11の指示に従い、画像読取部14により生成された画像データ又は通信部16により受信されたプリントジョブデータ等に基づいて、給紙部から供給された用紙に画像を形成し、排紙部に搬送する。また、給紙部は給紙トレイを、排紙部は排紙トレイを備える。
通信部16は、LANアダプタ、ルータ、TA等を備え、通信ネットワークNを介して接続されたクライアント端末20等の外部機器との間でデータの送受信を行う。例えば、通信部16は、クライアント端末20からプリントジョブデータ(印刷要求データ及びページ印刷用制御データ)を受信する。
RAM17は、CPU11により実行される各種処理プログラム及びこれらプログラムに係るデータを一時的に記憶するワークエリアを形成する。また、RAM17は、通信部16によりクライアント端末20から受信されたページ印刷用制御データ等も記憶する。
ROM18は、CPU11で実行される各種処理プログラム、各種データ等を記憶する。これらの各種プログラムは、読み取り可能なプログラムコードの形態で格納され、CPU11は、当該プログラムコードに従った動作を逐次実行する。また、ROM18は、プリンタコントローラプログラム181やフォントデータ等を記憶している。
HDD19は、記憶装置であり、画像読取部14により読み取られた画像データ等を記憶する。また、HDD19は、追加フォントデータ等も記憶する。
制御部30は、プリンタコントローラプログラム181をROM18から読み出してRAM17に展開し、このプログラムとの協働により、次のように機能する。即ち、制御部30は、通信部16によりクライアント端末20から受信されたページ印刷用制御データを解析して、中間言語データを生成する。そして、制御部30は、中間言語データに基づいてラスタライズ処理を行ってビットマップデータを生成する。そして、制御部30は、生成したビットマップデータを画像形成部15に出力する。
以上のように構成される画像形成装置10の制御部30が行う画像形成処理の処理フローについて、図4を参照しながら説明する。本説明では、制御部30が取得するデータとして、ページ印刷用制御データにのみ着目している。
制御部30は、クライアント端末20から送信されたページ印刷用制御データを、通信部16を介して取得する。制御部30は、取得したページ印刷用制御データをスプールデータとしてRAM17のスプールバッファに一時的に記憶させる(スプールする)。制御部30は、スプールデータ、即ちページ印刷用制御データをRAM17のスプールバッファから読み出す。そして、制御部30は、印刷データ解析処理を実行し、読み出したページ印刷用制御データに基づき、1ページを複数ラインのバンドに分割して、この分割されたバンド単位でディスプレイリスト(中間言語データ)を生成し、RAM17に保存する。このとき、制御部30は、後述するように、ページ印刷用制御データの解析の際、ディスプレイリストにより特定されたオブジェクトをラスタライズしてビットマップに変換するときの処理に要すると予測される時間(ラスタライズ予測時間)をバンド単位で算出し、RAM17に記憶する。そして、制御部30は、1ページ分のディスプレイリストが完成した時点で、RAM17からディスプレイリストを読み出す。
制御部30は、読み出したディスプレイリストに基づいてラスタライズ処理を行い、バンド単位に分割したビットマップデータを生成し、RAM17に順次保存する。即ち、制御部30は、ラスタライズ処理をバンド単位で行う。
制御部30は、先頭の1バンド分のビットマップデータが完成した時点で、画像形成部15を起動させて印刷動作を開始させた後、RAM17に保存された1バンド目のビットマップデータを画像形成部15に出力する。制御部30は、一方で、2バンド目以降のビットマップデータの生成及びRAM17への保存を引き続き行う。画像形成部15は、出力されたビットマップデータに基づいて、用紙に画像を形成する。制御部30は、RAM17に保存されたバンド単位のビットマップデータを、所定のタイミング毎に順次画像形成部15に出力する。
また、制御部30は、予めラスタライズ時間を予測しているため、ラスタライズ時間を逆算して1バンド分のビットマップデータの完成に先行して画像形成部15を起動させ、画像形成部15の起動完了時に1バンド目のビットマップデータに基づく画像形成が行われるようにしてもよい。これにより、画像形成動作開始前に行うモータの回転などの初期化処理によるオーバーヘッドがラスタライズ時間に吸収されて、画像形成時間の短縮が図れるようになる。
次に、画像形成装置10の制御部30が行う画像形成処理の具体的な処理内容について図5を用いて説明する。
図5は、画像形成処理を示すフローチャートである。本フローチャートでは、画像形成装置10がクライアント端末20から受信するデータとして、ページ印刷用制御データにのみ着目している。
まず、制御部30は、通信部16によりクライアント端末20からページ印刷用制御データを受信し、RAM17にスプールする(ステップS1)。そして、制御部30は、スプールしたページ印刷用制御データを読み出し、印刷データ解析処理を行う(ステップS2)。印刷データ解析処理とは、ページ印刷用制御データに含まれるオブジェクトを解析し、ディスプレイリスト(中間言語データ)を生成してRAM17に一時保存する処理である。
そして、制御部30は、1ページ分のディスプレイリストが完成した時点で、このディスプレイリストをRAM17から読み出し、ラスタライズ処理を行う(ステップS3)。ラスタライズ処理とは、ディスプレイリストに含まれるオブジェクトを解析し、バンド単位に分割したビットマップデータを生成しRAM17に一時保存する処理である。
そして、制御部30は、1バンド分のビットマップデータが完成した時点で、このRAM17に保存されたビットマップデータを出力するビットマップデータ出力処理を行う(ステップS4)。ビットマップデータ出力処理とは、画像形成部15にビットマップデータを出力する処理である。
画像形成部15は、出力されたビットマップデータに基づいて、用紙に画像を形成する。
なお、本実施の形態の説明において、制御部30によって実行される印刷データ解析処理、ラスタライズ処理及びビットマップデータ出力処理については、説明の便宜により図示された手順に沿って説明しているが、各処理は並行して実行され得るものとする。
次に、印刷データ解析処理(図5のステップS2)の具体的な処理内容について図6を用いて説明する。図6は、印刷データ解析処理を示すフローチャートであり、この処理は制御部30の第1のコア111、第2のコア112のうちの何れかにより実行される。
図6に示すように、制御部30は、RAM17から読み出したページ印刷用制御データに含まれるオブジェクトを解析し、1ページを複数ライン(例えば、28ライン)のバンドに分割し、バンド単位でディスプレイリスト(中間言語データ)を生成する(ステップS201)。そして、制御部30は、生成したディスプレイリストをRAM17に一時保存する。
そして、制御部30は、上述したように、オブジェクトの解析とともに、ディスプレイリストに基づいてラスタライズ予測時間を算出する(ステップS202)。具体的には、制御部30は、ディスプレイリストに格納されるオブジェクトの種類、及びオブジェクトの面積に基づいてラスタライズ予測時間を算出する。なお、オブジェクトの面積は、ディスプレイリストに記述される座標に基づいて算出される。
このディスプレイリストには、テキストデータ、グラフィックスデータ、拡大処理の発生しないイメージデータ、拡大処理の発生するイメージデータ、回転処理の発生するイメージデータ、グラデーションデータ等の種類がある。
ここで、ROM18には、図12に示されるように、単位面積(1000pixel)あたりのラスタライズ予測時間がオブジェクトの種類毎に定義づけられたラスタライズ予測時間算出用テーブルが記憶されており、制御部30は、このラスタライズ予測時間算出用テーブルを参照してオブジェクト毎のラスタライズ予測時間を算出する。
そして、制御部30は、図13に示されるような態様で、予測したラスタライズ時間をオブジェクト毎に対応付けてRAM17に一時保存する。
なお、ラスタライズ予測時間の算出において、下地とパターンデータとの合成が必要なROP(Raster OPeration)処理、透過処理等を考慮してラスタライズ時間の予測精度を高めることもできる。
次に、制御部30は、1ページ分のページ印刷用制御データに含まれる全てのオブジェクトの解析が完了したか否かを判定する(ステップS203)。制御部30は、全てのオブジェクトの解析が完了したと判定すると(ステップS203:Y)、印刷データ解析処理を終了する。一方、制御部30は、全てのオブジェクトの解析が完了したと判定しないときは(ステップS203:N)、ステップS201を実行し、1ページ分のページ印刷用制御データに含まれる次のオブジェクトの解析を行う。
次に、制御部30が第1のコア111を駆動して実行されるラスタライズ処理(図5:ステップS3)の具体的な処理内容について図7〜図9を参照しながら説明する。図7は、ラスタライズ処理を示すフローチャートである。制御部30は、1ページを等分割したバンド単位でラスタライズ処理を実行する。
先ず、制御部30は、読み出した対象のバンドについて、印刷データ解析処理において算出されたオブジェクト毎のラスタライズ予測時間に基づき、対象バンドのラスタライズ予測時間を算出し、算出した対象バンドのラスタライズ予測時間がビットマップデータ出力時間よりも大きいか、すなわち、ビットマップデータ出力時間内にラスタライズが間に合わないか否かを判定する(ステップS301)。ここで、ビットマップデータ出力時間とは、画像形成部15が起動して画像形成が開始された場合に、前のバンドのビットマップデータを出力してから次のバンドを出力するまでに許容される時間であって、この時間は、画像形成部15の動作速度に依存する。画像形成部15は、いったん画像形成動作を開始すると、一定の動作速度により画像形成を行うため、画像形成部15の動作速度に従って一定のタイミングにてバンド単位でのビットマップデータの出力が必要となってくる。したがって、この一定のタイミングの間隔であるビットマップデータ出力時間以内に当該バンドのラスタライズが完了できなかった場合は、ラスタライズが間に合わなかったオブジェクトが印刷結果から欠損することになる。あるいは、プリントオーバーランなどのエラーにより、画像形成動作を停止させなければならなくなる。
なお、画像形成部15の動作速度は、用紙の種類や画像形成設定などにより可変する。例えば、画像形成部15の動作速度は、用紙を普通紙に設定した場合は最高速度となり、厚紙やOHP用紙などに設定した場合は、トナーを定着させるのにより多くの熱量を要するため、低速となる。そのため、画像形成部15の動作速度は、特に用紙の種類に依存する。
制御部30は、対象バンドのラスタライズ予測時間がビットマップデータ出力時間よりも大きいと判定したときは(ステップS301:Y)、後述するラスタライズ方法判定処理を実行した後(ステップS302)、ステップS303の処理に移行する。一方、制御部30は、対象バンドのラスタライズ予測時間がビットマップデータ出力時間よりも大きいと判定しないときは(ステップS301:N)、ステップS302の処理を実行することなくステップS303の処理に移行する。
ここで、図8を参照しながら、ラスタライズ方法判定処理について説明する。
図8に示されるように、制御部30は、対象バンドのラスタライズ予測時間の1/2がビットマップデータ出力時間よりも大きいか否かを判定する(ステップS1301)。すなわち、制御部30は、CPU11の2個のコアにて対象バンドのラスタライズを行うことによっても、ビットマップデータ出力時間以内に間に合わないかを判定する。
制御部30は、対象バンドのラスタライズ予測時間の1/2がビットマップデータ出力時間よりも大きいと判定しないとき、すなわち、2個のコアにて対象バンドのラスタライズを行えば、ビットマップデータ出力時間に間に合うと判定したときは(ステップS1301:N)、当該対象バンドについて、分割ラスタライズするバンドとして、第2のコア112の処理キューに登録する(ステップS1302)。そして、制御部30は、ステップS1302の処理を実行した後は、この処理を終了する。ここで、分割ラスタライズとは、1つのバンドを2つに分割し、それぞれをCPUの2個のコアにて並行してラスタライズすることをいう。
また、制御部30は、ステップS1301において、対象バンドのラスタライズ予測時間の1/2がビットマップデータ出力時間よりも大きいと判定したとき、すなわち、分割ラスタライズが不可能であると判定したときは(ステップS1301:Y)、並列ラスタライズを行うことで、当該対象バンドのビットマップデータの出力タイミングに間に合うか否かを判定する(ステップS1303)。ここで、並列ラスタライズとは、CPU11の2個のコアのうち第1のコア111により当該対象バンドよりも前のバンドについてラスタライズ処理を実行している最中に、このラスタライズ処理と並行して第2のコア112によって対象バンドのラスタライズを先行して行うことをいう。換言すれば、制御部30は、第1のコア111が1番目のバンドから順次ラスタライズするのに並行して、第2のコア112にて先行して対象バンドのラスタライズを行い、当該対象バンドのビットマップデータを予め作成しておくことで、当該対象バンドのビットマップデータを画像形成部15に出力するタイミングに間に合うか否かを判定する。この場合、並列ラスタライズの対象となるバンドが1ページのうちの後の方のバンドになるに従って、ラスタライズに充てられる時間は増えるので、並列ラスタライズのできる可能性は高くなる。
制御部30は、並列ラスタライズによれば当該対象バンドのビットマップデータの出力タイミングに間に合うと判定したときは(ステップS1303:Y)、当該対象バンドを、並列ラスタライズを行うバンドとして、第2のコア112の処理キューに登録した後(ステップS1304)、この処理を終了する。
また、制御部30は、並列ラスタライズによっても当該対象バンドのビットマップデータの出力タイミングに間に合わないと判定するときは(ステップS1303:N)、プレレンダリング処理を行う。即ち、制御部30は、当該対象バンドについてラスタライズを行ってビットマップデータを生成し(ステップS1305)、生成したビットマップデータをRAM17に保存する(ステップS1306)。そして、制御部30は、ビットマップデータを保存した後にこの処理を終了する。このように、対象バンドが分割ラスタライズも並列ラスタライズも不可能である場合には、予めビットマップデータを作成し、RAM17に保存しておくことで、当該対象バンドのビットマップデータを画像形成部15に出力するタイミングでビットマップデータの出力を確実に行うことができるようになる。
図7に戻り、ラスタライズ処理の説明を続けると、制御部30は、ステップS303において、1ページの全バンドについて何れの方法によるラスタライズを行うかについての判定処理が行われたか否かについて判定する(ステップS303)。制御部30は、全バンドについて処理が行われたと判定しないときは(ステップS303:N)、ステップS301の処理に移行し、次のバンドを対象バンドとして処理をおこなう。一方、制御部30は、全バンドについて判定が行われたと判定したときは(ステップS303:Y)、ラスタライズのための前処理(ステップS301、S302)を終了してステップS304に移行する。
以上のようにして、制御部30は、ラスタライズのための前処理として、1ページの各バンドについてラスタライズの方法を決定する。この処理を行うことにより、対象バンドのラスタライズ予測時間がビットマップデータ出力時間よりも大きい場合でも、複数のコアをラスタライズ処理に充てることで、確実にビットマップデータの出力タイミングに間に合うようにビットマップデータを生成することができ、プリントオーバーランを防止することができるようになる。また、プレレンダリングをできるだけ行わないようにして、画像形成部15の起動時間の遅延を抑制し、画像形成速度の向上を図ることができる。
ステップS304では、ラスタライズ方法判定処理において他のコア(すなわち、第1のコア以外のコア)の処理キューに並列ラスタライズを行うバンドが登録されているか否かを判定する(ステップS304)。
次に、制御部30は、並列ラスタライズを行うバンドが登録されていると判定したときは(ステップS304:Y)、CPU11の複数のコアで並列してラスタライズを行わせるため、他のコアに対して処理キューに登録されたバンドについてのラスタライズを依頼する(ステップS305)。一方、制御部30は、並列ラスタライズを行うバンドがあると判定しないときは(ステップS304:N)、他のコアにラスタライズ以外の他のタスクの処理を依頼する(ステップS306)。他のタスクとは、例えば、上述した印刷データ解析処理などである。
そして、制御部30は、ページの1バンド目から順番にビットマップデータを生成するために、以下の処理を行う。すなわち、制御部30は、ビットマップデータを生成するための領域であるバンドバッファが使用可能となるのを待った後(ステップS307)、ステップS308の処理に移行する。ここでバンドバッファは、1バンド分のビットマップデータが書き込まれて一時的に保存される領域であって、当該保存された1バンド分のビットマップデータが画像形成装置15に出力されると開放されるものである。なお、本実施形態では、2バンド分のバンドバッファを備えており、一方のバンドバッファを使用して先行するバンドのビットマップデータが画像形成装置15に出力されている間に、他方のバンドバッファを使用して次のバンドのビットマップデータの生成を行うことで、続いて生成されるバンドのラスタライズを早く開始することができ、バンドバッファに空きがなく、ラスタライズが待機されるなどによる画像形成処理の遅延の発生のおそれが低減される。また、ここで3つ以上のバンドバッファを備えてより先行してバンドのラスタライズを進めることも可能である。この場合、バンドバッファの数をあまりにも多くすると使用するメモリ領域が増大するため、他の処理でメモリ不足によるメモリオーバーフローなどを考慮して適切な数のバンドバッファを備えることが好ましい。
次に、対象バンドがラスタライズ済みであるか否かを判定する(ステップS308)。ここで、当該対象バンドのビットマップデータがラスタライズ方法判定処理においてプレレンダリングされているか、あるいは、後述するように、他のコアによって並列ラスタライズされている場合には、この時点でRAM17に当該ビットマップデータが既に保存されていることとなる。制御部30は、対象バンドがラスタライズ済みであると判定したときは(ステップS308:Y)、RAM17から生成済みのビットマップデータを読み出してバンドバッファに展開した後(ステップS309)、画像形成部15に印字依頼を行う(ステップS310)。この印字依頼により、後述するビットマップデータ出力処理が実行される。
一方、制御部30は、対象バンドがラスタライズ済みであると判定しないときは(ステップS308:N)、当該対象バンドが、分割ラスタライズを行うバンドであるか否かを判定する(ステップS311)。制御部30は、対象バンドが分割ラスタライズを行うバンドであると判定したときは(ステップS311:Y)、当該バンドについて分割ラスタライズを行うための分割ラスタライズ処理を実行した後(ステップS312)、ステップS310の処理を実行する。一方、制御部30は、対象バンドが分割ラスタライズを行うバンドであると判定しないときは(ステップS311:N)、当該バンドについて通常のラスタライズ処理によりビットマップデータをバンドバッファ上に生成した後(ステップS313)、ステップS310の処理を実行する。
ここで、分割ラスタライズ処理について、図9を参照しながら説明する。
図9に示されるように、制御部30は、当該バンドを構成する複数のオブジェクトを所定のオブジェクトの配列順序に従って2つに分割し(ステップS1311)、分割された複数のオブジェクトのうちの後半部に配列されるオブジェクトのラスタライズを第2のコア112に依頼する(ステップS1312)。なお、複数のオブジェクトの分割は、他のタイミングにて行ってもよく、例えば、分割ラスタライズを行うと判定されたタイミングで行うようにしてもよい。
そして、制御部30は、分割された複数のオブジェクトのうちの前半部に配列されるオブジェクトのビットマップデータをバンドバッファ上に生成し(ステップS1313)、後述する第2のコア112で生成されたビットマップデータをバンドバッファ上に生成されたビットマップデータに上書して合成した後(ステップS1314)、この処理を終了する。このように、制御部30は、第2のコア112へのラスタライズの依頼を第1のコア111によるラスタライズに先駆けて行うことにより、2つのコアにて並行してラスタライズが可能となる。
ここで、オブジェクトの分割について、図14を参照しながら説明する。
図14は、RAM17上に構成されるディスプレイリストの記憶領域を概念的に表している。図14中、1バンド分のディスプレイリストが記憶されている範囲をAで示し、第1のコア111にてラスタライズされるオブジェクトの範囲をBで示し、第2のコア112にてラスタライズされるオブジェクトの範囲をCで示している。また、各オブジェクトのディスプレイリストは、ラスタライズされる順に記憶されている。すなわち、ディスプレイリストは、オブジェクトのラスタライズ順序を特定可能に生成されている。
例えば、制御部30は、図14に示されるように、当該バンドに100個のオブジェクトが格納されている場合、1〜n個目のオブジェクト(B:前半部のオブジェクト群)を第1のコア111に割り当て、n+1〜100個目までのオブジェクト(C:後半部のオブジェクト群)を第2のコア112に割り当てる。すなわち、制御部30は、n個目のオブジェクトとn+1個目のオブジェクトの間を分割位置とし、これにより特定された前半部のオブジェクト群と後半部のオブジェクト群とをそれぞれ2つのコアに割り当てる。
このとき、それぞれのコアに割り当てられるオブジェクトの数は、それぞれのコアによるラスタライズの時間が均等となって、それぞれのコアにて同時にラスタライズすることで、当該バンドのラスタライズが最速で実行できるような数に決定される。そのため、制御部30は、印刷データ解析処理において予測した各オブジェクトのラスタライズ予測時間に基づき、各コアに割り当てられたオブジェクトのラスタライズ予測時間の合計が均等になるように分割する。
ここで、各コアに割り当てられたオブジェクトのラスタライズ予測時間の合計が均等とは、ラスタライズ予測時間の合計が全く等しい場合の他、複数のオブジェクトを分割した際に、ラスタライズ予測時間のそれぞれの合計の差が最小となることをも含んでいる。
なお、複数のオブジェクトを分割する場合において、2以上のオブジェクトが同時に処理される前述したROP処理や透過処理等により、2以上のオブジェクトを切り離してラスタライズを行うことができない場合がある。その場合には、それらのオブジェクトが分断されない上で、各コアのラスタライズ予測時間が均等となるように、各コアにオブジェクトをそれぞれ割り当てるようにする。
また、分割ラスタライズ処理によって生成されるビットマップデータについて図15を用いて説明する。
制御部30は、1つのバンドにおいて構成される複数のオブジェクトを、上述のようにして、前半部のオブジェクトと後半部のオブジェクトに分割する。
そして、制御部30は、前半部のオブジェクトを第1のコア111にラスタライズさせて図15(a)に示されるような前半部のビットマップデータをバンドバッファ上に生成し、後半部のオブジェクトを第2のコア112にラスタライズさせて図15(b)に示されるような後半部のビットマップデータを所定のワークエリアにて生成する。
そして、制御部30は、前半部のビットマップデータに後半部のビットマップデータを上書き合成し、図15(c)に示されるようなビットマップデータを生成する。
図7に戻り、ラスタライズ処理の説明を続けると、制御部30は、ステップS314において、ラスタライズ処理の対象となるページにおける全てのバンドについてラスタライズ処理が完了したか否かを判定する(ステップS314)。制御部30は、全てのバンドについてラスタライズ処理が完了したと判定したときは(ステップS314:Y)、当該ページのディスプレイリストを保存していたRAM17の記憶領域を開放して(ステップS315)、この処理を終了する。一方、制御部30は、全てのバンドについてラスタライズ処理が完了したと判定しないときは(ステップS314:N)、ステップS307の処理を実行し、バンドバッファが使用可能となるのを待って、次のバンドを対象バンドとして処理をおこなう。
次に、制御部30が第2のコア112を駆動して実行されるコア#2ラスタライズ処理の具体的な処理内容について図10を用いて説明する。図10は、コア#2ラスタライズ処理を示すフローチャートである。このコア#2ラスタライズ処理は、第1のコア111からラスタライズ依頼があったときに実行される処理である。なお、第2のコア112が駆動して実行される処理は、第1のコア111が駆動して実行される処理と並行して同時に行うことが可能である。また、第2のコア112は、第2のコア112に割り当てられたラスタライズ処理が完了した後、あるいは、第2のコア112にラスタライズ処理を行うバンドが割り当てられていないときは、第1のコア111より分割ラスタライズの依頼がない限り、印刷データ解析処理を実行して次ページ以降のページ印刷用制御データの解析等を行う。これにより、ジョブ全体での印刷速度を向上することができ、生産性を高めることができる。
先ず、制御部30は、第1のコア111からバンドの分割ラスタライズの依頼があるか否かを判定する(ステップS1321)。制御部30は、分割ラスタライズの依頼があると判定したときは(ステップS1321:Y)、依頼された当該バンドの後半部のオブジェクトのラスタライズを行ってビットマップデータをRAM17の所定のワークエリア上に生成する(ステップS1322)。なお、ビットマップデータを一時的に保存するワークエリアの保存領域は予め定められていてもよいし、制御状態に応じて変更されるものであってもよい。そして、制御部30は、分割ラスタライズ処理にて実行される第1のコア111による当該バンドの前半部のオブジェクトに基づいて生成されたビットマップデータとの合成を待って(ステップS1323)、当該後半部のオブジェクトに基づいて生成されたワークエリア上のビットマップデータを削除する(ステップS1324)。一方、制御部30は、ステップS1321において、分割ラスタライズの依頼があると判定しないとき(ステップS1321:N)、すなわち、分割ラスタライズの依頼のないとき、あるいは、既に分割ラスタライズが行われた後であるときは、ステップS1322〜ステップS1324の処理を実行することなくステップS1325の処理に移行する。
そして、制御部30は、上述したラスタライズ方法判定処理において並列ラスタライズ処理キューにバンドの登録があるか否かを判定する(ステップS1325)。すなわち、制御部30は、並列ラスタライズの対象となったバンドが存在するか、あるいは、未処理の並列ラスタライズを行うバンドが存在するか否かを判定する。制御部30は、並列ラスタライズ処理キューにバンドの登録があると判定したときは(ステップS1325:Y)、第2のコア112に並列ラスタライズのバンドとして割り当てられたバンドのラスタライズを行い、ビットマップデータを生成する(ステップS1326)。そして、制御部30は、生成されたビットマップデータを、後に画像形成部15に出力するため、RAM17に保存し(ステップS1327)、ステップS1328の処理を実行する。一方、制御部30は、ステップS1325において、並列ラスタライズ処理キューにバンドの登録があると判定しないときは(ステップS1325:N)、ステップS1326及びステップS1327の処理を実行することなく、ステップS1328の処理に移行する。
そして、制御部30は、第2のコア112に割り当てられた全てのバンドについてラスタライズ処理が完了したか否かを判定する(ステップS1328)。制御部30は、割り当てられた全てのバンドについてラスタライズ処理が完了したと判定したときは(ステップS1328:Y)、この処理を終了する。一方、制御部30は、依頼のあった全てのバンドについてラスタライズ処理が完了したと判定しないときは(ステップS1328:N)、ステップS1321の処理に移行し、未処理のバンドに対して処理をおこなう。
以上のようにして、第2のコア112に依頼されたバンドのラスタライズを行う。なお、第2のコア112において並行ラスタライズを行っているときに、分割ラスタライズの依頼があった場合には、並行ラスタライズの作業を中断して分割ラスタライズを優先して行うようにしてもよい。
次に、ビットマップデータ出力処理(図5のステップS4)の具体的な処理内容について図11を用いて説明する。図11は、ビットマップデータ出力処理を示すフローチャートである。このビットマップデータ出力処理は、図7に示されるラスタライズ処理において印字依頼(ステップS310)が行われることを契機に実行される処理である。すなわち、ビットマップデータ出力処理は、バンド単位でビットマップデータが生成される毎に実行される処理である。
先ず、制御部30は、1バンド目のビットマップデータの画像形成部15への出力か否かを判定する(ステップS401)。制御部30は、1バンド目のビットマップデータの画像形成部15への出力であると判定したときは(ステップS401:Y)、画像形成部15を起動して感光体ドラムの回転、感光体ドラムに対して走査を行うポリゴンミラーなどの走査部の駆動、定着器の加熱、及び、用紙の搬送等を行い(ステップS402)、ステップS403の処理に移行する。一方、制御部30は、1バンド目のビットマップデータの画像形成部15への出力であると判定しないとき、すなわち、2バンド目以降のビットマップデータの画像形成部15への出力であるときは(ステップS401:N)、ステップS402の処理を実行することなくステップS403の処理に移行する。
次に、制御部30は、RAM17のバンドバッファから1バンド分のビットマップデータを読み出し、画像形成部15に出力する(ステップS403)。
そして、制御部30は、画像形成部15へのビットマップデータの出力が完了すると、RAM17のバンドバッファに保存されている当該バンドのビットマップデータを削除し、このビットマップデータが保存されていた領域を開放して(ステップS404)、この処理を終了する。
以上のように構成された画像処理装置10において、制御部30がページ印刷用制御データを受信してからビットマップデータを画像形成部15に出力するまでのCPUの処理動作について図16〜図18を用いて説明する。
なお、図16〜図18において、黒塗りの矢印は、ページ毎のディスプレイリストを作成中であることを表し、その作成時間を矢印の長さにて示している。また、白抜きの矢印は、バンド毎のビットマップデータを生成中であることを表し、その生成する時間を矢印の長さにて示している。また、図16〜図18では、1バンド目から5バンド目までを取り上げて説明するが、6バンド目以降についても同様の処理が行われるものとする。
図16は、2番目のバンドB2のラスタライズ予測時間の1/2が、ビットマップデータ出力時間よりも大きく、第2のコア112を使用して並列ラスタライズを行っても画像形成部15へのビットマップデータの出力が間に合わない場合の動作を示している。
図16に示されるように、制御部30は、CPU11の第1のコア111により、1ページ目のディスプレイリストを作成するとともに、1ページを複数のバンドに分割し、オブジェクト毎のラスタライズ予測時間をバンド毎に算出し、RAM17にそれぞれ保存する。次に、制御部30は、オブジェクト毎のラスタライズ予測時間に基づいて各バンドのラスタライズ予測時間を算出し、各バンドのラスタライズ予測時間とビットマップデータ出力時間との関係についてそれぞれ判定する。
制御部30は、1番目のバンドB1及び3番目のバンドB3から5番目のバンドB5については何れも、ラスタライズ予測時間がビットマップデータ出力時間以下であると判定され、各バンドのラスタライズ及び画像形成部15へのビットマップデータの出力を順次行うこととなる(図7:ステップS301:N)。ここで、t11〜t15は、ビットマップデータを画像形成部15に出力するタイミングであり、t11〜t15の各タイミング間がビットマップデータ出力時間であり、各タイミング間はそれぞれ同一である。一方、制御部30は、2番目のバンドB2については、ラスタライズ予測時間の1/2がビットマップデータ出力時間よりも大きく、かつ、第2のコア112によって当該バンドについて並列ラスタライズを行っても画像形成部15へのビットマップデータの出力が間に合わないと判定し、プレレンダリングを実行する(図8:ステップS1305〜S1306)。
制御部30は、分割ラスタライズ及び並列ラスタライズの対象であるバンドがないため、第2のコア112に2ページ目及び3ページ目のディスプレイリストを順次作成させてRAM17に保存する(図7:ステップS306)。
制御部30は、第1のコア111によってバンドB1のラスタライズを実行し(図7:ステップS313)、バンドB1のビットマップデータが生成されたときに、t10のタイミングで画像形成部15に印字依頼を行い(図7:ステップS310)、画像形成部15を起動させる(図11:ステップS402)。
続いて、制御部30は、t11のタイミングでバンドB1のビットマップデータを画像形成部15に出力する(図11:ステップS403)。その後、制御部30は、プレレンダリングにより予め生成されたバンドB2のビットマップデータをRAM17から読み出し、バンドバッファに保存する(図7:ステップS309)。
そして、制御部30は、t12のタイミングとなると、バンドバッファに保存されているバンドB2のビットマップデータを画像形成部15に出力する(図11:ステップS403)。一方で、制御部30は、バンドB1のビットマップデータの生成に使用されたバンドバッファが開放されると(図11:ステップS404)、第1のコア111によってバンドB3のラスタライズを開始する(図7:ステップS313)。
その後、制御部30は、t13のタイミングでバンドB3のビットマップデータを画像形成部15に出力する。以下、バンドB4以降についても同様に行う。
以上のように、1ページを構成する複数のバンドのうちの一部のバンドのラスタライズ予測時間がビットマップデータ出力時間よりも大きいため、画像形成部15へのビットマップデータの出力が間に合わなくなる場合には、プレレンダリングを行ってビットマップデータの出力が間に合わないバンドについて予めラスタライズしておくことで、プリントオーバーランの発生を抑制することができる。また、通常のラスタライズ、分割ラスタライズ及び並列ラスタライズを行っても画像形成部15へのビットマップデータの出力が間に合わないバンドがある場合に限り、当該バンドについてプレレンダリングを行うことにより、画像形成部15の動作開始が遅れることによる画像形成速度の低下を最小限に抑えることが可能となる。
図17は、5番目のバンドB5のラスタライズ予測時間の1/2が、ビットマップデータ出力時間よりも大きいが、第2のコア112を使用して並列ラスタライズを行えば画像形成部15へのビットマップデータの転送を行うことができる場合の動作を示している。
図17に示されるように、制御部30は、CPU11の第1のコア111により、1ページ目のディスプレイリストを作成するとともに、1ページを複数のバンドに分割し、オブジェクト毎のラスタライズ予測時間をバンド毎に算出し、RAM17にそれぞれ保存する。次に、制御部30は、オブジェクト毎のラスタライズ予測時間に基づいて各バンドのラスタライズ予測時間を算出し、各バンドのラスタライズ予測時間とビットマップデータ出力時間との関係についてそれぞれ判定する。
制御部30は、1番目のバンドB1から4番目のバンドB4については何れも、ラスタライズ予測時間がビットマップデータ出力時間以下であると判定され、各バンドのラスタライズ及び画像形成部15へのビットマップデータの出力を順次行うこととなる(図7:ステップS301:N)。ここで、t21〜t25の各タイミング間はそれぞれ同一である。一方、制御部30は、5番目のバンドB5については、ラスタライズ予測時間の1/2がビットマップデータ出力時間よりも大きいが、第2のコア112によって当該バンドについて並列ラスタライズを行えば画像形成部15へのビットマップデータの出力が間に合うと判定し、バンド5Bを、並列ラスタライズを行うバンドとして登録する(図8:ステップS1304)。
制御部30は、並列ラスタライズの対象であるバンドが登録されているため、第2のコア112にバンドB5のラスタライズを依頼する(図7:ステップS305)。第2のコア112は、これを受けて、バンドB5のラスタライズを実行する(図10:ステップS1326)。
一方で、制御部30は、第2のコア112による並列ラスタライズと並行して、第1のコア111によってバンドB1のラスタライズを実行し(図7:ステップS313)、バンドB1のビットマップデータが生成されたときに、t20のタイミングで画像形成部15に印字依頼を行い(図7:ステップS310)、画像形成部15を起動させる(図11:ステップS309)。
制御部30は、t21のタイミングでバンドB1のビットマップデータを画像形成部15に出力するとともに(図11:ステップS403)、第1のコア111によってバンドB2のラスタライズを開始する(図7:ステップS313)。
制御部30は、t22のタイミングとなると、バンドB2のビットマップデータを画像形成部15に出力する。以下、バンドB3及びバンドB4についても同様に行う。
一方で、制御部30は、t22の経過後、第2のコア112によるバンドB5のラスタライズが完了してビットマップデータが生成されると、そのビットマップデータをRAM17に保存する(図10:ステップS1327)。その後、制御部30は、分割ラスタライズ及び並列ラスタライズの対象であるバンドがないので、第2のコア112に2ページ目及び3ページ目のディスプレイリストを順次作成させてそれぞれRAM17に保存する。
そして、制御部30は、t24のタイミングとなってバンドB4のビットマップデータの画像形成部15への出力が行われた後、並列ラスタライズにより既に生成されてRAM17に保存されているバンドB5のビットマップデータをRAM17から読み出し、バンドバッファに保存する(図7:ステップS309)。
その後、制御部30は、t25のタイミングとなると、バンドバッファに保存されているバンドB5のビットマップデータを画像形成部15に出力する(図11:ステップS403)。
以上のように、1つのバンドのラスタライズ予測時間がビットマップデータ出力時間よりも大きいが、第1のコア111のラスタライズ処理に並行して第2のコア112に予めラスタライズさせることにより画像形成部15へのビットマップデータの出力が間に合う場合には、第2のコア112に並列ラスタライズを行わせて当該バンドについて予めラスタライズしておくことで、プレレンダリングを行う場合と比較して早く画像形成部15を起動させることができ、画像形成の高速化が可能となる。
図18は、5番目のバンドB5のラスタライズ予測時間がビットマップデータ出力時間よりも大きいが、ラスタライズ予測時間の1/2がビットマップデータ出力時間以下である場合の動作を示している。
図18に示されるように、制御部30は、CPU11の第1のコア111により、1ページ目のディスプレイリストを作成するとともに、1ページを複数のバンドに分割し、オブジェクト毎のラスタライズ予測時間をバンド毎に算出し、RAM17にそれぞれ保存する。次に、制御部30は、オブジェクト毎のラスタライズ予測時間に基づいて各バンドのラスタライズ予測時間を算出し、各バンドのラスタライズ予測時間とビットマップデータ出力時間との関係についてそれぞれ判定する。
制御部30は、1番目のバンドB1から4番目のバンドB4については何れも、ラスタライズ予測時間がビットマップデータ出力時間以下であると判定され、各バンドのラスタライズ及び画像形成部15へのビットマップデータの出力を順次行うこととなる(図7:ステップS301:N)。ここで、t31〜t35の各タイミング間はそれぞれ同一である。一方、制御部30は、5番目のバンドB5については、ラスタライズ予測時間がビットマップデータ出力時間よりも大きいが、ラスタライズ予測時間の1/2がビットマップデータ出力時間以下であると判定し、バンドB5を、分割ラスタライズを行うバンドとして登録する(図8:ステップS1302)。
制御部30は、並列ラスタライズの対象であるバンドがないため、分割ラスタライズの依頼があるまで、第2のコア112に2ページ目及び3ページ目のディスプレイリストを順次作成させてRAM17に保存する(図7:ステップS306)。
そして、制御部30は、第1のコア111によってバンドB1のラスタライズを実行し(図7:ステップS313)、バンドB1のビットマップデータが生成されたときに、t30のタイミングで画像形成部15に印字依頼を行い(図7:ステップS310)、画像形成部15を起動させる(図11:ステップS402)。
続いて、制御部30は、t31のタイミングでバンドB1のビットマップデータを画像形成部15に出力するとともに(図11:ステップS403)、第1のコア111によってバンドB2のラスタライズを開始する(図7:ステップS313)。
その後、制御部30は、t32のタイミングでバンドB2のビットマップデータを画像形成部15に出力する。以下、バンドB3及びバンドB4についても同様に行う。
そして、制御部30は、t34のタイミングとなってバンドB4のビットマップデータを画像形成部15に出力すると、バンドB5が分割ラスタライズとして登録されているので、当該バンドを構成する複数のオブジェクトを2つに分割する(図9:ステップS1311)。そして、制御部30は、分割した2つのオブジェクトのうち、後半部のオブジェクトのラスタライズを第2のコア112に依頼する(図9:ステップS1312)。第2のコア112は、これを受けて、バンドB5の後半部のオブジェクトのラスタライズを実行する(図10:ステップS1322)。そして、制御部30は、分割した2つのオブジェクトのうち、前半部のオブジェクトを第1のコア111によってラスタライズさせて前半部のビットマップデータを生成する(図9:ステップS1313)。その後、制御部30は、前半部のビットマップデータに後半部のビットマップデータを合成した後(図9:ステップS1314)、t35のタイミングでバンドB5の合成後のビットマップデータを画像形成部15に出力する。
以上のように、1つのバンドのラスタライズ予測時間がビットマップデータ出力時間よりも大きいが、ラスタライズ予測時間の1/2がビットマップデータ出力時間以下である場合には、当該バンドを構成するオブジェクトを2つに分割し、2つのコアにそれぞれ同時にラスタライズさせることにより、並列ラスタライズを行う場合と比較して、第2のコア112に対して印刷データの解析処理を多く行わせることができるなど、処理効率が向上し、より高速な画像形成が可能となる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。第2の実施形態では、図19に示されるように、画像形成装置10の制御部30において用いられるCPU11として、コアを4つ備えたCPU11が用いられている点が第1の実施形態の画像形成装置10と異なっている。なお、その他の構成については、第1の実施形態における画像形成装置10と同様であるため、対応する構成には同一の符号を付し、その説明を省略する。また、第3のコア113及び第4のコア114にて実行されるラスタライズ処理については、第1の実施形態におけるコア#2ラスタライズ処理と同様であるため、その説明を省略する。
次に、第2の実施形態において実行されるラスタライズ方法判定処理について、図20を参照しながら説明する。
制御部30は、図7に示されるラスタライズ処理におけるラスタライズ方法判定処理が実行されると、図20に示されるように、対象バンドのラスタライズ予測時間の1/2がビットマップデータ出力時間よりも大きいか否かを判定する(ステップS2301)。制御部30は、対象バンドのラスタライズ予測時間の1/2がビットマップデータ出力時間よりも大きいと判定しないときは(ステップS2301:N)、当該対象バンドについて、1つのバンドを2つに分割し、それぞれを第1のコア111と第2のコア112の2個のコアにて分割ラスタライズするバンドとして、第2のコア112の処理キューに登録する(ステップS2302)。なお、2つのコアにて分割ラスタライズする場合において、使用するコアを第1のコア111及び第2のコア112に固定せず、4つのコアから何れか2つを選択して使用するようにしてもよい。そして、制御部30は、ステップS2302の処理が実行されると、この処理を終了する。
また、制御部30は、ステップS2301において、対象バンドのラスタライズ予測時間の1/2がビットマップデータ出力時間よりも大きいと判定したときは(ステップS2301:Y)、対象バンドのラスタライズ予測時間の1/3がビットマップデータ出力時間よりも大きいか否かを判定する(ステップS2303)。すなわち、制御部30は、CPU11の3個のコアにて対象バンドのラスタライズを行うことによっても、ビットマップデータ出力時間以内に間に合わないかを判定する。
制御部30は、対象バンドのラスタライズ予測時間の1/3がビットマップデータ出力時間よりも大きいと判定しないとき、すなわち、3個のコアにて対象バンドのラスタライズを行えば、ビットマップデータ出力時間に間に合うと判定したときは(ステップS2303:N)、当該対象バンドについて、1つのバンドを3つに分割し、それぞれを第1のコア111、第2のコア112及び第3のコア113の3個のコアにて分割ラスタライズするバンドとして、第2のコア112及び第3のコア113の処理キューにそれぞれ登録する(ステップS2304)。なお、3つのコアにて分割ラスタライズする場合において、使用するコアを第1のコア111、第2のコア112及び第3のコア113に固定せず、4つのコアから何れか3つを選択して使用するようにしてもよい。そして、制御部30は、ステップS2304の処理が実行されると、この処理を終了する。
また、制御部30は、ステップS2303において、対象バンドのラスタライズ予測時間の1/3がビットマップデータ出力時間よりも大きいと判定したときは(ステップS2303:Y)、対象バンドのラスタライズ予測時間の1/4がビットマップデータ出力時間よりも大きいか否かを判定する(ステップS2305)。すなわち、制御部30は、CPU11の4個のコアにて対象バンドのラスタライズを行うことによっても、ビットマップデータ出力時間以内に間に合わないかを判定する。
制御部30は、対象バンドのラスタライズ予測時間の1/4がビットマップデータ出力時間よりも大きいと判定しないとき、すなわち、4個のコアにて対象バンドのラスタライズを行えば、ビットマップデータ出力時間に間に合うと判定したときは(ステップS2305:N)、当該対象バンドについて、1つのバンドを4つに分割し、それぞれを第1のコア111、第2のコア112、第3のコア113及び第4のコア114の4個のコアにて分割ラスタライズするバンドとして、第2のコア112、第3のコア113及び第4のコア114の処理キューにそれぞれ登録し(ステップS2306)、この処理を終了する。
また、制御部30は、ステップS2305において、対象バンドのラスタライズ予測時間の1/4がビットマップデータ出力時間よりも大きいと判定したときは(ステップS2305:Y)、CPU11の4個のコアのうち第1のコア111によるラスタライズ処理に並行して第2のコア112により並行ラスタライズを行うことで、当該対象バンドのビットマップデータの出力タイミングに間に合うか否かを判定する(ステップS2307)。
制御部30は、第2のコア112での並列ラスタライズによれば、当該対象バンドのビットマップデータの出力タイミングに間に合うと判定したときは(ステップS2307:Y)、当該対象バンドを、並列ラスタライズを行うバンドとして、第2のコア112の処理キューに登録した後(ステップS2308)、この処理を終了する。
また、制御部30は、第2のコア112での並列ラスタライズによれば、当該対象バンドのビットマップデータの出力タイミングに間に合うと判定しないときは(ステップS2307:N)、第1のコア111によるラスタライズ処理に並行して第3のコア113により並行ラスタライズを行うことで、当該対象バンドのビットマップデータの出力タイミングに間に合うか否かを判定する(ステップS2309)。
制御部30は、第3のコア113での並列ラスタライズによれば、当該対象バンドのビットマップデータの出力タイミングに間に合うと判定したときは(ステップS2309:Y)、当該対象バンドを、並列ラスタライズを行うバンドとして、第3のコア113の処理キューに登録した後(ステップS2310)、この処理を終了する。
また、制御部30は、第3のコア113での並列ラスタライズによれば、当該対象バンドのビットマップデータの出力タイミングに間に合うと判定しないときは(ステップS2309:N)、第1のコア111によるラスタライズ処理に並行して第4のコア114により並行ラスタライズを行うことで、当該対象バンドのビットマップデータの出力タイミングに間に合うか否かを判定する(ステップS2311)。
制御部30は、第4のコア114での並列ラスタライズによれば、当該対象バンドのビットマップデータの出力タイミングに間に合うと判定したときは(ステップS2311:Y)、当該対象バンドを、並列ラスタライズを行うバンドとして、第4のコア114の処理キューに登録した後(ステップS2312)、この処理を終了する。
また、制御部30は、第4のコア114での並列ラスタライズによれば、当該対象バンドのビットマップデータの出力タイミングに間に合うと判定しないときは(ステップS2311:N)、当該対象バンドについてプレレンダリングを行う(ステップS2313)。そして、制御部30は、生成したビットマップデータをRAM17に保存した後(ステップS2314)、この処理を終了する。
このように、第2の実施形態では、コアを4つ有するCPU11が用いられているので、バンドのラスタライズ時間が大きくなっても分割ラスタライズされる機会が増大するので、プレレンダリングの実行をさらに抑制することができ、効率のよいビットマップデータの生成が行われ、印刷速度が向上する。
次に、第2の実施形態における分割ラスタライズ処理について、図21を参照しながら説明する。
制御部30は、図7に示されるラスタライズ処理における分割ラスタライズ処理が実行されると、図21に示されるように、当該バンドについて2つのコアで分割ラスタライズを行うか否か、すなわち、第1のコア111及び第2のコア112にて分割ラスタライズを行うか否かについて判定する(ステップS2321)。
制御部30は、2つのコアで分割ラスタライズを行うと判定したときは(ステップS2321:Y)、当該バンドを構成する複数のオブジェクトを所定のオブジェクトの配列順序に従って2つに分割し(ステップS2322)、分割された複数のオブジェクトのうちの後半部に配列されるオブジェクトのラスタライズを第2のコア112に依頼する(ステップS2323)。
そして、制御部30は、分割された複数のオブジェクトのうちの前半部に配列されるオブジェクトのビットマップデータをバンドバッファ上に生成し(ステップS2324)、第2のコア112で生成されたビットマップデータをバンドバッファ上に生成されたビットマップデータに上書して合成するのを待って(ステップS2325)、第2のコア112で生成されたワークエリア上のビットマップデータを削除し(ステップS2325a)、この処理を終了する。
また、制御部30は、ステップS2321において、2つのコアで分割ラスタライズを行うと判定しないときは(ステップS2321:N)、当該バンドについて3つのコアで分割ラスタライズを行うか否か、すなわち、第1のコア111、第2のコア112及び第3のコア113にて分割ラスタライズを行うか否かについて判定する(ステップS2326)。
制御部30は、3つのコアで分割ラスタライズを行うと判定したときは(ステップS2326:Y)、当該バンドを構成する複数のオブジェクトを所定のオブジェクトの配列順序に従って3つに分割し(ステップS2327)、3つに分割された複数のオブジェクトのうちの2番目に配列されるオブジェクトのラスタライズを第2のコア112に依頼する(ステップS2328)。また、制御部30は、3つに分割された複数のオブジェクトのうちの3番目に配列されるオブジェクトのラスタライズを第3のコア113に依頼する(ステップS2329)。
そして、制御部30は、3つに分割された複数のオブジェクトのうちの1番目に配列されるオブジェクトのビットマップデータをバンドバッファ上に生成し(ステップS2330)、第2のコア112で生成されたビットマップデータ、第3のコア113で生成されたビットマップデータの順にそれぞれバンドバッファ上に生成されたビットマップデータに上書して合成するのを待って(ステップS2331)、第2のコア112及び第3のコア113で生成されたワークエリア上のビットマップデータを削除し(ステップS2331a)、この処理を終了する。
また、制御部30は、ステップS2326において、3つのコアで分割ラスタライズを行うと判定しないときは(ステップS2326:N)、4つのコアで分割ラスタライズを行うことが決定され、当該バンドを構成する複数のオブジェクトを所定のオブジェクトの配列順序に従って4つに分割し(ステップS2332)、4つに分割された複数のオブジェクトのうちの2番目に配列されるオブジェクトのラスタライズを第2のコア112に依頼する(ステップS2333)。また、制御部30は、4つに分割された複数のオブジェクトのうちの3番目に配列されるオブジェクトのラスタライズを第3のコア113に依頼する(ステップS2334)。また、制御部30は、4つに分割された複数のオブジェクトのうちの4番目に配列されるオブジェクトのラスタライズを第4のコア114に依頼する(ステップS2335)。
そして、制御部30は、4つに分割された複数のオブジェクトのうちの1番目に配列されるオブジェクトのビットマップデータをバンドバッファ上に生成し(ステップS2336)、第2のコア112で生成されたビットマップデータ、第3のコア113で生成されたビットマップデータ、第4のコア114で生成されたビットマップデータの順にそれぞれバンドバッファ上に生成されたビットマップデータに上書して合成するのを待って(ステップS2337)、第2のコア112、第3のコア113、及び第4のコア114で生成されたワークエリア上のビットマップデータを削除し(ステップS2337a)、この処理を終了する。
このように、第2の実施形態によれば、4個のコアを使用しても第1の実施形態と同様に分割ラスタライズを行うことができる。
以上説明したように、第1及び第2の実施の形態によれば、制御部30は、複数のコア111,112(113,114)を含んでいる。そして、制御部30は、クライアント端末20より入力されたページ印刷用制御データに基づいてページを所定のライン数で構成されるバンド単位でラスタライズ処理を行うことにより印刷データを生成する。そして、制御部30は、これら生成された印刷データを一定の出力間隔で規定された出力タイミングでバンド毎に順次出力する。そして、制御部30は、ページ内の何れのバンドについても印刷データの生成が出力間隔内に完了すると判断したときには、各バンドのラスタライズ処理を複数のコア111,112(113,114)のうちの何れか一つに担当させ、当該担当のコア111,112(113,114)により各バンドに対するラスタライズ処理を先頭のバンドから一定の出力間隔で開始して印刷データを生成して、当該生成した印刷データを当該バンドに対応付けられた出力タイミングで出力する。そして、制御部30は、ページ内の何れかのバンドに関し当該バンドについて印刷データの生成が出力間隔内に完了しないと判断したときには、当該バンドの印刷データの生成が当該バンドに対応付けられた出力タイミングに間に合うように、複数のコア111,112(113,114)のうちの二以上により一或いは複数のバンドに関するラスタライズ処理を並行して実行し印刷データを生成し、当該生成した印刷データを当該バンドに対応付けられた出力タイミングで出力する。そして、画像形成部15は、制御部30より出力された印刷データに基づいて画像を形成する。その結果、1つのコアによれば所定の出力間隔でバンド単位での印刷データの出力ができない場合でも、2つ以上のコアによって印刷データの生成を並行して行わせることにより、所定の出力間隔で印刷データの出力が間に合わなくなることが防止できる。また、メモリ領域を必要以上に大きくすることなく実現が可能であり、メモリ領域の増大及び画像形成速度の低下を抑制して、処理効率よくオーバーランを回避することができる。
また、第1及び第2の実施の形態によれば、制御部30は、ページ内の何れかのバンドに関し、複数のコア111,112(113,114)のうちの二以上により当該バンドについての印刷データを並行して同時に生成しても出力間隔内で完了しないと判断したときには、当該バンドについての印刷データの生成を、先頭のバンドに関するラスタライズ処理の前に行う。その結果、2つ以上のコアによって印刷データの生成を並行して同時に行わせても印刷データの出力が間に合わない場合には、事前に当該バンドの印刷データを作成しておくことで、オーバーランの回避をより確実に行わせることができる。
また、第1及び第2の実施の形態によれば、制御部30は、ページ印刷用の制御データに基づき、印刷データを生成するための処理時間をバンド毎に求め、処理時間が出力間隔よりも大きい場合に、印刷データの生成が出力間隔内に完了しないと判断する。その結果、バンド毎の印刷データ生成処理時間を求めることで、印刷データの生成が間に合うか否かについて容易に判断することができる。
また、第1及び第2の実施の形態によれば、制御部30は、印刷データの生成が出力間隔内に完了しないと判断したときに、複数のコア111,112(113,114)のうち印刷データの生成が可能なものを判定する。そして、制御部30は、判定された複数のコア111,112(113,114)から少なくとも二以上により、一或いは複数のバンドに関するラスタライズ処理を並行して実行し印刷データを生成する。その結果、印刷データの生成に使用するコアを効率よく選択することができるので、2以上のコアによる印刷データの並行生成に際し、処理効率の向上を図ることができる。
また、第1及び第2の実施の形態によれば、制御部30は、印刷データの生成が出力間隔内に完了しないと判断したときには、一のコア111,112(113,114)における他のバンドの印刷データの生成中に、印刷データの生成が出力間隔内に完了しないと判断されたバンドについて、他の一以上のコア111,112(113,114)によって並列して印刷データの生成を実行可能とする。その結果、印刷データの生成が間に合わないと判断されたバンドについて、印刷データの出力タイミングとなるまでに余裕を持って印刷データの生成を行うことができるとともに、画像形成動作を開始させた後に印刷データの生成が可能であるので、速やかに画像形成動作を開始させることができ、画像形成速度を向上させることができる。
なお、第1及び第2の実施の形態における記述は、本発明に係る画像形成装置の一例であり、これに限定されるものではない。画像形成装置を構成する各機能部の細部構成及び細部動作に関しても適宜変更可能である。
また、第1及び第2の実施の形態では、1ページにおいて、複数のバンドのうちの1つのバンドについて分割ラスタライズ、並列ラスタライズ又はプレレンダリングを行う例を説明したが、複数のバンドのうちの2以上のバンドについて分割ラスタライズ、並列ラスタライズ又はプレレンダリングを行うことももちろん可能である。
また、第1及び第2の実施の形態では、複数のコアによる同時ラスタライズの方法として、分割ラスタライズと並列ラスタライズを行うものとしたが、何れか一方のみ行うものであってもよい。
また、第1及び第2の実施の形態では、バンド毎にラスタライズ予想時間を算出し、これに基づいて、ビットマップデータの出力タイミングに間に合うか否かを判定するようにしているが、他の方法によって判定してもよく、例えば、バンド毎のデータの大きさに基づいて判定するようにしてもよい。
また、第1及び第2の実施の形態では、通常のラスタライズ処理については、第1のコア111にて行うようにしたが、他のコアによって行うようにしてもよい。また、バンド毎にラスタライズを行うコアを変更するようにしてもよく、例えば、2つのコアでラスタライズを行う場合には、1バンド毎、交互にラスタライズを行うコアを変更するようにしてもよい。また、一のコアにてラスタライズを行っているときに、他のコアにてディスプレイリストを作成させている場合において、ディスプレイリストを作成したコアにてラスタライズを行うようにしてもよい。
また、第1及び第2の実施の形態では、印刷データ、ディスプレイリスト及びビットマップデータをRAM17に保存したが、HDD19やその他の記憶媒体に保存するようにしてもよい。
また、第1及び第2の実施の形態において、画像形成の途中に用紙詰まりによる用紙ジャムや、不適切な用紙を装填していたことによる用紙ミスマッチなどのエラーが発生した場合にこれを救済するために、1ページ分の画像形成が完了して用紙が排出されるまで、生成した1ページ分のビットマップデータを別の領域にコピーするようにしてもよい。この場合、エラーが発生したページについて、再度画像形成を行わせるか否かについて、例えば、操作部12や、クライアント端末20によって選択することができるようにしてもよい。
また、第1及び第2の実施の形態では、本発明に係るプログラムのコンピュータ読み取り可能な媒体としてハードディスクや半導体の不揮発性メモリ等を使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、CD−ROM等の可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウェーブ(搬送波)も適用される。
100 画像形成システム
10 画像形成装置
11 CPU
111 第1のコア
112 第2のコア
15 画像形成部
16 通信部
17 RAM
18 ROM
30 制御部
113 第3のコア
114 第4のコア

Claims (15)

  1. 外部機器から入力されたページ印刷用の制御データに基づいて印刷データを生成し、該印刷データに基づいて画像の形成を行う画像形成装置において、
    複数の演算処理部を含む制御部であって、
    前記ページ印刷用の制御データに基づいて、所定のページについて、
    所定のライン数で構成されるバンド単位に分割し、分割された前記バンド単位でディスプレイリストを生成するとともに、前記分割されたバンド単位で当該ディスプレイリストにより特定されたオブジェクトをラスタライズ処理してビットマップに変換するときの処理に要するラスタライズ予測時間を算出し、
    前記所定のページについての全てのディスプレイリストが生成されたか否かを判断し、
    前記所定のページについての全てのディスプレイリストが生成されたときに、前記分割されたバンド単位で、生成された前記ディスプレイリストに基づいてラスタライズ処理を行うことにより印刷データを生成し
    成された前記印刷データを一定の出力間隔で規定された出力タイミングでバンド毎に順次出力する制御部と、
    前記制御部より出力された前記印刷データに基づいて画像を形成する画像形成部と、 を備え、
    前記制御部は、
    前記算出されたラスタライズ予測時間に基づいてページ内の何れのバンドについても前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了すると判断したときには、各バンドのラスタライズ処理を前記複数の演算処理部のうちの何れか一つに担当させ、当該担当の演算処理部により各バンドに対するラスタライズ処理を先頭のバンドから前記一定の出力間隔で開始して印刷データを生成して、当該生成した印刷データを当該バンドに対応付けられた出力タイミングで出力し、
    前記算出されたラスタライズ予測時間に基づいてページ内の何れかのバンドに関し当該バンドについて前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断したときには、当該バンドの印刷データの生成が当該バンドに対応付けられた出力タイミングに間に合うように、前記複数の演算処理部のうちの二以上により一或いは複数のバンドに関するラスタライズ処理を並行して実行し印刷データを生成し、当該生成した印刷データを当該バンドに対応付けられた出力タイミングで出力
    前記複数の演算処理部のうちのラスタライズ処理を実行していない演算処理部に、前記所定のページよりも後のページについて、バンド単位に分割し、分割された前記バンド単位で、ディスプレイリストを生成するとともに、当該ディスプレイリストにより特定されたオブジェクトをラスタライズしてビットマップに変換するときの処理に要するラスタライズ予測時間を算出する処理を実行させる、
    ことを特徴とする画像形成装置。
  2. 前記制御部は、ページ内の何れかのバンドに関し、前記複数の演算処理部のうちの二以上により当該バンドについて前記生成されたディスプレイリストに基づいたラスタライズ処理を並行して実行しても前記出力間隔内で完了しないと判断したときには、当該バンドについての印刷データの生成を、前記先頭のバンドに関するラスタライズ処理の前に行うことを特徴とする請求項1に記載の画像形成装置。
  3. 前記制御部は、前ラスタライズ予測時間が前記出力間隔よりも大きい場合に、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断することを特徴とする請求項1又は2に記載の画像形成装置。
  4. 前記制御部は、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断したときに、前記複数の演算処理部のうち印刷データの生成が可能なものを判定し、該判定された複数の演算処理部から少なくとも二以上により、一或いは複数のバンドに関するラスタライズ処理を並行して実行し印刷データを生成することを特徴とする請求項1〜3の何れか一項に記載の画像形成装置。
  5. 前記制御部は、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断したときには、一の演算処理部における他のバンドの印刷データの生成中に、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断されたバンドについて、他の一以上の演算処理部によって並列して印刷データの生成を実行可能であることを特徴とする請求項1〜4の何れか一項に記載の画像形成装置。
  6. 複数の演算処理部を有するコンピュータを、
    外部機器より入力されたページ印刷用の制御データに基づいて、所定のページについて、所定のライン数で構成されるバンド単位に分割し、分割された前記バンド単位でディスプレイリストを生成するとともに、前記分割されたバンド単位で当該ディスプレイリストにより特定されたオブジェクトをラスタライズ処理してビットマップに変換するときの処理に要するラスタライズ予測時間を算出し、前記所定のページについての全てのディスプレイリストが生成されたか否かを判断し、前記所定のページについての全てのディスプレイリストが生成されたときに、前記分割されたバンド単位で、生成された前記ディスプレイリストに基づいてラスタライズ処理を行うことにより印刷データを生成し、生成された前記印刷データを一定の出力間隔で規定された出力タイミングでバンド毎に順次出力し、前記算出されたラスタライズ予測時間に基づいてページ内の何れのバンドについても前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了すると判断したときには、各バンドのラスタライズ処理を前記複数の演算処理部のうちの何れか一つに担当させ、当該担当の演算処理部により各バンドに対するラスタライズ処理を先頭のバンドから前記一定の出力間隔で開始して印刷データを生成して、当該生成した印刷データを当該バンドに対応付けられた出力タイミングで出力し、前記算出されたラスタライズ予測時間に基づいてページ内の何れかのバンドに関し当該バンドについて前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断したときには、当該バンドの印刷データの生成が当該バンドに対応付けられた出力タイミングに間に合うように、前記複数の演算処理部のうちの二以上により一或いは複数のバンドに関するラスタライズ処理を並行して実行し印刷データを生成し、当該生成した印刷データを当該バンドに対応付けられた出力タイミングで出力し、前記複数の演算処理部のうちのラスタライズ処理を実行していない演算処理部に、前記所定のページよりも後のページについて、バンド単位に分割し、分割された前記バンド単位で、ディスプレイリストを生成するとともに、当該ディスプレイリストにより特定されたオブジェクトをラスタライズしてビットマップに変換するときの処理に要するラスタライズ予測時間を算出する処理を実行させる制御部として機能させるためのプログラム。
  7. 前記制御部は、ページ内の何れかのバンドに関し、前記複数の演算処理部のうちの二以上により当該バンドについて前記生成されたディスプレイリストに基づいたラスタライズ処理を並行して実行しても前記出力間隔内で完了しないと判断したときには、当該バンドについての印刷データの生成を、前記先頭のバンドに関するラスタライズ処理の前に行う請求項6に記載のプログラム。
  8. 前記制御部は、前記ラスタライズ予測時間が前記出力間隔よりも大きい場合に、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断する請求項6又は7に記載のプログラム。
  9. 前記制御部は、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断したときに、前記複数の演算処理部のうち印刷データの生成が可能なものを判定し、該判定された複数の演算処理部から少なくとも二以上により、一或いは複数のバンドに関するラスタライズ処理を並行して実行し印刷データを生成する請求項6〜8の何れか一項に記載のプログラム。
  10. 前記制御部は、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断したときには、一の演算処理部における他のバンドの印刷データの生成中に、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断されたバンドについて、他の一以上の演算処理部によって並列して印刷データの生成を実行する請求項6〜9の何れか一項に記載のプログラム。
  11. 複数の演算処理部を有する画像形成装置を用いた画像形成方法において、
    外部機器より入力されたページ印刷用の制御データに基づいて、所定のページについて、所定のライン数で構成されるバンド単位に分割し、分割された前記バンド単位でディスプレイリストを生成するとともに、前記分割されたバンド単位で当該ディスプレイリストにより特定されたオブジェクトをラスタライズ処理してビットマップに変換するときの処理に要するラスタライズ予測時間を算出し、前記所定のページについての全てのディスプレイリストが生成されたか否かを判断し、前記所定のページについての全てのディスプレイリストが生成されたときに、前記分割されたバンド単位で、生成された前記ディスプレイリストに基づいてラスタライズ処理を行うことにより印刷データを生成し、生成された前記印刷データを一定の出力間隔で規定された出力タイミングでバンド毎に順次出力する制御ステップと、
    前記制御ステップにおいて出力された前記印刷データに基づいて画像を形成する画像形成ステップと、
    を含み、
    前記制御ステップにおいて、
    前記算出されたラスタライズ予測時間に基づいてページ内の何れのバンドについても前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了すると判断したときには、各バンドのラスタライズ処理を前記複数の演算処理部のうちの何れか一つに担当させ、当該担当の演算処理部により各バンドに対するラスタライズ処理を先頭のバンドから前記一定の出力間隔で開始して印刷データを生成して、当該生成した印刷データを当該バンドに対応付けられた出力タイミングで出力し、
    前記算出されたラスタライズ予測時間に基づいてページ内の何れかのバンドに関し当該バンドについて前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断したときには、当該バンドの印刷データの生成が当該バンドに対応付けられた出力タイミングに間に合うように、前記複数の演算処理部のうちの二以上により一或いは複数のバンドに関するラスタライズ処理を並行して実行し印刷データを生成し、当該生成した印刷データを当該バンドに対応付けられた出力タイミングで出力し、
    前記複数の演算処理部のうちのラスタライズ処理を実行していない演算処理部に、前記所定のページよりも後のページについて、バンド単位に分割し、分割された前記バンド単位で、ディスプレイリストを生成するとともに、当該ディスプレイリストにより特定されたオブジェクトをラスタライズしてビットマップに変換するときの処理に要するラスタライズ予測時間を算出する処理を実行させる、
    ことを特徴とする画像形成方法。
  12. 前記制御ステップにおいて、ページ内の何れかのバンドに関し、前記複数の演算処理部のうちの二以上により当該バンドについて前記生成されたディスプレイリストに基づいたラスタライズ処理を並行して実行しても前記出力間隔内で完了しないと判断したときには、当該バンドについての印刷データの生成を、前記先頭のバンドに関するラスタライズ処理の前に行うことを特徴とする請求項11に記載の画像形成方法。
  13. 前記制御ステップにおいて、前記ラスタライズ予測時間が前記出力間隔よりも大きい場合に、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断する請求項11又は12に記載の画像形成方法。
  14. 前記制御ステップにおいて、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断したときに、前記複数の演算処理部のうち印刷データの生成が可能なものを判定し、該判定された複数の演算処理部から少なくとも二以上により、一或いは複数のバンドに関するラスタライズ処理を並行して実行し印刷データを生成する請求項11〜13の何れか一項に記載の画像形成方法。
  15. 前記制御ステップにおいて、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断したときには、一の演算処理部における他のバンドの印刷データの生成中に、前記生成されたディスプレイリストに基づいたラスタライズ処理が前記出力間隔内に完了しないと判断されたバンドについて、他の一以上の演算処理部によって並列して印刷データの生成を実行する請求項11〜14の何れか一項に記載の画像形成方法。
JP2010012677A 2010-01-25 2010-01-25 画像形成装置、プログラム及び画像形成方法 Active JP5333259B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010012677A JP5333259B2 (ja) 2010-01-25 2010-01-25 画像形成装置、プログラム及び画像形成方法
US13/013,166 US8665458B2 (en) 2010-01-25 2011-01-25 Image forming apparatus including a control unit that generates print data by carrying out a rasterizing process based on a display list, and computer readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010012677A JP5333259B2 (ja) 2010-01-25 2010-01-25 画像形成装置、プログラム及び画像形成方法

Publications (2)

Publication Number Publication Date
JP2011148242A JP2011148242A (ja) 2011-08-04
JP5333259B2 true JP5333259B2 (ja) 2013-11-06

Family

ID=44535693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010012677A Active JP5333259B2 (ja) 2010-01-25 2010-01-25 画像形成装置、プログラム及び画像形成方法

Country Status (2)

Country Link
US (1) US8665458B2 (ja)
JP (1) JP5333259B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011158951A (ja) * 2010-01-29 2011-08-18 Konica Minolta Business Technologies Inc 画像処理装置、プログラム及び画像処理方法
JP5744574B2 (ja) * 2011-03-07 2015-07-08 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
CN102903094B (zh) * 2011-07-25 2015-09-02 株式会社理光 电子文档栅格化方法和电子文档栅格化装置
JP2013077294A (ja) * 2011-09-16 2013-04-25 Ricoh Co Ltd 印刷装置および印刷装置の制御方法
JP5051327B1 (ja) * 2012-03-22 2012-10-17 富士ゼロックス株式会社 画像処理装置及びプログラム
JP2015084172A (ja) * 2013-10-25 2015-04-30 キヤノン株式会社 情報処理装置及びプログラム、制御方法
JP6221655B2 (ja) * 2013-11-08 2017-11-01 ブラザー工業株式会社 画像読取装置,画像読取方法,およびプログラム
JP6294650B2 (ja) * 2013-12-10 2018-03-14 キヤノン株式会社 情報処理装置、情報処理方法、印刷システム、およびプログラム
US9448982B2 (en) * 2014-01-29 2016-09-20 Konica Minolta Laboratory U.S.A., Inc. Immediate independent rasterization
JP6385111B2 (ja) * 2014-04-04 2018-09-05 キヤノン株式会社 処理装置及びその方法、プログラム
JP6330481B2 (ja) * 2014-05-26 2018-05-30 富士ゼロックス株式会社 画像処理装置、印刷情報生成装置、画像形成装置、画像形成システムおよびプログラム
JP5968373B2 (ja) 2014-07-24 2016-08-10 キヤノン株式会社 印刷装置、情報処理方法及びプログラム
JP6424654B2 (ja) * 2015-02-02 2018-11-21 コニカミノルタ株式会社 画像処理装置、画像形成装置、画像処理方法及びコンピュータープログラム
JP2017001387A (ja) * 2015-06-05 2017-01-05 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
US9892346B2 (en) * 2015-12-18 2018-02-13 Océ-Technologies B.V. Method of converting image data from source format into target format
JP6459985B2 (ja) * 2016-01-07 2019-01-30 京セラドキュメントソリューションズ株式会社 画像形成装置
US10120621B2 (en) * 2016-05-30 2018-11-06 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and storage medium
JP6683060B2 (ja) * 2016-08-18 2020-04-15 コニカミノルタ株式会社 画像処理装置、方法およびプログラム
JP2019018494A (ja) * 2017-07-20 2019-02-07 富士ゼロックス株式会社 制御装置、画像処理装置
US11712904B2 (en) * 2017-10-04 2023-08-01 Electronics For Imaging, Inc. Fabric printing on nested patterns, and associated print systems and products thereof
JP7408914B2 (ja) * 2018-12-19 2024-01-09 コニカミノルタ株式会社 印刷システム、情報処理装置及びデータ処理方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3284523B2 (ja) * 1993-10-05 2002-05-20 セイコーエプソン株式会社 プログラム生成装置
JPH10147018A (ja) * 1996-11-18 1998-06-02 Canon Inc 印刷装置及びメモリ管理方式
JPH10307689A (ja) 1997-05-02 1998-11-17 Fuji Xerox Co Ltd 印刷処理装置および印刷処理方法
JPH1158854A (ja) * 1997-08-19 1999-03-02 Canon Inc 画像処理装置及び画像処理方法
JP4642880B2 (ja) * 1998-09-21 2011-03-02 キヤノン株式会社 画像形成装置および画像形成方法および記憶媒体
JP2000158727A (ja) * 1998-11-30 2000-06-13 Tokyo Denshi Sekkei Kk 画像出力装置および画像出力システム
JP2001010123A (ja) * 1999-06-29 2001-01-16 Canon Inc 画像処理装置及びその制御方法、コンピュータ可読メモリ
JP2001134389A (ja) * 1999-11-02 2001-05-18 Canon Inc 画像形成システム、情報処理装置、画像形成方法および記憶媒体
JP4418573B2 (ja) * 2000-05-11 2010-02-17 キヤノン株式会社 画像出力制御装置、画像出力制御方法、及び記憶媒体
JP2002132466A (ja) * 2000-10-26 2002-05-10 Canon Inc 画像出力装置、画像出力システム、画像処理方法及び記憶媒体
JP2003051019A (ja) 2001-08-08 2003-02-21 Canon Inc 画像処理装置、画像処理方法、画像処理プログラム及び記憶媒体
JP2003080771A (ja) * 2001-09-10 2003-03-19 Canon Inc 画像形成装置及びその制御方法
US7715031B2 (en) * 2002-06-14 2010-05-11 Kyocera Mita Corporation Method and apparatus for generating an image for output to a raster device
JP2004223932A (ja) * 2003-01-24 2004-08-12 Canon Inc 印刷装置
JP4580697B2 (ja) * 2004-06-23 2010-11-17 株式会社リコー 印刷処理システム、プログラムおよび記録媒体
JP2006155308A (ja) * 2004-11-30 2006-06-15 Canon Inc 画像形成装置
JP2006192729A (ja) * 2005-01-14 2006-07-27 Canon Inc 画像形成装置及び画像形成装置データ処理方式
JP2008146415A (ja) * 2006-12-11 2008-06-26 Canon Inc 画像処理装置及びその制御方法、プログラム
JP4986144B2 (ja) * 2007-05-25 2012-07-25 富士ゼロックス株式会社 印刷制御装置および画像形成システム

Also Published As

Publication number Publication date
US20110235105A1 (en) 2011-09-29
US8665458B2 (en) 2014-03-04
JP2011148242A (ja) 2011-08-04

Similar Documents

Publication Publication Date Title
JP5333259B2 (ja) 画像形成装置、プログラム及び画像形成方法
JP3977356B2 (ja) 情報処理装置およびその制御方法
JP4708869B2 (ja) 情報処理装置およびその制御方法
JP5171461B2 (ja) 情報処理装置および情報処理方法並びに情報処理システム及びプログラム
US8107128B2 (en) Image forming apparatus and print control method thereof
US20110043855A1 (en) Print data processing apparatus, print data processing method, and storage medium
EP3021567B1 (en) Image processing apparatus, method for performing specific process, computer-readable storage medium for computer program
US8294914B2 (en) Image forming apparatus and method for changing number of lines in band buffer based on memory size to be required
JP2009107332A (ja) 印刷の計数のシステム及び方法
US8767247B2 (en) Print data generation device, print data generation method and computer-readable medium for controlling rasterization processing
JP2005352694A (ja) 印刷装置およびその方法、並びに、情報処理装置およびその制御方法
US20110235080A1 (en) Image processing apparatus and image forming apparatus
JP2014061638A (ja) 印刷装置及びその制御方法、並びにプログラム
JP4095581B2 (ja) 情報処理装置およびその制御方法
JP2012111210A (ja) 印刷データ生成装置、印刷データ生成方法及びプログラム
JP2011143576A (ja) 印刷データ生成装置、画像形成装置及びプログラム
JP2007140952A (ja) 分散処理システム及びその処理方法
JP4418573B2 (ja) 画像出力制御装置、画像出力制御方法、及び記憶媒体
JP5966805B2 (ja) 印刷のための制御装置
US8699071B2 (en) Image forming apparatus and method of forming an image thereof
JP6264757B2 (ja) 画像形成装置、画像形成システム、画像形成装置の制御方法、及び画像形成装置の制御プログラム
JP2006302036A (ja) 色処理モード切替方法、及び該方法を実現する情報処理装置とその制御プログラム
JP2006235813A (ja) 印刷システム
JP2006235932A (ja) 画像処理システム
JP2007058547A (ja) 印刷システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130416

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20130416

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130613

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130613

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130715

R150 Certificate of patent or registration of utility model

Ref document number: 5333259

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150