JP2011053944A - Image forming device, image forming method, and control program - Google Patents
Image forming device, image forming method, and control program Download PDFInfo
- Publication number
- JP2011053944A JP2011053944A JP2009202723A JP2009202723A JP2011053944A JP 2011053944 A JP2011053944 A JP 2011053944A JP 2009202723 A JP2009202723 A JP 2009202723A JP 2009202723 A JP2009202723 A JP 2009202723A JP 2011053944 A JP2011053944 A JP 2011053944A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- information
- unit
- image forming
- image
- 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)
- Image Generation (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の性能を効率的に発揮させるためには、処理を夫々のコアに適切に配分することにより、片方のコアの動作中において片方のコアに待機、即ち、待ちが発生しないようにする必要がある。 Due to the recent development of information processing equipment, computing means such as a multi-core CPU including a plurality of computing means have 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
ここで、上述した画像処理は、主として、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 CPU cores 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
これに対して、PDL解析処理において、ページに含まれる情報量に基づいて描画処理の処理量を判断し、その判断結果に応じて描画処理の一部をPDL解析処理において実行することにより、PDL解析処理とレンダリング処理とのバランスを均一にすることが考えられる。しかしながら、画像形成出力のページ毎に上記判断を行う場合、PDL解析側が処理を終了するまでレンダラ側が処理を開始することができず、レンダラ側が待機状態となる可能性がある。レンダラ側が待機状態とならないように、ページ毎の調整をすることも可能であるが、処理が複雑化してしまう。 On the other hand, in the PDL analysis process, the processing amount of the drawing process is determined based on the amount of information included in the page, and a part of the drawing process is executed in the PDL analysis process according to the determination result. It is conceivable to make the balance between analysis processing and rendering processing uniform. However, when the above determination is performed for each page of the image formation output, the renderer side cannot start the process until the PDL analysis side finishes the process, and the renderer side may enter a standby state. Although it is possible to make adjustments for each page so that the renderer does not enter the standby state, the processing becomes complicated.
PDL解析処理からレンダリング処理への情報の受け渡しは、画像形成出力のページ毎に行われており、PDL解析処理とレンダリング処理とのバランスを均一化したとしても、最初の1ページについては、PDL解析処理が完了するまでレンダラ側は待機状態となり、最後の1ページについては、PDL解析処理が完了してレンダラ側が処理を開始した後は、PDL解析側が待機状態となる。即ち、複数のコアの何れかが待機状態となる期間が長く、処理の並列化が好適になされていない。 Information is transferred from the PDL analysis process to the rendering process for each page of the image formation output. Even if the balance between the PDL analysis process and the rendering process is made uniform, the PDL analysis is performed for the first page. The renderer side is in a standby state until the processing is completed. For the last page, after the PDL analysis process is completed and the renderer side starts processing, the PDL analysis side is in a standby state. That is, the period during which any one of the plurality of cores is in a standby state is long, 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 obtained based on a page description language A drawing command acquisition unit that acquires a drawing command, a graphic information acquisition unit that acquires graphic information describing a graphic included in an image to be output based on the drawing command, and stores the acquired graphic information in a storage medium A graphic information storage processing unit for generating, a drawing processing unit for generating drawing information for drawing the graphic based on the stored graphic information, and the drawing information when the graphic information is stored in the storage medium A drawing processing progress confirmation unit for confirming the progress of the drawing processing for generating information, and when the progress is confirmed to be low, the information processing format of the graphic information is converted and executed in the drawing processing unit. Characterized in that it comprises an information conversion unit to reduce the physical quantity.
ここで、前記図形情報取得部、描画処理進度確認部、図形情報記憶処理部及び情報変換部と、前記描画処理部とが異なる演算手段によって実現されることが好ましい。 Here, it is preferable that the graphic information acquisition unit, the drawing processing progress confirmation unit, the graphic information storage processing unit, the information conversion unit, and the drawing processing unit are realized by different calculation means.
また、前記記憶媒体に記憶された前記図形情報に基づいて前記描画情報を生成する処理の処理量を算出する処理量算出部を更に含み、前記描画処理進度確認部は、前記算出された処理量に基づいて前記描画処理の進度を確認することが好ましい。 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 based on the graphic information stored in the storage medium, and the drawing processing progress confirmation unit includes the calculated processing amount. It is preferable to check the progress of the drawing process based on the above.
また、前記描画処理進度確認部は、前記算出された処理量に基づいて前記描画処理の残量を算出し、前記算出した残量に基づいて前記描画処理の進度を確認することが好ましい。 Further, it is preferable that the drawing process progress confirmation unit calculates a remaining amount of the drawing process based on the calculated processing amount, and confirms the progress of the drawing process based on the calculated remaining amount.
また、前記描画処理進度確認部は、前記算出した残量が所定の閾値よりも多い場合に、前記進度が低いことを確認するができる。 In addition, the drawing process progress confirmation unit can confirm that the progress is low when the calculated remaining amount is greater than a predetermined threshold.
また、前記処理量算出部は、前記複数の演算手段の演算能力に応じて前記描画処理の処理量を算出することが好ましい。 Further, it is preferable that the processing amount calculation unit calculates the processing amount of the drawing processing according to the calculation capability of the plurality of calculation means.
また、前記処理量算出部は、前記描画命令の内容に応じて変動する変動要素と、前記画像形成装置を構成するハードウェアの性能によって決定される固定要素とに基づいて処理量を算出することが好ましい。 In addition, the processing amount calculation unit calculates the processing amount based on a variable element that varies depending on the content of the drawing command and a fixed element that is determined by the performance of hardware that constitutes the image forming apparatus. Is preferred.
また、前記処理量算出部は、前記描画命令に含まれる複数種類の処理毎に、前記複数種類の処理夫々の内容に応じて前記変動要素全体への寄与率が異なるように前記変動要素を算出することが好ましい。 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.
また、前記描画処理進度確認部は、前記記憶媒体に記憶されている前記図形情報に基づいて前記描画処理の進度を確認することが好ましい。 Moreover, it is preferable that the drawing process progress confirmation unit confirms the progress of the drawing process based on the graphic information stored in the storage medium.
前記情報変換部は、前記図形情報の情報形式がベクターデータである場合に、スキャンライン変換の一部または全部を実行することができる。 The information conversion unit can execute part or all of scan line conversion when the information format of the graphic information is vector data.
また、前記情報変換部は、前記図形情報の情報形式がイメージデータである場合に、カラーマッチング、CMYK変換、総量規制の一部または全部を実行することができる。 Further, the information conversion unit can execute part or all of color matching, CMYK conversion, and total amount regulation when the information format of the graphic information is image data.
他方、本発明の他の態様は、画像形成出力を実行するための画像処理を複数の演算手段によって実行する画像形成方法であって、描画命令取得部が、ページ記述言語に基づいて得られた描画命令を取得し、図形情報取得部が、出力すべき画像に含まれる図形を記述する図形情報を前記描画命令に基づいて取得し、図形情報記憶処理部が、前記取得された図形情報を記憶媒体に記憶させ、描画処理部が、前記記憶された図形情報に基づいて前記図形を描画するための描画情報を生成し、描画処理進度確認部が、前記図形情報が前記記憶媒体に記憶される際に、前記描画情報を生成する描画処理の進度を確認し、情報変換部が、前記進度が低いことが確認された場合、前記図形情報の情報形式を変換して前記描画処理部において実行される処理量を軽減することを特徴とする。 On the other hand, according to another aspect of the present invention, there is provided an image forming method in which image processing for executing image forming output is executed by a plurality of calculation means, wherein the drawing command acquisition unit is obtained based on a page description language A drawing command is acquired, a graphic information acquisition unit acquires graphic information describing a graphic included in the image to be output based on the drawing command, and a graphic information storage processing unit stores the acquired graphic information. The drawing processing unit generates drawing information for drawing the graphic based on the stored graphic information, and the drawing processing progress confirmation unit stores the graphic information in the storage medium. In this case, the progress of the drawing process for generating the drawing information is confirmed, and when the information conversion unit confirms that the progress is low, the information processing unit converts the information format of the graphic information and executes it in the drawing processing unit. Processing amount Characterized in that it reduced.
また、本発明の他の態様は、画像形成出力を実行するための画像処理を複数の演算手段によって実行可能な画像形成装置を制御する制御プログラムであって、ページ記述言語に基づいて得られた描画命令を取得するステップと、出力すべき画像に含まれる図形を記述する図形情報を前記描画命令に基づいて取得するステップと、前記取得された図形情報を記憶媒体に記憶させるステップと、前記記憶された図形情報に基づいて前記図形を描画するための描画情報を生成するステップと、前記図形情報が前記記憶媒体に記憶される際に、前記描画情報を生成する描画処理の進度を確認するステップと、前記進度が低いことが確認された場合、前記図形情報の情報形式を変換して前記描画処理部において実行される処理量を軽減するステップとを前記画像形成装置に実行させることを特徴とする。 According to another aspect of the present invention, there is provided a control program for controlling an image forming apparatus capable of executing image processing for executing image formation output by a plurality of arithmetic means, and obtained based on a page description language. Acquiring a drawing command; acquiring graphic information describing a graphic included in an image to be output based on the drawing command; storing the acquired graphic information in a storage medium; A step of generating drawing information for drawing the graphic based on the generated graphic information, and a step of confirming a progress of a drawing process for generating the drawing information when the graphic information is stored in the storage medium And, when it is confirmed that the progress is low, converting the information format of the graphic information to reduce the processing amount executed in the drawing processing unit. Characterized in that to be executed by the serial image forming 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.
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、プリンタ、スキャナ、複写機等の機能を含む複合機(MFP:Multi Function Peripheral)としての画像形成装置を例として説明する。 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
CPU10は演算手段であり、画像形成装置1全体の動作を制御する。また、本実施形態に係るCPU10は、クアッドコアCPUであり、第1コア11、第2コア12、第3コア13及び第4コア14を含む。第1コア11、第2コア12、第3コア13及び第4コア14が夫々独立して動作することにより、並列処理が可能となり、処理時間を短縮することが可能となる。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
また、コントローラ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
画像処理部104は、主制御部101の制御に従い、入力された印刷ジョブに含まれる印刷情報に基づいて描画情報を生成する。この描画情報とは、画像形成部であるプリントエンジン160が画像形成動作において形成すべき画像を描画するための情報である。また、印刷ジョブに含まれる印刷情報とは、PC等の情報処理装置にインストールされたプリンタドライバによって画像形成装置1が認識可能な形式に変換された情報であり、PDL(Page Description Language)によって記述された情報である。換言すると、上記印刷情報とは、画像形成装置1に画像形成出力を開始させる実行命令である。尚、本実施形態においては、ページ記述言語としてPDLを用いる場合を例とするが、他の言語であっても良い。
The
本実施形態においては、画像処理部104による上記描画情報の生成処理を、マルチコアのCPU10の第1コア11、第2コア12、第3コア13及び第4コア14に好適に割り振ることが要旨となる。画像処理部104の機能については、後に詳述する。操作表示制御部105は、ディスプレイパネル140に情報表示を行い若しくはディスプレイパネル140を介して入力された情報を主制御部101に通知する。
In the present embodiment, the above-described drawing information generation processing by the
画像形成装置1がプリンタとして動作する場合は、まず、入出力制御部103がネットワークI/F180を介して印刷ジョブを受信する。入出力制御部103は、受信した印刷ジョブを主制御部101に転送する。主制御部101は、印刷ジョブを受信すると、画像処理部104を制御して、印刷ジョブに含まれる印刷情報に基づいて描画情報を生成させる。
When the
画像処理部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
エンジン制御部102は、ADF110を駆動し、ADF110にセットされた撮像対象原稿をスキャナユニット120に搬送する。また、エンジン制御部102は、スキャナユニット120を駆動し、ADF110から搬送される原稿を撮像する。また、ADF110に原稿がセットされておらず、スキャナユニット120に直接原稿がセットされた場合、スキャナユニット120は、エンジン制御部102の制御に従い、セットされた原稿を撮像する。即ち、スキャナユニット120が撮像部として動作する。
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
このような画像形成装置1において、本実施形態に係る要旨は、画像処理部104が描画情報を生成する際の処理の分割及び並列処理にある。以下、本実施形態に係る画像処理部104の機能及び動作について説明する。図3は、本実施形態に係る画像処理部104に含まれる機能を示すブロック図である。図3に示すように、本実施形態に係る画像処理部104は、PDL解析部210及び描画コアモジュール220によって構成されるPDLアプリケーション200を含む。
In such an
PDL解析部210は、PDLで記述された印刷情報を取得し、描画コアモジュール220が処理可能な形式に変換する。この変換された形式の情報が、PDLアプリケーション200において描画命令として処理される。即ち、PDL解析部210が、ページ情報取得部及びページ情報解析部として機能する。ここで、PDLで記述された印刷情報に含まれる情報の情報形式と、夫々の情報形式に応じて実行される処理を図4に示す。
The PDL analysis unit 210 acquires print information described in PDL and converts it into a format that can be processed by the
図4に示すように、ベクターデータであれば、スキャンライン変換処理を経て画像のビットマップ化が行われる。テキストデータであれば、テキストのアウトライン化及びアウトラインのスキャンライン変換を経て、画像のビットマップ化が行われる。また、圧縮画像データであれば、圧縮形式に応じた展開処理を経て、イメージデータとしての処理が行われる。また、動画データであれば、動画を構成するフレームの抽出処理を経て、イメージデータとしての処理が行われる。尚、動画が圧縮されている場合、圧縮静止画像データと同様に画像の展開処理が行われる。そして、イメージデータであれば、カラーマッチング、CMYK(Cyan、Magenta、Yellow、Key)変換及び総量規制の処理が実行される。 As shown in FIG. 4, in the case of vector data, an image is converted into a bitmap through a scan line conversion process. In the case of text data, the image is converted into a bitmap through the outline of the text and the scan line conversion of the outline. In the case of compressed image data, processing as image data is performed through decompression processing corresponding to the compression format. In the case of moving image data, processing as image data is performed through extraction processing of frames constituting the moving image. When a moving image is compressed, an image expansion process is performed in the same manner as the compressed still image data. For image data, color matching, CMYK (Cyan, Magenta, Yellow, Key) conversion and total amount restriction processing are executed.
描画コアモジュール220は、PDL解析部210によって変換された描画命令に基づき、プリントエンジン160が画像形成出力を実行するための描画情報を生成する。図3に示す画像処理部104の機能のうち、PDL解析部210は、第1コア11のみによって処理される。他方、描画コアモジュール220は、第1コア11、第2コア12、第3コア13及び第4コア14によって分散処理される。即ち、描画コアモジュール220の機能が本実施形態に係る要旨の1つとなる。
The
図5を参照して、描画コアモジュール220の機能について説明する。図5は、描画コアモジュール220に含まれる機能を示すブロック図である。図5に示すように、本実施形態に係る描画コアモジュール220は、描画コアモジュールI/F221、DL(Display List:ディスプレイリスト)処理部222、負荷指数算出部223、DL形式変換部224、中間データ記憶部225及び複数の描画処理部226を含む。図4に含まれる各構成のうち、描画コアモジュールI/F221、DL処理部222、負荷指数算出部223及びDL形式変換部224が、第1コア11によって制御され、複数の描画処理部226が第2コア12、第3コア13、第4コア14のいずれかによって制御される。これら第1コア11、第2コア12、第3コア13及び第4コア14によって制御される夫々の機能ブロックは、ソフトウェア・プログラムとして実現される描画コアモジュール220を構成するモジュールである。
The function of the
描画コアモジュールI/F221は、PDL解析部210によって変換された描画命令を取得する。即ち、描画コアモジュールI/F221が描画命令取得部として機能する。DL処理部222は、描画コアモジュールI/F221が取得した描画命令に基づいてディスプレイリストを生成し、中間データ記憶部225に記憶させる。このディスプレイリストとは、画像形成出力すべき画像に含まれる図形が記述された図形情報である。即ち、DL処理部222が図形情報取得部、図形情報記憶処理部として機能すると共に、中間データ記憶部225が図形情報記憶部として機能する。
The drawing core module I /
また、DL処理部222は、描画コアモジュールI/F221が取得した描画命令の情報を、上述した図形の情報毎に負荷指数算出部223に転送し、負荷指数算出部223に負荷指数の算出処理を実行させる。更に、DL処理部222は、負荷指数算出部223による負荷指数の算出結果に基づき、複数の描画処理部226における描画処理の処理状態を判断し、その判断結果に基づいてDL形式変換部224に上記図形の情報の情報形式を変換させる。即ち、DL処理部222が描画処理進度確認部として機能し、DL形式変換部224が連動して、情報変換部として機能する。
Also, the
負荷指数算出部223は、DL処理部222から入力された情報、即ちPDL形式から変換された印刷情報に基づき、入力された図形について描画情報を生成する際の負荷指数を算出する。この負荷指数とは、描画情報の生成処理についての処理量を示す数値であり、処理すべき情報の量、即ち処理量にCPU10やRAM20等のハードウェアの処理能力も加味された数値である。即ち、負荷指数算出部223が、処理量算出部として機能する。本実施形態に係る負荷指数の算出態様について、以下に説明する。
The load
本実施形態においては、描画情報生成処理の負荷指数を算出する際のパラメータの例として、ベクターデータにおけるベジエ曲線の制御点数、イメージデータのデータサイズ、描画領域のサイズ、描画処理手段の性能を用いる。ベジエ曲線においては、制御点間を分割して線分(パス)を生成するため、制御点数が多い程分割処理が多く発生する。従って、処理量はベジエ曲線の制御点数に比例する。また、テキストデータやベクターデータは、描画領域によっても処理量が異なる。 In the present embodiment, as an example of parameters for calculating the load index of the drawing information generation process, the number of 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. . 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. Further, the processing amount of text data and vector data varies depending on the drawing area.
また、イメージ描画の場合、入力データは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、第3コア13及び第4コア夫々の性能に応じた係数であり、負の値となる場合もあり得る。また、“a”〜“b”は、夫々の重み係数である。この重み係数により、上記“B”、“D”、“S”等の夫々の項目毎に負荷指数Wの値への寄与率が異なる。
Based on these parameters, the load
負荷指数算出部223は、上述したように算出した負荷指数を記憶する。負荷指数算出部223に記憶された負荷指数は、DL処理部222によって参照され、上述したようにDL変換部224による情報形式の変換の実行要否の判断材料とされる。これについては、後に詳述する。
The load
DL形式変換部224による情報形式の変換処理としては、ベクターデータのスキャンライン変換処理や、イメージデータのカラーマッチング処理や回転処理、テキストデータのアウトライン化及びスキャンライン変換等、図4において説明した処理、即ち、描画情報の生成処理の一部が含まれる。 Information format conversion processing by the DL format conversion unit 224 includes vector data scan line conversion processing, image data color matching processing and rotation processing, text data outline conversion and scan line conversion, and the processing described in FIG. That is, part of the drawing information generation process is included.
中間データ記憶部225は、第1コア11によって制御されるモジュールから、第2コア12によって制御されるモジュールへ処理途中のデータを受け渡すための記憶媒体である。本実施形態においては、上述したように、DL処理部222による負荷指数に基づいた描画書部226の処理状況の判断に応じて、DL形式変換部224によっても描画情報の生成処理の一部が実行される。従って、中間データ記憶部225には、中間データ処理部222によってPDL形式から変換され、ディスプレイリストとして構成された情報が記憶される他、DL形式変換部224によって変換された情報が記憶される。
The intermediate
複数の描画処理部226は、中間データ記憶部225に記憶された情報に基づき、エンジン制御部102に描画データを入力するための描画情報を生成する。複数の描画処理部226による処理態様としては、PDL解析部210によって解析され、DL処理部222によってディスプレイリストとして構成された情報から描画情報を生成する処理の他、DL形式変換部224によってスキャンライン変換やカラーマッチング等の処理が施された処理途中の情報から描画情報を生成する処理等が含まれる。複数の描画処理部226は、生成した描画情報をページメモリに出力する。
The plurality of drawing
上述したように、複数の描画処理部226は、夫々第2コア12、第3コア13、第4コア14のいずれかによって制御される。即ち、描画処理部226は、第1コア11が中間データ記憶部225に中間データを記憶させ、次のページのPDL解析処理を実行する期間において並行して動作可能である。これにより、第1コア11と第2コア12〜第4コア14とに処理を分散し、並列処理によって処理時間を短縮することができる。
As described above, the plurality of drawing
次に、本実施形態に係るPDLアプリケーション200の動作について、図を参照して説明する。本実施形態においては、画像形成出力すべき画像(以降、出力画像とする)として、図6に示すような画像を例として説明する。図6に示すように、本実施形態に係る出力画像は、画像を構成するオブジェクトとして、イメージA、テキストB、ベクターCの3つの図形を含む。また、図6に示すように、本実施形態に係るPDLアプリケーション200は、1つのページを“バンド0”、“バンド1”、“バンド2”の3つの領域に分割し、夫々の領域毎に描画情報を生成する。また、本実施形態に係るPDLアプリケーション200は、複数の描画処理部226を夫々制御する第2コア12〜第4コア14が、夫々のバンドの描画情報を生成することにより処理を並列化する。
Next, the operation of the
図7は、本実施形態に係るPDLアプリケーション200の動作を示すフローチャートである。また、図8は、本実施形態に係るPDLアプリケーション200におけるディスプレイリストの生成処理(Pers)と、描画処理(Render)との並列動作と、従来の並列動作とを模式的に示す図である。図8においては、3ページ分の印刷情報が入力された場合を例としている。
FIG. 7 is a flowchart showing the operation of the
画像処理部104がPDL形式の印刷情報を取得すると、PDLアプリケーション200が動作を開始する。まず、第1コア11がPDL解析部210を制御し、入力されたPDLデータを解析して描画コアモジュール220が処理可能なデータ形式に変換させる(S701)。PDL解析部210によって変換された情報(以降、描画命令とする)は、描画モジュールI/F221を介してDL処理部222に入力される。
When the
次に、DL処理部222は、描画コアモジュールI/F221から取得した描画命令において、出力すべき画像に含まれるオブジェクトを1つ選択する(S702)。この図形とは、図6に示すイメージA、テキストB、ベクターCのいずれかである。ここでは、イメージAが選択されたものとして説明する。そして、DL処理部222は、S702において選択したオブジェクトを負荷指数算出部223に入力する。これにより、第1コア11が負荷指数算出部223を制御し、負荷指数算出部223が負荷指数の算出処理を実行する(S703)。本実施形態に係るS703の処理は、上述した式(1)に従って実行される。S703の処理によって負荷指数が算出されると、負荷指数算出部223は算出した負荷指数を記憶する。
Next, the
次に、DL処理部222は、前サイクルにおいて負荷指数算出部223が算出して記憶した負荷指数(以降、前サイクル負荷指数とする)を参照して描画処理部226における描画処理の処理状況を確認し(S704)、その結果に基づいて負荷分散処理を実行する(S705)。
Next, the
ここで、1つ目のオブジェクトについての処理の場合、第1のサイクルであるため、前サイクル負荷指数は無く、描画処理部226は未だ描画処理を開始していない。この場合、DL処理部222は、描画処理部226は待機状態であり、処理能力に十分な余裕があると判断する。この場合、S705において、DL処理部222は、DL形式変換部224には処理を割り当てず、複数の描画処理部226夫々において描画処理を実行させることを決定する。即ち、S705の処理結果によっては、DL形式変換部224による情報形式の変換処理(S706)は、実際には処理が実行されない空の処理となる。
Here, since the process for the first object is the first cycle, there is no previous cycle load index, and the
S706までの処理が完了すると、DL処理部222は、S702において選択したオブジェクトについて、ディスプレイリストとして構成した描画命令の情報を中間データ記憶部225に記憶させる(S707)。この第1のサイクルにおけるS707の処理のタイミングが、図8に示すt1のタイミングである。このS707の処理が完了することにより、第2コア12〜第4コア14のいずれかによって制御される描画処理部226が描画情報を生成する描画処理を実行する(S710)。
When the processing up to S706 is completed, the
上述したように、上述したS702においてイメージAが選択されており、イメージAはバンド0及びバンド1に存在するため、図8に示すように、まずはバンド0及びバンド1に対応している第2コア12及び第3コア13の描画処理部226が描画処理を開始する。他方、第1コア11においては、S707の処理が完了すると、S701の処理によって取得された描画命令に含まれる全てのオブジェクトについて処理が完了したか否か判断する(S708)。ここでは処理が完了していないので(S708/NO)、S702からの処理を繰り返す。
As described above, since the image A is selected in S702 described above and the image A exists in the band 0 and the
次に、S702に戻った第2のサイクルにおいて、ベクターCが選択されたものとして説明する(S702)。対象のオブジェクトとしてベクターCが選択されると、上記と同様にベクターCについての負荷指数の算出処理が実行され(S703)、負荷指数が記憶される。そして、上記と同様にレンダラとしての描画処理部226の処理状況が確認される(S704)。
Next, description will be made assuming that the vector C is selected in the second cycle returning to S702 (S702). When the vector C is selected as the target object, the load index calculation process for the vector C is executed in the same manner as described above (S703), and the load index is stored. In the same manner as described above, the processing status of the
ここでは、前サイクル負荷指数としてイメージAの負荷指数が記憶されているため、その情報に基づいて描画処理部226の処理状況が判断される。この処理状況の判断処理は、例えば、前サイクルのS707において中間データ記憶部225に中間データが記憶されてからの経過時間に基づいて前サイクル負荷指数を減算し、残りの負荷指数を算出することによって、描画処理部226が処理すべき処理のうち待機状態となっている処理量(以降、待機処理量とする)を算出する。
Here, since the load index of the image A is stored as the previous cycle load index, the processing status of the
レンダラの処理状況が算出されると、DL処理部222は、負荷分散処理を実行する(S705)。ここでは、S704において算出された待機処理量に基づいてDL形式変換224への処理の割り当てが決定される。例えば、現サイクルのS703において算出された負荷指数(以降、現サイクル負荷指数とする)と、上記算出された待機処理量とを比較し、現サイクル負荷指数が待機処理量に比べて大幅に小さければ、DL形式変換部224には処理を割り当てない。上位の判断基準としては、例えば、現サイクル負荷指数が待機処理量の50%以下や、30%以下、更には10%以下等である。
When the processing status of the renderer is calculated, the
S705における他の判断方法としては、上記算出された待機処理量について閾値を設けておき、算出された待機処理量がその閾値よりも大きければDL形式変換部224に処理を割り当てる方法がある。また、上記閾値を段階的に設けておき、待機処理量が上記段階的に設けられた閾値においてより上位、即ち値の大きい閾値を上回るほど、DL形式変換部224に多くの処理を割り当てることもできる。 As another determination method in S705, there is a method in which a threshold is provided for the calculated standby processing amount, and a process is assigned to the DL format conversion unit 224 if the calculated standby processing amount is larger than the threshold. In addition, the threshold value is provided in stages, and more processing is allocated to the DL format conversion unit 224 as the standby processing amount is higher than the threshold value provided in stages, that is, exceeds a threshold value with a larger value. it can.
S705の処理が完了すると、DL形式変換部224は、S705の処理により割り当てられた分の処理を実行する。そして、DL処理部222が中間データ記憶部225に中間データを保存する(S707)このようにしてベクターCについて中間データ保存部225に中間データが記憶されることにより、ベクターCはバンド1、バンド2に存在しているため、図8のタイミングt2に示すように、バンド2に対応している第4コア14が処理を開始する。尚、ベクターCはバンド1にも存在しているが、バンド1に対応している第3コア13は、既に処理を介しているため、現在実行している処理が完了し次第、ベクターCの描画処理を開始する。
When the processing of S705 is completed, the DL format conversion unit 224 executes the processing for the amount allocated by the processing of S705. Then, the
このようにS707の処理が完了すると、DL処理部222は、再度前オブジェクトについての処理が完了したか否かを判断し、前オブジェクトについて処理が完了するまでS702からの処理を繰り返す(S708/NO)。そして、前オブジェクトについて処理が完了すると(S708/YES)、次に、PDLアプリケーション200は入力されたPDLデータに含まれる全てのページについて処理が完了しているかを判断し(S709)、完了していなければ(S709/NO)、他のページについてPDL解析以降の処理を実行するべくS701からの処理を繰り返す。S709において“NO”となったタイミングが、図8に示すタイミングt3及びt4、即ち、処理ページの切り替わりタイミングである。そして、全てのページについて処理が完了すると(S709/YES)、そのまま処理を終了する。
When the processing of S707 is completed in this way, the
他方、第2コア12〜第4コア14においては、DL処理部222によって中間データ記憶部225に記憶された中間データに基づき、夫々の描画処理部226が、描画情報の生成処理を実行する(S710)。そして、一のオブジェクトについての描画処理が完了すると、描画処理部226は、一のページに含まれる全てのオブジェクトについての描画処理が完了したかを判断し(S711)、完了していなければ(S711/NO)、S710の処理を繰り返す。
On the other hand, in the
一のページに含まれる全てのオブジェクトについての描画処理が完了していれば(S711/YES)、描画処理部226は、ページメモリに描画情報を出力し(S712)、全てのページについて処理が完了したか否か判断する(S713)。全てのページについて描画処理が完了していなければ(S713/NO)、描画処理部226は、S710からの処理を繰り返し、全てのページについて描画処理が完了したら(S713/YES)、そのまま処理を終了する。このような処理により、本実施形態に係るPDLアプリケーション200の動作が完了する。
If the drawing processing for all objects included in one page is completed (S711 / YES), the
このような処理の結果、図7に示す従来技術の期間T1やT2のように、描画処理部226において待機時間が発生しないように並列処理が効率的に実行され、図8の期間T3として示すように、3ページ目の描画処理が完了するまでの時間を従来技術よりも短縮させることができる。
As a result of such processing, as in the period T 1 and T 2 of the prior art shown in FIG. 7, the parallel processing so that the waiting time will not occur in the
また、従来技術においては、ページ単位で処理を区切っているため、描画処理部226が1ページ目の描画処理を開始するタイミングは、1ページ目のディスプレイリストが完全に生成されたタイミング、即ち、図8に示すタイミングt3であった。これに対して、本実施形態に係るPDLアプリケーション200は、ディスプレイリストの生成処理及び描画処理をオブジェクト毎に区切って並列化するため、1ページ目に含まれるオブジェクトのうち、最初の1つ目のオブジェクトのディスプレイリストが生成されたタイミング、即ち図8に示すタイミングt1から、描画処理部226が描画処理を開始することができる。これにより、処理の並列化が更に促進され、処理効率を向上することができる。
In the prior art, since the processing is divided in units of pages, the timing at which the
また、本実施形態に係るPDLアプリケーションにおいては、DL処理部222がディスプレイリストを生成して中間データ記憶部225に記憶させる際、レンダラとして動作している複数の描画処理部226の処理状況を確認し、描画処理部226による処理を待っているディスプレイリスト、即ち中間データ記憶部225に未処理の状態で残っているディスプレイリストが多い場合は、負荷分散を実行してDL形式変換部224に情報形式の変換を実行させることにより、描画処理部226の負荷を軽減する。
In the PDL application according to the present embodiment, when the
これにより、DL処理部222がディスプレイリストを生成して中間データ記憶部225に記憶させるスピードに描画処理部226の処理スピードが追いつかなくなり、DL処理部222側に待機時間が発生することを防ぐことができる。
This prevents the processing speed of the
以上説明したように、本実施形態に係る画像形成装置1においては、複数の演算手段を有する画像形成装置において、画像形成出力を実行するための画像処理を適切に並列化し、処理効率を向上することが可能となる。
As described above, in the
尚、上記実施形態においては、図1に示すように、クアッドコアのCPU10を用いる場合を例として説明したが、特にこれに限定されるものではなく、トリプルコア、デュアルコア若しくは5個以上のコアを有するCPUに適用しても良い。
In the above embodiment, as shown in FIG. 1, the case where a quad-
また、上記実施形態においては、図5に示すように、第1コア11による制御によって描画情報の生成を行う中間データ処理部222と、第2コア12〜第4コア14による制御によって描画情報の生成を行う描画処理部226とを別々のブロックとして示した。しかしながら、描画情報の生成処理のうち、スキャンライン変換や、カラーマッチング等の途中の処理については、第1コア11〜第4コア14のいずれが実行しようとも同一の処理であり、中間データ処理部222及び描画処理部226を実現するためのソフトウェァ・プログラムは同一のものとすることができる。更には、ソフトウェア・プログラムに含まれるモジュールとしては、単一のモジュールが含まれるのみで、第1コア11、第2コア12のいずれが制御するかによって、中間データ処理部222若しくは描画処理部226として機能するように構成することも可能である。この場合においても、第1コア11及び第2コア12夫々によって制御されることによって並行して機能が実現されるため、画像形成装置1内部には、第1の描画情報生成部と第2の描画情報生成部とが構成されることとなる。
In the above embodiment, as shown in FIG. 5, the intermediate
また、上記実施形態においては、図7のS704において、DL処理部222が負荷指数算出部223に記憶されている前サイクル負荷指数を参照して描画処理部226の待機処理量を算出し、S705においてその待機処理量に基づいて負荷分散の態様を決定する例を説明した。この他、DL処理部222は、中間データ記憶部225に未処理として残っている情報量を参照するようにしても良い。これによっても、待機処理量を判断することができ、上記と同様の効果を得ることができる。
In the above embodiment, the
尚、中間データ記憶部225に未処理として残っている情報量を参照する方法は、描画処理部226の処理の仕様によって異なる。例えば、処理が完了したオブジェクトのデータが即座に中間データ記憶部225から削除されるような仕様であれば、DL処理部222は、中間データ記憶部225に記憶されているオブジェクトのデータの容量に基づいて待機処理量を判断することができる。他方、処理が完了してから中間データ記憶部225から削除されるまでに時間的に差がある場合、上記方法では待機処理量を正確に判断することができない。この場合、描画処理部226が夫々のオブジェクトについて描画処理を実行する度に、実行した処理を示すフラグを中間データ記憶部に書き込むことにより、DL処理部222は、上記フラグを参照して待機処理量を判断することができる。
The method for referring to the amount of information remaining as unprocessed in the intermediate
尚、図8の例においては、第2コア12〜第4コア14の処理時間が同等である理想的な場合を例として説明しているが、第2コア12〜第4コア14の処理時間の間に若干の差が生じる場合もあり得る。これは、各コアが夫々のバンド毎に割り当てられており、夫々のバンドに含まれるオブジェクトが異なるためである。この場合、DL処理部222が描画処理部226の処理状況を判断する際は、第2コア12〜第4コア14の中で一番進捗の悪いコア、一番進捗の良いコア、または各コアの平均の進捗を参照して待機処理量を判断することができる。
In the example of FIG. 8, an ideal case where the processing times of the
また、本実施形態に係る描画コアモジュール220においては、夫々の描画処理部226が、中間データ記憶部225に記憶されているデータを共有することができる。これにより、同一のオブジェクトについての描画処理を複数のコアで分割することが可能となる。例えば、上述したように、第4コア14がベクターCについての描画処理を先に開始した場合、第3コア13は、第4コア14によって処理されたベクターCについてのデータを利用してベクターCのうちバンド1に含まれる部分の描画情報を生成することができる。その結果、上述したように、各バンドに含まれるオブジェクトが異なるために、各コアの処理時間に生じる差異を低減することができる。そのような例について、図9(a)〜(e)及び図10(a)〜(d)を参照して説明する。
In the
図9(a)〜(e)は、描画処理部226による描画処理の例として、図6に示すベクターCのスキャンライン変換処理の各段階を示す図である。ベクターデータのベジエ曲線は、端点及び制御点の座標データによって構成されている。図9(a)は、ベジエ曲線を構成する点として端点P0、P3及び制御点P1、P2を有する場合のプロット例である。
FIGS. 9A to 9E are diagrams showing each stage of the scan line conversion process of the vector C shown in FIG. 6 as an example of the drawing process by the
図9(b)は、図9(a)に示すような端点及び制御点について曲線のパスを描画した図である。端点及び制御点から曲線のパスを描画する方法は公知の方法であり詳細な説明を省略するが、隣接する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 well-known method and will not be described in detail. However, a line segment connecting two adjacent points is divided at an arbitrary ratio to draw a point. One point on the path is obtained by obtaining a point that further divides the connecting line segment at the same rate. A point indicating a curved path is drawn by repeating the same processing while changing the arbitrary ratio. As shown in FIG. 9B, the process of drawing a curved path is a path creation process that is the first stage of scanline 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 process of filling pixels surrounded by the pass 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)に示すように、オブジェクトの切り出しを行う。 When the FILL process is completed, an image clipping process is executed based on the set clip, as shown in FIG. As described above, the clip information of each band is included in the band management data. Accordingly, in each drawing process, each drawing unit refers to the clip information included in the band management data, and cuts out an object as shown in FIG.
上記実施形態の場合、まずバンド2に対応した第4コア14によって制御される描画処理部226がベクターCの描画処理を実行する。従って第4コア14によって制御された描画処理部226は、図9(a)〜(e)の処理を実行し、図9(e)の処理においてバンド2に対応する部分を切り出す。また、第4コア14によって制御された描画処理部226は、図9(d)の段階まで処理された情報を描画キャッシュとして中間データ記憶部225に記憶させる。
In the case of the above-described embodiment, the
これにより、バンド1に対応する第3コア13によって制御された描画処理部226がベクターCの描画処理を実行する場合は、中間データ記憶部225に記憶された描画キャッシュを用いることにより、図9(a)〜(d)までの処理を省略し、図9(e)の切り出し処理のみを実行することにより、ベクターCの描画処理を完了することができる。尚、第3コア13がベクターCの描画処理として図9(e)の切り出し処理を実行する場合は、バンド1に対応する部分を切り出す。
Accordingly, when the
図10(a)〜(d)は、描画処理部226による描画処理の例として、図6に示すイメージAの描画処理の各段階を示す図である。イメージデータは、一般的に図10(a)に示すようにRGB形式のデータとして構成されている。図10(b)は、図10(a)に示すRGB形式のデータに対してカラーマッチング処理を施した状態を示す図である。
FIGS. 10A to 10D are diagrams illustrating each stage of the drawing process of the image A illustrated in FIG. 6 as an example of the drawing process performed by the
カラーマッチング処理が完了すると、次に、図10(c)に示すように、RGB形式からCMYK形式への変換処理が実行される。CMYKへの変換処理により、RGB形式のイメージデータは、CMYK夫々のカラーデータに変換される。CMYK変換処理が完了すると、次に、図9(d)に示すように、CMYK各値の総量規制処理が実行される。これにより、イメージデータの描画処理が完了する。 When the color matching processing is completed, next, conversion processing from the RGB format to the CMYK format is executed as shown in FIG. The RGB format image data is converted into CMYK color data by the conversion process to CMYK. When the CMYK conversion process is completed, next, as shown in FIG. 9D, the total amount restriction process for each CMYK value is executed. This completes the image data drawing process.
このようなイメージデータの処理を分散する場合、例えば、第2コア12がカラーマッチング処理、第3コア13がCMYK変換処理、第4コア14が総量規制処理というように処理を割り振ることができる。また、RGBデータは、ベクターデータとは異なり、部分毎に分割可能なデータであるため、各コアが夫々の部分毎にカラーマッチング、CMYK変換、総量規制の処理を行うようにしても良い。
When distributing such image data processing, for example, the
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 DL処理部、
223 負荷指数算出部、
224 DL形式変換部、
225 中間データ記憶部、
226 描画処理部、
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 core module I / F,
222 DL processing unit,
223 load index calculation unit,
224 DL format converter,
225 intermediate data storage unit,
226 drawing processing unit,
Claims (13)
ページ記述言語に基づいて得られた描画命令を取得する描画命令取得部と、
出力すべき画像に含まれる図形を記述する図形情報を前記描画命令に基づいて取得する図形情報取得部と、
前記取得された図形情報を記憶媒体に記憶させる図形情報記憶処理部と、
前記記憶された図形情報に基づいて前記図形を描画するための描画情報を生成する描画処理部と、
前記図形情報が前記記憶媒体に記憶される際に、前記描画情報を生成する描画処理の進度を確認する描画処理進度確認部と、
前記進度が低いことが確認された場合、前記図形情報の情報形式を変換して前記描画処理部において実行される処理量を軽減する情報変換部とを含むことを特徴とする画像形成装置。 An image forming apparatus capable of executing image processing for executing image formation output by a plurality of arithmetic means,
A drawing command acquisition unit for acquiring a drawing command obtained based on the page description language;
A graphic information acquisition unit that acquires graphic information describing a graphic included in an image to be output based on the drawing command;
A graphic information storage processing unit for storing the acquired graphic information in a storage medium;
A drawing processing unit for generating drawing information for drawing the figure based on the stored figure information;
When the graphic information is stored in the storage medium, a drawing processing progress confirmation unit for confirming the progress of the drawing processing for generating the drawing information;
An image forming apparatus comprising: an information conversion unit that converts an information format of the graphic information to reduce a processing amount executed in the drawing processing unit when it is confirmed that the progress is low.
前記描画処理進度確認部は、前記算出された処理量に基づいて前記描画処理の進度を確認することを特徴とする請求項1または2に記載の画像形成装置。 A processing amount calculation unit that calculates a processing amount of processing for generating the drawing information based on the graphic information stored in the storage medium;
The image forming apparatus according to claim 1, wherein the drawing processing progress confirmation unit confirms the progress of the drawing processing based on the calculated processing amount.
描画命令取得部が、ページ記述言語に基づいて得られた描画命令を取得し、
図形情報取得部が、出力すべき画像に含まれる図形を記述する図形情報を前記描画命令に基づいて取得し、
図形情報記憶処理部が、前記取得された図形情報を記憶媒体に記憶させ、
描画処理部が、前記記憶された図形情報に基づいて前記図形を描画するための描画情報を生成し、
描画処理進度確認部が、前記図形情報が前記記憶媒体に記憶される際に、前記描画情報を生成する描画処理の進度を確認し、
情報変換部が、前記進度が低いことが確認された場合、前記図形情報の情報形式を変換して前記描画処理部において実行される処理量を軽減することを特徴とする画像形成方法。 An image forming method for executing image processing for executing image forming output by a plurality of arithmetic means,
The drawing command acquisition unit acquires a drawing command obtained based on the page description language,
A graphic information acquisition unit acquires graphic information describing a graphic included in an image to be output based on the drawing command,
A graphic information storage processing unit stores the acquired graphic information in a storage medium,
A drawing processing unit generates drawing information for drawing the graphic based on the stored graphic information,
A drawing process progress confirmation unit confirms the progress of the drawing process for generating the drawing information when the graphic information is stored in the storage medium,
An image forming method characterized in that, when it is confirmed that the progress is low, the information conversion unit converts an information format of the graphic information to reduce a processing amount executed in the drawing processing unit.
ページ記述言語に基づいて得られた描画命令を取得するステップと、
出力すべき画像に含まれる図形を記述する図形情報を前記描画命令に基づいて取得するステップと、
前記取得された図形情報を記憶媒体に記憶させるステップと、
前記記憶された図形情報に基づいて前記図形を描画するための描画情報を生成するステップと、
前記図形情報が前記記憶媒体に記憶される際に、前記描画情報を生成する描画処理の進度を確認するステップと、
前記進度が低いことが確認された場合、前記図形情報の情報形式を変換して前記描画処理部において実行される処理量を軽減するステップとを前記画像形成装置に実行させることを特徴とする制御プログラム。 A control program for controlling an image forming apparatus capable of executing image processing for executing image forming output by a plurality of arithmetic means,
Obtaining drawing commands obtained based on the page description language;
Obtaining graphic information describing a graphic included in an image to be output based on the drawing command;
Storing the acquired graphic information in a storage medium;
Generating drawing information for drawing the graphic based on the stored graphic information;
Checking the progress of a drawing process for generating the drawing information when the graphic information is stored in the storage medium;
Control that causes the image forming apparatus to execute the step of reducing the amount of processing executed in the drawing processing unit by converting the information format of the graphic information when the progress is confirmed to be low program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009202723A JP2011053944A (en) | 2009-09-02 | 2009-09-02 | Image forming device, image forming method, and control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009202723A JP2011053944A (en) | 2009-09-02 | 2009-09-02 | Image forming device, image forming method, and control program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011053944A true JP2011053944A (en) | 2011-03-17 |
Family
ID=43942874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009202723A Pending JP2011053944A (en) | 2009-09-02 | 2009-09-02 | Image forming device, image forming method, and control program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011053944A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014164551A (en) * | 2013-02-26 | 2014-09-08 | Renesas Electronics Corp | Image processing LSI and image processing program |
JP2017170841A (en) * | 2016-03-25 | 2017-09-28 | コニカミノルタ株式会社 | Image formation apparatus and image formation control method |
US9785871B2 (en) | 2011-09-20 | 2017-10-10 | Fuji Xerox Co., Ltd. | Print control device and non-transitory computer readable medium |
-
2009
- 2009-09-02 JP JP2009202723A patent/JP2011053944A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9785871B2 (en) | 2011-09-20 | 2017-10-10 | Fuji Xerox Co., Ltd. | Print control device and non-transitory computer readable medium |
JP2014164551A (en) * | 2013-02-26 | 2014-09-08 | Renesas Electronics Corp | Image processing LSI and image processing program |
US9672643B2 (en) | 2013-02-26 | 2017-06-06 | Renesas Electronics Corporation | Image processing LSI and image processing program |
US10096135B2 (en) | 2013-02-26 | 2018-10-09 | Renesas Electronics Corporation | Image processing LSI and image processing program |
JP2017170841A (en) * | 2016-03-25 | 2017-09-28 | コニカミノルタ株式会社 | Image formation apparatus and image formation control method |
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 | |
US8842325B2 (en) | Image processing apparatus, control method thereof, and storage medium | |
JP5051327B1 (en) | Image processing apparatus and program | |
JP5171461B2 (en) | Information processing apparatus, information processing method, information processing system, and program | |
JP5655590B2 (en) | Image forming apparatus, image forming apparatus control method, and image forming apparatus control program | |
EP3021567B1 (en) | Image processing apparatus, method for performing specific process, computer-readable storage medium for computer program | |
US20100177342A1 (en) | Image forming apparatus and control method thereof | |
JP2013052615A (en) | Image forming apparatus, program and method for controlling drawing processing | |
JP5391980B2 (en) | Image forming apparatus, image forming apparatus control method, and control program | |
JP2011053944A (en) | Image forming device, image forming method, and control program | |
JP2017024321A (en) | Image processor, image formation device, and image processing time prediction method and program | |
US9069507B2 (en) | Print server, printing system, and computer program product configured to send print data to an image forming apparatus based on obtained designation of the image forming apparatus | |
JP2011201146A (en) | Image processing device and image processing program | |
JP2010282489A (en) | Image forming device, control method, and control program | |
JP2020110926A (en) | Image formation apparatus, control method of image formation apparatus, image formation system and program | |
JP2011143576A (en) | Print data generator, image forming apparatus and program | |
US8437046B2 (en) | Image processing apparatus and method for outputting an image subjected to pseudo-halftone processing | |
JP2011083914A (en) | Image forming apparatus and method and program for controlling the same | |
JP2016035639A (en) | Image forming apparatus, control method of image forming apparatus, and control program | |
JP2011051141A (en) | Image forming apparatus, image processing method, and controlling program | |
JP6264757B2 (en) | Image forming apparatus, image forming system, image forming apparatus control method, and image forming apparatus control program | |
JP5202265B2 (en) | Image processing apparatus, program, and control method for image processing apparatus | |
US20150271362A1 (en) | Image processing apparatus, image processing method, and non-transitory recording medium storing image processing program | |
JP6168311B2 (en) | Image forming apparatus, image forming system, and image forming method | |
JP2012161993A (en) | Image forming apparatus, drawing information generation circuit, and image processing control system |