JP2010282489A - Image forming device, control method, and control program - Google Patents
Image forming device, control method, and control program Download PDFInfo
- 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
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
Abstract
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.
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、プリンタ、スキャナ、複写機等の機能を含む複合機(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
CPU10は演算手段であり、画像形成装置1全体の動作を制御する。また、本実施形態に係るCPU10は、デュアルコアCPUであり、第1コア11及び第2コア12を含む。第1コア11と第2コア12とが夫々独立して動作することにより、並列処理が可能となり、処理時間を短縮することが可能となる。RAM20は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU10が情報を処理する際の作業領域として用いられる。ROM30は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。エンジン40は、画像形成装置1において実際に画像形成を実行する機構である。
The
HDD50は、情報の読み書きが可能な不揮発性の記憶媒体であり、OS(Operating System)や各種の制御プログラム、アプリケーション・プログラム等が格納されている。I/F60は、バス90と各種のハードウェアやネットワーク等を接続し制御する。LCD70は、ユーザが画像形成装置1の状態を確認するための視覚的ユーザインタフェースである。操作部80は、キーボードやマウス等、ユーザが画像形成装置1に情報を入力するためのユーザインタフェースである。
The
このようなハードウェア構成において、ROM30やHDD50若しくは図示しない光学ディスク等の記録媒体に格納されたプログラムがRAM20に読み出され、CPU10の制御に従って動作することにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係る画像形成装置1の機能を実現する機能ブロックが構成される。
In such a hardware configuration, a program stored in a recording medium such as the
次に、図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
また、コントローラ100は、主制御部101、エンジン制御部102、入出力制御部103、画像処理部104及び操作表示制御部105を有する。図2に示すように、本実施形態に係る画像形成装置1は、スキャナユニット120、プリントエンジン160を有する複合機として構成されている。尚、図2においては、電気的接続を実線の矢印で示しており、用紙の流れを破線の矢印で示している。
The
ディスプレイパネル140は、画像形成装置1の状態を視覚的に表示する出力インタフェースであると共に、タッチパネルとしてユーザが画像形成装置1を直接操作し若しくは画像形成装置1に対して情報を入力する際の入力インタフェース(操作部)でもある。ネットワークI/F180は、画像形成装置1がネットワークを介して他の機器と通信するためのインタフェースであり、Ethernet(登録商標)やUSB(Universal Serial Bus)インタフェースが用いられる。
The
コントローラ100は、ソフトウェアとハードウェアとの組み合わせによって構成される。具体的には、ROM30や不揮発性メモリ並びにHDD50や光学ディスク等の不揮発性記録媒体に格納されたファームウェア等の制御プログラムが、RAM20等の揮発性メモリ(以下、メモリ)にロードされ、CPU10の制御に従って構成されるソフトウェア制御部と集積回路などのハードウェアとによってコントローラ100が構成される。コントローラ100は、画像形成装置1全体を制御する制御部として機能する。
The
主制御部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
画像処理部104は、主制御部101の制御に従い、入力された印刷ジョブに含まれる印刷情報に基づいて描画情報を生成する。この描画情報とは、画像形成部であるプリントエンジン160が画像形成動作において形成すべき画像を描画するための情報である。また、印刷ジョブに含まれる印刷情報とは、PC等の情報処理装置にインストールされたプリンタドライバによって画像形成装置1が認識可能な形式に変換された情報であり、PDL(Page Description Language)によって記述された情報である。換言すると、上記印刷情報とは、画像形成出力すべきページの情報が記述されたページ情報である。尚、本実施形態においては、ページ記述言語としてPDLを用いる場合を例とするが、他の言語であっても良い。
The
本実施形態においては、画像処理部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
画像形成装置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 /
画像処理部104によって描画情報が生成されると、エンジン制御部102は、生成された描画情報に基づき、給紙テーブル150から搬送される用紙に対して画像形成を実行する。即ち、プリントエンジン160が画像形成部として機能する。プリントエンジン160の具体的態様としては、インクジェット方式による画像形成機構や電子写真方式による画像形成機構等を用いることが可能である。プリントエンジン160によって画像形成が施された文書は排紙トレイ170に排紙される。
When drawing information is generated by the
画像形成装置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
エンジン制御部102は、ADF110を駆動し、ADF110にセットされた撮像対象原稿をスキャナユニット120に搬送する。また、エンジン制御部102は、スキャナユニット120を駆動し、ADF110から搬送される原稿を撮像する。また、ADF110に原稿がセットされておらず、スキャナユニット120に直接原稿がセットされた場合、スキャナユニット120は、エンジン制御部102の制御に従い、セットされた原稿を撮像する。即ち、スキャナユニット120が撮像部として動作する。
The engine control unit 102 drives the
撮像動作においては、スキャナユニット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
画像処理部1104によって生成された画像情報は、ユーザの指示に応じてそのままHDD40等に格納され若しくは入出力制御部103及びネットワークI/F180を介して外部の装置に送信される。即ち、スキャナユニット120及びエンジン制御部102が画像入力部として機能する。
The image information generated by the image processing unit 1104 is stored as it is in the
また、画像形成装置1が複写機として動作する場合は、エンジン制御部102がスキャナユニット120から受信した撮像情報若しくは画像処理部104が生成した画像情報に基づき、画像処理部104が描画情報を生成する。その描画情報に基づいてプリンタ動作の場合と同様に、エンジン制御部102がプリントエンジン160を駆動する。
Further, when the image forming apparatus 1 operates as a copying machine, the
このような画像形成装置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
PDL解析部210は、PDLで記述された印刷情報を取得し、描画コアモジュール220が処理可能な形式に変換する。この変換された形式の情報が、PDLアプリケーション200において描画命令として処理される。即ち、PDL解析部210が、ページ情報取得部及びページ情報解析部として機能する。ここで、PDLで記述された印刷情報の内容を図4に示す。図4に示すように、PDLで記述された印刷情報は、テキスト情報、イメージ情報、ベクター情報及び描画設定情報を含む。
The
描画コアモジュール220は、PDL解析部210によって変換された描画命令に基づき、プリントエンジン160が画像形成出力を実行するための描画情報を生成する。図3に示す画像処理部104の機能のうち、PDL解析部210は、第1コア11のみによって処理される。他方、描画コアモジュール220は、第1コア11及び第2コア12によって分散処理される。即ち、描画コアモジュール220の機能が本実施形態に係る要旨の1つとなる。
The
図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
描画モジュール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
また、本実施形態に係る中間データ処理部222は、負荷分散決定部224によって負荷分散処理が実行された結果、第1コア11にも描画情報の生成処理が割り当てられた場合に、その描画処理を実行する。即ち、中間データ処理部222が、中間データ記憶部225に中間データを保存する前に描画処理を実行する第1の描画情報生成部として機能する。
Also, the intermediate
負荷指数算出部223は、中間データ処理部222から入力された情報、即ちPDL形式から変換された印刷情報に基づいて描画情報を生成する際の負荷指数を算出する。この負荷指数とは、描画情報の生成処理についての処理量を示す数値であり、処理すべき情報の量、即ち処理量にCPU10やRAM20等のハードウェアの処理能力も加味された数値である。即ち、負荷指数算出部223が、処理量算出部として機能する。本実施形態に係る負荷指数の算出態様について、以下に説明する。
The load
本実施形態においては、描画情報生成処理の負荷指数を算出する際のパラメータとして、ベクターデータにおけるベジエ曲線の制御点数、イメージデータのデータサイズ、描画領域のサイズ、描画処理手段の性能を用いる。ベジエ曲線においては、制御点間を分割して線分(パス)を生成するため、制御点数が多い程分割処理が多く発生する。従って、処理量はベジエ曲線の制御点数に比例する。 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の値への寄与率が異なる。
Based on these parameters, the load
負荷分散決定部224は、負荷指数算出部223によって算出された負荷指数に基づき、描画情報の生成処理を第1コア11と第2コア12とに分散する分散態様を決定する。負荷分散決定部224は、分散態様を決定する際、上述した描画処理手段の性能を参照し、第1コア11と第2コア12とで性能が異なる場合でも、好適に処理が割り振られるように分散態様を決定する。
The load
負荷分散決定部224による負荷分散の態様としては、ベクターデータのスキャンライン変換処理の分割、イメージデータのカラーマッチング処理や回転処理の分割、テキストデータのラスタライズ(ビットマップ化)処理の分割等が挙げられる。
Examples of load distribution by the load
中間データ記憶部225は、第1コア11によって制御されるモジュールから、第2コア12によって制御されるモジュールへ処理途中のデータを受け渡すための記憶媒体である。本実施形態においては、上述したように、負荷分散処理の結果に応じて、中間データ処理部222によっても描画情報の生成処理が実行される。従って、中間データ記憶部225には、中間データ処理部222によってPDL形式から変換された印刷情報が記憶される他、中間データ処理部222によって生成された描画情報が記憶される。
The intermediate
描画処理部226は、中間データ記憶部225に記憶された情報のうち、未だ画像形成出力用の描画がされていない情報、即ち、PDL解析部210によって出力された描画命令のうち、中間データ処理部222が描画処理を実行した残りの描画命令に基づいて描画情報を生成する。即ち、描画処理部226が第2の描画情報生成部として機能する。
The
描画情報出力部227は、描画処理部226によって生成された描画情報をページメモリに出力する。上述したように、描画処理部226及び描画情報出力部227は、第2コア12によって制御される。即ち、描画処理部226及び描画情報出力部227は、第1コア11が中間データ記憶部225に中間データを記憶させ、次のページのPDL解析処理を実行する期間に並行して動作可能である。これにより、第1コア11と第2コア12とに処理を分散し、並列処理によって処理時間を短縮することができる。
The drawing
次に、本実施形態に係る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
次に、第1コア11が負荷指数算出部223を制御し、負荷指数の算出処理を実行させる(S602)。本実施形態に係るS602の処理は、上述した式(1)に従って実行される。S602の処理によって負荷指数が算出されると、第1コア11が中間データ処理部222を制御し、算出された負荷指数と所定の閾値とを比較させる(S603)。
Next, the first core 11 controls the load
上記所定の閾値とは、予め定められている値であり、例えば、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
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
また、負荷分散決定部224は、S604において第2コア12に割り当てた描画情報の生成処理の処理量(以降、並列処理量とする)を記憶しておく。また、負荷分散決定部224は、S604において、少なくともS603における閾値以上の処理量を第2コア12に割り当てる。これにより、以降の並列処理を効率化することができる。
Further, the load
S605の処理が完了すると、第1コア11は、中間データ処理部222を制御し、S605の処理によって生成された情報及び未だ処理されていない情報、即ち、中間データ処理部222によって描画処理が実行された残りの描画命令を中間データ記憶部225に記憶する(S606)。他方、S603において、負荷指数が所定の閾値未満であると判断された場合(S603/No)、中間データ処理部222は、負荷分散の必要がないと判断し、PDL解析部210から入力された情報をそのまま中間データ記憶部225に記憶させる(S606)。ここまでの処理は、図7に示す“t1”の期間に相当する。
When the process of S605 is completed, the first core 11 controls the intermediate
S606までの処理が完了することにより、そのページについての以降の処理が第2コア12に引き継がれ、第1コア11は、第2コア12の動作と並行して次のページの処理を実行することになる。そこで、PDLアプリケーション200は、入力された印刷情報について、最終ページが完了したか否かを判断する(S607)。最終ページの処理が完了していれば(S607/Yes)、第1コア11はそのまま処理を終了する。他方、最終ページの処理が完了していなければ(S607/No)、第1コア11は、第2コア12によるS608以降の処理と並行してS601からの処理を繰り返す。ここからが、図7に示す“t2”の期間に相当する。
When the processing up to S606 is completed, subsequent processing for the page is taken over by the
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
ここで、上記並列処理量とは、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
また、上記処理の分割については、並列処理量と第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
即ち、本実施形態に係る要旨の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
S608の処理が完了すると、第2コア12は、描画情報出力部227を制御し、生成された描画情報をエンジン制御部102のページメモリに記憶する(S609)。これにより、エンジン制御部102がプリントエンジン160を制御して画像形成出力を実行することが可能となる。
When the processing of S608 is completed, the
S609の処理が完了すると、第2コア12によって制御されたPDLアプリケーション200は、最終ページが完了したか否か判断する(S610)。そして、最終ページが完了していれば(S610/Yes)、そのまま処理を終了し、最終ページが完了していなければ(S610/No)、S608からの処理を繰り返す。ここまでの処理が、図7に示す“t2”の期間に相当する。
When the process of S609 is completed, the PDL application 200 controlled by the
図7に示すように、“t2”の期間においては、第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
具体的には、図7に示す“従来技術”においては、第1コア11で実行されるページ2の処理量が“120”であることに対して、第2コア12で実行される頁1の処理量が“80”であるため、コア12において、“40”分の待ちが発生している。これに対して、“本実施形態に”においては、第1コア11で実行される処理量を第2コア11で実行される処理量に合わせて“80”としているため、期間t2において、第2コア12に“待ち”が発生せず、並列処理が効率化される。
Specifically, in the “prior art” shown in FIG. 7, the processing amount of
更に、図7に示すように、第1コア11で実行されるページ2の処理量を“80”としたことに伴い、第2コア12で実行されるページ2の処理量が“従来技術”に示す“80”から“120”に増えている。これに対して、負荷分散決定部224が、第1コア11で実行されるページ3の処理量を“150”から“120”とし、差分の“30”を第2コア12の処理として割り振ることにより、期間“t3”においても並列処理が効率化される。
Further, as shown in FIG. 7, the processing amount of
このような処理の結果、図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
このように、本実施形態に係る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
以上説明したように、本実施形態に係る画像形成装置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-
また、上記実施形態においては、図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
また、上記実施形態においては、図6のS604において負荷分散決定部224が並列処理量を記憶し、その並列処理量に基づいて次サイクルのS604において、分散態様を決定する場合を例として説明した。この他、負荷分散決定部224は、並列処理量を記憶するのではなく、中間データ記憶部225に記憶されている描画命令の情報量を参照するようにしても良い。中間データ記憶部225には、第2コア12の制御により描画処理部226が実行すべき描画処理の描画命令が記憶されているため、その情報量は上記並列処理量に対応した値であり、これによっても、上記と同様の効果を得ることができる。
In the above embodiment, the load
また、図6に示すように、負荷分散決定部224がS604において分散態様を決定する際には、既に第2コア12によって制御された描画処理部226が描画処理を実行している。従って、負荷分散決定部224は、S604の時点における描画処理部226による描画処理の進行状況、即ち処理状況に応じて分散態様を決定しも良い。
Also, as shown in FIG. 6, when the load
実施の形態.2
実施の形態1においては、負荷指数算出部223が印刷情報全体について描画情報生成に要する処理量を算出し、負荷分散決定部224が、印刷情報全体についての描画情報生成処理を分割する場合を例として説明した。本実施形態においては、判断及び分割対象をベクターデータに絞ることにより、並列処理の効率化の効果を残しながらも実装の容易性及び処理の簡易化を実現した態様について説明する。
Embodiment. 2
In the first embodiment, an example is given in which the load
上述したように、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
本実施形態においては、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
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
S803の処理が完了すると、次に、第1コア11が、負荷分散決定部224を制御し、負荷分散処理を実行させる(S804)。ここで、実施の形態1においては、負荷分散決定部224による負荷分散の態様として、ベクターデータのスキャンライン変換処理の分割、イメージデータのカラーマッチング処理や回転処理の分割、テキストデータのラスタライズ(ビットマップ化)処理の分割等を挙げたが、本実施形態においては、スキャンライン変換処理に対象を絞って分割を行う。
When the process of S803 is completed, the first core 11 next controls the load
ここで、図9(a)〜(e)を参照して、スキャンライン変換処理の具体例及び本実施形態に係る処理の分割態様について説明する。図9(a)〜(e)は、複数の段階によって構成されるスキャンライン変換処理の各段階を示す図である。上述したように、ベジエ曲線は、端点及び制御点の座標データによって構成される。図9(a)は、ベジエ曲線を構成する点として端点P0、P3及び制御点P1、P2を有する場合のプロット例である。 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
仮に、ベクターデータに含まれる端点及び制御点毎に処理を分割する場合、夫々の点毎に、どちらのコアによって処理するかを示す割り当て情報を保持する必要があり、処理すべき情報量が増大するからである。これに対して、上述したように段階によって分割する場合、例えばパス生成処理及びビットパス変換処理を完了した状態のデータを中間データ記憶部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
図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
また、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
尚、実施の形態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
S803において算出された負荷指数に基づいてスキャンライン変換の段階を区切る方法としては、例えば、負荷分散決定部224は、予め定められた閾値とS803において算出された負荷指数との比較結果に応じて段階を区切ることができる。具体的には、負荷分散決定部224は、算出された負荷指数に対する閾値として4種類の閾値を記憶しておく。この4種類の閾値を、値が小さい順にS1、S2、S3、S4とする。そして、算出された負荷指数(以降、Wとする)がS4よりも大きい場合、負荷分散決定部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
以降、S3<W≦S4の場合は、図9(d)に示すFILL処理までを、S2<W≦S3の場合は、図9(c)に示すビットパス変換までを、S1<W≦S2の場合は、図9(b)に示すパス生成処理までを、夫々第1コア11に割り当てる。また、W<S1の場合、第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
また、図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
具体的には、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
また、実施の形態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
実施の形態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
更には、描画処理の分割要否の判断において、先に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
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
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乃至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.
前記描画情報生成部が、前記分散処理の結果に応じて前記第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.
前記処理分散部は、前記複数段階のいずれかの段階で区切ることにより、前記スキャンライン変換を分割することを特徴とする、請求項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.
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)
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 |
-
2009
- 2009-06-05 JP JP2009136298A patent/JP2010282489A/en active Pending
Cited By (2)
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 |