JP2015020404A - 画像形成装置 - Google Patents
画像形成装置 Download PDFInfo
- Publication number
- JP2015020404A JP2015020404A JP2013152389A JP2013152389A JP2015020404A JP 2015020404 A JP2015020404 A JP 2015020404A JP 2013152389 A JP2013152389 A JP 2013152389A JP 2013152389 A JP2013152389 A JP 2013152389A JP 2015020404 A JP2015020404 A JP 2015020404A
- Authority
- JP
- Japan
- Prior art keywords
- page
- data
- processing
- pages
- allocation method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Record Information Processing For Printing (AREA)
- Image Processing (AREA)
Abstract
【課題】 PDFをページ並列処理する場合、ページ単位で処理を行っているため、ページ間共通のリソースを使用する際には、ページ毎に仮想メモリにリソースを展開することが必要だが、オーバーヘッドとなって各ページ毎の処理時間が増加する。【解決手段】 仮想メモリに展開されたリソースを、各CPUコア割り振り予定ページで使わない場合に削除する。ジョブ時間に影響を与えないように、CPUコアへのページ割り振り方法を効率的に切り替えて処理を行う。【選択図】 図3
Description
本発明は、画像形成装置、その制御方法及びプログラムに関するものである。
複写機、レーザプリンタ等の画像形成装置は、ホストコンピュータからのプリントデータを受け取り、そのデータの解釈及び画像処理を行い、印字するための画像データを生成するコントローラを備える。ホストコンピュータのアプリケーションとプリンタドライバはページ記述言語(PDL)により記述されたプリントデータを生成し、ネットワーク等の通信媒体を介してコントローラにデータ送信する。PDLとしては、アドビシステムズ社が開発したPostScript、PDF、ヒューレットパッカード社が開発したPCL、マイクロソフト社が開発したXPSなどが知られている。
近年、CPUクロックの向上が頭打ちとなり、複数のコアを単一パッケージに格納したマルチコア化が進んでいる。マルチコア化したCPUの性能をフルに引き出すためには、PDL処理の並列化が必要であり、幾つかの方法が考案されている。例えば、複数ジョブを複数のコアで同時並行してPDL処理するジョブ並列処理方式がある。また、単一ジョブ内の複数ページを複数のコアで同時並行してPDL処理するページ並列処理方式がある。ページ並列処理方法を用いて、全体的な処理時間の向上、生産性の向上を目指す方法も提案されている。
特許文献1では、ページ処理をDL生成処理とバンド描画処理に分け、複数ページを複数コアを使ってDL生成処理を行い、生成されたDLから、ページ番号の小さいページのバンド描画処理を複数コアに割り当てて処理をする方法が提案されている。
PDFデータの処理方法として、PDFデータからPostScriptデータへの変換処理を行いながら、生成されたPostScriptデータの処理を行う方法がある。PDFデータ内のページ間で共通に使われるリソースは、PDFデータからPostScripデータへ変換する際にPostScriptデータに埋め込まれる。PostScriptデータの処理を行う際に、リソースが仮想メモリに展開されて使用され、該当ページ以降でも仮想メモリから使用することが可能である。
複数コアを用いてPDFデータをページ並列処理する場合、1ページ毎にPostScriptデータへ変換する処理とページ処理が行われ、ページ処理が終了すると次のページ処理が割り振られる。PDFデータ内で共通に使うリソースが1ページ毎に生成されたPostScripデータに埋め込まれるため、各ページで使用するリソースは各々のページで生成されるPostScriptデータに埋め込まれる。PostScriptデータの処理を行う際に、リソースが仮想メモリに展開されて使用され、該当ページ処理が終了すると、仮想メモリ内から削除される。
他のページで同じリソースを使用する際には、仮想メモリに再展開する必要がある。ページ毎にリソースをPostScriptデータに埋め込む処理と、仮想メモリに展開する処理がオーバーヘッドとなり、各ページの処理時間が増加する。
複数のCPUコアを用いて画像形成に関わる処理を並列して実行可能な画像形成装置(200)において、以下の手段を持つことを特徴とする画像形成装置。
PDFデータをページ毎に中間データに生成する処理を行うデータ生成手段(203)。
PDFデータ内のページ間の共通リソースを保持できるデータ保持手段(701、702)。
前記データ保持手段で保持した共通リソースを削除できるデータ削除手段(S607)。
複数のCPUコアに対し、処理を行うページの割り振り方法を切り替えられる制御手段(S601、S602、S603)。
本発明では、複数のCPUコアを用いた際のPDFデータ処理において、ページ間共通のリソースを仮想メモリに展開する処理の削減と、仮想メモリ内全クリアする処理の削減と、ページ処理を複数CPUコアにバランスよく割り当てる方法を提案する。本発明により、複数のCPUコアを用いた際のPDFデータ処理において、前記オーバーヘッドを発生させづらくし、両方のCPUコアにバランス良くページ処理を割り振ることにより、各ページ処理時間の増加を防ぐことができる。
以下、本発明を実施するための最良の形態について図面を用いて説明する。
[実施例]
図1は本実施形態の画像形成装置の構成を説明するハードウェアブロック図である。なお、本実施形態では画像形成装置単体の構成を用いて説明するが、ネットワークを介して接続させるホストコンピュータ上に多くの処理を分離実行させる構成も可能である。
図1は本実施形態の画像形成装置の構成を説明するハードウェアブロック図である。なお、本実施形態では画像形成装置単体の構成を用いて説明するが、ネットワークを介して接続させるホストコンピュータ上に多くの処理を分離実行させる構成も可能である。
図1において、200はコントローラユニットで画像信号やデバイス情報の入出力を制御する。CPU1はROM3あるいはHDD4に記憶されたプログラムをRAM2に読み出し、実行する。さらに、システムバス5に接続される各デバイスをCPU1が統括的に制御する。CPU1は内部に二つのコアを有するデュアルコアプロセッサであり、二つの制御プログラムを同時並列に実行可能である。RAM2は、CPU1の主メモリ、ワークエリアとして機能する。ROM3には電源ON時に実行されるブートプログラムが格納され、HDD4にはオペレーティングシステムと本装置の制御プログラム本体が格納される。
また、HDD4は画像データやプリントデータ等の大容量データを一時的あるいは長期的に保持する目的でも使用される。Network6はローカルエリアネットワーク13に接続し、印刷データやデバイス情報の入出力を担う。操作部I/F7は操作部14とのインターフェース部で、操作部14に表示する画像データを操作部14に対して出力する。また、操作部14から本装置の使用者が入力した情報を、CPU1に伝える役割をする。操作部14は、出力器として液晶パネルと音源を備え、入力器としてタッチパネルとハードキーを備えるものである。
コントローラユニット200はデバイスI/F8を介して、プリンタエンジン15に接続される。デバイスI/F8はCPU1の指示に基づき、画像信号の送出、デバイス動作指示、デバイス情報の受信を行う。プリンタエンジン15はコントローラユニット200からの画像信号を媒体上に出力する出力機であり、電子写真方式、インクジェット方式の何れでも構わない。Raster Image Processor(RIP)9はディスプレイリスト(以後、DLと略記する)をラスタイメージに展開する専用ハードウェアである。RIP9はCPU1によりRAM2上に生成されたDLを高速かつ、CPU1の実行と並列に、処理するものである。
プリンタ画像処理部10は、プリント出力画像データに対して、画像補正、ハーフトーニング等を行う。画像回転部12は画像データの回転を行う。画像圧伸部11は、多値画像データはJPEG、2値画像データはJBIG、MMR、MHの圧縮伸張処理を行う。
図2(A)は本画像形成装置のソフトウェアモジュール構成図である。図2に記載した各ソフトウェアモジュールは、プログラムとしてHDD4に格納され、RAM2にロードされCPU1により実行されるものである。より具体的には、各ソフトウェアモジュールはCPU1上で動作するOS(オペレーティングシステム)によりRAM2にロードされ、スレッド単位で実行権を付与され、実行されるものである。データ受信部201はホストから送信されたプリントデータを受信し、受信したデータはジョブ制御部202を介してジョブデータ管理部208で保持される。ジョブ制御部202はデータ受信から印刷までのジョブ制御の全般を司る。
PDFインタプリタ203はPDFデータを解釈して、中間データであるDLを生成する。生成されたDLはジョブ制御部202を介してジョブデータ管理部208で保持される。レンダラ204はDLからビットマップイメージを生成するモジュールであり、多くの処理は専用ハードウェアRIP9により実行される。生成されたビットマップイメージはジョブ制御部202を介してジョブデータ管理部208で保持される。データ送信部205はデバイスI/F8を介してプリンタエンジンへの印刷指示とビットマップイメージの送出を行う。ユーザインターフェース206は操作部I/F7を介して、操作部14を制御するモジュールである。
主に操作部14の液晶パネルに表示するデータを生成し、タッチパネルからの入力に従い液晶パネルの表示を更新する。また、タッチパネルからの入力が何らかのジョブ実行指示であった場合は、ジョブ制御部202に指示を伝達する。ジョブデータ管理部208はプリントデータ、DL、ビットマップイメージのそれぞれを一時的もしくは長期的に保持管理するデータベースである。
図2(B)は図2(A)のPDFインタプリタ203をより詳細に記したソフトウェアモジュール構成図である。PDFパーサ209はPDFファイルの解釈を行い、PS変換処理部210にPDFファイルをPostScriptファイルに変換する処理を指示する。変換されたPostScriptデータをPSパーサ212がPostScriptデータの解釈を行い、描画命令を抽出して、DL生成部210にDLの生成を依頼する。DL生成部213はPSパーサ212からのDL生成依頼を受けて、DLを生成する。
図3は本実施例の処理となるフローチャートである。PDFジョブが開始された際、PDFインタプリタはPDFパーサでPDFデータの解釈を行う(S301)。PDFデータのページ総数を取得し、予め決めていた閾値と比較する(S302)。前記閾値は複数のCPUコアにページを割り当てる方法を判断するためである。PDFデータのページ数が閾値未満であれば、複数のCPUコアに対して未処理ページを割り当て、ページ処理が終了した時点で未処理のページを次々と割り振る方法(ページバランシング割り振り方式)でページ割り振りを行うことを決定する(S303)。PDFデータのページ数が閾値以上であれば、PDFジョブ開始時に予め各CPUコアに割り振るページを決めておき、その通りに割り振る方式(固定ページ割り振り方式)でページ割り振りを行うことを決定する(S304)。
固定ページ割り振り方式は、例えば奇数ページをCPUコア1、偶数ページをCPUコア2に割り振る、奇遇ページ割り振り方法でも構わない。また、乱数を発生させ、ランダムに割り振りページを決める方法でも構わない。PDFジョブの開始時に、各CPUコアに対して割り振るページが決まっていることが重要である。固定ページ割り振り方式を行う場合、PDFパーサ209でPDFデータの解釈を行い、PDFデータ内のページ毎のリソース使用状況を解析する(S305)。また固定ページ割り振り方法を使用する場合、ドキュメントの最終ページあたりで片側のCPUコアに処理が重いページが偏ってしまう場合があり、ジョブ全体の処理時間に影響を及ぼしてしまう可能性がある。
回避するために、固定ページ割り振り方式を使用する場合でも、先頭から一定割合のページのみを固定ページ割り振り方式を使用し、残りのページはページバランシング割り振り方式を使用する。ドキュメントの最終ページあたりでも、二つのCPUコアを均等に使えるようにする効果がある。このために固定ページ割り振り方式の場合、固定ページ割り振り範囲を決定させる(S306)。前記のページ割り当て方式の決定を行い、各ページ毎にページ割り当て方式に従ってCPUコアにページを割り振り、ページ処理を全ページ分に対して行う(S307、S308)。
図4は前記記載のリソース使用状況解析処理(S305)の詳細フローチャートである。リソース使用解析処理は、PDFジョブ開始時に、各ページでどのリソースを使用するかの解析処理であり、各CPUコア毎に行う。前記解析により、各リソースが各CPUコア毎について使用される最終ページを決定することができるため、仮想メモリから削除するタイミングを判断することができる。
図4のフローチャートでの処理においては、各CPUコアで固定割り振り予定ページの一覧を作成する(S401)。固定ページ割り振り方法を奇偶割り振り方法(奇数ページをCPUコア1に、偶数ページをCPUコア2に割り振る)を使用することで本実施例を説明するが、固定ページ割り振り方法は他の方法を採用しても構わない。各ページ毎に使用するリソースを解析する(S402、S403)。リソース使用状況の解析結果から、リソース毎に使用最終ページをマーキングする(S404、S405)。
図5は本実施例の例において、図4の処理を行った結果の解析結果を可視化したものであり。固定ページ割り振り方法を奇偶割り振り方法にした時の、CPUコア1の解析結果である。リソース1、リソース2、リソース3の使用するページに○、使用最終ページを“Last”という文字でマーキングしている。
図6はS307を詳細化したフローチャートである。各CPUコアに対し、各ページ毎の割り振りと処理内容を示したものである。
該当ページがS306で決定した固定ページ割り振り方式の範囲かどうかを判定する(S601)。固定ページ割り振り方式の範囲ではない場合、ページバランシング割り振り方式で、次に処理待ちになっているページを割り振り(S602)、ページ処理を行う(S604)。ページバランシング割り振り方式が使用される条件は、S303で決定されたPDFデータのページが閾値以下の場合の全ページ、もしくはS306で決定された固定ページ割り振り方式を行う範囲以外のページである。
該当ページが固定ページ割り振り方式の範囲である場合、各CPUコアに割り振り予定のページを割り振り(S603)、ページ処理を行う(S604)。ページ処理終了後、固定ページ割り振り方式で割り振ったページかを判定する(S605)。固定ページ割り振り方式で割り振ったページの場合、該当ページで使用したリソースが同CPUコアに割り振り予定のページで使わないか(リソース使用最終ページか)を判定(S606)し、使わないのであれば、仮想メモリからリソースを削除する(S607)。
図7(A)は本実施例のCPUコアへのページ割り振り結果と仮想メモリの使用状況である。10ページのPDFデータにて、1ページから6ページまでを固定ページ割り振り(奇遇割り振り)方式、7ページから10ページまでをページバランシング割り振り方式で割り振った時を例としている。仮想メモリ内へのリソース展開回数が少なくなりオーバーヘッドが軽減されている。また最終ページあたりにて片側のCPUコアに重い処理が偏らないようになっている。図7(B)は図7(A)の説明例に使用するPDFデータ内のページ毎のリソース使用状況である。
201 データ受信部
202 ジョブ制御部
203 PDFインタプリタ
204 レンダラ
205 プリントドライバ
206 ユーザインターフェース
208 ジョブデータ管理部
209 PDFパーサ
210 PS変換処理部
211 切り換え部
212 PSパーサ
211 切り換え部
213 DL生成部
701 CPUコア1仮想メモリ
702 CPUコア2仮想メモリ
202 ジョブ制御部
203 PDFインタプリタ
204 レンダラ
205 プリントドライバ
206 ユーザインターフェース
208 ジョブデータ管理部
209 PDFパーサ
210 PS変換処理部
211 切り換え部
212 PSパーサ
211 切り換え部
213 DL生成部
701 CPUコア1仮想メモリ
702 CPUコア2仮想メモリ
Claims (5)
- 複数のCPUコアを用いて画像形成に関わる処理を並列して実行可能な画像形成装置(200)において、PDFデータをページ毎に中間データに生成する処理を行うデータ生成手段(203)と、PDFデータ内のページ間の共通リソースを保持できるデータ保持手段(701、702)と、前記データ保持手段で保持した共通リソースを削除できるデータ削除手段(S607)と、複数のCPUコアに対し、処理を行うページの割り振り方法を切り替えられる制御手段(S601、S602、S603)を持つことを特徴とする画像形成装置。
- 前記切り替えられるページの割り振り方法の少なくとも一つはページバランシング割り振り方式である(S303)ことを特徴とし、切り替えられるページの割り振り方法の少なくとも一つは固定ページ割り振り方式である(S304)ことを特徴とする請求項1に記載の画像形成装置。
- PDFデータのページ数を閾値とし、PDFデータのページ数が閾値以上であるかを判定し(S302)、閾値以上であれば固定ページ割り振り方式でページ割り振りを行い(S304)、閾値未満であればページバランシング割り振り方式でページ割り振りを行う(S303)ことを特徴とする請求項1に記載の画像形成装置。
- PDFデータのページ数の先頭から一定割合数以上のページは前記ページバランシング割り振り方式でページ割り振りする(S601、S602)ことを特徴とする請求項1に記載の画像形成装置。
- 固定ページ割り振り方式において、PDFデータの処理開始時に各CPUコアに割り振るページを決定できる決定手段(S401)と、ページで使用するリソースを解析する解析手段(S402)と、リソースが最後に使われるページを解析する解析手段(S404)を持つことを特徴とする。ページ処理終了時に各CPUコアへの割り振り予定ページで使用しないかを判断し(S606)、リソースを仮想メモリから削除する削除手段(S607)を持つことを特徴とする請求項3に記載の画像形成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013152389A JP2015020404A (ja) | 2013-07-23 | 2013-07-23 | 画像形成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013152389A JP2015020404A (ja) | 2013-07-23 | 2013-07-23 | 画像形成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015020404A true JP2015020404A (ja) | 2015-02-02 |
Family
ID=52485293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013152389A Pending JP2015020404A (ja) | 2013-07-23 | 2013-07-23 | 画像形成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015020404A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017052221A (ja) * | 2015-09-11 | 2017-03-16 | 富士ゼロックス株式会社 | 画像処理装置および画像形成装置 |
JP2017121756A (ja) * | 2016-01-07 | 2017-07-13 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置 |
-
2013
- 2013-07-23 JP JP2013152389A patent/JP2015020404A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017052221A (ja) * | 2015-09-11 | 2017-03-16 | 富士ゼロックス株式会社 | 画像処理装置および画像形成装置 |
JP2017121756A (ja) * | 2016-01-07 | 2017-07-13 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8928912B2 (en) | Printing control device, image forming system and computer readable medium storing program | |
JP5594470B2 (ja) | 印刷制御装置、印刷システムおよびプログラム | |
US8625133B2 (en) | Print data processing apparatus, print data processing method, and storage medium | |
JP2011257799A (ja) | プリントサーバ及び印刷制御システム並びに印刷制御方法 | |
JP2012083991A (ja) | ジョブ実行管理装置、ジョブ実行装置、ジョブ実行システム及びプログラム | |
US8755060B2 (en) | Print control apparatus, image forming system, and non-transitory computer readable medium | |
US8537396B2 (en) | Print document conversion apparatus, print document conversion method, and computer readable medium | |
EP3021567B1 (en) | Image processing apparatus, method for performing specific process, computer-readable storage medium for computer program | |
US8792122B2 (en) | Image forming apparatus, method for controlling image forming apparatus, and storage medium | |
US9785871B2 (en) | Print control device and non-transitory computer readable medium | |
US8928914B2 (en) | Image processing apparatus, information processing method, and storage medium | |
US9411548B2 (en) | Print processing method and printing system | |
JP5471681B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP2015020404A (ja) | 画像形成装置 | |
JP2016091305A (ja) | 画像形成装置及び並列処理制御プログラム並びに並列処理制御方法 | |
US10209931B2 (en) | Image processing apparatus and image forming apparatus | |
JP2011201146A (ja) | 画像処理装置及び画像処理プログラム | |
JP5847460B2 (ja) | 画像形成装置、データ処理方法及びプログラム | |
JP5232728B2 (ja) | 画像形成装置 | |
JP6372315B2 (ja) | 画像処理装置及び並列処理制御プログラム並びに並列処理制御方法 | |
US9047552B2 (en) | Forming system and image forming apparatus that generate image log data to server | |
JP2011143576A (ja) | 印刷データ生成装置、画像形成装置及びプログラム | |
JP2015168132A (ja) | 画像形成システム及び画像形成システム用印刷データ描画展開方法 | |
JP5093576B2 (ja) | 印刷制御装置と画像形成システム | |
JP2015176604A (ja) | 画像形成システム、情報処理装置、及び画像形成装置 |