JP5847460B2 - 画像形成装置、データ処理方法及びプログラム - Google Patents
画像形成装置、データ処理方法及びプログラム Download PDFInfo
- Publication number
- JP5847460B2 JP5847460B2 JP2011147101A JP2011147101A JP5847460B2 JP 5847460 B2 JP5847460 B2 JP 5847460B2 JP 2011147101 A JP2011147101 A JP 2011147101A JP 2011147101 A JP2011147101 A JP 2011147101A JP 5847460 B2 JP5847460 B2 JP 5847460B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- page
- intermediate data
- file
- 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
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Record Information Processing For Printing (AREA)
Description
ホストコンピュータのアプリケーションとプリンタドライバはページ記述言語(PDL)により記述されたプリントデータを生成し、ネットワーク等の通信媒体を介してコントローラにデータ送信する。
ホストコンピュータの性能向上、アプリケーションの高機能化に伴い生成されるPDLデータの大容量化、複雑化が進んでいる。全般的なCPU性能の向上に伴い、コントローラのPDL処理性能も向上しているが、PDL処理がエンジンスループットに間に合わないケースがなお存在する。
例えば、複数ジョブを複数のコアで同時並行してPDL処理するジョブ並列処理方式がある。このジョブ並列処理方式では大量のジョブを処理する場合には、全体の生産性を向上することができる。
しかし、プリントデータはページ間の依存関係の無いページ独立なPDLで記述されている必要がある。
また、ジョブ中の単一ページだけをみると、PDL処理時間はシングルコアで実行した場合と変わらない。複雑な描画がされたページのPDL処理は時間がかかることが多く、ページ並列処理方式でもボトルネックとなる可能性が残る。
さらに別の方法として、単一ページ内の複数描画オブジェクトを複数のコアで同時並行してPDL処理するオブジェクト並列処理方式がある。このオブジェクト並列処理方式は単一ページのPDL処理時間を短縮することも可能であるが、オブジェクトの分割と収集にかかる計算コストが高いことが知られている。並列処理の効率を考えた場合には、ジョブ並列処理方式、もしくはページ並列処理方式の方が望ましい。
一方、部分ページ並列処理はPDL処理のうち一部分を並列処理して、残りの部分は重複処理を行うものである(例えば、特許文献2)。
ページ間の依存関係があるPDLの場合、PDLデータを解釈するインタプリタは先頭ページから順番に処理を行う必要がある。前のページ迄の処理結果がインタプリタ内部に状態として蓄積されるためである。
しかしながら、インタプリタよりも下層のコンポーネントであるグラフィックライブラリやディスプレイリスト生成部、レンダラはページ間の依存性を除くことが比較的容易である。
その為、インタプリタは重複処理を行い、それ以下のコンポーネントをページ毎に並列処理することが可能である。部分ページ並列処理は完全ページ並列処理方式よりも並列度が落ちるが、ページ間の依存関係のあるPDLでも並列処理が可能となり有用である。
例えば、PostScriptではファイルの読み書きを行う為のオペレータが存在する。並列実行される複数のインタプリタが同一ファイルの書き込みを行った場合、ファイルの不整合が発生する。
ファイルの書き込みはフォントファイルのダウンロードや再利用する画像データの一時記憶等の目的で使われることが多い。ファイルの書き込みを伴うプリントジョブであることが、事前に判別できれば、ジョブ先頭から並列処理を行わないという方法が考えられる。
しかしながら、ファイルの書き込みがあるか否かの事前判別はPDLデータの保存とプレパースが必要なため、PDL処理時間の低下をまねく。
また、ファイルの書き込みを多重化する方法も考えられる。並列実行されるインタプリタごとにファイル書き込みを行うディレクトリを用意し、同じファイルをそれぞれ個別に書き込む方法である。この場合、書き込むファイルのトータルサイズが小さい場合は、それほど問題にならないが、大きい場合は非常に多くのファイルシステムリソースを消費することになる。また、同一のファイルを二重に書き込む処理は一般的にファイルIOの性能が低いこともあり、実行時間の面からも効率が良いとは言えない。
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、単一の印刷データを複数のタスクで並列に解釈する場合に、中間データを生成していないタスクからの書き込みを中止して、当該タスクを終了できる仕組みを提供することである。
中間データを解釈して画像データを生成する画像形成装置において,単一の印刷データを複数のタスクで並列に解釈し,解釈された印刷データを基に中間データの生成処理を行う並列処理手段であって,所定のページの印刷データについて,先に解釈が始まるタスクでは,解釈された当該ページの印刷データを基に中間データを生成し,且つ,後に解釈が始まるタスクでは,解釈された当該ページの中間データを生成しない前記並列処理手段と,生成処理により生成された中間データから画像データを生成する画像データ生成手段と,前記印刷データの解釈中に前記画像形成装置のメモリに対するファイルの書き込み命令を検知する検知手段と,を有し,前記複数のタスクの内,中間データを生成していないタスクが印刷データを解釈している際に前記検知手段によりファイルの書き込み命令を検知した場合,当該タスクにおける印刷データの解釈処理を中止することを特徴とする。
<システム構成の説明>
〔第1実施形態〕
また、HDD4は画像データやプリントデータ等の大容量データを一時的あるいは長期的に保持する目的でも使用される。Network6はローカルエリアネットワーク13に接続し、印刷データやデバイス情報の入出力を担う。
より具体的には、各ソフトウェアモジュールはCPU1上で動作するOS(オペレーティングシステム)によりRAM2にロードされ、スレッド単位で実行権を付与され、実行されるものである。
図2の(A)において、201はデータ受信部で、図示しないホストから送信されたプリントデータを受信し、受信したプリントデータはジョブ制御部202を介してジョブデータ管理部208で保持される。ジョブ制御部202は、プリントデータの受信から印刷までのジョブ制御の全般を司る。
203はPSインタプリタで、プリントデータを解釈して、中間データであるDLを生成する。PSインタプリタ203が生成したDLはジョブ制御部202を介してジョブデータ管理部208で保持される。PSインタプリタ203は、単一の印刷データを複数のタスクで並列に解釈し、該印刷データのページ毎に中間データの生成処理を複数のタスクのうち一つのタスクのみ行う並列処理可能に構成されている。
205はプリントドライバで、デバイスI/F8を介してプリンタエンジン15への印刷指示とビットマップイメージの送出を行う。206はユーザインターフェースで、操作部I/F7を介して、操作部14を制御するモジュールである。主に操作部14の液晶パネルに表示するデータを生成し、タッチパネルからの入力に従い液晶パネルの表示を更新する。また、ユーザインターフェース206は、タッチパネルからの入力が何らかのジョブ実行指示であった場合は、ジョブ制御部202にその指示を伝達する。
図2の(B)において、PSパーサ209は、PSデータの解釈を行い、描画命令を抽出して、DL生成部210にDLの生成を依頼する。DL生成部210は、PSパーサ209からのDL生成依頼を受けて、DLを生成する。ここで、DL生成部210は、複数のDL生成部210を備え、印刷データを解釈し、中間データを生成するタスクを実行する第1の実行手段あるいは第2の実行手段として機能させることが可能に構成されている。
なお、2つのDL生成部210は印刷データを並行して解釈する。
従って、後述する図6の(A)に示す処理において、PSインタプリタ203が印刷データを解釈中に、中間データを生成していないDL生成部が画像形成装置のメモリにフォントファイル、またはイメージファイルを書き込む命令を検出したかどうかを判断する。
そして、中間データを生成していないDL生成部が画像形成装置のメモリにフォントファイル、またはイメージファイルを書き込む命令を検知すると、当該DL生成部は、フォントファイル、またはイメージデータをメモリに書き込むことなく、解釈を中止する。
なお、PSパーサ209とDL生成部210とは密結合であり、PSパーサ209が描画命令を抽出するたびに、DL生成部210が呼び出される。PSパーサ209が発行するDL生成依頼の内容は図3の表に記載の通りである。211は切り換え部で、PSパーサ209からのDL生成依頼を受け付けるか、無視するかを切り替えるためのモジュールである。
また、PSパーサ209とDL生成部210はそれぞれリエントラントな構造となっており、多重起動が可能である。一つのスレッド上で一つのPSパーサ209と一つのDL生成部210が実行される。
より具体的に、各ステップはHDD4に記憶された図2に示した各ソフトウェアモジュール内の各プログラムがRAM2に読み出され、CPU1により実行されることにより実現される。以下の説明では、図2に示した各ソフトウェアモジュールを主体として説明を行う。
また、本処理ではスレッドA、スレッドB1、スレッドB2、スレッドCの四つのスレッドが並列に実行される。また、各スレッドはオペレーティングシステムにより時分割され、CPU1内の二つのコアに順番にその実行権が割り振られる。時分割の単位は十分に小さいため、四つのスレッドは並列動作すると見なすことができる。
次に、S4002において、ジョブ制御部202は、PSインタプリタ203がエントリポイントとなる二つのスレッドB1、スレッドB2を起動する。即ち、PSインタプリタ203は二つのスレッドにマッピングされて二重に起動される。
そして、ジョブ制御部202は、PSインタプリタ203に対して、ジョブデータ管理部208に保持したプリントデータを渡し、プリントデータの解釈を指示する。ここで、PSインタプリタ203は二重に起動されているため、同一のプリントデータをそれぞれのスレッドで同時に解釈し始めることになる。
ここで、ジョブ制御部202がYesと判断した場合は、S4007へ進み、ジョブ制御部202は、PSインタプリタ203(スレッドB1、スレッドB2のいずれか)に対して、DLの生成を許可しないで、S4003に戻って処理を繰り返す。
次に、S4009において、ジョブ制御部202は、レンダラ204が生成したビットマップをジョブデータ管理部208に保存し、プリントドライバ205にプリントを依頼する。なお、ジョブ制御部202によるプリントの依頼はプリントドライバ205に対してレンダリング終了通知を送信することにより実行される。
プリントドライバ205は、プリンタエンジン15に同期して処理を実行するために、スレッドCとしてスレッドAとは別スレッドで実行される。依頼を受けたプリントドライバ205は、S4201において、プリンタエンジン15に対してプリント開始要求コマンドを送信し、画像データを転送する。なお、S4201の詳細は別途後述する。
前述したように,DLの生成する/しないは,切り換え部211でDL生成依頼を受け付けるか/無視するかを切り替えることにより行う。
このように切り換え部211でDLの生成依頼を無視するように設定した場合,当該ページに対するDL生成処理が実行されないため,処理が高速化される。
なお,スレッドB1,B2のどちらのスレッドが1ページ目のDL生成を担当するかは,DLの生成問い合わせの後先によって決まる。例えばスレッドB1,スレッドB2のうち,先に起動されたスレッドB1が先行して処理を開始するため,DL生成の問い合わせもスレッドB1が先行する。
上記S4103,あるいはS4104の処理が終了すると,S4105へ進み,PSインタプリタ203は,全ページの処理が終了したか否か判定する。ここで,PSインタプリタ203がNoと判断した場合は,S4101へ戻り,処理を繰り返す。
上述したようにPSインタプリタ203の処理はリエントラントな構成となっており、同時に二つのPSデータを処理することが可能である。PSデータ解釈処理、およびDL生成処理にかかる時間は、PSデータの各ページのデータ量と複雑度に大きく依存する。従って、スレッドB1、スレッドB2における各ページのDLの生成が完了するタイミングはページ順になるとは限らない。
また、各ページのDL生成をスレッドB1とスレッドB2のどちらに割り振るかは、どちらのスレッドが先に当該ページの解釈を始めるかによって決まる。特定のページの解釈とDL生成処理に大きく時間がかかる場合でも、もう一方のスレッドが次のページ以降を連続して処理できるので、効率の良い割り振り方法である。DL生成の具体的な割り振り例に関しては別途後述する。
最初にS5001において、プリントドライバ205は、ジョブ制御部202からレンダリング終了通知を受信するまで待つ。ここで、レンダリング終了通知は、前述したように、ジョブ制御部202によりS4009で送信されるものである。
一方、S5002で、プリントドライバ205がYesと判断した場合は、S5003へ進み、プリントドライバ205はプリンタエンジン15に対してプリント開始要求コマンドを送信し、画像データを転送する。
次に、S5004において、プリントドライバ205は次ページがレンダリング済みか否か判定する。ここで、プリントドライバ205がYesであると判断した場合、S5005に進み、プリントドライバ205はプリンタエンジン15に同期して、プリント開始要求コマンドを送信し、画像データを転送する。
そして、再び、S5004に戻り同様の処理を繰り返す。S5004、S5005の処理により、先にレンダリング済みのページの画像データが全て出力される。
一方、S5006で、プリントドライバ205がNoと判断した場合は、S5001へ戻り、処理を繰り返す。
本実施形態では、複数のタスクで印刷データの解釈を開始した後、いずれか1つのタスクで画像形成装置のメモリにフォントファイル、またはイメージファイルを書き込む命令を検知した後、タスク制御を変更する。具体的には、1つのタスクで中間データ生成中において、後続のページで書き込み命令を検知したタスクに代えて、中間データを生成しているタスクが各ページの中間データ生成が1つのタスクで実行されるようにタスク制御される。
図6は、本実施形態を示す画像形成装置の制御方法を説明するフローチャートである。本例は、図4の基本プリントフローにおける並列処理例である。なお、各ステップはHDD4に記憶された図2に示した各ソフトウェアモジュール内の各プログラムがRAM2に読み出され、CPU1により実行されることにより実現される。以下の説明では、図2に示した各ソフトウェアモジュールを主体として説明を行う。以下、中間データを生成していないタスクにおいて、ファイルへの書き込み命令を検知した際に当該タスクにおける解釈を中止する処理を説明する。
なお、図4のスレッドB1、スレッドB2にマッピングされたPSインタプリタ203は同一のPSデータを処理するため、同一のファイルにアクセスする場合がある。同一のファイルに対して二つのスレッドから、非同期に書き込みを行った場合、ファイルの中身がPSデータの意図するものと異なってしまう可能性がある。
図6の(A)では、S6001で、PSインタプリタ203は、PSデータをパース(解釈)して、PSオペレータを取り出す。次にS6002に進み、PSインタプリタ203は取り出したPSオペレータがファイルの書き込みを伴うオペレータ(命令)か否か判定する。なお、PSインタプリタ203は、印刷データの解釈中に画像形成装置のメモリに対するファイルへの書き込み命令またはメモリに対するファイルの読み出し命令を検知する検知可能に構成されている。ここで、メモリとは、図1に示したHDD4が好適である。
一方、S6002で、PSインタプリタ203がNoと判断した場合は、S6004へ進み、PSインタプリタ203はPSオペレータで指定された処理を実行する。但し、S6004において、PSインタプリタ203は描画オペレータの場合も、DLに出力しない。次にS6005に進み、PSインタプリタ203は1ページ分のPSデータの解釈が終了したか否か判定する。ここで、PSインタプリタ203がNoと判断した場合は、S6001へ戻り、処理を繰り返す。
図6の(B)では、S6101で、PSインタプリタ203はPSデータをパース(解釈して)、PSオペレータを取り出す。次に、S6102へ進み、PSインタプリタ203はPSオペレータで指定された処理を実行する。
但し、S6102において、PSインタプリタ203は描画オペレータの場合にDLに出力する。また、取り出したPSオペレータがファイル書き込みを伴うものであった場合には、ファイル書き込みが実行される。
なお、中間データを生成していないと判断した一方のDL生成部210が処理をエラー終了した後、中間データを生成していると判断した一方のDL生成部210が印刷データの解釈処理をシングルタスクで処理を継続する。
図7の(A)は、5ページからなる特定データのDL生成ありの場合(上段側)となしの場合下段側に斜線で示す)の処理時間を表している。この特定データではDL生成なしの場合に、DL生成ありの場合に比べて半分近くの処理時間で終了する。あくまで、特定データによる例を示すものであり、実際の処理時間はPSデータの内容によって変わる。
まず、1ページ目のDL生成がスレッドB1に割り振られ、スレッドB2はDL生成しないため1ページ目の処理を先に終了する。
スレッドB2で1ページ目が終了した時点で、2ページ目のDL生成を行っているスレッドは存在しないため、2ページ目のDL生成はスレッドB2に割り振られる。
次に、2ページ目の処理はスレッドB2が先に終了し、3ページ目のDL生成はスレッドB2に割り振られる。以後同様に、4ページ目はスレッドB1に、5ページ目はスレッドB2に割り振られる。
図7の(C)では,2ページ目迄の処理は,図7の(B)と全く同じである。
まず,3ページ目の処理をスレッドB2が開始し,ファイルへの書き込みを検知する。このとき,スレッドB2はDL生成を行っているため,指定された通りにファイルの書き込みを終了する。スレッドB1は3ページ目の処理をやや遅れて開始し,同様にファイルへの書き込みを検知する。このとき,スレッドB1はDL生成を行っていないため(図中斜線で示す),スレッドB1は書き込みを検知した時点でエラー終了する。
スレッドB1が3ページ目でエラー終了してしまうため,4ページ目以降のDL生成は常にスレッドB2に割り振られる。なお,本実施形態では,一方のDL生成部210が既に命令を実行して中間データを生成している間に,当該中間データを生成しているページと同一ページに対する処理を他方のDL生成部210が開始した後,画像形成装置のメモリにフォントファイル,またはイメージファイルを書き込む命令を検知することを特徴としている。
図7の(C)との違いは、DL生成を行っていないスレッドB1が先にファイルの書き込みを検知して、エラー終了する点である。
このように、ファイルの書き込み検知の後先ではなく、DL生成中か否かで当該スレッドをエラー終了する点が本実施形態における特徴的な処理例である。
本実施形態によれば、ファイル書き込みを伴うジョブが存在するPDLでも効率的に並列処理を行うことができる。また、インタプリット前にファイル書き込みの有無判定を行わないため、ファイル書き込みのない通常の印刷ジョブの処理時間に殆ど影響を与えない。
さらに、ファイルの書き込みを多重化しないため、ファイルシステムリソースの消費量も単一処理(非並列処理)の際と変わらない。また、並列処理時にファイル書き込みを検知した際でも、先頭ページからやり直すこともなく、残りのページのみを単一処理することができる。さらに、本方式は制御手順がシンプルであり、ソフトウェアの実装工数を比較的少なくすることが可能である。
〔第2実施形態〕
なお、各ステップは、図1に示したCPU1がROM3に記憶された制御プログラムをRAM2にロードして実行することで実現される。
しかしながら、書き込みだけであれば、後からの書き込みをスキップすればファイル内容の不整合は発生しない。それでも、書き込みを行ったファイルから読み出す時点で問題が発生する場合がある。これは、先行するスレッドがファイルの書き込みを行うため、他のスレッドが同一ファイルを読み出した場合に、本来書き込まれていないはずの書き込みが既にされている場合があるからである。以下、PSインタプリタ203が印刷データを解釈中に、画像形成装置のメモリにフォントファイル、またはイメージファイルを書き込む命令を検知した後、当該フォントファイル、またはイメージファイルを読み出す命令を検知場合の処理を詳述する。
次に、S8004へ進み、PSインタプリタ203は、他のインタプリタスレッドに先行する書き込みか否かを判定する。
一方、S8002でPSインタプリタ203がNoと判断した場合は、S8005へ進み、PSインタプリタ203は、当該ジョブで過去に書き込んだファイルからの読み出しを指示するオペレータか否かを判定する。ここで、S8004でPSインタプリタ203がYesと判断した場合と、S8005で、PSインタプリタ203がNoと判断した場合は、S8006へ進む。
一方、S8007で、PSインタプリタ203がYesと判断した場合は、本フローを終了する。また、S8005で、PSインタプリタ203がYesと判断した場合はS8008へ進み、PSインタプリタ203は、当該スレッドをエラー終了する。
そして、S8105で、PSインタプリタ203は1ページ分のPSデータの解釈が終了したか否か判定する。ここで、PSインタプリタ203がNoと判断した場合はS8101へ戻り、処理を繰り返し、PSインタプリタ203がYesと判断した場合は、本フローを終了する。
本実施形態では、中間データを生成していると判断した一方のDL生成部210は、フォントファイル、またはイメージデータをメモリに書き込みまたは読み出しを行って中間データを生成する。一方、中間データを生成していないと判断した他方のDL生成部210は、フォントファイル、またはイメージデータをメモリから読み出すことなく、解釈を中止する。その後は、中間データを生成していると判断した一方のDL生成部210が印刷データの解釈処理をシングルタスクで処理を継続する。
図9の(A)は、3ページからなる特定データのDL生成ありの場合となしの場合の処理時間を表している。このデータではDL生成なしの場合に、DL生成ありの場合に比べて半分近くの処理時間で終了することが分かる。あくまで、特定データによる例を示すものであり、実際の処理時間はPSデータの内容によって変わる。
図9の(B)は、図の9(A)の特定データに対して、図4の基本プリントフローによるDL生成のページ割り振りを実施した場合のタイミングチャートを示している。
図9の(C)は、図9の(A)の特定データの2ページ目の前半部分に同一ファイルの書き込みと読み出しを加えた場合のタイミングチャートを示している。
まず、2ページ目の処理をスレッドB2が開始し、ファイルへの書き込み命令を検知する。このとき、スレッドB2はDL生成を行っていて、かつ、当該ファイルへの先行する書き込みであるため、指定された通りにファイルの書き込みを終了する。
次にスレッドB2は当該ファイルからの読み出し、当該ファイルへの書き込みを、連続して行う。スレッドB1は2ページ目の処理を遅れて開始し、同様にファイルへの書き込み命令を検知する。
ここで、スレッドB1は当該ファイルへの後からの書き込みを実行しようとするため、ファイルへの書き込み処理は実行されない。続いて、スレッドB1は当該ファイルからの読み出しを検知する。ここで、スレッドB1はDL生成を行っておらず、かつ過去に書き込みを行ったファイルからの読み出しを実行しようとしているため、読み出し命令を検知した時点でエラー終了する。なお、本実施形態では、一方のDL生成部210が既に命令を実行して中間データを生成している間に、当該中間データを生成しているページと同一ページに対する処理を他方のDL生成部210が開始した後、画像形成装置のメモリにフォントファイル、またはイメージファイルを書き込む命令を検知することを特徴としている。
また、並列処理時にファイル書き込みを検知した際でも、先頭ページからやり直すこともなく、残りのページのみを単一処理することができる。
さらに、第2実施形態に示す方式では、ファイルを書き込むだけのジョブであれば並列処理が可能になる利点がある。
202 ジョブ制御部
203 PSインタプリタ
204 レンダラ
205 プリントドライバ
206 ユーザインターフェース
208 ジョブデータ管理部
209 PSパーサ
210 DL生成部
211 切り換え部
Claims (9)
- 中間データを解釈して画像データを生成する画像形成装置において,
単一の印刷データを複数のタスクで並列に解釈し,解釈された印刷データを基に中間データの生成処理を行う並列処理手段であって,所定のページの印刷データについて,先に解釈が始まるタスクでは,解釈された当該ページの印刷データを基に中間データを生成し,且つ,後に解釈が始まるタスクでは,解釈された当該ページの中間データを生成しない前記並列処理手段と,
生成処理により生成された中間データから画像データを生成する画像データ生成手段と,
前記印刷データの解釈中に前記画像形成装置のメモリに対するファイルの書き込み命令を検知する検知手段と,を有し,
前記複数のタスクの内,中間データを生成していないタスクが印刷データを解釈している際に前記検知手段によりファイルの書き込み命令を検知した場合,当該タスクにおける印刷データの解釈処理を中止することを特徴とする画像形成装置。 - 前記並列処理手段は,
印刷データを解釈し,中間データを生成するタスクを実行する第1の実行手段と,
前記第1の実行手段と並行して,印刷データを解釈し,中間データを生成するタスクを実行する第2の実行手段と,
前記印刷データを解釈中に,前記検知手段が前記画像形成装置のメモリにフォントファイル,またはイメージファイルを書き込む命令を検知した場合,前記第1の実行手段,または前記第2の実行手段の内,何れの実行手段が中間データを生成しているかどうかを判断する判断手段と,を有し,
2つの実行手段の内,前記判断手段が中間データを生成していると判断された一方の実行手段は,フォントファイル,またはイメージデータを前記メモリに書き込み,中間データを生成し,
前記判断手段が中間データを生成していないと判断された他方の実行手段は,フォントファイル,またはイメージデータを前記メモリに書き込むことなく,前記解釈を中止することを特徴とする請求項1記載の画像形成装置。 - 前記並列処理手段は,一方の実行手段が解釈処理を中止した後,前記中間データを生成していた他方の実行手段が,中間データが生成されていない残りのページを解釈し,前記印刷データにおける各ページの中間データを生成することを特徴とする請求項1記載の画像形成装置。
- 前記並列処理手段は,
印刷データを解釈し,中間データを生成するタスクを実行する第1の実行手段と,
前記第1の実行手段と並行して,印刷データを解釈し,中間データを生成するタスクを実行する第2の実行手段と,
前記第1の実行手段,または前記第2の実行手段の内,何れの実行手段が中間データを生成しているかどうかを判断する判断手段と,を有し,
前記印刷データを解釈中に,前記検知手段が前記画像形成装置のメモリにフォントファイル,またはイメージファイルを書き込む命令を検知した後,当該フォントファイル,またはイメージファイルを読み出す命令を検知した場合,
2つの実行手段の内,前記判断手段が中間データを生成していると判断された一方の実行手段は,フォントファイル,またはイメージデータを前記メモリに書き込みまたは読み出しを行って中間データを生成し,
前記判断手段が中間データを生成していないと判断された他方の実行手段は,フォントファイル,またはイメージデータを前記メモリから読み出すことなく,前記解釈を中止することを特徴とする請求項1記載の画像形成装置。 - 前記並列処理手段は,前記所定のページの中間データの生成処理を前記複数のタスクのうち当該ページの解釈を最初に開始する一つのタスクのみが行うことで,該印刷データのページ毎に中間データを生成していくことを特徴とする請求項1乃至4のいずれか1項に記載の画像形成装置。
- 前記並列処理手段は,2つの実行手段により2つのタスクを実行することでマルチタスク処理を開始し,
一方の実行手段が解釈処理を中止した場合,マルチタスク処理から他方の実行手段のみでタスクを実行するシングルタスク処理へ移行することを特徴とする請求項1乃至4のいずれか1項に記載の画像形成装置。 - 前記検知手段は,
一方の実行手段が既に命令を実行して中間データを生成している間に,当該中間データを生成しているページと同一ページに対する処理を他方の実行手段が開始した後,前記画像形成装置のメモリにフォントファイル,またはイメージファイルを書き込む命令を検知することを特徴とする請求項2記載の画像形成装置。 - 中間データを解釈して画像データを生成する画像形成装置におけるデータ処理方法において,
単一の印刷データを複数のタスクで並列に解釈し,解釈された印刷データを基に中間データの生成処理を行う並列処理工程であって,所定のページの印刷データについて,先に解釈が始まるタスクでは,解釈された当該ページの印刷データを基に中間データを生成し,且つ,後に解釈が始まるタスクでは,解釈された当該ページの中間データを生成しない前記並列処理工程と,
生成処理により生成された中間データから画像データを生成する画像データ生成工程と,
前記印刷データの解釈中に前記画像形成装置のメモリに対するファイルの書き込み命令を検知する検知工程と,を有し,
前記複数のタスクの内,中間データを生成していないタスクが印刷データを解釈している際に前記検知工程によりファイルの書き込み命令を検知した場合,当該タスクにおける印刷データの解釈処理を中止することを特徴とするデータ処理方法。 - 請求項8に記載のデータ処理方法をコンピュータに実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011147101A JP5847460B2 (ja) | 2011-07-01 | 2011-07-01 | 画像形成装置、データ処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011147101A JP5847460B2 (ja) | 2011-07-01 | 2011-07-01 | 画像形成装置、データ処理方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013014039A JP2013014039A (ja) | 2013-01-24 |
JP5847460B2 true JP5847460B2 (ja) | 2016-01-20 |
Family
ID=47687206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011147101A Active JP5847460B2 (ja) | 2011-07-01 | 2011-07-01 | 画像形成装置、データ処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5847460B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6537372B2 (ja) | 2015-06-29 | 2019-07-03 | キヤノン株式会社 | 画像形成装置、画像形成装置の制御方法、及びプログラム |
JP6666036B2 (ja) | 2016-01-15 | 2020-03-13 | キヤノン株式会社 | 印刷データ処理装置、印刷データ処理方法、およびプログラム |
JP6746326B2 (ja) | 2016-02-19 | 2020-08-26 | キヤノン株式会社 | 印刷データの解釈を複数の解釈手段で行う印刷装置、印刷方法、プログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3168580B2 (ja) * | 1990-04-05 | 2001-05-21 | セイコーエプソン株式会社 | ページ記述言語インタープリタ |
JPH0660047A (ja) * | 1992-08-05 | 1994-03-04 | Seiko Epson Corp | マルチプロセッサ処理装置 |
JP4942179B2 (ja) * | 2006-12-11 | 2012-05-30 | キヤノン株式会社 | 印刷制御装置及びその制御方法及びデバイスドライバ |
JP2010105388A (ja) * | 2008-09-30 | 2010-05-13 | Brother Ind Ltd | 画像形成装置 |
JP2011046034A (ja) * | 2009-08-26 | 2011-03-10 | Ricoh Co Ltd | 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体 |
JP2012093838A (ja) * | 2010-10-25 | 2012-05-17 | Canon Inc | 画像処理システム、画像処理装置、画像処理方法、コンピュータプログラム |
JP5777375B2 (ja) * | 2011-03-31 | 2015-09-09 | キヤノン株式会社 | 画像処理装置、画像処理装置のデータ処理方法、及びプログラム |
-
2011
- 2011-07-01 JP JP2011147101A patent/JP5847460B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013014039A (ja) | 2013-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4543340B2 (ja) | 画像処理装置および画像形成システムとプログラム | |
JP4738948B2 (ja) | 情報処理装置、画像処理方法、及びコンピュータプログラム | |
US8189221B2 (en) | Image forming device for executing a designated process with priority without canceling a previously accepted process | |
US8625133B2 (en) | Print data processing apparatus, print data processing method, and storage medium | |
US8755060B2 (en) | Print control apparatus, image forming system, and non-transitory computer readable medium | |
JP2008262543A (ja) | Pdfダイレクトプリントのためのpdfデータの不連続伝送 | |
US8537396B2 (en) | Print document conversion apparatus, print document conversion method, and computer readable medium | |
JP5273420B1 (ja) | 印刷制御装置、画像形成システムおよびプログラム | |
JP2012059093A (ja) | 印刷制御装置、印刷システムおよびプログラム | |
JP5847460B2 (ja) | 画像形成装置、データ処理方法及びプログラム | |
US10534986B2 (en) | Printing apparatus having interpreters interpreting print data, printing method, and storage medium | |
US9785871B2 (en) | Print control device and non-transitory computer readable medium | |
JP5268427B2 (ja) | 画像形成装置及び画像形成システム | |
JP5901209B2 (ja) | 画像形成装置、情報処理方法及びプログラム | |
JP2011167857A (ja) | 画像形成装置、画像形成方法、および画像形成プログラム | |
US8643861B2 (en) | Image processing apparatus, data processing method of image processing apparatus, and storage medium for performing multitask processing and single task processing while interpreting PDL data | |
US10262247B2 (en) | Image forming apparatus for converting print data into intermediate data, method for controlling image forming apparatus, and storage medium | |
JP2015020404A (ja) | 画像形成装置 | |
JP7322116B2 (ja) | 印刷設定uiを表示するためのアプリケーション | |
US9001339B2 (en) | Printing apparatus, printing system, printing control method, and storage medium for reducing print time and memory by sending control data via network | |
JP2012000778A (ja) | 画像処理装置及びプログラム | |
JP4957933B1 (ja) | 印刷制御装置、画像形成システムおよびプログラム | |
US8629997B2 (en) | Print control apparatus and image forming system for rendering image data | |
JP2007317090A (ja) | 情報処理装置、印刷制御方法、記憶媒体、プログラム | |
JP2001147789A (ja) | 情報処理装置および印刷制御装置およびジョブ処理方法および記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140626 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20150611 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150714 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150911 |
|
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: 20151027 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151125 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5847460 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |