JP2011095845A - Information processor, control method of the same, and computer program - Google Patents
Information processor, control method of the same, and computer program Download PDFInfo
- 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
Links
Images
Abstract
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
なお、下記の特許文献1は、画像処理装置の処理ステータスに応じて、プリンタに出力する印刷データの出力形態を変化させる画像処理システムを開示している。また、下記の特許文献2は、印刷データ生成処理時に、データ処理負担を監視して、印刷装置に転送すべき印刷データの加工種別を切り換え制御するデータ処理装置を開示している。
図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,
ここで、抽象度の異なる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は、本発明の第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
ジョブ生成部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
ジョブキュー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
ジョブ描画部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
図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.
第1の抽象度に対応するジョブデータ形式では、ジョブ描画部2が、セグメント情報から各線分上のピクセル位置を計算するエッジ・トラッキング処理を行う。また、ジョブ描画部2は、図形間の上下関係及び論理演算の処理を行うレベル処理を行う。その結果、ジョブ生成部1の負荷は小さくなって、ジョブ生成処理が高速化される一方で、ジョブ描画部2の負荷が大きくなってジョブ描画処理が遅くなる。
In the job data format corresponding to the first abstraction level, the
図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.
第2の抽象度に対応するジョブデータ形式では、ジョブ生成部1が、エッジ・トラッキング処理及びレベル処理を実行する。従って、ジョブ生成部1の負荷が大きくなって、ジョブ生成処理が遅くなる一方で、ジョブ描画部2の負荷が小さくなって、ジョブ描画処理が高速化される。
In the job data format corresponding to the second level of abstraction, the
図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
上記ステップ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
すなわち、ジョブ生成処理部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
図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
ジョブ生成処理部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
図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
図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
図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.
図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
ジョブ生成処理部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
図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
なお、第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
図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
次に、ジョブ生成処理部11が、ジョブキュー12中の終端に登録されているジョブデータが第1の抽象度に対応するかを判断する(ステップS67)。ジョブ生成処理部11が、ジョブキュー12中の終端に登録されているジョブデータが第1の抽象度に対応しないと判断した場合は、ステップS70に進む。ジョブ生成処理部11が、ジョブキュー12中の終端に登録されているジョブデータが第1の抽象度に対応すると判断した場合は、ジョブ生成処理部11は、このジョブデータを第2の抽象度に対応するジョブデータに変換する(ステップS68)。そして、ジョブ生成処理部11が、変換後のジョブデータをジョブキュー12に戻す(ステップS69)。
Next, the job
続いて、ジョブ生成処理部11が、ジョブキュー12内の次のジョブデータを検索する(ステップS70)。そして、ジョブ生成処理部11が、ジョブキュー12内にジョブデータが残っているかを判断する(ステップS71)。ジョブ生成処理部11が、ジョブキュー12内にジョブデータが残っていないと判断した場合は、ステップS63に戻る。ジョブ生成処理部11が、ジョブキュー12内にジョブデータが残っていると判断した場合は、ステップS67に戻る。
Subsequently, the job
なお、第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
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(または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
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に記載の情報処理装置。 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に記載の情報処理装置。 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.
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) |
-
2009
- 2009-10-27 JP JP2009246845A patent/JP2011095845A/en active Pending
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 |