JP2017024321A - Image processor, image formation device, and image processing time prediction method and program - Google Patents

Image processor, image formation device, and image processing time prediction method and program Download PDF

Info

Publication number
JP2017024321A
JP2017024321A JP2015146538A JP2015146538A JP2017024321A JP 2017024321 A JP2017024321 A JP 2017024321A JP 2015146538 A JP2015146538 A JP 2015146538A JP 2015146538 A JP2015146538 A JP 2015146538A JP 2017024321 A JP2017024321 A JP 2017024321A
Authority
JP
Japan
Prior art keywords
prediction
data
pdl data
block
rendering
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
JP2015146538A
Other languages
Japanese (ja)
Inventor
辰昇 鈴木
Tatsunobu Suzuki
辰昇 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2015146538A priority Critical patent/JP2017024321A/en
Publication of JP2017024321A publication Critical patent/JP2017024321A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To accurately predict a time required for block division rendering of PDL data.SOLUTION: An image processor for an image formation device having rendering means which generates bit map data which is divided into plural blocks by block division rendering for input PDL data comprises: prediction means which predicts a time required for generation of bit map data in the rendering means; and PDL data generation means for prediction which generates PDL data for prediction in which correction information for said prediction is added to the input PDL data. The prediction means executes said prediction on the basis of correction information included in intermediate data which is generated from the PDL data for prediction.SELECTED DRAWING: Figure 13

Description

本発明は、画像処理に要する時間の予測技術に関する。   The present invention relates to a technique for predicting the time required for image processing.

従来、ユーザに対して、印刷処理に要する時間を通知する機能を備えた画像形成装置が実現されている。例えば特許文献1では、複数のオブジェクトを含むPDL(Page Description Language)データを受信し、PDLデータに含まれる描画オブジェクトの個数やサイズから印刷処理に要する時間を予測する技術(以下、所要時間予測技術)が提案されている。   Conventionally, an image forming apparatus having a function of notifying a user of a time required for print processing has been realized. For example, in Patent Document 1, a technique for receiving PDL (Page Description Language) data including a plurality of objects and predicting the time required for print processing from the number and size of drawing objects included in the PDL data (hereinafter referred to as required time prediction technique). ) Has been proposed.

一方で、レンダリング処理に必要なメモリ容量を削減する技術として、例えばブロック分割レンダリングが提案されている(特許文献2)。これは、PDLデータから生成した中間データに対しレンダリング処理を行う過程で、中間データに含まれるベクタデータを複数のブロック(小領域)に分割したビットマップデータを生成し、ブロック毎に画像を圧縮するものである。これによりレンダリング処理において使用するメモリ容量の削減を可能にしている。   On the other hand, for example, block division rendering has been proposed as a technique for reducing the memory capacity required for rendering processing (Patent Document 2). This is a process of rendering the intermediate data generated from the PDL data, and generates bitmap data by dividing the vector data included in the intermediate data into a plurality of blocks (small areas), and compresses the image for each block. To do. As a result, the memory capacity used in the rendering process can be reduced.

特開2003−216359号公報JP 2003-216359 A 特開2012−254583号公報JP 2012-254583 A

特許文献2で示されるブロック分割レンダリングの方法では、PDLデータから生成した中間データをもとに、レンダリング処理中に分割処理を行うことになる。このようなブロック分割レンダリングに、特許文献1に示される所要時間予測技術を適用すると、分割前のPDLデータを予測に用いるため、レンダリング処理に要する時間を正確に予測することが困難であった。これは、複数のブロックに跨るオブジェクトの場合、各ブロックにおいて、当該オブジェクトの一部のみに対応するビットマップデータの生成を行なうことになるが、このようなブロック単位の処理時間までは考慮されないためである。   In the block division rendering method disclosed in Patent Document 2, division processing is performed during rendering processing based on intermediate data generated from PDL data. When the required time prediction technique disclosed in Patent Document 1 is applied to such block division rendering, since the PDL data before division is used for prediction, it is difficult to accurately predict the time required for rendering processing. This is because, in the case of an object that spans multiple blocks, bitmap data corresponding to only a part of the object is generated in each block, but such processing time in units of blocks is not considered. It is.

本発明に係る画像処理装置は、入力PDLデータに対するブロック分割レンダリングによって複数のブロックに分割したビットマップデータを生成するレンダリング手段を有する画像形成装置のための画像処理装置であって、前記レンダリング手段におけるビットマップデータの生成に要する時間を予測する予測手段と、前記予測のための補正情報を前記入力PDLデータに付加した予測用PDLデータを生成する予測用PDLデータ生成手段と、を備え、前記予測手段は、前記予測用PDLデータから生成した中間データに含まれる補正情報に基づいて、前記予測を行なうことを特徴とする。   An image processing apparatus according to the present invention is an image processing apparatus for an image forming apparatus having a rendering unit that generates bitmap data divided into a plurality of blocks by block division rendering with respect to input PDL data. Prediction means for predicting the time required to generate bitmap data; and prediction PDL data generation means for generating prediction PDL data in which correction information for prediction is added to the input PDL data. The means is characterized in that the prediction is performed based on correction information included in the intermediate data generated from the prediction PDL data.

本発明によれば、PDLデータのブロック分割レンダリングに要する時間を正確に予測することができる。   According to the present invention, it is possible to accurately predict the time required for block division rendering of PDL data.

画像処理システムの構成例を示すブロック図である。It is a block diagram which shows the structural example of an image processing system. プリンタの制御部の内部構成を示すブロック図である。FIG. 3 is a block diagram illustrating an internal configuration of a printer control unit. 留め置かれた印刷ジョブのうちユーザが指定した任意の印刷ジョブを出力する際の処理の流れを示すフローチャートである。10 is a flowchart illustrating a processing flow when outputting an arbitrary print job designated by a user among the retained print jobs. 留め置きジョブの一覧表示画面の一例を示す図である。It is a figure which shows an example of the list display screen of a deferred job. PDLデータの一例を示す図である。It is a figure which shows an example of PDL data. ディスプレイリストの一例を示す図である。It is a figure which shows an example of a display list. ブロック分割レンダリング処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a block division | segmentation rendering process. スキャンラインから抽出したエッジデータに対してソート処理を行なった結果を示す図である。It is a figure which shows the result of having performed the sort process with respect to the edge data extracted from the scan line. スパン情報を説明する図である。It is a figure explaining span information. レベル情報の生成過程を説明する図である。It is a figure explaining the production | generation process of level information. ブロック分割の結果の一例を示す図である。It is a figure which shows an example of the result of block division. クリップコマンドの一例を示す図である。It is a figure which shows an example of a clip command. 印刷所要時間算出処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a printing required time calculation process. 予測用PDLデータの一例を示す図である。It is a figure which shows an example of PDL data for prediction. 予測用PDLデータをもとに生成したディスプレイリストを示す図である。It is a figure which shows the display list produced | generated based on the PDL data for prediction. 予測用PDLデータ生成処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the PDL data for prediction generation processing.

以下、添付の図面を参照して、本発明を実施する形態について説明する。なお、以下の実施例において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。   Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. The configurations shown in the following embodiments are merely examples, and the present invention is not limited to the illustrated configurations.

[実施例1]
図1は、本実施例に係る画像処理システムの構成例を示すブロック図である。画像処理システム100は、印刷データ(PDLデータ)を生成する情報処理装置としてのホストコンピュータ110と、入力PDLデータを画像処理して印刷出力する画像形成装置としてのプリンタ120で構成され、相互にLAN130を介して接続されている。プリンタ120は、コピーやFAXといった複数の機能を備えたMFP(Multi Function Peripheral)であってもよいし、印刷機能のみを備えたSFP(Single Function Printer)であってもよい。また、画像形成に用いる方式としては、例えば電子写真方式やインクジェット方式が考えられるが、これらに限定されるものではない。さらに、ホストコンピュータ(以下、ホストPC)110とプリンタ120はLAN130で接続されているが、接続方法はこれに限定されるものではない。例えば公衆回線に代表されるWANなどの任意のネットワーク、USBなどのシリアル伝送方式、セントロニクスやSCSIなどのパラレル伝送方式なども適用可能である。
[Example 1]
FIG. 1 is a block diagram illustrating a configuration example of an image processing system according to the present embodiment. The image processing system 100 includes a host computer 110 as an information processing apparatus that generates print data (PDL data) and a printer 120 as an image forming apparatus that performs image processing on input PDL data and prints it out. Connected through. The printer 120 may be an MFP (Multi Function Peripheral) having a plurality of functions such as copying and FAX, or may be an SFP (Single Function Printer) having only a printing function. Further, as a method used for image formation, for example, an electrophotographic method or an ink jet method can be considered, but the method is not limited thereto. Furthermore, the host computer (hereinafter referred to as host PC) 110 and the printer 120 are connected via the LAN 130, but the connection method is not limited to this. For example, an arbitrary network such as a WAN represented by a public line, a serial transmission method such as USB, and a parallel transmission method such as Centronics and SCSI can be applied.

ホストPC110は、LAN130を介してFTPやSMBといったプロトコルを用いてファイルを送受信したり、電子メールを送受信したりすることができる。さらには、ホストPC110には、印刷対象となる文書等を作成するためのアプリケーションプログラムや印刷ジョブを作成するためのプリンタドライバを、HDD等の記憶部(不図示)に格納している。なお、プリンタドライバで作成される印刷ジョブには、印刷設定とユーザにより作成された印刷データ(PDLデータ)が含まれる。そして、印刷設定には、ユーザID、用紙サイズ、カラー/モノクロ印刷、両面印刷、出力部数等の情報が含まれる。   The host PC 110 can send and receive files and send and receive emails using a protocol such as FTP and SMB via the LAN 130. Further, the host PC 110 stores an application program for creating a document to be printed and a printer driver for creating a print job in a storage unit (not shown) such as an HDD. Note that the print job created by the printer driver includes print settings and print data (PDL data) created by the user. The print settings include information such as a user ID, paper size, color / monochrome printing, duplex printing, and the number of output copies.

プリンタ120は、制御部121、操作部122、印刷部123で構成される。制御部121は、操作部122及び印刷部123と接続され、これら各部の動作を制御することでプリンタ120全体の動作制御を司る。また制御部121は、LAN130を介して、ホストPC110を含む外部装置と、画像データなどを送受信する。操作部122は、入力ボタン、タッチパネル兼ディスプレイを有し、例えば留め置かれた印刷ジョブを出力する際の上記印刷設定に対する変更等の入力操作をユーザから受け付ける。また、操作部122は、制御部121からの指示に基づき、ディスプレイ上への画像の表示も行う。ユーザの入力操作に係る情報は、制御部121へ送られる。印刷部123は、制御部121が処理した画像データ(ビットマップデータ)を受け取って、画像データに基づいた印刷処理を実行する。   The printer 120 includes a control unit 121, an operation unit 122, and a printing unit 123. The control unit 121 is connected to the operation unit 122 and the printing unit 123, and controls operation of the entire printer 120 by controlling operations of these units. The control unit 121 transmits and receives image data and the like to and from an external device including the host PC 110 via the LAN 130. The operation unit 122 includes an input button and a touch panel / display, and receives an input operation such as a change to the print setting when outputting a retained print job, for example, from the user. The operation unit 122 also displays an image on the display based on an instruction from the control unit 121. Information related to the user's input operation is sent to the control unit 121. The printing unit 123 receives the image data (bitmap data) processed by the control unit 121 and executes a printing process based on the image data.

図2は、プリンタ120の制御部121の内部構成を示すブロック図である。CPU201は、プリンタ120全体を制御するための中央処理装置である。なお、CPU201は複数のCPUから構成されていてもよい。RAM202は、CPU201が動作するためのワークメモリであり、入力された画像データを一時記憶するための画像メモリでもある。RAM202はメインメモリとも呼ばれる。ROM203はブートROMであり、システムのブートプログラムが格納されている。HDD204は、各種処理のためのシステムソフトウェアプログラム及び入力された画像データ等を格納する。   FIG. 2 is a block diagram illustrating an internal configuration of the control unit 121 of the printer 120. A CPU 201 is a central processing unit for controlling the entire printer 120. Note that the CPU 201 may be composed of a plurality of CPUs. A RAM 202 is a work memory for the CPU 201 to operate, and is also an image memory for temporarily storing input image data. The RAM 202 is also called main memory. A ROM 203 is a boot ROM, and stores a system boot program. The HDD 204 stores system software programs for various processes, input image data, and the like.

操作部I/F205は、操作部122と制御部121とを接続するためのインタフェースであり、操作部122に各種入力操作用UI画面を表示するための画像データを出力する。また、操作部I/F205は、操作部122に表示されたUI画面を介してユーザが入力した各種情報をCPU201に伝える役割を担う。   The operation unit I / F 205 is an interface for connecting the operation unit 122 and the control unit 121, and outputs image data for displaying various input operation UI screens on the operation unit 122. The operation unit I / F 205 plays a role of transmitting various information input by the user to the CPU 201 via the UI screen displayed on the operation unit 122.

ネットワークI/F206は、LANカード等で実現され、LAN130に接続して外部装置との間で情報の入出力を行う。   A network I / F 206 is realized by a LAN card or the like, and is connected to the LAN 130 to input / output information to / from an external device.

画像バスI/F207は、システムバス208と画像データを高速で転送する画像バス209とを接続するためのインタフェースであり、データ構造を変換するバスブリッジである。画像バス209上には、ラスタイメージプロセッサ(RIP)210、デバイスI/F211、印刷画像処理部212、画像編集用画像処理部213、カラーマネージメントモジュール(CMM)214が接続される。RIP210は、ページ記述言語コード(PDLデータ)や後述するベクトルデータをビットマップデータに展開する。デバイスI/F211は、印刷部123と制御部121との間のインタフェースであり、画像データの同期系/非同期系の変換を行う。   An image bus I / F 207 is an interface for connecting the system bus 208 and an image bus 209 that transfers image data at high speed, and is a bus bridge that converts a data structure. On the image bus 209, a raster image processor (RIP) 210, a device I / F 211, a print image processing unit 212, an image editing image processing unit 213, and a color management module (CMM) 214 are connected. The RIP 210 expands page description language code (PDL data) and vector data described later into bitmap data. The device I / F 211 is an interface between the printing unit 123 and the control unit 121, and performs synchronous / asynchronous conversion of image data.

印刷画像処理部212は、印刷部123で印刷する画像データに対して、印刷部123のプリンタエンジンに応じた濃度補正や解像度変換といった画像処理を行う。編集用画像処理部213は、画像データに対し、回転や圧縮/伸長といった各種画像処理を行う。CMM214は、画像データに対して、カラープロファイルやキャリブレーションデータに基づいた、色変換処理(色空間変換処理ともいう)を施す専用ハードウェアモジュールである。カラープロファイルとは、デバイス依存色空間で表現したカラー画像データをデバイス非依存色空間(例えばLabなど)に変換するための関数のような情報である。キャリブレーションデータとは、印刷部123の色再現特性を修正するためのデータである。   The print image processing unit 212 performs image processing such as density correction and resolution conversion according to the printer engine of the printing unit 123 on the image data printed by the printing unit 123. The editing image processing unit 213 performs various types of image processing such as rotation and compression / decompression on the image data. The CMM 214 is a dedicated hardware module that performs color conversion processing (also referred to as color space conversion processing) on image data based on a color profile and calibration data. The color profile is information such as a function for converting color image data expressed in a device-dependent color space into a device-independent color space (for example, Lab). The calibration data is data for correcting the color reproduction characteristics of the printing unit 123.

<用語の定義>
ここで、本明細書における用語の定義について説明する。
エッジとは、オブジェクトのアウトラインであり、ページ内に描画するオブジェクトとオブジェクト、またはオブジェクトと背景の境目を指す。
<Definition of terms>
Here, definitions of terms in the present specification will be described.
An edge is an outline of an object, and refers to an object to be drawn in a page or a boundary between an object and a background.

スキャンラインとは、画像形成処理において画像データが連続的にメモリ走査される主走査方向のラインであり、スキャンラインの高さは1ピクセルとなっている。また複数のスキャンラインを束ねたものをバンドと呼ぶ。   A scan line is a line in the main scanning direction in which image data is continuously subjected to memory scanning in the image forming process, and the height of the scan line is 1 pixel. A bundle of a plurality of scan lines is called a band.

スパンとは、単一のスキャンラインにおけるエッジ間で囲まれる閉領域を指す。すなわち、1つのスキャンラインをオブジェクトのエッジで区切った場合の、エッジを端点として持つライン中の閉領域を意味する。   A span refers to a closed region enclosed between edges in a single scan line. That is, it means a closed region in a line having an edge as an end point when one scan line is divided by the edge of the object.

レベルとは、ページ内に描画するオブジェクト同士の上下関係を示すもので、各オブジェクトには必ずそれぞれ異なるレベル番号が割り振られる。   The level indicates the vertical relationship between objects drawn on the page, and each object is always assigned a different level number.

フィルとはスパンに対する塗り情報を指す。ビットマップデータやシェーディングのように1ピクセル毎に異なる色値を持つフィルや、ベタ塗りのようにスパン中で色値の変化がないフィルが存在する。   Fill refers to paint information for a span. There are fills having different color values for each pixel such as bitmap data and shading, and fills in which color values do not change in the span, such as solid coating.

<印刷処理の流れ>
続いて、プリンタ120における印刷処理について説明する。本実施例では、ホストPC110から受信した印刷ジョブを一旦留め置いて、その後、留め置かれた印刷ジョブの出力指示をユーザから受けて印刷するまでの一連の流れを説明するものとする。そして、図3は、留め置かれた印刷ジョブのうちユーザが指定した任意の印刷ジョブを出力する際の処理の流れを示すフローチャートである。この一連の処理は、ROM203又はHDD204に保存されたプログラムをRAM202に展開し、これをCPU201が実行することによって実現される。
<Print processing flow>
Next, the printing process in the printer 120 will be described. In this embodiment, a series of processes from temporarily holding a print job received from the host PC 110 to receiving an output instruction for the held print job from the user and printing will be described. FIG. 3 is a flowchart showing a processing flow when outputting an arbitrary print job designated by the user among the reserved print jobs. This series of processing is realized by developing a program stored in the ROM 203 or the HDD 204 in the RAM 202 and executing it by the CPU 201.

ステップ301において、CPU201は、操作部122から通知されるユーザログインを検知する。   In step 301, the CPU 201 detects a user login notified from the operation unit 122.

ステップ302において、CPU201は、ログインしたユーザによって留め置かれた印刷ジョブを、全ての留め置かれている印刷ジョブ(留め置きジョブ)の中から探索し、操作部122のディスプレイ上に一覧表示する。図4は、ログインユーザに係る留め置きジョブの一覧表示画面の一例を示す図である。一覧表示画面400には、ログインユーザのユーザIDを示す表示欄401、当該ログインユーザの留め置きジョブの内容と各印刷ジョブの出力に要する時間(印刷所要時間)を示す表示欄402が存在する。この表示欄402に表示される印刷所要時間は、印刷用紙の給紙から排紙までに要すると見込まれる時間に、ブロック分割レンダリング処理に要すると見込まれる時間を加えた時間である。なお、後述のステップ307における所定の画像処理に要する時間は、印刷用紙の給紙から排紙までに要する時間に含まれる。本実施例では、この表示欄402に表示される印刷所要時間が、ブロック分割レンダリングを考慮した精度の高い予測時間となる。そして、ユーザは印刷を希望する印刷ジョブのチェックボックス403にチェックを入れて選択し、印刷開始ボタン404を押下することで、選択した印刷ジョブの印刷処理が開始される。   In step 302, the CPU 201 searches for all print jobs that have been reserved by the logged-in user from all the reserved print jobs (reservation jobs), and displays a list on the display of the operation unit 122. FIG. 4 is a diagram illustrating an example of a list display screen of reserved jobs related to the login user. The list display screen 400 includes a display field 401 indicating the user ID of the login user, and a display field 402 indicating the contents of the log-in user's reservation job and the time required to output each print job (required printing time). The time required for printing displayed in the display column 402 is a time obtained by adding the time required for the block division rendering process to the time expected to be required from paper feeding to paper discharge. It should be noted that the time required for predetermined image processing in step 307, which will be described later, is included in the time required from paper feeding to paper discharge. In this embodiment, the required print time displayed in the display field 402 is a highly accurate predicted time considering block division rendering. Then, the user checks and selects a check box 403 of a print job desired to be printed, and presses a print start button 404 to start print processing of the selected print job.

ステップ303において、CPU201は、印刷開始ボタン404の押下が検知されたかどうかを判定する。一覧から任意の印刷ジョブが選択され、印刷開始が指示されていた場合、ステップ304に進む。この際、CPU201は、選択された印刷ジョブに含まれるPDLデータをHDD204からRAM202にロードする。一方、印刷開始ボタン404の押下が検知できなければ、監視を続行する。   In step 303, the CPU 201 determines whether or not pressing of the print start button 404 is detected. If an arbitrary print job is selected from the list and printing start is instructed, the process proceeds to step 304. At this time, the CPU 201 loads the PDL data included in the selected print job from the HDD 204 to the RAM 202. On the other hand, if pressing of the print start button 404 cannot be detected, monitoring is continued.

ステップ304において、CPU201は、ロードされたPDLデータについて、PDLの種別やレンダリングするためのデータ解像度、描画コマンドを解釈する。図5は、PDLデータの一例を示す図であり、ページ開始(レイアウト)コマンド501と2種類の四角形の描画コマンド502及び503とで構成されている。図5(a)は、印刷対象となる、解像度(Resolution)が600dpiの画像を示している。いま、用紙サイズ(Media)がA4(210mm×297mm)、ページ方向(Orientation)が長辺が垂直になるPortraitに指定されており、この場合、生成するビットマップデータの幅と高さ(Area Size)は、「4960pixel×7040pixel」となる。   In step 304, the CPU 201 interprets the type of PDL, the data resolution for rendering, and the drawing command for the loaded PDL data. FIG. 5 is a diagram illustrating an example of PDL data, which includes a page start (layout) command 501 and two types of square drawing commands 502 and 503. FIG. 5A shows an image to be printed and having a resolution of 600 dpi. The paper size (Media) is A4 (210mm x 297mm) and the page orientation (Orientation) is specified as Portrait with the long side vertical. In this case, the width and height of the bitmap data to be generated (Area Size) ) Is “4960pixel × 7040pixel”.

ステップ305において、CPU201は、ステップ304で解釈した結果に基づいてレンダリング用中間データであるディスプレイリスト(DL)を生成する。図6は、図5のPDLデータに対応するディスプレイリストを示している。図6に示すように、ディスプレイリストには、3種類のオブジェクトそれぞれについて、オブジェクトのパス点列(図形の頂点)の情報を元に導出された、オブジェクトを構成する線分の開始座標、終了座標、傾きの情報が、エッジデータとして格納されている。生成されたディスプレイリストは、RAM202に格納される。すなわち、図6のような矩形状のオブジェクト1、2、3のそれぞれからは、3個のエッジが生成されるので、RAM202に格納されるディスプレイリストには、9個(3個×3)のエッジが含まれることになる。   In step 305, the CPU 201 generates a display list (DL) that is intermediate data for rendering based on the result interpreted in step 304. FIG. 6 shows a display list corresponding to the PDL data of FIG. As shown in FIG. 6, the display list includes start coordinates and end coordinates of line segments that are derived from information on the path point sequence (vertex of the figure) of the object for each of the three types of objects. , Inclination information is stored as edge data. The generated display list is stored in the RAM 202. That is, since three edges are generated from each of the rectangular objects 1, 2, and 3 as shown in FIG. 6, the display list stored in the RAM 202 includes 9 (3 × 3). Edges will be included.

ステップ306において、CPU201は、生成したディスプレイリストのレンダリング処理をRIP210に要求する。この要求を受けてRIP210はレンダリング処理を実行し、ビットマップデータを生成する。前述のとおり本実施例では、ブロック分割によるレンダリング処理が実行される。このブロック分割レンダリングの詳細は後述する。   In step 306, the CPU 201 requests the RIP 210 to render the generated display list. In response to this request, the RIP 210 executes a rendering process and generates bitmap data. As described above, in this embodiment, rendering processing by block division is executed. Details of the block division rendering will be described later.

ステップ307において、CPU201は、レンダリング結果であるビットマップデータについての所定の画像処理を、印刷画像処理部212、編集用画像処理部213及びCMM214に要求する。この要求を受けて、印刷画像処理部212、編集用画像処理部213及びCMM214では、用紙の搬送方向に合わせた回転や、色変換処理、濃度補正処理などがビットマップデータに対して施される。   In step 307, the CPU 201 requests the print image processing unit 212, the editing image processing unit 213, and the CMM 214 to perform predetermined image processing on the bitmap data that is the rendering result. In response to this request, the print image processing unit 212, the editing image processing unit 213, and the CMM 214 perform rotation, color conversion processing, density correction processing, and the like in accordance with the paper transport direction on the bitmap data. .

ステップ308において、CPU201は、画像処理が施されたビットマップデータの印刷処理を印刷部123に要求する。要求を受けて印刷部123は、印刷処理を実行して、印刷後の用紙を出力する。   In step 308, the CPU 201 requests the printing unit 123 to print bitmap data that has undergone image processing. Upon receiving the request, the printing unit 123 executes printing processing and outputs the printed paper.

以上が、プリンタ120における留め置き印刷処理の内容である。   The contents of the reservation printing process in the printer 120 have been described above.

続いて、上述のステップ306におけるブロック分割レンダリング処理について説明する。このブロック分割レンダリング処理は、処理対象となるスキャンライン毎に順次レンダリングするための情報をディスプレイリストから読み取り、例えば、1240pixel×1240pixelといったサイズのブロック単位の画像データに出力していく処理である。RIP210によるブロック分割レンダリングは、CPU201が、ROM203やHDD204に保存されている所定のプログラムをRAM202に展開して実行することによって実現される。以下、図7に示すブロック分割レンダリング処理の流れを示すフローチャートに従って説明する。   Next, the block division rendering process in step 306 described above will be described. This block division rendering process is a process of reading information for sequentially rendering each scan line to be processed from a display list and outputting it to image data in block units having a size of, for example, 1240 pixels × 1240 pixels. Block division rendering by the RIP 210 is realized by the CPU 201 developing a predetermined program stored in the ROM 203 or the HDD 204 in the RAM 202 and executing it. In the following, description will be given according to the flowchart showing the flow of the block division rendering process shown in FIG.

ステップ701において、RIP210は、ディスプレイリストを受信する。具体的には、CPU201によってRAM202上にブロック分割レンダリングの対象となるディスプレイリストが展開される。   In step 701, the RIP 210 receives a display list. Specifically, the display list to be subjected to block division rendering is expanded on the RAM 202 by the CPU 201.

ステップ702において、RIP210は、ディスプレイリストをスキャンライン毎に解析し、順次レンダリングするためのエッジデータを抽出する。例えば、前述の図6に示すディスプレイリストにおける1000ライン目のスキャンラインを解析する場合、オブジェクトを構成する直線情報に基づいて、該直線とスキャンラインとの交点をオブジェクト毎に算出する。   In step 702, the RIP 210 analyzes the display list for each scan line, and extracts edge data for sequential rendering. For example, when analyzing the 1000th scan line in the display list shown in FIG. 6, the intersection of the straight line and the scan line is calculated for each object based on the straight line information constituting the object.

ステップ703において、RIP210は、注目スキャンラインから抽出したエッジデータについてソート処理を行う。図8は、上記1000ライン目のスキャンラインから抽出したエッジデータに対してソート処理を行なった結果を示す図であり、図6における3種類のオブジェクト1〜3におけるエッジデータについてのソート処理結果が示されている。オブジェクト1〜3のエッジデータを順にロードし、エッジのX座標に基づいて挿入位置を決定してソートすることで、図8に示すようなリスト形式のソート後エッジデータが得られる。   In step 703, the RIP 210 performs sort processing on the edge data extracted from the target scan line. FIG. 8 is a diagram showing a result of performing the sort process on the edge data extracted from the 1000th scan line. The sort process results for the edge data in the three types of objects 1 to 3 in FIG. It is shown. By sequentially loading the edge data of the objects 1 to 3, and determining the insertion position based on the X coordinate of the edge and sorting, the sorted edge data in a list format as shown in FIG. 8 is obtained.

ステップ704において、RIP210は、ソート後エッジデータから注目スキャンラインにおけるスパン情報を生成し、スパン内に存在するオブジェクトをレベル順にソートして描画に必要なオブジェクトのレベル情報を生成する。図9は、図5のPDLデータに対応するページ900内のバンド901について得られるスパン情報を説明する図である。図9(a)に示すように、所定のバンド高さを持つバンド901は、オブジェクトの位置に従って縦方向(副走査方向)に3つの領域に分けられ、その上で、スパン1〜スパン7の7つのスパンに分割される。より詳細には、領域1は、領域1の高さに相当するライン数分のスパン1で構成される。領域2は、領域2の高さに相当するライン数分のスパン2とスパン3で構成される。領域3は、領域3の高さに相当するライン数分のスパン4、スパン5、スパン6及びスパン7で構成される。図9(b)は、スパン1〜スパン7の各スパンにおいて、何をどのように描画するのかを規定したスパン情報を示している。ここで、スパン5のスパン情報における“ROP2”は、バイナリラスターオペレーションの意味である。そして、レベル番号1〜3に内容の異なる塗り情報フィル1〜3がそれぞれ対応付けられている。この場合において、領域3に属する上記1000ライン目については、スパン4〜7の4つのスパン情報が生成されることになる。   In step 704, the RIP 210 generates span information in the scan line of interest from the sorted edge data, sorts objects existing in the span in order of level, and generates level information of objects necessary for drawing. FIG. 9 is a diagram illustrating span information obtained for the band 901 in the page 900 corresponding to the PDL data in FIG. As shown in FIG. 9A, a band 901 having a predetermined band height is divided into three regions in the vertical direction (sub-scanning direction) according to the position of the object, and then spans 1 to 7 are spanned. Divided into 7 spans. More specifically, the region 1 includes spans 1 corresponding to the number of lines corresponding to the height of the region 1. The area 2 includes spans 2 and 3 corresponding to the number of lines corresponding to the height of the area 2. The area 3 is composed of the span 4, the span 5, the span 6 and the span 7 corresponding to the number of lines corresponding to the height of the area 3. FIG. 9B shows span information that defines what and how to draw in each of the spans 1 to 7. Here, “ROP2” in the span information of the span 5 means a binary raster operation. The fill information files 1 to 3 having different contents are associated with the level numbers 1 to 3, respectively. In this case, four pieces of span information of spans 4 to 7 are generated for the 1000th line belonging to the region 3.

そして、このようなスパン情報に基づき、描画に必要なオブジェクトのレベル情報が併せて生成される。図10は、上記1000ライン目について含まれる4つのスパンのうち、スパン5について生成されるレベル情報の生成過程を説明する図である。図10では、スパン5内に存在する3種類のオブジェクト1〜3をレベル順にソートした結果が示されている。すなわち、「レベル番号3・フィル3のオブジェクト3」、「レベル番号1・フィル1のオブジェクト1」、「レベル番号2・フィル2のオブジェクト2」の順にロードした場合のソート処理結果が示されている。図10に示されるように、各オブジェクトがロードされると、レベル番号に従って連結リスト内にレベル順に並ぶようにソートされる。そして、スパン内に存在するすべてのオブジェクトがロードされると、実際に描画されるオブジェクトのレベル情報が選択されて出力する。例えば、図10に示すスパン5の場合、ロード対象のオブジェクトに合成処理や透過処理の指定がなされていない限り、最前面に位置するオブジェクト以外は陰面消去する必要がある。そのため、図10の例では、最終的に描画される、レベル番号3のオブジェクト3のレベル情報のみが出力されることになる。このようにして、注目スキャンラインについてのスパン情報と、当該スパン情報に対応するレベル情報が出力される。   Then, based on such span information, object level information necessary for drawing is also generated. FIG. 10 is a diagram illustrating a generation process of level information generated for the span 5 among the four spans included in the 1000th line. FIG. 10 shows the result of sorting the three types of objects 1 to 3 existing in the span 5 in order of level. That is, the sort processing result when loading in the order of “level number 3 / fill 3 object 3”, “level number 1 / fill 1 object 1”, “level number 2 / fill 2 object 2” is shown. Yes. As shown in FIG. 10, when each object is loaded, the objects are sorted so as to be arranged in the order of levels in the linked list according to the level number. When all the objects existing in the span are loaded, the level information of the actually drawn object is selected and output. For example, in the case of span 5 shown in FIG. 10, it is necessary to erase the hidden surface except for the object positioned at the foreground unless the object to be loaded is designated for the synthesis process or the transparent process. Therefore, in the example of FIG. 10, only the level information of the object 3 with the level number 3 that is finally drawn is output. In this way, span information about the target scan line and level information corresponding to the span information are output.

ステップ705において、RIP210は、ステップ704で生成された注目スキャンラインについてのスパン情報とレベル情報を、ワークバッファに格納する。   In step 705, the RIP 210 stores the span information and level information for the target scan line generated in step 704 in the work buffer.

ステップ706において、RIP210は、ワークバッファに格納されたスキャンライン毎のスパン情報とレベル情報が、所定のブロック高さのスキャンライン分だけ格納されたかを判定する。まだ所定のブロック高さ(例えば1240pixels)分のスキャンラインのスパン情報とレベル情報が格納されていない場合は、ステップ702に戻って次のスキャンラインを注目スキャンラインとして処理を続行する。一方、所定のブロック高さ分のスキャンラインのスパン情報とレベル情報が格納されていれば、ステップ707に進む。   In step 706, the RIP 210 determines whether the span information and level information for each scan line stored in the work buffer is stored for a scan line of a predetermined block height. If the span information and the level information of the scan line for a predetermined block height (for example, 1240 pixels) have not been stored yet, the process returns to step 702 and the process continues with the next scan line as the target scan line. On the other hand, if the scan line span information and level information for a predetermined block height are stored, the process proceeds to step 707.

ステップ707において、RIP210は、ワークバッファに格納された所定のブロック高さ分のスパン情報とレベル情報に基づいて、所定の座標を跨ぐスパンを分割して、全てのスパンが所定のブロック内に収まるようにする(ブロック分割)。図11は、図9(a)のバンド901内の領域1〜3に含まれる7つのスパン(スパン1〜7)を、ブロック分割した結果を示す図である。図11(a)に示すように、図9(a)におけるバンド901内の計3つの領域1〜3においてスパン1〜7は、所定のブロック幅で分割された結果、計12個の領域4〜15において14個のスパン1〜14に細分化される。詳細には、ブロック1は、領域4の高さのライン数分のスパン1、領域5の高さのライン数分のスパン5、領域6の高さのライン数分のスパン9及び10で構成される。ブロック2は、領域7の高さのライン数分のスパン2、領域8の高さのライン数分のスパン6、領域9の高さのライン数分のスパン11で構成される。ブロック3は、領域10の高さのライン数分のスパン3、領域11の高さのライン数分のスパン4、領域12の高さのライン数分のスパン12及び13で構成される。ブロック4は、領域13の高さのライン数分のスパン4、領域14の高さのライン数分のスパン8、領域15の高さのライン数分のスパン14で構成される。このように、ブロック分割の前後で、スパンの数は変化する(増える)。   In step 707, the RIP 210 divides spans spanning predetermined coordinates based on span information and level information for a predetermined block height stored in the work buffer, and all spans fit within the predetermined block. (Block division). FIG. 11 is a diagram illustrating a result of block division of seven spans (spans 1 to 7) included in regions 1 to 3 in the band 901 in FIG. 9A. As shown in FIG. 11A, spans 1 to 7 in a total of three regions 1 to 3 in a band 901 in FIG. 9A are divided by a predetermined block width, resulting in a total of 12 regions 4. In -15, it is subdivided into 14 spans 1-14. Specifically, the block 1 is composed of a span 1 corresponding to the number of lines of the height of the region 4, a span 5 corresponding to the number of lines corresponding to the height of the region 5, and spans 9 and 10 corresponding to the number of lines corresponding to the height of the region 6. Is done. The block 2 includes a span 2 corresponding to the number of lines corresponding to the height of the region 7, a span 6 corresponding to the number of lines corresponding to the height of the region 8, and a span 11 corresponding to the number of lines corresponding to the height of the region 9. The block 3 includes a span 3 corresponding to the number of lines corresponding to the height of the region 10, a span 4 corresponding to the number of lines corresponding to the height of the region 11, and spans 12 and 13 corresponding to the number of lines corresponding to the height of the region 12. The block 4 includes a span 4 corresponding to the number of lines corresponding to the height of the region 13, a span 8 corresponding to the number of lines corresponding to the height of the region 14, and a span 14 corresponding to the number of lines corresponding to the height of the region 15. Thus, the number of spans changes (increases) before and after block division.

ステップ708において、RIP210は、分割されたブロックのうち、注目するブロック内の注目するスパンについて、フィル処理とコンポジット処理を行う。例えば、図11(a)のバンド901に対応するブロック高さに相当するスキャンライン分のスパン情報とレベル情報がワークバッファに格納されている場合、最初にブロック1が注目ブロックに決定され、スパン1を注目スパンとしてそのスパン情報とレベル情報に基づいて、フィル処理とコンポジット処理がなされる。   In step 708, the RIP 210 performs fill processing and composite processing on the span of interest in the block of interest among the divided blocks. For example, when span information and level information for a scan line corresponding to the block height corresponding to the band 901 in FIG. 11A are stored in the work buffer, block 1 is first determined as the target block, and the span is Fill processing and composite processing are performed based on the span information and level information with 1 as the target span.

ステップ709において、RIP210は、注目ブロック内のすべてのスパンについてフィル処理とコンポジット処理が終了したかどうかを判定する。判定の結果、注目ブロック内に未処理のスパンがあれば、ステップ708に戻る。例えば、スパン1についての処理が終わった段階であれば、次のスパン5が注目スパンとなって処理が続行される。一方、注目ブロック内に未処理のスパンがなければ、ステップ710に進む。   In step 709, the RIP 210 determines whether fill processing and composite processing have been completed for all spans in the block of interest. As a result of the determination, if there is an unprocessed span in the block of interest, the process returns to step 708. For example, if the process for span 1 is completed, the next span 5 becomes the target span and the process is continued. On the other hand, if there is no unprocessed span in the block of interest, the process proceeds to step 710.

ステップ710において、RIP210は、ワークバッファに格納された全てのスキャンライン分のスパン(ブロック分割後の全てのスパン)に対し、フィル処理とコンポジット処理が完了したかどうかを判定する。未処理のスパンがある(すなわち、未処理のブロックがある)場合は、ステップ708に戻って次のブロックを注目ブロックに決定し、処理を続行する。例えば、ブロック1についての処理が終わった段階であれば、次のブロック2が注目ブロックとなって処理が続行され、ブロック4についての処理が終了するまで繰り返される。   In step 710, the RIP 210 determines whether fill processing and composite processing have been completed for all scan line spans (all spans after block division) stored in the work buffer. If there is an unprocessed span (that is, there is an unprocessed block), the process returns to step 708 to determine the next block as the target block, and the processing is continued. For example, if the process for block 1 is completed, the next block 2 becomes the target block, the process is continued, and the process is repeated until the process for block 4 is completed.

ステップ711において、RIP210は、受信したディスプレイリストについての全てのスキャンラインについて、レンダリング処理が完了したか否かを判定する。未処理のスキャンラインがあれば、ステップ702に戻って次の注目スキャンラインを決定し処理を続行する。一方、全てのスキャンラインについてレンダリング処理が完了していれば、本処理を終了する。   In step 711, the RIP 210 determines whether the rendering process has been completed for all the scan lines for the received display list. If there is an unprocessed scan line, the process returns to step 702 to determine the next target scan line and continue the process. On the other hand, if the rendering process has been completed for all the scan lines, this process ends.

以上が、RIP210によるブロック分割レンダリング処理の内容である。上述のとおりブロック分割によってスパン数が増加するため、増加したスパン数分のフィル・コンポジット処理が新たに発生することになる。しかし、ホストコンピュータ110から送られてくるPDLデータは、RIP210で実行されるブロック分割レンダリングを考慮した構成にはなっていない。PDLデータ内にブロック分割処理の発生とその位置を示す情報を持たせることができれば、ブロック分割レンダリングに要する時間を正確に予測することを可能となる。   The above is the content of the block division rendering process by the RIP 210. As described above, the number of spans increases due to the block division, and therefore, fill / composite processing for the increased number of spans newly occurs. However, the PDL data sent from the host computer 110 is not configured in consideration of block division rendering executed by the RIP 210. If information indicating the occurrence and position of block division processing can be included in the PDL data, the time required for block division rendering can be accurately predicted.

本実施例では、補正情報としてのクリップコマンドをブロック分割処理が発生する位置に付加したPDLデータを生成し、これを用いて正確な処理時間を予測することとしている。ここで、クリップコマンドとは、該コマンドが指定する位置に存在する描画オブジェクトを、クリップコマンドが指定する形状(例えば矩形)にくり抜くことを指示する描画コマンドである。図12は、クリップコマンドの一例を示す図である。図12では、描画オブジェクト1200が、クリップコマンド1201が指定する形状にくり抜かれた結果、画像1202が形成されている。   In this embodiment, PDL data in which a clip command as correction information is added at a position where block division processing occurs is generated, and an accurate processing time is predicted using this. Here, the clip command is a drawing command for instructing to cut out a drawing object existing at a position specified by the command into a shape (for example, a rectangle) specified by the clip command. FIG. 12 is a diagram illustrating an example of a clip command. In FIG. 12, an image 1202 is formed as a result of the drawing object 1200 being cut out in the shape specified by the clip command 1201.

このようなクリップ処理をRIP210で実行した場合には、スパン情報をクリップコマンドが指定する位置座標(エッジ)で分割し、分割後の位置座標が示す閉領域の外に存在するスパン情報を削除することで、クリップコマンドが指定する形状にくり抜かれる。したがって、RIP210で実際に実行されるブロック分割と同等の処理を、クリップコマンドに基づくクリップ処理で再現することができる。   When such clip processing is executed by the RIP 210, span information is divided by position coordinates (edges) designated by the clip command, and span information existing outside the closed region indicated by the position coordinates after division is deleted. This cuts out the shape specified by the clip command. Therefore, processing equivalent to block division actually executed by the RIP 210 can be reproduced by clip processing based on the clip command.

続いて、本実施例の特徴である、精度の高い印刷所要時間を算出する処理について説明する。図13は、印刷所要時間算出処理の流れを示すフローチャートである。この一連の処理も、ROM203又はHDD204に保存されたプログラムをRAM202に展開し、これをCPU201が実行することによって実現される。   Next, the process for calculating the required printing time with high accuracy, which is a feature of this embodiment, will be described. FIG. 13 is a flowchart showing the flow of the required print time calculation process. This series of processing is also realized by developing a program stored in the ROM 203 or the HDD 204 in the RAM 202 and executing it by the CPU 201.

PC110から留め置き印刷の対象となる印刷ジョブを受信すると、ステップ1301において、CPU201は、受信した印刷ジョブ内のPDLデータから1ページ分のPDLデータを取り出す。   When a print job to be reserved for printing is received from the PC 110, in step 1301, the CPU 201 extracts one page of PDL data from the PDL data in the received print job.

ステップ1302において、CPU201は、取り出した1ページ分のPDLデータから、該ページ分のレンダリング処理に要する時間を予測するためのPDLデータ(以下、予測用PDLデータ)を生成する。この予測用PDLデータは、ブロック分割時の各ブロックに対応するクリップコマンドが追加されたPDLデータである。予測用PDLデータの生成処理については図16を用いて後述する。   In step 1302, the CPU 201 generates PDL data (hereinafter referred to as prediction PDL data) for predicting the time required for rendering processing for the page from the extracted PDL data for one page. This prediction PDL data is PDL data to which a clip command corresponding to each block at the time of block division is added. The process for generating the prediction PDL data will be described later with reference to FIG.

ステップ1303において、CPU201は、生成した予測用PDLデータからディスプレイリストを生成し、当該ディスプレイリストに基づいて、レンダリング処理に要すると見込まれる時間を予測する。具体的には、生成したディスプレイリストに含まれるエッジ数、全エッジを加算したエッジ高、スパン数及びRIP210が1つのピクセルデータの生成に掛かる処理時間を基に、ブロック分割レンダリング処理の予測時間(以下、レンダリング予測時間)を算出する。レンダリング予測時間の算出が終わると、生成したディスプレイリストはRAM202やHDD204に格納することなく破棄される。   In step 1303, the CPU 201 generates a display list from the generated prediction PDL data, and predicts a time expected to be required for the rendering process based on the display list. Specifically, based on the number of edges included in the generated display list, the edge height obtained by adding all the edges, the number of spans, and the processing time required for generating one pixel data for the RIP 210, the predicted time of block division rendering processing ( Hereinafter, a rendering rendering time) is calculated. When the rendering prediction time is calculated, the generated display list is discarded without being stored in the RAM 202 or the HDD 204.

図15は、図14の予測用PDLデータをもとに生成したディスプレイリストを示している。図6で示す3種類のオブジェクトに加え、挿入された24個のクリップコマンドに対応する矩形オブジェクトを構成する直線の開始座標、終了座標、傾きの情報が、エッジデータとして格納されている。このように、図14に示す予測用PDLデータをもとに生成したディスプレイリストは、元のディスプレイリスト(図6を参照)が3個の描画コマンドを有していたのに対し、27個の描画コマンドを有することになる。そして、元のディスプレイリストでは9個(1つのオブジェクト当たり3個×3)であった全エッジ数は、図15のディスプレイリストでは81個(3個×27)に増える。これにより全てのエッジの高さを加算した全エッジ高は、元のディスプレイリストにおける20680(7040*2+1000*2+2300*2)から、矩形オブジェクト分の56320(1240*2*20+840*2*4)だけ増えて77000になる。さらに図示していないが、ブロック分割によって、ページ内の全スパン数も11から48に増えることになる。例えば、図15において1行目の4つのブロックについては、ブロック分割後は、図11(a)、(b)で示したようにスパン数は14であるが、ブロック分割を考慮しないとスパン数は7と計上される。スパン内のフィル(塗り情報)は変化しないため、RIP210が生成するピクセルデータ(例えばCMYKの場合、1ピクセルデータは32ビット)数は、全エッジを加算したエッジ高とスパン数から算出できる。そして、算出したピクセルデータ数にRIP210が1つのピクセルデータの生成にかかる処理時間を乗算することで、レンダリング予測時間を算出できる。   FIG. 15 shows a display list generated based on the prediction PDL data of FIG. In addition to the three types of objects shown in FIG. 6, information on the start coordinates, end coordinates, and inclinations of straight lines constituting the rectangular object corresponding to the inserted 24 clip commands is stored as edge data. Thus, the display list generated based on the prediction PDL data shown in FIG. 14 has 27 drawing commands, whereas the original display list (see FIG. 6) has 3 drawing commands. It will have a drawing command. Then, the total number of edges, which was 9 (3 × 3 per object) in the original display list, is increased to 81 (3 × 27) in the display list of FIG. As a result, the total edge height obtained by adding the heights of all the edges becomes 56320 (1240 * 2 * 20 + 840) for the rectangular object from 20680 (7040 * 2 + 1000 * 2 + 2300 * 2) in the original display list. * 2 * 4) will increase to 77,000. Although not shown in the figure, the total number of spans in the page is increased from 11 to 48 by block division. For example, for the four blocks in the first row in FIG. 15, after the block division, the number of spans is 14 as shown in FIGS. 11 (a) and 11 (b). Is recorded as 7. Since the fill (painting information) in the span does not change, the number of pixel data generated by the RIP 210 (for example, in the case of CMYK, one pixel data is 32 bits) can be calculated from the edge height obtained by adding all the edges and the number of spans. Then, the rendering prediction time can be calculated by multiplying the calculated number of pixel data by the processing time required for the RIP 210 to generate one pixel data.

ステップ1304において、CPU201は、受信した印刷ジョブに含まれる全ページ分のPDLデータに対してレンダリング予測時間の算出が完了したかどうかを判定する。レンダリング予測時間を未算出のページがある場合はステップ1301に戻って、次のページを対象に処理を続行する。一方、受信した印刷ジョブに含まれる全ページ分のPDLデータに対してレンダリング予測時間の算出が完了していれば、ステップ1305に進む。   In step 1304, the CPU 201 determines whether or not the calculation of the rendering prediction time has been completed for the PDL data for all pages included in the received print job. If there is a page whose rendering prediction time has not yet been calculated, the process returns to step 1301 to continue the process for the next page. On the other hand, if the calculation of the rendering prediction time has been completed for the PDL data for all pages included in the received print job, the process proceeds to step 1305.

ステップ1305において、CPU201は、全ページ分のPDLデータについて算出されたレンダリング予測時間に、印刷用紙の給紙から排紙までの時間を加算した値を、印刷所要時間として留め置きされた印刷ジョブと関連付けてRAM202やHDD204に保存する。   In step 1305, the CPU 201 associates a value obtained by adding the time from paper feeding to paper discharge with the estimated rendering time calculated for the PDL data for all pages with the print job reserved as the required printing time. And stored in the RAM 202 or the HDD 204.

このように、プリンタ120は、PC110から印刷ジョブを受信する度に、受信した印刷ジョブについて印刷所要時間を算出した上で、装置内に印刷ジョブを留め置く。そして、留め置きされた印刷ジョブについてユーザから印刷指示を受けるときに、印刷ジョブと関連付けて保存された値が、印刷設定情報とともに当該印刷ジョブの出力に要する所要時間として表示される(前述の図4を参照)。   In this way, each time a print job is received from the PC 110, the printer 120 calculates the required print time for the received print job and holds the print job in the apparatus. When a print instruction is received from the user for the retained print job, the value stored in association with the print job is displayed as the required time required to output the print job together with the print setting information (FIG. 4 described above). See).

次に、上述のステップ1302に係る予測用PDLデータの生成処理について詳しく説明する。図16は、予測用PDLデータ生成処理の詳細を示すフローチャートである。   Next, the prediction PDL data generation process according to step 1302 described above will be described in detail. FIG. 16 is a flowchart showing details of the PDL data generation process for prediction.

ステップ1601において、CPU201は、ブロック分割レンダリング処理において用いるブロックのサイズ(高さと幅)の情報を取得する。このブロックサイズの情報は、ROM203やHDD204にてあらかじめ保存される。前述の図14のようにブロック分割する場合は、ブロックサイズ情報として幅・高さ共に1240pixelが取得されることとなる。なお、ページ終端に位置するブロックのサイズは、ページサイズを超えないよう、他のブロックとは異なるサイズとなる場合がある。例えば、図14の例では、y軸方向ページ終端に位置するブロックの高さは840pixcelとなっている。   In step 1601, the CPU 201 acquires block size (height and width) information used in the block division rendering process. This block size information is stored in advance in the ROM 203 or HDD 204. When the blocks are divided as shown in FIG. 14 described above, 1240 pixels are acquired as the block size information in both width and height. Note that the size of the block located at the end of the page may be different from other blocks so as not to exceed the page size. For example, in the example of FIG. 14, the height of the block located at the end of the page in the y-axis direction is 840 pixcel.

ステップ1602において、CPU201は、処理対象ページのPDLデータについて、データ解像度、用紙サイズ及びページ方向の情報を取得する。図5に示したPDLデータの場合、「解像度:600dpi」、「用紙サイズ:A4」、「ページ方向:Portrait」が取得されることになる。PDLデータに解像度及び用紙サイズの情報が含まれていない場合は、予め設定した既定値を取得するなどすればよい。   In step 1602, the CPU 201 acquires data resolution, paper size, and page direction information for the PDL data of the processing target page. In the case of the PDL data shown in FIG. 5, “resolution: 600 dpi”, “paper size: A4”, and “page direction: Portrait” are acquired. If the PDL data does not include resolution and paper size information, preset default values may be acquired.

ステップ1603において、CPU201は、ステップ602で取得したデータ解像度、用紙サイズ及びページ方向の情報から、生成するビットマップデータの幅と高さを決定する。前述のとおり、用紙サイズ(Media)がA4、ページ方向(Orientation)がPortraitなので、生成するビットマップデータの幅と高さ(Area Size)は4960pixel×7040pixelとなる。このとき、ビットマップデータの高さを示す値がページ高さ方向の終端位置を特定するY座標(以下、ページ終端Y座標)として、幅を示す値がページ幅方向の終端位置を特定するX座標(以下、ページ終端X座標)として得られることになる。   In step 1603, the CPU 201 determines the width and height of the bitmap data to be generated from the data resolution, paper size, and page direction information acquired in step 602. As described above, since the paper size (Media) is A4 and the page direction (Orientation) is Portrait, the width and height (Area Size) of the generated bitmap data is 4960 pixels × 7040 pixels. At this time, a value indicating the height of the bitmap data is a Y coordinate that specifies the end position in the page height direction (hereinafter, page end Y coordinate), and a value indicating the width specifies the end position in the page width direction. This is obtained as coordinates (hereinafter, page end X coordinate).

ステップ1604において、CPU201は、ステップ1601で取得したブロックサイズに応じて、処理対象ページのPDLデータについて、処理対象とする注目ブロックの高さ方向における開始位置と終了位置を特定する位置座標(以下、それぞれ「開始Y座標」、「終了Y座標」と呼ぶ。)を導出する。例えば図14で示される1行目のブロックであれば、開始Y座標は1pixel、終了Y座標は、1240pixelとなる。また、2行目以降のブロックについての開始Y座標および終了Y座標のそれぞれは、現在の開始Y座標および終了Y座標のそれぞれにブロック高さを加えることで求まる。例えば図14で示される2行目のブロックであれば、開始Y座標は1241pixel、終了Y座標は、2480pixelとなる。   In step 1604, the CPU 201 determines, based on the block size acquired in step 1601, position coordinates (hereinafter, referred to as “start position” and “end position”) in the height direction of the target block to be processed in the PDL data of the processing target page. Derived as “start Y coordinate” and “end Y coordinate”, respectively). For example, in the case of the block in the first row shown in FIG. 14, the start Y coordinate is 1 pixel and the end Y coordinate is 1240 pixels. Further, the start Y coordinate and the end Y coordinate for the blocks in the second and subsequent lines are obtained by adding the block height to each of the current start Y coordinate and end Y coordinate. For example, in the block in the second row shown in FIG. 14, the start Y coordinate is 1241 pixels and the end Y coordinate is 2480 pixels.

ステップ1605において、CPU201は、ステップ1604で求めた開始Y座標が、ステップ1603で得られたページ終端Y座標を超えているかどうかを判定する。注目ブロックの開始Y座標が、ページ終端Y座標を超えている場合は、ステップ1609に進む。一方、注目ブロックの開始Y座標が、ページ終端Y座標を超えていない場合は、ステップ1606に進む。   In step 1605, the CPU 201 determines whether the start Y coordinate obtained in step 1604 exceeds the page end Y coordinate obtained in step 1603. If the start Y coordinate of the block of interest exceeds the page end Y coordinate, the process proceeds to step 1609. On the other hand, if the start Y coordinate of the block of interest does not exceed the page end Y coordinate, the process proceeds to step 1606.

ステップ1606において、CPU201は、ステップ1601で取得したブロックサイズに応じて、処理対象ページのPDLデータについて、注目ブロックの幅方向における開始位置と終了位置を特定する位置座標(以下、それぞれ「開始X座標」、「終了X座標」と呼ぶ。)を導出する。例えば図14で示される1列目のブロックであれば、開始X座標は1pixel、終了X座標は、1240pixelとなる。また、2列目以降のブロックについての開始X座標および終了X座標のそれぞれは、現在の開始X座標および終了X座標のそれぞれにブロック幅を加えることで求まる。例えば図14で示される2列目のブロックであれば、開始X座標は1241pixel、終了X座標は、2480pixelとなる。   In step 1606, the CPU 201 determines, based on the block size acquired in step 1601, the position coordinates that specify the start position and end position in the width direction of the target block for the PDL data of the processing target page (hereinafter referred to as “start X coordinate”, respectively) And “end X-coordinate”). For example, in the block in the first column shown in FIG. 14, the start X coordinate is 1 pixel and the end X coordinate is 1240 pixels. Further, the start X coordinate and the end X coordinate for the blocks in the second column and thereafter are obtained by adding the block width to each of the current start X coordinate and end X coordinate. For example, in the block in the second column shown in FIG. 14, the start X coordinate is 1241 pixels and the end X coordinate is 2480 pixels.

ステップ1607において、CPU201は、ステップ1606で求めた開始X座標がステップ1604で得られたページ終端X座標を超えているかどうかを判定する。注目ブロックの開始-X座標がページ終端X座標を超えている場合はステップ1604に戻り、次の注目ブロックの開始Y座標と終了Y座標を決定して処理を続行する。一方、注目ブロックの開始X座標が、ページ終端X座標を超えていない場合は、ステップ1608に進む。   In step 1607, the CPU 201 determines whether the start X coordinate obtained in step 1606 exceeds the page end X coordinate obtained in step 1604. If the start-X coordinate of the block of interest exceeds the page end X-coordinate, the process returns to step 1604 to determine the start Y coordinate and end Y coordinate of the next block of interest and continue the processing. On the other hand, if the start X coordinate of the block of interest does not exceed the page end X coordinate, the process proceeds to step 1608.

ステップ1608において、CPU201は、ステップ1604で求めた注目ブロックの開始座標から終了座標までに内接するような矩形オブジェクトのクリップコマンドを生成する。この矩形オブジェクトのクリップコマンドは、注目ブロックに含まれる1つ以上のオブジェクトの、注目ブロック内の部分をくり抜く(抜き出す)ためのコマンドである。そしてCPU201は、生成された矩形オブジェクトのクリップコマンドを、RAM202に展開する。そして、処理はステップ1606に戻り、CPU201は、同じY座標上で次の注目ブロック(右隣のブロック)を決定して処理を続行する。クリップコマンドをRAM202に展開するこの処理は、補正情報を含むPDLデータを生成する処理中の一処理であり、後述のステップ1609の処理を経て得られる、RAM202上の最終的なコマンド群が予測用のPDLデータとなる。   In step 1608, the CPU 201 generates a clip command for a rectangular object that is inscribed from the start coordinate to the end coordinate of the target block obtained in step 1604. This rectangular object clip command is a command for extracting (extracting) a portion of one or more objects included in the block of interest within the block of interest. Then, the CPU 201 expands the generated rectangular object clip command in the RAM 202. Then, the process returns to step 1606, and the CPU 201 determines the next block of interest (the block on the right) on the same Y coordinate and continues the process. This process of developing the clip command in the RAM 202 is a process in the process of generating PDL data including correction information, and the final command group on the RAM 202 obtained through the process of step 1609 described below is used for prediction. PDL data.

ステップ1609において、CPU201は、処理対象ページのPDLデータに当初から含まれるオブジェクト(当初オブジェクト)の描画コマンドを、上述の矩形オブジェクトのクリップコマンドに続くようにRAM202に展開する。すなわち、CPU201は、処理対象ページのPDLデータ中の各コマンドを前述のステップS1608で得られたクリップコマンドの後ろにコピーする。矩形オブジェクトのクリップコマンドを先に展開するのは、これを当初オブジェクトの後にすると、ブロック内に描画される当初オブジェクトをクリップできないためである。このようにステップ1609を完了することで、入力された処理対象ページのPDLデータ(入力PDLデータ)に補正情報としてのクリップコマンドが付加された予測用のPDLデータがRAM202上に生成される。   In step 1609, the CPU 201 expands the drawing command for the object (initial object) included in the PDL data of the processing target page in the RAM 202 so as to follow the above-described rectangular object clip command. That is, the CPU 201 copies each command in the PDL data of the processing target page after the clip command obtained in step S1608 described above. The reason why the rectangular object clip command is expanded first is that if it is after the initial object, the original object drawn in the block cannot be clipped. By completing step 1609 as described above, prediction PDL data in which a clip command as correction information is added to the PDL data (input PDL data) of the input processing target page is generated on the RAM 202.

図14は、このようにして生成された予測用PDLデータの一例を示す図であり、元となった処理対象ページのPDLデータ(図5のPDLデータ)に、計24個のクリップコマンドが追加された予測用PDLデータとなっている。24個のクリップコマンドの内訳は、1240pixel×1240pixelの矩形オブジェクトでクリップするためのクリップコマンド1401が20個、1240pixel×840pixelの矩形オブジェクトでクリップするためのクリップコマンド1402が4個である。   FIG. 14 is a diagram showing an example of the prediction PDL data generated in this way, and a total of 24 clip commands are added to the PDL data of the original processing target page (PDL data in FIG. 5). Prediction PDL data. The breakdown of the 24 clip commands includes 20 clip commands 1401 for clipping with a rectangular object of 1240 pixels × 1240 pixels and four clip commands 1402 for clipping with a rectangular object of 1240 pixels × 840 pixels.

なお、本実施例では、予測用PDLデータの生成の際に挿入する矩形オブジェクトの座標を導出しているが、用紙サイズ、解像度及びページ方向の組み合わせに応じた挿入する矩形オブジェクトのクリップコマンドを予め求めておいてもよい。そして、この情報をHDD204に保持しておいて、取得するような構成でもよい。   In this embodiment, the coordinates of the rectangular object to be inserted at the time of generating the prediction PDL data are derived. However, the clip command of the rectangular object to be inserted corresponding to the combination of the paper size, resolution, and page direction is obtained in advance. You may ask for it. The information may be stored in the HDD 204 and acquired.

また、本実施例では、ブロック分割レンダリング時のブロックに対応する矩形オブジェクトのクリップコマンドを追加することで、予測用PDLデータを生成しているがこれに限定されない。分割時の各ブロックにおいて描画されることになるオブジェクトの該当部分を特定可能な補正情報が付加されたPDLデータであればよく、クリップコマンドの追加は必須ではない。   In this embodiment, the PDL data for prediction is generated by adding a clip command of a rectangular object corresponding to a block at the time of block division rendering. However, the present invention is not limited to this. Any PDL data to which correction information capable of specifying a corresponding portion of an object to be rendered in each block at the time of division may be added, and the addition of a clip command is not essential.

最後に、本実施例の予測用PDLデータを用いた予測時間の精度について説明する。   Finally, the accuracy of the prediction time using the prediction PDL data of this embodiment will be described.

例えば、図9(a)における領域1は、図11(a)における領域4、領域7、領域10、領域13に分割される。スパン内のフィル(塗り情報)は変化しないため、図9(a)の領域1で生成するピクセルデータは、4960pixcel分同色のランレングス符号化データとなる。これに対し、図11(a)の場合は、1240pixcel毎のランレングス符号化データとなる。1色分のランレングス符号化データ(繰り返し情報)に64ビット(8Byte)必要とすると、図9(a)の例ではブロック分割の有無で生成するランレングス符号化データは88Byteから384Byteに増加する。画像バス209の転送速度を250Byte/μsecとするとピクセルデータの出力に0.352μsec要したデータが、1.536μsec要するようになる。   For example, the region 1 in FIG. 9A is divided into a region 4, a region 7, a region 10, and a region 13 in FIG. Since the fill (painting information) in the span does not change, the pixel data generated in the region 1 in FIG. 9A is run-length encoded data of the same color for 4960 pixcels. On the other hand, in the case of FIG. 11A, the run-length encoded data is 1240 pixcel. If 64 bits (8 bytes) are required for run-length encoded data (repetition information) for one color, the run-length encoded data generated by the presence or absence of block division increases from 88 bytes to 384 bytes in the example of FIG. 9A. . If the transfer speed of the image bus 209 is 250 Byte / μsec, the data that required 0.352 μsec to output the pixel data will need 1.536 μsec.

本実施例を適用し、予測用PDLデータにクリップコマンドを挿入することで、分割されるスパン情報が分かるようになり、従来の予測処理時に発生する差分(1.536μsec−0.352μsec)1.184μsecの差分を解消できることになる。   By applying this embodiment and inserting a clip command into the prediction PDL data, it becomes possible to know the span information to be divided, and the difference (1.536 μsec−0.352 μsec) generated during the conventional prediction processing is 1.184 μsec difference Can be eliminated.

以上のとおり本実施例によれば、ブロック分割レンダリングの処理負荷を加味した予測用PDLデータを生成する。このとき生成する予測用PDLデータは、描画コマンドを分割することがないため、入力されたPDLデータに含まれる描画オブジェクトの傾向に依らず、予測用PDLデータを生成できる。   As described above, according to the present embodiment, prediction PDL data that takes into account the processing load of block division rendering is generated. Since the prediction PDL data generated at this time does not divide the drawing command, the prediction PDL data can be generated regardless of the tendency of the drawing object included in the input PDL data.

これにより、ブロック分割レンダリング処理に要する時間を予測する際のメモリ使用量の増加を抑制しつつ、ブロック分割処理を加味したレンダリング予測時間を算出することができる。   Accordingly, it is possible to calculate the rendering prediction time that takes into account the block division processing while suppressing an increase in memory usage when predicting the time required for the block division rendering processing.

(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other examples)
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

Claims (10)

入力PDLデータに対するブロック分割レンダリングによって複数のブロックに分割したビットマップデータを生成するレンダリング手段を有する画像形成装置のための画像処理装置であって、
前記レンダリング手段におけるビットマップデータの生成に要する時間を予測する予測手段と、
前記予測のための補正情報を前記入力PDLデータに付加した予測用PDLデータを生成する予測用PDLデータ生成手段と、
を備え、
前記予測手段は、前記予測用PDLデータから生成した中間データに含まれる補正情報に基づいて、前記予測を行なう
ことを特徴とする画像処理装置。
An image processing apparatus for an image forming apparatus having rendering means for generating bitmap data divided into a plurality of blocks by block division rendering for input PDL data,
Prediction means for predicting the time required to generate bitmap data in the rendering means;
Prediction PDL data generation means for generating prediction PDL data in which correction information for prediction is added to the input PDL data;
With
The image processing apparatus, wherein the prediction means performs the prediction based on correction information included in intermediate data generated from the prediction PDL data.
前記予測用PDLデータ生成手段は、各ブロックに対応する描画コマンドを前記補正情報として前記入力PDLデータに加えることで、前記予測用PDLデータを生成することを特徴とする請求項1に記載の画像処理装置。   The image according to claim 1, wherein the prediction PDL data generation unit generates the prediction PDL data by adding a drawing command corresponding to each block to the input PDL data as the correction information. Processing equipment. 前記予測用PDLデータ生成手段は、前記ブロック毎の位置座標を、処理対象ページの用紙サイズ、データ解像度及びページ方向に基づいて導出し、導出した位置座標から各ブロックに対応する描画コマンドを生成して、前記予測用PDLデータを生成することを特徴とする請求項2に記載の画像処理装置。   The prediction PDL data generation unit derives the position coordinates for each block based on the paper size, data resolution, and page direction of the processing target page, and generates a drawing command corresponding to each block from the derived position coordinates. The image processing apparatus according to claim 2, wherein the prediction PDL data is generated. 前記予測用PDLデータ生成手段は、用紙サイズ、データ解像度及びページ方向の組み合わせに応じ、予め求めておいた各ブロックに対応する描画コマンドを用いて、前記予測用PDLデータを生成することを特徴とする請求項2に記載の画像処理装置。   The prediction PDL data generation unit generates the prediction PDL data using a drawing command corresponding to each block obtained in advance according to a combination of paper size, data resolution, and page direction. The image processing apparatus according to claim 2. 前記各ブロックに対応する描画コマンドは、前記各ブロックに内接する矩形オブジェクトのクリップコマンドであることを特徴とする請求項2乃至4のいずれか1項に記載の画像処理装置。   The image processing apparatus according to claim 2, wherein the drawing command corresponding to each block is a clip command for a rectangular object inscribed in each block. 前記クリップコマンドは、前記入力PDLデータに当初から含まれるオブジェクトの描画コマンドよりも前に付加されることを特徴とする請求項5に記載の画像処理装置。   6. The image processing apparatus according to claim 5, wherein the clip command is added before an object drawing command included in the input PDL data from the beginning. 前記予測手段は、前記予測用PDLデータから中間データを生成し、該中間データに含まれる全エッジを加算したエッジ高とスパン数から前記レンダリング手段が生成するピクセルデータ数に、1つのピクセルデータの生成に掛かる処理時間を乗算することにより、前記レンダリング手段におけるビットマップデータの生成に要する時間を予測し、
前記エッジは、オブジェクトのアウトラインであり、
前記スパンは、単一のスキャンラインにおける前記エッジ間で囲まれる閉領域である
ことを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
The prediction means generates intermediate data from the prediction PDL data, and adds one edge of the pixel data to the number of pixel data generated by the rendering means from the edge height and span number obtained by adding all the edges included in the intermediate data. By multiplying the processing time required for generation, the time required for generating bitmap data in the rendering means is predicted,
The edge is the outline of the object,
The image processing apparatus according to claim 1, wherein the span is a closed region surrounded by the edges in a single scan line.
入力PDLデータに対するブロック分割レンダリングによって複数のブロックに分割したビットマップデータを生成するレンダリング手段を有する画像形成装置であって、請求項1〜7のいずれか1項に記載の画像処理装置を備え、
前記予測手段で予測された時間に、印刷用紙の給紙から排紙に要する時間を加算した値を、印刷所要時間として表示する表示手段をさらに備えたことを特徴とする画像形成装置。
An image forming apparatus having a rendering unit that generates bitmap data divided into a plurality of blocks by block division rendering with respect to input PDL data, comprising the image processing apparatus according to any one of claims 1 to 7,
An image forming apparatus, further comprising: a display unit that displays a value obtained by adding a time required for paper feeding to paper discharge to a time predicted by the prediction unit as a required printing time.
入力PDLデータに対するブロック分割レンダリングによって複数のブロックに分割したビットマップデータを生成するレンダリング手段を有する画像形成装置における、当該ビットマップデータの生成に要する時間を予測する方法であって、
前記予測のための補正情報を前記入力PDLデータに付加した予測用PDLデータを生成するステップと、
前記予測用PDLデータから生成した中間データに含まれる補正情報に基づいて、前記ビットマップデータの生成に要する時間を予測するステップと
を含むことを特徴とする方法。
A method for predicting a time required for generating bitmap data in an image forming apparatus having a rendering unit that generates bitmap data divided into a plurality of blocks by block division rendering for input PDL data,
Generating prediction PDL data in which correction information for prediction is added to the input PDL data;
Predicting the time required to generate the bitmap data based on correction information included in the intermediate data generated from the prediction PDL data.
コンピュータを、請求項1乃至7のいずれか1項に記載の画像処理装置として機能させるためのプログラム。   A program for causing a computer to function as the image processing apparatus according to any one of claims 1 to 7.
JP2015146538A 2015-07-24 2015-07-24 Image processor, image formation device, and image processing time prediction method and program Pending JP2017024321A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015146538A JP2017024321A (en) 2015-07-24 2015-07-24 Image processor, image formation device, and image processing time prediction method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015146538A JP2017024321A (en) 2015-07-24 2015-07-24 Image processor, image formation device, and image processing time prediction method and program

Publications (1)

Publication Number Publication Date
JP2017024321A true JP2017024321A (en) 2017-02-02

Family

ID=57944956

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015146538A Pending JP2017024321A (en) 2015-07-24 2015-07-24 Image processor, image formation device, and image processing time prediction method and program

Country Status (1)

Country Link
JP (1) JP2017024321A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019010817A (en) * 2017-06-30 2019-01-24 キヤノン株式会社 Image processing apparatus, image processing method, and program
US10423374B2 (en) 2017-03-07 2019-09-24 Canon Kabushiki Kaisha Image forming apparatus and method for controlling image forming apparatus for reducing print processing time
US10534567B2 (en) 2017-03-07 2020-01-14 Canon Kabushiki Kaisha Image forming apparatus and method for controlling image forming apparatus
US11321025B2 (en) 2018-12-18 2022-05-03 Canon Kabushiki Kaisha Image forming apparatus, method of controlling the same, and storage medium

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10423374B2 (en) 2017-03-07 2019-09-24 Canon Kabushiki Kaisha Image forming apparatus and method for controlling image forming apparatus for reducing print processing time
US10534567B2 (en) 2017-03-07 2020-01-14 Canon Kabushiki Kaisha Image forming apparatus and method for controlling image forming apparatus
JP2019010817A (en) * 2017-06-30 2019-01-24 キヤノン株式会社 Image processing apparatus, image processing method, and program
US11321025B2 (en) 2018-12-18 2022-05-03 Canon Kabushiki Kaisha Image forming apparatus, method of controlling the same, and storage medium

Similar Documents

Publication Publication Date Title
JP4436851B2 (en) Printer driver program and image forming apparatus
US7864199B2 (en) Image processing apparatus and control method thereof
JP6029344B2 (en) Image processing apparatus, image processing method, and program
JP4458176B2 (en) Printing control apparatus, printing apparatus, and program
US10185901B2 (en) Image processing apparatus and non-transitory computer readable medium with variable image density
US20140071463A1 (en) Image processing apparatus, control method thereof, and storage medium
US10929727B2 (en) Image processing apparatus with color replacement with achromatic colors, and image processing method and storage medium thereof
US20120287476A1 (en) Printing apparatus, data processing method for printing apparatus and storage medium
JP2017024321A (en) Image processor, image formation device, and image processing time prediction method and program
KR101945581B1 (en) Image processing apparatus, image processing method, and storage medium
CN101090434A (en) Image forming apparatus and method of controlling the apparatus
JP5842590B2 (en) Image processing apparatus and control program for image processing apparatus
JP6643056B2 (en) Image processing apparatus, image processing method, data generation method, and program
JP5020998B2 (en) Image processing apparatus and image processing method
US20230007144A1 (en) Image processing apparatus, method of controlling the same, and storage medium
CN107203354B (en) Image processing apparatus and control method thereof
US20150227824A1 (en) Image processing apparatus and non-transitory computer readable medium
JP6904717B2 (en) Image processing equipment, its control method, and programs
JP2016206934A (en) Image processing device, image processing method and program
US8437046B2 (en) Image processing apparatus and method for outputting an image subjected to pseudo-halftone processing
JP6106962B2 (en) Information processing apparatus, program, and recording medium
JP2007081886A (en) Drawing processing apparatus
JP2016055536A (en) Image formation device, program, and control method for image formation device
JP2023077248A (en) Image forming device, control method thereof and program
JP2023033977A (en) Image forming device, image forming device control method and program