JP6996884B2 - Image processing equipment, image processing methods and programs - Google Patents

Image processing equipment, image processing methods and programs Download PDF

Info

Publication number
JP6996884B2
JP6996884B2 JP2017132920A JP2017132920A JP6996884B2 JP 6996884 B2 JP6996884 B2 JP 6996884B2 JP 2017132920 A JP2017132920 A JP 2017132920A JP 2017132920 A JP2017132920 A JP 2017132920A JP 6996884 B2 JP6996884 B2 JP 6996884B2
Authority
JP
Japan
Prior art keywords
data
compression
intermediate data
print
added
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.)
Active
Application number
JP2017132920A
Other languages
Japanese (ja)
Other versions
JP2019014135A (en
Inventor
文之 渡邉
誠 日比野
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.)
Toshiba Corp
Toshiba TEC Corp
Original Assignee
Toshiba Corp
Toshiba TEC Corp
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 Toshiba Corp, Toshiba TEC Corp filed Critical Toshiba Corp
Priority to JP2017132920A priority Critical patent/JP6996884B2/en
Priority to US15/925,942 priority patent/US10209931B2/en
Publication of JP2019014135A publication Critical patent/JP2019014135A/en
Application granted granted Critical
Publication of JP6996884B2 publication Critical patent/JP6996884B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • G06F3/1213Improving printing performance achieving reduced delay between job submission and print start at an intermediate node or at the final node
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/124Parallel printing or parallel ripping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1296Printer job scheduling or printer resource handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • G06K15/1857Generation of the printable image characterized by its workflow involving parallel processing in the same printing apparatus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1867Post-processing of the composed and rasterized print image
    • G06K15/1886Storage of the print image data or of parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1275Print workflow management, e.g. defining or changing a workflow, cross publishing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Record Information Processing For Printing (AREA)

Description

本発明の実施形態は、画像処理装置、画像処理方法及びプログラムに関する。 Embodiments of the present invention relate to image processing devices, image processing methods and programs.

MFP(multifunction peripheral)などの画像形成装置は、PostScript又はPDF(Portable Document Format)などのページ記述言語(PDL(page description language))で記述されたデータを印刷用のラスターデータに変換するRIP(raster image processor)処理を行う場合がある。RIP処理は、解析処理と描画処理とに分けることができる。解析処理は、複数ページのデータを、複数の単一ページの中間データに分ける処理などを含む。そして、描画処理は、解析処理によって処理された中間データを印刷用のラスターデータに変換する処理などを含む。なお、印刷用のラスターデータを、以下「印刷用データ」というものとする。
画像形成装置は、RIP処理によって変換されたデータを、メモリ又はHDD(hard disk drive)などの記憶装置に保存する場合がある。しかしながら、印刷対象のデータが高解像度のカラー画像である場合などにおいては、MFPが備える記憶装置に保存するには、大きすぎる場合がある。このため、画像に圧縮処理を施してから保存することが行われている。圧縮処理は、ソフトウェアで行うと時間がかかるため、圧縮コアなどと呼ばれる専用のハードウェアが用いられる場合がある。
また、画像形成装置は、マルチコアCPU(central processing unit)、又はGPU(graphics processing unit)を内蔵したCPUなどの、複数のコアを備えるプロセッサーが採用される場合がある。そして、プロセッサーがRIPとして動作して、解析処理と描画処理とをマルチスレッドなどにより並列して処理するなどして、RIP処理の速度を向上させることが行われている。しかしながら、このようにプロセッサーによるRIPの処理速度が向上しても、圧縮コアによる圧縮処理の速度がボトルネックとなる場合がある。すなわち、描画処理を並列処理などによって次々と進めても、圧縮コアが空いていなければ、RIP処理が終わったデータに対して圧縮処理を開始するまでに処理待ちが発生する。この場合、プロセッサーの使用率が上がるだけでRIP処理と圧縮処理とを含む全体の処理についての速度はほとんど変化しないといったことが起こる。また、画像形成装置が備えるプロセッサーは、RIP処理以外にも様々な処理を行っているため、RIP処理によって使用率が上がりすぎると他の処理が重くなってしまう場合がある。
An image forming apparatus such as an MFP (multifunction peripheral) converts data described in a page description language (PDL (page description language)) such as PostScript or PDF (Portable Document Format) into raster data for printing. image processor) Processing may be performed. The RIP process can be divided into an analysis process and a drawing process. The analysis process includes a process of dividing a plurality of pages of data into intermediate data of a plurality of single pages. The drawing process includes a process of converting the intermediate data processed by the analysis process into raster data for printing. The raster data for printing is hereinafter referred to as "printing data".
The image forming apparatus may store the data converted by the RIP process in a storage device such as a memory or an HDD (hard disk drive). However, when the data to be printed is a high-resolution color image, it may be too large to be stored in the storage device included in the MFP. For this reason, the image is compressed and then stored. Since the compression process takes time if it is performed by software, dedicated hardware called a compression core or the like may be used.
Further, as the image forming apparatus, a processor having a plurality of cores such as a multi-core CPU (central processing unit) or a CPU having a built-in GPU (graphics processing unit) may be adopted. Then, the processor operates as a RIP, and the analysis process and the drawing process are processed in parallel by a multi-thread or the like to improve the speed of the RIP process. However, even if the processing speed of RIP by the processor is improved in this way, the speed of compression processing by the compression core may become a bottleneck. That is, even if the drawing processing is advanced one after another by parallel processing or the like, if the compression core is not free, a processing wait occurs before the compression processing is started for the data for which the RIP processing has been completed. In this case, the speed of the entire processing including the RIP processing and the compression processing hardly changes only by increasing the usage rate of the processor. Further, since the processor included in the image forming apparatus performs various processes other than the RIP process, if the usage rate is excessively increased by the RIP process, other processes may become heavy.

特開2004-38527号公報Japanese Unexamined Patent Publication No. 2004-38527

本発明の実施形態が解決しようとする課題は、プロセッサーを効率的に使用可能な画像処理装置、画像処理方法及びプログラムを提供することである。 An object to be solved by an embodiment of the present invention is to provide an image processing device, an image processing method, and a program that can efficiently use a processor.

実施形態の画像処理装置は、印刷対象データを複数の印刷単位に分割された中間データに変換する解析処理を行う解析部と、複数の印刷単位に分割された中間データをそれぞれ印刷用データに変換する描画処理を並行して行う複数の描画処理部と、描画処理によって変換された前記印刷用データに対してデータ圧縮を行う圧縮部を備える。解析部は、前記印刷対象データから第1の中間データが変換される毎に、アイドル状態の前記圧縮部の数に零よりも大きい任意の設定値を足した数が、前記印刷用データに変換中の第2の中間データの数よりも大きいか否かを比較する。解析部は、前記足した数が前記第2の中間データの数よりも大きい場合、前記描画処理を実行していない描画処理部に対して前記第1の中間データの描画処理開始を指令する。解析部は、前記足した数が前記第2の中間データの数よりも大きくない場合、前記第1の中間データを描画待ちキューに追加し、前記足した数が前記第2の中間データの数よりも大きくなると、前記描画処理を実行していない描画処理部に対して前記描画待ちキューに追加された前記第1の中間データの描画処理開始を指令する。
The image processing apparatus of the embodiment has an analysis unit that performs an analysis process that converts print target data into intermediate data divided into a plurality of print units, and an intermediate data divided into a plurality of print units into print data, respectively. It is provided with a plurality of drawing processing units that perform drawing processing in parallel, and a compression unit that compresses the print data converted by the drawing processing . Each time the first intermediate data is converted from the print target data, the analysis unit converts the number of idle compression units plus an arbitrary set value larger than zero into the print data. Compare whether it is larger than the number of second intermediate data in. When the added number is larger than the number of the second intermediate data, the analysis unit instructs the drawing processing unit that has not executed the drawing process to start the drawing process of the first intermediate data. When the added number is not larger than the number of the second intermediate data, the analysis unit adds the first intermediate data to the drawing waiting queue, and the added number is the number of the second intermediate data. When it becomes larger than, the drawing processing unit that has not executed the drawing process is instructed to start the drawing process of the first intermediate data added to the drawing waiting queue.

実施形態に係る画像形成装置の要部回路構成を示すブロック図。The block diagram which shows the main part circuit composition of the image forming apparatus which concerns on embodiment. 図1中のプロセッサーによる制御処理を示すフローチャート。The flowchart which shows the control process by a processor in FIG. 図1中のプロセッサーによる制御処理を示すフローチャート。The flowchart which shows the control process by a processor in FIG. 図1中の圧縮コアによる処理を示すフローチャート。The flowchart which shows the processing by the compression core in FIG. 従来のRIP処理と圧縮処理の処理タイミングの一例を示す図。The figure which shows an example of the processing timing of the conventional RIP processing and compression processing. RIP処理と圧縮処理の処理タイミングの一例を示す図。The figure which shows an example of the processing timing of RIP processing and compression processing. 実施形態のRIP処理と圧縮処理の処理タイミングの一例を示す図。The figure which shows an example of the processing timing of RIP processing and compression processing of an embodiment. 実施形態のRIP処理と圧縮処理の処理タイミングの一例を示す図。The figure which shows an example of the processing timing of RIP processing and compression processing of an embodiment.

以下、実施形態に係る画像形成装置について図面を用いて説明する。
図1は、実施形態に係る画像形成装置10の要部回路構成を示すブロック図である。画像形成装置10は、例えば、印刷、スキャン、コピー及びファクシミリなどの機能を備えるMFP又はコピー機である。あるいは、画像形成装置10は、印刷機能を備えるプリンターなどである。画像形成装置10は、プロセッサー11、ROM(read-only memory)12、RAM(random-access memory)13、補助記憶デバイス14、圧縮コア15、画像形成部16及びバス17を含む。画像形成装置10は、画像処理装置の一例である。
Hereinafter, the image forming apparatus according to the embodiment will be described with reference to the drawings.
FIG. 1 is a block diagram showing a main circuit configuration of the image forming apparatus 10 according to the embodiment. The image forming apparatus 10 is an MFP or a copier having functions such as printing, scanning, copying and facsimile. Alternatively, the image forming apparatus 10 is a printer or the like having a printing function. The image forming apparatus 10 includes a processor 11, a ROM (read-only memory) 12, a RAM (random-access memory) 13, an auxiliary storage device 14, a compression core 15, an image forming unit 16, and a bus 17. The image forming apparatus 10 is an example of an image processing apparatus.

プロセッサー11は、画像形成装置10の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー11は、ROM12又は補助記憶デバイス14などに記憶されたシステムソフトウェア、アプリケーションソフトウェア又はファームウェアなどのプログラムに基づいて、画像形成装置10の各種の機能を実現するべく各部を制御する。プロセッサー11は、例えば、CPU(central processing unit)、MPU(micro processing unit)、SoC(system on a chip)、DSP(digital signal processor)又はGPU(graphics processing unit)などである。あるいは、プロセッサー11は、これらの組み合わせである。プロセッサー11は、好ましくは、マルチコアCPU、又はGPUとCPUとを備えるプロセッサーである。複数のコアを備えるプロセッサーは、マルチスレッド又はマルチプロセスなどの並行処理を並列処理することで高速に処理することが可能なためである。なお、並行処理とは、複数のスレッド又はプロセスなどを、時分割などによって切り替えながら同時的に処理すること、あるいは並列処理することなどである。また、並列処理とは、複数のスレッド又はプロセスなどを、複数のコアで同時に処理することなどである。 The processor 11 corresponds to a central part of a computer that performs processing such as calculation and control necessary for the operation of the image forming apparatus 10. The processor 11 controls each part to realize various functions of the image forming apparatus 10 based on a program such as system software, application software, or firmware stored in the ROM 12 or the auxiliary storage device 14. The processor 11 is, for example, a CPU (central processing unit), an MPU (micro processing unit), a SoC (system on a chip), a DSP (digital signal processor), a GPU (graphics processing unit), or the like. Alternatively, the processor 11 is a combination of these. The processor 11 is preferably a multi-core CPU or a processor including a GPU and a CPU. This is because a processor having a plurality of cores can perform high-speed processing by performing parallel processing such as multithreading or multiprocessing. In addition, the parallel processing is to process a plurality of threads or processes simultaneously while switching by time division or the like, or to perform parallel processing. Further, parallel processing means processing a plurality of threads or processes at the same time by a plurality of cores.

ROM12は、プロセッサー11を中枢とするコンピューターの主記憶装置に相当する。ROM12は、専らデータの読み出しに用いられる不揮発性メモリである。ROM12は、上記のプログラムを記憶する。また、ROM12は、プロセッサー11が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。 The ROM 12 corresponds to the main storage device of a computer centered on the processor 11. The ROM 12 is a non-volatile memory used exclusively for reading data. The ROM 12 stores the above program. Further, the ROM 12 stores data or various set values used by the processor 11 for performing various processes.

RAM13は、プロセッサー11を中枢とするコンピューターの主記憶装置に相当する。RAM13は、データの読み書きに用いられるメモリである。RAM13は、プロセッサー11が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。 The RAM 13 corresponds to the main storage device of a computer centered on the processor 11. The RAM 13 is a memory used for reading and writing data. The RAM 13 is used as a so-called work area or the like for storing data temporarily used by the processor 11 for performing various processes.

また、RAM13などは、変数p、変数q及び変数rを記憶する。変数pは、プロセッサー11が描画処理を何スレッド実行しているかを示す。変数pの初期値は、0である。なお、プロセッサー11が描画処理を実行しているスレッド数を、以下「描画スレッド数」という。変数qは、アイドル状態の圧縮コア15の数を示す。変数qの初期値は、圧縮コア15の数である。なお、アイドル状態の圧縮コア15の数を、以下「空きコア数」という。変数rは、圧縮待ちキューの数(以下「圧縮待ち数」という。)を示す。変数rの初期値は、0である。なお、圧縮待ちキューは、圧縮処理を待つ印刷用データのリストである。したがって、圧縮待ち数は、圧縮処理を待つ印刷用データの数を示す。 Further, the RAM 13 and the like store the variable p, the variable q, and the variable r. The variable p indicates how many threads the processor 11 is executing the drawing process. The initial value of the variable p is 0. The number of threads in which the processor 11 is executing the drawing process is hereinafter referred to as "the number of drawing threads". The variable q indicates the number of compressed cores 15 in the idle state. The initial value of the variable q is the number of compression cores 15. The number of compressed cores 15 in the idle state is hereinafter referred to as "the number of free cores". The variable r indicates the number of queues waiting for compression (hereinafter referred to as “number of waits for compression”). The initial value of the variable r is 0. The compression waiting queue is a list of print data waiting for compression processing. Therefore, the number of waits for compression indicates the number of print data waiting for the compression process.

さらに、RAM13などは、それぞれの圧縮コア15がアイドル状態であるかビジー状態であるかを示す圧縮コア情報を記憶する。なお、アイドル状態の圧縮コア15は、圧縮処理を行っていないために空いている。そして、ビジー状態の圧縮コア15は、圧縮処理を行っているために空いていない。圧縮コア情報は、圧縮コア15のそれぞれに割り当てられたユニークな識別番号であるコアID(identifier)と、アイドル状態であるかビジー状態であるかを示すパラメーターとを関連付けて記憶する。 Further, the RAM 13 and the like store compression core information indicating whether each compression core 15 is in an idle state or a busy state. The idle compression core 15 is vacant because the compression process is not performed. The busy compression core 15 is not vacant because the compression process is performed. The compressed core information is stored in association with a core ID (identifier), which is a unique identification number assigned to each of the compressed cores 15, and a parameter indicating whether the compressed core is in an idle state or a busy state.

補助記憶デバイス14は、プロセッサー11を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス14は、例えばEEPROM(electric erasable programmable read-only memory)、HDD(hard disk drive)又はSSD(solid state drive)などである。補助記憶デバイス14は、上記のプログラムを記憶する場合がある。また、補助記憶デバイス14は、プロセッサー11が各種の処理を行う上で使用するデータ、プロセッサー11での処理によって生成されたデータ又は各種の設定値などを保存する。なお、画像形成装置10は、補助記憶デバイス14に代えて、あるいは補助記憶デバイス14に加えて、メモリカード又はUSB(Universal Serial Bus)メモリなどの記憶媒体を挿入可能なインターフェースを備えていてもよい。
補助記憶デバイス14は、設定値kも記憶する。設定値kは、例えば画像形成装置10の設計者、管理者又はサービスマンなどによって設定される任意の値である。設定値kの値は、例えば、解析処理にかかる時間、描画処理にかかる時間、圧縮処理にかかる時間、圧縮コア数、プロセッサー11のコア数などに応じて設定される。設定値kの値は、0より大きい数であることが好ましい。設定値kが0であると、圧縮コア15が空いている状態が多くなり、全体の処理速度が遅くなる場合があるためである。設定値を0より大きくすることでこれを軽減することができる。設定値kの値は、より好ましくは1である。設定値kを大きくしすぎると、プロセッサー11の使用率が上がるばかりで全体の処理速度にほとんど変化がなくなるためである。設定値kについては後でさらに説明する。設定値kは、所定の数の一例である。
The auxiliary storage device 14 corresponds to an auxiliary storage device of a computer centered on the processor 11. The auxiliary storage device 14 is, for example, an EEPROM (electric erasable programmable read-only memory), an HDD (hard disk drive), an SSD (solid state drive), or the like. The auxiliary storage device 14 may store the above program. Further, the auxiliary storage device 14 stores data used by the processor 11 for performing various processes, data generated by the processes of the processor 11, various setting values, and the like. The image forming apparatus 10 may include an interface capable of inserting a storage medium such as a memory card or a USB (Universal Serial Bus) memory in place of the auxiliary storage device 14 or in addition to the auxiliary storage device 14. ..
The auxiliary storage device 14 also stores the set value k. The set value k is an arbitrary value set by, for example, a designer, an administrator, a serviceman, or the like of the image forming apparatus 10. The value of the set value k is set according to, for example, the time required for the analysis process, the time required for the drawing process, the time required for the compression process, the number of compressed cores, the number of cores of the processor 11, and the like. The value of the set value k is preferably a number larger than 0. This is because when the set value k is 0, the compression core 15 is often vacant, and the overall processing speed may be slowed down. This can be reduced by making the set value larger than 0. The value of the set value k is more preferably 1. This is because if the set value k is set too large, the usage rate of the processor 11 will only increase and the overall processing speed will hardly change. The set value k will be further described later. The set value k is an example of a predetermined number.

ROM12又は補助記憶デバイス14に記憶されるプログラムは、後述する制御処理に関して記述した制御プログラムを含む。一例として、画像形成装置10は、制御プログラムがROM12又は補助記憶デバイス14に記憶された状態で画像形成装置10の管理者などへと譲渡される。しかしながら、画像形成装置10は、後述する制御処理に関して記述した制御プログラムがROM12又は補助記憶デバイス14に記憶されない状態で当該管理者などに譲渡されても良い。また、画像形成装置10は、別の制御プログラムがROM12又は補助記憶デバイス14に記憶された状態で当該管理者などに譲渡されても良い。そして、後述する制御処理に関して記述した制御プログラムが別途に当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作の下にROM12又は補助記憶デバイス14へと書き込まれても良い。このときの制御プログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークを介したダウンロードにより実現できる。
上記の制御プログラムは、プロセッサー11がRIP処理を行うためのRIPプログラムを含む。
The program stored in the ROM 12 or the auxiliary storage device 14 includes a control program described for the control process described later. As an example, the image forming apparatus 10 is transferred to the manager of the image forming apparatus 10 or the like in a state where the control program is stored in the ROM 12 or the auxiliary storage device 14. However, the image forming apparatus 10 may be transferred to the administrator or the like in a state where the control program described for the control process described later is not stored in the ROM 12 or the auxiliary storage device 14. Further, the image forming apparatus 10 may be transferred to the administrator or the like in a state where another control program is stored in the ROM 12 or the auxiliary storage device 14. Then, the control program described for the control process described later may be separately transferred to the administrator or the like and written to the ROM 12 or the auxiliary storage device 14 under the operation of the administrator or the serviceman. The transfer of the control program at this time can be realized by recording on a removable storage medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory, or by downloading via a network.
The above control program includes a RIP program for the processor 11 to perform RIP processing.

ROM12又は補助記憶デバイス14は、未印刷の印刷ジョブの一覧であるジョブ一覧を記憶する。印刷ジョブには、印刷対象となる画像又は文書などのデータ(以下「印刷対象データ」という。)が含まれる。 The ROM 12 or the auxiliary storage device 14 stores a job list which is a list of unprinted print jobs. The print job includes data such as an image or a document to be printed (hereinafter referred to as "print target data").

プロセッサー11は、RIPプログラムを実行することで、RIP111として動作する。
RIP111は、PDLで記述されたデータを印刷用データに変換するRIP処理を行う。RIP111は、解析部112及び描画処理部113を含む。
The processor 11 operates as the RIP 111 by executing the RIP program.
RIP111 performs RIP processing for converting the data described in PDL into print data. The RIP 111 includes an analysis unit 112 and a drawing processing unit 113.

解析部112は、PDLで記述された複数ページの印刷対象データを、ページごとのデータに分解する処理など含む解析処理を行う。印刷対象データは、解析部112によって解析処理が行われることで、中間データに変換される。中間データは、以下に示す描画処理を行うことができるようなデータである。なお、解析処理は、シーケンシャル処理である。これは、PDLで記述されたデータは、要素の記述順と見た目の順序とが一致しているとは限らず、また、複数ページに渡るような要素もあり、並行処理することが難しいためである。1ページは、1印刷単位の一例である。
描画処理部113は、中間データを、印刷用データに変換する描画処理を行う。印刷用データは、1つの印刷画素ごとにどのような色で印刷するかを示す情報などを含む。1つの描画処理部113が1回の描画処理で変換する中間データは、1印刷単位の印刷対象データの一例である。
The analysis unit 112 performs an analysis process including a process of decomposing the print target data of a plurality of pages described in PDL into data for each page. The print target data is converted into intermediate data by performing analysis processing by the analysis unit 112. The intermediate data is data that can perform the drawing process shown below. The analysis process is a sequential process. This is because the data described in PDL does not always match the description order of the elements and the appearance order, and there are also elements that span multiple pages, making it difficult to process in parallel. be. One page is an example of one print unit.
The drawing processing unit 113 performs drawing processing for converting intermediate data into printing data. The print data includes information indicating what color is to be printed for each print pixel. The intermediate data converted by one drawing processing unit 113 in one drawing process is an example of print target data for one print unit.

圧縮コア15は、例えば、RIP処理が終わった印刷用データに対してデータ圧縮を行うハードウェアアクセラレーターである。なお、図1には2つの圧縮コア15が示されているが、圧縮コア15の数は2個に限定しない。すなわち、圧縮コア15の数は、1個であっても良いし、3個以上であっても良い。それぞれの圧縮コア15は、自身に割り当てられたコアIDを記憶している。圧縮コア15は、圧縮部の一例である。 The compression core 15 is, for example, a hardware accelerator that compresses print data for which RIP processing has been completed. Although two compression cores 15 are shown in FIG. 1, the number of compression cores 15 is not limited to two. That is, the number of the compression cores 15 may be one or three or more. Each compression core 15 stores a core ID assigned to itself. The compression core 15 is an example of a compression unit.

画像形成部16は、紙等のシート状の記録媒体などに対してインクなどを用いて画像などを形成することで印刷を行う。なお、画像形成部16は、印刷用データなどに基づいて印刷を行う。画像形成部16は、例えば、レーザープリンター、インクジェットプリンター又はその他のプリンターを備える。 The image forming unit 16 prints by forming an image or the like with ink or the like on a sheet-shaped recording medium such as paper. The image forming unit 16 prints based on printing data and the like. The image forming unit 16 includes, for example, a laser printer, an inkjet printer, or another printer.

バス17は、コントロールバス、アドレスバス及びデータバスなどを含み、画像形成装置10の各部で授受される信号を伝送する。 The bus 17 includes a control bus, an address bus, a data bus, and the like, and transmits signals transmitted and received by each part of the image forming apparatus 10.

以下、実施形態に係る画像形成装置10の動作を図2~図8に基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。図2及び図3は、画像形成装置10のプロセッサー11による制御処理のフローチャートである。プロセッサー11は、ROM12又は補助記憶デバイス14などに記憶された制御プログラムに基づいてこの制御処理を実行する。プロセッサー11は、図2及ぶ図3の制御処理を実行することで、RIP111として動作する。プロセッサー11は、図2の制御処理を実行することで、解析部112として動作する。プロセッサー11は、図3の制御処理を実行することで、描画処理部113として動作する。あるいは、プロセッサー11は、図3中に示す描画処理を実行することで、描画処理部113として動作する。なお、プロセッサー11は、図3の制御処理又は図3中に示す描画処理を複数並列して実行することで、複数の描画処理部113として動作する。図5は、画像形成装置10の圧縮コア15によるハードウェア処理のフローチャートである。なお、プロセッサー11は、図3に示す制御処理を開始するとき、変数n及び変数F1をRAM13などに割り当てる。変数nは、印刷対象データの何ページ目を対象に解析処理を行うかを示す。変数F1は、描画監視処理を実行中であることを示すフラグである。変数F1の初期値は、Falseである。また、プロセッサー11は、図4に示す制御処理を開始するとき、変数F2をRAM13などに割り当てる。変数F2は、圧縮監視処理を実行中であることを示すフラグである。変数F2の初期値は、Falseである。
なお、特に説明が無い限り、プロセッサー11及び圧縮コア15は、Act(n)(nは、自然数。)の処理の後、Act(n+1)へと進むものとする。
Hereinafter, the operation of the image forming apparatus 10 according to the embodiment will be described with reference to FIGS. 2 to 8. The content of the process in the following operation description is an example, and various processes that can obtain the same result can be appropriately used. 2 and 3 are flowcharts of control processing by the processor 11 of the image forming apparatus 10. The processor 11 executes this control process based on the control program stored in the ROM 12 or the auxiliary storage device 14. The processor 11 operates as the RIP 111 by executing the control process of FIG. 2 and FIG. The processor 11 operates as the analysis unit 112 by executing the control process of FIG. 2. The processor 11 operates as the drawing processing unit 113 by executing the control processing of FIG. Alternatively, the processor 11 operates as the drawing processing unit 113 by executing the drawing process shown in FIG. The processor 11 operates as a plurality of drawing processing units 113 by executing a plurality of control processes of FIG. 3 or drawing processes shown in FIG. 3 in parallel. FIG. 5 is a flowchart of hardware processing by the compression core 15 of the image forming apparatus 10. When the processor 11 starts the control process shown in FIG. 3, the variable n and the variable F1 are assigned to the RAM 13 and the like. The variable n indicates the page number of the print target data to be analyzed. The variable F1 is a flag indicating that the drawing monitoring process is being executed. The initial value of the variable F1 is False. Further, when the processor 11 starts the control process shown in FIG. 4, the variable F2 is assigned to the RAM 13 and the like. The variable F2 is a flag indicating that the compression monitoring process is being executed. The initial value of the variable F2 is False.
Unless otherwise specified, the processor 11 and the compression core 15 proceed to Act (n + 1) after processing Act (n) (n is a natural number).

プロセッサー11、RIP処理を行っていない印刷対象データがあるならば、図2に示す制御処理を開始する。印刷対象データは、例えば、印刷ジョブに含まれる。図2に示す制御処理は、解析処理を含む。解析処理は、Act1~Act12及びAct14を含む。 If the processor 11 has print target data that has not been RIP-processed, the control process shown in FIG. 2 is started. The print target data is included in, for example, a print job. The control process shown in FIG. 2 includes an analysis process. The analysis process includes Act1 to Act12 and Act14.

図2のAct1において画像形成装置10のプロセッサー11は、変数nの値を1にする。
Act2においてプロセッサー11は、印刷対象データのnページ目を中間データに変換する。
In Act 1 of FIG. 2, the processor 11 of the image forming apparatus 10 sets the value of the variable n to 1.
In Act2, the processor 11 converts the nth page of the print target data into intermediate data.

Act3においてプロセッサー11は、描画監視処理を実行中であるか否かを判定する。すなわち、プロセッサー11は、例えば、変数F1の値がTrueであるか否かを判定する。プロセッサー11は、描画監視処理を実行中でないならば、Act3においてNoと判定してAct4へと進む。 In Act 3, the processor 11 determines whether or not the drawing monitoring process is being executed. That is, the processor 11 determines, for example, whether or not the value of the variable F1 is True. If the drawing monitoring process is not being executed, the processor 11 determines No in Act 3 and proceeds to Act 4.

Act4においてプロセッサー11は、空きコア数を取得する。すなわち、プロセッサー11は、RAM13などから変数qの値を取得する。
Act5においてプロセッサー11は、描画スレッド数を取得する。すなわち、プロセッサー11は、RAM13などから変数pの値を取得する。
In Act4, the processor 11 acquires the number of free cores. That is, the processor 11 acquires the value of the variable q from the RAM 13 and the like.
In Act5, the processor 11 acquires the number of drawing threads. That is, the processor 11 acquires the value of the variable p from the RAM 13 and the like.

Act6においてプロセッサー11は、(空きコア数q+設定値k)>(準備中データ数)を満たすか否かを判定する。なお、準備中データ数は、圧縮処理を行う準備をしているデータの数である。すなわち、例えば、(準備中データ数)=(描画スレッド数p)である。プロセッサー11は、(空きコア数q+設定値k)>(準備中データ数)を満たすならば、Act6においてYesと判定してAct7へと進む。 In Act6, the processor 11 determines whether or not (the number of free cores q + the set value k)> (the number of data in preparation) is satisfied. The number of data being prepared is the number of data being prepared for compression processing. That is, for example, (number of data being prepared) = (number of drawing threads p). If the processor 11 satisfies (number of free cores q + set value k)> (number of data in preparation), the processor 11 determines Yes in Act 6 and proceeds to Act 7.

Act7においてプロセッサー11は、描画処理を開始することを示すために、変数pの値を1増加させる。 In Act 7, the processor 11 increments the value of the variable p by 1 to indicate that the drawing process is started.

Act8においてプロセッサー11は、nページ目の中間データに対する描画処理を開始させる。すなわち、プロセッサー11は、図3に示す制御処理を開始させる。このとき、プロセッサー11は、例えば、制御処理に対してnページ目の中間データを渡す。なお、プロセッサー11は、図3に示す制御処理を、図2に示す制御処理とは別スレッドで実行することで、図2に示す制御処理と並行又は並列して処理する。好ましくは、プロセッサー11は、並列処理する。また、プロセッサー11は、他に描画処理を実行中である場合、図3に示す制御処理を、既に実行中の描画処理とは別スレッドで実行することで、既に実行中の描画処理と並行又は並列して処理する。好ましくは、プロセッサー11は、並列処理する。以上より、プロセッサー11は、描画処理を最大で(圧縮コア15の数+設定値k)スレッド並行又は並列して処理する場合がある。プロセッサー11は、図2のAct8の処理の後、Act9へと進む。 In Act 8, the processor 11 starts the drawing process for the intermediate data on the nth page. That is, the processor 11 starts the control process shown in FIG. At this time, the processor 11 passes, for example, the intermediate data of the nth page to the control process. The processor 11 processes the control process shown in FIG. 3 in parallel or in parallel with the control process shown in FIG. 2 by executing the control process shown in FIG. 3 in a thread different from the control process shown in FIG. Preferably, the processor 11 processes in parallel. Further, when the processor 11 is executing another drawing process, the processor 11 executes the control process shown in FIG. 3 in a thread different from the drawing process that is already being executed, so that the processor 11 can execute the control process in parallel with the drawing process that is already being executed. Process in parallel. Preferably, the processor 11 processes in parallel. From the above, the processor 11 may process the drawing process at the maximum (number of compression cores 15 + set value k) in parallel or in parallel with the threads. The processor 11 proceeds to Act9 after the processing of Act8 in FIG.

Act9においてプロセッサー11は、印刷対象データの全ページについて解析処理を終えたか否かを判定する。すなわち、プロセッサー11は、例えば、印刷対象データのページ数がnより大きいか否かを判定する。プロセッサー11は、印刷対象データのページ数がnより大きいならば、Act9においてYesと判定してAct10へと進む。 In Act9, the processor 11 determines whether or not all the pages of the print target data have been analyzed. That is, the processor 11 determines, for example, whether or not the number of pages of print target data is larger than n. If the number of pages of print target data is larger than n, the processor 11 determines Yes in Act9 and proceeds to Act10.

Act10においてプロセッサー11は、解析処理の対象を次ページに変更するために、変数nの値を1増加させる。プロセッサー11は、Act10の処理の後、Act1へと戻る。対して、プロセッサー11は、印刷対象データのページ数がnより大きくないならば、Act9においてNoと判定して解析処理を終了する。かくして、プロセッサー11は、nの値が印刷対象データのページ数になるまでAct1~Act10を繰り返す。これにより、プロセッサー11は、印刷対象データの全ページについて解析処理を行う。 In Act 10, the processor 11 increments the value of the variable n by 1 in order to change the target of the analysis process to the next page. The processor 11 returns to Act1 after processing Act10. On the other hand, if the number of pages of the print target data is not larger than n, the processor 11 determines No in Act9 and ends the analysis process. Thus, the processor 11 repeats Act1 to Act10 until the value of n becomes the number of pages of the print target data. As a result, the processor 11 performs analysis processing on all pages of the print target data.

なお、プロセッサー11は、(空きコア数+k)>(準備中データ数)を満たさないならば、Act6においてNoと判定してAct11へと進む。
Act11においてプロセッサー11は、描画監視処理を実行中であることを示すために、変数F1の値をTrueにする。
If the processor 11 does not satisfy (number of free cores + k)> (number of data in preparation), the processor 11 determines No in Act 6 and proceeds to Act 11.
In Act 11, the processor 11 sets the value of the variable F1 to True in order to indicate that the drawing monitoring process is being executed.

Act12においてプロセッサー11は、nページ目の中間データを描画待ちキューに追加する。描画待ちキューは、描画処理を待つ中間データのリストである。プロセッサー11は、Act12の処理の後、新たなスレッドを1つ開始する。そして、プロセッサー11は、既存のスレッドにおいてAct9へと進む。さらに、プロセッサー11は、新たなスレッドにおいてAct13に示す描画監視処理を開始する。Act13の処理は、Act131~Act137の処理を含む。 In Act 12, the processor 11 adds the intermediate data of the nth page to the drawing waiting queue. The drawing wait queue is a list of intermediate data waiting for drawing processing. The processor 11 starts one new thread after the processing of Act12. Then, the processor 11 proceeds to Act9 in the existing thread. Further, the processor 11 starts the drawing monitoring process shown in Act 13 in a new thread. The processing of Act13 includes the processing of Act131 to Act137.

Act131においてプロセッサー11は、Act4と同様にして空きコア数を取得する。
Act132においてプロセッサー11は、Act5と同様にして描画スレッド数を取得する。
In Act 131, the processor 11 acquires the number of free cores in the same manner as in Act 4.
In Act 132, the processor 11 acquires the number of drawing threads in the same manner as in Act 5.

Act133においてプロセッサー11は、Act6と同様に、(空きコア数q+設定値k)>(準備中データ数)を満たすか否かを判定する。プロセッサー11は、(空きコア数q+設定値k)>(準備中データ数)を満たさないならば、Act133においてNoと判定してAct131へと戻る。対して、プロセッサー11は、(空きコア数q+設定値k)>(準備中データ数)を満たすならば、Act133においてYesと判定してAct134へと進む。 In Act133, the processor 11 determines whether or not (the number of free cores q + the set value k)> (the number of data in preparation) is satisfied, similarly to Act6. If the processor 11 does not satisfy (number of free cores q + set value k)> (number of data in preparation), the processor 11 determines No in Act 133 and returns to Act 131. On the other hand, if the processor 11 satisfies (number of free cores q + set value k)> (number of data in preparation), the processor 11 determines Yes in Act 133 and proceeds to Act 134.

Act134においてプロセッサー11は、描画処理を開始することを示すために、変数pの値を1増加させる。
Act135においてプロセッサー11は、描画待ちキューに含まれる中間データの中から最初に描画待ちキューに追加された中間データを選択する。そして、プロセッサー11は、Act8と同様にして、当該中間データに対する描画処理を開始させる。さらに、プロセッサー11は、当該中間データを描画待ちキューから削除する。
In Act 134, the processor 11 increments the value of the variable p by 1 to indicate that the drawing process is to be started.
In Act135, the processor 11 selects the intermediate data first added to the drawing waiting queue from the intermediate data included in the drawing waiting queue. Then, the processor 11 starts the drawing process for the intermediate data in the same manner as the Act 8. Further, the processor 11 deletes the intermediate data from the drawing waiting queue.

Act136においてプロセッサー11は、描画処理待ちの中間データがあるか否かを判定する。すなわち、プロセッサー11は、描画待ちキューに中間データがあるか否かを判定する。プロセッサー11は、描画処理待ちの中間データがあるならば、Act23においてYesと判定してAct131へと戻る。対して、プロセッサー11は、描画処理待ちの中間データがないならば、Act136においてNoと判定してAct137へと進む。 In Act 136, the processor 11 determines whether or not there is intermediate data waiting for drawing processing. That is, the processor 11 determines whether or not there is intermediate data in the drawing waiting queue. If there is intermediate data waiting for drawing processing, the processor 11 determines Yes in Act 23 and returns to Act 131. On the other hand, if there is no intermediate data waiting for the drawing process, the processor 11 determines No in Act 136 and proceeds to Act 137.

Act137においてプロセッサー11は、描画監視処理を実行中でないことを示すために、変数F1の値をFalseにする。プロセッサー11は、Act137の処理の後、描画監視処理を終了する。そして、プロセッサー11は、描画監視処理を行っていたスレッドを終了する。 In Act137, the processor 11 sets the value of the variable F1 to False in order to indicate that the drawing monitoring process is not being executed. The processor 11 ends the drawing monitoring process after the process of Act137. Then, the processor 11 terminates the thread that was performing the drawing monitoring process.

なお、プロセッサー11は、Act3の処理時に描画監視処理を実行中であるならば、Act3においてYesと判定してAct14へと進む。
Act14においてプロセッサー11は、描画待ちキューにnページ目の中間データを追加する。プロセッサー11は、Act14の処理の後、Act9へと進む。
If the drawing monitoring process is being executed at the time of the process of Act 3, the processor 11 determines Yes in Act 3 and proceeds to Act 14.
In Act 14, the processor 11 adds the intermediate data of the nth page to the drawing waiting queue. The processor 11 proceeds to Act9 after processing Act14.

次に、図3に示す制御処理について説明する。図3に示す制御処理は、描画処理を含む。描画処理は、Act31~Act40及びAct42を含む。
図3のAct31においてプロセッサー11は、対象とする中間データから印刷用データを生成する。対象とする中間データは、例えば、解析処理又は描画監視処理から渡されたものである。
Next, the control process shown in FIG. 3 will be described. The control process shown in FIG. 3 includes a drawing process. The drawing process includes Act31 to Act40 and Act42.
In Act 31 of FIG. 3, the processor 11 generates print data from the target intermediate data. The target intermediate data is, for example, passed from an analysis process or a drawing monitoring process.

Act32においてプロセッサー11は、圧縮監視処理を実行中であるか否かを判定する。すなわち、プロセッサー11は、例えば、変数F2の値がTrueであるか否かを判定する。プロセッサー11は、圧縮監視処理を実行中でないならば、Act32においてNoと判定してAct33へと進む。 In Act 32, the processor 11 determines whether or not the compression monitoring process is being executed. That is, the processor 11 determines, for example, whether or not the value of the variable F2 is True. If the compression monitoring process is not being executed, the processor 11 determines No in Act 32 and proceeds to Act 33.

Act33においてプロセッサー11は、RAM13などから圧縮コア情報を取得する。
Act34においてプロセッサー11は、Act33で取得した圧縮コア情報を参照して、アイドル状態の圧縮コア15があるか否かを判定する。あるいは、プロセッサー11は、変数qの値が0より大きいか否かを判定しても良い。プロセッサー11は、アイドル状態の圧縮コア15があるならば、Act34においてYesと判定してAct35へと進む。
In Act 33, the processor 11 acquires the compression core information from the RAM 13 and the like.
In Act 34, the processor 11 refers to the compression core information acquired in Act 33 and determines whether or not there is an idle compression core 15. Alternatively, the processor 11 may determine whether the value of the variable q is greater than 0. If there is an idle compression core 15, the processor 11 determines Yes in Act 34 and proceeds to Act 35.

Act35においてプロセッサー11は、アイドル状態の圧縮コア15の数が減少することを示すために、変数qの値を1減少させる。
Act36においてプロセッサー11は、アイドル状態の圧縮コア15に対して、圧縮処理を行うように求める圧縮リクエスト送信する。当該圧縮リクエストは、Act31で変換した印刷用データを含む。
At Act 35, the processor 11 decrements the value of the variable q by 1 to indicate that the number of idle compression cores 15 is reduced.
In Act 36, the processor 11 transmits a compression request requesting compression processing to the idle compression core 15. The compression request includes print data converted by Act31.

一方、図4のAct51において圧縮コア15は、圧縮リクエストが送信されてくるのを待ち受けている。圧縮コア15は、圧縮リクエストを受信したならば、Act51においてYesと判定してAct52へと進む。 On the other hand, in Act 51 of FIG. 4, the compression core 15 waits for a compression request to be transmitted. When the compression core 15 receives the compression request, the compression core 15 determines Yes in the Act 51 and proceeds to the Act 52.

Act52において圧縮コア15は、当該圧縮コア15がビジー状態となったことを示すために第1のコア通知をプロセッサー11に送信する。第1のコア通知は、第1のコア通知の送信元である圧縮コア15のコアIDを含む。第1のコア通知を受信したプロセッサー11は、圧縮コア情報を更新して、当該第1のコア通知に含まれるコアIDに関連付けられたパラメーターを、ビジー状態を示すように変更する。 In Act 52, the compression core 15 sends a first core notification to the processor 11 to indicate that the compression core 15 is in a busy state. The first core notification includes the core ID of the compressed core 15 that is the source of the first core notification. Upon receiving the first core notification, the processor 11 updates the compressed core information and changes the parameter associated with the core ID included in the first core notification to indicate the busy state.

Act53において圧縮コア15は、Act51で受信した圧縮リクエストに含まれる印刷用データに対してデータ圧縮を行う。当該データ圧縮により生成されたデータを、以下「圧縮データ」というものとする。 In Act53, the compression core 15 performs data compression on the print data included in the compression request received in Act51. The data generated by the data compression is hereinafter referred to as "compressed data".

Act54において圧縮コア15は、Act53で生成した圧縮データを補助記憶デバイス14に送信する。圧縮データを受信した補助記憶デバイス14は、当該圧縮データを記憶する。 In Act 54, the compression core 15 transmits the compressed data generated by Act 53 to the auxiliary storage device 14. The auxiliary storage device 14 that has received the compressed data stores the compressed data.

Act55において圧縮コア15は、当該圧縮コア15がアイドル状態となったことを示すために第2のコア通知をプロセッサー11に送信する。第2のコア通知は、第2のコア通知の送信元である圧縮コア15のコアIDを含む。第2のコア通知を受信したプロセッサー11は、圧縮コア情報を更新して、当該第2のコア通知に含まれるコアIDに関連付けられたパラメーターを、アイドル状態を示すように変更する。また、プロセッサー11は、アイドル状態の圧縮コア15の数が増加したことを示すために、変数qの値を1増加させる。 In Act 55, the compression core 15 sends a second core notification to the processor 11 to indicate that the compression core 15 has become idle. The second core notification includes the core ID of the compressed core 15 that is the source of the second core notification. Upon receiving the second core notification, the processor 11 updates the compressed core information and changes the parameter associated with the core ID included in the second core notification to indicate the idle state. Also, the processor 11 increments the value of the variable q by 1 to indicate that the number of idle compression cores 15 has increased.

一方、プロセッサー11は、図3のAct36の処理の後、Act37へと進む。
Act37においてプロセッサー11は、描画処理を終えたことを示すために、変数pの値を1減少させる。プロセッサー11は、Act37の処理の後、描画処理を終了する。そして、プロセッサー11は、当該描画処理を行っていたスレッドを終了する。
On the other hand, the processor 11 proceeds to Act37 after the processing of Act36 in FIG.
In Act37, the processor 11 decrements the value of the variable p by 1 to indicate that the drawing process has been completed. The processor 11 ends the drawing process after the process of Act 37. Then, the processor 11 terminates the thread that was performing the drawing process.

なお、プロセッサー11は、アイドル状態の圧縮コア15がないならば、Act34においてNoと判定してAct38へと進む。
Act38においてプロセッサー11は、圧縮監視処理を実行中であることを示すために、変数F2の値をTrueにする。
If there is no idle compression core 15, the processor 11 determines No in Act 34 and proceeds to Act 38.
In Act 38, the processor 11 sets the value of the variable F2 to True to indicate that the compression monitoring process is being executed.

Act39においてプロセッサー11は、圧縮待ち数が増加したことを示すために、変数rの値を1増加させる。
Act40においてプロセッサー11は、Act31で変換した印刷用データを圧縮待ちキューに追加する。プロセッサー11は、Act40の処理の後、新たなスレッドを1つ開始する。そして、プロセッサー11は、既存のスレッドにおいてAct37へと進む。さらに、プロセッサー11は、新たなスレッドにおいてAct41に示す描画監視処理を開始する。Act41の処理は、Act411~Act416の処理を含む。
In Act 39, the processor 11 increments the value of the variable r by 1 to indicate that the number of waits for compression has increased.
In the Act 40, the processor 11 adds the print data converted in the Act 31 to the compression waiting queue. The processor 11 starts one new thread after the processing of Act40. Then, the processor 11 proceeds to Act37 in the existing thread. Further, the processor 11 starts the drawing monitoring process shown in Act 41 in a new thread. The processing of Act 41 includes the processing of Act 411 to Act 416.

Act411においてプロセッサー11は、Act33と同様にして圧縮コア情報を取得する。
Act412においてプロセッサー11は、Act411で取得した圧縮コア情報を参照して、アイドル状態の圧縮コア15があるか否かを判定する。あるいは、プロセッサー11は、変数qの値が0より大きいか否かを判定しても良い。プロセッサー11は、アイドル状態の圧縮コア15がないならば、Act412においてNoと判定してAct411へと戻る。対して、プロセッサー11は、アイドル状態の圧縮コア15があるならば、Act412においてYesと判定してAct413へと進む。
In Act 411, the processor 11 acquires the compression core information in the same manner as in Act 33.
In Act412, the processor 11 refers to the compression core information acquired in Act411 and determines whether or not there is an idle compression core 15. Alternatively, the processor 11 may determine whether the value of the variable q is greater than 0. If there is no idle compression core 15, the processor 11 determines No in Act412 and returns to Act411. On the other hand, if there is an idle compression core 15, the processor 11 determines Yes in Act412 and proceeds to Act413.

Act413においてプロセッサー11は、アイドル状態の圧縮コア15の数が減少することを示すために、変数qの値を1減少させる。さらに、プロセッサー11は、圧縮待ち数が減少することを示すために、変数rの値を1減少させる。 In Act 413, the processor 11 decrements the value of the variable q by 1 to indicate that the number of idle compression cores 15 is reduced. Further, the processor 11 decrements the value of the variable r by 1 to indicate that the number of waiting for compression is reduced.

Act414においてプロセッサー11は、アイドル状態の圧縮コア15に対して、圧縮処理を行うように求める圧縮リクエストを送信する。当該圧縮リクエストは、圧縮待ちキューに含まれる印刷用データの中で最初に圧縮待ちキューに追加された印刷用データを含む。さらに、プロセッサー11は、当該印刷用データを圧縮待ちキューから削除する。 In Act 414, the processor 11 sends a compression request to the idle compression core 15 to perform compression processing. The compression request includes print data that is first added to the compression wait queue among the print data included in the compression wait queue. Further, the processor 11 deletes the print data from the compression waiting queue.

Act415においてプロセッサー11は、圧縮処理待ちの印刷用データがあるか否かを判定する。すなわち、プロセッサー11は、圧縮待ちキューに印刷用データがあるか否かを判定する。プロセッサー11は、圧縮処理待ちの印刷用データがあるならば、Act415においてYesと判定してAct411へと戻る。対して、プロセッサー11は、圧縮処理待ちの印刷用データがないならば、Act415においてNoと判定してAct416へと進む。 In Act415, the processor 11 determines whether or not there is print data waiting for compression processing. That is, the processor 11 determines whether or not there is print data in the compression waiting queue. If there is print data waiting for compression processing, the processor 11 determines Yes in Act415 and returns to Act411. On the other hand, if there is no print data waiting for compression processing, the processor 11 determines No in Act415 and proceeds to Act416.

Act416においてプロセッサー11は、圧縮監視処理を実行中でないことを示すために、変数F2の値をFalseにする。プロセッサー11は、Act416の処理の後、圧縮監視処理を終了する。そして、プロセッサー11は、圧縮監視処理を行っていたスレッドを終了する。 In Act 416, the processor 11 sets the value of the variable F2 to False in order to indicate that the compression monitoring process is not being executed. The processor 11 ends the compression monitoring process after the process of Act 416. Then, the processor 11 terminates the thread that was performing the compression monitoring process.

なお、プロセッサー11は、Act32の処理時に圧縮監視処理を実行中であるならば、Act32においてYesと判定してAct42へと進む。
Act42においてプロセッサー11は、Act31で変換した印刷用データを圧縮待ちキューに追加する。プロセッサー11は、Act42の処理の後、Act37へと進む。
If the compression monitoring process is being executed at the time of the Act 32 process, the processor 11 determines Yes in the Act 32 and proceeds to the Act 42.
In Act 42, the processor 11 adds the print data converted by Act 31 to the compression waiting queue. The processor 11 proceeds to Act 37 after processing Act 42.

プロセッサー11は、印刷ジョブに含まれる印刷用データを圧縮データに変換し終えたならば、例えば、当該印刷ジョブに基づき、当該圧縮データを印刷する。すなわち、プロセッサー11は、補助記憶デバイス14に記憶された当該圧縮データを印刷するよう画像形成部16を制御する。 When the processor 11 finishes converting the print data included in the print job into the compressed data, the processor 11 prints the compressed data based on the print job, for example. That is, the processor 11 controls the image forming unit 16 to print the compressed data stored in the auxiliary storage device 14.

実施形態の画像形成装置10は、プロセッサー11を効率的に使用可能である。以下に理由を述べる。
従来の画像形成装置は、例えば、図5に示すようにRIP処理及び圧縮処理を行う。図5は、従来のRIP処理と圧縮処理の処理タイミングの一例を示す図である。図5の例では、プロセッサーは、解析処理をスレッド1で行い、描画処理をスレッド2で行う。また、図5の例では、画像形成装置は、1個の圧縮コアを備える。
解析部は、まず、1ページ目を対象とする解析処理を行う。そして、解析部は、1ページ目を対象とする解析処理が完了すると、描画処理部に対して1ページ目を対象とする描画処理の開始を要求する。そして、解析部は引き続き2ページ目を対象とする解析処理を開始する。
一方、描画処理部は、1ページ目を対象とする描画処理の開始の要求に応じて、1ページ目を対象とする描画処理を開始する。そして、描画処理部は、1ページ目を対象とする描画処理が完了すると、画像データを圧縮するよう圧縮コアに対して要求する。
なお、一般的に、描画処理は、データ解析よりも時間がかかる。したがって、描画処理部がスレッド2で1ページ目を対象とする描画処理を行っている間に、解析部は、2ページ目を対象とする解析処理を完了することになる。さらに、解析部は、2ページ目を対象とする描画処理の開始を描画処理部に要求する。しかしながら、このとき、描画処理部は、1ページ目を対象とする描画処理の最中である。このため、2ページ目を対象とする描画処理をすぐに開始することはできない。同様に、3ページ目以降でも描画処理をすぐに開始することができず、処理待ちが発生する。そして、図5に示すように、後のページになるほど描画処理待ちの時間も長くなる場合がある。また、図5の例では圧縮処理よりも描画処理の方が時間がかかる。したがって、圧縮コアは、圧縮処理を行った後、描画処理部が次のページの描画処理を終えるまで使用されていない状態となる。
The image forming apparatus 10 of the embodiment can efficiently use the processor 11. The reason is described below.
The conventional image forming apparatus performs RIP processing and compression processing as shown in FIG. 5, for example. FIG. 5 is a diagram showing an example of processing timing of conventional RIP processing and compression processing. In the example of FIG. 5, the processor performs the analysis process in the thread 1 and the drawing process in the thread 2. Also, in the example of FIG. 5, the image forming apparatus includes one compression core.
The analysis unit first performs an analysis process targeting the first page. Then, when the analysis process for the first page is completed, the analysis unit requests the drawing processing unit to start the drawing process for the first page. Then, the analysis unit continues to start the analysis process for the second page.
On the other hand, the drawing processing unit starts the drawing process for the first page in response to the request for starting the drawing process for the first page. Then, when the drawing process for the first page is completed, the drawing processing unit requests the compression core to compress the image data.
In general, the drawing process takes longer than the data analysis. Therefore, while the drawing processing unit is performing the drawing processing for the first page in the thread 2, the analysis unit completes the analysis processing for the second page. Further, the analysis unit requests the drawing processing unit to start the drawing processing for the second page. However, at this time, the drawing processing unit is in the middle of drawing processing for the first page. Therefore, the drawing process for the second page cannot be started immediately. Similarly, even after the third page, the drawing process cannot be started immediately, and a process wait occurs. Then, as shown in FIG. 5, the time for waiting for the drawing process may become longer as the page becomes later. Further, in the example of FIG. 5, the drawing process takes longer than the compression process. Therefore, after the compression process is performed, the compression core is in a state of not being used until the drawing process unit finishes the drawing process of the next page.

次に、複数の描画処理をマルチスレッドにより並列処理する例を図6に示す。図6は、RIP処理と圧縮処理の処理タイミングの一例を示す図である。図6の例では、図5の例とは異なり、画像形成装置は、描画処理をスレッド2とスレッド3の2つのスレッドでそれぞれ行うことが可能である。図6の例では、解析部は、1ページ分の解析処理を完了するごとに、スレッド2とスレッド3のうちの空いている方に対して描画処理の開始を要求する。これにより、複数のスレッドでそれぞれ描画処理を行うことで、図5の例に比べて描画処理待ちが発生し難くなる。図6の例では、描画処理待ちは発生していない。また、圧縮コアは、圧縮処理を行った後、図5に示す例のように使用されていない状態となっていない。しかしながら、図6の例では、描画処理部が2ページ目を対象とする描画処理を完了したときに、圧縮コアは、まだ1ページ目の圧縮処理を完了していない。このため、圧縮コアは、描画処理部が2ページ目を対象とする描画処理を完了してもすぐには2ページ目の圧縮処理を行うことができない。同様に、3ページ目以降でも、圧縮コアは、描画処理完了後すぐには圧縮処理を行うことができない。そして、図6に示すように、後のページになるほど圧縮処理待ちの時間が長くなる場合がある。このように、プロセッサーがRIP処理を早く進めても、圧縮コアが空いていないことによる圧縮処理待ちが発生すると、全体の処理速度が向上しない。そればかりか、プロセッサーの使用率が不必要に上がることとなってしまう。 Next, FIG. 6 shows an example in which a plurality of drawing processes are processed in parallel by multithreading. FIG. 6 is a diagram showing an example of processing timing of RIP processing and compression processing. In the example of FIG. 6, unlike the example of FIG. 5, the image forming apparatus can perform the drawing process in two threads, thread 2 and thread 3, respectively. In the example of FIG. 6, the analysis unit requests the vacant one of the threads 2 and 3 to start the drawing process every time the analysis process for one page is completed. As a result, by performing the drawing process in each of the plurality of threads, the waiting for the drawing process is less likely to occur as compared with the example of FIG. In the example of FIG. 6, the drawing process waiting does not occur. Further, the compression core is not in an unused state as in the example shown in FIG. 5 after the compression process is performed. However, in the example of FIG. 6, when the drawing processing unit completes the drawing process for the second page, the compression core has not yet completed the compression process for the first page. Therefore, even if the drawing processing unit completes the drawing process for the second page, the compression core cannot immediately perform the compression process for the second page. Similarly, even on the third and subsequent pages, the compression core cannot perform the compression process immediately after the drawing process is completed. Then, as shown in FIG. 6, the time for waiting for the compression process may become longer as the page becomes later. As described above, even if the processor advances the RIP processing quickly, the overall processing speed does not improve if the compression processing wait occurs due to the fact that the compression core is not available. Not only that, the processor usage will increase unnecessarily.

実施形態の画像形成装置10におけるRIP処理と圧縮処理の処理タイミングの一例を示す図7に示す。図7の例では、画像形成装置10は、図5及び図6の例と同様に1個の圧縮コア15を備える。なお、図7の例では、設定値k=1である。
図7の例では、3ページ目の解析処理が完了したときには、1ページ目の圧縮処理が圧縮コア15によって実行中であり、2ページ目を対象とする描画処理が描画処理部によって実行中である。そして、圧縮コア15は、1ページ目の圧縮処理を完了した後は2ページ目の圧縮処理を開始する。このため、この時点で3ページ目を対象とする描画処理を行っても全体の処理速度向上には寄与せず、プロセッサーの使用率を上げるだけであると考えられる。そこで、実施形態の画像形成装置10は、1ページ目の圧縮処理が完了するまでは、3ページ目を対象とする描画処理を開始しない。このようにすることで、図7の例では、プロセッサーの使用率が図6の例よりも低くなる。しかしながら、図7の例における全体の処理速度は、図6と同等である。したがって、実施形態の画像形成装置10は、プロセッサー11を効率的に使用しているといえる。
FIG. 7 shows an example of the processing timing of the RIP processing and the compression processing in the image forming apparatus 10 of the embodiment. In the example of FIG. 7, the image forming apparatus 10 includes one compression core 15 as in the examples of FIGS. 5 and 6. In the example of FIG. 7, the set value k = 1.
In the example of FIG. 7, when the analysis process of the third page is completed, the compression process of the first page is being executed by the compression core 15, and the drawing process for the second page is being executed by the drawing processing unit. be. Then, the compression core 15 starts the compression process of the second page after completing the compression process of the first page. Therefore, it is considered that even if the drawing process for the third page is performed at this point, it does not contribute to the improvement of the overall processing speed, but only increases the processor usage rate. Therefore, the image forming apparatus 10 of the embodiment does not start the drawing process for the third page until the compression process of the first page is completed. By doing so, in the example of FIG. 7, the processor usage rate is lower than that of the example of FIG. However, the overall processing speed in the example of FIG. 7 is equivalent to that of FIG. Therefore, it can be said that the image forming apparatus 10 of the embodiment efficiently uses the processor 11.

また、実施形態の画像形成装置10における別の一例を図8に示す。図8は、実施形態のRIP処理と圧縮処理の処理タイミングの一例を示す図である。図8の例では、図5~図7の例と異なり、画像形成装置10は、2つの圧縮コア15を備える。図8の例でも、図7の例と同様に3ページ目の解析処理が完了したときには、1ページ目の圧縮処理が1番目の圧縮コア15によって実行中であり、2ページ目を対象とする描画処理が描画処理部によって実行中である。しかしながら、図8の例では、圧縮コア15が2つあるため、1番目の圧縮コア15が1ページ目の圧縮処理を完了するのを待たずに、2つ目の圧縮コア15を用いて2ページ目の圧縮処理を開始することが可能である。このため、図8の例では、図7の例と異なり、3ページ目を対象とする描画処理を開始することで、全体の処理速度の向上に寄与することが可能である。したがって、図8の例では、図7の例とは異なり、描画処理部は、3ページ目を対象とする描画処理をすぐに開始する。また、図8の例では、圧縮コア15が複数あるため、圧縮処理待ちが発生していない。したがって、実施形態の画像形成装置10は、プロセッサー11を効率的に使用しているといえる。 Further, another example of the image forming apparatus 10 of the embodiment is shown in FIG. FIG. 8 is a diagram showing an example of the processing timing of the RIP processing and the compression processing of the embodiment. In the example of FIG. 8, unlike the examples of FIGS. 5 to 7, the image forming apparatus 10 includes two compression cores 15. Also in the example of FIG. 8, when the analysis process of the third page is completed as in the example of FIG. 7, the compression process of the first page is being executed by the first compression core 15, and the second page is targeted. The drawing process is being executed by the drawing process unit. However, in the example of FIG. 8, since there are two compression cores 15, the second compression core 15 is used without waiting for the first compression core 15 to complete the compression process of the first page. It is possible to start the page compression process. Therefore, in the example of FIG. 8, unlike the example of FIG. 7, it is possible to contribute to the improvement of the overall processing speed by starting the drawing process for the third page. Therefore, in the example of FIG. 8, unlike the example of FIG. 7, the drawing processing unit immediately starts the drawing process for the third page. Further, in the example of FIG. 8, since there are a plurality of compression cores 15, there is no waiting for compression processing. Therefore, it can be said that the image forming apparatus 10 of the embodiment efficiently uses the processor 11.

以上のように、実施形態の画像形成装置10は、圧縮コア15の数に応じて描画処理の開始タイミングが変わる。すなわち、実施形態の画像形成装置10は、圧縮コア15の数に応じてプロセッサー11を効率的に使用することができるといえる。 As described above, in the image forming apparatus 10 of the embodiment, the start timing of the drawing process changes according to the number of compression cores 15. That is, it can be said that the image forming apparatus 10 of the embodiment can efficiently use the processor 11 according to the number of compression cores 15.

また、実施形態の画像形成装置10は、準備中データ数が、アイドル状態の圧縮コア15の数よりもk以上多い場合、新たに描画処理を開始しない。準備中データ数がアイドル状態の圧縮コア15の数よりもk以上多い状態では、準備中データがこれより少ない場合に描画処理を行う場合に比べて全体の処理速度向上に寄与しないと考えられる。したがって、このような状態のときに描画処理を開始しないことで、実施形態の画像形成装置10は、プロセッサー11の使用率が不必要に上がることを防ぐことができる。 Further, the image forming apparatus 10 of the embodiment does not start a new drawing process when the number of data being prepared is k or more larger than the number of the compressed cores 15 in the idle state. It is considered that when the number of data being prepared is k or more larger than the number of compressed cores 15 in the idle state, it does not contribute to the improvement of the overall processing speed as compared with the case where the drawing process is performed when the number of data being prepared is less than this. Therefore, by not starting the drawing process in such a state, the image forming apparatus 10 of the embodiment can prevent the usage rate of the processor 11 from increasing unnecessarily.

上記の実施形態は以下のような変形も可能である。
上記の実施形態では、(準備中データ数)=(描画スレッド数p)である。しかしながら(準備中データ数)=(描画スレッド数p+圧縮待ち数r)であっても良い。準備中データ数が圧縮待ち数を含むことで、圧縮処理に時間がかかる場合に圧縮待ち数が増えることを防ぐことができる。また、圧縮待ち数に応じて描画スレッド数を減らすことになるので、全体の処理速度向上に寄与しないようなプロセッサー11の使用率の増大を防ぐことができる場合がある。
The above embodiment can be modified as follows.
In the above embodiment, (number of data being prepared) = (number of drawing threads p). However, (number of data in preparation) = (number of drawing threads p + number of waiting for compression r) may be used. Since the number of data being prepared includes the number of waiting for compression, it is possible to prevent the number of waiting for compression from increasing when the compression process takes a long time. Further, since the number of drawing threads is reduced according to the number of waiting for compression, it may be possible to prevent an increase in the usage rate of the processor 11 that does not contribute to the improvement of the overall processing speed.

圧縮コア15は、Act53の処理の後、圧縮データを生成したことをプロセッサー11に通知しても良い。そして、圧縮コア15は、プロセッサー11の制御のもと、当該圧縮データを補助記憶デバイスに送信しても良い。 The compression core 15 may notify the processor 11 that the compressed data has been generated after the processing of the Act 53. Then, the compression core 15 may transmit the compressed data to the auxiliary storage device under the control of the processor 11.

上記の実施形態では、プロセッサー11は、解析処理と描画監視処理を別スレッドで行うプログラムを実行する。しかしながら、プロセッサー11は、このプログラムに代えて、解析処理と描画監視処理とを同一のスレッドで処理するようなプログラムを実行しても良い。
上記の実施形態では、プロセッサー11は、描画処理と圧縮監視処理を別スレッドで行うプログラムを実行する。しかしながら、プロセッサー11は、このプログラムに代えて、描画処理と圧縮監視処理とを同一のスレッドで処理するようなプログラムを実行しても良い。
In the above embodiment, the processor 11 executes a program that performs analysis processing and drawing monitoring processing in separate threads. However, instead of this program, the processor 11 may execute a program that processes the analysis process and the drawing monitoring process in the same thread.
In the above embodiment, the processor 11 executes a program that performs drawing processing and compression monitoring processing in separate threads. However, instead of this program, the processor 11 may execute a program that processes the drawing process and the compression monitoring process in the same thread.

プロセッサー11は、上記の実施形態においてマルチスレッドで行っている処理をマルチプロセスで行っても良い。 The processor 11 may perform the processing performed by the multi-thread in the above embodiment by the multi-process.

印刷対象データがPDLでない場合であっても、本実施形態を適応することができる。すなわち、PDLでない印刷対象データを印刷用データに変換する処理と、当該印刷用データを圧縮する圧縮処理とに対して本実施形態を適応することができる。 This embodiment can be applied even when the data to be printed is not PDL. That is, the present embodiment can be applied to a process of converting non-PDL print target data into print data and a compression process of compressing the print data.

画像形成装置10は、複数のページを1枚の記録媒体に印刷するなどのために、複数のページを含む記録媒体1枚分のデータに対して描画処理を行っても良い。この場合、記録媒体1枚分のデータが1印刷単位の一例である。
画像形成装置10は、1ページを複数枚の記録媒体に分割して印刷するなどのために、1ページを複数に分割したうちの記録媒体1枚分のデータに対して描画処理を行っても良い。この場合、記録媒体1枚分のデータが1印刷単位の一例である。
The image forming apparatus 10 may perform drawing processing on the data of one recording medium including the plurality of pages in order to print the plurality of pages on one recording medium. In this case, the data for one recording medium is an example of one printing unit.
The image forming apparatus 10 may perform drawing processing on the data of one recording medium obtained by dividing one page into a plurality of sheets for printing by dividing one page into a plurality of recording media. good. In this case, the data for one recording medium is an example of one printing unit.

本実施形態の画像形成装置は、圧縮コア15を備えていなくても良い。そして、プロセッサー11が、圧縮コア15に代えて、圧縮処理と同様の処理を、解析処理及び描画処理とは別スレッドで実行するなどして並行又は並列して処理しても良い。この場合、圧縮処理と同様の処理を行うことでプロセッサー11は、圧縮部として動作する。
本実施形態の画像形成装置は、プロセッサーが圧縮コアを内蔵していても良い。
本実施形態の画像形成装置は、ハードウェアマルチスレッディングにより複数のスレッドを並列処理しても良い。
The image forming apparatus of this embodiment does not have to include the compression core 15. Then, instead of the compression core 15, the processor 11 may perform the same processing as the compression processing in parallel or in parallel, such as by executing the same processing as the analysis processing and the drawing processing in a thread different from the analysis processing and the drawing processing. In this case, the processor 11 operates as a compression unit by performing the same processing as the compression processing.
In the image forming apparatus of this embodiment, the processor may have a built-in compression core.
The image forming apparatus of this embodiment may process a plurality of threads in parallel by hardware multithreading.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]複数の印刷単位に分割された印刷対象データを印刷用データに変換する描画処理を行う複数の描画処理部と、前記描画処理によって変換された前記印刷用データに対してデータ圧縮を行う圧縮部と、を備え、前記描画処理部は、アイドル状態の前記圧縮部の数に所定の数を足した数が、前記印刷用データに変換中の前記印刷対象データの印刷単位数よりも大きい場合、次の前記描画処理を開始する、画像処理装置。
[2]前記圧縮部を複数備え、前記複数の圧縮部によって、複数の前記データ圧縮を並列処理する、付記[1]に記載の画像処理装置。
[3]前記描画処理部は、アイドル状態の前記圧縮部の数に前記所定の数を足した数が、前記印刷用データに変換中の前記印刷対象データの印刷単位数と圧縮処理を行っていない前記印刷用データの印刷単位数とを足した数よりも大きい場合、新たに前記描画処理を開始する、付記[1]又は[2]に記載の画像処理装置。
[4]印刷対象データを印刷用データに変換する描画処理を複数並行して行い、前記描画処理によって変換された前記印刷用データをデータ圧縮し、圧縮処理準備中のデータの数からアイドル状態の圧縮部の数を引いた数が所定の数よりも小さい場合に、新たに描画処理を開始する、画像処理方法。
[5]印刷用データに対してデータ圧縮を行う圧縮部を備えた装置が備えるコンピューターを、複数の印刷単位に分割された印刷対象データを前記印刷用データに変換する描画処理を行う複数の描画処理部として機能させ、前記描画処理部は、アイドル状態の前記圧縮部の数に所定の数を足した数が、前記印刷用データに変換中の前記印刷対象データの印刷単位数よりも大きい場合、次の前記描画処理を開始する、プログラム。
Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other embodiments, and various omissions, replacements, and changes can be made without departing from the gist of the invention. These embodiments and variations thereof are included in the scope and gist of the invention, and are also included in the scope of the invention described in the claims and the equivalent scope thereof.
The inventions described in the original claims of the present application are described below.
[1] Data compression is performed on a plurality of drawing processing units that perform drawing processing for converting print target data divided into a plurality of print units into print data, and the print data converted by the drawing process. The drawing processing unit includes a compression unit, and the number obtained by adding a predetermined number to the number of the compression units in an idle state is larger than the number of print units of the print target data being converted into the print data. If so, the image processing apparatus that starts the next drawing process.
[2] The image processing apparatus according to Appendix [1], which comprises a plurality of the compression units and performs the plurality of data compressions in parallel by the plurality of compression units.
[3] The drawing processing unit performs compression processing with the number of printing units of the printing target data being converted into the printing data by adding the predetermined number to the number of the compressed units in the idle state. The image processing apparatus according to Supplementary Note [1] or [2], wherein the drawing process is newly started when the number is larger than the sum of the number of print units of the print data.
[4] A plurality of drawing processes for converting print target data into print data are performed in parallel, the print data converted by the drawing process is compressed, and the data is idle from the number of data being prepared for compression processing. An image processing method for starting a new drawing process when the number obtained by subtracting the number of compressed sections is smaller than a predetermined number.
[5] A computer equipped with a device provided with a compression unit that compresses data for printing is subjected to drawing processing for converting print target data divided into a plurality of print units into the print data. When the drawing processing unit functions as a processing unit and the number obtained by adding a predetermined number to the number of the compressed units in the idle state is larger than the number of printing units of the printing target data being converted into the printing data. , A program that starts the next drawing process.

10……画像形成装置、11……プロセッサー、12……ROM、13……RAM、14……補助記憶デバイス、15……圧縮コア、16……画像形成部、17……バス、111……RIP、112……解析部、113……描画処理部 10 ... image forming device, 11 ... processor, 12 ... ROM, 13 ... RAM, 14 ... auxiliary storage device, 15 ... compression core, 16 ... image forming unit, 17 ... bus, 111 ... RIP, 112 ... Analysis unit, 113 ... Drawing processing unit

Claims (8)

印刷対象データを複数の印刷単位に分割された中間データに変換する解析処理を行う解析部と、
前記複数の印刷単位に分割された中間データをそれぞれ印刷用データに変換する描画処理を並行して行う複数の描画処理部と、
前記描画処理によって変換された前記印刷用データに対してデータ圧縮を行う圧縮部と、
を備え、
前記解析部は、
前記印刷対象データから第1の中間データが変換される毎に、アイドル状態の前記圧縮部の数に零よりも大きい任意の設定値を足した数が、前記印刷用データに変換中の第2の中間データの数よりも大きいか否かを比較し、
前記足した数が前記第2の中間データの数よりも大きい場合、前記描画処理を実行していない描画処理部に対して前記第1の中間データの描画処理開始を指令し、
前記足した数が前記第2の中間データの数よりも大きくない場合、前記第1の中間データを描画待ちキューに追加し、前記足した数が前記第2の中間データの数よりも大きくなると、前記描画処理を実行していない描画処理部に対して前記描画待ちキューに追加された前記第1の中間データの描画処理開始を指令する、画像処理装置。
An analysis unit that performs analysis processing to convert print target data into intermediate data divided into multiple print units, and an analysis unit.
A plurality of drawing processing units that perform drawing processing in parallel to convert the intermediate data divided into the plurality of printing units into printing data, respectively .
A compression unit that compresses the print data converted by the drawing process, and a compression unit.
Equipped with
The analysis unit
Each time the first intermediate data is converted from the print target data, the number obtained by adding an arbitrary set value larger than zero to the number of the idle compressed portions is the second number being converted into the print data. Compare whether it is larger than the number of intermediate data in
When the added number is larger than the number of the second intermediate data, the drawing processing unit that has not executed the drawing process is instructed to start the drawing process of the first intermediate data.
When the added number is not larger than the number of the second intermediate data, the first intermediate data is added to the drawing waiting queue, and the added number becomes larger than the number of the second intermediate data. An image processing device that commands a drawing processing unit that has not executed the drawing process to start drawing processing of the first intermediate data added to the drawing waiting queue .
前記描画処理部は、The drawing processing unit is
前記中間データを印刷用データに変換する毎に、アイドル状態の前記圧縮部があるか否かを判定し、Each time the intermediate data is converted into print data, it is determined whether or not there is the compressed portion in an idle state.
前記アイドル状態の前記圧縮部がある場合、前記中間データから変換された前記印刷用データの圧縮処理を行うように前記圧縮部に指令し、When there is the compression unit in the idle state, the compression unit is instructed to perform the compression processing of the print data converted from the intermediate data.
前記アイドル状態の前記圧縮部がない場合、前記中間データから変換された前記印刷用データを圧縮待ちキューに追加し、前記圧縮部がアイドル状態になると、前記圧縮待ちキューに追加した前記印刷用データの圧縮処理を行うように前記圧縮部に指令する、請求項1記載の画像処理装置。If there is no compression unit in the idle state, the print data converted from the intermediate data is added to the compression waiting queue, and when the compression unit becomes idle, the print data added to the compression waiting queue is added. The image processing apparatus according to claim 1, wherein the compression unit is instructed to perform the compression processing of the above.
前記解析部は、The analysis unit
前記印刷対象データから第1の中間データが変換される毎に、アイドル状態の前記圧縮部の数に前記設定値を足した数が、前記印刷用データに変換中の第2の中間データの数に前記圧縮待ちキューに追加されている前記印刷用データの数を足した数よりも大きいか否かを比較し、Each time the first intermediate data is converted from the print target data, the number obtained by adding the set value to the number of idle compression units is the number of the second intermediate data being converted into the print data. Compare whether or not it is larger than the sum of the number of print data added to the compression wait queue.
前記アイドル状態の前記圧縮部の数に前記設定値を足した数が前記第2の中間データの数に前記圧縮待ちキューに追加されている前記印刷用データの数を足した数よりも大きい場合、前記描画処理を実行していない描画処理部に対して前記第1の中間データの描画処理開始を指令し、When the number obtained by adding the set value to the number of the compressed portions in the idle state is larger than the number obtained by adding the number of the print data added to the compression waiting queue to the number of the second intermediate data. , Instructs the drawing processing unit that has not executed the drawing process to start the drawing process of the first intermediate data.
前記アイドル状態の前記圧縮部の数に前記設定値を足した数が前記第2の中間データの数に前記圧縮待ちキューに追加されている前記印刷用データの数を足した数よりも大きくない場合、前記第1の中間データを描画待ちキューに追加し、前記アイドル状態の前記圧縮部の数に前記設定値を足した数が前記第2の中間データの数に前記圧縮待ちキューに追加されている前記印刷用データの数を足した数よりも大きくなると、前記描画処理を実行していない描画処理部に対して前記描画待ちキューに追加された前記第1の中間データの描画処理開始を指令する、請求項2記載の画像処理装置。The number obtained by adding the set value to the number of the compressed portions in the idle state is not larger than the number obtained by adding the number of the print data added to the compression waiting queue to the number of the second intermediate data. In this case, the first intermediate data is added to the drawing waiting queue, and the number obtained by adding the set value to the number of the compressed units in the idle state is added to the number of the second intermediate data to the compression waiting queue. When the number becomes larger than the sum of the number of print data, the drawing process of the first intermediate data added to the drawing wait queue is started for the drawing process unit that has not executed the drawing process. The image processing apparatus according to claim 2, which is instructed.
前記圧縮部を複数備え、
前記複数の圧縮部によって、複数の前記印刷用データのデータ圧縮を並列処理する、請求項1乃至3のうちいずれか一に記載の画像処理装置。
With a plurality of the compression parts,
The image processing apparatus according to any one of claims 1 to 3, wherein the plurality of compression units simultaneously perform data compression of the plurality of print data .
印刷対象データを複数の印刷単位に分割された中間データに変換する解析処理を行う解析部と、前記複数の印刷単位に分割された中間データをそれぞれ印刷用データに変換する描画処理を並列して行う複数の描画処理部と、前記描画処理によって変換された前記印刷用データに対してデータ圧縮を行う圧縮部と、を備えた画像処理装置の画像処理方法であって、An analysis unit that performs analysis processing that converts print target data into intermediate data divided into multiple print units and a drawing process that converts the intermediate data divided into the plurality of print units into print data are performed in parallel. An image processing method of an image processing apparatus including a plurality of drawing processing units to be performed and a compression unit for compressing data for the print data converted by the drawing processing.
前記解析部が、The analysis unit
前記印刷対象データから第1の中間データが変換される毎に、アイドル状態の前記圧縮部の数に零よりも大きい任意の設定値を足した数が、前記印刷用データに変換中の第2の中間データの数よりも大きいか否かを比較し、Each time the first intermediate data is converted from the print target data, the number obtained by adding an arbitrary set value larger than zero to the number of the idle compressed portions is the second number being converted into the print data. Compare whether it is larger than the number of intermediate data in
前記足した数が前記第2の中間データの数よりも大きい場合、前記描画処理を実行していない描画処理部に対して前記第1の中間データの描画処理開始を指令し、When the added number is larger than the number of the second intermediate data, the drawing processing unit that has not executed the drawing process is instructed to start the drawing process of the first intermediate data.
前記足した数が前記第2の中間データの数よりも大きくない場合、前記第1の中間データを描画待ちキューに追加し、前記足した数が前記第2の中間データの数よりも大きくなると、前記描画処理を実行していない描画処理部に対して前記描画待ちキューに追加された前記第1の中間データの描画処理開始を指令する、画像処理方法。When the added number is not larger than the number of the second intermediate data, the first intermediate data is added to the drawing waiting queue, and the added number becomes larger than the number of the second intermediate data. An image processing method for instructing a drawing processing unit that has not executed the drawing process to start drawing processing of the first intermediate data added to the drawing waiting queue.
前記描画処理部が、The drawing processing unit
前記中間データを印刷用データに変換する毎に、アイドル状態の前記圧縮部があるか否かを判定し、Each time the intermediate data is converted into print data, it is determined whether or not there is the compressed portion in an idle state.
前記アイドル状態の前記圧縮部がある場合、前記中間データから変換された前記印刷用データの圧縮処理を行うように前記圧縮部に指令し、When there is the compression unit in the idle state, the compression unit is instructed to perform the compression processing of the print data converted from the intermediate data.
前記アイドル状態の前記圧縮部がない場合、前記中間データから変換された前記印刷用データを圧縮待ちキューに追加し、前記圧縮部がアイドル状態になると、前記圧縮待ちキューに追加した前記印刷用データの圧縮処理を行うように前記圧縮部に指令する、請求項5記載の画像処理方法。If there is no compression unit in the idle state, the print data converted from the intermediate data is added to the compression waiting queue, and when the compression unit becomes idle, the print data added to the compression waiting queue is added. The image processing method according to claim 5, wherein the compression unit is instructed to perform the compression processing of the above.
印刷対象データを複数の印刷単位に分割された中間データに変換する解析処理を行う解析部と、前記複数の印刷単位に分割された中間データをそれぞれ印刷用データに変換する描画処理を並列して行う複数の描画処理部と、前記描画処理によって変換された前記印刷用データに対してデータ圧縮を行う圧縮部と、を備えた画像処理装置のコンピュータ-を、
前記解析部が、
前記印刷対象データから第1の中間データが変換される毎に、アイドル状態の前記圧縮部の数に零よりも大きい任意の設定値を足した数が、前記印刷用データに変換中の第2の中間データの数よりも大きいか否かを比較する手段、
前記足した数が前記第2の中間データの数よりも大きい場合、前記描画処理を実行していない描画処理部に対して前記第1の中間データの描画処理開始を指令する手段、及び、
前記足した数が前記第2の中間データの数よりも大きくない場合、前記第1の中間データを描画待ちキューに追加し、前記足した数が前記第2の中間データの数よりも大きくなると、前記描画処理を実行していない描画処理部に対して前記描画待ちキューに追加された前記第1の中間データの描画処理開始を指令する手段、
として機能させるためのプログラム。
An analysis unit that performs analysis processing that converts print target data into intermediate data divided into multiple print units and a drawing process that converts the intermediate data divided into the plurality of print units into print data are performed in parallel. A computer of an image processing apparatus including a plurality of drawing processing units for performing data compression and a compression unit for compressing data for printing data converted by the drawing processing .
The analysis unit
Each time the first intermediate data is converted from the print target data, the number obtained by adding an arbitrary set value larger than zero to the number of the idle compressed portions is the second number being converted into the print data. A means of comparing whether or not it is larger than the number of intermediate data in
When the added number is larger than the number of the second intermediate data, the means for instructing the drawing processing unit that has not executed the drawing process to start the drawing process of the first intermediate data, and
When the added number is not larger than the number of the second intermediate data, the first intermediate data is added to the drawing waiting queue, and the added number becomes larger than the number of the second intermediate data. A means for instructing a drawing processing unit that has not executed the drawing process to start drawing processing of the first intermediate data added to the drawing waiting queue.
A program to function as .
前記画像処理装置のコンピュータ-を、さらに、The computer of the image processing device, and further
前記描画処理部が、The drawing processing unit
前記中間データを印刷用データに変換する毎に、アイドル状態の前記圧縮部があるか否かを判定する手段、A means for determining whether or not there is an idle compressed portion each time the intermediate data is converted into print data.
前記アイドル状態の前記圧縮部がある場合、前記中間データから変換された前記印刷用データの圧縮処理を行うように前記圧縮部に指令する手段、A means for instructing the compression unit to perform compression processing of the printing data converted from the intermediate data when there is the compression unit in the idle state.
前記アイドル状態の前記圧縮部がない場合、前記中間データから変換された前記印刷用データを圧縮待ちキューに追加し、前記圧縮部がアイドル状態になると、前記圧縮待ちキューに追加した前記印刷用データの圧縮処理を行うように前記圧縮部に指令する手段、If there is no compression unit in the idle state, the print data converted from the intermediate data is added to the compression waiting queue, and when the compression unit becomes idle, the print data added to the compression waiting queue is added. A means for instructing the compression unit to perform the compression process of
として機能させるための請求項7記載のプログラム。7. The program according to claim 7.
JP2017132920A 2017-07-06 2017-07-06 Image processing equipment, image processing methods and programs Active JP6996884B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017132920A JP6996884B2 (en) 2017-07-06 2017-07-06 Image processing equipment, image processing methods and programs
US15/925,942 US10209931B2 (en) 2017-07-06 2018-03-20 Image processing apparatus and image forming apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017132920A JP6996884B2 (en) 2017-07-06 2017-07-06 Image processing equipment, image processing methods and programs

Publications (2)

Publication Number Publication Date
JP2019014135A JP2019014135A (en) 2019-01-31
JP6996884B2 true JP6996884B2 (en) 2022-01-17

Family

ID=64903221

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017132920A Active JP6996884B2 (en) 2017-07-06 2017-07-06 Image processing equipment, image processing methods and programs

Country Status (2)

Country Link
US (1) US10209931B2 (en)
JP (1) JP6996884B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11442627B2 (en) * 2019-06-13 2022-09-13 International Business Machines Corporation Data compression utilizing low-ratio compression and delayed high-ratio compression
JP2021012658A (en) * 2019-07-09 2021-02-04 株式会社三菱Ufj銀行 System and processing method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003084933A (en) 2001-09-14 2003-03-20 Fuji Xerox Co Ltd Image processing device and program
JP2009116450A (en) 2007-11-02 2009-05-28 Casio Electronics Co Ltd Print data processing method
JP2010125713A (en) 2008-11-27 2010-06-10 Kyocera Mita Corp Image forming apparatus
JP2011120080A (en) 2009-12-04 2011-06-16 Canon Inc Image forming apparatus
US20130088731A1 (en) 2011-10-07 2013-04-11 Bradley R. Larson Processing image data strips

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038527A (en) 2002-07-03 2004-02-05 Canon Inc Printer driver, printing control method, computer-readable storage medium, and program
JP4818389B2 (en) * 2009-04-07 2011-11-16 インターナショナル・ビジネス・マシーンズ・コーポレーション Printing apparatus and control method for data processing by parallel processing
JP2012171239A (en) * 2011-02-22 2012-09-10 Canon Inc Image forming apparatus, method of controlling the same, and program
JP2012218227A (en) 2011-04-06 2012-11-12 Sharp Corp Image forming apparatus
JP6666036B2 (en) * 2016-01-15 2020-03-13 キヤノン株式会社 Print data processing apparatus, print data processing method, and program
US10726583B2 (en) * 2016-12-30 2020-07-28 Intel Corporation System and method of encoding and decoding feature maps and weights for a convolutional neural network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003084933A (en) 2001-09-14 2003-03-20 Fuji Xerox Co Ltd Image processing device and program
JP2009116450A (en) 2007-11-02 2009-05-28 Casio Electronics Co Ltd Print data processing method
JP2010125713A (en) 2008-11-27 2010-06-10 Kyocera Mita Corp Image forming apparatus
JP2011120080A (en) 2009-12-04 2011-06-16 Canon Inc Image forming apparatus
US20130088731A1 (en) 2011-10-07 2013-04-11 Bradley R. Larson Processing image data strips

Also Published As

Publication number Publication date
US20190012120A1 (en) 2019-01-10
JP2019014135A (en) 2019-01-31
US10209931B2 (en) 2019-02-19

Similar Documents

Publication Publication Date Title
US10884680B2 (en) Print control apparatus and control method for receiving and printing print data
US10558411B2 (en) Server apparatus, method of controlling the server apparatus, storage medium, and printing system that determine whether to perform, in the server apparatus, rendering processing on a page of a print job
US8582130B2 (en) Image processing apparatus, image processing method, and storage medium
US10534986B2 (en) Printing apparatus having interpreters interpreting print data, printing method, and storage medium
JP2007257592A (en) Printing system, information processor, and printer
JP6996884B2 (en) Image processing equipment, image processing methods and programs
US8767247B2 (en) Print data generation device, print data generation method and computer-readable medium for controlling rasterization processing
US9830541B2 (en) Image output system, image output method, document server, and non-transitory computer readable recording medium
US10061545B2 (en) Printing apparatus and method of estimating print time of print job
US8928914B2 (en) Image processing apparatus, information processing method, and storage medium
JP2019025801A (en) Printing system, printer and control method thereof, and program
US9785871B2 (en) Print control device and non-transitory computer readable medium
EP3336683A1 (en) Image processing apparatus and method to form image on sheet using page image data and object information
US10423374B2 (en) Image forming apparatus and method for controlling image forming apparatus for reducing print processing time
JP6786408B2 (en) Image forming apparatus, control method of image forming apparatus, and program
US9069507B2 (en) Print server, printing system, and computer program product configured to send print data to an image forming apparatus based on obtained designation of the image forming apparatus
JP5854644B2 (en) Image forming apparatus, control method, and program
US9836252B2 (en) Image forming apparatus, control method thereof, and non-transitory computer-readable storage medium
US10235611B2 (en) Image forming apparatus, image forming method, and non-transitory computer readable medium
US10712979B2 (en) Image forming apparatus, image formation method, and storage medium
US9781302B2 (en) Image forming apparatus for avoiding a feeding direction restriction when printing
US10534567B2 (en) Image forming apparatus and method for controlling image forming apparatus
US8368937B2 (en) Print data processing apparatus, print data processing method, and storage medium
US9811769B2 (en) Printing apparatus, information processing apparatus and method for controlling the information processing apparatus, and storage medium for spooling data to perform print processing
US9165228B2 (en) Printing apparatus allowing user change of operational control of job, control method thereof, and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210511

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210701

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211216

R150 Certificate of patent or registration of utility model

Ref document number: 6996884

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150