JP2010282489A - Image forming device, control method, and control program - Google Patents

Image forming device, control method, and control program Download PDF

Info

Publication number
JP2010282489A
JP2010282489A JP2009136298A JP2009136298A JP2010282489A JP 2010282489 A JP2010282489 A JP 2010282489A JP 2009136298 A JP2009136298 A JP 2009136298A JP 2009136298 A JP2009136298 A JP 2009136298A JP 2010282489 A JP2010282489 A JP 2010282489A
Authority
JP
Japan
Prior art keywords
processing
unit
information
image forming
drawing information
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.)
Pending
Application number
JP2009136298A
Other languages
Japanese (ja)
Inventor
Junji Suzuki
淳示 鈴木
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2009136298A priority Critical patent/JP2010282489A/en
Publication of JP2010282489A publication Critical patent/JP2010282489A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To properly parallelize image processing for executing an image formation output, and improving processing efficiency, in an image forming device that has a plurality of calculation means. <P>SOLUTION: An image forming device 1 can perform image processing by either a first core 11 or a second core 12. The device includes a PDL analyzing part 210 which analyzes page information for outputting a drawing command, drawing information generating parts 222 and 226 for generating drawing information based on the drawing command, a load distribution deciding part 224 which distributes the processing for generating drawing information so that either the first core 11 or the second core 12 controls it, and an intermediate data processing part 222 which determines a processing amount for generating the drawing information based on the drawing command. If it is determined that there is a large amount of processing for generating drawing information, the generation processing for drawing information is distributed. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、画像形成装置、制御方法及び制御プログラムに関し、特に、画像形成出力を実行するための描画情報の生成処理を複数の演算手段によって実行可能な場合の画像処理に関する。   The present invention relates to an image forming apparatus, a control method, and a control program, and more particularly, to image processing when drawing information generation processing for executing image forming output can be executed by a plurality of arithmetic units.

近年、情報の電子化が推進される傾向にあり、電子化された情報の出力に用いられるプリンタやファクシミリ及び書類の電子化に用いるスキャナ等の画像処理装置は欠かせない機器となっている。このような画像処理装置は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能な複合機として構成されることが多い。   In recent years, there has been a tendency to digitize information, and image processing apparatuses such as printers and facsimiles used for outputting digitized information and scanners used for digitizing documents have become indispensable devices. Such an image processing apparatus is often configured as a multifunction machine that can be used as a printer, a facsimile, a scanner, or a copier by providing an imaging function, an image forming function, a communication function, and the like.

このような画像処理装置のうち、電子化された情報の出力に用いるプリンタにおいては、入力された画像情報に基づいてプリントエンジンが画像形成出力を実行するための描画情報を生成する画像処理が行われる。この画像処理は、CPU(Central Processing Unit)等の演算手段がソフトウェアに従って動作することにより実行される。   Among such image processing apparatuses, a printer used for outputting digitized information performs image processing for generating drawing information for the print engine to execute image formation output based on the input image information. Is called. This image processing is executed by a calculation means such as a CPU (Central Processing Unit) operating according to software.

近年の情報処理機器の発展により複数の演算手段が含まれるマルチコアCPU等の演算機器が普及している。マルチコアCPUにおいては、複数のコアが夫々独立して動作するため、処理を並列化することにより、処理時間を短縮することが可能になる。従って、上記の画像処理もマルチコアCPUに対応させることにより、処理を効率化することが望まれている。マルチコアCPUの性能を効率的に発揮させるためには、処理を夫々のコアに適切に配分することにより、片方のコアの動作中において片方のコアに待機、即ち、待ちが発生しないようにする必要がある。   With the recent development of information processing equipment, computing equipment such as a multi-core CPU including a plurality of computing means has become widespread. In a multi-core CPU, since a plurality of cores operate independently, the processing time can be shortened by parallelizing the processing. Accordingly, it is desired that the above-described image processing is also made more efficient by making it compatible with a multi-core CPU. In order to efficiently demonstrate the performance of the multi-core CPU, it is necessary to appropriately wait for one core during the operation of one core, that is, to prevent a wait from occurring, by appropriately allocating processing to each core. There is.

画像形成装置におけるマルチコア環境を活用するための方法として、上述した画像処理を2つのステージに分割し、2つのステージを夫々別々のCPUで実行する方法が提案されている(例えば、特許文献1参照)。特許文献1に開示された技術においては、第1のコアによる処理結果を、描画オブジェクトキューを用いて受け渡すことにより、パイプライン並列実行を可能としている。そして、2つのステージ間で負荷分散をはかるために、描画オブジェクトキュー内の描画オブジェクトの待機数により、どちらのステージで色変換処理を実行するかを決定している。   As a method for utilizing a multi-core environment in an image forming apparatus, a method has been proposed in which the above-described image processing is divided into two stages and each of the two stages is executed by different CPUs (see, for example, Patent Document 1). ). In the technique disclosed in Patent Document 1, pipeline parallel execution is enabled by passing the processing result of the first core using a drawing object queue. In order to distribute the load between the two stages, it is determined at which stage the color conversion process is executed according to the number of standby drawing objects in the drawing object queue.

ここで、上述した画像処理は、主として、PDL(Page Description Language)解析処理とレンダリング処理とに分けられる。PDL解析処理とは、ページ記述言語によって構成されたPDL情報を解析し、後段のモジュールによって処理可能なデータ形式に変換する処理である。他方、レンダリング処理とは、PDL解析によって変換された情報に基づき、プリントエンジンが画像形成出力を実行するための描画情報を生成する処理である。   Here, the above-described image processing is mainly divided into a PDL (Page Description Language) analysis process and a rendering process. The PDL analysis process is a process of analyzing PDL information configured in a page description language and converting it into a data format that can be processed by a module at a later stage. On the other hand, the rendering process is a process for generating drawing information for the print engine to execute image formation output based on the information converted by the PDL analysis.

マルチコアCPUに対応した負荷分散態様として、上記PDL解析処置とレンダリング処理とを夫々別々のCPUによって実行する態様が考えられる。しかしながら、PDL解析処理及びレンダリング処理の処理量はデータによって様々であり、この態様によっては、必ずしも効率的な並列化が実現できない。   As a load distribution mode corresponding to the multi-core CPU, a mode in which the PDL analysis process and the rendering process are executed by different CPUs can be considered. However, the amount of PDL analysis processing and rendering processing varies depending on the data, and efficient parallelization cannot always be realized depending on this aspect.

また、特許文献1に開示された方法の場合、描画オブジェクトキューを設けるためにメモリ領域を確保する必要があり、処理に用いることができるメモリ量が制限される。また、色変換処理のみを目的としているため、色処理の少ないモノクロページの描画においては効果が薄い。更には、キューが発生している時点で、既に処理を待っているデータが存在しており、処理の並列化が好適になされていない。   In the case of the method disclosed in Patent Document 1, it is necessary to secure a memory area in order to provide a drawing object queue, and the amount of memory that can be used for processing is limited. Also, since it is intended only for color conversion processing, it is less effective for drawing monochrome pages with little color processing. Furthermore, there is data already waiting for processing at the time when the queue is generated, and parallel processing is not suitably performed.

本発明は、上記実情を考慮してなされたものであり、複数の演算手段を有する画像形成装置において、画像形成出力を実行するための画像処理を適切に並列化し、処理効率を向上することを目的とする。   The present invention has been made in consideration of the above circumstances, and in an image forming apparatus having a plurality of calculation means, appropriately parallelizes image processing for executing image forming output, and improves processing efficiency. Objective.

上記課題を解決するために、本発明の一態様は、画像形成出力を実行するための画像処理を複数の演算手段によって実行可能な画像形成装置であって、ページ記述言語によって構成されたページ情報を取得するページ情報取得部と、前記取得されたページ情報を解析して前記画像形成出力を実行するための描画命令を出力するページ情報解析部と、前記描画命令に基づいて前記画像形成出力を実行するための描画情報を生成する描画情報生成部と、前記描画情報を生成する処理を前記複数の演算手段のいずれかが制御するように分散する分散処理を実行する処理分散部とを含み、前記処理分散部は、前記出力された描画命令に基づいて前記描画情報を生成する際の処理量を判断し、前記描画情報を生成する際の処理量が多いと判断された場合に、前記描画情報の生成処理を前記複数の演算手段のいずれかが制御するように分散することを特徴とする。   In order to solve the above problems, one aspect of the present invention is an image forming apparatus capable of executing image processing for executing image forming output by a plurality of arithmetic units, and includes page information configured by a page description language. A page information acquisition unit that acquires the page information analysis unit that analyzes the acquired page information and outputs a drawing command for executing the image formation output, and outputs the image formation output based on the drawing command. A drawing information generation unit that generates drawing information to be executed, and a processing distribution unit that executes distributed processing to distribute the processing for generating the drawing information so that any of the plurality of arithmetic units controls the processing, When the processing distribution unit determines a processing amount when generating the drawing information based on the output drawing command and determines that the processing amount when generating the drawing information is large Characterized by distributing the generation processing of the drawing information to control any of the plurality of operation means.

ここで、前記処理分散部は、前記処理量を数値情報として算出し、前記算出された数値と所定の閾値とを比較して前記描画情報を生成する際の処理量が多いと判断することができる。若しくは、前記処理分散部は、前記描画命令にベジエ曲線が含まれる場合に前記描画情報を生成する際の処理量が多いと判断することができる。   Here, the processing distribution unit calculates the processing amount as numerical information, and determines that the processing amount when generating the drawing information is large by comparing the calculated numerical value with a predetermined threshold value. it can. Alternatively, the processing distribution unit can determine that the amount of processing when generating the drawing information is large when a Bezier curve is included in the drawing command.

また、前記描画命令に基づいて実行される前記描画情報を生成する処理の処理量を算出する処理量算出部を更に含み、前記処理分散部は、前記算出された処理量に基づいて前記描画情報の生成処理を分散することが好ましい。   In addition, the image processing apparatus further includes a processing amount calculation unit that calculates a processing amount of processing for generating the drawing information executed based on the drawing command, and the processing distribution unit includes the drawing information based on the calculated processing amount. It is preferable to distribute the generation process.

また、前記処理量算出部は、前記複数の演算手段の演算能力に応じた負荷指数として前記処理量を算出することが好ましい。   Moreover, it is preferable that the processing amount calculation unit calculates the processing amount as a load index corresponding to the calculation capability of the plurality of calculation means.

また、前記処理量算出部は、前記描画命令の内容に応じて変動する変動要素と、前記画像形成装置を構成するハードウェアの性能によって決定される固定要素とに基づいて前記負荷指数を算出することが好ましい。   In addition, the processing amount calculation unit calculates the load index based on a variable element that varies according to the content of the drawing command and a fixed element that is determined by the performance of hardware configuring the image forming apparatus. It is preferable.

また、前記処理量算出部は、前記描画命令に含まれる複数種類の処理毎に、前記複数種類の処理夫々の内容に応じて前記変動要素全体への寄与率が異なるように前記変動要素を算出することが好ましい。   Further, the processing amount calculation unit calculates the variation element so that the contribution rate to the entire variation element differs for each of the plurality of types of processing included in the drawing command according to the contents of the plurality of types of processing. It is preferable to do.

また、前記ページ情報取得部、前記ページ情報解析部、前記描画情報生成部、前記処理量算出部及び前記処理分散部が、前記複数の演算手段のうち第1の演算手段によって制御され、前記描画情報生成部が、前記分散処理の結果に応じて前記第1の演算手段及び前記複数の演算手段のうち第2の演算手段のいずれかによって制御され、前記生成された描画命令のうち前記第1の演算手段が前記描画情報生成部を制御して処理した残りの描画命令を記憶媒体に保存するように前記第1の演算手段によって制御される中間情報保存部を更に含み、前記第2の演算手段によって制御された前記描画情報生成部は、前記記憶媒体に保存された描画命令に基づいて前記描画情報の生成処理を実行し、前記ページ情報取得部、前記ページ情報解析部、前記描画情報生成部、前記処理量算出部及び前記処理分散部は、前記第2の演算手段によって制御された前記描画情報生成部の処理と並行して、次のページについてのページ情報の取得以降の処理を実行し、前記処理分散部は、前記次のページについての分散処理において、前記算出された処理量に基づき、並行して実行されている前記第2の演算手段によって制御される前記描画情報の生成処理の処理量に応じて前記描画情報の生成処理を前記複数の演算手段のいずれかが制御するように分散することが好ましい。   In addition, the page information acquisition unit, the page information analysis unit, the drawing information generation unit, the processing amount calculation unit, and the processing distribution unit are controlled by a first calculation unit among the plurality of calculation units, and the drawing An information generation unit is controlled by one of the first calculation unit and the second calculation unit among the plurality of calculation units according to the result of the distributed processing, and the first of the generated drawing commands And an intermediate information storage unit controlled by the first calculation unit so as to store the remaining drawing commands processed by the calculation information generation unit by controlling the drawing information generation unit, and the second calculation The drawing information generation unit controlled by the means executes the drawing information generation processing based on the drawing command stored in the storage medium, and the page information acquisition unit, the page information analysis unit, The image information generation unit, the processing amount calculation unit, and the processing distribution unit, in parallel with the processing of the drawing information generation unit controlled by the second calculation means, after the acquisition of page information for the next page The processing distribution unit executes the processing, and the distribution information for the next page is controlled by the second calculation unit that is executed in parallel based on the calculated processing amount in the distribution processing for the next page It is preferable that the drawing information generation process is distributed so that any one of the plurality of calculation units controls according to the amount of the generation process.

また、前記処理分散部は、前記次のページについての分散処理において、前記記憶媒体に保存されている描画命令の情報量に応じて前記描画情報の生成処理を前記複数の演算手段のいずれかが制御するように分散することが好ましい。   Further, in the distribution processing for the next page, the processing distribution unit performs the drawing information generation processing according to the information amount of the drawing command stored in the storage medium by any one of the plurality of calculation means. It is preferable to disperse in a controlled manner.

また、前記処理分散部は、前記次のページについての分散処理において、並行して実行されている前記第2の演算手段によって制御される前記描画情報の生成処理の処理状態に応じて前記描画情報の生成処理を前記複数の演算手段のいずれかが制御するように分散することが好ましい。   Further, the processing distribution unit is configured to perform the drawing information according to a processing state of the drawing information generation processing controlled by the second calculation unit being executed in parallel in the distributed processing for the next page. It is preferable that the generation process is distributed so that any one of the plurality of calculation means controls.

また、前記処理分散部は、前記描画情報の生成処理以外の処理で前記第1の演算手段による制御によって処理され得る最低限の処理量を、前記第2の演算手段によって制御された前記描画情報生成部が実行すべき描画情報の生成処理として割り当てることが好ましい。   In addition, the processing distribution unit is configured to reduce the minimum processing amount that can be processed by the control by the first calculation unit in a process other than the drawing information generation process, and the drawing information controlled by the second calculation unit. It is preferable to assign as a generation process of drawing information to be executed by the generation unit.

また、前記処理分散部は、前記描画命令に含まれるベジエ曲線を描画情報に変換するスキャンライン変換処理を分割して前記複数の演算手段のいずれかが制御するように分散することが好ましい。   Further, it is preferable that the processing distribution unit divides a scan line conversion process for converting a Bezier curve included in the drawing command into drawing information and distributes it so as to be controlled by any of the plurality of arithmetic units.

また、前記スキャンライン変換処理は複数段階の処理を経て前記ベジエ曲線を描画情報に変換する処理であり、前記処理分散部は、前記複数段階のいずれかの段階で区切ることにより、前記スキャンライン変換を分割することが好ましい。   The scan line conversion process is a process of converting the Bezier curve into drawing information through a plurality of stages of processing, and the processing distribution unit is configured to divide the scan line conversion by dividing at any one of the plurality of stages. Is preferably divided.

また、本発明の他の態様は、画像形成出力を実行するための画像処理を複数の演算手段によって実行可能な画像形成装置の制御方法であって、ページ情報取得部が、ページ記述言語によって構成されたページ情報を取得し、ページ情報解析部が、前記取得されたページ情報を解析して前記画像形成出力を実行するための描画命令を出力し、処理量判断部が、前記出力された描画命令に基づいて前記画像形成出力を実行するための描画情報を生成する際の処理量を判断し、処理分散部が、前記描画情報を生成する際の処理量が多いと判断された場合に、前記描画情報の生成処理を前記複数の演算手段のいずれかが制御するように分散し、描画情報生成部が、前記分散の結果に応じて、前記複数の演算手段のいずれかの制御によって前記描画情報を生成するように制御することを特徴とする。   According to another aspect of the present invention, there is provided a control method for an image forming apparatus capable of executing image processing for executing image formation output by a plurality of arithmetic means, wherein the page information acquisition unit is configured by a page description language. The page information analysis unit outputs the drawing command for analyzing the acquired page information and executing the image formation output, and the processing amount determination unit outputs the drawing information When determining the processing amount when generating the drawing information for executing the image forming output based on the command, and when the processing distribution unit determines that the processing amount when generating the drawing information is large, The drawing information generation process is distributed so that any one of the plurality of calculation units controls, and the drawing information generation unit controls the drawing by controlling any one of the plurality of calculation units according to the result of the distribution. information And controlling so as to generate.

また、本発明の他の態様は、情報処理装置を、画像形成出力を実行するための画像処理を複数の演算手段によって実行可能な画像形成装置として動作させる制御プログラムであって、ページ記述言語によって構成されたページ情報を取得するステップと、前記取得されたページ情報を解析して前記画像形成出力を実行するための描画命令を出するステップと、前記出力された描画命令に基づいて前記画像形成出力を実行するための描画情報を生成する際の処理量を判断するステップと、前記描画情報を生成する際の処理量が多いと判断された場合に、前記描画情報の生成処理を前記複数の演算手段のいずれかが制御するように分散するステップと、前記分散の結果に応じて、前記複数の演算手段のいずれかの制御によって前記描画情報を生成するステップとを前記情報処理装置に実行させることを特徴とする。   According to another aspect of the present invention, there is provided a control program for causing an information processing apparatus to operate as an image forming apparatus that can execute image processing for executing image forming output by a plurality of arithmetic units, and the information processing apparatus uses a page description language. Obtaining the configured page information; analyzing the obtained page information; issuing a drawing command for executing the image forming output; and forming the image based on the output drawing command Determining the amount of processing when generating drawing information for executing output, and determining that the amount of processing when generating the drawing information is large; The drawing information is generated by controlling one of the plurality of calculating means according to the step of distributing so that any of the calculating means controls and the result of the dispersion That the steps, characterized in that to be executed by the information processing apparatus.

本発明によれば、複数の演算手段を有する画像形成装置において、画像形成出力を実行するための画像処理を適切に並列化し、処理効率を向上することが可能となる。   According to the present invention, in an image forming apparatus having a plurality of computing units, it is possible to appropriately parallelize image processing for executing image forming output and improve processing efficiency.

本発明の実施形態に係る画像形成装置のハードウェア構成を示すブロック図である。1 is a block diagram illustrating a hardware configuration of an image forming apparatus according to an embodiment of the present invention. 本発明の実施形態に係る画像形成装置の機能構成を示す図である。1 is a diagram illustrating a functional configuration of an image forming apparatus according to an embodiment of the present invention. 本発明の実施形態に係る画像処理部に含まれる機能を示す図である。It is a figure which shows the function contained in the image process part which concerns on embodiment of this invention. 本発明の実施形態に係る印刷情報の例を示す図である。It is a figure which shows the example of the printing information which concerns on embodiment of this invention. 本発明の実施形態に係る描画コアモジュールに含まれる機能を示す図である。It is a figure which shows the function contained in the drawing core module which concerns on embodiment of this invention. 本発明の実施形態に係るPDLアプリケーションの動作を示す図である。It is a figure which shows operation | movement of the PDL application which concerns on embodiment of this invention. 本発明の実施形態に係る並列処理と従来技術に係る並列処理とを比較して示す図である。It is a figure which compares and shows the parallel processing which concerns on embodiment of this invention, and the parallel processing which concerns on a prior art. 本発明の他の実施形態に係るPDLアプリケーションの動作を示す図である。It is a figure which shows operation | movement of the PDL application which concerns on other embodiment of this invention. 本発明の他の実施形態に係るスキャンライン変換処理を示す図である。It is a figure which shows the scan line conversion process which concerns on other embodiment of this invention.

実施の形態1.
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、プリンタ、スキャナ、複写機等の機能を含む複合機(MFP:Multi Function Peripheral)としての画像形成装置を例として説明する。
Embodiment 1 FIG.
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the present exemplary embodiment, an image forming apparatus as an MFP (Multi Function Peripheral) including functions of a printer, a scanner, a copier, and the like will be described as an example.

図1は、本実施形態に係る画像形成装置1のハードウェア構成を示すブロック図である。図1に示すように、本実施形態に係る画像形成装置1は、一般的なサーバやPC(Personal Computer)等の情報処理端末と同様の構成に加えて、画像形成を実行するエンジンを有する。即ち、本実施形態に係る画像形成装置1は、CPU(Central Processing Unit)10、RAM(Random Access Memory)20、ROM(Read Only Memory)30、エンジン40、HDD(Hard Disk Drive)50及びI/F60がバス90を介して接続されている。また、I/F60にはLCD(Liquid Crystal Display)70及び操作部80が接続されている。   FIG. 1 is a block diagram illustrating a hardware configuration of an image forming apparatus 1 according to the present embodiment. As shown in FIG. 1, the image forming apparatus 1 according to the present embodiment includes an engine that executes image formation in addition to the same configuration as an information processing terminal such as a general server or a PC (Personal Computer). That is, the image forming apparatus 1 according to the present embodiment includes a CPU (Central Processing Unit) 10, a RAM (Random Access Memory) 20, a ROM (Read Only Memory) 30, an engine 40, a HDD (Hard Disk Drive) 50, and an I / O. F60 is connected via the bus 90. Further, an LCD (Liquid Crystal Display) 70 and an operation unit 80 are connected to the I / F 60.

CPU10は演算手段であり、画像形成装置1全体の動作を制御する。また、本実施形態に係るCPU10は、デュアルコアCPUであり、第1コア11及び第2コア12を含む。第1コア11と第2コア12とが夫々独立して動作することにより、並列処理が可能となり、処理時間を短縮することが可能となる。RAM20は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU10が情報を処理する際の作業領域として用いられる。ROM30は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。エンジン40は、画像形成装置1において実際に画像形成を実行する機構である。   The CPU 10 is a calculation unit and controls the operation of the entire image forming apparatus 1. The CPU 10 according to the present embodiment is a dual core CPU and includes a first core 11 and a second core 12. Since the first core 11 and the second core 12 operate independently, parallel processing is possible, and processing time can be shortened. The RAM 20 is a volatile storage medium capable of reading and writing information at high speed, and is used as a work area when the CPU 10 processes information. The ROM 30 is a read-only nonvolatile storage medium and stores a program such as firmware. The engine 40 is a mechanism that actually executes image formation in the image forming apparatus 1.

HDD50は、情報の読み書きが可能な不揮発性の記憶媒体であり、OS(Operating System)や各種の制御プログラム、アプリケーション・プログラム等が格納されている。I/F60は、バス90と各種のハードウェアやネットワーク等を接続し制御する。LCD70は、ユーザが画像形成装置1の状態を確認するための視覚的ユーザインタフェースである。操作部80は、キーボードやマウス等、ユーザが画像形成装置1に情報を入力するためのユーザインタフェースである。   The HDD 50 is a non-volatile storage medium that can read and write information, and stores an OS (Operating System), various control programs, application programs, and the like. The I / F 60 connects and controls the bus 90 and various hardware and networks. The LCD 70 is a visual user interface for the user to check the state of the image forming apparatus 1. The operation unit 80 is a user interface for a user to input information to the image forming apparatus 1 such as a keyboard and a mouse.

このようなハードウェア構成において、ROM30やHDD50若しくは図示しない光学ディスク等の記録媒体に格納されたプログラムがRAM20に読み出され、CPU10の制御に従って動作することにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係る画像形成装置1の機能を実現する機能ブロックが構成される。   In such a hardware configuration, a program stored in a recording medium such as the ROM 30 or the HDD 50 or an optical disk (not shown) is read out to the RAM 20 and operates according to the control of the CPU 10 to constitute a software control unit. A functional block that realizes the functions of the image forming apparatus 1 according to the present embodiment is configured by a combination of the software control unit configured as described above and hardware.

次に、図2を参照して、本実施形態に係る画像形成装置1の機能構成について説明する。図2は、本実施形態に係る画像形成装置1の機能構成を示すブロック図である。図2に示すように、本実施形態に係る画像形成装置1は、コントローラ100、ADF(Auto Documennt Feeder:原稿自動搬送装置)110、スキャナユニット120、排紙トレイ130、ディスプレイパネル140、給紙テーブル150、プリントエンジン160、排紙トレイ170及びネットワークI/F180を有する。   Next, the functional configuration of the image forming apparatus 1 according to the present embodiment will be described with reference to FIG. FIG. 2 is a block diagram illustrating a functional configuration of the image forming apparatus 1 according to the present embodiment. As shown in FIG. 2, the image forming apparatus 1 according to the present embodiment includes a controller 100, an ADF (Auto Document Feeder) 110, a scanner unit 120, a paper discharge tray 130, a display panel 140, and a paper feed table. 150, a print engine 160, a paper discharge tray 170, and a network I / F 180.

また、コントローラ100は、主制御部101、エンジン制御部102、入出力制御部103、画像処理部104及び操作表示制御部105を有する。図2に示すように、本実施形態に係る画像形成装置1は、スキャナユニット120、プリントエンジン160を有する複合機として構成されている。尚、図2においては、電気的接続を実線の矢印で示しており、用紙の流れを破線の矢印で示している。   The controller 100 includes a main control unit 101, an engine control unit 102, an input / output control unit 103, an image processing unit 104, and an operation display control unit 105. As shown in FIG. 2, the image forming apparatus 1 according to the present embodiment is configured as a multifunction machine having a scanner unit 120 and a print engine 160. In FIG. 2, the electrical connection is indicated by solid arrows, and the flow of paper is indicated by broken arrows.

ディスプレイパネル140は、画像形成装置1の状態を視覚的に表示する出力インタフェースであると共に、タッチパネルとしてユーザが画像形成装置1を直接操作し若しくは画像形成装置1に対して情報を入力する際の入力インタフェース(操作部)でもある。ネットワークI/F180は、画像形成装置1がネットワークを介して他の機器と通信するためのインタフェースであり、Ethernet(登録商標)やUSB(Universal Serial Bus)インタフェースが用いられる。   The display panel 140 is an output interface that visually displays the state of the image forming apparatus 1 and is an input when the user directly operates the image forming apparatus 1 or inputs information to the image forming apparatus 1 as a touch panel. It is also an interface (operation unit). The network I / F 180 is an interface for the image forming apparatus 1 to communicate with other devices via the network, and uses an Ethernet (registered trademark) or a USB (Universal Serial Bus) interface.

コントローラ100は、ソフトウェアとハードウェアとの組み合わせによって構成される。具体的には、ROM30や不揮発性メモリ並びにHDD50や光学ディスク等の不揮発性記録媒体に格納されたファームウェア等の制御プログラムが、RAM20等の揮発性メモリ(以下、メモリ)にロードされ、CPU10の制御に従って構成されるソフトウェア制御部と集積回路などのハードウェアとによってコントローラ100が構成される。コントローラ100は、画像形成装置1全体を制御する制御部として機能する。   The controller 100 is configured by a combination of software and hardware. Specifically, a control program such as firmware stored in a ROM 30, a nonvolatile memory, and a nonvolatile recording medium such as the HDD 50 or an optical disk is loaded into a volatile memory (hereinafter referred to as a memory) such as the RAM 20, and is controlled by the CPU 10. The controller 100 is configured by a software control unit configured according to the above and hardware such as an integrated circuit. The controller 100 functions as a control unit that controls the entire image forming apparatus 1.

主制御部101は、コントローラ100に含まれる各部を制御する役割を担い、コントローラ100の各部に命令を与える。エンジン制御部102は、プリントエンジン160やスキャナユニット120等を制御若しくは駆動する駆動手段としての役割を担う。入出力制御部103は、ネットワークI/F180を介して入力される信号や命令を主制御部101に入力する。また、主制御部101は、入出力制御部103を制御し、ネットワークI/F180を介して他の機器にアクセスする。   The main control unit 101 plays a role of controlling each unit included in the controller 100, and gives a command to each unit of the controller 100. The engine control unit 102 serves as a drive unit that controls or drives the print engine 160, the scanner unit 120, and the like. The input / output control unit 103 inputs a signal or a command input via the network I / F 180 to the main control unit 101. The main control unit 101 also controls the input / output control unit 103 to access other devices via the network I / F 180.

画像処理部104は、主制御部101の制御に従い、入力された印刷ジョブに含まれる印刷情報に基づいて描画情報を生成する。この描画情報とは、画像形成部であるプリントエンジン160が画像形成動作において形成すべき画像を描画するための情報である。また、印刷ジョブに含まれる印刷情報とは、PC等の情報処理装置にインストールされたプリンタドライバによって画像形成装置1が認識可能な形式に変換された情報であり、PDL(Page Description Language)によって記述された情報である。換言すると、上記印刷情報とは、画像形成出力すべきページの情報が記述されたページ情報である。尚、本実施形態においては、ページ記述言語としてPDLを用いる場合を例とするが、他の言語であっても良い。   The image processing unit 104 generates drawing information based on the print information included in the input print job, under the control of the main control unit 101. The drawing information is information for drawing an image to be formed in the image forming operation by the print engine 160 as an image forming unit. Also, the print information included in the print job is information converted into a format that can be recognized by the image forming apparatus 1 by a printer driver installed in an information processing apparatus such as a PC, and is described by PDL (Page Description Language). Information. In other words, the print information is page information in which information on a page to be imaged and output is described. In this embodiment, the case where PDL is used as the page description language is taken as an example, but another language may be used.

本実施形態においては、画像処理部104による上記描画情報の生成処理を、マルチコアのCPU10の第1コア11、第2コア12に好適に割り振ることが要旨となる。画像処理部104の機能については、後に詳述する。操作表示制御部105は、ディスプレイパネル140に情報表示を行い若しくはディスプレイパネル140を介して入力された情報を主制御部101に通知する。   The gist of the present embodiment is that the drawing information generation processing by the image processing unit 104 is suitably allocated to the first core 11 and the second core 12 of the multi-core CPU 10. The function of the image processing unit 104 will be described in detail later. The operation display control unit 105 displays information on the display panel 140 or notifies the main control unit 101 of information input via the display panel 140.

画像形成装置1がプリンタとして動作する場合は、まず、入出力制御部103がネットワークI/F180を介して印刷ジョブを受信する。入出力制御部103は、受信した印刷ジョブを主制御部101に転送する。主制御部101は、印刷ジョブを受信すると、画像処理部104を制御して、印刷ジョブに含まれる印刷情報に基づいて描画情報を生成させる。   When the image forming apparatus 1 operates as a printer, first, the input / output control unit 103 receives a print job via the network I / F 180. The input / output control unit 103 transfers the received print job to the main control unit 101. When receiving the print job, the main control unit 101 controls the image processing unit 104 to generate drawing information based on the print information included in the print job.

画像処理部104によって描画情報が生成されると、エンジン制御部102は、生成された描画情報に基づき、給紙テーブル150から搬送される用紙に対して画像形成を実行する。即ち、プリントエンジン160が画像形成部として機能する。プリントエンジン160の具体的態様としては、インクジェット方式による画像形成機構や電子写真方式による画像形成機構等を用いることが可能である。プリントエンジン160によって画像形成が施された文書は排紙トレイ170に排紙される。   When drawing information is generated by the image processing unit 104, the engine control unit 102 executes image formation on a sheet conveyed from the paper feed table 150 based on the generated drawing information. That is, the print engine 160 functions as an image forming unit. As a specific mode of the print engine 160, an image forming mechanism using an ink jet method, an image forming mechanism using an electrophotographic method, or the like can be used. The document on which the image has been formed by the print engine 160 is discharged to the discharge tray 170.

画像形成装置1がスキャナとして動作する場合は、ユーザによるディスプレイパネル140の操作若しくはネットワークI/F180を介して外部のクライアント用の情報処理端末等から入力されるスキャン実行指示に応じて、操作表示制御部105若しくは入出力制御部103が主制御部101にスキャン実行信号を転送する。主制御部101は、受信したスキャン実行信号に基づき、エンジン制御部102を制御する。   When the image forming apparatus 1 operates as a scanner, the operation display control is performed according to a user operation on the display panel 140 or a scan execution instruction input from an information processing terminal for an external client via the network I / F 180. The unit 105 or the input / output control unit 103 transfers a scan execution signal to the main control unit 101. The main control unit 101 controls the engine control unit 102 based on the received scan execution signal.

エンジン制御部102は、ADF110を駆動し、ADF110にセットされた撮像対象原稿をスキャナユニット120に搬送する。また、エンジン制御部102は、スキャナユニット120を駆動し、ADF110から搬送される原稿を撮像する。また、ADF110に原稿がセットされておらず、スキャナユニット120に直接原稿がセットされた場合、スキャナユニット120は、エンジン制御部102の制御に従い、セットされた原稿を撮像する。即ち、スキャナユニット120が撮像部として動作する。   The engine control unit 102 drives the ADF 110 and conveys the document to be imaged set on the ADF 110 to the scanner unit 120. Further, the engine control unit 102 drives the scanner unit 120 and images a document conveyed from the ADF 110. If no original is set on the ADF 110 and the original is set directly on the scanner unit 120, the scanner unit 120 images the set original according to the control of the engine control unit 102. That is, the scanner unit 120 operates as an imaging unit.

撮像動作においては、スキャナユニット120に含まれるCCD等の撮像素子が原稿を光学的に走査し、光学情報に基づいて生成された撮像情報が生成される。エンジン制御部102は、スキャナユニット120が生成した撮像情報を画像処理部104に転送する。画像処理部104は、主制御部101の制御に従い、エンジン制御部102から受信した撮像情報に基づき画像情報を生成する。画像処理部104が生成した画像情報はHDD40等の画像形成装置1に装着された記憶媒体に保存される。即ち、スキャナユニット120、エンジン制御部102及び画像処理部104が連動して、原稿読み取り部として機能する。   In the imaging operation, an imaging element such as a CCD included in the scanner unit 120 optically scans the document, and imaging information generated based on the optical information is generated. The engine control unit 102 transfers the imaging information generated by the scanner unit 120 to the image processing unit 104. The image processing unit 104 generates image information based on the imaging information received from the engine control unit 102 according to the control of the main control unit 101. Image information generated by the image processing unit 104 is stored in a storage medium attached to the image forming apparatus 1 such as the HDD 40. That is, the scanner unit 120, the engine control unit 102, and the image processing unit 104 work together to function as a document reading unit.

画像処理部1104によって生成された画像情報は、ユーザの指示に応じてそのままHDD40等に格納され若しくは入出力制御部103及びネットワークI/F180を介して外部の装置に送信される。即ち、スキャナユニット120及びエンジン制御部102が画像入力部として機能する。   The image information generated by the image processing unit 1104 is stored as it is in the HDD 40 or the like according to a user instruction, or is transmitted to an external device via the input / output control unit 103 and the network I / F 180. That is, the scanner unit 120 and the engine control unit 102 function as an image input unit.

また、画像形成装置1が複写機として動作する場合は、エンジン制御部102がスキャナユニット120から受信した撮像情報若しくは画像処理部104が生成した画像情報に基づき、画像処理部104が描画情報を生成する。その描画情報に基づいてプリンタ動作の場合と同様に、エンジン制御部102がプリントエンジン160を駆動する。   Further, when the image forming apparatus 1 operates as a copying machine, the image processing unit 104 generates drawing information based on imaging information received by the engine control unit 102 from the scanner unit 120 or image information generated by the image processing unit 104. To do. Based on the drawing information, the engine control unit 102 drives the print engine 160 as in the case of the printer operation.

このような画像形成装置1において、本実施形態に係る要旨は、画像処理部104が描画情報を生成する際の処理の分割及び並列処理にある。以下、本実施形態に係る画像処理部104の機能及び動作について説明する。図3は、本実施形態に係る画像処理部104に含まれる機能を示すブロック図である。図3に示すように、本実施形態に係る画像処理部104は、PDL解析部210及び描画コアモジュール220によって構成されるPDLアプリケーション200を含む。   In such an image forming apparatus 1, the gist of the present embodiment lies in the division and parallel processing of processing when the image processing unit 104 generates drawing information. Hereinafter, functions and operations of the image processing unit 104 according to the present embodiment will be described. FIG. 3 is a block diagram illustrating functions included in the image processing unit 104 according to the present embodiment. As illustrated in FIG. 3, the image processing unit 104 according to the present embodiment includes a PDL application 200 configured by a PDL analysis unit 210 and a drawing core module 220.

PDL解析部210は、PDLで記述された印刷情報を取得し、描画コアモジュール220が処理可能な形式に変換する。この変換された形式の情報が、PDLアプリケーション200において描画命令として処理される。即ち、PDL解析部210が、ページ情報取得部及びページ情報解析部として機能する。ここで、PDLで記述された印刷情報の内容を図4に示す。図4に示すように、PDLで記述された印刷情報は、テキスト情報、イメージ情報、ベクター情報及び描画設定情報を含む。   The PDL analysis unit 210 acquires print information described in PDL and converts it into a format that can be processed by the drawing core module 220. The converted format information is processed as a rendering command in the PDL application 200. That is, the PDL analysis unit 210 functions as a page information acquisition unit and a page information analysis unit. Here, the content of the print information described in PDL is shown in FIG. As shown in FIG. 4, the print information described in PDL includes text information, image information, vector information, and drawing setting information.

描画コアモジュール220は、PDL解析部210によって変換された描画命令に基づき、プリントエンジン160が画像形成出力を実行するための描画情報を生成する。図3に示す画像処理部104の機能のうち、PDL解析部210は、第1コア11のみによって処理される。他方、描画コアモジュール220は、第1コア11及び第2コア12によって分散処理される。即ち、描画コアモジュール220の機能が本実施形態に係る要旨の1つとなる。   The drawing core module 220 generates drawing information for the print engine 160 to execute image formation output based on the drawing command converted by the PDL analysis unit 210. Among the functions of the image processing unit 104 illustrated in FIG. 3, the PDL analysis unit 210 is processed only by the first core 11. On the other hand, the drawing core module 220 is distributed by the first core 11 and the second core 12. That is, the function of the drawing core module 220 is one of the gist according to the present embodiment.

図4を参照して、描画コアモジュール220の機能について説明する。図5は、描画コアモジュール220に含まれる機能を示すブロック図である。図5に示すように、本実施形態に係る描画コアモジュール220は、描画モジュールI/F221、中間データ処理部222、負荷指数算出部223、負荷分散決定部224、中間データ記憶部225、描画処理部226及び描画情報出力部227を含む。図4に含まれる各構成のうち、描画モジュールI/F221、中間データ処理部222、負荷指数算出部223及び負荷分散決定部224が、第1コア11によって制御され、描画処理部226及び描画情報出力部227が第2コア12によって制御される。これら第1コア11及び第2コア12によって制御される夫々の機能ブロックは、ソフトウェア・プログラムとして実現される描画コアモジュール220を構成するモジュールである。   The function of the drawing core module 220 will be described with reference to FIG. FIG. 5 is a block diagram illustrating functions included in the drawing core module 220. As shown in FIG. 5, the drawing core module 220 according to the present embodiment includes a drawing module I / F 221, an intermediate data processing unit 222, a load index calculation unit 223, a load distribution determination unit 224, an intermediate data storage unit 225, and a drawing process. Part 226 and a drawing information output part 227. Among the components included in FIG. 4, the drawing module I / F 221, the intermediate data processing unit 222, the load index calculation unit 223, and the load distribution determination unit 224 are controlled by the first core 11, and the drawing processing unit 226 and the drawing information The output unit 227 is controlled by the second core 12. Each functional block controlled by the first core 11 and the second core 12 is a module constituting a drawing core module 220 realized as a software program.

描画モジュールI/F221は、PDL解析部210より、変換された情報を取得する。中間データ処理部222は、描画モジュールI/F221が取得した情報を中間データ記憶部225に記憶させる。即ち、中間データ処理部222が、中間情報保存部として機能する。また、中間データ処理部222は、描画モジュールI/F221が取得した情報を負荷指数算出部223に転送し、負荷指数算出部223に負荷指数の算出処理を実行させる。更に、中間データ処理部222は、負荷指数算出部223による負荷指数の算出結果に基づき、負荷分散決定部224に負荷分散処理を実行させる。   The drawing module I / F 221 acquires converted information from the PDL analysis unit 210. The intermediate data processing unit 222 stores information acquired by the drawing module I / F 221 in the intermediate data storage unit 225. That is, the intermediate data processing unit 222 functions as an intermediate information storage unit. Further, the intermediate data processing unit 222 transfers information acquired by the drawing module I / F 221 to the load index calculation unit 223, and causes the load index calculation unit 223 to execute a load index calculation process. Further, the intermediate data processing unit 222 causes the load distribution determination unit 224 to execute load distribution processing based on the load index calculation result by the load index calculation unit 223.

また、本実施形態に係る中間データ処理部222は、負荷分散決定部224によって負荷分散処理が実行された結果、第1コア11にも描画情報の生成処理が割り当てられた場合に、その描画処理を実行する。即ち、中間データ処理部222が、中間データ記憶部225に中間データを保存する前に描画処理を実行する第1の描画情報生成部として機能する。   Also, the intermediate data processing unit 222 according to the present embodiment, when the load distribution determining unit 224 executes the load distribution process, the drawing information generation process is assigned to the first core 11 as well. Execute. That is, the intermediate data processing unit 222 functions as a first drawing information generation unit that executes a drawing process before storing the intermediate data in the intermediate data storage unit 225.

負荷指数算出部223は、中間データ処理部222から入力された情報、即ちPDL形式から変換された印刷情報に基づいて描画情報を生成する際の負荷指数を算出する。この負荷指数とは、描画情報の生成処理についての処理量を示す数値であり、処理すべき情報の量、即ち処理量にCPU10やRAM20等のハードウェアの処理能力も加味された数値である。即ち、負荷指数算出部223が、処理量算出部として機能する。本実施形態に係る負荷指数の算出態様について、以下に説明する。   The load index calculation unit 223 calculates a load index for generating drawing information based on the information input from the intermediate data processing unit 222, that is, print information converted from the PDL format. The load index is a numerical value indicating the processing amount for the drawing information generation processing, and is a numerical value in which the processing capacity of hardware such as the CPU 10 and the RAM 20 is added to the amount of information to be processed, that is, the processing amount. That is, the load index calculation unit 223 functions as a processing amount calculation unit. The calculation mode of the load index according to this embodiment will be described below.

本実施形態においては、描画情報生成処理の負荷指数を算出する際のパラメータとして、ベクターデータにおけるベジエ曲線の制御点数、イメージデータのデータサイズ、描画領域のサイズ、描画処理手段の性能を用いる。ベジエ曲線においては、制御点間を分割して線分(パス)を生成するため、制御点数が多い程分割処理が多く発生する。従って、処理量はベジエ曲線の制御点数に比例する。   In the present embodiment, the Bezier curve control points in the vector data, the data size of the image data, the size of the drawing area, and the performance of the drawing processing means are used as parameters when calculating the load index of the drawing information generation process. In a Bezier curve, line segments (paths) are generated by dividing between control points. Therefore, the larger the number of control points, the more division processing occurs. Therefore, the processing amount is proportional to the number of control points of the Bezier curve.

また、イメージ描画の場合、入力データはRGB(Red Green Blue)の24bitやIndexデータによって表現されており、そのデータの各ピクセルに対してカラーマッチング処理や回転処理等の処理がされる。即ち、データサイズが大きい程、上記処理が多く発生する。従って、処理量は、入力イメージのデータサイズに比例する。   In the case of image drawing, input data is expressed by RGB (Red Green Blue) 24-bit or Index data, and each pixel of the data is subjected to processing such as color matching processing and rotation processing. That is, the larger the data size, the more processing described above occurs. Therefore, the processing amount is proportional to the data size of the input image.

また、入力データの画像サイズが小さい場合であっても、その画像を用いて描画する領域が大きければ、演算に要するコストもメモリアクセスも増加する。これは、描画先のピクセル毎に演算及び書き込みをする必要がある事に起因する。従って、処理量は、描画領域のサイズに比例する。   Even if the image size of the input data is small, if the area to be drawn using the image is large, the cost required for calculation and memory access increase. This is because it is necessary to perform calculation and writing for each drawing destination pixel. Therefore, the processing amount is proportional to the size of the drawing area.

また、ホモジニアス型のマルチコアCPUを用いた場合、互いに性能は同じであるが、ヘテロジニアス型のマルチコアCPUの場合は、各コアによって性能が異なるため、どちらのコアで処理をするかによって重みが異なる。また、スキャンライン変換に特化したコアやハードウェアアクセラレータを使用した場合も同様である。ここで、スキャンライン変換とは、上述したベクターデータにおけるベジエ曲線をラスタデータ、即ちビットマップに変換する処理である。   In addition, when using a homogeneous multi-core CPU, the performance is the same as each other, but in the case of a heterogeneous multi-core CPU, the performance differs depending on the core, so the weight differs depending on which core is used for processing. . The same applies when a core or hardware accelerator specialized for scanline conversion is used. Here, the scan line conversion is a process of converting the above-described Bezier curve in the vector data into raster data, that is, a bitmap.

これらのパラメータに基づき、負荷指数算出部223は以下の式(1)を用いて負荷指数Wを算出する。尚、式(1)において、“B”は、ベジエ曲線の制御点数、“D”は、入力データサーズ、“S”は、描画領域のサイズであり、これらが負荷指数Wの変動要素である。また、“P”は、描画処理手段の性能であり、これが、負荷指数Wの固定要素である。本実施形態に係る“P”は第1コア11に対する第2コア12の相対的な性能であり、負の値となる場合もあり得る。また、“a”〜“b”は、夫々の重み係数である。この重み係数により、上記“B”、“D”、“S”等の夫々の項目毎に負荷指数Wの値への寄与率が異なる。

Figure 2010282489
Based on these parameters, the load index calculation unit 223 calculates the load index W using the following equation (1). In equation (1), “B” is the number of control points of the Bezier curve, “D” is the input data size, “S” is the size of the drawing area, and these are the fluctuation factors of the load index W. . “P” is the performance of the drawing processing means, which is a fixed factor of the load index W. “P” according to the present embodiment is a relative performance of the second core 12 with respect to the first core 11, and may be a negative value. “A” to “b” are respective weighting factors. Depending on the weighting factor, the contribution rate to the value of the load index W differs for each item such as “B”, “D”, and “S”.
Figure 2010282489

負荷分散決定部224は、負荷指数算出部223によって算出された負荷指数に基づき、描画情報の生成処理を第1コア11と第2コア12とに分散する分散態様を決定する。負荷分散決定部224は、分散態様を決定する際、上述した描画処理手段の性能を参照し、第1コア11と第2コア12とで性能が異なる場合でも、好適に処理が割り振られるように分散態様を決定する。   The load distribution determination unit 224 determines a distribution mode for distributing the drawing information generation process to the first core 11 and the second core 12 based on the load index calculated by the load index calculation unit 223. When determining the distribution mode, the load distribution determination unit 224 refers to the performance of the drawing processing unit described above so that even when the performance differs between the first core 11 and the second core 12, processing is suitably allocated. The distribution mode is determined.

負荷分散決定部224による負荷分散の態様としては、ベクターデータのスキャンライン変換処理の分割、イメージデータのカラーマッチング処理や回転処理の分割、テキストデータのラスタライズ(ビットマップ化)処理の分割等が挙げられる。   Examples of load distribution by the load distribution determining unit 224 include division of scan line conversion processing of vector data, division of color matching processing and rotation processing of image data, division of text data rasterization (bitmap) processing, and the like. It is done.

中間データ記憶部225は、第1コア11によって制御されるモジュールから、第2コア12によって制御されるモジュールへ処理途中のデータを受け渡すための記憶媒体である。本実施形態においては、上述したように、負荷分散処理の結果に応じて、中間データ処理部222によっても描画情報の生成処理が実行される。従って、中間データ記憶部225には、中間データ処理部222によってPDL形式から変換された印刷情報が記憶される他、中間データ処理部222によって生成された描画情報が記憶される。   The intermediate data storage unit 225 is a storage medium for transferring data being processed from the module controlled by the first core 11 to the module controlled by the second core 12. In the present embodiment, as described above, drawing information generation processing is also executed by the intermediate data processing unit 222 according to the result of the load distribution processing. Accordingly, the intermediate data storage unit 225 stores print information converted from the PDL format by the intermediate data processing unit 222 and also stores drawing information generated by the intermediate data processing unit 222.

描画処理部226は、中間データ記憶部225に記憶された情報のうち、未だ画像形成出力用の描画がされていない情報、即ち、PDL解析部210によって出力された描画命令のうち、中間データ処理部222が描画処理を実行した残りの描画命令に基づいて描画情報を生成する。即ち、描画処理部226が第2の描画情報生成部として機能する。   The drawing processing unit 226 includes, among information stored in the intermediate data storage unit 225, information that has not yet been drawn for image formation output, that is, among drawing commands output by the PDL analysis unit 210, intermediate data processing. The unit 222 generates drawing information based on the remaining drawing commands for which the drawing process has been executed. That is, the drawing processing unit 226 functions as a second drawing information generation unit.

描画情報出力部227は、描画処理部226によって生成された描画情報をページメモリに出力する。上述したように、描画処理部226及び描画情報出力部227は、第2コア12によって制御される。即ち、描画処理部226及び描画情報出力部227は、第1コア11が中間データ記憶部225に中間データを記憶させ、次のページのPDL解析処理を実行する期間に並行して動作可能である。これにより、第1コア11と第2コア12とに処理を分散し、並列処理によって処理時間を短縮することができる。   The drawing information output unit 227 outputs the drawing information generated by the drawing processing unit 226 to the page memory. As described above, the drawing processing unit 226 and the drawing information output unit 227 are controlled by the second core 12. That is, the drawing processing unit 226 and the drawing information output unit 227 can operate in parallel with a period in which the first core 11 stores the intermediate data in the intermediate data storage unit 225 and executes the PDL analysis process for the next page. . Thereby, processing can be distributed to the first core 11 and the second core 12, and processing time can be shortened by parallel processing.

次に、本実施形態に係るPDLアプリケーション200の動作について、図を参照して説明する。図6は、本実施形態に係るPDLアプリケーション200の動作を示すフローチャートである。また、図7は、本実施形態に係るPDLアプリケーション200における並列動作と、従来の並列動作とを模式的に示す図である。図7においては、3ページ分の印刷情報が入力された場合を例としている。   Next, the operation of the PDL application 200 according to the present embodiment will be described with reference to the drawings. FIG. 6 is a flowchart showing the operation of the PDL application 200 according to this embodiment. FIG. 7 is a diagram schematically illustrating a parallel operation and a conventional parallel operation in the PDL application 200 according to the present embodiment. FIG. 7 shows an example in which print information for three pages is input.

画像処理部104がPDL形式の印刷情報を取得すると、PDLアプリケーション200が動作を開始する。まず、第1コア11がPDL解析部210を制御し、入力されたPDLデータを解析して描画コアモジュール220が処理可能なデータ形式に変換させる(S601)。PDL解析部210によって変換された情報は、描画モジュールI/F221を介して中間データ処理部222に入力される。   When the image processing unit 104 acquires print information in the PDL format, the PDL application 200 starts operating. First, the first core 11 controls the PDL analysis unit 210 to analyze the input PDL data and convert it into a data format that can be processed by the drawing core module 220 (S601). The information converted by the PDL analysis unit 210 is input to the intermediate data processing unit 222 via the drawing module I / F 221.

次に、第1コア11が負荷指数算出部223を制御し、負荷指数の算出処理を実行させる(S602)。本実施形態に係るS602の処理は、上述した式(1)に従って実行される。S602の処理によって負荷指数が算出されると、第1コア11が中間データ処理部222を制御し、算出された負荷指数と所定の閾値とを比較させる(S603)。   Next, the first core 11 controls the load index calculation unit 223 to execute a load index calculation process (S602). The process of S602 according to the present embodiment is executed according to the above-described equation (1). When the load index is calculated by the process of S602, the first core 11 controls the intermediate data processing unit 222 to compare the calculated load index with a predetermined threshold (S603).

上記所定の閾値とは、予め定められている値であり、例えば、PDL形式の情報がPDLアプリケーション200に入力された後、中間データ記憶部225に中間データが記憶されるまでに、第1コア11において発生する最低限の処理量の予測値である。これにより、以降の処理において並列化処理が好適に実行されるように、負荷分散の要否を好適に判断することが可能となる。第1コア11において発生する最低限の処理量の予測値とは、例えば、S604の判断結果に関わらず発生する処理であり、S601、S602、S603、S606及びS607の処理量の合計である。   The predetermined threshold is a predetermined value. For example, after the information in the PDL format is input to the PDL application 200, the intermediate data is stored in the intermediate data storage unit 225 until the first core is stored. 11 is a predicted value of the minimum processing amount that occurs in 11. As a result, it is possible to suitably determine whether or not load distribution is necessary so that parallel processing is suitably executed in subsequent processing. The predicted value of the minimum processing amount that occurs in the first core 11 is, for example, processing that occurs regardless of the determination result of S604, and is the total of the processing amounts of S601, S602, S603, S606, and S607.

S603の処理の結果、負荷指数が所定の閾値以上である場合(S603/Yes)、中間データ処理部222は、負荷分散の必要があると判断する。即ち、中間データ処理部222が、処理量判断部として機能する。この場合、第1コア11が負荷分散決定部224を制御し、負荷分散処理を実行させる(S604)。即ち、本実施形態においては、中間データ処理部222、負荷指数算出部223、負荷分散決定部224が連動して処理分散部として機能する。負荷分散処理が完了すると、第1コア11は、中間データ処理部222を制御し、第1コアに割り当てられた描画情報の生成処理を実行させる(S605)。   If the load index is equal to or greater than the predetermined threshold as a result of the processing of S603 (S603 / Yes), the intermediate data processing unit 222 determines that load distribution is necessary. That is, the intermediate data processing unit 222 functions as a processing amount determination unit. In this case, the first core 11 controls the load distribution determining unit 224 to execute the load distribution process (S604). That is, in the present embodiment, the intermediate data processing unit 222, the load index calculation unit 223, and the load distribution determination unit 224 function as a processing distribution unit in conjunction with each other. When the load distribution process is completed, the first core 11 controls the intermediate data processing unit 222 to execute the generation process of the drawing information assigned to the first core (S605).

また、負荷分散決定部224は、S604において第2コア12に割り当てた描画情報の生成処理の処理量(以降、並列処理量とする)を記憶しておく。また、負荷分散決定部224は、S604において、少なくともS603における閾値以上の処理量を第2コア12に割り当てる。これにより、以降の並列処理を効率化することができる。   Further, the load distribution determining unit 224 stores the processing amount of the drawing information generation processing assigned to the second core 12 in S604 (hereinafter referred to as parallel processing amount). In S604, the load distribution determining unit 224 allocates a processing amount at least equal to or greater than the threshold value in S603 to the second core 12. Thereby, subsequent parallel processing can be made efficient.

S605の処理が完了すると、第1コア11は、中間データ処理部222を制御し、S605の処理によって生成された情報及び未だ処理されていない情報、即ち、中間データ処理部222によって描画処理が実行された残りの描画命令を中間データ記憶部225に記憶する(S606)。他方、S603において、負荷指数が所定の閾値未満であると判断された場合(S603/No)、中間データ処理部222は、負荷分散の必要がないと判断し、PDL解析部210から入力された情報をそのまま中間データ記憶部225に記憶させる(S606)。ここまでの処理は、図7に示す“t”の期間に相当する。 When the process of S605 is completed, the first core 11 controls the intermediate data processing unit 222, and the information generated by the process of S605 and the information that has not yet been processed, that is, the rendering process is executed by the intermediate data processing unit 222. The remaining drawing commands are stored in the intermediate data storage unit 225 (S606). On the other hand, if it is determined in S603 that the load index is less than the predetermined threshold (S603 / No), the intermediate data processing unit 222 determines that load distribution is not necessary, and is input from the PDL analysis unit 210. The information is stored as it is in the intermediate data storage unit 225 (S606). The processing so far corresponds to the period “t 1 ” shown in FIG.

S606までの処理が完了することにより、そのページについての以降の処理が第2コア12に引き継がれ、第1コア11は、第2コア12の動作と並行して次のページの処理を実行することになる。そこで、PDLアプリケーション200は、入力された印刷情報について、最終ページが完了したか否かを判断する(S607)。最終ページの処理が完了していれば(S607/Yes)、第1コア11はそのまま処理を終了する。他方、最終ページの処理が完了していなければ(S607/No)、第1コア11は、第2コア12によるS608以降の処理と並行してS601からの処理を繰り返す。ここからが、図7に示す“t”の期間に相当する。 When the processing up to S606 is completed, subsequent processing for the page is taken over by the second core 12, and the first core 11 executes processing for the next page in parallel with the operation of the second core 12. It will be. Therefore, the PDL application 200 determines whether or not the last page has been completed for the input print information (S607). If the processing of the last page has been completed (S607 / Yes), the first core 11 ends the processing as it is. On the other hand, if the processing of the last page has not been completed (S607 / No), the first core 11 repeats the processing from S601 in parallel with the processing after S608 by the second core 12. Here, it corresponds to a period shown in FIG. 7 "t 2".

S601に戻ると、第1コア11は、2ページ目について、上述したS601〜S607の処理を実行する。ここで、2週目のS604において、負荷分散決定部224は、1週目のS605において記憶した並列処理量と、第1コア11によって処理される処理量とが同一となるように、第1コア11、第2コア12夫々に処理を割り当てる。   Returning to S601, the first core 11 executes the processes of S601 to S607 described above for the second page. Here, in S604 of the second week, the load distribution determination unit 224 determines that the parallel processing amount stored in S605 of the first week and the processing amount processed by the first core 11 are the same. Processing is assigned to each of the core 11 and the second core 12.

ここで、上記並列処理量とは、1週目のS604において、第2コア12に割り当てられた描画情報の生成処理の処理量である。即ち、2週目以降のS604において負荷分散決定部224は、第1コア11が実行する処理の処理量が、第2コア12において並列して実行されている処理の処理量と同一になるように、処理の分割を行う。   Here, the parallel processing amount is the processing amount of the drawing information generation processing assigned to the second core 12 in S604 of the first week. That is, in S604 after the second week, the load distribution determination unit 224 causes the processing amount of processing executed by the first core 11 to be the same as the processing amount of processing executed in parallel by the second core 12. Then, the process is divided.

また、上記処理の分割については、並列処理量と第1コア11に割り当てられる処理量、即ち、S605における処理量が同一となるのではなく、既に2週目に入って実行されているS601、S602、S603、S604の処理量及びS606の中間データ保存処理の処理量も含めた合計の処理量と上記並列処理量との処理量が同一となり、両者が略同時に処理を完了するように、処理を割り当てる。   Further, regarding the division of the above processing, the parallel processing amount and the processing amount assigned to the first core 11, that is, the processing amount in S605 is not the same, but S601 already executed in the second week, The total processing amount including the processing amount of S602, S603, and S604 and the processing amount of the intermediate data storage processing of S606 and the processing amount of the parallel processing amount are the same, and the processing is performed so that both of them complete the processing substantially simultaneously. Assign.

尚、上述したように、1週目のS604において、第2コア12には、第1コア11において最低限発生する処理の処理量が割り当てられている。従って、2週目のS603において負荷指数が閾値未満であった場合、S604、S605の処理は実行されないが、その場合であっても、第1コアと第2コアとの処理量は大きく違わず、並列処理を効率化することができる。また、S603において負荷指数が閾値未満であることが前提であるため、仮に待ち時間が発生するとしても、それは短い時間であり、並列処理の効率化という点において、弊害とはならない。   Note that, as described above, in S604 of the first week, the second core 12 is assigned a processing amount of a process that occurs at the minimum in the first core 11. Therefore, when the load index is less than the threshold value in S603 in the second week, the processing of S604 and S605 is not executed, but even in that case, the processing amount of the first core and the second core is not greatly different. Parallel processing can be made efficient. Further, since it is assumed that the load index is less than the threshold value in S603, even if a waiting time occurs, it is a short time and does not cause any adverse effect on the efficiency of parallel processing.

即ち、本実施形態に係る要旨の1つは、描画情報の生成処理の処理量が多く、どちらか一方のコアに待ちが発生した場合に、処理効率が大きく損なわれる場合にのみ負荷分散を実行し、そうでない場合は負荷分散をキャンセルする。これにより、負荷分散を行っても効果が薄い場合に、図6に示すS604、S605の処理が実行されることによって、逆に処理効率が悪くなってしまうようなことがない。   That is, one of the gist according to the present embodiment is that load distribution is executed only when the processing amount of drawing information is large, and when the waiting occurs in one of the cores, the processing efficiency is greatly impaired. If not, cancel the load distribution. As a result, when the effect is small even if load distribution is performed, the processing efficiency does not deteriorate by executing the processing of S604 and S605 shown in FIG.

他方、中間データ記憶部225に中間データが記憶されることにより動作を開始した第2コア12は、第1コア11の処理と並行して、描画処理部226を制御し、描画情報の生成処理を実行させる(S608)。S608において、描画処理部226は、上述したS606において中間データ記憶部225に記憶された情報を読み出し、未だ描画情報が生成されていない印刷情報について、描画情報を生成する。   On the other hand, the second core 12 that has started the operation by storing the intermediate data in the intermediate data storage unit 225 controls the drawing processing unit 226 in parallel with the processing of the first core 11 to generate drawing information. Is executed (S608). In step S608, the drawing processing unit 226 reads the information stored in the intermediate data storage unit 225 in step S606 described above, and generates drawing information for print information for which drawing information has not been generated.

S608の処理が完了すると、第2コア12は、描画情報出力部227を制御し、生成された描画情報をエンジン制御部102のページメモリに記憶する(S609)。これにより、エンジン制御部102がプリントエンジン160を制御して画像形成出力を実行することが可能となる。   When the processing of S608 is completed, the second core 12 controls the drawing information output unit 227 and stores the generated drawing information in the page memory of the engine control unit 102 (S609). As a result, the engine control unit 102 can control the print engine 160 to execute image formation output.

S609の処理が完了すると、第2コア12によって制御されたPDLアプリケーション200は、最終ページが完了したか否か判断する(S610)。そして、最終ページが完了していれば(S610/Yes)、そのまま処理を終了し、最終ページが完了していなければ(S610/No)、S608からの処理を繰り返す。ここまでの処理が、図7に示す“t”の期間に相当する。 When the process of S609 is completed, the PDL application 200 controlled by the second core 12 determines whether or not the final page is completed (S610). Then, if the final page is completed (S610 / Yes), the processing is terminated as it is, and if the final page is not completed (S610 / No), the processing from S608 is repeated. The processing so far corresponds to the period “t 2 ” shown in FIG.

図7に示すように、“t”の期間においては、第1コア11による処理量と、第2コア12による処理量とが同一であるため、図7の“従来技術”に示すように、第2コア12に“待ち”が発生しない。これは、負荷分散決定部224によって第1コア11と第2コア12との処理量が同一になるように割り振られたからである。 As shown in FIG. 7, since the processing amount by the first core 11 and the processing amount by the second core 12 are the same during the period “t 2 ”, as shown in “Prior Art” in FIG. No “wait” occurs in the second core 12. This is because the load distribution determination unit 224 has allocated the processing amounts of the first core 11 and the second core 12 to be the same.

具体的には、図7に示す“従来技術”においては、第1コア11で実行されるページ2の処理量が“120”であることに対して、第2コア12で実行される頁1の処理量が“80”であるため、コア12において、“40”分の待ちが発生している。これに対して、“本実施形態に”においては、第1コア11で実行される処理量を第2コア11で実行される処理量に合わせて“80”としているため、期間tにおいて、第2コア12に“待ち”が発生せず、並列処理が効率化される。 Specifically, in the “prior art” shown in FIG. 7, the processing amount of page 2 executed by the first core 11 is “120”, whereas page 1 executed by the second core 12. Since the processing amount of “80” is “80”, the core 12 is waiting for “40”. On the other hand, in “in this embodiment”, the processing amount executed by the first core 11 is set to “80” in accordance with the processing amount executed by the second core 11, and therefore, in the period t 2 , “Waiting” does not occur in the second core 12, and parallel processing is made efficient.

更に、図7に示すように、第1コア11で実行されるページ2の処理量を“80”としたことに伴い、第2コア12で実行されるページ2の処理量が“従来技術”に示す“80”から“120”に増えている。これに対して、負荷分散決定部224が、第1コア11で実行されるページ3の処理量を“150”から“120”とし、差分の“30”を第2コア12の処理として割り振ることにより、期間“t”においても並列処理が効率化される。 Further, as shown in FIG. 7, the processing amount of page 2 executed by the first core 11 is set to “80”, so that the processing amount of page 2 executed by the second core 12 is “prior art”. Increases from “80” to “120”. On the other hand, the load distribution determination unit 224 assigns the processing amount of page 3 executed by the first core 11 from “150” to “120”, and assigns the difference “30” as the processing of the second core 12. Thus, the parallel processing is made efficient in the period “t 3 ”.

このような処理の結果、図7に示す従来技術のように、“待ち”が発生しないように並列処理が効率的に実行され、ページ3が完了するまでの時間を従来技術よりも短縮させることができる。   As a result of such processing, as in the prior art shown in FIG. 7, parallel processing is efficiently executed so that “wait” does not occur, and the time until page 3 is completed is shortened compared to the prior art. Can do.

このように、本実施形態に係るPDLアプリケーション200は、原則としてPDL解析部210によるPDL解析処理及び中間データ記憶部225への中間データ保存処理を第1コア11が実行し、中間データ記憶部225に記憶された中間データに基づく描画情報の生成処理を第2コア12が実行する。そして、描画情報の生成処理についての処理量が多く、原則通り処理を実行すると第1コア11に待ちが発生すると判断される場合に、描画情報の生成処理の一部を第1コア11に割り当てることにより、第1コアと第2コアとの処理量を調整し、並列処理を効率化する。尚、図7の従来技術において、第1コア11ではなく第2コア12に待ちが発生しているのは、従来技術における一般的な処理態様として、描画情報の生成処理のうち、スキャンライン変換処理は中間データ記憶部225に中間データが記憶される前に第1コア11において実行されていたためである。   As described above, in principle, the PDL application 200 according to the present embodiment executes the PDL analysis processing by the PDL analysis unit 210 and the intermediate data storage processing in the intermediate data storage unit 225 by the first core 11, and the intermediate data storage unit 225. The second core 12 executes a drawing information generation process based on the intermediate data stored in. If the processing amount of the drawing information generation process is large, and it is determined that the first core 11 waits if the process is executed as a rule, a part of the drawing information generation process is assigned to the first core 11. As a result, the processing amounts of the first core and the second core are adjusted, and parallel processing is made efficient. In the prior art of FIG. 7, the wait occurs in the second core 12 instead of the first core 11, as a general processing mode in the prior art, in the drawing information generation processing, scan line conversion is performed. This is because the process is executed in the first core 11 before the intermediate data is stored in the intermediate data storage unit 225.

以上説明したように、本実施形態に係る画像形成装置1においては、PDLアプリケーション200に含まれるモジュールにより、複数の演算手段を有する画像形成装置において、画像形成出力を実行するための画像処理を適切に並列化し、処理効率を向上することが可能となる。   As described above, in the image forming apparatus 1 according to the present embodiment, image processing for executing image forming output is appropriately performed in the image forming apparatus having a plurality of calculation units by the module included in the PDL application 200. It becomes possible to improve the processing efficiency.

尚、上記実施形態においては、図1に示すように、デュアルコアのCPU10を用いる場合を例として説明したが、トリプルコア、クアッドコア等の更に複数のコアを有するCPUに適用しても良い。   In the above-described embodiment, as illustrated in FIG. 1, the case where a dual-core CPU 10 is used has been described as an example. However, the present invention may be applied to a CPU having a plurality of cores such as a triple core and a quad core.

また、上記実施形態においては、図5に示すように、第1コア11による制御によって描画情報の生成を行う中間データ処理部222と、第2コア12による制御によって描画情報の生成を行う描画処理部226とを別々のブロックとして示した。しかしながら、描画情報の生成処理については、第1コア11、第2コア12のいずれが実行しようとも同一の処理であり、中間データ処理部222及び描画処理部226を実現するためのソフトウェァ・プログラムは同一のものとすることができる。更には、ソフトウェア・プログラムに含まれるモジュールとしては、単一のモジュールが含まれるのみで、第1コア11、第2コア12のいずれが制御するかによって、中間データ処理部222若しくは描画処理部226として機能するように構成することも可能である。この場合においても、第1コア11及び第2コア12夫々によって制御されることによって並行して機能が実現されるため、画像形成装置1内部には、第1の描画情報生成部と第2の描画情報生成部とが構成されることとなる。   Further, in the above embodiment, as shown in FIG. 5, the intermediate data processing unit 222 that generates the drawing information by the control by the first core 11 and the drawing process that generates the drawing information by the control by the second core 12. Part 226 is shown as a separate block. However, the drawing information generation process is the same regardless of which of the first core 11 and the second core 12 is executed, and the software program for realizing the intermediate data processing unit 222 and the drawing processing unit 226 is as follows. Can be the same. Furthermore, the module included in the software program includes only a single module. Depending on which one of the first core 11 and the second core 12 controls, the intermediate data processing unit 222 or the drawing processing unit 226 is used. It can also be configured to function as. Even in this case, since the functions are realized in parallel by being controlled by the first core 11 and the second core 12, the first drawing information generating unit and the second drawing information generating unit 1 are provided inside the image forming apparatus 1. A drawing information generation unit is configured.

また、上記実施形態においては、図6のS604において負荷分散決定部224が並列処理量を記憶し、その並列処理量に基づいて次サイクルのS604において、分散態様を決定する場合を例として説明した。この他、負荷分散決定部224は、並列処理量を記憶するのではなく、中間データ記憶部225に記憶されている描画命令の情報量を参照するようにしても良い。中間データ記憶部225には、第2コア12の制御により描画処理部226が実行すべき描画処理の描画命令が記憶されているため、その情報量は上記並列処理量に対応した値であり、これによっても、上記と同様の効果を得ることができる。   In the above embodiment, the load distribution determination unit 224 stores the parallel processing amount in S604 of FIG. 6, and the distribution mode is determined in S604 of the next cycle based on the parallel processing amount as an example. . In addition, the load distribution determination unit 224 may refer to the information amount of the drawing command stored in the intermediate data storage unit 225 instead of storing the parallel processing amount. Since the intermediate data storage unit 225 stores drawing commands for drawing processing to be executed by the drawing processing unit 226 under the control of the second core 12, the information amount is a value corresponding to the parallel processing amount. Also by this, the same effect as described above can be obtained.

また、図6に示すように、負荷分散決定部224がS604において分散態様を決定する際には、既に第2コア12によって制御された描画処理部226が描画処理を実行している。従って、負荷分散決定部224は、S604の時点における描画処理部226による描画処理の進行状況、即ち処理状況に応じて分散態様を決定しも良い。   Also, as shown in FIG. 6, when the load distribution determining unit 224 determines the distribution mode in S604, the drawing processing unit 226 already controlled by the second core 12 is already executing the drawing process. Therefore, the load distribution determination unit 224 may determine the distribution mode according to the progress of the drawing processing by the drawing processing unit 226 at the time of S604, that is, the processing state.

実施の形態.2
実施の形態1においては、負荷指数算出部223が印刷情報全体について描画情報生成に要する処理量を算出し、負荷分散決定部224が、印刷情報全体についての描画情報生成処理を分割する場合を例として説明した。本実施形態においては、判断及び分割対象をベクターデータに絞ることにより、並列処理の効率化の効果を残しながらも実装の容易性及び処理の簡易化を実現した態様について説明する。
Embodiment. 2
In the first embodiment, an example is given in which the load index calculation unit 223 calculates the processing amount required to generate drawing information for the entire print information, and the load distribution determination unit 224 divides the drawing information generation processing for the entire print information. As explained. In the present embodiment, a mode in which ease of mounting and simplification of processing is realized while reducing the efficiency of parallel processing by narrowing down the determination and division targets to vector data will be described.

上述したように、PDL解析されて変換された情報に基づいて描画情報を生成する処理には、スキャンライン変換処理が含まれる。このスキャンライン変換処理は、端点と制御点によって曲線を表すベジエ関数に基づいてビットマップ情報を生成する処理であり、一般的に計算コストが高い。特にポストスクリプトなどでは、大きな座標値を有し、端点及び制御点の数が膨大なデータを処理する場合もあり得るため、描画情報の生成処理の大半が、スキャンライン変換処理によって占められる場合がある。換言すると、描画情報の生成処理の負荷量が高くなる場合の一態様として、印刷情報がベジエ曲線を含む場合が挙げられる。本実施形態においては、このような実情に鑑み、実施の形態1の図6に係るS603のように、描画処理の負荷指数を算出するのではなく、PDL変換された情報にベジエ曲線が含まれるか否かに基づいて描画処理の分散の要否を判断する。   As described above, the process of generating the drawing information based on the information converted by the PDL analysis includes the scan line conversion process. This scan line conversion process is a process for generating bitmap information based on a Bezier function that represents a curve with end points and control points, and generally has a high calculation cost. In particular, in PostScript, etc., there is a case where data having a large coordinate value and a large number of end points and control points may be processed. Therefore, most of the drawing information generation processing may be occupied by the scan line conversion processing. is there. In other words, a case where the print information includes a Bezier curve is an example of a case where the load amount of the drawing information generation process increases. In the present embodiment, in consideration of such a situation, a bezier curve is included in the PDL-converted information instead of calculating the load index of the drawing process as in S603 according to FIG. 6 of the first embodiment. Whether or not the drawing process needs to be distributed is determined based on whether or not the drawing process is distributed.

本実施形態に係る画像形成装置1の機能構成は、実施の形態1の図1、図2、図3及び図5において説明した態様と概ね同一であり、詳細な説明を省略する。本実施形態に係る画像形成装置1は、PDLアプリケーション200の動作が実施の形態1と異なる。以下、本実施形態に係るPDLアプリケーション200の動作について説明する。   The functional configuration of the image forming apparatus 1 according to the present embodiment is substantially the same as that described in the first embodiment with reference to FIGS. 1, 2, 3, and 5, and detailed description thereof is omitted. In the image forming apparatus 1 according to the present embodiment, the operation of the PDL application 200 is different from that of the first embodiment. Hereinafter, the operation of the PDL application 200 according to the present embodiment will be described.

図8は、本実施形態に係るPDLアプリケーション200の動作を示すフローチャートであり、実施の形態1の図6に対応する。図8に示すように、PDLアプリケーション200が動作を開始すると、実施の形態1におけるS601と同様に、第1コア11がPDL解析部210を制御し、PDL解析処理を実行する(S801)。   FIG. 8 is a flowchart showing the operation of the PDL application 200 according to the present embodiment, and corresponds to FIG. 6 of the first embodiment. As shown in FIG. 8, when the PDL application 200 starts operation, the first core 11 controls the PDL analysis unit 210 and executes the PDL analysis processing (S801), as in S601 in the first embodiment.

本実施形態においては、S801の処理が完了すると、実施の形態1のように負荷指数の算出処理が実行されるのではなく、第1コア11は、中間データ処理部222を制御し、PDL変換された情報にベジエ曲線が含まれるか否かを判断する(S802)。上述したように、本実施形態においては、印刷情報中にベジエ曲線が含まれるか否かに基づいて描画情報を生成する際の処理量を判断する。即ち、本実施形態においては、中間データ処理部222が描画処理量判断部として機能する。   In the present embodiment, when the process of S801 is completed, the load index calculation process is not executed as in the first embodiment, but the first core 11 controls the intermediate data processing unit 222 to perform PDL conversion. It is determined whether or not the information includes a Bezier curve (S802). As described above, in the present embodiment, the processing amount for generating the drawing information is determined based on whether or not a Bezier curve is included in the print information. That is, in the present embodiment, the intermediate data processing unit 222 functions as a drawing processing amount determination unit.

S802の判断の結果、ベジエ曲線が含まれている場合(S802/Yes)、中間データ処理部222は描画情報を生成する際の処理量が多く、負荷分散の必要があると判断する。この場合、第1コア11が負荷指数算出部223を制御して負荷分散の分散態様を決定するために負荷指数を算出させる(S803)。S803の処理は、実施の形態1のS602と同様に実行される。   If the result of the determination in S802 is that a Bezier curve is included (S802 / Yes), the intermediate data processing unit 222 determines that the amount of processing when generating the drawing information is large and load balancing is necessary. In this case, the first core 11 controls the load index calculation unit 223 to calculate the load index in order to determine the load distribution distribution mode (S803). The process of S803 is executed in the same manner as S602 of the first embodiment.

S803の処理が完了すると、次に、第1コア11が、負荷分散決定部224を制御し、負荷分散処理を実行させる(S804)。ここで、実施の形態1においては、負荷分散決定部224による負荷分散の態様として、ベクターデータのスキャンライン変換処理の分割、イメージデータのカラーマッチング処理や回転処理の分割、テキストデータのラスタライズ(ビットマップ化)処理の分割等を挙げたが、本実施形態においては、スキャンライン変換処理に対象を絞って分割を行う。   When the process of S803 is completed, the first core 11 next controls the load distribution determining unit 224 to execute the load distribution process (S804). In the first embodiment, as load distribution by the load distribution determination unit 224, vector data scanline conversion processing division, image data color matching processing and rotation processing division, text data rasterization (bits) In the present embodiment, the division is performed by focusing on the scan line conversion process.

ここで、図9(a)〜(e)を参照して、スキャンライン変換処理の具体例及び本実施形態に係る処理の分割態様について説明する。図9(a)〜(e)は、複数の段階によって構成されるスキャンライン変換処理の各段階を示す図である。上述したように、ベジエ曲線は、端点及び制御点の座標データによって構成される。図9(a)は、ベジエ曲線を構成する点として端点P、P及び制御点P、Pを有する場合のプロット例である。 Here, with reference to FIGS. 9A to 9E, a specific example of the scan line conversion process and a division mode of the process according to the present embodiment will be described. FIGS. 9A to 9E are diagrams showing each stage of the scan line conversion process constituted by a plurality of stages. As described above, the Bezier curve is constituted by coordinate data of end points and control points. FIG. 9A is a plot example in the case of having end points P 0 and P 3 and control points P 1 and P 2 as points constituting a Bezier curve.

図9(b)は、図9(a)に示すような端点及び制御点について曲線のパスを描画した図である。端点及び制御点から曲線のパスを描画する方法は公知の方法であり詳細な説明を省略するが、図9(b)に破線で示すように、隣接する2点を結ぶ線分を任意の割合で分割して点を描画し、その点を結ぶ線分を更に同様の割合で分割する点を求めることによってパス上の1点が求められる。そして、上記任意の割合を変化させて同様の処理を繰り返すことにより曲線のパスを示す点が描画される。この図9(b)に示す処理がスキャンライン変換の第1段階であるパス作成処理である。   FIG. 9B is a diagram in which curved paths are drawn for the end points and control points as shown in FIG. The method of drawing a curved path from the end points and control points is a known method and will not be described in detail. However, as shown by a broken line in FIG. A point on the path is obtained by drawing a point by dividing the line and finding a point at which the line segment connecting the points is further divided at the same rate. A point indicating a curved path is drawn by repeating the same processing while changing the arbitrary ratio. The process shown in FIG. 9B is a path creation process that is the first stage of the scan line conversion.

パス作成処理が完了すると、次に、図9(c)に示すように、ベクターデータのパスからビットのパスへの変換処理が実行される。図9(c)に示す処理がスキャンライン変換の第2段階であるビットパス変換処理である。   When the path creation process is completed, a conversion process from a vector data path to a bit path is executed as shown in FIG. The process shown in FIG. 9C is a bit path conversion process which is the second stage of the scan line conversion.

ビットパス変換処理が完了すると、次に、図9(d)に示すように、パスで囲まれる画素の塗りつぶし処理が実行される。ここでは、元のベクターデータのFILL設定に基づき、塗りつぶしの要否が判断され、塗りつぶしを行う設定になっていれば、図9(d)に示すようにパス内部が塗りつぶされた画像が生成される。図9(d)に示す処理が、スキャンライン変換の第3段階であるFILL処理である。   When the bit pass conversion process is completed, next, as shown in FIG. 9D, a pixel fill process is executed. Here, the necessity of painting is determined based on the FILL setting of the original vector data, and if it is set to perform painting, an image in which the inside of the path is painted as shown in FIG. 9D is generated. The The process shown in FIG. 9D is a FILL process that is the third stage of the scan line conversion.

FILL処理が完了すると、図9(e)に示すように、設定されているクリップに基づいて画像の切り出し処理が実行される。図9(e)に示す処理が、スキャンライン変換の第3段階であるクリッピング処理である。   When the FILL process is completed, an image clipping process is executed based on the set clip, as shown in FIG. The process shown in FIG. 9E is a clipping process which is the third stage of the scan line conversion.

図9(a)〜(e)に示すスキャンライン変換処理を分割する場合、例えば、パス生成処理及びビットバス変換処理を第1コア11に割り当て、FILL処理及びクリッピング処理を第2コア12に割り当てるというように、処理の段階によって分割することにより、処理を簡易にすることができる。   When dividing the scanline conversion process shown in FIGS. 9A to 9E, for example, the path generation process and the bit bus conversion process are allocated to the first core 11, and the FILL process and the clipping process are allocated to the second core 12. Thus, the processing can be simplified by dividing the processing according to the stage of processing.

仮に、ベクターデータに含まれる端点及び制御点毎に処理を分割する場合、夫々の点毎に、どちらのコアによって処理するかを示す割り当て情報を保持する必要があり、処理すべき情報量が増大するからである。これに対して、上述したように段階によって分割する場合、例えばパス生成処理及びビットパス変換処理を完了した状態のデータを中間データ記憶部225に記憶させ、以降の処理を第2コア12に実行させれば良いため、上述したように、どの部分をどのコアに実行させるかという割り当て情報を保持する必要がなく、簡易な処理で実現することができる。   If the processing is divided for each end point and control point included in the vector data, it is necessary to hold allocation information indicating which core performs processing for each point, and the amount of information to be processed increases. Because it does. On the other hand, when dividing according to the stages as described above, for example, data in a state where the path generation process and the bit path conversion process are completed is stored in the intermediate data storage unit 225, and the subsequent processing is executed by the second core 12. Therefore, as described above, it is not necessary to hold allocation information indicating which part is to be executed by which core, and this can be realized by simple processing.

図8の説明に戻ると、S804において負荷分散決定部は、図9において説明したように、スキャンライン変換のどの段階で分割するかを決定する。即ち、どの段階までを第1コア11に割り当てるかを決定する。この際、実施の形態1において説明したように、負荷分散決定部224は、第2コア12において処理をする描画情報の生成処理の処理量が、少なくとも第1コア11において最低限発生する処理量以上になるように、処理の分割を行う。尚、実施の形態1と同様に、負荷分散決定部224は、第2コア12に割り当てられた処理の処理量を並列処理量として記憶する。   Returning to the description of FIG. 8, in step S804, the load distribution determination unit determines at which stage of the scan line conversion to divide as described in FIG. That is, up to which stage is assigned to the first core 11 is determined. At this time, as described in the first embodiment, the load distribution determination unit 224 determines that the processing amount of the drawing information generation processing to be processed in the second core 12 is at least the processing amount that is generated at least in the first core 11. The process is divided as described above. As in the first embodiment, the load distribution determining unit 224 stores the processing amount assigned to the second core 12 as a parallel processing amount.

また、2週目のS804の処理において負荷分散決定部224は、第1コア11が実行する処理の処理量が、第2コア12において並列して実行されている処理の処理量に近くなるように処理の分割を行う。ここで、本実施形態においては、図9(a)〜(e)に示すような段階を区切ることにより処理を分割するため、細かい処理量の調整をするわけではなく、第1コア11と第2コア12との処理量が全く同一になるようにすることは困難である。従って、負荷分散決定部224は、第1コア11が実行する処理の処理量が、第2コア12において並列して実行されている処理の処理量に“近くなるように”処理の分割を行う。この場合、第1コア11、第2コア12のいずれかに多少の待ち時間が発生してしまうが、両者の処理量は近いため、その待ち時間は極わずかであり、効率的な並列処理を実現することが可能である。また、本実施形態は、上述したように、実装が容易であるという利点を有する。   In addition, in the processing of S804 in the second week, the load distribution determination unit 224 causes the processing amount of processing executed by the first core 11 to be close to the processing amount of processing executed in parallel in the second core 12. The process is divided into Here, in the present embodiment, since the process is divided by dividing the stages as shown in FIGS. 9A to 9E, the fine processing amount is not adjusted, and the first core 11 and the first core 11 It is difficult to make the amount of processing with the two cores 12 the same. Therefore, the load distribution determining unit 224 divides the processing so that the processing amount of the processing executed by the first core 11 is “close to” the processing amount of the processing executed in parallel in the second core 12. . In this case, some waiting time occurs in either the first core 11 or the second core 12, but since the processing amount of both is close, the waiting time is extremely small and efficient parallel processing is performed. It is possible to realize. Further, as described above, this embodiment has an advantage that it is easy to mount.

尚、実施の形態1と同様に、上記第1コア11が実行する処理とは、次のS805において実行される処理のみを指すのではなく、既に2週目に入って実行されているS801、S802、S803、S804の処理量及びS806の中間データ保存処理も含めた合計の処理である。S806以降は、実施の形態1におけるS606以降と同様に処理が実行される。   As in the first embodiment, the processing executed by the first core 11 does not indicate only the processing executed in the next S805, but S801 already executed in the second week. This is the total processing including the processing amount of S802, S803, and S804 and the intermediate data storage processing of S806. From S806 onward, processing is executed in the same manner as S606 onward in the first embodiment.

このように、本実施形態においては、描画情報の生成処理においてスキャンライン変換の処理量が特に多いことに着目し、印刷情報にスキャンライン変換処理が含まれる場合にのみ、処理の分割を行う。また、処理の分割についても、スキャンライン変換に対象を絞り、スキャンライン変換の段階を区切ることにより、処理を分割する。このような態様により、並列処理の効率化の効果を残しながらも実装の容易性及び処理の簡易化を実現することができる。   As described above, in this embodiment, attention is paid to the fact that the processing amount of scan line conversion is particularly large in the drawing information generation process, and the process is divided only when the print information includes the scan line conversion process. Also, with regard to the division of processing, the processing is divided by focusing on scan line conversion and dividing the stage of scan line conversion. According to such an aspect, it is possible to realize the ease of mounting and the simplification of processing while leaving the effect of improving the efficiency of parallel processing.

尚、上記実施形態に係るS804において、負荷分散決定部224は、第1コア11が実行する処理の処理量が、第2コア12において並列して実行されている処理の処理量に近くなるように、処理の分割を行う。この場合、上述したように、負荷分散決定部224が並列処理量を記憶し、その並列処理量に応じて動的にスキャンライン変換の段階を区切る。この他、負荷分散決定部224は、例えば、S803において算出された負荷指数に基づいてスキャンライン変換の段階を区切っても良い。   In S804 according to the above embodiment, the load distribution determination unit 224 causes the processing amount of the process executed by the first core 11 to be close to the processing amount of the process executed in parallel by the second core 12. Then, the process is divided. In this case, as described above, the load distribution determining unit 224 stores the parallel processing amount, and dynamically divides the scan line conversion stage according to the parallel processing amount. In addition, the load distribution determining unit 224 may divide the scan line conversion stage based on the load index calculated in S803, for example.

S803において算出された負荷指数に基づいてスキャンライン変換の段階を区切る方法としては、例えば、負荷分散決定部224は、予め定められた閾値とS803において算出された負荷指数との比較結果に応じて段階を区切ることができる。具体的には、負荷分散決定部224は、算出された負荷指数に対する閾値として4種類の閾値を記憶しておく。この4種類の閾値を、値が小さい順にS、S、S、Sとする。そして、算出された負荷指数(以降、Wとする)がSよりも大きい場合、負荷分散決定部224は、スキャンライン変換以外の描画情報の生成処理の処理量も多いと判断し、第1コア11に図9(e)に示すクリッピング処理までを割り当てる。 As a method for dividing the stage of scanline conversion based on the load index calculated in S803, for example, the load distribution determining unit 224 may be configured according to a comparison result between a predetermined threshold and the load index calculated in S803. Stages can be separated. Specifically, the load distribution determining unit 224 stores four types of threshold values as threshold values for the calculated load index. These four types of threshold values are S 1 , S 2 , S 3 , and S 4 in ascending order. The calculated load index (hereinafter referred to as W) is larger than S 4, the load distribution determining unit 224 determines that the processing amount of generation processing of the drawing information other than the scan line conversion is also large, first The core 11 is assigned up to the clipping process shown in FIG.

以降、S<W≦Sの場合は、図9(d)に示すFILL処理までを、S<W≦Sの場合は、図9(c)に示すビットパス変換までを、S<W≦Sの場合は、図9(b)に示すパス生成処理までを、夫々第1コア11に割り当てる。また、W<Sの場合、第1コア11には、スキャンライン変換処理を割り当てない。このような処理によっても、第1コア11と第2コア12とで並列処理される処理量を近くし、並列処理を効率的に実行することが可能となる。 Since, in the case of S 3 <W ≦ S 4, until FILL process shown in FIG. 9 (d), in the case of S 2 <W ≦ S 3, until bit path conversion shown in FIG. 9 (c), S 1 <for W ≦ S 2, up path generating process shown in FIG. 9 (b), assigned respectively the first core 11. In addition, when W <S 1 , scan line conversion processing is not assigned to the first core 11. Even with such processing, it is possible to reduce the amount of processing performed in parallel between the first core 11 and the second core 12 and to execute parallel processing efficiently.

また、図8の説明においては、第1コア11に割り当てられ得る描画情報の生成処理は、スキャンライン変換のみである場合を例として説明したが、これに限ることなく、イメージデータのカラーマッチング処理や回転処理の分割、テキストデータのラスタライズ(ビットマップ化)処理を割り当ててもよい。本実施形態の要旨はスキャンライン変換の処理量が非常に多いことに鑑み、スキャンライン変換の処理を第1コア11と第2コア12とに割り振ることにある。従って、それ以外の描画処理をすべて第2コア12が実行する必要はなく、第1コア11においても上記描画処理を実行しても良い。   In the description of FIG. 8, the drawing information generation process that can be assigned to the first core 11 has been described by taking only scanline conversion as an example. However, the present invention is not limited to this. Alternatively, division of rotation processing and rasterization (bitmap conversion) processing of text data may be assigned. The gist of the present embodiment is to allocate the scan line conversion process to the first core 11 and the second core 12 in view of the very large amount of scan line conversion. Therefore, it is not necessary for the second core 12 to execute all other drawing processes, and the drawing process may be executed also in the first core 11.

具体的には、1つのページに、イメージデータ、ベクターデータ及びテキストデータが混在している場合があり得る。この場合、描画情報の生成処理は、上記イメージデータ、ベクターデータ、テキストデータ等のオブジェクト毎に実行される。ここで、夫々のオブジェクトについて描画処理が実行される順番は、一般的に、そのページを記述する情報(以降、ページ記述情報とする)における、記述の順番に従う。従って、ページ記述情報において、最初に記述されているオブジェクトがイメージデータや、テキストデータである場合、そのオブジェクトの描画処理は第1コア11で行い、その後に続くベクターデータの処理のうち、割り当てられた処理までを第1コア11が行うようにすることができる。この場合においても、第1コア11と第2コア12とで並列処理される処理量を近くし、並列処理を効率的に実行することが可能となる。   Specifically, there may be a case where image data, vector data, and text data are mixed in one page. In this case, the drawing information generation process is executed for each object such as the image data, vector data, and text data. Here, the order in which drawing processing is executed for each object generally follows the description order in information describing the page (hereinafter referred to as page description information). Accordingly, in the page description information, when the first described object is image data or text data, the drawing process of the object is performed by the first core 11 and is allocated among the subsequent vector data processing. It is possible for the first core 11 to perform the processes up to the above. Even in this case, it is possible to reduce the amount of processing performed in parallel between the first core 11 and the second core 12 and to execute parallel processing efficiently.

また、実施の形態1と実施の形態2とを組み合わせることも可能である。実施の形態1は、負荷指数算出部223によって算出された負荷指数に基づいて描画処理の分割要否が判断され、分割する処理の対象はスキャンライン変換処理に限られない。他方、実施の形態2は、PDL解析された情報にベジエ曲線が含まれるか否かに基づいて描画処理の分割要否が判断され、分割する処理の対象はスキャンライン変化処理のみである。   Further, the first embodiment and the second embodiment can be combined. In the first embodiment, whether or not the drawing process needs to be divided is determined based on the load index calculated by the load index calculation unit 223, and the target of the division process is not limited to the scanline conversion process. On the other hand, in the second embodiment, whether or not the drawing process needs to be divided is determined based on whether or not the information subjected to the PDL analysis includes a Bezier curve, and the target of the dividing process is only the scan line changing process.

実施の形態1と実施の形態2の組み合わせとしては、例えば、PDL解析された情報にベジエ曲線が含まれるか否かに基づいて描画処理の分割要否が判断され、分割する処理の対象はスキャンライン変換処理に限られない場合が考えられる。また、負荷指数算出部223によって算出された負荷指数に基づいて描画処理の分割要否が判断され、分割する処理の対象はスキャンライン変化処理のみである場合も考えられる。   As a combination of the first embodiment and the second embodiment, for example, it is determined whether or not the drawing process needs to be divided based on whether or not the PDL-analyzed information includes a Bezier curve. The case where it is not restricted to a line conversion process can be considered. Further, it may be considered that the necessity of dividing the drawing process is determined based on the load index calculated by the load index calculating unit 223, and only the scan line changing process is the target of the process to be divided.

更には、描画処理の分割要否の判断において、先にPDL解析された情報にベジエ曲線が含まれるか否かを判断し、ベジエ曲線が含まれる場合に、負荷指数算出部223によって算出された負荷指数に基づいて描画処理の分割要否を判断しても良い。これにより、ベジエ曲線を含みながらも描画情報の生成処理の処理量が少ない場合等にも対応することが可能となる。   Further, in determining whether or not to divide the drawing process, it is determined whether or not a Bezier curve is included in the information previously analyzed by PDL, and when the Bezier curve is included, the load index calculation unit 223 calculates it. It may be determined whether or not the drawing process needs to be divided based on the load index. Accordingly, it is possible to cope with a case where the processing amount of the drawing information generation process is small while including a Bezier curve.

1 画像形成装置、
10 CPU、
11 第1コア、
12 第2コア、
20 RAM、
30 ROM、
40 エンジン、
50 HDD、
60 I/F、
70 LCD、
80 操作部、
90 バス、
100 コントローラ、
111 主制御部、
112 エンジン制御部、
113 入出力制御部、
114 画像処理部、
115 操作表示制御部、
110 ADF、
120 スキャナユニット、
130 排紙トレイ、
140 ディスプレイパネル、
150 給紙テーブル、
160 プリントエンジン、
170 排紙トレイ、
180 ネットワークI/F、
200 PDLアプリケーション、
210 PDL解析部、
220 描画コアモジュール、
221 描画モジュールI/F、
222 中間データ処理部、
223 負荷指数算出部、
224 負荷分散決定部、
225 中間データ記憶部、
226 描画処理部、
227 描画情報出力部
1 image forming apparatus,
10 CPU,
11 First core,
12 Second core,
20 RAM,
30 ROM,
40 engines,
50 HDD,
60 I / F,
70 LCD,
80 operation unit,
90 bus,
100 controller,
111 main control unit,
112 engine control unit,
113 Input / output control unit,
114 image processing unit,
115 operation display control unit,
110 ADF,
120 scanner unit,
130 paper output tray,
140 display panel,
150 paper feed table,
160 print engine,
170 paper output tray,
180 Network I / F,
200 PDL applications,
210 PDL analysis unit,
220 drawing core module,
221 Drawing module I / F,
222 Intermediate data processing unit,
223 load index calculation unit,
224 load distribution determination unit,
225 intermediate data storage unit,
226 drawing processing unit,
227 Drawing information output unit

特開2007−73005号公報JP 2007-73005 A

Claims (15)

画像形成出力を実行するための画像処理を複数の演算手段によって実行可能な画像形成装置であって、
ページ記述言語によって構成されたページ情報を取得するページ情報取得部と、
前記取得されたページ情報を解析して前記画像形成出力を実行するための描画命令を出力するページ情報解析部と、
前記描画命令に基づいて前記画像形成出力を実行するための描画情報を生成する描画情報生成部と、
前記描画情報を生成する処理を前記複数の演算手段のいずれかが制御するように分散する分散処理を実行する処理分散部とを含み、
前記処理分散部は、
前記出力された描画命令に基づいて前記描画情報を生成する際の処理量を判断し、
前記描画情報を生成する際の処理量が多いと判断された場合に、前記描画情報の生成処理を前記複数の演算手段のいずれかが制御するように分散することを特徴とする画像形成装置。
An image forming apparatus capable of executing image processing for executing image formation output by a plurality of arithmetic means,
A page information acquisition unit for acquiring page information configured by a page description language;
A page information analysis unit that analyzes the acquired page information and outputs a drawing command for executing the image formation output;
A drawing information generating unit that generates drawing information for executing the image forming output based on the drawing command;
A processing distribution unit that executes distributed processing for distributing the processing for generating the drawing information so that any of the plurality of calculation units controls the processing,
The processing distribution unit
Determining the processing amount when generating the drawing information based on the output drawing command;
An image forming apparatus, wherein when it is determined that the amount of processing for generating the drawing information is large, the processing for generating the drawing information is distributed so as to be controlled by any of the plurality of calculation units.
前記処理分散部は、前記処理量を数値情報として算出し、前記算出された数値と所定の閾値とを比較して前記描画情報を生成する際の処理量が多いと判断することを特徴とする請求項1に記載の画像形成装置。   The processing distribution unit calculates the processing amount as numerical information, and compares the calculated numerical value with a predetermined threshold to determine that the processing amount when generating the drawing information is large. The image forming apparatus according to claim 1. 前記処理分散部は、前記描画命令にベジエ曲線が含まれる場合に前記描画情報を生成する際の処理量が多いと判断することを特徴とする請求項1に記載の画像形成装置。   The image forming apparatus according to claim 1, wherein the processing distribution unit determines that the processing amount when generating the drawing information is large when a Bezier curve is included in the drawing command. 前記描画命令に基づいて実行される前記描画情報を生成する処理の処理量を算出する処理量算出部を更に含み、
前記処理分散部は、前記算出された処理量に基づいて前記描画情報の生成処理を分散することを特徴とする、請求項1乃至3いずれかに記載の画像形成装置。
A processing amount calculation unit that calculates a processing amount of processing for generating the drawing information executed based on the drawing command;
The image forming apparatus according to claim 1, wherein the processing distribution unit distributes the drawing information generation processing based on the calculated processing amount.
前記処理量算出部は、前記複数の演算手段の演算能力に応じた負荷指数として前記処理量を算出することを特徴とする、請求項4に記載の画像形成装置。   The image forming apparatus according to claim 4, wherein the processing amount calculation unit calculates the processing amount as a load index corresponding to the calculation capability of the plurality of calculation units. 前記処理量算出部は、前記描画命令の内容に応じて変動する変動要素と、前記画像形成装置を構成するハードウェアの性能によって決定される固定要素とに基づいて前記負荷指数を算出することを特徴とする、請求項5に記載の画像形成装置。   The processing amount calculation unit calculates the load index based on a variable element that varies according to the content of the drawing command and a fixed element that is determined by the performance of hardware that constitutes the image forming apparatus. The image forming apparatus according to claim 5, wherein the image forming apparatus is characterized. 前記処理量算出部は、前記描画命令に含まれる複数種類の処理毎に、前記複数種類の処理夫々の内容に応じて前記変動要素全体への寄与率が異なるように前記変動要素を算出することを特徴とする、請求項6に記載の画像形成装置。   The processing amount calculation unit calculates the variation element so that the contribution ratio to the entire variation element differs for each of a plurality of types of processing included in the drawing command according to the content of each of the plurality of types of processing. The image forming apparatus according to claim 6, wherein: 前記ページ情報取得部、前記ページ情報解析部、前記描画情報生成部、前記処理量算出部及び前記処理分散部が、前記複数の演算手段のうち第1の演算手段によって制御され、
前記描画情報生成部が、前記分散処理の結果に応じて前記第1の演算手段及び前記複数の演算手段のうち第2の演算手段のいずれかによって制御され、
前記生成された描画命令のうち前記第1の演算手段が前記描画情報生成部を制御して処理した残りの描画命令を記憶媒体に保存するように前記第1の演算手段によって制御される中間情報保存部を更に含み、
前記第2の演算手段によって制御された前記描画情報生成部は、前記記憶媒体に保存された描画命令に基づいて前記描画情報の生成処理を実行し、
前記ページ情報取得部、前記ページ情報解析部、前記描画情報生成部、前記処理量算出部及び前記処理分散部は、前記第2の演算手段によって制御された前記描画情報生成部の処理と並行して、次のページについてのページ情報の取得以降の処理を実行し、
前記処理分散部は、前記次のページについての分散処理において、前記算出された処理量に基づき、並行して実行されている前記第2の演算手段によって制御される前記描画情報の生成処理の処理量に応じて前記描画情報の生成処理を前記複数の演算手段のいずれかが制御するように分散することを特徴とする、請求項4乃至7いずれかに記載の画像形成装置。
The page information acquisition unit, the page information analysis unit, the drawing information generation unit, the processing amount calculation unit, and the processing distribution unit are controlled by a first calculation unit among the plurality of calculation units,
The drawing information generation unit is controlled by one of the first calculation unit and the second calculation unit among the plurality of calculation units according to the result of the distributed processing,
Intermediate information controlled by the first calculation means so that the first calculation means among the generated drawing instructions stores the remaining drawing instructions processed by controlling the drawing information generation unit in a storage medium. A storage unit;
The drawing information generation unit controlled by the second calculation means executes the drawing information generation processing based on a drawing command stored in the storage medium,
The page information acquisition unit, the page information analysis unit, the drawing information generation unit, the processing amount calculation unit, and the processing distribution unit are in parallel with the processing of the drawing information generation unit controlled by the second calculation unit. Execute the process after obtaining the page information for the next page,
The processing distribution unit is a processing of the drawing information generation process controlled by the second calculation unit that is executed in parallel based on the calculated processing amount in the distributed processing for the next page The image forming apparatus according to claim 4, wherein the drawing information generation process is distributed according to the amount so that any one of the plurality of calculation units controls.
前記処理分散部は、前記次のページについての分散処理において、前記記憶媒体に保存されている描画命令の情報量に応じて前記描画情報の生成処理を前記複数の演算手段のいずれかが制御するように分散することを特徴とする、請求項8に記載の画像形成装置。   The processing distribution unit controls the drawing information generation processing by any one of the plurality of calculation means according to the information amount of the drawing command stored in the storage medium in the distribution processing for the next page. The image forming apparatus according to claim 8, wherein the image forming apparatus is dispersed as described above. 前記処理分散部は、前記次のページについての分散処理において、並行して実行されている前記第2の演算手段によって制御される前記描画情報の生成処理の処理状態に応じて前記描画情報の生成処理を前記複数の演算手段のいずれかが制御するように分散することを特徴とする、請求項8または9に記載の画像形成装置。   The processing distribution unit generates the drawing information according to the processing state of the drawing information generation process controlled by the second calculation means being executed in parallel in the distributed processing for the next page. The image forming apparatus according to claim 8, wherein the processing is distributed so that any one of the plurality of calculation units controls. 前記処理分散部は、前記描画情報の生成処理以外の処理で前記第1の演算手段による制御によって処理され得る最低限の処理量を、前記第2の演算手段によって制御された前記描画情報生成部が実行すべき描画情報の生成処理として割り当てることを特徴とする、請求項8乃至10いずれかに記載の画像形成装置。   The processing distribution unit is configured to control a minimum processing amount that can be processed by the control by the first calculation unit in a process other than the drawing information generation process, and the drawing information generation unit controlled by the second calculation unit. 11. The image forming apparatus according to claim 8, wherein the image forming apparatus is assigned as a process for generating drawing information to be executed. 前記処理分散部は、前記描画命令に含まれるベジエ曲線を描画情報に変換するスキャンライン変換処理を分割して前記複数の演算手段のいずれかが制御するように分散することを特徴とする請求項1乃至11いずれかに記載の画像形成装置。   The processing distribution unit divides a scan line conversion process for converting a Bezier curve included in the drawing command into drawing information, and distributes the divided so as to be controlled by any of the plurality of arithmetic units. The image forming apparatus according to any one of 1 to 11. 前記スキャンライン変換処理は複数段階の処理を経て前記ベジエ曲線を描画情報に変換する処理であり、
前記処理分散部は、前記複数段階のいずれかの段階で区切ることにより、前記スキャンライン変換を分割することを特徴とする、請求項12に記載の画像形成装置。
The scanline conversion process is a process of converting the Bezier curve into drawing information through a plurality of stages of processing,
The image forming apparatus according to claim 12, wherein the processing distribution unit divides the scan line conversion by dividing at any one of the plurality of stages.
画像形成出力を実行するための画像処理を複数の演算手段によって実行可能な画像形成装置の制御方法であって、
ページ情報取得部が、ページ記述言語によって構成されたページ情報を取得し、
ページ情報解析部が、前記取得されたページ情報を解析して前記画像形成出力を実行するための描画命令を出力し、
処理量判断部が、前記出力された描画命令に基づいて前記画像形成出力を実行するための描画情報を生成する際の処理量を判断し、
処理分散部が、前記描画情報を生成する際の処理量が多いと判断された場合に、前記描画情報の生成処理を前記複数の演算手段のいずれかが制御するように分散し、
描画情報生成部が、前記分散の結果に応じて、前記複数の演算手段のいずれかの制御によって前記描画情報を生成するように制御することを特徴とする画像形成装置の制御方法。
An image forming apparatus control method capable of executing image processing for executing image formation output by a plurality of arithmetic means,
The page information acquisition unit acquires page information configured by the page description language,
A page information analysis unit analyzes the acquired page information and outputs a drawing command for executing the image formation output,
A processing amount determining unit determines a processing amount when generating drawing information for executing the image forming output based on the output drawing command;
When it is determined that the processing distribution unit generates a large amount of processing when generating the drawing information, the processing for generating the drawing information is distributed so that any one of the plurality of calculation units controls,
A control method for an image forming apparatus, wherein the drawing information generation unit performs control so as to generate the drawing information by control of any of the plurality of arithmetic units according to the result of the dispersion.
情報処理装置を、画像形成出力を実行するための画像処理を複数の演算手段によって実行可能な画像形成装置として動作させる制御プログラムであって、
ページ記述言語によって構成されたページ情報を取得するステップと、
前記取得されたページ情報を解析して前記画像形成出力を実行するための描画命令を出するステップと、
前記出力された描画命令に基づいて前記画像形成出力を実行するための描画情報を生成する際の処理量を判断するステップと、
前記描画情報を生成する際の処理量が多いと判断された場合に、前記描画情報の生成処理を前記複数の演算手段のいずれかが制御するように分散するステップと、
前記分散の結果に応じて、前記複数の演算手段のいずれかの制御によって前記描画情報を生成するステップとを前記情報処理装置に実行させることを特徴とする制御プログラム。
A control program for causing an information processing apparatus to operate as an image forming apparatus capable of executing image processing for executing image formation output by a plurality of arithmetic units,
Obtaining page information configured in a page description language;
Analyzing the acquired page information and issuing a drawing command for executing the image forming output;
Determining a processing amount when generating drawing information for executing the image forming output based on the output drawing command;
When it is determined that the amount of processing when generating the drawing information is large, the generation processing of the drawing information is distributed so as to be controlled by any one of the plurality of calculation units;
A control program for causing the information processing apparatus to execute the step of generating the drawing information by the control of any of the plurality of arithmetic means according to the result of the distribution.
JP2009136298A 2009-06-05 2009-06-05 Image forming device, control method, and control program Pending JP2010282489A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009136298A JP2010282489A (en) 2009-06-05 2009-06-05 Image forming device, control method, and control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009136298A JP2010282489A (en) 2009-06-05 2009-06-05 Image forming device, control method, and control program

Publications (1)

Publication Number Publication Date
JP2010282489A true JP2010282489A (en) 2010-12-16

Family

ID=43539151

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009136298A Pending JP2010282489A (en) 2009-06-05 2009-06-05 Image forming device, control method, and control program

Country Status (1)

Country Link
JP (1) JP2010282489A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013233759A (en) * 2012-05-10 2013-11-21 Canon Inc Device, method, system and program of information processing
JP2018062157A (en) * 2016-10-14 2018-04-19 富士ゼロックス株式会社 Image formation apparatus, information processing apparatus and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013233759A (en) * 2012-05-10 2013-11-21 Canon Inc Device, method, system and program of information processing
JP2018062157A (en) * 2016-10-14 2018-04-19 富士ゼロックス株式会社 Image formation apparatus, information processing apparatus and program

Similar Documents

Publication Publication Date Title
US8411949B2 (en) Image rasterization processing apparatus using intermediate language form data, computer-readable recording medium storing program and image processing method
US8743389B2 (en) Methods and systems rendering a print job
US8842325B2 (en) Image processing apparatus, control method thereof, and storage medium
JP5051327B1 (en) Image processing apparatus and program
JP5655590B2 (en) Image forming apparatus, image forming apparatus control method, and image forming apparatus control program
JP2005352699A (en) Information processor, control method therefor and information processing method
US20100177342A1 (en) Image forming apparatus and control method thereof
US7880913B2 (en) Methods and systems for segmenting logical pages into work units for processing on multiple compute systems
JP5391980B2 (en) Image forming apparatus, image forming apparatus control method, and control program
JP2013052615A (en) Image forming apparatus, program and method for controlling drawing processing
US10021275B2 (en) Image processing apparatus, method of controlling image processing apparatus, and non-transitory recording medium
JP2010282489A (en) Image forming device, control method, and control program
JP6330481B2 (en) Image processing apparatus, print information generating apparatus, image forming apparatus, image forming system, and program
JP2011053944A (en) Image forming device, image forming method, and control program
JP2015153087A (en) Image processing device and program
JP2011143576A (en) Print data generator, image forming apparatus and program
JP2012126024A (en) Print job processing apparatus, program for the same, and print job processing method
US8437046B2 (en) Image processing apparatus and method for outputting an image subjected to pseudo-halftone processing
JP2006159738A (en) Print controller, its data processing method, and storage medium
JP2011083914A (en) Image forming apparatus and method and program for controlling the same
JP2020110926A (en) Image formation apparatus, control method of image formation apparatus, image formation system and program
JP2013161114A (en) Distributed print control device and distributed print control program
US20150271362A1 (en) Image processing apparatus, image processing method, and non-transitory recording medium storing image processing program
JP6264757B2 (en) Image forming apparatus, image forming system, image forming apparatus control method, and image forming apparatus control program
JP6168311B2 (en) Image forming apparatus, image forming system, and image forming method