JP2011095845A - Information processor, control method of the same, and computer program - Google Patents

Information processor, control method of the same, and computer program Download PDF

Info

Publication number
JP2011095845A
JP2011095845A JP2009246845A JP2009246845A JP2011095845A JP 2011095845 A JP2011095845 A JP 2011095845A JP 2009246845 A JP2009246845 A JP 2009246845A JP 2009246845 A JP2009246845 A JP 2009246845A JP 2011095845 A JP2011095845 A JP 2011095845A
Authority
JP
Japan
Prior art keywords
job
intermediate data
unit
abstraction
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009246845A
Other languages
Japanese (ja)
Inventor
Tomio Masuyama
富夫 増山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2009246845A priority Critical patent/JP2011095845A/en
Publication of JP2011095845A publication Critical patent/JP2011095845A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processor that properly distributes load to generation of intermediate data based on a drawing command and generation of a page image based on the intermediate data. <P>SOLUTION: The information processor includes a job generation processing section 11 for generating job data based on the input drawing command and storing it in a job queue 12, and a job drawing section 2 having an H/W renderer 23 for generating an page image to be printed based on the job data stored in the job queue 12. The job generation processing section 11 selects, based on the load state of the job queue 12 and the load state of the job drawing section 2, one of first and second abstraction degrees of the job data, and generates the job data corresponding to the selected abstraction degree. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、情報処理装置、情報処理装置の制御方法、及びコンピュータプログラムに関する。   The present invention relates to an information processing apparatus, a control method for the information processing apparatus, and a computer program.

多機能化されたレーザービームプリンタやインクジェットプリンタが提案されている。例えば、各種のPDL(Page Description Language )をサポートするプリンタが増えている。これらのプリンタは、ホストコンピュータやインターネットなどからPDF(Portable Document Format:米国Adobe Systems社の登録商標)などのPDLデータを受け取る。PDLデータを受け取ったプリンタは、PDLインタープリタプログラムによりPDLデータを解釈し、描画命令(文字、グラフィックス、及び画像)に分解する。そして、プリンタは、分解によって生成した描画命令をレンダリングシステムに入力する。レンダリングシステムは、各描画命令を解釈し、文字、グラフィックス及び画像の描画処理を実行し、画像データを生成する。プリンタは、生成された画像データを印刷に適した形式に変換(RGBからCMYKへの変換、ハーフトーン処理等)した後、画像データをプリンタエンジンに送り、印刷処理を実行させる。   Multifunctional laser beam printers and inkjet printers have been proposed. For example, an increasing number of printers support various PDL (Page Description Language). These printers receive PDL data such as PDF (Portable Document Format: a registered trademark of Adobe Systems Inc., USA) from a host computer or the Internet. The printer that has received the PDL data interprets the PDL data by the PDL interpreter program and decomposes it into drawing commands (characters, graphics, and images). Then, the printer inputs the drawing command generated by the decomposition to the rendering system. The rendering system interprets each rendering command, executes rendering processing of characters, graphics, and images, and generates image data. The printer converts the generated image data into a format suitable for printing (conversion from RGB to CMYK, halftone processing, etc.), and then sends the image data to the printer engine to execute the printing process.

図11は、レンダリングシステムの構成例を示す図である。レンダリングシステム200に、文字、グラフィックス、及び画像などの描画命令が入力されると、レンダリングシステム200が備えるジョブ生成部201が、この描画命令を解釈し、ジョブデータという中間データを生成する。ジョブ生成部201は、ジョブ描画部202の状態にかかわらず、所定の抽象度を持つジョブデータを生成する。ジョブ生成部201は、生成したジョブデータを1ページ分ずつバッファリングする。ジョブ生成部201は、1ページ分のジョブデータの生成が完了すると、このジョブデータをジョブ描画部202に渡す。ジョブ描画部202は、ジョブ生成部201から渡されたジョブデータを解析して、ページ画像に展開する。ページ画像は1ページ分の画像データである。   FIG. 11 is a diagram illustrating a configuration example of a rendering system. When rendering commands such as characters, graphics, and images are input to the rendering system 200, the job generation unit 201 included in the rendering system 200 interprets the rendering commands and generates intermediate data called job data. The job generation unit 201 generates job data having a predetermined abstract level regardless of the state of the job drawing unit 202. The job generation unit 201 buffers the generated job data for each page. When the generation of job data for one page is completed, the job generation unit 201 passes this job data to the job drawing unit 202. The job drawing unit 202 analyzes the job data passed from the job generation unit 201 and develops it into a page image. The page image is image data for one page.

なお、下記の特許文献1は、画像処理装置の処理ステータスに応じて、プリンタに出力する印刷データの出力形態を変化させる画像処理システムを開示している。また、下記の特許文献2は、印刷データ生成処理時に、データ処理負担を監視して、印刷装置に転送すべき印刷データの加工種別を切り換え制御するデータ処理装置を開示している。   Patent Document 1 below discloses an image processing system that changes the output form of print data output to a printer in accordance with the processing status of the image processing apparatus. Patent Document 2 below discloses a data processing device that monitors the data processing load and controls the processing type of print data to be transferred to the printing device during print data generation processing.

特開2006−155307号公報JP 2006-155307 A 特開平10−293659号公報Japanese Patent Laid-Open No. 10-293659

図12は、図11に示すレンダリングシステムが実行するジョブ描画処理に掛かる時間(描画時間)を示す図である。図中の901乃至905は、ジョブ生成部201が生成するジョブデータを示す。また、図中の906乃至909は、各々のジョブデータについてのジョブ描画処理に掛かる時間を示す。図11に示すレンダリングシステム200は、ジョブ描画部202の状態にかかわらず、所定の抽象度を持つジョブデータを生成するので、ジョブ描画処理に時間が掛かっていても、生成するジョブデータの抽象度を切替えない。その結果、ジョブ描画処理がボトルネックとなって、トータルの描画時間が長くなってしまう。   FIG. 12 is a diagram showing the time (drawing time) required for the job drawing process executed by the rendering system shown in FIG. In the figure, reference numerals 901 to 905 denote job data generated by the job generation unit 201. Further, reference numerals 906 to 909 in the figure indicate the time required for job drawing processing for each job data. Since the rendering system 200 shown in FIG. 11 generates job data having a predetermined abstraction level regardless of the state of the job drawing unit 202, even if the job drawing process takes time, the abstraction level of the job data to be generated Do not switch. As a result, the job drawing process becomes a bottleneck, and the total drawing time becomes long.

ここで、抽象度の異なる2種類のジョブデータ形式を持ち、いずれの抽象度に対応するジョブデータも描画できるレンダリングシステムが提案されている。このレンダリングシステムでは、抽象の高いジョブデータ形式の場合には、ジョブ生成部の負荷が軽くなるので高速にジョブ生成処理を実行できる一方で、ジョブ描画部の処理(ジョブ描画処理)が遅くなるという問題がある。また、抽象度の低いジョブデータ形式の場合には、描画命令は実際に生成されるピクセルに近い形式まで噛み砕かれているので、ジョブ描画処理は高速に処理できる一方、ジョブ生成部の負荷が高くなり、ジョブ生成処理が遅くなる。   Here, there has been proposed a rendering system that has two types of job data formats with different levels of abstraction and can draw job data corresponding to any level of abstraction. In this rendering system, in the case of a job data format with high abstraction, the load of the job generation unit is reduced, so that job generation processing can be executed at high speed, while processing of the job drawing unit (job drawing processing) is delayed. There's a problem. In the case of a job data format with a low level of abstraction, the drawing command is broken up to a format close to the pixel that is actually generated, so that the job drawing process can be processed at high speed, while the load on the job generation unit is reduced. Increases and slows job generation processing.

レンダリングシステムが、上記2種類のジョブデータ形式のいずれかを持つジョブデータを生成する際に、入力された描画命令の複雑さのみに基づいて、ジョブデータの抽象度を切替えることが考えられる。例えば、描画命令が複雑であって、ジョブ描画処理が極端に遅くなることが予測される場合には、レンダリングシステムは、抽象度の低いジョブデータを生成してジョブ描画処理を高速に実行できるようにする。一方、描画命令が複雑でない場合には、レンダリングシステムは、抽象度の高いジョブデータを生成してジョブ生成処理を高速化する。   When the rendering system generates job data having one of the above two types of job data formats, it is conceivable to switch the abstraction level of the job data based only on the complexity of the input drawing command. For example, if the rendering command is complex and the job rendering process is expected to be extremely slow, the rendering system can generate job data with a low level of abstraction and execute the job rendering process at high speed. To. On the other hand, when the drawing command is not complicated, the rendering system generates job data with a high level of abstraction and speeds up the job generation process.

しかし、描画命令の複雑さのみに基づいてジョブデータの抽象度を切替えるレンダリングシステムでは、ジョブ描画部の負荷が軽い状態(ジョブ描画処理に余裕がある状態)においても、ジョブ生成部が抽象度の低いジョブデータを生成する場合がある。このような場合には、ジョブデータの生成がジョブ描画処理に間に合わなくなる。また、上記のレンダリングシステムでは、ジョブ描画部がビジー(Busy)状態であるにも関わらずジョブ生成部が抽象度の高いジョブデータを生成してしまう場合がある。このような場合には、ジョブ描画部の負荷が高くなってしまい、ジョブ描画処理に時間が掛かってしまうという問題がある。従って、上記のレンダリングシステムでは、ジョブ生成処理とジョブ描画処理との間の適切な負荷分散を行うことができず、その結果、効率的な印刷処理を実行できない。   However, in a rendering system that switches the level of abstraction of job data based only on the complexity of the rendering command, the job generation unit has a level of abstraction even when the job rendering unit is lightly loaded (the job rendering process has room). Low job data may be generated. In such a case, generation of job data is not in time for job drawing processing. In the above rendering system, the job generation unit may generate job data having a high abstraction level even though the job drawing unit is in a busy state. In such a case, there is a problem that the load of the job drawing unit becomes high and the job drawing process takes time. Therefore, in the above rendering system, appropriate load distribution cannot be performed between job generation processing and job drawing processing, and as a result, efficient print processing cannot be executed.

本発明は、描画命令に基づく中間データの生成処理と、中間データに基づくページ画像の生成処理との間の適切な負荷分散を行う情報処理装置の提供を目的とする。   An object of the present invention is to provide an information processing apparatus that performs appropriate load distribution between intermediate data generation processing based on a rendering command and page image generation processing based on intermediate data.

本発明の一実施形態の情報処理装置は、入力される描画命令に基づいて中間データを生成して所定の記憶手段に格納する中間データ生成手段と、前記記憶手段に格納された中間データに基づいて、印刷対象のページ画像を生成する画像生成手段とを備える。前記中間データ生成手段は、前記記憶手段の負荷状態と前記画像生成手段の負荷状態とに基づいて、前記中間データについての第1、第2の抽象度のうち、1つの抽象度を選択し、選択した抽象度に対応する中間データを生成する。   An information processing apparatus according to an embodiment of the present invention includes an intermediate data generation unit that generates intermediate data based on an input drawing command and stores the intermediate data in a predetermined storage unit, and the intermediate data stored in the storage unit And an image generation means for generating a page image to be printed. The intermediate data generation unit selects one abstraction level from the first and second abstraction levels for the intermediate data based on the load state of the storage unit and the load state of the image generation unit, Intermediate data corresponding to the selected abstraction level is generated.

本発明の情報処理装置によれば、描画命令に基づく中間データの生成処理と、中間データに基づくページ画像の生成処理との間の適切な負荷分散を行うことができる。その結果、印刷データについての描画のスループットを向上させることが可能になる。   According to the information processing apparatus of the present invention, it is possible to perform appropriate load distribution between intermediate data generation processing based on a rendering command and page image generation processing based on intermediate data. As a result, it is possible to improve the drawing throughput of the print data.

本発明の第1の実施形態の情報処理装置の構成を示す図である。It is a figure which shows the structure of the information processing apparatus of the 1st Embodiment of this invention. ジョブデータに対応する第1、第2の抽象度を説明する図である。It is a figure explaining the 1st, 2nd abstraction level corresponding to job data. ジョブ生成処理フローを示す図である。It is a figure which shows the job generation processing flow. ジョブキュー管理処理フローを示す図である。It is a figure which shows the job queue management processing flow. ジョブデータの受信処理フローを示す図である。It is a figure which shows the reception processing flow of job data. ジョブ描画処理フローを示す図である。It is a figure which shows the job drawing process flow. 第1の実施形態の情報処理装置の適用の効果を説明する図である。It is a figure explaining the effect of application of the information processor of a 1st embodiment. 第2の実施の形態の情報処理装置の構成を示す図である。It is a figure which shows the structure of the information processing apparatus of 2nd Embodiment. ジョブ生成処理フローを示す図である。It is a figure which shows the job generation processing flow. ジョブキュー管理処理フローを示す図である。It is a figure which shows the job queue management processing flow. レンダリングシステムの構成例を示す図である。It is a figure which shows the structural example of a rendering system. レンダリングシステムが実行するジョブ描画処理に掛かる時間を示す図である。It is a figure which shows the time concerning the job drawing process which a rendering system performs.

図1は、本発明の第1の実施形態の情報処理装置の構成を示す図である。図1に示す情報処理装置は、例えば印刷制御装置であって、入力された描画命令を処理して印刷対象のページ画像を生成する。入力される描画命令は、例えば、PDLデータ等の、ページに配置されるオブジェクトを含む印刷データに対応する描画命令である。情報処理装置は、描画命令に基づいて、中間データであるジョブデータをページ単位に生成するジョブ生成部1と、ジョブデータに基づいて、ページ画像を生成するジョブ描画部2とを備える。図1中のJobNが、ジョブ生成部1により生成されたジョブデータを示す。ジョブ生成部1は、生成したジョブデータを所定の記憶手段であるジョブキュー12にキューイング(登録)する。ジョブ生成部1とジョブ描画部2とは、互いに独立したハードウェア上で動作する。   FIG. 1 is a diagram illustrating the configuration of the information processing apparatus according to the first embodiment of this invention. The information processing apparatus illustrated in FIG. 1 is, for example, a print control apparatus, and processes an input drawing command to generate a page image to be printed. The input drawing command is a drawing command corresponding to print data including an object arranged on a page, such as PDL data. The information processing apparatus includes a job generation unit 1 that generates job data, which is intermediate data, in units of pages based on a drawing command, and a job drawing unit 2 that generates a page image based on job data. JobN in FIG. 1 indicates job data generated by the job generation unit 1. The job generation unit 1 queues (registers) the generated job data in a job queue 12 which is a predetermined storage unit. The job generation unit 1 and the job drawing unit 2 operate on hardware independent from each other.

ジョブ生成部1は、ジョブ生成処理部11、ジョブキュー12、ステータス管理部13を備える。ジョブ生成処理部11、ステータス管理部13は、情報処理装置全体を制御する制御装置であるCPU(Central Processing Unit )の指示に従って、それぞれの処理を実行する。ジョブ生成処理部11は、中間データ生成手段として機能する。例えば、ジョブ生成処理部11は、ジョブ生成部1に入力された描画命令を受け取る。また、ジョブ生成処理部11は、ステータス管理部13からステータス管理情報を受け取る。ステータス管理情報は、ジョブキュー12の負荷状態を示す情報とジョブ描画部2の負荷状態を示す情報とを含む。ジョブ生成処理部11は、ステータス管理情報に含まれるジョブキュー12の負荷状態を示す情報とジョブ描画部2の負荷状態を示す情報とに基づいて、ジョブデータについての第1、第2の抽象度のうち、1つの抽象度を選択する。そして、描画命令に基づいて、上記選択した抽象度に対応するジョブデータを生成する(ジョブ生成処理を実行する)。ジョブ生成処理部11は、生成したジョブデータをジョブキュー12に格納する。なお、ジョブ生成処理部11が、ステータス管理情報に基づいて、2種類以上の任意の種類の抽象度のうち、1つの抽象度を選択するようにしてもよい。   The job generation unit 1 includes a job generation processing unit 11, a job queue 12, and a status management unit 13. The job generation processing unit 11 and the status management unit 13 execute respective processes in accordance with instructions from a CPU (Central Processing Unit) that is a control device that controls the entire information processing apparatus. The job generation processing unit 11 functions as intermediate data generation means. For example, the job generation processing unit 11 receives a drawing command input to the job generation unit 1. In addition, the job generation processing unit 11 receives status management information from the status management unit 13. The status management information includes information indicating the load state of the job queue 12 and information indicating the load state of the job drawing unit 2. The job generation processing unit 11 performs first and second abstraction levels on job data based on information indicating the load state of the job queue 12 and information indicating the load state of the job drawing unit 2 included in the status management information. Among them, one abstraction level is selected. Then, based on the rendering command, job data corresponding to the selected abstraction level is generated (job generation processing is executed). The job generation processing unit 11 stores the generated job data in the job queue 12. Note that the job generation processing unit 11 may select one abstraction level from two or more types of abstraction levels based on the status management information.

ジョブキュー12は、ジョブ生成処理部11が生成したページ単位のジョブデータをFirst−In First−Out(先入れ先出し方式)で管理する。図1中のJob3乃至5が、ジョブキュー12に登録されているジョブデータを示す。ジョブ生成部1は、ジョブキューに登録したジョブデータを、ジョブ描画部2がレディ(Ready)状態になる度に、先に登録されたものから順にジョブ描画部2に送信する。ステータス管理部13は、ジョブキュー12の(負荷)状態とジョブ描画部2の(負荷)状態を監視して、上述したステータス管理情報を取得する。ステータス管理部13は、取得したステータス管理情報をジョブ生成処理部11に渡す。ここでジョブキューの状態は、下記の3種類からなる。「Full」は、ジョブキューが満杯でこれ以上ジョブを受け付けられない状態(フル状態)である。「Empty」は、ジョブキューにジョブが一つも登録されていない状態である。「その他」は、上記のいずれでもない状態である。また、ジョブ描画部2の状態は、ジョブデータの受信処理(後述)において、ジョブバッファ21の状態とH/Wレンダラ23の状態に基づいて決定され、以下の2つの状態を持つ。「Busy」は、ジョブバッファ21がFullかつH/Wレンダラ23が動作中であり、ジョブの受け入れは不可の状態(ビジー状態)である。「Ready」は、ジョブバッファ21に余裕があり、ジョブを受け入れ可能な状態である。ジョブ描画部2のジョブバッファ21の状態も下記の3種類からなる。「Full」は、ジョブバッファ21が満杯で、これ以上ジョブを受け付けられない状態である。「Empty」は、ジョブバッファ21にジョブが一つも登録されていない状態である。「その他」は、上記のいずれでもない状態である。また、H/Wレンダラ23の状態は、下記のいずれかである。「Busy」は、描画中の状態である。「Ready」は、描画を行っていない状態である。   The job queue 12 manages the job data in units of pages generated by the job generation processing unit 11 using First-In First-Out (first-in first-out method). Jobs 3 to 5 in FIG. 1 indicate job data registered in the job queue 12. The job generation unit 1 transmits the job data registered in the job queue to the job drawing unit 2 in order from the previously registered job data every time the job drawing unit 2 enters a ready state. The status management unit 13 monitors the (load) state of the job queue 12 and the (load) state of the job drawing unit 2, and acquires the above-described status management information. The status management unit 13 passes the acquired status management information to the job generation processing unit 11. Here, the job queue status includes the following three types. “Full” is a state where the job queue is full and no more jobs can be accepted (full state). “Empty” is a state in which no job is registered in the job queue. “Other” is a state which is not any of the above. The state of the job drawing unit 2 is determined based on the state of the job buffer 21 and the state of the H / W renderer 23 in job data reception processing (described later), and has the following two states. “Busy” is a state where the job buffer 21 is full and the H / W renderer 23 is operating, and a job cannot be accepted (busy state). “Ready” is a state where the job buffer 21 has a margin and can accept a job. The state of the job buffer 21 of the job drawing unit 2 also includes the following three types. “Full” is a state in which the job buffer 21 is full and no more jobs can be accepted. “Empty” is a state in which no job is registered in the job buffer 21. “Other” is a state which is not any of the above. The state of the H / W renderer 23 is one of the following. “Busy” is a drawing state. “Ready” is a state in which drawing is not performed.

ジョブ描画部2は、ジョブバッファ21、ページバッファ22、H/Wレンダラ23を備え、画像生成手段として機能する。ジョブバッファ21は、ジョブ生成部1から送信されたジョブデータを1個保存する。図1中では、Job2がジョブバッファ21に保存されている。H/Wレンダラ23は、ジョブバッファ21に保存されたジョブデータ、すなわちジョブキュー12に格納された中間データに基づいて、印刷対象のページ画像を生成する。具体的には、H/Wレンダラ23は、ジョブバッファ21に保存されたジョブデータをジョブバッファ21から取り出す。そして、H/Wレンダラ23は、取り出したジョブデータについて描画処理を実行して、ページ画像を生成する(ジョブ描画処理を実行する)。H/Wレンダラ23は、生成したページ画像をページバッファ22に格納する。ページバッファ22には、ページ画像(図1中ではPage1)が格納される。ジョブ描画部2は、ページバッファに格納されたページ画像をプリンタエンジンに出力する。本実施形態の情報処理装置の制御方法及びそのコンピュータプログラムは、図1に示す情報処理装置が備える各処理部の機能によって実現される。   The job drawing unit 2 includes a job buffer 21, a page buffer 22, and an H / W renderer 23, and functions as an image generation unit. The job buffer 21 stores one job data transmitted from the job generation unit 1. In FIG. 1, Job 2 is stored in the job buffer 21. The H / W renderer 23 generates a page image to be printed based on job data stored in the job buffer 21, that is, intermediate data stored in the job queue 12. Specifically, the H / W renderer 23 retrieves job data stored in the job buffer 21 from the job buffer 21. Then, the H / W renderer 23 performs drawing processing on the extracted job data to generate a page image (executes job drawing processing). The H / W renderer 23 stores the generated page image in the page buffer 22. The page buffer 22 stores a page image (Page 1 in FIG. 1). The job drawing unit 2 outputs the page image stored in the page buffer to the printer engine. The information processing apparatus control method and the computer program thereof according to the present embodiment are realized by the functions of the processing units included in the information processing apparatus illustrated in FIG.

図2は、ジョブ生成処理部が生成するジョブデータに対応する第1、第2の抽象度を説明する図である。本実施形態において、第1の抽象度は、第2の抽象度よりも、抽象度が高いものとする。図2(A)は、第1の抽象度に対応するジョブデータ形式の例を示す。図2(A)中の301は、ジョブ生成部1に入力される描画命令を示す。描画命令301に従うと、グレーの台形3011、グラデーションの円3012、白の三角形3013の順で3つの図形が描画され、かつ、最上位の三角形3013が透過となる。この描画命令301に従って生成されるジョブデータは、描画図形を直線の線分に分割したセグメント情報、各々の図形の上下関係及び透過・論理演算を表すレベル情報(302乃至304)、及び、各図形の塗りを表す塗り情報(305乃至307)を含む。   FIG. 2 is a diagram illustrating the first and second abstraction levels corresponding to job data generated by the job generation processing unit. In the present embodiment, the first abstraction level is higher than the second abstraction level. FIG. 2A shows an example of a job data format corresponding to the first abstraction level. Reference numeral 301 in FIG. 2A denotes a drawing command input to the job generation unit 1. According to the drawing command 301, three figures are drawn in the order of a gray trapezoid 3011, a gradation circle 3012, and a white triangle 3013, and the uppermost triangle 3013 is transparent. The job data generated in accordance with the drawing command 301 includes segment information obtained by dividing the drawing figure into straight line segments, level information (302 to 304) indicating the vertical relationship and transparency / logical operation of each figure, and each figure. The paint information (305 to 307) representing the paint of the image is included.

第1の抽象度に対応するジョブデータ形式では、ジョブ描画部2が、セグメント情報から各線分上のピクセル位置を計算するエッジ・トラッキング処理を行う。また、ジョブ描画部2は、図形間の上下関係及び論理演算の処理を行うレベル処理を行う。その結果、ジョブ生成部1の負荷は小さくなって、ジョブ生成処理が高速化される一方で、ジョブ描画部2の負荷が大きくなってジョブ描画処理が遅くなる。   In the job data format corresponding to the first abstraction level, the job drawing unit 2 performs edge tracking processing for calculating pixel positions on each line segment from the segment information. In addition, the job drawing unit 2 performs level processing for processing the vertical relationship between figures and logical operations. As a result, the load on the job generation unit 1 is reduced and the job generation process is accelerated, while the load on the job drawing unit 2 is increased and the job drawing process is delayed.

図2(B)は、第2の抽象度に対応するジョブデータ形式の例を示す。図2(B)中の401は、ジョブ生成部1に入力される描画命令を示す。描画命令401に従うと、グラデーションの矩形4011の上に透過のグレーの矩形4012が描画される。描画命令401に従って生成されるジョブデータは、描画開始位置を表すエッジ情報402、各エッジにおける塗り及び塗り間の論理演算を表す論理演算情報403、及び塗り情報404を含む。エッジ情報402は、ピクセル単位での描画開始位置を表すデータである。図中の4021は、背景のエッジ、4022はグレーの矩形のエッジ、4023はグレーの矩形4012とグラデーション矩形4011の透過・重なり部分のエッジ、4024は、グラデーションの矩形の残り部分のエッジをそれぞれ表す。各エッジは、論理演算情報403を参照する。論理演算情報403は、塗り情報404を用いた論理演算(上書き、論理和など)の情報を含む。図中の4031乃至4034が各々の論理演算の情報を示す。例えば、4021のエッジは背景のみの論理演算情報4031を参照し、該論理演算情報は背景の塗り情報(白)4041を参照する。一方、エッジ4023は、グレー、グラデーション、及び背景の3つの要素を用いた論理演算の情報4033を参照する。そして、この論理演算の情報4033は、塗り情報404に含まれる、白4041、グレー4042、及びグラデーション4043を参照する。   FIG. 2B shows an example of a job data format corresponding to the second abstraction level. Reference numeral 401 in FIG. 2B denotes a drawing command input to the job generation unit 1. When the drawing command 401 is followed, a transparent gray rectangle 4012 is drawn on the gradation rectangle 4011. The job data generated in accordance with the drawing command 401 includes edge information 402 that represents the drawing start position, logical operation information 403 that represents a logical operation between paints at each edge, and paint information 404. The edge information 402 is data representing the drawing start position in pixel units. In the figure, reference numeral 4021 denotes a background edge, 4022 denotes a gray rectangular edge, 4023 denotes a transparent / overlapping edge of the gray rectangle 4012 and the gradation rectangle 4011, and 4024 denotes an edge of the remaining portion of the gradation rectangle. . Each edge refers to the logical operation information 403. The logical operation information 403 includes information on logical operations (overwriting, logical sum, etc.) using the paint information 404. Reference numerals 4031 to 4034 in the figure indicate information of each logical operation. For example, the edge of 4021 refers to the logical operation information 4031 for only the background, and the logical operation information refers to the background fill information (white) 4041. On the other hand, the edge 4023 refers to logical operation information 4033 using three elements of gray, gradation, and background. The logical operation information 4033 refers to white 4041, gray 4042, and gradation 4043 included in the paint information 404.

第2の抽象度に対応するジョブデータ形式では、ジョブ生成部1が、エッジ・トラッキング処理及びレベル処理を実行する。従って、ジョブ生成部1の負荷が大きくなって、ジョブ生成処理が遅くなる一方で、ジョブ描画部2の負荷が小さくなって、ジョブ描画処理が高速化される。   In the job data format corresponding to the second level of abstraction, the job generation unit 1 executes edge tracking processing and level processing. Accordingly, the load on the job generation unit 1 is increased and the job generation process is delayed, while the load on the job drawing unit 2 is reduced and the job drawing process is accelerated.

図3は、第1の実施の形態におけるジョブ生成処理フローを示す図である。まず、ジョブ生成処理部11が起動し、ジョブ生成処理部11が、1ページ分の描画命令を取得する(ステップS1)。次に、ジョブ生成処理部11が、ステータス管理部13を呼び出して、ステータス管理部13からステータス管理情報を取得する(ステップS2)。続いて、ジョブ生成処理部11が、ステータス管理情報に含まれるジョブキュー12の負荷状態を示す情報に基づいて、ジョブキュー12がFullであるかを判断する(ステップS3)。ジョブ生成処理部11が、ジョブキュー12がFullであると判断した場合は、ジョブ生成処理部11が、第2の抽象度を選択し、描画命令に基づいて第2の抽象度に対応する第2の中間データ形式のジョブデータを生成する(ステップS4)。そして、ジョブ生成処理部11は、生成したジョブデータをジョブキュー12の終端に登録する(ステップS5)。続いて、ジョブ生成処理部11が、全ページのジョブ生成処理が終了したかを判断する(ステップS6)。ジョブ生成処理部11が、全ページのジョブ生成処理が終了したと判断した場合は、処理を終了する。ジョブ生成処理部11が、ジョブ生成処理が終了していないページがあると判断した場合は、上記ステップS1に戻る。   FIG. 3 is a diagram illustrating a job generation processing flow according to the first embodiment. First, the job generation processing unit 11 is activated, and the job generation processing unit 11 acquires a drawing command for one page (step S1). Next, the job generation processing unit 11 calls the status management unit 13 and acquires status management information from the status management unit 13 (step S2). Subsequently, the job generation processing unit 11 determines whether the job queue 12 is full based on information indicating the load state of the job queue 12 included in the status management information (step S3). When the job generation processing unit 11 determines that the job queue 12 is full, the job generation processing unit 11 selects the second abstraction level and selects the second abstraction level corresponding to the second abstraction level based on the rendering command. 2 is generated (step S4). Then, the job generation processing unit 11 registers the generated job data at the end of the job queue 12 (step S5). Subsequently, the job generation processing unit 11 determines whether the job generation processing for all pages has been completed (step S6). If the job generation processing unit 11 determines that the job generation processing for all pages has been completed, the processing ends. If the job generation processing unit 11 determines that there is a page for which job generation processing has not been completed, the process returns to step S1.

上記ステップS3において、ジョブ生成処理部11が、ジョブキュー12がFullでない、すなわち、空きがあると判断した場合は、ジョブ生成処理部11は、以下の処理を行う。ジョブ生成処理部11は、ステータス管理情報に基づいて、ジョブ描画部2の状態がBusyであるかを判断する(ステップS7)。ジョブ生成処理部11が、ジョブ描画部2の状態がBusyであると判断した場合は、上記ステップS4に進む。ジョブ生成処理部11が、ジョブ描画部2の状態がBusyでないと判断した場合は、ジョブ生成処理部11は、以下の処理を行う。すなわち、ジョブ生成処理部11は、第1の抽象度を選択し、描画命令に基づいて第1の抽象度に対応する第1の中間データ形式のジョブデータを生成し(ステップS8)、上記ステップS5に進む。   In step S3, when the job generation processing unit 11 determines that the job queue 12 is not full, that is, there is an empty space, the job generation processing unit 11 performs the following processing. The job generation processing unit 11 determines whether the state of the job drawing unit 2 is Busy based on the status management information (Step S7). When the job generation processing unit 11 determines that the state of the job drawing unit 2 is Busy, the process proceeds to step S4. When the job generation processing unit 11 determines that the state of the job drawing unit 2 is not Busy, the job generation processing unit 11 performs the following processing. That is, the job generation processing unit 11 selects the first abstraction level, generates job data in the first intermediate data format corresponding to the first abstraction level based on the drawing command (step S8), and the above-described step Proceed to S5.

すなわち、ジョブ生成処理部11は、ジョブキュー12の状態がFullでなく(ステップS3でNo)、かつ、ジョブ描画部2の状態がBusyである場合に(ステップS7でYes)、以下の処理を行う。ジョブ生成処理部11は、生成するジョブデータに対応する抽象度として、第1、第2の抽象度のうち抽象度の低い方の抽象度である第2の抽象度を選択する(ステップS4)。その結果、ページ画像の生成処理の負荷が軽くなる。また、ジョブ生成処理部11は、ジョブキュー12の状態がFullでなく(ステップS3でNo)、かつ、ジョブ描画部2の状態がBusyでない場合に(ステップS7でNo)、以下の処理を行う。ジョブ生成処理部11は、生成するジョブデータに対応する抽象度として、第1、第2の抽象度のうち抽象度の高い方の抽象度である第1の抽象度を選択する(ステップS8)。その結果、ジョブデータの生成処理の負荷が軽くなる。従って、図3を参照して説明した第1の実施形態におけるジョブ生成処理によれば、描画命令に基づくジョブデータの生成処理と、ジョブデータに基づくページ画像の生成処理との間の適切な負荷分散を行うことが可能となる。   That is, when the job queue 12 is not Full (No in step S3) and the job drawing unit 2 is Busy (Yes in step S7), the job generation processing unit 11 performs the following processing. Do. The job generation processing unit 11 selects, as the abstraction level corresponding to the job data to be generated, the second abstraction level that is the lower abstraction level among the first and second abstraction levels (step S4). . As a result, the load of page image generation processing is reduced. In addition, when the job queue 12 is not Full (No in Step S3) and the job drawing unit 2 is not Busy (No in Step S7), the job generation processing unit 11 performs the following processing. . The job generation processing unit 11 selects, as the abstraction level corresponding to the job data to be generated, the first abstraction level that is the higher abstraction level among the first and second abstraction levels (step S8). . As a result, the load of job data generation processing is reduced. Therefore, according to the job generation process in the first embodiment described with reference to FIG. 3, an appropriate load between the job data generation process based on the rendering command and the page image generation process based on the job data. Dispersion can be performed.

図4は、第1の実施の形態におけるジョブキュー管理処理フローを示す図である。ジョブキュー管理処理は、図3を参照して説明したジョブ生成処理とは独立したスレッドとして実行され、ジョブキューの負荷状態を監視する処理である。ジョブキュー管理処理は、ジョブ生成処理部11によって実行される。まず、ジョブ生成処理部11が、ジョブキュー12がEmpty(空)かを判断する(ステップS1)。ジョブ生成処理部11が、ジョブキュー12が空である、すなわち、ジョブキュー12の中にジョブデータが存在していないと判断した場合は、ステップS11に戻る。ジョブ生成処理部11が、ジョブキュー12が空でない、すなわち、ジョブキュー12の中にジョブデータが存在していると判断した場合は、ジョブ生成処理部11は、ジョブ終了かを判断する(ステップS12)。ステップS12においては、ジョブ生成処理部11は、ジョブ生成処理部11に入力されるジョブが印刷の終了を示す終了ジョブであるかを判断し、ジョブが終了ジョブである場合には、ジョブ終了と判断する。   FIG. 4 is a diagram illustrating a job queue management process flow according to the first embodiment. The job queue management process is executed as a thread independent of the job generation process described with reference to FIG. 3 and monitors the load state of the job queue. The job queue management process is executed by the job generation processing unit 11. First, the job generation processing unit 11 determines whether the job queue 12 is Empty (step S1). If the job generation processing unit 11 determines that the job queue 12 is empty, that is, job data does not exist in the job queue 12, the process returns to step S11. When the job generation processing unit 11 determines that the job queue 12 is not empty, that is, job data exists in the job queue 12, the job generation processing unit 11 determines whether the job is finished (step S12). In step S12, the job generation processing unit 11 determines whether or not the job input to the job generation processing unit 11 is an end job indicating the end of printing. to decide.

ジョブ生成処理部11が、ジョブ終了であると判断した場合には、ジョブ生成処理部11は、ジョブキュー管理処理を終了する。ジョブ生成処理部11が、ジョブ終了でないと判断した場合には、ジョブ生成処理部11は、ジョブ描画部2がBusyであるかを判断する(ステップS13)。ジョブ生成処理部11が、ジョブ描画部2がBusyであると判断した場合は、上記ステップS13に戻る。ジョブ生成処理部11が、ジョブ描画部2がBusyでないと判断した場合は、ジョブ生成処理部11は、ジョブキュー12に登録されているジョブデータのうち、先頭のジョブデータを取り出してジョブ描画部2に出力する(ステップS14)。そして、ジョブ生成処理部11が、上記ステップS14において出力したジョブデータをジョブキュー12から削除する(ステップS15)。   If the job generation processing unit 11 determines that the job has ended, the job generation processing unit 11 ends the job queue management process. If the job generation processing unit 11 determines that the job has not ended, the job generation processing unit 11 determines whether the job drawing unit 2 is busy (step S13). If the job generation processing unit 11 determines that the job drawing unit 2 is busy, the process returns to step S13. If the job generation processing unit 11 determines that the job drawing unit 2 is not Busy, the job generation processing unit 11 extracts the first job data from the job data registered in the job queue 12 and extracts the job drawing unit. 2 (step S14). Then, the job generation processing unit 11 deletes the job data output in step S14 from the job queue 12 (step S15).

図5は、第1の実施の形態におけるジョブデータの受信処理フローを示す図である。ジョブ描画部2は以下のようにしてジョブデータの受信処理を実行する。まず、ジョブ描画部2は、ジョブバッファ21がFullであるかを判断する(ステップS21)。ジョブ描画部2は、ジョブバッファ21がFullでないと判断した場合は、ジョブ描画部2の状態をReadyに設定する(ステップS22)。続いて、ジョブ描画部2は、ジョブ生成部1から受信したジョブデータをジョブバッファ21に格納して(ステップS23)、ステップS21に戻る。上記ステップS21において、ジョブ描画部2が、ジョブバッファ21がFullであると判断した場合は、ジョブ描画部2は、H/Wレンダラ23が描画中であるか判断する(ステップS24)。ジョブ描画部2が、H/Wレンダラ23が描画中であると判断した場合、ジョブ描画部2は、ジョブ描画部2の状態をBusyに設定する(ステップS25)。ジョブ描画部2が、H/Wレンダラが描画中でないと判断した場合、ジョブ描画部2は、ジョブ描画部2の状態をReadyに設定し(ステップS26)、ステップS21に戻る。図5に示す処理フローを通じて設定されたジョブ描画部2の状態は、ステータス管理部13が取得するステータス管理情報に反映される。   FIG. 5 is a diagram illustrating a job data reception process flow according to the first embodiment. The job drawing unit 2 executes job data reception processing as follows. First, the job drawing unit 2 determines whether the job buffer 21 is full (step S21). If the job drawing unit 2 determines that the job buffer 21 is not Full, the job drawing unit 2 sets the state of the job drawing unit 2 to Ready (step S22). Subsequently, the job drawing unit 2 stores the job data received from the job generation unit 1 in the job buffer 21 (step S23), and returns to step S21. If the job drawing unit 2 determines in step S21 that the job buffer 21 is full, the job drawing unit 2 determines whether the H / W renderer 23 is drawing (step S24). If the job drawing unit 2 determines that the H / W renderer 23 is drawing, the job drawing unit 2 sets the state of the job drawing unit 2 to Busy (step S25). When the job drawing unit 2 determines that the H / W renderer is not drawing, the job drawing unit 2 sets the state of the job drawing unit 2 to Ready (step S26) and returns to step S21. The state of the job drawing unit 2 set through the processing flow shown in FIG. 5 is reflected in the status management information acquired by the status management unit 13.

図6は、第1の実施の形態におけるジョブ描画処理フローを示す図である。ジョブ描画処理は、図5を参照して説明したジョブデータの受信処理とは独立して実行される。まず、ジョブ描画部2が、ジョブバッファ21にジョブデータが存在するかを判断する(ステップS31)。ジョブ描画部2が、ジョブバッファ21にジョブデータが存在しないと判断した場合は、上記ステップS31に戻る。ジョブ描画部2が、ジョブバッファ21にジョブデータが存在すると判断した場合は、ジョブ描画部2が、ジョブバッファ21内のジョブデータをH/Wレンダラ23に渡す(ステップS32)。続いて、ジョブ描画部2が、H/Wレンダラ23によるジョブデータの描画処理、すなわちページ画像の生成処理が完了したかを判断する(ステップS33)。ジョブ描画部2が、ジョブデータの描画処理が完了していないと判断した場合は、上記ステップS33に戻る。ジョブ描画部2が、ジョブデータの描画処理が完了したと判断した場合は、ジョブ描画部2が、生成されたページ画像をページバッファ22に格納する(ステップS34)。そして、ジョブ描画部2が、ページバッファ22に格納したページ画像をジョブバッファ21から削除して(ステップS35)、上記ステップS31に戻る。   FIG. 6 is a diagram illustrating a job drawing process flow according to the first embodiment. The job drawing process is executed independently of the job data reception process described with reference to FIG. First, the job drawing unit 2 determines whether job data exists in the job buffer 21 (step S31). If the job drawing unit 2 determines that no job data exists in the job buffer 21, the process returns to step S31. If the job drawing unit 2 determines that job data exists in the job buffer 21, the job drawing unit 2 passes the job data in the job buffer 21 to the H / W renderer 23 (step S32). Subsequently, the job drawing unit 2 determines whether the job data drawing process by the H / W renderer 23, that is, the page image generation process has been completed (step S33). If the job drawing unit 2 determines that the job data drawing process has not been completed, the process returns to step S33. If the job drawing unit 2 determines that the job data drawing process has been completed, the job drawing unit 2 stores the generated page image in the page buffer 22 (step S34). Then, the job drawing unit 2 deletes the page image stored in the page buffer 22 from the job buffer 21 (step S35), and the process returns to step S31.

図7は、第1の実施形態の情報処理装置の適用の効果を説明する図である。図中の1001乃至1005は、ジョブ生成処理部11が生成するジョブデータを示す。また、図中の1006乃至1009は、各々のジョブデータについてのジョブ描画処理に掛かる時間を示す。第1の実施形態の情報処理装置が備えるジョブ生成部1は、例えば、Job3B、Job4Bの生成時に、ステータス管理情報に基づいて、ジョブ描画部2がBusyであると判断する。従ってジョブ生成部1は、Job3B、Job4Bを、抽象度の低い第2の抽象度で生成する。その結果、ジョブ描画部2によるJob3B、Job4Bについてのジョブ描画処理が高速化され、トータルでの描画処理時間が短くなる。   FIG. 7 is a diagram for explaining the effect of application of the information processing apparatus according to the first embodiment. Reference numerals 1001 to 1005 in the figure denote job data generated by the job generation processing unit 11. Also, reference numerals 1006 to 1009 in the figure indicate the time required for job drawing processing for each job data. For example, when generating Job3B and Job4B, the job generation unit 1 included in the information processing apparatus according to the first embodiment determines that the job drawing unit 2 is Busy based on the status management information. Accordingly, the job generation unit 1 generates Job3B and Job4B with the second abstraction level having a low abstraction level. As a result, the job drawing processing for Job 3B and Job 4B by the job drawing unit 2 is speeded up, and the total drawing processing time is shortened.

図8は、第2の実施の形態の情報処理装置の構成を示す図である。図8に示す情報処理装置が備える処理部のうち、図1に示す情報処理装置が備える処理部と同一の符号のものは、図1に示す情報処理装置が備える処理部と同様である。図8に示す情報処理装置は、ジョブ生成部3とジョブ描画部2とを備える。ジョブ生成部3は、ジョブキュー12、ステータス管理部13、ジョブ生成処理部14、CPU負荷管理部15を備える。   FIG. 8 is a diagram illustrating a configuration of the information processing apparatus according to the second embodiment. Among the processing units included in the information processing device illustrated in FIG. 8, the same reference numerals as those of the processing unit included in the information processing device illustrated in FIG. 1 are the same as the processing units included in the information processing device illustrated in FIG. 1. The information processing apparatus illustrated in FIG. 8 includes a job generation unit 3 and a job drawing unit 2. The job generation unit 3 includes a job queue 12, a status management unit 13, a job generation processing unit 14, and a CPU load management unit 15.

ジョブ生成処理部14は、ジョブ生成部1に入力された描画命令を受け取る。また、ジョブ生成処理部14は、ステータス管理部13から、前述したステータス管理情報を受け取る。また、ジョブ生成処理部14は、CPU負荷管理部15からCPUの負荷状態を示す情報を受け取る。CPUの負荷状態を示す情報は、例えば、CPU負荷率である。ジョブ生成処理部14は、ステータス管理情報とCPUの負荷状態を示す情報とに基づいて、ジョブデータについての第1、第2の抽象度のうち、1つの抽象度を選択する。そして、ジョブ生成処理部14は、描画命令に基づいて、上記選択した抽象度に対応するジョブデータを生成する。ジョブ生成処理部14が、更に、情報処理装置の動作モードが印刷処理を優先するモードであるかを判断し、該判断結果に基づいて、ジョブデータについての抽象度を選択するようにしてもよい。なお、情報処理装置の動作モードは、例えば、情報処理装置のユーザの操作入力に従って情報処理装置が予め設定する。CPU負荷管理部15は、CPUの負荷状態を示す情報を取得し、取得した情報をジョブ生成処理部14に渡す。CPU負荷管理部15は、例えば、情報処理装置上で動作するOS(Operating System)からCPU負荷率を取得する。   The job generation processing unit 14 receives a drawing command input to the job generation unit 1. In addition, the job generation processing unit 14 receives the above-described status management information from the status management unit 13. Further, the job generation processing unit 14 receives information indicating the CPU load state from the CPU load management unit 15. The information indicating the CPU load state is, for example, a CPU load factor. The job generation processing unit 14 selects one abstraction level from the first and second abstraction levels for the job data based on the status management information and the information indicating the load state of the CPU. Then, the job generation processing unit 14 generates job data corresponding to the selected abstraction level based on the drawing command. The job generation processing unit 14 may further determine whether the operation mode of the information processing apparatus is a mode that prioritizes print processing, and may select an abstraction level for job data based on the determination result. . Note that the operation mode of the information processing apparatus is preset by the information processing apparatus in accordance with, for example, an operation input by the user of the information processing apparatus. The CPU load management unit 15 acquires information indicating the load state of the CPU, and passes the acquired information to the job generation processing unit 14. The CPU load management unit 15 acquires a CPU load factor from, for example, an OS (Operating System) operating on the information processing apparatus.

図9は、第2の実施の形態におけるジョブ生成処理フローを示す図である。図9に示すステップS45乃至S51は、図3に示すステップS3乃至S8と同様であるので、ステップS45乃至S51についての説明は省略する。まず、ジョブ生成処理部11が、1ページ分の描画命令を取得する(ステップS41)。次に、ジョブ生成処理部11が、CPU負荷管理部15を呼び出して、CPU負荷管理部15からCPU負荷率を取得する(ステップS42)。続いて、ジョブ生成処理部11が、情報処理装置が印刷処理を優先する動作モードであるかを判断する(ステップS43)。ジョブ生成処理部11が、情報処理装置が印刷処理を優先する動作モードであると判断した場合は、ステップS45に進む。ジョブ生成処理部11が、情報処理装置が印刷処理を優先する動作モードでない、すなわち、印刷処理以外の処理を行うアプリケーションの実行を優先する動作モードであると判断した場合は、ジョブ生成処理部11は、以下の処理を実行する。すなわち、ジョブ生成処理部11は、CPUが高負荷か、すなわち、CPU負荷率が所定の閾値を超えるかを判断する(ステップS44)。ジョブ生成処理部11が、CPU負荷率が所定の閾値を超えると判断した場合は、ステップS51に進む。ジョブ生成処理部11が、CPU負荷率が所定の閾値を超えないと判断した場合は、ステップS45に進む。   FIG. 9 is a diagram illustrating a job generation processing flow according to the second embodiment. Since steps S45 to S51 shown in FIG. 9 are the same as steps S3 to S8 shown in FIG. 3, the description of steps S45 to S51 is omitted. First, the job generation processing unit 11 acquires a drawing command for one page (step S41). Next, the job generation processing unit 11 calls the CPU load management unit 15 and acquires the CPU load factor from the CPU load management unit 15 (step S42). Subsequently, the job generation processing unit 11 determines whether the information processing apparatus is in an operation mode in which print processing is prioritized (step S43). If the job generation processing unit 11 determines that the information processing apparatus is in an operation mode in which print processing is prioritized, the process proceeds to step S45. If the job generation processing unit 11 determines that the information processing apparatus is not in an operation mode that prioritizes printing processing, that is, an operation mode that prioritizes execution of an application that performs processing other than printing processing, the job generation processing unit 11 Performs the following processing. That is, the job generation processing unit 11 determines whether the CPU is heavily loaded, that is, whether the CPU load factor exceeds a predetermined threshold (step S44). If the job generation processing unit 11 determines that the CPU load factor exceeds a predetermined threshold, the process proceeds to step S51. If the job generation processing unit 11 determines that the CPU load factor does not exceed the predetermined threshold, the process proceeds to step S45.

なお、第2の実施形態のジョブキュー管理処理、ジョブデータの受信処理、ジョブ描画処理は、それぞれ、図4、図5、図6を参照して説明した処理と同様である。第2の実施形態の情報処理装置によれば、印刷処理以外の処理を行うアプリケーションの動作を優先する動作モードの場合に、ジョブ生成処理の負荷を軽減し、より多くのCPU時間を印刷処理以外の処理を行うアプリケーションに割り当てることが可能になる。一方、印刷処理を優先する動作モードの場合には、第1の実施形態の情報処理装置と同様に、描画命令に基づくジョブデータの生成処理と、ジョブデータに基づくページ画像の生成処理との間の適切な負荷分散を行うことが可能となる。   Note that the job queue management process, job data reception process, and job drawing process of the second embodiment are the same as those described with reference to FIGS. 4, 5, and 6, respectively. According to the information processing apparatus of the second embodiment, in the operation mode in which the operation of an application that performs processing other than print processing is prioritized, the load of job generation processing is reduced, and more CPU time is spent for other than print processing. It becomes possible to assign to the application which performs the process. On the other hand, in the case of the operation mode in which print processing is prioritized, between the job data generation processing based on the rendering command and the page image generation processing based on the job data, as in the information processing apparatus of the first embodiment. It is possible to perform appropriate load distribution.

次に、本発明の第3の実施形態について説明する。第3の実施形態の情報処理装置は、図8に示す第2の実施形態の情報処理装置と同様の構成を備える。そして、第3の実施形態の情報処理装置においては、ジョブ生成処理部14が、更に、CPU負荷管理部15から取得したCPU負荷率に基づいて、ジョブキュー12に格納されているジョブデータの抽象度を変更する処理を行う。   Next, a third embodiment of the present invention will be described. The information processing apparatus of the third embodiment has the same configuration as the information processing apparatus of the second embodiment shown in FIG. In the information processing apparatus according to the third embodiment, the job generation processing unit 14 further abstracts the job data stored in the job queue 12 based on the CPU load factor acquired from the CPU load management unit 15. Process to change the degree.

図10は、第3の実施の形態におけるジョブキュー管理処理フローを示す図である。図10中に示すステップS61乃至S65は、図4中に示すステップS11乃至S15と同様であるので、ステップS61乃至S65についての説明は省略する。図10のステップS63において、ジョブ生成処理部11が、ジョブ描画部2がBusyであると判断した場合は、ステップS66に進む。続いて、ジョブ生成処理部11が、CPUが低負荷か、すなわち、CPU負荷率が所定の閾値以下であるかを判断する(ステップS66)。ジョブ生成処理部11が、CPU負荷率が所定の閾値以下でないと判断した場合は、ステップS63に戻る。ジョブ生成処理部11が、CPU負荷率が所定の閾値以下であると判断した場合は、ステップS67に進む。   FIG. 10 is a diagram illustrating a job queue management process flow according to the third embodiment. Since steps S61 to S65 shown in FIG. 10 are the same as steps S11 to S15 shown in FIG. 4, the description of steps S61 to S65 is omitted. If the job generation processing unit 11 determines in step S63 in FIG. 10 that the job drawing unit 2 is busy, the process proceeds to step S66. Subsequently, the job generation processing unit 11 determines whether the CPU is lightly loaded, that is, whether the CPU load factor is equal to or less than a predetermined threshold (step S66). If the job generation processing unit 11 determines that the CPU load factor is not equal to or less than the predetermined threshold, the process returns to step S63. When the job generation processing unit 11 determines that the CPU load factor is equal to or less than the predetermined threshold value, the process proceeds to step S67.

次に、ジョブ生成処理部11が、ジョブキュー12中の終端に登録されているジョブデータが第1の抽象度に対応するかを判断する(ステップS67)。ジョブ生成処理部11が、ジョブキュー12中の終端に登録されているジョブデータが第1の抽象度に対応しないと判断した場合は、ステップS70に進む。ジョブ生成処理部11が、ジョブキュー12中の終端に登録されているジョブデータが第1の抽象度に対応すると判断した場合は、ジョブ生成処理部11は、このジョブデータを第2の抽象度に対応するジョブデータに変換する(ステップS68)。そして、ジョブ生成処理部11が、変換後のジョブデータをジョブキュー12に戻す(ステップS69)。   Next, the job generation processing unit 11 determines whether the job data registered at the end in the job queue 12 corresponds to the first abstraction level (step S67). If the job generation processing unit 11 determines that the job data registered at the end in the job queue 12 does not correspond to the first abstraction level, the process proceeds to step S70. When the job generation processing unit 11 determines that the job data registered at the end in the job queue 12 corresponds to the first abstraction level, the job generation processing unit 11 uses the job data as the second abstraction level. (Step S68). Then, the job generation processing unit 11 returns the converted job data to the job queue 12 (step S69).

続いて、ジョブ生成処理部11が、ジョブキュー12内の次のジョブデータを検索する(ステップS70)。そして、ジョブ生成処理部11が、ジョブキュー12内にジョブデータが残っているかを判断する(ステップS71)。ジョブ生成処理部11が、ジョブキュー12内にジョブデータが残っていないと判断した場合は、ステップS63に戻る。ジョブ生成処理部11が、ジョブキュー12内にジョブデータが残っていると判断した場合は、ステップS67に戻る。   Subsequently, the job generation processing unit 11 searches for the next job data in the job queue 12 (step S70). Then, the job generation processing unit 11 determines whether job data remains in the job queue 12 (step S71). If the job generation processing unit 11 determines that no job data remains in the job queue 12, the process returns to step S63. If the job generation processing unit 11 determines that job data remains in the job queue 12, the process returns to step S67.

なお、第3の実施形態のジョブ生成処理は、図9を参照して説明した処理と同様である。また、第3の実施形態のジョブデータの受信処理、ジョブ描画処理は、それぞれ、図5、図6を参照して説明した処理と同様である。第3の実施形態によれば、一旦ジョブデータを生成した後であっても、その後ジョブ生成処理の負荷が軽くなった時点(CPUが低負荷になった時点)で、ジョブキュー12中のジョブデータを抽象度の低い第2の抽象度に対応するジョブデータに変換できる。その結果、ジョブ描画処理の負荷を低減することが可能になる。   Note that the job generation process of the third embodiment is the same as the process described with reference to FIG. The job data reception process and job drawing process of the third embodiment are the same as the processes described with reference to FIGS. 5 and 6, respectively. According to the third embodiment, even after the job data is once generated, the jobs in the job queue 12 are loaded when the load of the job generation process is lightened (when the CPU is lightly loaded). The data can be converted into job data corresponding to the second level of abstraction. As a result, it is possible to reduce the load of job drawing processing.

(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
(Other examples)
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed. In this case, the program and the storage medium storing the program constitute the present invention.

1 ジョブ生成部
2 ジョブ描画部
11 ジョブ生成処理部
12 ジョブキュー
13 ステータス管理部
21 ジョブバッファ
22 ページバッファ
23 H/Wレンダラ
DESCRIPTION OF SYMBOLS 1 Job generation part 2 Job drawing part 11 Job generation process part 12 Job queue 13 Status management part 21 Job buffer 22 Page buffer 23 H / W renderer

Claims (8)

入力される描画命令に基づいて中間データを生成して所定の記憶手段に格納する中間データ生成手段と、
前記記憶手段に格納された中間データに基づいて、印刷対象のページ画像を生成する画像生成手段とを備え、
前記中間データ生成手段は、前記記憶手段の負荷状態と前記画像生成手段の負荷状態とに基づいて、前記中間データについての第1、第2の抽象度のうち、1つの抽象度を選択し、選択した抽象度に対応する中間データを生成する
ことを特徴とする情報処理装置。
Intermediate data generation means for generating intermediate data based on an input drawing command and storing the intermediate data in a predetermined storage means;
Image generating means for generating a page image to be printed based on the intermediate data stored in the storage means,
The intermediate data generation unit selects one abstraction level from the first and second abstraction levels for the intermediate data based on the load state of the storage unit and the load state of the image generation unit, An information processing apparatus that generates intermediate data corresponding to a selected level of abstraction.
前記中間データ生成手段は、前記記憶手段の負荷状態がフル状態でなく、かつ、前記画像生成手段の負荷状態がビジー状態である場合に、前記生成する中間データに対応する抽象度として前記第1、第2の抽象度のうち抽象度の低い方の抽象度を選択する
ことを特徴とする請求項1に記載の情報処理装置。
The intermediate data generation unit is configured to output the first abstraction level corresponding to the generated intermediate data when the load state of the storage unit is not full and the load state of the image generation unit is busy. The information processing apparatus according to claim 1, wherein an abstraction level with a lower abstraction level is selected from the second abstraction levels.
前記中間データ生成手段は、前記記憶手段の負荷状態がフル状態でなく、かつ、前記画像生成手段の負荷状態がビジー状態でない場合に、前記生成する中間データに対応する抽象度として前記第1、第2の抽象度のうち抽象度の高い方の抽象度を選択する
ことを特徴とする請求項1に記載の情報処理装置。
The intermediate data generation unit is configured to output the first and second abstraction levels corresponding to the generated intermediate data when the load state of the storage unit is not full and the load state of the image generation unit is not busy. The information processing apparatus according to claim 1, wherein an abstraction level having a higher abstraction level is selected from the second abstraction levels.
前記中間データ生成手段は、更に、前記中間データ生成手段による前記中間データの生成処理を制御する制御装置の負荷状態を取得し、該取得された制御装置の負荷状態に基づいて、前記中間データに対応する抽象度を選択する
ことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
The intermediate data generation unit further acquires a load state of a control device that controls the generation process of the intermediate data by the intermediate data generation unit, and converts the intermediate data into the intermediate data based on the acquired load state of the control device. The information processing apparatus according to claim 1, wherein a corresponding abstraction level is selected.
前記中間データ生成手段は、更に、前記情報処理装置の動作モードが印刷処理を優先するモードであるかを判断し、該判断結果に基づいて、前記中間データに対応する抽象度を選択する
ことを特徴とする請求項4に記載の情報処理装置。
The intermediate data generation means further determines whether the operation mode of the information processing apparatus is a mode in which print processing is prioritized, and selects an abstraction level corresponding to the intermediate data based on the determination result. The information processing apparatus according to claim 4.
前記中間データ生成手段は、更に、前記取得された制御装置の負荷状態に基づいて、前記記憶手段に格納されている中間データの抽象度を変更する
ことを特徴とする請求項4に記載の情報処理装置。
5. The information according to claim 4, wherein the intermediate data generation unit further changes an abstraction level of the intermediate data stored in the storage unit based on the acquired load state of the control device. Processing equipment.
情報処理装置が備える中間データ生成手段が、入力される描画命令に基づいて中間データを生成して所定の記憶手段に格納し、
情報処理装置が備える画像生成手段が、前記記憶手段に格納された中間データに基づいて、印刷対象のページ画像を生成し、
前記中間データ生成手段が、前記記憶手段の負荷状態と前記画像生成手段の負荷状態とに基づいて、前記中間データについての第1、第2の抽象度のうち、1つの抽象度を選択し、選択した抽象度に対応する中間データを生成する
ことを特徴とする情報処理装置の制御方法。
The intermediate data generating means provided in the information processing apparatus generates intermediate data based on the input drawing command and stores it in a predetermined storage means,
An image generation unit included in the information processing apparatus generates a page image to be printed based on the intermediate data stored in the storage unit,
The intermediate data generating means selects one of the first and second abstraction levels for the intermediate data based on a load state of the storage means and a load state of the image generating means; A method for controlling an information processing apparatus, comprising: generating intermediate data corresponding to a selected level of abstraction.
請求項7に記載の情報処理装置の制御方法をコンピュータに実行させることを特徴とするコンピュータプログラム。   A computer program for causing a computer to execute the control method of the information processing apparatus according to claim 7.
JP2009246845A 2009-10-27 2009-10-27 Information processor, control method of the same, and computer program Pending JP2011095845A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009246845A JP2011095845A (en) 2009-10-27 2009-10-27 Information processor, control method of the same, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009246845A JP2011095845A (en) 2009-10-27 2009-10-27 Information processor, control method of the same, and computer program

Publications (1)

Publication Number Publication Date
JP2011095845A true JP2011095845A (en) 2011-05-12

Family

ID=44112705

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009246845A Pending JP2011095845A (en) 2009-10-27 2009-10-27 Information processor, control method of the same, and computer program

Country Status (1)

Country Link
JP (1) JP2011095845A (en)

Similar Documents

Publication Publication Date Title
US8743389B2 (en) Methods and systems rendering a print job
JP2011070337A (en) Image processing system and image processing program
JP5141995B1 (en) Print control apparatus, image forming system, and program
JP5171461B2 (en) Information processing apparatus, information processing method, information processing system, and program
JP2012059093A (en) Printer controller, printing system and program
JP5268427B2 (en) Image forming apparatus and image forming system
US8786908B2 (en) Image forming apparatus, method of controlling drawing processing, and recording medium storing drawing processing control program
US9785871B2 (en) Print control device and non-transitory computer readable medium
US8614823B2 (en) Technique for processing print data in parallel using plural raster image processors in order to increase printing speed
JP6464695B2 (en) Image processing apparatus and computer program
US8643853B2 (en) Rendering control method in which a processor and a hardware accelerator can be used efficiently
JP5582302B2 (en) Image processing apparatus, image output apparatus, and program
JP6185745B2 (en) Print control apparatus, print control method, and program
JP2019098580A (en) Image forming apparatus
JP2008071346A (en) Image processor
JP2011095845A (en) Information processor, control method of the same, and computer program
JP5936363B2 (en) Image processing apparatus and image processing method
JP2007152898A (en) Printing processing apparatus
JP2003280850A (en) High speed printer and high speed printing method using the printer
KR100571960B1 (en) Apparatus and method for controlling image forming apparatus
JP2005149325A (en) Information processor and information processing method
JP5471696B2 (en) Image processing apparatus and image processing program
JP2010012737A (en) Print control apparatus, printing system, plotting method and program
JP2006079475A (en) Print processing system, program and recording medium
JP2007264750A (en) Data processing system, data processing method, program, and storage medium