JP2016210175A - Image formation apparatus, control method of the same, and program - Google Patents
Image formation apparatus, control method of the same, and program Download PDFInfo
- Publication number
- JP2016210175A JP2016210175A JP2016032473A JP2016032473A JP2016210175A JP 2016210175 A JP2016210175 A JP 2016210175A JP 2016032473 A JP2016032473 A JP 2016032473A JP 2016032473 A JP2016032473 A JP 2016032473A JP 2016210175 A JP2016210175 A JP 2016210175A
- Authority
- JP
- Japan
- Prior art keywords
- page
- pages
- intermediate data
- generation
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 64
- 230000015572 biosynthetic process Effects 0.000 title abstract 2
- 230000003111 delayed effect Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 description 20
- 230000005540 biological transmission Effects 0.000 description 16
- 230000000694 effects Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 6
- 102100022419 RPA-interacting protein Human genes 0.000 description 3
- 238000002473 ribonucleic acid immunoprecipitation Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 241000125205 Anethum Species 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
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/1218—Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
- G06F3/122—Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
-
- 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/1248—Job translation or job parsing, e.g. page banding by printer language recognition, e.g. PDL, PCL, PDF
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Record Information Processing For Printing (AREA)
Abstract
Description
本発明は中間データを複数の処理手段で生成する技術に関する。 The present invention relates to a technique for generating intermediate data by a plurality of processing means.
ページ記述言語で記述されている印刷データ(PDLデータ)に基づくラスタライズにおいては、PDLデータから中間言語で記述された中間データが生成され、その中間データがラスターイメージにラスタライズされる。特許文献1では、複数のプロセッサコアを有するマルチコアCPU搭載のプリンタが、異なるページのラスタライズを並列実行する技術を開示する。すなわち、各プロセッサコアは、ラスタライズ対象のページが順に割り当てられ、その割り当てられたページのPDLデータから中間データを生成し、その中間データをラスタライズすることで、そのページのラスターイメージを生成する。そしてラスターイメージは、プリンタエンジンに送信されて印刷される。 In rasterization based on print data (PDL data) described in a page description language, intermediate data described in an intermediate language is generated from PDL data, and the intermediate data is rasterized into a raster image. Patent Document 1 discloses a technique in which a printer equipped with a multi-core CPU having a plurality of processor cores executes rasterization of different pages in parallel. That is, each processor core is assigned pages to be rasterized in order, generates intermediate data from the PDL data of the assigned pages, and rasterizes the intermediate data, thereby generating a raster image of the page. The raster image is transmitted to the printer engine and printed.
特許文献1のプリンタにおいては複数のプロセッサコアが異なるページのラスタライズを行うので、印刷されるページの順番をPDLデータのページの順番と一致させるべく次の制御を行っている。一方のプロセッサコアによる後のページのラスタライズが先に完了したとしても、他方のプロセッサコアによる先のページのラスタライズおよびラスターイメージのプリンタエンジンへの送信の完了を待つ。そしてその後で、後のページのラスターイメージをプリンタエンジンに送信する。 In the printer of Patent Document 1, since a plurality of processor cores rasterize different pages, the following control is performed to make the order of printed pages coincide with the order of pages of PDL data. Even if the rasterization of the subsequent page by one processor core is completed first, it waits for the completion of the rasterization of the previous page and transmission of the raster image to the printer engine by the other processor core. Thereafter, the raster image of the subsequent page is transmitted to the printer engine.
すなわち、特許文献1では、先にラスタライズが完了した後のページのラスターイメージは、先のページのラスターイメージが生成されるまでメモリに保持され続ける。そのため、ラスターイメージを保持する分だけのメモリ量が必要となる。 That is, in Patent Document 1, a raster image of a page after rasterization is completed first is kept in a memory until a raster image of the previous page is generated. For this reason, an amount of memory required to hold the raster image is required.
上記事情に鑑みて、本発明の画像形成装置は、複数のページを含むPDLデータを受信する受信手段と、前記PDLデータから前記複数のページの中間データをページごとに生成する複数の処理手段と、前記複数の処理手段によって生成されたページごとの中間データを、ページごとにラスタライズするラスタライズ手段と、を有し、前記ラスタライズ手段は、先行ページの中間データの生成よりも先に後続ページの中間データの生成が完了した場合に、前記先行ページの中間データの生成およびラスタライズの完了まで、前記後続ページの中間データのラスタライズを遅らせることを特徴とする。 In view of the above circumstances, the image forming apparatus of the present invention includes a receiving unit that receives PDL data including a plurality of pages, and a plurality of processing units that generate intermediate data of the plurality of pages for each page from the PDL data. Rasterizing means for rasterizing the intermediate data for each page generated by the plurality of processing means for each page, and the rasterizing means includes intermediate data for the succeeding page prior to generation of the intermediate data for the preceding page. When the data generation is completed, the rasterization of the intermediate data of the subsequent page is delayed until the generation and rasterization of the intermediate data of the previous page are completed.
複数の処理手段を有する画像形成装置において、ページ順番の制御をより少ないメモリ量で行うことができる。 In an image forming apparatus having a plurality of processing units, the page order can be controlled with a smaller amount of memory.
(実施例1)
以下、本発明を実施するための形態について図面を用いて説明する。
Example 1
Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings.
<画像形成装置のハードウェアブロック図>
図1は本実施例の画像形成装置(印刷装置)の構成を説明するハードウェアブロック図である。図1のコントローラユニット100は、CPU101、RAM102、不図示のROM、HDD103、ネットワークI/F(インターフェース)104、RIP(Raster Image Processor)106、デバイスI/F107を有する。このコントローラユニット100は、ネットワークI/F104を介して、LANなどのネットワーク105越しに接続される外部装置(例えばホストPC)から、ページ記述言語(PDL)で記述された印刷データ(PDLデータ)を受信する。また、コントローラ100は、デバイスI/F107を介してプリンタエンジン108と接続して、画像信号やデバイス情報の入出力を制御する。
<Hardware block diagram of image forming apparatus>
FIG. 1 is a hardware block diagram illustrating the configuration of an image forming apparatus (printing apparatus) according to this embodiment. 1 includes a
CPU101は、HDD103に記憶されたプログラムをRAM102に読み出し、実行する。さらにCPU101は、そのプログラムに従って、システムバス109に接続される各デバイスを統括的に制御する。CPU101は、プロセッサコアを複数有するマルチコアCPUであって、PDLデータから中間データ(ディスプレイリスト:DL)の生成(変換)をマルチスレッドによって並列実行する。PDLデータからディルプレイリストに変換するのは、様々な種別のPDLデータがあったとしても、共通フォーマットのDLに変換することで後の処理を共通化するためである。以下で述べるマルチスレッドとは、CPU101の有する複数のコアのそれぞれが別々のスレッドとして機能することである。すなわち、別々のスレッドが処理を実行するということ、別々のコアが異なる処理を実行することに等しい。なお、ハイパースレッディングのようなCPU内のレジスタやパイプラインの空き時間を有効利用して1つのプロセッサコアをあたかも複数のプロセッサコアであるかのように見せる技術を利用できるものを用いても良い。
The
RAM102は、CPU101のメインメモリ、ワークメモリ、DLの格納用メモリとして機能する。DLの格納用メモリは、RAM102に予め確保されたメモリ領域であり、複数ページ分のDLを格納しておくための所定データサイズのメモリ領域である。なお、1ページ分のDLのデータサイズの最大値は予め決められている。また、後述するように、あるページのDLの生成中にそのページの生成済みのDLのデータサイズがその最大値を越える場合、DLスレッド(DLスレッドの生成部)は、DLの生成を一旦止め、その生成済みのDLからRIP106を用いてラスターイメージを生成する。そしてDLスレッドは、その生成済みのDLを削除することで格納用メモリの空きを作り、生成されたラスターイメージを圧縮し、圧縮されたラスターイメージをDLとして、空きが作られた格納用メモリに格納する。そしてDLスレッドは、そのページのDLの生成を再開する。このような一連の処理はフォールバック処理と呼ばれ、DLスレッドは、フォールバック処理によって、1ページ分のDLのデータサイズが予め決められた最大値を超えないようにしている。また、このRAM102の一部は、後述のバッファ204としても機能する。HDD103は大容量データを一時的あるいは長期的に保持する目的で使用される。
The
RIP106は、CPU101によって生成されたDLからラスターイメージの生成(ビットマップへのラスタライズ)を行う。RIP106は後述するようにCPU101によってページ順に送信されたDLをページごとに順次受信して、そのDLをページ順にラスタライズする。このRIP106によるラスタライズは、CPU101によるDLの生成と、ページ単位で並列実行される。すなわち、CPU101によって後のページ(後続ページ)のDLの生成と並列して、RIP106による前ページ(先行ページ)のラスタライズが行われる。ラスタライズによって生成されたラスターイメージは、プリンタエンジン108に送られる。
The
プリンタエンジン108は、不図示のエンジンI/Fを有し、このエンジンI/Fはコントローラユニット100から送られたラスターイメージを順次、画像信号に変換する。そして、プリンタエンジン108は、この画像信号に基づいて、画像を紙などのシート上に印刷する印刷ユニットである。プリンタエンジン108の印刷方式は、電子写真方式、インクジェット方式、などでよく、方式を限定しない。
The
<画像形成装置のソフトウェアモジュール図>
図2は本実施例における画像形成装置のソフトウェア構成図である。図2に記載した各ソフトウェアモジュールは、HDD103に記憶された前述のプログラムが、RAM102にロードされてCPU101により実行されることで実現される。
<Software module diagram of image forming apparatus>
FIG. 2 is a software configuration diagram of the image forming apparatus according to the present exemplary embodiment. Each software module illustrated in FIG. 2 is realized by loading the above-described program stored in the
並列制御部200は、PDLデータの画像形成処理を所定単位に分割し、各単位の画像形成処理を複数のスレッドへ割り当てる。所定単位の処理には、1ページ分のDLをPDLデータから生成する処理や、1オブジェクト分のPDLデータの解釈処理や、1オブジェクト分のPDLデータの解釈結果からDLを生成する処理などがある。本実施例の並列制御部200は、バッファ204を初期化して、スレッド1に、1オブジェクト分のPDLデータの解釈をさせてその解釈結果をバッファ204に記憶させる処理を割り当てても良い。すなわち、スレッド1は、解釈部201として機能するパイプラインPDLスレッドである。また並列制御部200は、スレッド2に、バッファ204に記憶されている1オブジェクト分のPDLデータの解釈結果からDLを生成する処理を割り当てても良い。すなわちスレッド2は、生成部203として機能するパイプラインDLスレッドである。また並列制御部200は、スレッド3に、或るページに含まれている全オブジェクトのPDLデータの解釈処理とその解釈結果からのDLの生成処理を割り当てても良い。すなわち、スレッド3は、解釈部211および生成部213として機能するページDLスレッドである。また並列制御部200は、スレッド4に、別のページに含まれている全オブジェクトのPDLデータの解釈処理とその解釈結果からのDLの生成処理を割り当てても良い。すなわち、スレッド4も解釈部211および生成部213として機能するページDLスレッドである。違うのはDL生成の処理対象のページが異なることである。
The
なお、ここで言うところのオブジェクトとは、例えば複数文字からなるテキストオブジェクトや、線分の両端の座標を指定することで決定される線分オブジェクトや、ビットマップオブジェクトなどである。 Note that the object here refers to, for example, a text object composed of a plurality of characters, a line segment object determined by specifying the coordinates of both ends of the line segment, a bitmap object, and the like.
本実施例では、オブジェクトのPDLデータを解釈する処理は解釈部201が行う。この解釈部201は、PDLデータを1オブジェクトずつ解釈して、解釈結果をワークメモリに書き出す。このワークメモリには、PDLデータに含まれる1オブジェクト分の解釈結果が一時的に記憶され、後に続いて解釈される1オブジェクト分のPDLデータの解釈結果によって上書きされる。
In this embodiment, the
一方で解釈部211は、解釈部201のようにPDLデータを解釈してその解釈結果をワークメモリに書き出すが、解釈部211は続いてその解釈結果を、バッファ204に転送する。
On the other hand, the
本実施例では、オブジェクトのDLを解釈結果から生成する処理は、生成部203が行う。生成部203は、PDLデータの解釈結果からDLを生成する。生成部203は、解釈結果を解釈部201のワークメモリから取得する。一方、生成部213は、生成部203とは異なり、ワークメモリからではなく、バッファ204から取得する。
In the present embodiment, the
なお、本実施例では、CPU101がプログラムを実行することで上述の通りソフトウェアモジュールが実現されるが、これに限らず、上述のソフトウェアモジュールと同等の機能をハードウェアによって実現しても良い。また、図2では、4つのスレッド1〜4を示しているが、1つのスレッドが、別のスレッドの動作を行っても良い。例えばスレッド1が、後述のパイプライン並列処理の際には、パイプラインDLスレッドとなるが、ページ並列処理の際には、スレッド3のようなページDLスレッドとなっても良い。これはスレッド2とスレッド4についても同様である。
In the present embodiment, the software module is realized as described above by the
本実施例では、2種類の並列処理を切り替えることにより、複数ページだけでなく、1ページのみの印刷データにおいても並列処理による高速化を実現する。 In the present embodiment, switching between two types of parallel processing realizes speedup by parallel processing not only for a plurality of pages but also for print data for only one page.
一方の並列処理は、解釈部201および生成部203それぞれの処理をパイプライン制御部202により、別々のスレッドによって実行するパイプライン処理である。すなわち、1ページ目については、1オブジェクト分のDLを生成するにあたり、そのオブジェクトのPDLデータを解釈する処理のスレッドと、その解釈結果からDLを生成する処理のスレッドとがパイプライン処理によって並列実行される。すなわち、生成部203として機能するスレッドが或るオブジェクトのPDLデータの解釈結果からDLを生成している間に、解釈部201として機能する別のスレッドが次のオブジェクトのPDLデータを解釈する。そして生成部203として機能するそのスレッドは、その別スレッドによる解釈結果からDLを生成する。以上の一連の処理の流れが1つのページについて繰り返される。これがパイプライン並列である。
One parallel process is a pipeline process in which the respective processes of the
他方の並列処理は、2ページ目以降の各ページについては、解釈部211および生成部213として機能させるスレッドを1ページにつき1つに限定する。そして、複数のページのそれぞれのDLを生成する複数スレッドが、ページ単位で並列実行される。すなわち、或るスレッドは、或るページのPDLデータからDLを生成し、別スレッドは別ページのPDLデータからDLを生成する。これがページ並列である。
In the other parallel processing, for each page after the second page, the number of threads that function as the
<ページ並列とパイプライン並列切り替えの概要>
マルチコアCPUを用いたページ並列では、複数ページのPDLデータでは、別々のスレッド(プロセッサコア)が並行して別々のページのDLを生成するので、マルチスレッドでの並列処理による高速化の効果を得ることができる。一方、単ページのPDLデータに対してマルチコアCPUが行うページ並列では、或るスレッド(プロセッサコア)が1ページ目のPDLデータからDLの生成を行う。しかし、残りのスレッド(プロセッサコア)はPDLデータの解釈もDLの生成もしないアイドル状態となってしまい、単ページのPDLデータからのDLの生成については、マルチスレッド(マルチコア)による並列効果は得られない。
<Overview of page parallel and pipeline parallel switching>
In page parallel using a multi-core CPU, separate threads (processor cores) generate DLs for different pages in parallel for multiple pages of PDL data, so the effect of speeding up by multi-thread parallel processing is obtained. be able to. On the other hand, in page parallel performed by a multi-core CPU for single-page PDL data, a certain thread (processor core) generates a DL from PDL data for the first page. However, the remaining threads (processor core) are in an idle state in which neither PDL data is interpreted nor DL is generated, and the parallel effect of multithread (multicore) is obtained for DL generation from single-page PDL data. I can't.
そこで本実施例では、PDLデータの1ページ目についてはパイプライン並列処理でDLを生成し、2ページ目以降のDLの生成はページ並列処理で行う。これにより、複数ページのPDLデータだけでなく、単ページのPDLデータについてもマルチスレッドによる並列効果を得る。図3が、この処理の概念図である。 Therefore, in this embodiment, DL is generated by pipeline parallel processing for the first page of PDL data, and DL generation for the second and subsequent pages is performed by page parallel processing. As a result, not only a plurality of pages of PDL data but also a single page of PDL data has a multithread parallel effect. FIG. 3 is a conceptual diagram of this process.
1ページ目の処理では、パイプライン並列処理が行われる。例えば1ページ目のPDLデータにオブジェクト1、2が含まれている場合に、スレッド1(プロセッサコア1)は、オブジェクト1のPDLデータを解釈し、続いてスレッド2(プロセッサコア2)は、その解釈結果からオブジェクト1のDLを生成する。そしてその生成の間、スレッド1は、オブジェクト2のPDLデータを解釈し、オブジェクト1のDLを生成し終えたスレッド2は、その解釈結果からオブジェクト2のDLを生成する。このように、各スレッドの処理が並列実行できるので、1ページ目のDLの生成は高速化される。 In the processing of the first page, pipeline parallel processing is performed. For example, when the objects 1 and 2 are included in the PDL data of the first page, the thread 1 (processor core 1) interprets the PDL data of the object 1, and then the thread 2 (processor core 2) The DL of object 1 is generated from the interpretation result. During the generation, the thread 1 interprets the PDL data of the object 2, and the thread 2 that has generated the DL of the object 1 generates the DL of the object 2 from the interpretation result. In this way, since the processing of each thread can be executed in parallel, the generation of the DL for the first page is accelerated.
また続く2ページ目、3ページ目の処理では、ページ並列処理が行われる。例えば2ページ目のPDLデータにオブジェクト3、4が含まれている場合に、スレッド1は、オブジェクト3のPDLデータの解釈とDLの生成とを続けて行う。オブジェクト4についても同様である。これにより、2ページ目のDLが生成される。一方、例えば3ページ目のPDLデータにオブジェクト5、6が含まれている場合に、スレッド2は、オブジェクト5のPDLデータの解釈とDLの生成とを続けて行う。オブジェクト6についても同様である。これにより、3ページ目のDLが生成される。このように、各スレッドの処理は、ページ単位で並列実行できるので、2ページ目、3ページ目のDLの生成は高速化される。なお、2ページ目、3ページ目に対しても1ページ目と同様にパイプライン並列処理を適用しても良いが、本実施例においてそうしないのは、次の理由による。すなわち、マルチスレッドによるパイプライン並列処理はスレッド間の通信が必要なので、通信コストがページ並列処理よりもかかるためである。 In the subsequent second and third page processes, page parallel processing is performed. For example, when the objects 3 and 4 are included in the PDL data on the second page, the thread 1 continues to interpret the PDL data of the object 3 and generate the DL. The same applies to the object 4. Thereby, the DL of the second page is generated. On the other hand, for example, when the objects 5 and 6 are included in the PDL data of the third page, the thread 2 continues to interpret the PDL data of the object 5 and generate the DL. The same applies to the object 6. As a result, the DL of the third page is generated. In this way, the processing of each thread can be executed in parallel in units of pages, so that the generation of DL for the second page and the third page is speeded up. The pipeline parallel processing may be applied to the second page and the third page as in the first page. However, the reason for not doing so in the present embodiment is as follows. In other words, multi-thread pipeline parallel processing requires communication between threads, so communication costs are higher than page parallel processing.
<並列処理切り替え制御のフロー>
図4のフローチャートを用いて、ページ並列処理とパイプライン並列処理とを切り替える制御フローを説明する。この制御フローは、スレッドAにおいて並列制御部200が、ネットワークI/F104を介して外部装置からPDLデータを受信したことに応じて、実行する。
<Parallel processing switching control flow>
A control flow for switching between page parallel processing and pipeline parallel processing will be described with reference to the flowchart of FIG. This control flow is executed in the thread A in response to the
S401において、並列制御部200は、初期化処理を行う。具体的には、並列制御部200は、DLの生成対象ページ番号およびDLの送信対象ページ番号を管理し、それらを共に1に設定する。また並列制御部200は、マルチコアCPUのプロセッサコアの数分、複数のスレッドを起動する。また並列制御部200はバッファ204を確保する。例えば2コアCPUであれば2つのスレッドが起動される。以降の処理では、並列制御部200は、起動した複数スレッドのそれぞれが別々のコアによって実行されるように、アフィニティマスクを設定するものとする。
In S401, the
S403において、並列制御部200は、生成対象ページ番号が1であるか、すなわち、DL生成の対象が1ページ目であるか否かを判定する。生成対象ページ番号が1であれば、1ページ目に対してパイプライン並列処理でDLの生成と送信を行うために、S404以降の処理が行われる。パイプライン並列処理については図3を用いて説明したとおりである。また生成対象ページ番号が1でなければ、2ページ目以降に対してページ並列処理でDLの生成と送信を行うために、S410以降の処理が行われる。ここでは1ページ目が、2ページ目以降とは区別して取り扱う所定ページであり、2ページ目以降が所定ページ以外のページであり、並列制御部200はDL生成対象のページが所定ページであるか否かによって並列処理方法を制御する生成制御手段である。
In S403, the
パイプライン並列処理のためのS404以降の処理について説明する。 Processing subsequent to S404 for pipeline parallel processing will be described.
S404において、並列制御部200は、起動された複数のスレッドに対して、互いに連携して生成対象ページ番号のPDLデータのパイプライン並列処理を行う指示を出す。並列制御部200は、例えばスレッド1に対して、パイプライン並列処理のうちのオブジェクトのPDLデータの解釈処理を行うように指示する。このときスレッド1は解釈部201として機能する。一方スレッド2に対しては、並列制御部200は、パイプライン並列処理のうちのオブジェクトのPDLデータの解釈結果からオブジェクトのDLの生成処理を行うように指示する。このときスレッド2は生成部203として機能する。なお、並列制御部200は、後述のように、生成部203に対して、DLの格納用メモリ上に1ページのDLデータサイズの最大値分のメモリ領域を確保させる。
In S <b> 404, the
S405において、並列制御部200は、生成対象ページ番号を1つインクリメントすることで、DL生成の対象ページを2ページ目にする。
In S405, the
S406において、並列制御部200は、1ページ目のDLの生成の完了通知を、パイプライン処理中のスレッドから受信したかを判定し、受信した場合にS407へ処理を進める。この完了通知には、1ページ目のDLの格納先のメモリアドレスが含まれている。またこの完了通知には生成されたDLのページ番号が含まれ、ここでのページ番号は「1ページ目」である。それ以外の場合、1ページ目のDLの生成の完了通知が受信されるまで待機する。なぜ1ページ目に限って待機をするかというと、1ページ目のパイプライン並列処理中に、次ページに対する処理を行わせないようにして、1ページ目の処理効率を上げるためである。
In step S406, the
S407において、並列制御部200は、送信対象ページ番号のDL(すなわち1ページ目のDL)をRIP106に送信する。送信されたDLは、RIP106によってラスタライズされる。具体的には、並列制御部200は、完了通知に含まれているメモリアドレスをRIP106に通知し、RIP106は、そのメモリアドレスに格納されているDLを取得してラスタライズを行う。そして並列制御部200は、1ページ目のDLのラスタライズの完了を検知したことに応じて、DLスレッドの生成部203に、DLの格納用メモリ上に確保されたメモリ領域を解放させる。生成されたラスターイメージは、プリンタエンジン108に送られて用紙上に印刷される。
In S407, the
S408において、並列制御部200は、送信対象ページ番号を1つインクリメントすることで、DL送信の対象ページを2ページ目にする。そして処理はS409へ移る。
In S408, the
一方で、S410以降のページ並列処理について説明する。 On the other hand, the page parallel processing after S410 will be described.
S410において、並列制御部200は、処理が割り当てられていないスレッド(空きスレッド)が無くなるまで、S411〜S413を繰返す。
In S410, the
S411において、並列制御部200は、PDLデータに含まれる全てのページのDLの生成処理をページ並列で行うように指示したかどうかを判定する。全てのページについてDLの生成処理を指示していれば、S410のループ処理を抜けて、S414に処理は移行する。そうでなければ処理はS412へ移行する。なお、このS411の処理に加えて、並列制御部200は、これまでに生成されたページのDLのうち、RIP106へ未送信(未ラスタライズ)のDLの総サイズを計算し、この総サイズが閾値よりも小さい場合に、S412へ処理を移行させても良い。逆に総サイズが閾値以上である場合には、処理はS414に移行する。このように未送信のDLの総サイズを参照してDLの生成を抑制することで、若いページ番号のページのDL生成が大幅に遅延していて他ページ(その若いページ番号よりも大きなページ番号のページ)のDLが先に生成されてしまう場合でも、DL格納用メモリの不足や、バッファオーバーフローを防げる。なお生成済み且つ未ラスタライズのDLの総サイズではなく、生成済み且つ未ラスタライズのページ数に基づいて、本制御を行っても良い。例えば生成済み且つ未ラスタライズのページ数が閾値より小さければS412へ移行し、そうでなければS414に移行する。または、並列制御部200は、DL格納用メモリの空き容量が、1ページのDLデータサイズの最大値分のメモリ領域を確保できる程度にあるかを判定する。つまり空き容量は予め決められた閾値(最大値)以上なのかが判定される。確保できる程度にあればS412へ処理を移行し、そうでなければS414に処理を移行する。空き容量とは、DL格納用メモリにおいて使用可能な、あるいは、解放されているメモリ領域のデータサイズであり、次のようにして求められる。つまり、空き容量は、DL格納用メモリとして予め確保された所定データサイズから、「生成済み且つ未ラスタライズのDL用にページ単位で確保されているメモリ領域の総サイズ」を引いたサイズである。なお、この「生成済み且つ未ラスタライズのDL用にページ単位で確保されているメモリ領域の総サイズ」の代わりに、「生成済み且つ未ラスタライズのDLの総サイズ」を用いても良い。
In step S411, the
S412において、並列制御部200は、生成対象ページ番号のページのDL生成処理を、ページ並列処理で実行するように、空きスレッドに割り当てる。すなわちDL生成処理を割り当てられたスレッドが、そのページに含まれる各オブジェクトのPDLデータの解釈とその解釈結果からのDL生成を行う。このようにすることで、DL生成処理をページ単位で並列で行うので高速にPDLデータに含まれる複数ページのDLを生成することができる。例えばスレッド1が空きスレッドであれば、スレッド1は、解釈部211および生成部213として機能する。スレッド2が空きスレッドであるときも同様である。なお、並列制御部200は、後述のように、生成部213に対して、DLの格納用メモリ上に1ページのDLデータサイズの最大値分のメモリ領域を確保させる。
In S <b> 412, the
S413において、並列制御部200は、生成対象ページ番号を1つインクリメントすることで、DL生成の対象ページを次のページにする。
In S413, the
以上がループ処理の内容である。 The above is the content of the loop processing.
次にS414において並列制御部200は、DL生成の完了通知を、ページ並列処理中のスレッドから受信したかを判定する。受信された場合にS415へ処理が進むことで、生成済み且つ未送信のDLがRIP106へ送信される。それ以外の場合、処理はS409へ進む。なお、この完了通知には生成されたDLの格納先メモリアドレスとページ番号(例えば2ページ目や3ページ目など)とが含まれ、生成済みのDLのページ番号として並列制御部200によって管理される。
In step S <b> 414, the
S415において、並列制御部200は、送信対象ページ番号のDLの生成が既に完了しているかどうかを、生成されたDLのページ番号と、送信対象ページ番号とに基づいて判定する。すなわちここでは、生成済みのDLが、先頭ページから順番にRIP106に送信(受け渡し)できるものであるかが判定される。この送信対象ページ番号は、RIP106によって今回ラスタライズされるべきページの番号を示していることに他ならない。送信対象ページ番号のDLの生成が既に完了していれば、処理はS416へ進み、そうでなければ処理はS409へ進む。ここでS409へ進む際には、S414で受け付けられた完了通知に含まれるページ番号のDLは、格納先のメモリに保持されたままとなる。しかし、ラスターイメージに変換された状態で保持されるよりは省メモリ効果を得られる。
In S415, the
S416において、並列制御部200は、送信対象ページ番号のDLをRIP106へ送信する。送信されたDLは、RIP106によってラスタライズされる。具体的には、並列制御部200は、これまでに取得した完了通知に含まれている送信対象ページ番号のDLの格納先メモリアドレスをRIP106に通知し、RIP106は、そのメモリアドレスに格納されているDLを取得してラスタライズを行う。そして並列制御部200は、1ページ分のDLのラスタライズの完了を検知したことに応じて、DLスレッドの生成部213に、DLの格納用メモリ上に確保されたそのページのメモリ領域を解放させる。
In S416, the
S417において、並列制御部200は、送信対象ページ番号を1つインクリメントすることで、ページ順に生成されたDLをRIP106へ送信できるようにする。
In step S417, the
以上のS415〜S417では、並列制御部200は、ラスタライズのためにRIP106へ送られるDLのページ順の制御を行う送信制御に相当する。この順序制御では、後続ページ(例えば3ページ目)のDLの生成が、送信すべき順番のページ(先行ページ:例えば2ページ目)のDLの生成よりも先に完了したとしても、3ページ目のDLのRIP106への送信が、直前ページである2ページ目のDLの送信完了まで待機される。すなわち、後続ページのDLのラスタライズを遅らせる。その結果、適切なページ順でDLがラスタライズされてラスターイメージが生成される。ラスターイメージは生成された順にプリンタエンジン108に送られて正しい順序でページが印刷される。
In S415 to S417 described above, the
S409においては、並列制御部200は、PDLデータに含まれる全てのページのDLの生成とRIP106への送信が完了したかを判定し、完了していれば本フローの処理を終了する。そうでなければ処理はS403へ戻る。
In S409, the
以上の処理により、並列制御部200による、ページ並列処理とパイプライン並列処理との切り替える制御が実施される。
With the above processing, control for switching between page parallel processing and pipeline parallel processing by the
<パイプラインPDLスレッド>
次に図5のフローチャートを用いて、S404の指示に基づいて空きスレッドに割り当てられたパイプライン並列処理におけるPDLデータの解釈処理について説明する。なお本フローチャートの処理は、空きスレッドがパイプラインPDLスレッドとして機能することが指示されたことをトリガーとして、そのパイプラインPDLスレッドが実行するものである。そのため処理の主体は、パイプラインPDLスレッドの解釈部201である。
<Pipeline PDL thread>
Next, the PDL data interpretation process in the pipeline parallel processing assigned to the empty thread based on the instruction in S404 will be described using the flowchart of FIG. The processing of this flowchart is executed by a pipeline PDL thread triggered by an instruction that an empty thread functions as a pipeline PDL thread. Therefore, the subject of processing is the
S1102において、解釈部201は、生成対象ページ番号のページに含まれる未解釈のオブジェクトのPDLデータを、解釈する。この解釈結果は、ワークメモリ領域に書き出される。
In step S1102, the
S1104において、解釈部201は、S1102で書き出された解釈結果をバッファ204に転送する。この転送は、後述のパイプラインDLスレッドから転送許可通知を受信したことに応じて行われる。転送された解釈結果は、後述の通り、パイプラインDLスレッドによって処理される。
In step S <b> 1104, the
S1105において、解釈部201、生成対象ページ番号のページに含まれる全オブジェクトのPDLデータの解釈が完了したか判定する。完了している場合は、処理はS1106へ移行する。そうでなければ、処理はS1102へ戻り、別の未解釈のオブジェクトのPDLデータの解釈が行われる。
In step S1105, the
S1106において、解釈部201は、パイプラインDLスレッドからのDL生成完了通知を待つ。ここで解釈部201は、このDL生成完了通知に含まれるメモリアドレス(後述)を取得する。DL生成完了通知を受信すると、S1107へ進む。
In step S1106, the
S1107において、解釈部201は、パイプラインPDLスレッドともパイプラインDLスレッドとも別のスレッドで実現されている並列制御部200に、取得されたメモリアドレスを含むDL生成完了通知を送信する。また、このDL生成完了通知には、生成されたDLのページ番号も含まれており、S406で受信される。
In step S <b> 1107, the
以上の処理が、パイプラインPDLスレッドによる処理である。 The above processing is processing by the pipeline PDL thread.
<パイプラインDLスレッド>
次に図6のフローチャートを用いて、S404の指示に基づいて空きスレッドに割り当てられたパイプライン並列処理におけるDLデータの生成処理について説明する。なお本フローチャートの処理は、空きスレッドがパイプラインDLスレッドとして機能することが指示されたことをトリガーとして、そのパイプラインDLスレッドが実行するものである。そのため処理の主体は、パイプラインDLスレッドの生成部203である。
<Pipeline DL thread>
Next, DL data generation processing in pipeline parallel processing allocated to an empty thread based on the instruction in S404 will be described using the flowchart of FIG. The processing of this flowchart is executed by a pipeline DL thread triggered by an instruction that an empty thread functions as a pipeline DL thread. Therefore, the main subject of the processing is the pipeline DL
S1201において、生成部203は、バッファ204からオブジェクトのPDLデータの解釈結果を取得する。
In step S <b> 1201, the
S1202において、生成部203は、S1201で取得された解釈結果からオブジェクトのDLを生成する。この生成されたDLはDLの格納用メモリに記憶されている。またこのとき生成部203は、パイプラインPDLスレッドに転送許可通知を送信する。これにより、バッファ内の解釈結果が処理済みとなってから、次の解釈結果がバッファに上書きされるように制御される。なお、生成部203は、1ページ分のDLの生成を開始する際に、DLの格納用メモリに1ページのDLデータサイズの最大値分のメモリ領域を確保し、そのメモリ領域に生成されたDLを順次記憶していく。また、前述したように、生成部203は、DL生成中において、生成済みのDLのデータサイズが1ページ分のDLデータサイズの最大値を超えるか判定し、越えると判定した場合に、フォールバック処理を行う。
In step S1202, the
S1203において、生成部203は、生成対象ページ番号のページに含まれる全オブジェクトのDLの生成が完了したか判定する。完了している場合は、処理はS1204へ移行する。そうでなければ処理はS1201へ戻り、バッファに記憶されている解釈結果を処理する。
In step S1203, the
S1204において、生成部203は、パイプラインPDLスレッドにDL生成完了通知を送信する。このDL生成完了通知は、S1106で受信される。このDL生成完了通知には、生成された1ページ分のDLの格納されているメモリアドレスも含まれている。
In step S1204, the
以上の処理が、パイプラインDLスレッドによる処理である。 The above processing is processing by the pipeline DL thread.
<ページ並列DL生成のフロー>
次に図7のフローチャートを用いて、S412の指示に基づいて空きスレッドに割り当てられたページ並列処理におけるDLデータの生成処理について説明する。なお本フローチャートの処理は、空きスレッドがページDLスレッドとして機能することが指示されたことをトリガーとして、そのページDLスレッドが実行するものである。そのため処理の主体は、ページDLスレッドの解釈部211および生成部213である。
<Page parallel DL generation flow>
Next, DL data generation processing in page parallel processing allocated to a free thread based on the instruction in S412 will be described using the flowchart of FIG. The processing of this flowchart is executed by a page DL thread triggered by an instruction that an empty thread functions as a page DL thread. Therefore, the main subject of processing is the page
S1301において、解釈部211は、生成対象ページ番号のページに含まれるオブジェクトのPDLデータを解釈し、その解釈結果をワークメモリに書き出す。
In step S1301, the
S1302において、生成部213は、ワークメモリに書き出された解釈結果を読み出してオブジェクトのDLを生成する。この生成されたDLはDLの格納用メモリに記憶されている。なお、生成部213は、1ページ分のDLの生成を開始する際に、DLの格納用メモリに1ページのDLデータサイズの最大値分のメモリ領域を確保し、そのメモリ領域に生成されたDLを順次記憶していく。また、前述したように、生成部213は、DL生成中において、生成済みのDLのデータサイズが1ページ分のDLデータサイズの最大値を超えるか判定し、越えると判定した場合に、フォールバック処理を行う。
In step S1302, the
S1303において、生成部213は、生成対象ページ番号のページに含まれる全オブジェクトのDLの生成が完了したか判定する。完了している場合は、処理はS1304へ移行し、そうでない場合はS1301へ戻り次のオブジェクトのPDLデータの解釈が行われる。
In step S1303, the
S1304において、生成部213は、DL生成完了通知を、並列制御部200に送信する。このDL生成完了通知には、生成された1ページ分のDLの格納先であるメモリアドレスと、そのDLのページ番号とが含まれる。
In S1304, the
以上のページDLスレッドは、複数のスレッドによってページごとに行われるので、DL生成を効率良く行うことができる。 Since the page DL thread described above is performed for each page by a plurality of threads, DL generation can be performed efficiently.
以上、パイプライン並列とページ並列とを切り替えることで、マルチコアCPUによる処理を単ページのPDLデータであっても複数ページのPDLデータであっても効率良く並列化することができる。 As described above, by switching between pipeline parallel and page parallel, the processing by the multi-core CPU can be efficiently parallelized for single-page PDL data or multiple-page PDL data.
なお以上の処理は、パイプライン並列であるが、要は、1ページ目に対しても並列処理を行うことに意味がある。例えば、1ページ目については、PDLデータに含まれる1番目のオブジェクトをスレッド1がDLに変換し、2番目のオブジェクトをスレッド2がDLに変換するようにしても良い。しかしこのようなオブジェクト並列の場合、オブジェクトのDLの生成完了のタイミングがオブジェクトごとに違うので、生成されたオブジェクトのDLの保存順序を制御しなければならない。 Note that the above processing is pipeline parallel, but the point is that parallel processing is also performed for the first page. For example, for the first page, the first object included in the PDL data may be converted by the thread 1 into DL, and the second object may be converted by the thread 2 into DL. However, in the case of such object parallelism, the timing of completion of object DL generation differs from object to object, so the order of saving the generated object DLs must be controlled.
それに比べてパイプライン並列では、複数のスレッドが1つのオブジェクトに対してパイプライン処理を行うので、オブジェクトのDLの保存順序を意識しなくても良いというメリットがある。 In contrast, pipeline parallelism has the advantage that multiple threads perform pipeline processing on a single object, so there is no need to be aware of the order in which objects are stored in DL.
(実施例2)
実施例1では、外部装置から受信されるPDLデータのページ数によらずに、マルチコア(マルチスレッド)による並列実行の効果が得られるように、1ページ目についてはパイプライン並列処理を実行し、2ページ目以降についてはページ並列処理を実行した。
(Example 2)
In the first embodiment, pipeline parallel processing is executed for the first page so that the effect of parallel execution by multi-core (multi-thread) can be obtained regardless of the number of pages of PDL data received from the external device, Page parallel processing was executed for the second and subsequent pages.
しかし、複数ページであれば1ページ目からページ並列処理を行った方が並列効果が高い場合がある。特に偶数ページ数のPDLデータではより効果が高い。 However, if there are a plurality of pages, the parallel effect may be higher when page parallel processing is performed from the first page. In particular, PDL data with an even number of pages is more effective.
例えば2ページのPDLデータであれば、1ページ目と2ページ目とでページ並列でDLを生成した方が、マルチスレッド(マルチコア)による並列効果が高い。 For example, in the case of 2-page PDL data, the parallel effect by multithread (multi-core) is higher when the DL is generated in page parallel between the first page and the second page.
そこで本実施例では、PDLデータのページ数に応じて、パイプライン並列かページ並列の何れで処理するかを決定する構成について図8を用いて説明する。なお、以下の実施例において、実施例1と重複する部分については説明を割愛する。 Therefore, in the present embodiment, a configuration for determining whether to perform pipeline parallel processing or page parallel processing according to the number of pages of PDL data will be described with reference to FIG. In the following embodiments, the description overlapping with the first embodiment will be omitted.
図8は、実施例1の図4のフローチャートの一部が変更されたものである。その部分とはS402の処理が追加されたことと、S403の処理がS403−1に変更されたことである。そこで上記の差分のみを説明する。 FIG. 8 is obtained by changing a part of the flowchart of FIG. 4 of the first embodiment. That part is that the process of S402 is added and the process of S403 is changed to S403-1. Therefore, only the above difference will be described.
S402において、並列制御部200は、PDLデータを解釈することで、外部装置から受信されたPDLデータの総ページ数を判断する。この判断方法は以下のようなものが考えられる。
In S402, the
例えば、並列制御部200は、PDLデータを先頭から末尾まで順次読みながら、改ページコマンドの総数をカウントする。改ページコマンドはページが区切るので、これによりPDLデータの総ページ数が取得できる。
For example, the
または、並列制御部200は、PDLデータにヘッダ情報があれば、そのヘッダ情報を読みとり、そのヘッダ情報にPDLデータの総ページ数が記載されていれば、その総ページ数を取得する。
Alternatively, the
または、並列制御部200は、PDLデータのPDL種別を判定し、そのPDL種別に基づいて、総ページ数を判断しても良い。例えばPDL種別がJpegやTIFFなどであれば、単ページの画像であるので、ページ並列をせずにパイプライン並列するのが良い。そのため並列制御部200は、PDL種別がJpegやTIFFなどであれば、総ページ数を1と判断する。
Alternatively, the
そしてS403−1において、並列制御部200は、S402での総ページ数の判断に基づいて、総ページ数が1ページであれば処理をS404へ進め、複数ページであれば処理をS410へ進める。
In step S403-1, the
以上のように、単ページのPDLデータと見なせれば、パイプライン並列処理を1ページ目に対して行い、複数ページのPDLデータと見なせれば、ページ並列処理を2ページ目と並列して1ページ目に対して行う。これにより、より並列効果を高めることができる。 As described above, if it can be regarded as single-page PDL data, pipeline parallel processing is performed on the first page, and if it can be regarded as multiple-page PDL data, page parallel processing is performed in parallel with the second page. To the first page. Thereby, a parallel effect can be heightened more.
(その他の実施例)
以上の実施例では、PDLデータの1ページ目(先頭ページ)のみに対してパイプライン並列処理を行っていたが、PDLデータの最終ページに対してもパイプライン並列処理を行っても良い。
(Other examples)
In the above embodiment, pipeline parallel processing is performed only on the first page (first page) of PDL data. However, pipeline parallel processing may be performed on the last page of PDL data.
また以上の実施例ではPDLデータからDLを生成する際に、パイプライン並列処理とページ並列処理とを適切に選択するような構成であったが、PDLデータからラスターイメージを生成する際にも同様の考えが適用できる。 In the above embodiment, the pipeline parallel processing and the page parallel processing are appropriately selected when generating the DL from the PDL data, but the same applies when generating the raster image from the PDL data. The idea can be applied.
また、以上の実施例の画像形成装置では、1つのRIP106が、1ページごとに順次、DLをラスタライズしていたが、RIP106に代えて、複数のRIPが採用されても良い。
Further, in the image forming apparatus of the above embodiment, one
1つの例として、複数のRIPが、生成されたDLから、同一ページにおける異なる領域についてのラスタライズを並列に行う構成でも良い。例えば第1のRIPが、生成されたページのDLを用いて、そのページの第1のバンド領域のラスタライズを行い、第2のRIPが、その第1のRIPによるラスタライズと並行して、そのページの第2バンドのラスタライズをそのDLを用いて行う。このようにすることで、DL生成の待機による遅延を、ページの並列ラスタライズの高速化で挽回することができる。 As an example, a configuration in which a plurality of RIPs perform rasterization of different regions on the same page in parallel from the generated DL may be used. For example, the first RIP uses the DL of the generated page to rasterize the first band region of the page, and the second RIP performs the page parallel to the rasterization by the first RIP. The second band is rasterized using the DL. In this way, the delay caused by waiting for DL generation can be recovered by increasing the speed of parallel rasterization of pages.
また、別の例として、複数のRIPが、異なるページのDLのラスタライズを並列で行う構成でも良い。例えば、第1のRIPが、先行ページのDLのラスタライズを行い、第2のRIPが、その第1のRIPによるラスタライズに並行して、後続ページのDLのラスタライズを行う。このような構成においても、先行ページよりも後続ページのDLの生成が先に完了すると、上記実施例と同様に、先に生成された後続ページのDLのラスタライズを遅らせる。しかし、この構成では、先行ページのラスタライズの完了ではなく、先行ページのDLの生成が完了したことに応じて、第1のRIPおよび第2のRIPは、先行ページおよび後続ページのDLのラスタライズを開始する。このようにすることで、DL生成においてページ順を正しくしつつ、並列ラスタライズによるラスタライズの高速化の効果を得ることができる。もしこの並列ラスタライズにおいて、先行ページよりも先に後続ページのラスタライズが完了した場合には、後続ページの1ページ分のラスターイメージを第2のRIPは保持させ、さらに後続のページのラスタライズを待機するように構成する。そして第1のRIPによる先行ページのラスタライズの完了に応じて、第1のRIPは先行ページのラスターイメージをプリンタエンジン108に送信し、続いて、第2のRIPは後続ページのラスターイメージをプリンタエンジン108に送信する。このような構成によって、ページのDLの生成順が逆転したとしても、複数のページのラスターイメージを保持し続けることを抑制しつつ並列ラスタライズによる高速化の効果を得て、正しいページ順で印刷を行うことができる。
As another example, a configuration in which a plurality of RIPs perform rasterization of DLs of different pages in parallel may be used. For example, the first RIP rasterizes the DL of the preceding page, and the second RIP rasterizes the DL of the subsequent page in parallel with the rasterization by the first RIP. Even in such a configuration, when the DL generation of the subsequent page is completed earlier than the preceding page, the rasterization of the DL of the subsequent page generated earlier is delayed as in the above embodiment. However, in this configuration, the first RIP and the second RIP perform rasterization of the DL of the preceding page and the succeeding page in response to completion of generation of the DL of the preceding page, not completion of rasterization of the preceding page. Start. In this way, it is possible to obtain the effect of speeding up rasterization by parallel rasterization while correcting the page order in DL generation. If the rasterization of the subsequent page is completed before the preceding page in this parallel rasterization, the second RIP holds the raster image for one page of the subsequent page, and further waits for the rasterization of the subsequent page. Configure as follows. In response to the completion of rasterization of the preceding page by the first RIP, the first RIP transmits the raster image of the preceding page to the
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。 The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
Claims (20)
前記PDLデータから前記複数のページの中間データをページごとに生成する複数の処理手段と、
前記複数の処理手段によって生成されたページごとの中間データを、ページごとにラスタライズするラスタライズ手段と、
を有し、
前記ラスタライズ手段は、先行ページの中間データの生成よりも先に後続ページの中間データの生成が完了した場合に、前記先行ページの中間データの生成およびラスタライズの完了まで、前記後続ページの中間データのラスタライズを遅らせることを特徴とする画像形成装置。 Receiving means for receiving PDL data including a plurality of pages;
A plurality of processing means for generating intermediate data of the plurality of pages for each page from the PDL data;
Rasterizing means for rasterizing the intermediate data for each page generated by the plurality of processing means for each page;
Have
When the generation of the intermediate data of the subsequent page is completed prior to the generation of the intermediate data of the previous page, the rasterizing means performs the generation of the intermediate data of the subsequent page until the generation of the intermediate data of the previous page and the completion of the rasterization. An image forming apparatus characterized by delaying rasterization.
前記ラスタライズ手段は、前記管理手段によって管理されているページ番号のページの中間データの生成よりも先に前記後続ページの中間データの生成が完了した場合に、当該ページ番号のページから当該後続ページの直前ページまでの各ページの中間データの生成およびラスタライズの完了まで、前記後続ページの中間データのラスタライズを遅らせることを特徴とする請求項1または2に記載の画像形成装置。 Management means for managing page numbers to be rasterized by the rasterizing means;
When the generation of the intermediate data of the subsequent page is completed prior to the generation of the intermediate data of the page of the page number managed by the management unit, the rasterizing unit starts from the page of the page number. 3. The image forming apparatus according to claim 1, wherein rasterization of intermediate data of the subsequent page is delayed until generation of intermediate data of each page up to the previous page and completion of rasterization are completed.
前記PDLデータの所定ページについては、当該ページに含まれるオブジェクトの中間データの生成を前記複数の処理手段で並列に行い、
前記所定ページ以外のページについては、当該ページに含まれるオブジェクトの中間データの生成を、ページごとに別々の前記処理手段で並列に行うことを特徴とする請求項1乃至6の何れか1項に記載の画像形成装置。 The plurality of processing means, when generating the intermediate data for each page from the PDL data,
For the predetermined page of the PDL data, the generation of intermediate data of objects included in the page is performed in parallel by the plurality of processing means,
7. For any page other than the predetermined page, intermediate data generation of an object included in the page is performed in parallel by the processing means different for each page. The image forming apparatus described.
前記複数の処理手段のうちの一つの処理手段は、当該ページに含まれるオブジェクトのPDLデータの解釈を行い、
前記複数の処理手段のうちの別の処理手段は、当該解釈結果からの当該オブジェクトの中間データの生成を行うことを特徴とする請求項7に記載の画像形成装置。 About the predetermined page
One processing means of the plurality of processing means interprets PDL data of an object included in the page,
The image forming apparatus according to claim 7, wherein another processing unit of the plurality of processing units generates intermediate data of the object from the interpretation result.
前記一つの処理手段は、当該解釈結果が書き出されているメモリから当該解釈結果をバッファに転送し、
前記別の処理手段は、当該バッファに転送された解釈結果を取得して、当該中間データの生成を行うことを特徴とする請求項8に記載の画像形成装置。 About the predetermined page
The one processing means transfers the interpretation result from the memory in which the interpretation result is written to a buffer,
9. The image forming apparatus according to claim 8, wherein the another processing unit acquires the interpretation result transferred to the buffer and generates the intermediate data.
前記一つの処理手段は、或るページに含まれるオブジェクトのPDLデータの解釈およびその解釈結果からの当該オブジェクトの中間データの生成を行い、且つ、
前記別の処理手段は、別ページに含まれるオブジェクトのPDLデータの解釈およびその解釈結果からの当該オブジェクトの中間データの生成を行うことを特徴とする請求項9に記載の画像形成装置。 For pages other than the predetermined page,
The one processing means interprets PDL data of an object included in a certain page and generates intermediate data of the object from the interpretation result, and
The image forming apparatus according to claim 9, wherein the another processing unit interprets PDL data of an object included in another page and generates intermediate data of the object from the interpretation result.
前記一つの処理手段は、前記解釈結果が書き出されているメモリから前記転送を介さずに当該解釈結果を取得して、前記中間データの生成を行うことを特徴とする請求項10に記載の画像形成装置。 For pages other than the predetermined page,
The said one processing means acquires the said interpretation result from the memory in which the said interpretation result was written without going through the said transfer, and produces | generates the said intermediate data. Image forming apparatus.
複数のページを含むPDLデータを受信する受信工程と、
前記PDLデータから前記複数のページの中間データを、ページごとに別々の前記複数の処理手段に生成させる制御工程と、
前記生成されたページごとの中間データを、ページごとにラスタライズするラスタライズ工程と、
を有し、
前記ラスタライズ工程は、先行ページの中間データの生成よりも先に後続ページの中間データの生成が完了した場合に、前記先行ページの中間データの生成およびラスタライズの完了まで、前記後続ページの中間データのラスタライズを遅らせることを特徴とする画像形成装置の制御方法。 A control method of an image forming apparatus having a plurality of processing means,
A receiving step of receiving PDL data including a plurality of pages;
A control step of generating intermediate data of the plurality of pages from the PDL data by the plurality of processing means different for each page;
A rasterizing step of rasterizing the generated intermediate data for each page for each page;
Have
In the rasterizing step, when the generation of the intermediate data of the subsequent page is completed before the generation of the intermediate data of the previous page, the intermediate data of the subsequent page is generated until the generation of the intermediate data of the previous page and the completion of the rasterization. A control method for an image forming apparatus, characterized by delaying rasterization.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610246313.4A CN106095345B (en) | 2015-04-30 | 2016-04-20 | Image forming apparatus and its control method with multiple processing units |
US15/141,510 US10121098B2 (en) | 2015-04-30 | 2016-04-28 | Image forming apparatus having plurality of processing units for generating intermediate data, and method for controlling the image forming apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015093537 | 2015-04-30 | ||
JP2015093537 | 2015-04-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016210175A true JP2016210175A (en) | 2016-12-15 |
JP6748445B2 JP6748445B2 (en) | 2020-09-02 |
Family
ID=57550442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016032473A Active JP6748445B2 (en) | 2015-04-30 | 2016-02-23 | Image forming apparatus, control method of image forming apparatus, and program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6748445B2 (en) |
CN (1) | CN106095345B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017039269A (en) * | 2015-08-20 | 2017-02-23 | 富士ゼロックス株式会社 | Image formation apparatus and program |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7135417B2 (en) * | 2018-05-10 | 2022-09-13 | 京セラドキュメントソリューションズ株式会社 | image forming device |
CN111338695B (en) * | 2018-12-19 | 2022-05-17 | 中科寒武纪科技股份有限公司 | Data processing method based on pipeline technology and related product |
CN110901229B (en) * | 2019-11-15 | 2021-02-26 | 深圳市汉森软件有限公司 | Image data processing method, device, equipment and storage medium |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011167857A (en) * | 2010-02-16 | 2011-09-01 | Ricoh Co Ltd | Image forming apparatus, image forming method, and image forming program |
JP2011253428A (en) * | 2010-06-03 | 2011-12-15 | Canon Inc | Server device, terminal device, job processing system, control method, control program and storage medium |
JP2011257972A (en) * | 2010-06-09 | 2011-12-22 | Konica Minolta Business Technologies Inc | Image processing apparatus, program, and image processing method |
JP2012218178A (en) * | 2011-04-04 | 2012-11-12 | Canon Inc | Image forming apparatus, control method thereof and program |
US20120314240A1 (en) * | 2011-06-13 | 2012-12-13 | Rivadeneira Randell | Serial raster image processors used for error correction in a parallel raster image processor environment |
JP2015022685A (en) * | 2013-07-23 | 2015-02-02 | キヤノン株式会社 | Image forming apparatus |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100351857C (en) * | 2005-01-07 | 2007-11-28 | 北京北大方正电子有限公司 | Printing control method capable of reducing print memory requirement |
CN100356395C (en) * | 2005-06-13 | 2007-12-19 | 北京北大方正电子有限公司 | Printing control method capable of avoiding printing border-crossing error |
JP4942179B2 (en) * | 2006-12-11 | 2012-05-30 | キヤノン株式会社 | Print control apparatus, control method therefor, and device driver |
JP5393343B2 (en) * | 2009-08-21 | 2014-01-22 | キヤノン株式会社 | Print data processing apparatus, print data processing method, and program |
JP2011098500A (en) * | 2009-11-05 | 2011-05-19 | Canon Inc | Image forming apparatus, control method for image forming apparatus, and program |
-
2016
- 2016-02-23 JP JP2016032473A patent/JP6748445B2/en active Active
- 2016-04-20 CN CN201610246313.4A patent/CN106095345B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011167857A (en) * | 2010-02-16 | 2011-09-01 | Ricoh Co Ltd | Image forming apparatus, image forming method, and image forming program |
JP2011253428A (en) * | 2010-06-03 | 2011-12-15 | Canon Inc | Server device, terminal device, job processing system, control method, control program and storage medium |
JP2011257972A (en) * | 2010-06-09 | 2011-12-22 | Konica Minolta Business Technologies Inc | Image processing apparatus, program, and image processing method |
JP2012218178A (en) * | 2011-04-04 | 2012-11-12 | Canon Inc | Image forming apparatus, control method thereof and program |
US20120314240A1 (en) * | 2011-06-13 | 2012-12-13 | Rivadeneira Randell | Serial raster image processors used for error correction in a parallel raster image processor environment |
JP2015022685A (en) * | 2013-07-23 | 2015-02-02 | キヤノン株式会社 | Image forming apparatus |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017039269A (en) * | 2015-08-20 | 2017-02-23 | 富士ゼロックス株式会社 | Image formation apparatus and program |
Also Published As
Publication number | Publication date |
---|---|
CN106095345B (en) | 2019-05-28 |
JP6748445B2 (en) | 2020-09-02 |
CN106095345A (en) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8054474B2 (en) | Image data producing apparatus, image forming apparatus and computer readable medium | |
JP4543340B2 (en) | Image processing apparatus, image forming system, and program | |
US8576435B2 (en) | Print-document conversion apparatus, print-document conversion method, and computer-readable medium storing program | |
US8661209B2 (en) | Data processing apparatus, data processing method, and computer-readable recording medium for writing and reading data to and from a storage | |
US8861014B2 (en) | Systems and methods for optimized printer throughput in a multi-core environment | |
US8705095B2 (en) | Print control apparatus, printing system, and computer readable medium storing program for utilizing plural interpreters for parallel processing of print jobs | |
JP6748445B2 (en) | Image forming apparatus, control method of image forming apparatus, and program | |
US8503019B2 (en) | Print document conversion apparatus and computer readable medium | |
US8537396B2 (en) | Print document conversion apparatus, print document conversion method, and computer readable medium | |
US10534986B2 (en) | Printing apparatus having interpreters interpreting print data, printing method, and storage medium | |
JP5482238B2 (en) | Image processing apparatus, image forming apparatus, image processing method, image forming method, and program | |
JP6655963B2 (en) | An image processing apparatus and a control method for the image processing apparatus. | |
EP2546783B1 (en) | Recovery from an out-of-storage condition at a raster data spool. | |
JP5298154B2 (en) | Data processing apparatus and data processing program | |
US10121098B2 (en) | Image forming apparatus having plurality of processing units for generating intermediate data, and method for controlling the image forming apparatus | |
JP2019014135A (en) | Image processing device, image processing method and program | |
JP5097788B2 (en) | Data processing apparatus and data processing program | |
JP5799968B2 (en) | Printing system | |
JP5936363B2 (en) | Image processing apparatus and image processing method | |
JP2011237972A (en) | Data processing device and data processing program | |
JP6078954B2 (en) | Image processing device | |
JP5105011B1 (en) | Print control apparatus, image forming system, and program | |
JP2023048503A (en) | printer | |
JP2006130776A (en) | Image processing apparatus and method | |
JP2010244112A (en) | Job processor, job processing method, and computer program for attaining job processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191224 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191225 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200220 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20200331 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200615 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20200622 |
|
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: 20200714 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200807 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6748445 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |