JP2015022685A - Image forming apparatus - Google Patents

Image forming apparatus Download PDF

Info

Publication number
JP2015022685A
JP2015022685A JP2013152390A JP2013152390A JP2015022685A JP 2015022685 A JP2015022685 A JP 2015022685A JP 2013152390 A JP2013152390 A JP 2013152390A JP 2013152390 A JP2013152390 A JP 2013152390A JP 2015022685 A JP2015022685 A JP 2015022685A
Authority
JP
Japan
Prior art keywords
pdl
page
processing
image forming
forming apparatus
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
JP2013152390A
Other languages
Japanese (ja)
Inventor
大野 隆
Takashi Ono
隆 大野
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 JP2013152390A priority Critical patent/JP2015022685A/en
Publication of JP2015022685A publication Critical patent/JP2015022685A/en
Pending legal-status Critical Current

Links

Landscapes

  • Record Information Processing For Printing (AREA)
  • Image Processing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an image forming apparatus that executes optimal parallel processing irrespective of the number of pages of PDL data in a multi-core CPU to process the PDL data at a high speed.SOLUTION: In a multi-core CPU, an image forming apparatus determines pages to be processed, and switches to PDL parallel processing in an object unit on the first page and switches to PDL parallel processing in a page unit on the second and subsequent pages. When executing the processing on the remaining one page, the image forming apparatus then switches to the PDL parallel processing in an object unit so as to obtain the optimal performance improvement effect on both single-page data and multiple-page data.

Description

本発明は、画像形成装置に関する。印刷装置等の画像形成装置において、ページ記述言語(PDL)のデータを複数のプロセッサにより処理する手段を備えた画像形成装置に関するものである。   The present invention relates to an image forming apparatus. The present invention relates to an image forming apparatus such as a printing apparatus provided with means for processing page description language (PDL) data by a plurality of processors.

近年、ハードウェア技術の向上により、マルチコアのCPUが開発され、PC等では、複数のアプリケーションを同時実行可能となっている。   In recent years, due to improvements in hardware technology, multi-core CPUs have been developed, and a PC or the like can simultaneously execute a plurality of applications.

マルチファンクションプリンタ(MFP)においても、コピー、プリント等の複数の機能をストレスなく並列実行するために、マルチコアのCPUが搭載されるようになっている。MFPにおいて、PDLデータの印刷処理はCPUの使用率が非常に高く、マルチコアのCPUを使って、各ページをそれぞれ並列に処理(ページ並列処理)し、より高速に印刷できる方法が提案されている(特許文献1参照)。   A multi-function printer (MFP) is also equipped with a multi-core CPU in order to execute a plurality of functions such as copying and printing in parallel without stress. In the MFP, the PDL data print process has a very high CPU usage rate, and a method has been proposed in which each page is processed in parallel (page parallel process) using a multi-core CPU and printed at a higher speed. (See Patent Document 1).

また、PDLデータ内のコマンドの並べ替えをしてから、各コマンドをそれぞれのCPUでオブジェクト単位の並列処理(オブジェクト並列処理)を実行し、効率よくマルチコアのCPUで処理する方法も提案されている(例えば、特許文献2参照)。   In addition, a method has been proposed in which commands in the PDL data are rearranged, and then each command is executed in parallel on an object basis (object parallel processing) by each CPU and processed efficiently by a multi-core CPU. (For example, refer to Patent Document 2).

特開平05−201077号公報Japanese Patent Laid-Open No. 05-201077 特開2009−259231号公報JP 2009-259231 A

しかし、前述したPDLのページ並列処理では、複数ページのデータにおいては、効率は良くマルチコアCPUを活かすことができるが、単ページデータにおいては効果がない。また、前述したPDLのオブジェクト並列処理では、単ページデータにおいて効果はあるが、オブジェクト単位でスレッド間のシステムコールが発生し、複数ページのデータにおいてはページ並列処理より効果が低くなる。   However, the PDL page parallel processing described above can efficiently utilize the multi-core CPU for a plurality of pages of data, but has no effect on single-page data. The PDL object parallel processing described above is effective for single-page data, but a system call between threads is generated in units of objects, and the effect is lower for multi-page data than for page parallel processing.

そこで、本発明はマルチコアCPUにおいて、PDLデータのページ数にかかわらず最適な並列処理を実行することで、PDLデータを高速に処理する画像形成装置を提供するものである。   Therefore, the present invention provides an image forming apparatus that processes PDL data at high speed by executing optimal parallel processing regardless of the number of pages of PDL data in a multi-core CPU.

上述した問題を解決するために、
PDLデータに対し、複数のPDL処理により、複数のページを並列に処理するページ並列処理手段(402,403)と、ページ内のオブジェクトを並列に処理するオブジェクト並列処理手段(404、405)と
前記並列処理手段を複数のCPU(204)で実行する画像形成装置(101)において
PDLデータを解析し、ページを判定するページ判定手段(213)と、
前記ページ並列処理手段により実行する複数のPDL処理のページ処理状況を管理するステータス管理手段(501、502)と、
前記ページ判定手段とステータス管理手段に応じて、前記、オブジェクト並列処理手段を実行するかどうかを切り替える処理切り替え手段(S1003、S1022、S1103)と、前記ステータス管理手段により管理された処理状況に応じて、前記ページ並列処理のページ処理実行を切り替えるページ処理制御手段(S1031、S1013)を有することを特徴とし、
前記オブジェクト並列処理手段は、オブジェクト単位でPDL解析とDL(Display List)生成をパイプラインで並列処理することを特徴とし、
前記処理切り替え手段は、前記ページ判定手段で判定したページが最初のページであると判定した場合、前記オブジェクト並列処理手段でページのPDL処理をすることを特徴とし、
さらに、前記処理切り替え手段は、前記ステータス管理手段で管理された複数のPDL処理のステータスから、いずれかのPDL処理が終了したかを判定する終了判定手段と、前記終了判定手段により、終了したPDL処理と終了していないPDL処理があった場合、終了していないPDL処理を前記オブジェクト並列処理手段に切り替えて処理することを特徴とし、
前記ページ処理制御手段は、前記ステータス管理手段で管理された複数のPDL処理のステータスから、最初のページが処理中であると判定した場合、次のページ以降のPDL処理を最初のページのPDL処理が終了するまで待つように制御することを特徴とする。
To solve the above problem,
A page parallel processing means (402, 403) for processing a plurality of pages in parallel by a plurality of PDL processes for PDL data, an object parallel processing means (404, 405) for processing objects in a page in parallel, and A page determination unit (213) that analyzes PDL data and determines a page in an image forming apparatus (101) that executes a parallel processing unit with a plurality of CPUs (204);
Status management means (501, 502) for managing page processing statuses of a plurality of PDL processes executed by the page parallel processing means;
Depending on the page determination means and the status management means, the process switching means (S1003, S1022, S1103) for switching whether to execute the object parallel processing means, and the processing status managed by the status management means. And page processing control means (S1031, S1013) for switching the page processing execution of the page parallel processing,
The object parallel processing means performs parallel processing of PDL analysis and DL (Display List) generation in a pipeline on a per-object basis,
The process switching means, when it is determined that the page determined by the page determination means is the first page, PDL processing of the page by the object parallel processing means,
Furthermore, the process switching means includes an end determination means for determining whether any of the PDL processes has been completed from the statuses of the plurality of PDL processes managed by the status management means, and the PDL that has been terminated by the end determination means. When there is a process and an unfinished PDL process, the unfinished PDL process is switched to the object parallel processing means,
When the page processing control unit determines from the status of the plurality of PDL processes managed by the status management unit that the first page is being processed, the PDL process of the first page Control is performed so that the process waits until the process ends.

マルチコアCPUにおいて、処理するページを判定し、1ページ目の場合は、オブジェクト単位のPDL並列処理に切り替え、2ページ目以降はページ単位のPDL並列処理に切り替える。さらに、ページ処理が1ページのみになった場合は、オブジェクト単位のPDL並列処理に切り替えることにより、単ページデータでも複数ページデータでも最適なパフォーマンス向上効果が得られる。   In the multi-core CPU, the page to be processed is determined. If the first page, the PDL parallel processing in units of objects is switched, and the second and subsequent pages are switched to the PDL parallel processing in units of pages. Further, when the page processing is only one page, the optimum performance improvement effect can be obtained for single page data or multiple page data by switching to PDL parallel processing in object units.

本発明における画像形成装置101のシステム構成の一例を示す図1 is a diagram illustrating an example of a system configuration of an image forming apparatus 101 according to the present invention. 本発明におけるPDL処理のモジュール構成の一例を示す図The figure which shows an example of the module structure of the PDL process in this invention 本発明におけるPDL処理のタスク構成の一例を示す図The figure which shows an example of the task structure of the PDL process in this invention 実施例1におけるPDL制御タスク401のPDL制御部212のフローチャートを示す図The figure which shows the flowchart of the PDL control part 212 of the PDL control task 401 in Example 1. FIG. 実施例1におけるPDL制御部212で管理するPDLタスク実行情報の一例を示す図The figure which shows an example of the PDL task execution information which the PDL control part 212 in Example 1 manages. 実施例1におけるPDL制御部212で管理するPDLタスク実行情報の一例を示す図The figure which shows an example of the PDL task execution information which the PDL control part 212 in Example 1 manages. 実施例1におけるPDL制御部212で管理するPDLタスク実行情報の一例を示す図The figure which shows an example of the PDL task execution information which the PDL control part 212 in Example 1 manages. 実施例1におけるPDL制御部212で管理するPDLタスク実行情報の一例を示す図The figure which shows an example of the PDL task execution information which the PDL control part 212 in Example 1 manages. 実施例1におけるPDL制御部212で管理するPDLタスク実行情報の一例を示す図The figure which shows an example of the PDL task execution information which the PDL control part 212 in Example 1 manages. 実施例1におけるPDLタスク1(402)、PDLタスク2(403)で実行する処理のフローチャートを示す図The figure which shows the flowchart of the process performed by PDL task 1 (402) in Example 1, and PDL task 2 (403). 実施例1におけるS1104のパイプライン処理のフローチャートを示す図The figure which shows the flowchart of the pipeline process of S1104 in Example 1. FIG. 実施例1におけるパイプラインタスクで実行する処理のフローチャートを示す図The figure which shows the flowchart of the process performed by the pipeline task in Example 1. 実施例1におけるステップS1105の通常処理のフローチャートを示す図The figure which shows the flowchart of the normal process of step S1105 in Example 1. FIG.

図1は、本発明における画像形成装置101のシステム構成の一例を示す図である。   FIG. 1 is a diagram illustrating an example of a system configuration of an image forming apparatus 101 according to the present invention.

101は画像形成装置であり、201は、画像形成装置101におけるCPU204の制御コードを格納するROMである。ROM201は、受信部211、PDL制御部212、PDL解析部213、DL生成部214、パイプライン処理部215、展開処理部216からなる。202は様々な情報を一時格納するRAMである。RAM202は、受信バッファ221、ワークメモリ222、フレームバッファ223、ラスタメモリ224からなる。203は外部デバイスと情報の入出力を行うためのネットワークI/Fであり、外部デバイスから送信された印刷データを受信する。   Reference numeral 101 denotes an image forming apparatus, and 201 denotes a ROM that stores a control code of the CPU 204 in the image forming apparatus 101. The ROM 201 includes a reception unit 211, a PDL control unit 212, a PDL analysis unit 213, a DL generation unit 214, a pipeline processing unit 215, and a development processing unit 216. A RAM 202 temporarily stores various information. The RAM 202 includes a reception buffer 221, a work memory 222, a frame buffer 223, and a raster memory 224. Reference numeral 203 denotes a network I / F for inputting / outputting information to / from an external device, and receives print data transmitted from the external device.

211は、ネットワークI/F203で受信したPDLデータを受信バッファ221に格納する受信部である。212は、PDL解析部213、DL生成部214、パイプライン処理部215の処理実行の制御や処理状況の管理を行うPDL制御部である。また、PDL制御部212は、PDL解析部213の要求に応じて、受信バッファ221に格納されたPDLデータを読出し、PDL解析部213に渡す。213は、PDL制御212から渡されたPDLデータのコマンドを解析し、DL生成情報を生成するPDL解析部である。   A reception unit 211 stores the PDL data received by the network I / F 203 in the reception buffer 221. A PDL control unit 212 controls processing execution of the PDL analysis unit 213, the DL generation unit 214, and the pipeline processing unit 215 and manages the processing status. Also, the PDL control unit 212 reads the PDL data stored in the reception buffer 221 in response to a request from the PDL analysis unit 213 and passes it to the PDL analysis unit 213. Reference numeral 213 denotes a PDL analysis unit that analyzes a PDL data command passed from the PDL control 212 and generates DL generation information.

214は、解析部213において解析して生成されたDL生成情報から描画を行なうための内部情報であるDL(Display List(中間コード))を生成し、フレームバッファ223に格納するDL生成部である。215は、PDL解析部213でコマンド解析して生成されたDL生成情報をワークメモリ222に一旦スプールし、非同期にスプールしたDL生成情報を読出し、DL生成部214に渡すパイプライン処理部である。216は、フレームバッファ223に格納されたDLを展開し、ビットマップをラスタメモリ224に格納する展開処理部である。   Reference numeral 214 denotes a DL generation unit that generates DL (Display List (intermediate code)) that is internal information for performing drawing from the DL generation information generated by analysis in the analysis unit 213, and stores the DL in the frame buffer 223. . A pipeline processing unit 215 temporarily spools DL generation information generated by command analysis by the PDL analysis unit 213 in the work memory 222, reads the asynchronously generated DL generation information, and passes the DL generation information to the DL generation unit 214. Reference numeral 216 denotes a decompression processing unit that decompresses the DL stored in the frame buffer 223 and stores the bitmap in the raster memory 224.

受信バッファ221は、ネットワークI/F203を介して受信した印刷データを格納するメモリである。222は、PDLデータからDL生成情報を生成するとき、DL生成情報を格納するときなど、一時的に使用するワークメモリである。223は、DL生成部214で生成されたDLを格納するフレームバッファである。224は、フレームバッファ223に格納されたDLから展開処理部215により展開されたラスタイメージを格納するラスタメモリである。   The reception buffer 221 is a memory that stores print data received via the network I / F 203. A work memory 222 is temporarily used for generating DL generation information from PDL data, for storing DL generation information, and the like. A frame buffer 223 stores the DL generated by the DL generation unit 214. A raster memory 224 stores a raster image developed by the development processing unit 215 from the DL stored in the frame buffer 223.

204は、画像形成装置101の演算処理や制御などを並列で行うことができるマルチコアの中央演算処理装置(CPU)である。205は、プリンタエンジン206との信号の入出力を行うエンジンI/Fである。206は、イメージデータに基づいて、周知の電子写真プロセスによって感光ドラム上に潜像を形成し、用紙に転写して定着し印字を行うプリンタエンジンである。   A multi-core central processing unit (CPU) 204 can perform arithmetic processing and control of the image forming apparatus 101 in parallel. Reference numeral 205 denotes an engine I / F that inputs and outputs signals with the printer engine 206. Reference numeral 206 denotes a printer engine that forms a latent image on a photosensitive drum by a known electrophotographic process based on image data, transfers the image onto a sheet, fixes it, and performs printing.

図2は、本発明におけるPDL処理のモジュール構成を示す図である。   FIG. 2 is a diagram showing a module configuration of PDL processing in the present invention.

PDL処理は、PDL制御部212、PDL解析部213、DL生成部214、パイプライン処理部215から構成され、PDL解析部213、DL生成部214は複数のタスクから実行され、複数のページを並列で実行することができる。PDL制御部212は、受信部211からPDLデータの受信の通知を受けると、PDL解析部213へ処理を依頼する。PDL解析部213は、PDL制御部212の指示に従い、DL生成部214またはパイプライン処理部215を切り替え、PDL解析して作成したDL生成情報を渡す。   The PDL processing includes a PDL control unit 212, a PDL analysis unit 213, a DL generation unit 214, and a pipeline processing unit 215. The PDL analysis unit 213 and the DL generation unit 214 are executed from a plurality of tasks, and a plurality of pages are arranged in parallel. Can be done with. When receiving the notification of reception of PDL data from the reception unit 211, the PDL control unit 212 requests the PDL analysis unit 213 to perform processing. The PDL analysis unit 213 switches the DL generation unit 214 or the pipeline processing unit 215 in accordance with an instruction from the PDL control unit 212, and passes the DL generation information created by the PDL analysis.

パイプライン処理部215は、DL生成情報を格納するスプーラ301、DL生成情報の格納先であるスプール302、スプール302に格納されたDL生成情報を読み出すデスプーラ303からなる。スプーラ301とデスプーラ303を別タスクで実行することで、PDL解析部213のPDL解析とDL生成部214のDL生成をマルチコアのCPU204を使ってパイプラインの並列処理が可能になる。   The pipeline processing unit 215 includes a spooler 301 that stores DL generation information, a spool 302 that stores DL generation information, and a despooler 303 that reads DL generation information stored in the spool 302. By executing the spooler 301 and the despooler 303 as separate tasks, the PDL analysis of the PDL analysis unit 213 and the DL generation of the DL generation unit 214 can be processed in parallel using the multi-core CPU 204.

図3は、本発明におけるPDL処理のタスク構成を示す図である。   FIG. 3 is a diagram showing a task configuration of PDL processing in the present invention.

401は、PDL制御部212を実行するPDL制御タスクである。PDL制御タスク401は、ネットワークI/F203からPDLデータを受信すると起動され、起動後PDLタスク402、403を生成、メッセージ通信を相互に行い、PDLデータの処理の制御と処理状況を管理する。402、403は、PDL制御部212からPDL処理依頼メッセージを受け、PDL解析部213とDL生成部214、または、PDL解析部213とスプーラ302を切り替えて実行するPDLタスク1,2である。PDLタスク402、403は、PDLのページ処理指示依頼、ページ終了、ジョブ終了のメッセージをPDL制御タスク401に送信する。   401 is a PDL control task for executing the PDL control unit 212. The PDL control task 401 is activated when PDL data is received from the network I / F 203, generates PDL tasks 402 and 403 after activation, performs mutual message communication, and manages PDL data processing control and processing status. Reference numerals 402 and 403 denote PDL tasks 1 and 2 that receive the PDL processing request message from the PDL control unit 212 and execute by switching between the PDL analysis unit 213 and the DL generation unit 214 or between the PDL analysis unit 213 and the spooler 302. The PDL tasks 402 and 403 transmit a PDL page processing instruction request, a page end message, and a job end message to the PDL control task 401.

404、405は、PDLタスク402、403により生成され、デスプーラ303、DL生成部214を実行するパイプラインタスク1,2である。なお、PDLタスク、パイプラインタスクはCPUの数に応じて生成する個数を変更することが可能である。   Reference numerals 404 and 405 denote pipeline tasks 1 and 2 that are generated by the PDL tasks 402 and 403 and execute the despooler 303 and the DL generation unit 214. Note that the number of PDL tasks and pipeline tasks generated can be changed according to the number of CPUs.

[実施例1]
図4は、本実施例におけるCPU204上で動作するPDL制御タスク401のPDL制御部212のフローチャートを示す図である。
[Example 1]
FIG. 4 is a diagram illustrating a flowchart of the PDL control unit 212 of the PDL control task 401 operating on the CPU 204 in this embodiment.

ステップS1001で、ページ番号を管理するPageCountの初期化(1を設定)とタスク実行情報の初期化をする。ステップS1002で、PDLタスク1、2を起動し、PDLタスク1,2からのメッセージ受信待ちになる。メッセージ受信すると、ステップS1003で、ページ処理指示依頼かを判定する。ページ処理指示依頼のメッセージである場合、ステップS1004で、PageCountが1かを判定する。PageCountが1の場合、ステップS1005で、メッセージ送信元のタスクにPageCountのページとパイプライン処理依頼のメッセージを送信する。   In step S1001, PageCount for managing page numbers is initialized (1 is set) and task execution information is initialized. In step S1002, PDL tasks 1 and 2 are activated, and a message reception wait from PDL tasks 1 and 2 is awaited. When the message is received, it is determined in step S1003 whether it is a page processing instruction request. If it is a page processing instruction request message, it is determined in step S1004 whether PageCount is 1. If PageCount is 1, in step S1005, the page count page and pipeline processing request message are sent to the task that sent the message.

ステップS1042で、PDLタスク実行情報にPageCountと処理実行中を示す“Exec”を設定する。ステップS1043で、PageCountをインクリメントし、メッセージ受信待ちとなる(ステップS1002)。一方、PageCountが1以外の場合は、さらにステップS1031で、PageCountが2かを判定する。PageCountが2の場合、ステップS1032で、PDLタスク実行情報にPageCountと処理待ち状態を示す“Wait”を設定し、メッセージ受信待ちとなる(ステップS1002)。   In step S1042, PageCount and “Exec” indicating that processing is being executed are set in the PDL task execution information. In step S1043, PageCount is incremented and a message reception is waited (step S1002). On the other hand, if PageCount is other than 1, it is further determined in step S1031 whether PageCount is 2. If PageCount is 2, in step S1032, PageCount and “Wait” indicating the processing wait state are set in the PDL task execution information, and the message reception is waited (step S1002).

これにより、1ページ目の処理のために、複数のCPUを使ってパイプライン処理によるオブジェクト並列実行することができ、1ページ目の印刷時間を短縮することができる。PageCountが1でも2でもない場合は、ステップS1041で、メッセージ送信元のタスクにPageCountのページと通常処理依頼のメッセージを送信する。ステップS1042で、PDLタスク実行情報にPageCountと処理実行中を示す“Exec”を設定する。ステップS1043で、PageCountをインクリメントし、メッセージ受信待ちとなる(ステップS1002)。   As a result, for the processing of the first page, the objects can be executed in parallel by pipeline processing using a plurality of CPUs, and the printing time of the first page can be shortened. If PageCount is neither 1 nor 2, in step S1041, a PageCount page and a normal processing request message are transmitted to the task of the message transmission source. In step S1042, PageCount and “Exec” indicating that processing is being executed are set in the PDL task execution information. In step S1043, PageCount is incremented and a message reception is waited (step S1002).

受信したメッセージが、ページ処理指示依頼でない場合、ステップS1011で、ページ終了通知かを判定する。ページ処理通知である場合、ステップS1012で、PDLタスク実行情報に処理終了を示す“End”を設定する。ステップS1013で、PDLタスク実行情報に“Wait”状態のタスクがあるかを判定する。“Wait”状態のタスクがある場合、ステップS1041で、メッセージ送信元のタスクにPageCountのページと通常処理依頼のメッセージを送信する。ステップS1042で、PDLタスク実行情報にPageCountと処理実行中を示す“Exec”を設定する。   If the received message is not a page processing instruction request, it is determined in step S1011 whether it is a page end notification. If it is a page processing notification, in step S1012, "End" indicating the end of processing is set in the PDL task execution information. In step S1013, it is determined whether there is a task in the “Wait” state in the PDL task execution information. If there is a task in the “Wait” state, in step S1041, the page count page and the normal processing request message are transmitted to the task of the message transmission source. In step S1042, PageCount and “Exec” indicating that processing is being executed are set in the PDL task execution information.

ステップS1043で、PageCountをインクリメントし、メッセージ受信待ちとなる(ステップS1002)。一方、“Wait”状態のタスクがない場合、メッセージ受信待ちとなる(ステップS1002)。   In step S1043, PageCount is incremented and a message reception is waited (step S1002). On the other hand, if there is no task in the “Wait” state, it waits for message reception (step S1002).

受信したメッセージが、ページ処理通知でない場合、ステップS1021で、ジョブ終了通知かを判定する。ジョブ処理通知である場合、ステップS1022で、PDLタスク実行情報に“Exec”状態のタスクがあるかを判定する。“Exec”状態のタスクがある場合、ステップS1023で、メッセージ送信元のタスクにパイプライン処理への変更依頼のメッセージを送信する。これにより、空いているCPUをパイプライン処理によるオブジェクト並列の実行に使うことができ、残っている未処理のページの処理時間を短縮することができる。一方、“Exec”状態のタスクがない場合、ステップS1024で、PDL1タスクとPDL2タスクの停止をし、PDL制御部の処理を終了する。   If the received message is not a page processing notification, it is determined in step S1021 whether it is a job end notification. If it is a job processing notification, it is determined in step S1022 whether there is a task in the “Exec” state in the PDL task execution information. If there is a task in the “Exec” state, in step S1023, a message for requesting change to pipeline processing is transmitted to the task of the message transmission source. As a result, a free CPU can be used for object parallel execution by pipeline processing, and the processing time of the remaining unprocessed pages can be reduced. On the other hand, if there is no task in the “Exec” state, the PDL1 task and the PDL2 task are stopped in step S1024, and the processing of the PDL control unit is ended.

図5は、本実施例におけるPDL制御部212で管理するPDLタスク実行情報の一例を示す図である。   FIG. 5 is a diagram illustrating an example of PDL task execution information managed by the PDL control unit 212 in the present embodiment.

図5(a)は、PDLタスク実行情報の構成である。PDLタスク実行情報は、ページ番号501とタスクステータス502からなる。ページ番号501は、各PDLタスクの処理まち、処理中、処理終了のページの番号である。タスクステータス502は、各PDLタスクの処理状態を示しており、処理待ち“Wait”、処理実行中“Exec”、処理終了“End”の3つの状態がある。   FIG. 5A shows the configuration of the PDL task execution information. The PDL task execution information includes a page number 501 and a task status 502. The page number 501 is the number of the page of each PDL task processing, processing, and processing end. The task status 502 indicates the processing status of each PDL task, and there are three statuses: processing waiting “Wait”, processing executing “Exec”, and processing end “End”.

図5(b)は、PDLタスク起動時のPDLタスク実行情報を示している。PDLタスク1、PDLタスク2ともに、ページ番号を0、タスクステータスを“End”に初期化する。   FIG. 5B shows PDL task execution information when the PDL task is activated. Both PDL task 1 and PDL task 2 are initialized to page number 0 and task status “End”.

図5(c)は、1ページ目開始時のPDLタスク実行情報を示している。PDLタスク1からのページ処理指示依頼を受信し、PDLタスク1のページ番号を1、タスクステータスを“Exec”に変更する。   FIG. 5C shows PDL task execution information at the start of the first page. A page processing instruction request from the PDL task 1 is received, and the page number of the PDL task 1 is changed to 1, and the task status is changed to “Exec”.

図5(d)は、2ページ目開始時のPDLタスク実行情報を示している。PDLタスク2からのページ処理指示依頼を受信し、PDLタスク1が1ページ目を処理実行中“Exec”であるため、PDLタスク2のページ番号を2、タスクステータスを“Wait”に変更する。   FIG. 5D shows the PDL task execution information at the start of the second page. The page processing instruction request from the PDL task 2 is received, and since the PDL task 1 is “Exec” while the first page is being processed, the page number of the PDL task 2 is changed to 2 and the task status is changed to “Wait”.

図5(e)は、1ページ目終了時のPDLタスク実行情報を示している。PDLタスク1からのページ処理終了通知を受信し、PDLタスク1のタスクステータスを“End”に変更する。また、PDLタスク2が2ページ目の処理待ち“Wait”であるため、PDLタスク2に処理依頼をするとともに、PDLタスク1のタスクステータスを処理実行中“Exec”に変更する。   FIG. 5E shows PDL task execution information at the end of the first page. A page processing end notification is received from the PDL task 1 and the task status of the PDL task 1 is changed to “End”. Further, since the PDL task 2 is in the “Wait” process waiting for the second page, the PDL task 2 is requested to process, and the task status of the PDL task 1 is changed to “Exec” while the process is being executed.

図6は、本実施例におけるPDLタスク1(402)、PDLタスク2(403)がCPU204で実行する処理のフローチャートを示す図である。   FIG. 6 is a flowchart of processing executed by the CPU 204 by the PDL task 1 (402) and the PDL task 2 (403) in this embodiment.

PDLタスク1、2が、PDL制御タスク401のステップS1002で起動されると、ステップS1101で、受信部211から渡されたPDLデータをワークメモリ222から読み出し、PDL制御タスク401にページ処理指示依頼のメッセージを送信し、PDL制御タスク401からのメッセージ受信待ちになる。処理依頼のメッセージを受信すると、ステップS1102で、受信したメッセージがパイプライン処理依頼かを判定する。パイプライン処理依頼の場合、ステップS1103で、パイプラインタスクを起動し、ステップS1104で、パイプライン処理を実行する。   When the PDL tasks 1 and 2 are activated in step S1002 of the PDL control task 401, the PDL data passed from the reception unit 211 is read from the work memory 222 in step S1101, and a page processing instruction request is sent to the PDL control task 401. A message is transmitted, and a message reception waiting from the PDL control task 401 is awaited. When a processing request message is received, it is determined in step S1102 whether the received message is a pipeline processing request. In the case of a pipeline processing request, a pipeline task is activated in step S1103, and pipeline processing is executed in step S1104.

パイプライン処理のページの処理が終了すると、ステップS1105で、パイプラインタスクを停止する。一方、受信したメッセージが通常処理依頼の場合、ステップS1106で、通常処理を実行する。ステップS1104、ステップS1105でジョブ終了になるまで、S1101〜S1107を繰り返し実行する。   When the processing of the pipeline processing page is completed, the pipeline task is stopped in step S1105. On the other hand, if the received message is a normal processing request, normal processing is executed in step S1106. Steps S1101 to S1107 are repeatedly executed until the job ends in steps S1104 and S1105.

図7は、本実施例におけるCPU204で実行するステップS1104のパイプライン処理のフローチャートを示す図である。   FIG. 7 is a flowchart illustrating the pipeline processing in step S1104 executed by the CPU 204 in this embodiment.

ステップS1201で、PDL解析部213においてPDLデータを解析すると、ステップS1202で、ページ終了かを判定する。ページ終了の場合、ステップS1203で、PDL制御タスク401に、ページ処理終了通知のメッセージを送信する。ページ終了でない場合、ステップS1211で、ジョブ終了かを判定する。ジョブ終了の場合、ステップS1212で、PDL制御タスク401に、ジョブ終了通知のメッセージを送信する。ジョブ終了でない場合、ステップS1221で、DL生成情報を生成し、ステップS1222で、スプーラ301を介して、DL生成情報をスプール302に格納する。   In step S1201, when the PDL analysis unit 213 analyzes the PDL data, it is determined in step S1202 whether the page is finished. In the case of page end, a page processing end notification message is transmitted to the PDL control task 401 in step S1203. If it is not the end of the page, it is determined in step S1211 whether the job has ended. If the job has ended, a job end notification message is transmitted to the PDL control task 401 in step S1212. If the job is not finished, DL generation information is generated in step S1221, and the DL generation information is stored in the spool 302 via the spooler 301 in step S1222.

ステップS1223で、パイプラインタスクへDL生成依頼のメッセージを送信し、再び、S1201のPDLデータの解析を実行する。   In step S1223, a DL generation request message is transmitted to the pipeline task, and the analysis of the PDL data in S1201 is executed again.

図8は、本実施例におけるパイプラインタスクがCPU204で実行する処理のフローチャートを示す図である。   FIG. 8 is a diagram illustrating a flowchart of processing executed by the CPU 204 by the pipeline task in the present embodiment.

パイプラインタスクが、PDLタスク1あるいはPDLタスク2のステップS1103で起動されると、ステップS1301で、PDLタスクからのDL生成依頼のメッセージ受信待ちとなる。DL生成依頼のメッセージを受信すると、ステップS1302で、デスプーラ303を介して、スプーラ302に格納されたDL生成情報を読出し、ステップS1303で、DL生成部214においてDL生成する。ステップS1304で、DL生成情報をスプーラ302から削除し、ステップS1301のメッセージ受信待ちに戻る。   When the pipeline task is started in step S1103 of the PDL task 1 or the PDL task 2, in step S1301, it waits for reception of a DL generation request message from the PDL task. When the DL generation request message is received, the DL generation information stored in the spooler 302 is read via the despooler 303 in step S1302, and the DL generation unit 214 generates DL in step S1303. In step S1304, the DL generation information is deleted from the spooler 302, and the process returns to message reception waiting in step S1301.

図9は、本実施例におけるCPU204で実行するステップS1105の通常処理のフローチャートを示す図である。   FIG. 9 is a diagram illustrating a flowchart of normal processing in step S1105 executed by the CPU 204 in the present embodiment.

ステップS1401で、PDL解析部213においてPDLデータを解析すると、ステップS1402で、ページ終了かを判定する。ページ終了の場合、ステップS1403で、PDL制御タスク401に、ページ処理終了通知のメッセージを送信する。ページ終了でない場合、ステップS1411で、ジョブ終了かを判定する。ジョブ終了の場合、ステップS1412で、PDL制御タスク401に、ジョブ終了通知のメッセージを送信する。ジョブ終了でない場合、ステップS1421で、DL生成情報を生成し、ステップS1422で、DL生成部214においてDL生成し、再び、S1201のPDLデータの解析を実行する。   When the PDL analysis unit 213 analyzes the PDL data in step S1401, it is determined in step S1402 whether the page is finished. In the case of page end, a page processing end notification message is transmitted to the PDL control task 401 in step S1403. If it is not the page end, it is determined in step S1411 whether the job is ended. If the job has ended, a job end notification message is transmitted to the PDL control task 401 in step S1412. If the job is not finished, DL generation information is generated in step S1421, DL is generated in the DL generation unit 214 in step S1422, and the PDL data analysis in S1201 is executed again.

101 画像形成装置
212 PDL制御部
213 PDL解析部
214 DL生成部
215 パイプライン処理部
216 展開処理部
204 CPU
206 プリンタエンジン
101 Image forming apparatus 212 PDL control unit 213 PDL analysis unit 214 DL generation unit 215 Pipeline processing unit 216 Development processing unit 204 CPU
206 Printer engine

Claims (5)

PDL(Page Despription Language)データに対し、複数のPDL処理により、複数のページを並列に処理するページ並列処理手段(402,403)と、ページ内のオブジェクトを並列に処理するオブジェクト並列処理手段(404、405)と
前記並列処理手段を複数のCPU(204)で実行する画像形成装置(101)において
PDLデータを解析し、ページを判定するページ判定手段(213)と、
前記ページ並列処理手段により実行する複数のPDL処理のページ処理状況を管理するステータス管理手段(501、502)と、
前記ページ判定手段とステータス管理手段に応じて、前記、オブジェクト並列処理手段を実行するかどうかを切り替える処理切り替え手段(S1003、S1022、S1103)と、前記ステータス管理手段により管理された処理状況に応じて、前記ページ並列処理のページ処理実行を切り替えるページ処理制御手段(S1031、S1013)を有することを特徴とする画像形成装置。
With respect to PDL (Page Description Language) data, page parallel processing means (402, 403) for processing a plurality of pages in parallel by a plurality of PDL processes, and object parallel processing means (404 for processing objects in a page in parallel) 405) and a page determination unit (213) that analyzes PDL data and determines a page in an image forming apparatus (101) that executes the parallel processing unit by a plurality of CPUs (204).
Status management means (501, 502) for managing page processing statuses of a plurality of PDL processes executed by the page parallel processing means;
Depending on the page determination means and the status management means, the process switching means (S1003, S1022, S1103) for switching whether to execute the object parallel processing means, and the processing status managed by the status management means. An image forming apparatus comprising page processing control means (S1031, S1013) for switching the page processing execution of the page parallel processing.
前記オブジェクト並列処理手段は、オブジェクト単位でPDL解析とDL(Display List)生成をパイプラインで並列処理することを特徴とする請求項1に記載の画像形成装置。 The image forming apparatus according to claim 1, wherein the object parallel processing unit performs parallel processing of PDL analysis and DL (Display List) generation in a pipeline in units of objects. 前記処理切り替え手段は、前記ページ判定手段で判定したページが最初のページであると判定した場合、前記オブジェクト並列処理手段でページのPDL処理をすることを特徴とする請求項1の画像形成装置。 2. The image forming apparatus according to claim 1, wherein when the page determined by the page determination unit is determined to be a first page, the processing switching unit performs PDL processing of the page by the object parallel processing unit. 前記処理切り替え手段は、前記ステータス管理手段で管理された複数のPDL処理のステータスから、いずれかのPDL処理が終了したかを判定する終了判定手段と、前記終了判定手段により、終了したPDL処理と終了していないPDL処理があった場合、終了していないPDL処理を前記オブジェクト並列処理手段に切り替えて処理することを特徴とする請求項1に記載の画像形成装置。 The process switching means includes an end determination means for determining which one of the PDL processes has been completed from the statuses of the plurality of PDL processes managed by the status management means, and a PDL process completed by the end determination means. The image forming apparatus according to claim 1, wherein when there is an unfinished PDL process, the unfinished PDL process is switched to the object parallel processing unit to process the image forming apparatus. 前記ページ処理制御手段は、前記ステータス管理手段で管理された複数のPDL処理のステータスから、最初のページが処理中であると判定した場合、次のページ以降のPDL処理を最初のページのPDL処理が終了するまで待つように制御することを特徴とする請求項1に記載の画像形成装置。 When the page processing control unit determines from the status of the plurality of PDL processes managed by the status management unit that the first page is being processed, the PDL process of the first page The image forming apparatus according to claim 1, wherein control is performed to wait until the process ends.
JP2013152390A 2013-07-23 2013-07-23 Image forming apparatus Pending JP2015022685A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013152390A JP2015022685A (en) 2013-07-23 2013-07-23 Image forming apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013152390A JP2015022685A (en) 2013-07-23 2013-07-23 Image forming apparatus

Publications (1)

Publication Number Publication Date
JP2015022685A true JP2015022685A (en) 2015-02-02

Family

ID=52487035

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013152390A Pending JP2015022685A (en) 2013-07-23 2013-07-23 Image forming apparatus

Country Status (1)

Country Link
JP (1) JP2015022685A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016210175A (en) * 2015-04-30 2016-12-15 キヤノン株式会社 Image formation apparatus, control method of the same, and program
US10373029B2 (en) 2017-07-31 2019-08-06 Kyocera Document Solutions Inc. Data processing method, data processing device that execute font processing efficiently using a plurality of cores of processor, and recording medium therefor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016210175A (en) * 2015-04-30 2016-12-15 キヤノン株式会社 Image formation apparatus, control method of the same, and program
US10373029B2 (en) 2017-07-31 2019-08-06 Kyocera Document Solutions Inc. Data processing method, data processing device that execute font processing efficiently using a plurality of cores of processor, and recording medium therefor

Similar Documents

Publication Publication Date Title
US8625133B2 (en) Print data processing apparatus, print data processing method, and storage medium
JP6136020B2 (en) Image forming apparatus, parallel processing control method, and control program
US8755060B2 (en) Print control apparatus, image forming system, and non-transitory computer readable medium
JP2012059093A (en) Printer controller, printing system and program
US8767247B2 (en) Print data generation device, print data generation method and computer-readable medium for controlling rasterization processing
US10534986B2 (en) Printing apparatus having interpreters interpreting print data, printing method, and storage medium
JP2015022685A (en) Image forming apparatus
JP6512902B2 (en) Image processing apparatus, control method thereof and control program
JP2011167857A (en) Image forming apparatus, image forming method, and image forming program
US8614822B2 (en) Print data processing apparatus, print data processing method, and storage medium
JP6111728B2 (en) Image formation output control system, image formation output control program, and information processing apparatus
JP6666036B2 (en) Print data processing apparatus, print data processing method, and program
JP2011183757A (en) Image processor, image processing method, and program
JP2011201146A (en) Image processing device and image processing program
JP5232728B2 (en) Image forming apparatus
JP2015019125A (en) Image processing device, control method of the same and program
JP2019014135A (en) Image processing device, image processing method and program
JP2013058010A (en) Image processing system, image processing device, image forming device and program
JP6537372B2 (en) Image forming apparatus, control method of image forming apparatus, and program
JP2015020404A (en) Image formation device
JP5971972B2 (en) Information processing apparatus, image forming apparatus, information processing system, control method, and computer program
JP4052901B2 (en) Device having inter-process communication function
JP2013206025A (en) Image processing apparatus
JP2013114515A (en) Cloud print system, image processing device, image processing method and program
JP2013052568A (en) Image forming apparatus, control method and control program