JP6996884B2 - Image processing equipment, image processing methods and programs - Google Patents
Image processing equipment, image processing methods and programs Download PDFInfo
- 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
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1211—Improving printing performance
- G06F3/1212—Improving printing performance achieving reduced delay between job submission and print start
- G06F3/1213—Improving printing performance achieving reduced delay between job submission and print start at an intermediate node or at the final node
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/124—Parallel printing or parallel ripping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
- G06F3/1247—Job translation or job parsing, e.g. page banding by conversion to printer ready format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1296—Printer job scheduling or printer resource handling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1848—Generation of the printable image
- G06K15/1856—Generation of the printable image characterized by its workflow
- G06K15/1857—Generation of the printable image characterized by its workflow involving parallel processing in the same printing apparatus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1867—Post-processing of the composed and rasterized print image
- G06K15/1886—Storage of the print image data or of parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/503—Resource availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1275—Print 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.
本発明の実施形態が解決しようとする課題は、プロセッサーを効率的に使用可能な画像処理装置、画像処理方法及びプログラムを提供することである。 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.
以下、実施形態に係る画像形成装置について図面を用いて説明する。
図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
プロセッサー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
ROM12は、プロセッサー11を中枢とするコンピューターの主記憶装置に相当する。ROM12は、専らデータの読み出しに用いられる不揮発性メモリである。ROM12は、上記のプログラムを記憶する。また、ROM12は、プロセッサー11が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。
The
RAM13は、プロセッサー11を中枢とするコンピューターの主記憶装置に相当する。RAM13は、データの読み書きに用いられるメモリである。RAM13は、プロセッサー11が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。
The
また、RAM13などは、変数p、変数q及び変数rを記憶する。変数pは、プロセッサー11が描画処理を何スレッド実行しているかを示す。変数pの初期値は、0である。なお、プロセッサー11が描画処理を実行しているスレッド数を、以下「描画スレッド数」という。変数qは、アイドル状態の圧縮コア15の数を示す。変数qの初期値は、圧縮コア15の数である。なお、アイドル状態の圧縮コア15の数を、以下「空きコア数」という。変数rは、圧縮待ちキューの数(以下「圧縮待ち数」という。)を示す。変数rの初期値は、0である。なお、圧縮待ちキューは、圧縮処理を待つ印刷用データのリストである。したがって、圧縮待ち数は、圧縮処理を待つ印刷用データの数を示す。
Further, the
さらに、RAM13などは、それぞれの圧縮コア15がアイドル状態であるかビジー状態であるかを示す圧縮コア情報を記憶する。なお、アイドル状態の圧縮コア15は、圧縮処理を行っていないために空いている。そして、ビジー状態の圧縮コア15は、圧縮処理を行っているために空いていない。圧縮コア情報は、圧縮コア15のそれぞれに割り当てられたユニークな識別番号であるコアID(identifier)と、アイドル状態であるかビジー状態であるかを示すパラメーターとを関連付けて記憶する。
Further, the
補助記憶デバイス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
The
ROM12又は補助記憶デバイス14に記憶されるプログラムは、後述する制御処理に関して記述した制御プログラムを含む。一例として、画像形成装置10は、制御プログラムがROM12又は補助記憶デバイス14に記憶された状態で画像形成装置10の管理者などへと譲渡される。しかしながら、画像形成装置10は、後述する制御処理に関して記述した制御プログラムがROM12又は補助記憶デバイス14に記憶されない状態で当該管理者などに譲渡されても良い。また、画像形成装置10は、別の制御プログラムがROM12又は補助記憶デバイス14に記憶された状態で当該管理者などに譲渡されても良い。そして、後述する制御処理に関して記述した制御プログラムが別途に当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作の下にROM12又は補助記憶デバイス14へと書き込まれても良い。このときの制御プログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークを介したダウンロードにより実現できる。
上記の制御プログラムは、プロセッサー11がRIP処理を行うためのRIPプログラムを含む。
The program stored in the
The above control program includes a RIP program for the
ROM12又は補助記憶デバイス14は、未印刷の印刷ジョブの一覧であるジョブ一覧を記憶する。印刷ジョブには、印刷対象となる画像又は文書などのデータ(以下「印刷対象データ」という。)が含まれる。
The
プロセッサー11は、RIPプログラムを実行することで、RIP111として動作する。
RIP111は、PDLで記述されたデータを印刷用データに変換するRIP処理を行う。RIP111は、解析部112及び描画処理部113を含む。
The
RIP111 performs RIP processing for converting the data described in PDL into print data. The
解析部112は、PDLで記述された複数ページの印刷対象データを、ページごとのデータに分解する処理など含む解析処理を行う。印刷対象データは、解析部112によって解析処理が行われることで、中間データに変換される。中間データは、以下に示す描画処理を行うことができるようなデータである。なお、解析処理は、シーケンシャル処理である。これは、PDLで記述されたデータは、要素の記述順と見た目の順序とが一致しているとは限らず、また、複数ページに渡るような要素もあり、並行処理することが難しいためである。1ページは、1印刷単位の一例である。
描画処理部113は、中間データを、印刷用データに変換する描画処理を行う。印刷用データは、1つの印刷画素ごとにどのような色で印刷するかを示す情報などを含む。1つの描画処理部113が1回の描画処理で変換する中間データは、1印刷単位の印刷対象データの一例である。
The
The
圧縮コア15は、例えば、RIP処理が終わった印刷用データに対してデータ圧縮を行うハードウェアアクセラレーターである。なお、図1には2つの圧縮コア15が示されているが、圧縮コア15の数は2個に限定しない。すなわち、圧縮コア15の数は、1個であっても良いし、3個以上であっても良い。それぞれの圧縮コア15は、自身に割り当てられたコアIDを記憶している。圧縮コア15は、圧縮部の一例である。
The
画像形成部16は、紙等のシート状の記録媒体などに対してインクなどを用いて画像などを形成することで印刷を行う。なお、画像形成部16は、印刷用データなどに基づいて印刷を行う。画像形成部16は、例えば、レーザープリンター、インクジェットプリンター又はその他のプリンターを備える。
The
バス17は、コントロールバス、アドレスバス及びデータバスなどを含み、画像形成装置10の各部で授受される信号を伝送する。
The
以下、実施形態に係る画像形成装置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
Unless otherwise specified, the
プロセッサー11、RIP処理を行っていない印刷対象データがあるならば、図2に示す制御処理を開始する。印刷対象データは、例えば、印刷ジョブに含まれる。図2に示す制御処理は、解析処理を含む。解析処理は、Act1~Act12及びAct14を含む。
If the
図2のAct1において画像形成装置10のプロセッサー11は、変数nの値を1にする。
Act2においてプロセッサー11は、印刷対象データのnページ目を中間データに変換する。
In
In Act2, the
Act3においてプロセッサー11は、描画監視処理を実行中であるか否かを判定する。すなわち、プロセッサー11は、例えば、変数F1の値がTrueであるか否かを判定する。プロセッサー11は、描画監視処理を実行中でないならば、Act3においてNoと判定してAct4へと進む。
In
Act4においてプロセッサー11は、空きコア数を取得する。すなわち、プロセッサー11は、RAM13などから変数qの値を取得する。
Act5においてプロセッサー11は、描画スレッド数を取得する。すなわち、プロセッサー11は、RAM13などから変数pの値を取得する。
In Act4, the
In Act5, the
Act6においてプロセッサー11は、(空きコア数q+設定値k)>(準備中データ数)を満たすか否かを判定する。なお、準備中データ数は、圧縮処理を行う準備をしているデータの数である。すなわち、例えば、(準備中データ数)=(描画スレッド数p)である。プロセッサー11は、(空きコア数q+設定値k)>(準備中データ数)を満たすならば、Act6においてYesと判定してAct7へと進む。
In Act6, the
Act7においてプロセッサー11は、描画処理を開始することを示すために、変数pの値を1増加させる。
In Act 7, the
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
Act9においてプロセッサー11は、印刷対象データの全ページについて解析処理を終えたか否かを判定する。すなわち、プロセッサー11は、例えば、印刷対象データのページ数がnより大きいか否かを判定する。プロセッサー11は、印刷対象データのページ数がnより大きいならば、Act9においてYesと判定してAct10へと進む。
In Act9, the
Act10においてプロセッサー11は、解析処理の対象を次ページに変更するために、変数nの値を1増加させる。プロセッサー11は、Act10の処理の後、Act1へと戻る。対して、プロセッサー11は、印刷対象データのページ数がnより大きくないならば、Act9においてNoと判定して解析処理を終了する。かくして、プロセッサー11は、nの値が印刷対象データのページ数になるまでAct1~Act10を繰り返す。これにより、プロセッサー11は、印刷対象データの全ページについて解析処理を行う。
In Act 10, the
なお、プロセッサー11は、(空きコア数+k)>(準備中データ数)を満たさないならば、Act6においてNoと判定してAct11へと進む。
Act11においてプロセッサー11は、描画監視処理を実行中であることを示すために、変数F1の値をTrueにする。
If the
In
Act12においてプロセッサー11は、nページ目の中間データを描画待ちキューに追加する。描画待ちキューは、描画処理を待つ中間データのリストである。プロセッサー11は、Act12の処理の後、新たなスレッドを1つ開始する。そして、プロセッサー11は、既存のスレッドにおいてAct9へと進む。さらに、プロセッサー11は、新たなスレッドにおいてAct13に示す描画監視処理を開始する。Act13の処理は、Act131~Act137の処理を含む。
In
Act131においてプロセッサー11は、Act4と同様にして空きコア数を取得する。
Act132においてプロセッサー11は、Act5と同様にして描画スレッド数を取得する。
In Act 131, the
In Act 132, the
Act133においてプロセッサー11は、Act6と同様に、(空きコア数q+設定値k)>(準備中データ数)を満たすか否かを判定する。プロセッサー11は、(空きコア数q+設定値k)>(準備中データ数)を満たさないならば、Act133においてNoと判定してAct131へと戻る。対して、プロセッサー11は、(空きコア数q+設定値k)>(準備中データ数)を満たすならば、Act133においてYesと判定してAct134へと進む。
In Act133, the
Act134においてプロセッサー11は、描画処理を開始することを示すために、変数pの値を1増加させる。
Act135においてプロセッサー11は、描画待ちキューに含まれる中間データの中から最初に描画待ちキューに追加された中間データを選択する。そして、プロセッサー11は、Act8と同様にして、当該中間データに対する描画処理を開始させる。さらに、プロセッサー11は、当該中間データを描画待ちキューから削除する。
In Act 134, the
In Act135, the
Act136においてプロセッサー11は、描画処理待ちの中間データがあるか否かを判定する。すなわち、プロセッサー11は、描画待ちキューに中間データがあるか否かを判定する。プロセッサー11は、描画処理待ちの中間データがあるならば、Act23においてYesと判定してAct131へと戻る。対して、プロセッサー11は、描画処理待ちの中間データがないならば、Act136においてNoと判定してAct137へと進む。
In Act 136, the
Act137においてプロセッサー11は、描画監視処理を実行中でないことを示すために、変数F1の値をFalseにする。プロセッサー11は、Act137の処理の後、描画監視処理を終了する。そして、プロセッサー11は、描画監視処理を行っていたスレッドを終了する。
In Act137, the
なお、プロセッサー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
In
次に、図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
Act32においてプロセッサー11は、圧縮監視処理を実行中であるか否かを判定する。すなわち、プロセッサー11は、例えば、変数F2の値がTrueであるか否かを判定する。プロセッサー11は、圧縮監視処理を実行中でないならば、Act32においてNoと判定してAct33へと進む。
In Act 32, the
Act33においてプロセッサー11は、RAM13などから圧縮コア情報を取得する。
Act34においてプロセッサー11は、Act33で取得した圧縮コア情報を参照して、アイドル状態の圧縮コア15があるか否かを判定する。あるいは、プロセッサー11は、変数qの値が0より大きいか否かを判定しても良い。プロセッサー11は、アイドル状態の圧縮コア15があるならば、Act34においてYesと判定してAct35へと進む。
In Act 33, the
In Act 34, the
Act35においてプロセッサー11は、アイドル状態の圧縮コア15の数が減少することを示すために、変数qの値を1減少させる。
Act36においてプロセッサー11は、アイドル状態の圧縮コア15に対して、圧縮処理を行うように求める圧縮リクエスト送信する。当該圧縮リクエストは、Act31で変換した印刷用データを含む。
At Act 35, the
In Act 36, the
一方、図4のAct51において圧縮コア15は、圧縮リクエストが送信されてくるのを待ち受けている。圧縮コア15は、圧縮リクエストを受信したならば、Act51においてYesと判定してAct52へと進む。
On the other hand, in Act 51 of FIG. 4, the
Act52において圧縮コア15は、当該圧縮コア15がビジー状態となったことを示すために第1のコア通知をプロセッサー11に送信する。第1のコア通知は、第1のコア通知の送信元である圧縮コア15のコアIDを含む。第1のコア通知を受信したプロセッサー11は、圧縮コア情報を更新して、当該第1のコア通知に含まれるコアIDに関連付けられたパラメーターを、ビジー状態を示すように変更する。
In Act 52, the
Act53において圧縮コア15は、Act51で受信した圧縮リクエストに含まれる印刷用データに対してデータ圧縮を行う。当該データ圧縮により生成されたデータを、以下「圧縮データ」というものとする。
In Act53, the
Act54において圧縮コア15は、Act53で生成した圧縮データを補助記憶デバイス14に送信する。圧縮データを受信した補助記憶デバイス14は、当該圧縮データを記憶する。
In Act 54, the
Act55において圧縮コア15は、当該圧縮コア15がアイドル状態となったことを示すために第2のコア通知をプロセッサー11に送信する。第2のコア通知は、第2のコア通知の送信元である圧縮コア15のコアIDを含む。第2のコア通知を受信したプロセッサー11は、圧縮コア情報を更新して、当該第2のコア通知に含まれるコアIDに関連付けられたパラメーターを、アイドル状態を示すように変更する。また、プロセッサー11は、アイドル状態の圧縮コア15の数が増加したことを示すために、変数qの値を1増加させる。
In Act 55, the
一方、プロセッサー11は、図3のAct36の処理の後、Act37へと進む。
Act37においてプロセッサー11は、描画処理を終えたことを示すために、変数pの値を1減少させる。プロセッサー11は、Act37の処理の後、描画処理を終了する。そして、プロセッサー11は、当該描画処理を行っていたスレッドを終了する。
On the other hand, the
In Act37, the
なお、プロセッサー11は、アイドル状態の圧縮コア15がないならば、Act34においてNoと判定してAct38へと進む。
Act38においてプロセッサー11は、圧縮監視処理を実行中であることを示すために、変数F2の値をTrueにする。
If there is no
In Act 38, the
Act39においてプロセッサー11は、圧縮待ち数が増加したことを示すために、変数rの値を1増加させる。
Act40においてプロセッサー11は、Act31で変換した印刷用データを圧縮待ちキューに追加する。プロセッサー11は、Act40の処理の後、新たなスレッドを1つ開始する。そして、プロセッサー11は、既存のスレッドにおいてAct37へと進む。さらに、プロセッサー11は、新たなスレッドにおいてAct41に示す描画監視処理を開始する。Act41の処理は、Act411~Act416の処理を含む。
In Act 39, the
In the Act 40, the
Act411においてプロセッサー11は、Act33と同様にして圧縮コア情報を取得する。
Act412においてプロセッサー11は、Act411で取得した圧縮コア情報を参照して、アイドル状態の圧縮コア15があるか否かを判定する。あるいは、プロセッサー11は、変数qの値が0より大きいか否かを判定しても良い。プロセッサー11は、アイドル状態の圧縮コア15がないならば、Act412においてNoと判定してAct411へと戻る。対して、プロセッサー11は、アイドル状態の圧縮コア15があるならば、Act412においてYesと判定してAct413へと進む。
In Act 411, the
In Act412, the
Act413においてプロセッサー11は、アイドル状態の圧縮コア15の数が減少することを示すために、変数qの値を1減少させる。さらに、プロセッサー11は、圧縮待ち数が減少することを示すために、変数rの値を1減少させる。
In Act 413, the
Act414においてプロセッサー11は、アイドル状態の圧縮コア15に対して、圧縮処理を行うように求める圧縮リクエストを送信する。当該圧縮リクエストは、圧縮待ちキューに含まれる印刷用データの中で最初に圧縮待ちキューに追加された印刷用データを含む。さらに、プロセッサー11は、当該印刷用データを圧縮待ちキューから削除する。
In Act 414, the
Act415においてプロセッサー11は、圧縮処理待ちの印刷用データがあるか否かを判定する。すなわち、プロセッサー11は、圧縮待ちキューに印刷用データがあるか否かを判定する。プロセッサー11は、圧縮処理待ちの印刷用データがあるならば、Act415においてYesと判定してAct411へと戻る。対して、プロセッサー11は、圧縮処理待ちの印刷用データがないならば、Act415においてNoと判定してAct416へと進む。
In Act415, the
Act416においてプロセッサー11は、圧縮監視処理を実行中でないことを示すために、変数F2の値をFalseにする。プロセッサー11は、Act416の処理の後、圧縮監視処理を終了する。そして、プロセッサー11は、圧縮監視処理を行っていたスレッドを終了する。
In Act 416, the
なお、プロセッサー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
In Act 42, the
プロセッサー11は、印刷ジョブに含まれる印刷用データを圧縮データに変換し終えたならば、例えば、当該印刷ジョブに基づき、当該圧縮データを印刷する。すなわち、プロセッサー11は、補助記憶デバイス14に記憶された当該圧縮データを印刷するよう画像形成部16を制御する。
When the
実施形態の画像形成装置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
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
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
次に、複数の描画処理をマルチスレッドにより並列処理する例を図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,
実施形態の画像形成装置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
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
また、実施形態の画像形成装置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
以上のように、実施形態の画像形成装置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
また、実施形態の画像形成装置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
上記の実施形態は以下のような変形も可能である。
上記の実施形態では、(準備中データ数)=(描画スレッド数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
圧縮コア15は、Act53の処理の後、圧縮データを生成したことをプロセッサー11に通知しても良い。そして、圧縮コア15は、プロセッサー11の制御のもと、当該圧縮データを補助記憶デバイスに送信しても良い。
The
上記の実施形態では、プロセッサー11は、解析処理と描画監視処理を別スレッドで行うプログラムを実行する。しかしながら、プロセッサー11は、このプログラムに代えて、解析処理と描画監視処理とを同一のスレッドで処理するようなプログラムを実行しても良い。
上記の実施形態では、プロセッサー11は、描画処理と圧縮監視処理を別スレッドで行うプログラムを実行する。しかしながら、プロセッサー11は、このプログラムに代えて、描画処理と圧縮監視処理とを同一のスレッドで処理するようなプログラムを実行しても良い。
In the above embodiment, the
In the above embodiment, the
プロセッサー11は、上記の実施形態においてマルチスレッドで行っている処理をマルチプロセスで行っても良い。
The
印刷対象データが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
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 .
前記中間データを印刷用データに変換する毎に、アイドル状態の前記圧縮部があるか否かを判定し、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.
前記印刷対象データから第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 .
前記解析部が、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.
前記中間データを印刷用データに変換する毎に、アイドル状態の前記圧縮部があるか否かを判定し、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 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.
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)
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)
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)
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 |
-
2017
- 2017-07-06 JP JP2017132920A patent/JP6996884B2/en active Active
-
2018
- 2018-03-20 US US15/925,942 patent/US10209931B2/en active Active
Patent Citations (5)
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 |