JP6537372B2 - 画像形成装置、画像形成装置の制御方法、及びプログラム - Google Patents
画像形成装置、画像形成装置の制御方法、及びプログラム Download PDFInfo
- Publication number
- JP6537372B2 JP6537372B2 JP2015129996A JP2015129996A JP6537372B2 JP 6537372 B2 JP6537372 B2 JP 6537372B2 JP 2015129996 A JP2015129996 A JP 2015129996A JP 2015129996 A JP2015129996 A JP 2015129996A JP 6537372 B2 JP6537372 B2 JP 6537372B2
- Authority
- JP
- Japan
- Prior art keywords
- page
- processing
- cpu
- interpreter
- forming apparatus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- 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/1849—Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives
-
- 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/1801—Input data handling means
- G06K15/1803—Receiving particular commands
- G06K15/1806—Receiving job control commands
-
- 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/1835—Transforming generic data
- G06K15/1836—Rasterization
-
- 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/1889—Merging with other data
-
- 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/40—Details not directly involved in printing, e.g. machine management, management of the arrangement as a whole or of its constitutive parts
- G06K15/408—Handling exceptions, e.g. faults
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/21—Intermediate information storage
- H04N1/2104—Intermediate information storage for one or a few pictures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/004—Generic data transformation
- G06K2215/0042—Rasterisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0082—Architecture adapted for a particular function
- G06K2215/0085—Error recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/0077—Types of the still picture apparatus
- H04N2201/0094—Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/21—Intermediate information storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N2201/3201—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N2201/3225—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
- H04N2201/3232—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document of a page, copy or picture number
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N2201/3201—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N2201/328—Processing of the additional information
- H04N2201/3284—Processing of the additional information for error correction
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Record Information Processing For Printing (AREA)
Description
例えば、2ページ目のPSデータにerasepageオペレーターが含まれていると、3ページ目は2枚目の出力結果として、4ページ目は3枚目の出力結果として処理しなければならない。特許文献1に記載のページ並列技術は、各スレッドへ処理対象とするページを割り当てるジョブ制御部に、ページの描画を無効化するオペレーターを検知する手段が無い。このため、ページ整順処理ができず、結果として、2枚目の出力結果に3ページ目の描画結果を割り当てることができず、白紙になってしまったり、2枚目以降の出力結果のレイアウトがずれてしまったりするなどの不具合が発生してしまう。
印刷データを処理する画像形成装置において、前記印刷データを解釈して中間データを生成する複数のインタプリタと、各インタプリタからのページ要求と中間データ完了通知とに応じて処理すべきページ数情報をそれぞれのインタプリタに指定して並列処理させる制御手段と、生成された中間データから出力すべき各ページの画像データを生成する生成手段と、を備え、指定されたページが無効ページであるといずれか一方のインタプリタが解釈した場合、前記並列処理を停止して、いずれか1つのインタプリタが、当該無効ページから後続する最終ページまで当該インタプリタが管理するページ数情報を用いて中間データを生成することを特徴とする。
<システム構成の説明>
〔第1実施形態〕
<画像形成装置のハードウェアブロック図>
図1は、本実施形態の画像形成装置の構成を説明するハードウェアブロック図である。なお、本実施形態に示す画像形成装置は、入力される所定のページ記述言語に基づく印刷データ(PDLデータ)を処理するため、以下の構成を備える。
図2は、本実施形態における画像形成装置のソフトウェアモジュール構成図である。図2に記載した各ソフトウェアモジュールは、プログラムとして補助記憶装置103に格納され、主記憶装置102にロードされCPU101により実行されるものである。
PSインタプリタ201は、PDL言語解釈部202と、DL生成部203からなり、印刷データを解釈して、中間データとしてDLを生成する。PDL言語解釈部202は、印刷データにページ記述言語により記述されているデータ内容を解釈する。DL生成部203は、PDL言語解釈部202により解釈された結果から、中間データとしてDLを生成する。
しかし、印刷データはページ順に出力する必要があるため、未処理のページが完了するまでのバッファ領域として、このバッファ204を使用する。バッファ領域は主記憶装置102の一部を確保して使用するが、バッファリングできるほどの領域がない場合は、補助記憶装置103の一部を代替として用いる構成としても良い。レンダリング部205は、図1に示したRIP106に相当し、DLを展開してラスタ画像を生成する。つまり、レンダリング部205は、複数のPSインタプリタ201により生成された中間データから出力すべき各ページの画像データを生成する。
図3の(A)、(B)は、印刷データに記述される描画オブジェクトの記述例とその描画内容を示す図である。
図3の(A)では、ページ記述言語であるPostScriptを用いた印刷データの記述例の一例である。
Page1の部分では、斜めの線分を定義している。Page2では、「I am string.」という文字列を定義している。Page3では、市松模様のパターンオブジェクトを定義している。Page4では、Page2と同様に「I am string.」という文字列を定義している。PostScriptのページの区切れ目には「showpage」オペレーターが用いられるが、それ以外にも、描画内容を無効化する「erasepage」オペレーターが用いられることもある。図3の(A)の例では、Page3で用いられている。
本実施形態では、印刷データのページ記述言語としてPostScriptを採用した時のページ並列処理を対象としているPostScriptは印刷処理のための情報を、印刷データのあらゆる箇所に、ページを跨いで記述可能である。その為、PostScriptの印刷処理に対してページ並列技術を採用する場合、マルチスレッド処理する各スレッドは、データの先頭からデータを言語解釈していく必要がある。以下、図4を参照して、各インタプリタからのページ要求と中間データ完了通知を含む中間データ生成処理を説明する。
図4Aの(b)の例では、スレッドB1にまず2ページ目を、スレッドB2に1ページ目を処理するように指示している。ページ並列制御部200から処理対象ページが通知されると(Return1、2)、PSインタプリタ201は処理対象ページまではページスキップ処理、処理対象ページはページ描画処理を行う。スレッドB2は1ページ目が処理対象ページであるため、最初からページ描画処理を行う。スレッドB1は2ページ目が処理対象ページであるため、1ページ目はページスキップ処理、2ページ目はページ描画処理を行う。スレッドB2は1ページ目のページ描画処理が終わると、ページ並列制御部200へDL生成完了を通知した後、次の処理対象とするページ番号を問い合わせる。
ページ並列制御部200は、図4Aの(b)の例では、このタイミングではまだ3ページ目の処理が指示できていないため、次の処理対象ページとして3ページ目をスレッドB2へ通知する(Return3)。以下、同様にPSインタプリタ201はスレッドB1、B2のそれぞれにおいて、ページ並列制御部200へ処理対象ページの問い合わせ、ページスキップ処理、ページ描画処理、DL生成通知を最終ページになるまで繰り返す。これにより、ページ並列処理が実現される。
しかし、3ページ目にerasepageが存在するため、4ページ目以降のページ処理はページ並列処理を停止し、どちらかのスレッドに処理を引き継ぎ、片方のスレッドは処理を停止する。これは、ページ並列制御部200には無効ページを検知する手段が無いため、ページ制御のためのカウンタ値に不整合が発生し、正しく処理を継続できなくなってしまうためである。
一方で、PSインタプリタは無効ページを検知する手段をそれぞれ備える構成であるため、検知した時にシングルスレッド動作へ移行することにより、内部的にページ制御のためのページカウント値を制御し、ページカウンタ値の不整合を丸める事ができる。
また、スレッドB1は3ページ目のページスキップ処理の言語解釈処理により、erasepageオペレーターを検知することができるため、スレッドB2の処理状況に関わらず、即座にシングルスレッド処理へ移行することができる。スレッドB1はページスキップ処理中にerasepageオペレーターを検知すると、スレッドB2の処理が停止することを待たずに、自律的に4ページ目以降の処理を引き継ぎ、処理を進める。
図5は、本実施形態を示す画像形成装置の制御方法を説明するフローチャートである。本例は、図2に示したページ並列制御部200における、ページ並列処理のページ制御例である。なお、各ステップは、CPU101が記憶される制御プログラムを実行することで実現される。
以下、本制御を実行するために必要な構成について説明する。図2に示したページ並列制御部200では、ページ制御のための内部ページカウンタ値としてPhysicalPageCountを持っている。このPhysicalPageCountは出力物の何枚目(物理ページ)にどのページの描画結果をレイアウトするかを制御するための物理ページ数を意味している。
例えば、erasepageが3ページ目に含まれるデータであれば、物理ページ1枚目には1ページ目の論理ページが、2枚目には2ページ目の論理ページが割り当てられる。
しかし、物理ページ3枚目には4ページ目の論理ページが割り当てられるように制御する必要がある。
そのためには、物理ページ(PhysicalPageCount)と論理ページのカウント値を明確に分けてページ制御を進めていく必要がある。尚、本実施形態では、論理ページを意味するLogicalPageCountはPSインタプリタ201で管理している。後ほど図6の説明で詳しく説明する。印刷データがNetwork104を介して受信すると、CPU101により、本処理が開始される。
まず、S1000において、CPU101は、図示しないホストより印刷データを、Network104を介して受信する。次に、S1001において、CPU101は、初期化処理としてPhysicalPageCountに「0」を設定する。次に、S1002において、CPU101は、後ほど説明する図6に示されるスレッドB1、B2を立ち上げ、PSインタプリタ201を割り当てる。
次に、S1005において、CPU101は、PhysicalPageCount値に「1」を加算し、次の処理対象ページとする物理ページ数を進める。
一方、全DL生成が完了していないとCPU101が判定した場合は、S1003へ戻り、処理を繰り返す。次に、S1010において、CPU101は、バッファ204にスプールされている全DLをページ順に従い、レンダリング部205へ転送する。
一方、印刷データに含まれる全ページ分のDLを転送できていないとCPU101が判断した場合は、S1003へ戻り、処理を繰り返す。
次に、S1012において、CPU101は、自身のスレッドAを停止し、本処理を終了する。以上の処理により、ページ並列制御部200による、ページ並列処理のページ制御が実施される。
図6は、本実施形態を示す画像形成装置の制御方法を説明するフローチャートである。本例は、PSインタプリタ201のスレッドB1、B2における並列DL生成制御例である。なお、各ステップは、CPU101が記憶される制御プログラムを実行することで実現される。
以下、本制御を実行するために必要な構成および概要について説明する。図2に示したPSインタプリタ201は内部ページカウンタとして、LogicalPageCount、TargetPageCount、NonePageCountの3つのカウンタ値を持っている。LogicalPageCountは図5で説明した論理ページを意味するカウンタ値であり、印刷データの言語解釈のページが進むに従い、カウントアップされる。
TargetPageCountはページ描画処理の対象となるページ番号を意味する。NonePageCountはページスキップ処理、またはページ描画処理により検知したerasepageが含まれるページの数をカウントするカウンタ値である。
まず、S1101において、CPU101は、初期化処理として、内部ページカウンタ値のLogicalPageCountを「1」に設定する。次に、S1102において、CPU101は、初期化処理として、内部ページカウンタ値のTargetPageCountを「1」に設定する。次に、S1103において、CPU101は、初期化処理として、内部ページカウンタ値のNonePageCountを「0」に設定する。
次に、S1111において、CPU101は、DL生成部203により、言語解釈結果からDLを生成する。次に、S1112において、CPU101は、TargetPageCountのページ番号のDL生成処理が完了したことをページ並列制御部200のS1003へ通知する。
次に、S1114において、CPU101は、S1108にて無効ページを示すオペレーターを検知した、としてNonePageCountに「1」を加算する。
次に、S1116において、CPU101は、シングルスレッド処理へ移行する処理を行う。この処理の詳細は、後ほど図7を用いて詳しく説明する。次に、S1117において、CPU101は、自身のスレッドを停止して、本処理を停止する。以上の処理により、PSインタプリタ201による、スレッドB1、B2における並列DL生成制御が実施される。
図7は、本実施形態を示す画像形成装置の制御方法を説明するフローチャートである。本例は、PSインタプリタ201による、スレッドB1、またはスレッドB2におけるシングルスレッド処理例である。なお、各ステップは、CPU101が記憶される制御プログラムを実行することで実現される。以下、CPU101が実行するモジュールを主体として動作を説明する。
以下、本制御を実行するために必要な構成および概要について説明する。S1116でシングル処理へ移行すると、ページ並列制御部200によりS1002で立ち上げられたスレッドB1、B2は、どちらか一方のみで残りのページの処理を継続する。また、シングル処理移行後は、ページ並列制御部200へはDL生成完了通知のみで、処理対象ページの問い合わせは行わない。内部的にページカウンタ値のカウントアップを開始し、無効ページ検知に伴うページカウンタ値の不整合の発生を防ぐ。図6のS1116の処理が開始されると、本処理が開始される。
まずS1201において、CPU101は、LogicalPageCountの値に「1」を加算し、言語解釈処理対象のページ数をカウントアップする。次に、S1202において、CPU101は、PDL言語解釈部202により、LogicalPageCountのページ番号の印刷データの言語解釈を実行する。
次に、S1206において、CPU101は、DL生成部203により、言語解釈結果からDLを生成する。
以上の処理により、PSインタプリタ201による、スレッドB1、またはスレッドB2におけるシングルスレッド処理が正常に実施される。
これにより、無効ページを含む印刷データを処理する場合に、ページ並列制御部200が無効ページを検知する手段を持たない事による、ページ制御の不整合を回避することができる。
第1実施形態では、無効ページを含むページ以降の処理はシングルスレッド処理となるため、マルチコアシステムを採用するCPU101の並列演算リソースを、シングルスレッド移行後は活用することができなくなってしまう。そこで、第2実施形態では、シングルスレッド移行後に、ページ並列技術とは並列処理の単位が異なる、別の並列処理(パイプライン並列)を採用することで、並列演算リソースの無駄のない活用を実現する。
図8の例では、3ページ目に無効ページがあり、4ページ以降の処理をシングルスレッド処理へ移行する。その際、DL生成処理用のスレッドを新たにスレッドB3として立ち上げ、スレッドB1の4ページ目の言語解釈処理後に、DL生成処理を割り当てる。スレッドB1はスレッドB3のDL生成処理の完了を待たず、次の5ページ目の言語解釈処理を直ちに開始する。以降、最終ページまでスレッドB1は言語解釈処理、スレッドB3はDL生成処理を実施し、パイプラインに並列処理を実施する。
第1実施形態、第2実施形態では、無効ページを含むページ以降の処理がシングルスレッド処理となるため、無効ページよりも先のページが先行して処理されることがない。そのため、PSインタプリタ201内部だけでシンプルにページ辻褄合わせのページ整順制御が可能である。その他の解決手段として、第3実施形態では無効ページによる辻褄合わせのためのページ整順制御を、ページ並列制御部200側で実施する例を示す。こちらは、無効ページが検出されても、マルチスレッドでページ並列処理を続行することを可能である。しかし、無効ページよりも先のページが先行して処理されることがあるため、図11に示すような各スレッドの処理状況を管理するテーブルを持つ必要がある。合わせて、無効ページが具体的に何ページ目に存在していたかを、同ページ管理テーブルで管理しながら処理を進める必要もある。
図9は、本実施形態を示す画像形成装置におけるページ管理テーブルを示す図である。本例では、ページ並列制御部200とPSインタプリタ201間で共有管理されるページ管理テーブルについて説明する。前述の通り、本実施形態では無効ページであるオペレーターが検出されても、ページ並列制御部200にて処理ページの整順処理を行うため、シングルスレッド移行しない。これを実現するためには、無効ページがページ番号の何番目に存在していたかを管理し、かつ、マルチスレッドで動作している各スレッドの処理状況を把握する必要がある。ページ並列制御部200によるページ整順処理は、各スレッドで動作しているPSインタプリタ201からの、DL生成完了通知のタイミングで、ページ管理テーブルの情報を参照後、出力ページ割り当て処理することで実現される。
一方、他方のスレッドの処理が、DL生成完了ページよりも先のページ番号を処理している場合、他方のスレッドが処理しているページよりも1つ後ろのページまでは言語解釈処理が完了しており、無効ページが含まれていたかどうかの判定は完了している。
よって、この場合は出力ページ割り当て処理を行い、ページ管理テーブルの情報から、バッファ領域に保持されている各DLを最終的に出力ページの何ページ目に割り当てるかを決定する。
<ページ並列制御部のページ制御>
また、本実施形態のページ並列制御部200はさらに、各スレッドの処理状況、及び無効ページが存在するページ番号を管理する、PSインタプリタ201と共有管理のページ管理テーブルを持つ。印刷データがNetwork104を介して受信されると、CPU101により、本処理が開始される。
まずS2001において、CPU101は、初期化処理としてPageCountに「0」を設定する。次に、S2002において、CPU101は、図9にて説明したページ管理テーブルを生成し、初期化処理を行う。次に、S2003において、CPU101は、後ほど説明する図11に示されるスレッドB1、B2を立ち上げ、PSインタプリタ201を割り当てる。
次に、S2012において、CPU101は、バッファ204のバッファ領域へ生成されたDLをスプールする。スプールが完了すると、S2004へ処理を戻す。次に、S2013において、CPU101は、ページ管理テーブルを参照して、出力ページ制御処理を行う。この処理の詳細については、図12を用いて後ほど詳しく説明する。
図11は、本実施形態を示す画像形成装置の制御方法を説明するフローチャートである。本例は、Sインタプリタ201のスレッドB1、B2における並列DL生成制御例である。なお、各ステップは、CPU101が記憶される制御プログラムを実行することで実現される。
そして、ページ並列制御部200への通知が終わると、次の処理対象とするページを問い合わせる。これらの処理を繰り返し、印刷データに含まれる全ページの処理が終わると、自身のスレッドを停止して処理を終了する。図10のS2003にて、ページ並列制御部200からスレッドB1、B2が立ち上げられると、本処理が開始される。
まずS2101において、CPU101は、初期化処理として、内部ページカウンタ値のLogicalPageCountを「1」に設定する。次に、S2102において、CPU101は、初期化処理として、内部ページカウンタ値のTargetPageCountを1に設定する。次に、S2103において、CPU101は、初期化処理として、内部ページカウンタ値のNonePageCountを「0」に設定する。
次に、S2110において、CPU101は、TargetPageCountが示すページは無効ページであることをページ並列制御部200へ通知する。次に、S2111において、CPU101は、DL生成部203により、言語解釈結果からDLを生成する。次に、S2112において、CPU101は、TargetPageCountのページ番号のDL生成処理が完了したことをページ並列制御部200のS2004へ通知する。
次に、S2114において、CPU101は、自身のスレッドを停止して、本処理を停止する。以上の処理により、PSインタプリタ201による、スレッドB1、B2における並列DL生成制御が実施される。
図12は、本実施形態を示す画像形成装置の制御方法を説明するフローチャートである。本例は、ページ並列制御部200による、スレッドAにおける出力ページ制御処理例である。なお、各ステップは、CPU101が記憶される制御プログラムを実行することで実現される。
出力ページ制御処理において、ページ並列制御部200は、図9に示したページ管理テーブルを持ち、また、内部ページカウンタとしてMinPageCount、MaxPageCount、FixedPageCountのカウンタ値を持っている。MinPageCountは本処理が開始した時点における、ページ管理テーブルの「OutputPage」のフィールドが決定しているPageIDの最大値である。MaxPageCountはページ管理テーブル上で、PSインタプリタ201によるDL処理が完了しているページ番号の最大値である。FixedPageCountは「OutputPage」フィールドに格納されている値の最大値である。本処理開始時点でページ管理テーブルを参照してMinPageCountを決定し、MinPageCountの「OutputPage」フィールドの値をFixedPageCountへ格納する。
PSインタプリタ201からDL生成完了通知が来たときの処理完了ページよりも先のDL生成処理が完了しているか、ページ管理テーブルを参照して判定する。先のページのDL生成が完了している場合は、「Status」フィールドがCompleteとなっている最大のPageIDを、FixedPageCountに格納する。先のページのDL生成が完了していない場合は、DL生成完了通知の処理完了ページをFixedPageCountに格納する。
以降、MinPageCountからMaxPageCountまで、「Output」フィールドがTrueかFalseかでOutputPageの値を決定していく。図10のS2013の処理が開始されると、本処理が開始される。
ここでは、MaxPageCountへ値を格納するために、どの値を採用するかを判定している。前述の通り、MaxPageCountはページ管理テーブル上で、PSインタプリタ201によるDL処理が完了しているページ番号の最大値である。
S2004では、CPU101は、PSインタプリタ201から受信した、DL生成完了のページ番号が、ページ管理テーブル上でもDL生成処理が完了しているページ番号の最大値なのか。それとも既にそれ以上のページ番号の処理が完了しているのかを、判定する。なお、DL生成完了のページ番号より先のDL生成処理が完了しているかは、ページ管理テーブルの「Status」フィールドがCompleteとなっているもので、PageIDが最大である値を参照することで判定できる。
次に、S2207において、CPU101は、「OutputPage」の値をnoneへ設定する。次に、S2208において、CPU101は、FixedOutputPageの値を1つインクリメントする。次に、S2209において、CPU101は、「OutputPage」の値を、FixedOutputPageの値に設定する。S2206からS2209までのステップをMinPageCountからMaxPageCountまで処理すると、本処理を終了する。以上の処理により、ページ並列制御部200による、スレッドAにおける出力ページ制御処理が実施される。
Claims (6)
- 印刷データを処理する画像形成装置において、
前記印刷データを解釈して中間データを生成する複数のインタプリタと、
各インタプリタからのページ要求と中間データ完了通知とに応じて処理すべきページ数情報をそれぞれのインタプリタに指定して並列処理させる制御手段と、
生成された中間データから出力すべき各ページの画像データを生成する生成手段と、
を備え、
指定されたページが無効ページであるといずれか一方のインタプリタが解釈した場合、前記並列処理を停止して、いずれか1つのインタプリタが、当該無効ページから後続する最終ページまで当該インタプリタが管理するページ数情報を用いて中間データを生成することを特徴とする画像形成装置。 - 前記いずれか1つのインタプリタは、無効ページから後続するページから最終ページまで中間データを生成したことを前記制御手段に通知することを特徴とする請求項1記載の画像形成装置。
- 前記中間データを生成しないインタプリタは、中間データの生成を停止することを特徴とする請求項1記載の画像形成装置。
- 前記印刷データは、所定のページ記述言語で記述されていることを特徴とする請求項1乃至3のいずれか1項に記載の画像形成装置。
- 印刷データを処理する画像形成装置の制御方法において、
複数のインタプリタを用いて前記印刷データを解釈して中間データを生成する生成工程と、
各インタプリタからのページ要求と中間データ完了通知とに応じて処理すべきページ数情報をそれぞれのインタプリタに指定して並列処理させる制御工程と、
生成された中間データから出力すべき各ページの画像データを生成する生成工程と、
を備え、
指定されたページが無効ページであるといずれか一方のインタプリタが解釈した場合、前記並列処理を停止して、いずれか1つのインタプリタが、当該無効ページから後続する最終ページまで当該インタプリタが管理するページ数情報を用いて中間データを生成することを特徴とする画像形成装置の制御方法。 - 請求項5に記載の画像形成装置の制御方法をコンピュータに実行させることを特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015129996A JP6537372B2 (ja) | 2015-06-29 | 2015-06-29 | 画像形成装置、画像形成装置の制御方法、及びプログラム |
US15/189,935 US10262247B2 (en) | 2015-06-29 | 2016-06-22 | Image forming apparatus for converting print data into intermediate data, method for controlling image forming apparatus, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015129996A JP6537372B2 (ja) | 2015-06-29 | 2015-06-29 | 画像形成装置、画像形成装置の制御方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017013279A JP2017013279A (ja) | 2017-01-19 |
JP6537372B2 true JP6537372B2 (ja) | 2019-07-03 |
Family
ID=57601182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015129996A Active JP6537372B2 (ja) | 2015-06-29 | 2015-06-29 | 画像形成装置、画像形成装置の制御方法、及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10262247B2 (ja) |
JP (1) | JP6537372B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9892346B2 (en) * | 2015-12-18 | 2018-02-13 | Océ-Technologies B.V. | Method of converting image data from source format into target format |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5847460B2 (ja) * | 2011-07-01 | 2016-01-20 | キヤノン株式会社 | 画像形成装置、データ処理方法及びプログラム |
US8913269B2 (en) * | 2012-09-28 | 2014-12-16 | Konica Minolta Laboratory U.S.A., Inc. | Method for printing PDF files containing corrupted pages |
JP6094442B2 (ja) * | 2013-10-02 | 2017-03-15 | 富士ゼロックス株式会社 | 印刷管理装置、プログラム及び印刷システム |
US9146698B2 (en) * | 2013-10-02 | 2015-09-29 | Fuji Xerox Co., Ltd. | Print management apparatus, non-transitory computer readable medium, and printing system |
-
2015
- 2015-06-29 JP JP2015129996A patent/JP6537372B2/ja active Active
-
2016
- 2016-06-22 US US15/189,935 patent/US10262247B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017013279A (ja) | 2017-01-19 |
US10262247B2 (en) | 2019-04-16 |
US20160379098A1 (en) | 2016-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPWO2012020478A1 (ja) | スケジューラ、マルチコアプロセッサシステムおよびスケジューリング方法 | |
JP5482528B2 (ja) | 印刷文書変換装置及びプログラム | |
JP2008140046A (ja) | 画像処理装置、画像処理プログラム | |
JP2012081626A (ja) | 画像形成装置、画像処理方法、プログラム | |
US5710873A (en) | Apparatus and method for maximizing a rate of image data transfer in a printing system | |
JP6136020B2 (ja) | 画像形成装置及び並列処理の制御方法並びに制御プログラム | |
JP6746326B2 (ja) | 印刷データの解釈を複数の解釈手段で行う印刷装置、印刷方法、プログラム | |
JP2014078153A (ja) | 印刷画像処理システムおよびプログラム | |
JP5534426B2 (ja) | 画像形成装置およびそのプログラム | |
JP6537372B2 (ja) | 画像形成装置、画像形成装置の制御方法、及びプログラム | |
JP2011167857A (ja) | 画像形成装置、画像形成方法、および画像形成プログラム | |
JP6188735B2 (ja) | 印刷装置、印刷装置の制御方法、およびプログラム | |
JP2011046034A (ja) | 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体 | |
JP6666036B2 (ja) | 印刷データ処理装置、印刷データ処理方法、およびプログラム | |
JP5847460B2 (ja) | 画像形成装置、データ処理方法及びプログラム | |
JP5232728B2 (ja) | 画像形成装置 | |
JP2015022685A (ja) | 画像形成装置 | |
JP5799968B2 (ja) | 印刷システム | |
JP5589582B2 (ja) | 画像処理装置及びプログラム | |
JP5704318B2 (ja) | 画像形成方法および画像形成装置 | |
JP5656000B2 (ja) | 画像形成装置およびそのプログラム | |
JPH07200211A (ja) | プリンタ装置 | |
JP2007328737A (ja) | ホスト装置、データ処理装置及びデータ処理システム | |
JP7186541B2 (ja) | 画像処理装置、その制御方法、及びプログラム | |
JP2009053829A (ja) | 情報処理装置、情報処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20180306 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180625 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190219 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190220 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190417 |
|
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: 20190507 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190604 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6537372 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |