JP2011046034A - 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体 - Google Patents
画像処理装置、画像処理方法、画像処理プログラム及び記録媒体 Download PDFInfo
- Publication number
- JP2011046034A JP2011046034A JP2009194970A JP2009194970A JP2011046034A JP 2011046034 A JP2011046034 A JP 2011046034A JP 2009194970 A JP2009194970 A JP 2009194970A JP 2009194970 A JP2009194970 A JP 2009194970A JP 2011046034 A JP2011046034 A JP 2011046034A
- Authority
- JP
- Japan
- Prior art keywords
- job
- pdl
- pdl analysis
- execution
- processing
- 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
Images
Landscapes
- Record Information Processing For Printing (AREA)
Abstract
【課題】本発明は、マルチコアCPUを搭載して複数のPDL解析モジュールを効率的に並列動作させる画像処理装置、画像処理方法、画像処理プログラム及び記録媒体に関する。
【解決手段】レーザプリンタ1は、ホストコンピュータから複数の出力先のうち少なくとも1つを指定する出力先情報の付加されたPDLデータのジョブを順次受け取ると、ジョブ管理モジュール100が、該ジョブの発生順と該ジョブのジョブ種別に基づいて、該ジョブのPDLデータを解析して他の形式のデータを生成する同時並行処理可能な複数のPDL解析モジュール101の割り付けと、該PDL解析モジュール101でのPDL解析処理を実行するCPUが有する複数のコアの該PDL解析処理に対する配分を制御する。
【選択図】 図3
【解決手段】レーザプリンタ1は、ホストコンピュータから複数の出力先のうち少なくとも1つを指定する出力先情報の付加されたPDLデータのジョブを順次受け取ると、ジョブ管理モジュール100が、該ジョブの発生順と該ジョブのジョブ種別に基づいて、該ジョブのPDLデータを解析して他の形式のデータを生成する同時並行処理可能な複数のPDL解析モジュール101の割り付けと、該PDL解析モジュール101でのPDL解析処理を実行するCPUが有する複数のコアの該PDL解析処理に対する配分を制御する。
【選択図】 図3
Description
本発明は、画像処理装置、画像処理方法、画像処理プログラム及び記録媒体に関し、詳細には、マルチコアCPUを搭載して複数のPDL解析モジュールを並列動作可能な画像処理装置、画像処理方法、画像処理プログラム及び記録媒体に関する。
近年、複合装置、複写装置、プリンタ装置等の組み込み機器である画像処理装置においても、マルチコアのCPU(Central Processing Unit )が搭載されるようになり、処理速度の高速化が図られている。
また、画像処理装置においては、オンデマンド化に伴って、ネットワーク接続されたコンピュータ等のホスト装置から印刷データを送信する場合、アプリケーション(ワープロソフトや表計算ソフト等)から印刷を指示すると、プリンタドライバによってPDL(Page Description Language:ページ記述言語)というプリンタ装置等の画像処理装置が解釈できる言語で印刷データと制御コマンド等からなる印刷要求が生成され、この印刷要求に基づいて画像処理装置で印刷を行うようになってきている。
PDLは、主に、印刷のためのページ記述に関する情報や描画に関する情報を記述するための言語であり、様々な種類がある。したがって、現在のプリンタ装置等の画像処理装置は、各種のPDLに対応するため、それぞれのPDLに対応した解釈機構(インタプリタ)と、各インタプリタを呼び出すための機構を備えているものが多い。
一方、近年のホストコンピュータの処理能力向上に伴い、複雑なグラフィックスやイメージ処理を伴う印刷ジョブが増加してきている。このような印刷ジョブを高速に処理するため、印刷装置等の画像処理装置に搭載されるCPU(Central Processing Unit )も高性能化してきており、マルチコアのCPUが搭載されるようになってきている。
このようなマルチコアのCPUを搭載する情報処理装置においては、マルチコアのCPUを有効に利用する技術が要望されており、このようなマルチコアのCPUを有効に活用するソフトウェア技術として、マルチタスクがある。
そして、従来、1つのジョブ内に複数種のPDLが含まれている場合のマルチコアのCPUを用いたマルチタスク技術について提案されている(特許文献1参照)。すなわち、この従来技術は、印刷装置のハードウェア(CPU、メモリ)の性能を元に、複数種のPDLを含む印刷ジョブを処理するのに必要な時間を予測し、該予測結果に基づいて、PDLの変換・合成処理を最も早く処理できる組み合わせを選択する技術である。
しかしながら、上記公報記載の従来技術にあっては、1つのジョブ内に複数種のPDLが含まれている場合の処理技術であり、PDLデータの複数のジョブを処理する場合については、考慮されておらず、マルチコアCPUを搭載する画像処理装置の出現している今日、順次発生する複数のジョブに対してマルチコアCPUを有効活用する技術が要望されている。特に、マルチコアCPUを搭載し多数のPDL解析モジュールが多重起動/並列動作可能な場合における複数のジョブを効率的に処理する技術が要望されている。
そこで、本発明は、種別の異なる複数のジョブに対するPDL解析処理における複数の実行コアの利用効率をジョブ種別に好適な状態で向上させてジョブの処理効率を向上させる画像処理装置、画像処理方法、画像処理プログラム及び記録媒体を提供することを目的としている。
本発明は、上記目的を達成するために、複数の出力先のうち少なくとも1つを指定する出力先情報の付加されたPDLデータのジョブを該出力先に応じた種別のジョブとして順次取得して、該ジョブの発生順と該ジョブのジョブ種別に基づいて、該ジョブのPDLデータを解析して他の形式のデータを生成するとともに同時並行処理可能な複数のPDL解析処理の割り付けと、該PDL解析処理を実行する複数の実行コアの該PDL解析処理に対する配分を制御することを特徴としている。
また、本発明は、同時並行処理対象となる複数のジョブのジョブ種別が全て異なると、PDL解析処理を複数起動して、複数の実行コアを複数の該PDL解析処理に等分に配分してPDL解析を同時並行処理することを特徴としてもよい。
さらに、本発明は、前記PDLの種類毎に該PDLによる複数の実行コアに対する活用率を記憶し、2つのPDL解析処理を同時に起動して2つのジョブのPDL解析を並行処理する場合、2つの該ジョブのPDLに対する実行コア活用率を取得して、実行コア活用率が低い方のPDLデータのPDL解析に1つの実行コアを配分し、実行コア活用率が高い方のPDLデータのPDL解析に残り全ての実行コアを配分することを特徴としてもよい。
また、本発明は、同時並行処理対象となる複数のジョブのジョブ種別が全て同じであると、PDL解析処理を1つのみ起動して、全ての実行コアを該PDL解析処理によるPDL解析に割り当てることを特徴としてもよい。
本発明によれば、複数のPDLにおける複数の実行コアの利用効率を向上させてジョブの処理効率を向上させることができる。
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
図1〜図14は、本発明の画像処理装置、画像処理方法、画像処理プログラム及び記録媒体の第1実施例を示す図であり、図1は、本発明の画像処理装置、画像処理方法、画像処理プログラム及び記録媒体の第1実施例を適用したレーザプリンタ1のブロック構成図である。
図1において、レーザプリンタ1は、コントローラ10、オペレーションパネル11及びプリンタエンジン12等を備えており、パーソナルコンピュータ等のホストコンピュータPcが接続されている。このレーザプリンタ1は、例えば、カラープリンタ装置、カラー複写装置、カラー複合装置等の画像処理装置が用いられる。
オペレーションパネル11は、レーザプリンタ1のモード(手動両面印刷モード、片面印刷モード、プリンタモード、複写モード等)やフォント等の設定操作等の各種操作を行うための各種操作キーを備えるとともに、レーザプリンタ1の状態を表示するディスプレイ(例えば、液晶ディスプレイ)等を備えている。特に、オペレーションパネル11は、後述するマルチコアによるPDL処理での処理方法の設定操作、特に、優先ジョブ種別の設定操作等に使用され、優先ジョブ種別設定手段として機能する。
プリンタエンジン12は、図示しないが、所定の印刷方式(画像形成方式)、例えば、インク噴射方式、電子写真方式等で用紙(印刷部材)に画像形成する。プリンタエンジン12は、電子写真方式の場合、該電子写真方式で用紙に画像を印刷出力するのに必要な部品、例えば、複数枚の用紙を載置して1枚ずつ画像形成ユニットに送り出す給紙部(送り出し手段)、画像形成ユニットで画像形成された用紙が順次排出されて対置される排紙部(排出載置手段)等を備え、該画像形成ユニットは、感光体、光書き込み部、現像部、帯電部及びクリーニング部等を備えている。プリンタエンジン12の画像形成ユニットは、コントローラ10から送られてくる描画データ及び制御信号により光書き込み部を動作させて感光体上に静電潜像を形成し、現像部によりトナーを感光体上に供給して現像してトナー画像を形成する。プリンタエンジン12は、給紙部から用紙を感光体と転写部との間に給紙して、感光体上のトナー画像を用紙に転写させ、トナー画像の転写された用紙を定着部に搬送して、定着部で加熱・加圧して用紙上のトナー画像を定着させることで、画像を印刷して、排紙部に排出する。
コントローラ10は、そのときに設定されている制御モード及びホストコンピュータPcからの制御コードに従って、ホストコンピュータPcからの印刷データを、ビデオデータに変換してプリンタエンジン12へ出力する制御機構の総称であり、ホストI/F21、プログラムROM(Read Only Memory)22、フォントROM23、パネルI/F24、CPU(Central Processing Unit )25、RAM(Random Access Memory)26、NVRAM(Non-Volatile Random Access Memory)27、エンジンI/F28及びオプションRAM29等を備えていて、上記各部は、バス30により接続されている。
ホストI/F21には、図2に示すように、LAN(Local Area Network)等のネットワークNWを介して複数のホストコンピュータPcが接続されており、ホストI/F21は、ホストコンピュータPcから送信されてくる制御信号及びデータ(印刷データ等)を受け取るとともに、レーザプリンタ1からホストコンピュータPcに送信するステータス信号等の送り出しを行うインターフェイスである。
なお、ホストコンピュータPcは、通常のハードウェア及びソフトウェア構成のパーソナルコンピュータであり、レーザプリンタ1に、任意のPDLで生成された印刷データ及び制御信号(印刷制御データ)等を送信する。
プログラムROM22は、コントローラ10内でのデータの処理や管理及び周辺モジュールを制御するためのプログラム、具体的には、レーザプリンタ1としての基本処理プログラム及び後述するCPU25のマルチコアを複数のPDLで効率利用してジョブ処理を効率的に行う画像処理方法を実行する画像処理プログラム等の各種プログラムを格納しているとともに、これらの各プログラムを実行するのに必要な各種データを格納している。
フォントROM23は、レーザプリンタ1で印刷に使用する各種フォントが予め格納されており、CPU25により読み出されて、印刷処理に供される。
パネルI/F24には、上記オペレーションパネル11が接続されており、パネルI/F24は、コントローラ10とオペレーションパネル11との間の信号の授受を行う。
CPU25は、プログラムROM22に格納されているプログラムに基づいて、RAM26をワークメモリとして利用しつつ、レーザプリンタ1の各部を制御して、印刷処理を行うとともに、後述するマルチコアを複数のPDLで効率的に利用して画像処理を実行する。すなわち、CPU25は、複数のコア(実行コア)を内蔵するマルチコアCPU(実行手段)であり、複数のコアをそれぞれ独立して動作させて、あるいは、複数のコアを連係させて動作させて、ジョブの実行処理、特に、PDLデータの変換処理を行う。
RAM26は、CPU25のワークメモリとして利用されるとともに、ホストコンピュータPcからの印刷データをページ単位に管理して一時記憶するバッファ及びバッファに記憶されたデータを実際の印刷パターンに変換した描画データが展開されるビットマップメモリ等として利用される。RAM26は、この印刷データまたは印刷データから変換された描画データ、あるいは、中間データを、複数ページ分蓄積する容量を有している。
NVRAM27は、レーザプリンタ1の電源が切られているときにも記憶内容を保持するメモリであり、レーザプリンタ1の電源がオフの際にも保持する必要のあるデータ、特に、システム設定値、印刷枚数カウント値、印刷設定等の各種設定情報及び特に、後述するマルチコアを複数のPDLで効率利用する画像処理で使用する各種データや設定情報等をCPU25の制御下で格納される。
エンジンI/F28には、プリンタエンジン12が接続されており、コントローラ10からプリンタエンジン12への制御信号や描画データ及びレーザプリンタ1からコントローラ10へのステータス信号の授受を行う。
オプションRAM29は、いわゆる着脱可能な補助メモリであり、RAM26の容量が不足した際等に補助として使用されるものである。
そして、レーザプリンタ1は、ROM、EEPROM(Electrically Erasable and Programmable Read Only Memory )、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory )、CD−RW(Compact Disc Rewritable )、DVD(Digital Video Disk)、SD(Secure Digital)カード、MO(Magneto-Optical Disc)等のコンピュータが読み取り可能な記録媒体に記録されている本発明の画像処理方法を実行する画像処理プログラムを読み込んでプログラムROM22等に導入することで、後述するマルチコアを複数のPDLで効率利用する画像処理方法を実行する画像処理装置としてのレーザプリンタ1として構築されている。この画像処理プログラムは、アセンブラ、C、C++、C#、Java(登録商標)等のレガシープログラミング言語やオブジェクト指向ブログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
レーザプリンタ1は、上記画像処理プログラムが導入されて実行されることで、図3に示す機能部が構築され、ジョブ管理モジュール100、2つのPDL解析モジュール101、ネットワーク管理モジュール102、メモリ管理モジュール103、印刷管理モジュール104、システム管理モジュール105及びパネル管理モジュール106等が構築される。
PDL解析モジュール(PDL解析手段)101は、レーザプリンタ1が受信したデータのうちPDLデータを解析して印刷画像等の所定の形式のデータを生成するモジュールである。レーザプリンタ1は、ジョブ管理モジュール100の仲介によりネットワーク管理モジュール102からPDLデータを受け取り、ジョブ管理モジュール100の仲介によりメモリ管理モジュール103によって確保されたメモリであるRAM26上に最終画像データを生成する処理を主として実行する。また、PDL解析モジュール101は、最終画像データ生成の際に必要な機器構成情報、例えば、給紙トレイや排紙トレイの構成、給紙トレイ内の用紙サイズ等の情報を、ジョブ管理モジュール100の仲介によりシステム管理モジュール105から取得する。本実施例のレーザプリンタ1は、上記PDL解析モジュール101が、2つ以上搭載されており、それぞれ独自に上記PDL解析処理を実行する。
ジョブ管理モジュール(ジョブ取得手段、ジョブ実行制御手段)100は、PDL処理全般に関わる制御を行うモジュールであり、主にPDL解析モジュール101がその処理を実行する上で必要とする処理を仲介して他のモジュール102〜106(特に、上述のように、ネットワーク管理モジュール102、メモリ管理モジュール103及びシステム管理モジュール105)に対して要求を行う。すなわち、ジョブ管理モジュール100は、ネットワーク管理モジュール102が受け取ったPDLデータをPDL解析モジュール101へ受け渡す仲介処理、PDL解析モジュール101がシステム管理モジュール105が管理する機器情報を取得する仲介処理、PDL解析モジュール101がメモリ管理モジュール103から必要なメモリを確保する仲介処理、PDL解析モジュール101が作成した最終データの印刷要求の印刷管理モジュール104に対する発行処理等を行う。
ネットワーク管理モジュール102は、ネットワークコントローラの管理及びネットワークコントローラから得られる受信データの処理を制御するモジュールである。ネットワーク管理モジュール102は、ホストコンピュータPcからのデータ受信の際に欠かせない(ftp(File Transfer Protocol)やlpr(line printer daemon protocol)等の通信プロトコルを制御して、ネットワークコントローラからデータを受信し、他のモジュールへ受信データを受け渡す。
メモリ管理モジュール103は、RAM26及び図示しない外部記憶装置(ハードディスク等)を管理するモジュールであり、他モジュールの要求に基づいてメモリ及び外部記憶装置の割り当て・解放を行う。
印刷管理モジュール104は、PDL解析モジュール101が生成した最終データである印刷画像の印刷処理に関する制御を行うモジュールである。印刷管理モジュール104は、メモリ管理モジュール103が管理するメモリ/外部記憶装置内に格納された印刷画像を、プリンタエンジン12に印刷させるのに必要な各種処理、例えば、給排紙命令の発行、後処理実行命令の発行、印刷に関わるエラー状態の検知と他のモジュールへの通知等を行う。
システム管理モジュール105は、レーザプリンタ1の機器構成情報や機器状態情報等の機器関連情報を管理・制御するモジュールである。ここで、機器構成情報とは、プリンタエンジン12の給紙トレイや排紙トレイの着脱の情報及び給紙トレイ内の用紙構成等の情報であり、機器状態情報とは、印刷中であるか待機中であるか等の状態情報、ジャムや用紙切れ等のエラー発生中であるか否か等の情報である。システム管理モジュール105は、このような機器関連情報を他のモジュールへ通知したり、ユーザによる機器設定(設定により動作を変化させるカスタマイズ可能項目)の管理を行う。
パネル管理モジュール106は、オペレーションパネル11の表示及びユーザによるオペレーションパネル11の操作の有無等に関する管理を行うモジュールであり、他のモジュールからの要求に基づく、レーザプリンタ1の状態の表示、システム管理モジュール105が管理する機器設定の変更を行うメニュー画面の表示、ユーザに適切な処置を促すエラー画面の表示等を行う。また、パネル管理モジュール106は、メニュー画面やエラー画面等で機能ボタンを該画面に表示したときには、押下された機能ボタンを認識して他のモジュールへ通知する。
上記ネットワーク管理モジュール102、メモリ管理モジュール103、印刷管理モジュール104、システム管理モジュール105及びパネル管理モジュール106は、全体として、各種サービスを提供するサービス提供モジュール群107を構成しており、サービス提供モジュール群107を構成するモジュール102〜106は、互いに通信をし合ってレーザプリンタ1の基本動作を分担・協力して上位層からの要求に対応する。
そして、レーザプリンタ1は、ホストコンピュータPcから要求されるジョブに対する処理としては、プリンタエンジン12での印刷を要求する通常印刷ジョブ、ハードディスク等の蓄積メモリへの蓄積を要求する蓄積ジョブ、通常印刷と蓄積メモリへの蓄積を要求する蓄積同時印刷ジョブ、ネットワーク上の他の装置等へデータを転送する転送ジョブ等の複数種類のジョブを処理する。
次に、本実施例の作用を説明する。本実施例のレーザプリンタ1は、コントローラ10のCPU25が、複数のコアを有するマルチコアCPUであり、PDL解析を行う機能モジュールとして、同時起動・並列動作可能な2つのPDL解析モジュール101を搭載していて、ホストコンピュータPcからの複数の印刷ジョブをCPU25の複数のコアと2つのPDL解析モジュール101を効率的に利用して、効率的なジョブの処理を行う。
すなわち、レーザプリンタ1は、ホストコンピュータPcからの印刷ジョブが発生すると、ジョブ管理モジュール100が保持するジョブキューに該印刷ジョブを入れ、ジョブ管理モジュール100は、キューに入れたジョブを先頭から順番に、PDL解析モジュール101に処理させる。
レーザプリンタ1は、2つのジョブ(印刷ジョブ)が存在する場合、2つのPDL解析モジュール101を二重起動して並列処理するのが常に最適とは限らない。すなわち、レーザプリンタ1のジョブの種類には、上述のように、通常印刷ジョブ、蓄積ジョブ、蓄積同時印刷ジョブ等の複数の種類があり、通常印刷ジョブと蓄積ジョブの処理の流れは、図4のように示される。すなわち、レーザプリンタ1は、通常印刷ジョブを、図4(a)に示すように、PDL解析モジュール101でPDL解析処理を実行して、処理後の最終データである描画データを、プリンタエンジン12で印刷処理する。また、レーザプリンタ1は、蓄積ジョブを、PDL解析モジュール101でPDL解析処理を実行して、処理後の最終データをハードディスク(HDD)に書き込む書き込み処理を実行する。
そして、レーザプリンタ1は、ジョブ種別が同じときには、例えば、図5に示すように、ジョブ種別が通常印刷ジョブであるときには、図5(a)に示すPDL解析モジュール101を二重起動しない場合(CPU25のコアを100%使用する場合)の方が、図5(b)に示す2つのPDL解析モジュール101を二重起動する場合(CPU25のコアを50%ずつ使用する場合)よりも、全体の処理時間を短くすることができる。すなわち、図5に示すように、例えば、ジョブ種別が通常印刷ジョブであるとき、双方のジョブが出力処理として、同じプリンタエンジン12を使用するため、2ジョブ目のPDL処理が終了した時点で1ジョブ目の印刷処理が終了していないときには、プリンタ待ちが発生する。いま、図5(a)に示すように、PDL解析モジュール101を二重起動せずに、1つのPDL解析モジュール101に、CPU25の複数のコアを100%割り当てる場合、レーザプリンタ1は、1つのPDL解析モジュール101が、先頭のジョブから順番にPDL解析処理を行うので、1ジョブ目のPDL解析が完了するまで、2ジョブ目のPDL解析処理の開始を待ち、1ジョブ目のPDL解析が終了すると、2ジョブ目のPDL解析を開始する。レーザプリンタ1は、2ジョブ目のPDL解析が終了しても、1ジョブ目の印刷処理が終了するまで2ジョブ目の印刷処理の開始を待ち、1ジョブ目の印刷処理が終了すると、2ジョブ目の印刷処理を開始する。
また、図5(b)に示すように、2つのPDL解析モジュール101を二重起動するときには、レーザプリンタ1は、2ジョブ目のPDL解析モジュール101が起動する時点から1ジョブ目に割り当てられるCPU25のコアの使用率が50%に減少し、1ジョブ目のPDL解析処理が、PDL非二重起動時よりも長引いて、1ジョブ目のPDL解析処理の終了が、PDL非二重起動時よりも遅くなる。そして、2ジョブ目は、CPU25の50%のコアを与えられて、1ジョブ目のPDL処理が終了するのを待つことなく、1ジョブ目と並行処理を行うため、2ジョブ目のPDL処理は、図5(a)のPDL非二重起動時よりも早く終了する。ところが、2ジョブ目のPDL処理が早く終了しても、1ジョブ目の印刷処理が終了するまで、2ジョブ目の印刷処理を開始することができず、プリンタ待ちが発生し、1ジョブ目の印刷処理の終了が遅くなる分、PDL非二重起動時よりも、2ジョブ目の印刷終了時間が遅くなる。すなわち、ジョブ種別が同じ場合には、PDLを複数重複起動させて処理せずに、1つのPDL解析モジュール101にCPU25のマルチコアを100%割り当てて先頭ジョブから順番に処理する方が、全体の処理時間が短くなる。
次に、レーザプリンタ1は、ジョブ種別が異なるときには、例えば、図6に示すように、ジョブ種別が通常印刷ジョブと蓄積ジョブ(HDD書き込み)であるときには、図6(a)に示すPDL解析モジュール101を二重起動しないPDL非二重起動時の場合(CPU25のコアを100%使用する場合)よりも、図6(b)に示す2つのPDL解析モジュール101を二重起動する場合(CPU25のコアを50%ずつ使用する場合)の方が、処理時間を短くすることができる。すなわち、図6に示すように、例えば、ジョブ種別が通常印刷ジョブと蓄積ジョブであるとき、出力先が異なるため、出力先処理待ちである2ジョブ目のPDL処理が終了した時点で1ジョブ目の印刷処理の終了を待つことなく、2ジョブ目の出力処理であるHDD書き込み処理を行う。いま、図6(a)に示すように、PDL解析モジュール101を二重起動せずに、1つのPDL解析モジュール101に、CPU25の複数のコアを100%割り当てる場合、1つのPDL解析モジュール101は、先頭のジョブから順番にPDL解析処理を行うので、1ジョブ目のPDL解析が完了するまで、2ジョブ目のPDL解析処理の開始を待ち、1ジョブ目のPDL解析が終了すると、2ジョブ目のPDL解析を開始して、2ジョブ目のPDL解析が終了すると、1ジョブ目の印刷処理が終了するのを待つことなく、2ジョブ目のHDD書き込み処理を開始する。
また、図6(b)に示すように、2つのPDL解析モジュール101を二重起動するときには、2ジョブ目のPDL解析モジュール101が起動する時点から1ジョブ目に割り当てられるCPU25のコアは、使用率が50%に減少し、1ジョブ目のPDL解析処理が、PDL非二重起動時よりも長引いて、1ジョブ目のPDL解析処理の終了が、PDL非二重起動時よりも遅くなる。そして、レーザプリンタ1は、2ジョブ目については、CPU25の50%のコアを与えて、1ジョブ目のPDL解析処理が終了するのを待つことなく、1ジョブ目と並行処理を行うため、2ジョブ目のPDL解析処理は、図6(a)のPDL非二重起動時よりも早く終了する。そして、レーザプリンタ1は、2ジョブ目のPDL解析処理が早く終了すると、1ジョブ目の印刷処理が終了するまで待つことなく、2ジョブ目のHDD書き込み処理を開始し、PDL非二重起動時よりも、2ジョブ目のPDL解析処理が早く終了した分、2ジョブ目のHDD書き込み処理終了時間が早くなる。すなわち、ジョブ種別が異なる場合には、PDL解析モジュール101を複数重複起動させて先頭ジョブから複数のジョブを並列処理する方が、全体の処理時間が短くなる。
なお、一般的に、マルチコアCPUにおいては、1つのプロセスに割り当てるコアを増やしても与えられたコアを100%フルに活用することはできないので、複数のプロセスにコアを配分する方がコアの活用率は高くなる。
また、レーザプリンタ1は、後述するように、出力先が異なるとき、すなわち、ジョブ種別が異なるときには、処理の高速化を図るのに、どのジョブの処理を重視するかによって、PDL二重起動とPDL非二重起動のいずれを採用するかを決定する。
すなわち、図5及び図6に示したように、レーザプリンタ1は、PDL非二重起動のときには、PDL二重起動のときよりも1ジョブ目の終了は早いが、2ジョブ目の終了は遅くなり、かつ、CPU25のコアの活用率も低い。一方、PDL二重起動のときには、PDL非二重起動のときよりも1ジョブ目の終了は遅くなるが、2ジョブ目を早く終了することができ、さらに、CPU25のマルチコアの活用率も高くなる。
すなわち、複数のジョブを処理する場合、CPU25の複数のコアを効率的に活用するためには、ジョブ種別に応じて、また、優先させるジョブ種別に応じて、PDL解析モジュール101へのCPU25のコアの配分を決定することが重要となる。
以下、複数のジョブが存在するときに、ジョブ種別に従ってPDL解析モジュール101にCPU25の複数のコアを効率的に配分する配分方法について説明する。なお、以下の説明では、CPU25が2つのコアを有し、2つのPDL解析モジュール101を同時起動・並列動作可能であるものとする。また、PDL解析モジュール101は、割り当てられたCPU25のコアを効率的に使うものとし、コアの数に比例して処理速度が向上するものとする。さらに、同時に処理できるジョブは2つまでであるので、3つ以上のジョブが存在する場合、3番目以降のジョブは先行ジョブのPDL解析処理が終了するまで待つものとする。
まず、ジョブの種類が、図7に示すように、通常印刷ジョブと蓄積ジョブの2つで、ジョブの順番と組み合わせがあり、2つのPDL解析モジュール101へのコアの配分を、ジョブ種別とジョブの順番に従って決定する場合について、説明する。
レーザプリンタ1は、ネットワーク管理モジュール102を介してホストコンピュータPcから2つのジョブを順次受け取ると、ジョブ管理モジュール100が、1ジョブ目と2ジョブ目のジョブ種別を判別し(ステップS101)、1ジョブ目と2ジョブ目の種別(出力先)が、図7のジョブパターンAとジョブパターンDのように同じジョブ種別であるかチェックする(ステップS102)。
ステップS102で、1ジョブ目と2ジョブ目のジョブ種別が同じ(出力先が同じ)ときには、2ジョブ目のPDL解析処理が早く終了しても、出力先が同じで競合するため、1ジョブ目の出力処理が終了するまで、2ジョブ目の出力処理を待つ必要がある。そこで、ジョブ管理モジュール100は、図5(a)に示したように、PDL非二重起動による処理を行う。すなわち、ジョブ管理モジュール100は、ステップS102で、1ジョブ目と2ジョブ目のジョブ種別が同じときには、1ジョブ目のPDL解析処理が終了するまで、PDL解析モジュール101を二重起動せず(すなわち、2ジョブ目に対してPDL解析モジュール101を起動せず)に、1つのPDL解析モジュール101のみを起動させて、1ジョブ目にCPU25の複数のコアを100%割り当てて、PDL解析処理を行う。そして、ジョブ管理モジュール100は、1ジョブ目のPDL解析が完了するまで、2ジョブ目のPDL解析処理の開始を待ち、1ジョブ目のPDL解析が終了すると、1ジョブ目の出力処理(例えば、印刷処理)を開始するとともに、2ジョブ目のPDL解析を開始して、2ジョブ目のPDL解析が終了しても、1ジョブ目の出力処理(印刷処理等)が終了するまで2ジョブ目の印刷処理の開始を待った後に、2ジョブ目の印刷処理を開始する(ステップS103)。
そして、ステップS102で、ジョブ管理モジュール100は、図7のジョブパターンBとジョブパターンCのように、1ジョブ目と2ジョブ目のジョブ種別が異なるときには、2ジョブ目のPDL解析処理が早く終了した場合、1ジョブ目と2ジョブ目の出力先が異なるため、1ジョブ目の出力処理(印刷処理等)が終了するまで、2ジョブ目の出力処理を待つ必要がなく、直ぐに出力処理を開始することができる。そこで、ジョブ管理モジュール100は、図6(b)に示したように、PDL二重起動による処理を行う。すなわち、ジョブ管理モジュール100は、ステップS102で、1ジョブ目と2ジョブ目のジョブ種別が異なるときには、図6(b)に示したように、入ってきたジョブの順番に、PDL解析モジュール101を順次起動して二重起動してPDL解析処理を行わせるが、このとき、2ジョブ目のPDL解析モジュール101が起動する時点から1ジョブ目に割り当てられるCPU25のコアの使用率を50%に減少させ、2ジョブ目にも、CPU25の50%のコアを割り当てて、PDL解析処理を行う。この場合、レーザプリンタ1は、1ジョブ目と並行処理を行うため、2ジョブ目のPDL解析処理は、上述のように、図6(a)のPDL非二重起動時よりも早く終了し、2ジョブ目のPDL解析処理が早く終了すると、1ジョブ目の印刷処理等の出力処理が終了するまで待つことなく、2ジョブ目のHDD書き込み処理等の1ジョブ目とは異なる出力処理を開始し、PDL非二重起動時よりも、2ジョブ目の非理解析処理が早く終了した分、2ジョブ目の出力処理が早く終了して、全体の処理時間が短くなる。
このように、本実施例のレーザプリンタ1は、ホストコンピュータPcから複数の出力先のうち少なくとも1つを指定する出力先情報の付加されたPDLデータのジョブを該出力先に応じた種別のジョブとして順次取得して、ジョブ管理モジュール100が、該ジョブの発生順と該ジョブのジョブ種別に基づいて、該ジョブのPDLデータを解析して他の形式のデータを生成するとともに同時に並行処理可能な複数のPDL解析モジュール101の割り付けと、該PDL解析モジュール101でのPDL解析処理を実行するCPU25が有する複数のコアの該PDL解析処理に対する配分を制御している。
したがって、ジョブの発生順と通常印刷ジョブや蓄積ジョブ等のジョブの種別に応じて、適切にPDL解析モジュール101の多重機能の要否とコアの配分を制御して、種別の異なる複数のジョブに対するPDL解析処理における複数の実行コアの利用効率をジョブ種別に好適な状態で向上させることができ、ジョブの処理効率を向上させることができる。
また、本実施例のレーザプリンタ1は、ジョブ管理モジュール100が、同時並行処理対象となる複数のジョブのジョブ種別が全て異なると、PDL解析モジュール101を複数起動して、CPU25の複数の実行コアを複数のPDL解析モジュール101に等分に配分してPDL解析処理を同時並行処理させている。
したがって、印刷処理、HDD書き込み処理等の出力処理で先のジョブが終了するのを待つ必要がない場合に、複数のPDL解析モジュール101を同時並列処理させて、PDL解析処理が終了したジョブから出力処理を順次実行させることができ、複数のPDL解析における複数のコアの利用効率を向上させてジョブの処理効率を向上させることができる。
さらに、本実施例のレーザプリンタ1は、ジョブ管理モジュール100が、同時並行処理対象となる複数のジョブのジョブ種別が全て同じであると、PDL解析モジュール101を1つのみ起動して、CPU25の全てのコアを1つのPDL解析モジュール101によるPDL解析に割り当てている。
したがって、印刷処理、HDD書き込み処理等の出力処理で先のジョブが終了するのを待つ必要がある場合には、PDL解析モジュール101を同時並列処理させず、1つのPDL解析モジュール101にCPU25の全てのコアで出力処理まで集中して順次処理させることができ、複数のPDL解析における複数のコアの利用効率を向上させてジョブの処理効率を向上させることができる。
また、本実施例のレーザプリンタ1は、PDLの種類によってCPU25のコアの使用率を変化させてPDL解析を行わせる。すなわち、CPU25のコアが3つ以上である場合、複数のコアを如何に効率的に活用できるかは、PDL内部の処理、すなわち、PDLの種類(RPCS、PCL等)によって、異なる。例えば、マルチコア活用率50%のPDLと30%のPDLにコアを配分する場合、活用率が低い(30%)のPDLには、1個だけコアを割り当て、活用率が高い(50%)のPDLには残り全てのコアを割り当てた方が、マルチコア全体の活用率がより一層高くなる配分となる。
そこで、レーザプリンタ1は、CPU25が3つ以上のコアを有している場合、1ジョブ目と2ジョブ目のジョブ種別が異なるときには、それぞれに50%ずつのコアを割り当てるのではなく、各ジョブのPDLのマルチコア活用率を参照して、各ジョブのPDLのマルチコア活用率に従ってコアの配分を決定する。
そこで、ジョブ管理モジュール100は、図9に示すような各PDLのマルチコア活用率の登録されているマルチコア活用率テーブルを予めNVRAM(実行コア活用率記憶手段)27等に保管しており、このマルチコア活用率テーブルを参照して、ジョブの種別が異なるときに、PDL解析モジュール101へのコアの配分を行う。
すなわち、ジョブ管理モジュール100は、図10に示すように、ネットワーク管理モジュール102を介してホストコンピュータPcから2つのジョブを順次受け取ると、1ジョブ目と2ジョブ目のジョブ種別を判別し(ステップS201)、1ジョブ目と2ジョブ目の種別(出力先)が、同じジョブ種別であるかチェックする(ステップS202)。
ステップS202で、1ジョブ目と2ジョブ目のジョブ種別が同じ(出力先が同じ)ときには、ジョブ管理モジュール100は、上述のように、1ジョブ目のPDL解析処理が終了するまで、PDL解析モジュール101を二重起動せずに、1つのPDL解析モジュール101のみを起動させて、1ジョブ目にCPU25の複数のコアを100%割り当てて、PDL解析処理を行う。そして、ジョブ管理モジュール100は、1ジョブ目のPDL解析が完了するまで、2ジョブ目のPDL解析処理の開始を待ち、1ジョブ目のPDL解析が終了すると、1ジョブ目の出力処理(例えば、印刷処理)を開始するとともに、2ジョブ目のPDL解析を開始して、2ジョブ目のPDL解析が終了しても、1ジョブ目の出力処理(印刷処理等)が終了するまで2ジョブ目の印刷処理の開始を待った後に、2ジョブ目の出力処理(印刷処理等)を開始する(ステップS203)。
ステップS202で、1ジョブ目と2ジョブ目のジョブ種別が異なるときには、2ジョブ目のPDL解析処理が早く終了しても、1ジョブ目と2ジョブ目の出力先が異なるため、ジョブ管理モジュール100は、1ジョブ目の出力処理(印刷処理等)が終了するまで、2ジョブ目の出力処理を待つ必要はないが、ジョブのPDLのマルチコア活用率に応じたコアの配分率でコアを配分することで処理効率を向上させる。
そこで、ジョブ管理モジュール100は、ステップS202で、1ジョブ目と2ジョブ目のジョブ種別が異なるときには、1ジョブ目と2ジョブ目のPDLマルチコア活用率をマルチコア活用率テーブルから取得して比較し(ステップS204)、マルチコア活用率が同じか否かチェックする(ステップS205)。
ステップS205で、マルチコア活用率が異なるときには、ジョブ管理モジュール100は、マルチコア活用率の低いPDLのジョブに1個のコアを配分し、残り全てのコアをマルチコア活用率の高いPDLのジョブに配分するように設定して、PDL解析モジュール101を二重起動させてPDL解析処理を行わせる(ステップS206)。
ステップS205で、マルチコア活用率が同じときには、ジョブ管理モジュール100は、各ジョブに50%ずつのコアを割り当てて、PDL解析モジュール101を二重起動させ、PDL解析処理を行わせる(ステップS207)。
このように、PDLの種類毎に該PDLによるCPU25の複数のコアに対する活用率の登録されているマルチコア活用率テーブルを記憶し、ジョブ管理モジュール100が、2つのPDL解析モジュール101を同時に起動して2つのジョブのPDL解析を並行処理させる場合、2つの該ジョブのPDLに対するマルチコア活用率をマルチコア活用率テーブルから取得して、実行コア活用率が低い方のPDLデータのPDL解析に1つのコアを配分し、マルチコア活用率が高い方のPDLデータのPDL解析に残り全てのコアを配分している。
したがって、マルチコアをより一層効率的に活用してPDL解析することができ、処理速度をより一層向上させることができる。
次に、本実施例のレーザプリンタ1は、ジョブ種類毎にユーザの優先度の設定を可能とし、該優先度の設定に応じてPDL非二重起動とPDL二重起動を選択処理する。
すなわち、ユーザのレーザプリンタ1の利用形態やそのときの処理を優先したいジョブ等のようなユーザの意図に応じて処理を優先させたいジョブ種別が異なるため、ユーザによるホストコンピュータPcでの設定やオペレーションパネル11での設定等に応じてPDL非二重起動とPDL二重起動を選択処理する。例えば、1ジョブ目と2ジョブ目でジョブ種類が異なっていて、1ジョブ目が通常印刷ジョブで、2ジョブ目が蓄積ジョブである場合、図6に示したように、1ジョブ目の通常印刷ジョブは、PDL二重起動で処理を行うと、2ジョブ目の処理によってCPU25のコアが使用されて、1ジョブ目のPDL解析処理の速度が低下し、通常印刷ジョブの全体の処理時間がPDL非二重起動で処理する場合よりも遅くなる。この場合、通常印刷ジョブを優先したいときには、PDL非二重起動で処理する方が、通常印刷ジョブの処理時間を短くすることができる。
そこで、レーザプリンタ1は、図11に示すように、ジョブ種別が異なるか否かだけでなく、ジョブ種別の内容を判別して、PDL解析におけるコア配分を制御する。なお、いま、通常印刷ジョブを優先させて処理するように、設定されているものとする。
すなわち、ジョブ管理モジュール100は、図11に示すように、ネットワーク管理モジュール102を介してホストコンピュータPcから2つのジョブを順次受け取ると、1ジョブ目と2ジョブ目のジョブ種別を判別し(ステップS301)、1ジョブ目と2ジョブ目の種別(出力先)が、同じジョブ種別であるかチェックする(ステップS302)。
ステップS302で、1ジョブ目と2ジョブ目のジョブ種別が同じ(出力先が同じ)ときには、ジョブ管理モジュール100は、上述のように、1ジョブ目のPDL解析処理が終了するまで、PDL解析モジュール101を二重起動せずに、1つのPDL解析モジュール101のみを起動させて、1ジョブ目にCPU25の複数のコアを100%割り当てて、PDL解析処理を行う。そして、ジョブ管理モジュール100は、1ジョブ目のPDL解析が完了するまで、2ジョブ目のPDL解析処理の開始を待ち、1ジョブ目のPDL解析が終了すると、1ジョブ目の出力処理(例えば、印刷処理)を開始するとともに、2ジョブ目のPDL解析を開始して、2ジョブ目のPDL解析が終了しても、1ジョブ目の出力処理(印刷処理等)が終了するまで2ジョブ目の印刷処理の開始を待った後に、2ジョブ目の出力処理(印刷処理等)を開始する(ステップS303)。
ステップS302で、1ジョブ目と2ジョブ目のジョブ種別が異なるときには、ジョブ管理モジュール100は、1ジョブ目が通常印刷ジョブであるかチェックし(ステップS304)、いま、通常印刷ジョブを優先させて処理する設定となっているので、通常印刷ジョブであると、ステップS303に移行して、PDL非二重起動として、1ジョブ目から順次PDL解析処理を行って通常印刷ジョブを優先させて処理する(ステップS303)。
ステップS202で、1ジョブ目が通常印刷ジョブでないときには、ジョブ管理モジュール100は、各ジョブに50%ずつのコアを割り当てて、PDL解析モジュール101を二重起動させ、PDL解析処理を行わせる(ステップS305)。
なお、図11の説明では、通常印刷ジョブを優先させて処理する場合について説明したが、蓄積ジョブを優先させる設定がホストコンピュータPcやオペレーションパネル11で行われていると、ジョブ管理モジュール100は、ステップS304で、1ジョブ目が蓄積ジョブであるかチェックして、蓄積ジョブであると、PDL非二重起動によって100%のコア配分によって蓄積ジョブである1ジョブ目のPDL解析を行うPDL解析処理を行う。
また、ジョブの種別によって優先順位を設けずに、ジョブの処理を行わせたい場合には、優先順位付け無しの設定をホストコンピュータPcやオペレーションパネル11で行うと、ジョブ管理モジュール100は、図8に示したようにデータ処理制御処理を行う。
このように、レーザプリンタ1は、ホストコンピュータPcやオペレーションパネル11から優先処理すべきジョブ種別が適宜設定されると、ジョブ管理モジュール100が、同時並行処理対象となる複数ジョブのうち先頭ジョブのジョブ種別がホストコンピュータPcやオペレーションパネル11によって設定されている優先ジョブ種別であると、PDL解析モジュール101を1つのみ起動して、CPU24の全てのコアを該PDL解析モジュール101によるPDL解析に割り当てている。
したがって、ユーザの意図する優先順位でジョブを処理させることができ、利用性を向上させることができる。
また、本実施例のレーザプリンタ1は、ジョブとして、蓄積同時印刷ジョブを実行する場合がある。この蓄積同時印刷ジョブは、図12に示すように、PDL解析モジュール101でPDL解析処理を行うと、プリントエンジン207で印刷処理を行うと同時に、HDDへのPDL解析処理後のデータの書き込み処理を実行する。すなわち、出力処理時に、プリントエンジン207とHDDの両方を使用することとなり、他の通常印刷ジョブ及び蓄積ジョブの双方と出力処理が競合することになる。
すなわち、1ジョブ目が蓄積同時印刷ジョブであると、蓄積同時印刷ジョブの印刷処理が終了しないと、2ジョブ目はPDL解析処理が完了しても印刷処理あるいはHDD書き込み処理を開始することができない。また、2ジョブ目が蓄積同時印刷ジョブであると、1ジョブ目の出力処理が完了するまで、蓄積同時印刷ジョブの出力処理を開始することができない。例えば、1ジョブ目が通常印刷ジョブで、2ジョブ目が蓄積同時印刷ジョブの場合、蓄積同時印刷ジョブのPDL処理終了後に、HDD書き込み処理はすぐに開始することはできるが、印刷処理は、1ジョブ目の印刷処理が終了するまで開始することができない。したがって、蓄積同時印刷ジョブが含まれているときには、出力処理での競合を速やかに処理するために、PDL解析モジュール101を二重起動させずに、PDL非二重起動によって処理する方が、全体の処理時間を短くすることができる。
そこで、本実施例のレーザプリンタ1は、図13に示すように、ジョブ種別に蓄積同時印刷ジョブが含まれているか否かを判別して、PDL解析におけるコア配分を制御する。
すなわち、ジョブ管理モジュール100は、図13に示すように、ネットワーク管理モジュール102を介してホストコンピュータPcから2つのジョブを順次受け取ると、1ジョブ目と2ジョブ目のジョブ種別を判別し(ステップS401)、1ジョブ目と2ジョブ目のいずれかに蓄積同時印刷ジョブが含まれているかチェックする(ステップS402)。
ステップS402で、蓄積同時印刷ジョブが含まれているときには、ジョブ管理モジュール100は、上述のように、1ジョブ目のPDL解析処理が終了するまで、PDL解析モジュール101を二重起動せずに、1つのPDL解析モジュール101のみを起動させて、1ジョブ目にCPU25の複数のコアを100%割り当てて、PDL解析処理を行う。そして、PDL解析モジュール101は、1ジョブ目のPDL解析が完了するまで、2ジョブ目のPDL解析処理の開始を待ち、1ジョブ目のPDL解析が終了すると、1ジョブ目の出力処理(例えば、印刷処理、HDD書き込み処理またはその双方)を開始するとともに、2ジョブ目のPDL解析を開始して、2ジョブ目のPDL解析が終了しても、1ジョブ目の出力処理(印刷処理等)が終了するまで2ジョブ目の出力処理に印刷処理が含まれているときには、その印刷処理の開始を待った後に、2ジョブ目の出力処理(印刷処理等)を開始する(ステップS403)。
ステップS402で、1ジョブ目と2ジョブ目に蓄積同時印刷ジョブが含まれていないときには、ジョブ管理モジュール100は、上記図8、図10または図11で示したデータ処理制御処理を実行する(ステップS404)。
このように、本実施例のレーザプリンタ1は、同時並行処理対象となる複数のジョブのうち他の全てのジョブの出力先と同じ出力先をその出力先として有するジョブ、例えば、上記蓄積同時印刷ジョブが存在すると、ジョブ管理モジュール100が、PDL解析モジュール101を1つのみ起動して、CPU25の全てのコアを該PDL解析モジュール101によるPDL解析に割り当てている。
したがって、蓄積同時印刷ジョブ等の同時並行処理対象となる複数のジョブのうち他の全てのジョブの出力先と同じ出力先をその出力先として有するジョブが含まれているときには、出力処理での競合を速やかに処理するために、PDL解析モジュール101を二重起動させずに、PDL非二重起動によって処理して、全体の処理時間を短くすることができる。
さらに、本実施例のレーザプリンタ1は、CPU25のコアが3つ以上あり、PDL二重起動で処理する場合、CPU25の3つ以上のコアの配分を、図14に示すように、ジョブのPDLのマルチコア活用率に基づいて行ってもよい。
すなわち、ジョブ管理モジュール100は、ネットワーク管理モジュール102を介してホストコンピュータPcから2つのジョブを順次受け取ると、1ジョブ目と2ジョブ目のジョブ種別を判別し(ステップS501)、1ジョブ目と2ジョブ目の種別(出力先)が、同じジョブ種別であるかチェックする(ステップS502)。
ステップS502で、1ジョブ目と2ジョブ目のジョブ種別が同じ(出力先が同じ)ときには、ジョブ管理モジュール100は、上述のように、1ジョブ目のPDL解析処理が終了するまで、PDL解析モジュール101を二重起動せずに、1つのPDL解析モジュール101のみを起動させて、1ジョブ目にCPU25の複数のコアを100%割り当てて、PDL解析処理を行う。そして、ジョブ管理モジュール100は、1ジョブ目のPDL解析が完了するまで、2ジョブ目のPDL解析処理の開始を待ち、1ジョブ目のPDL解析が終了すると、1ジョブ目の出力処理(例えば、印刷処理)を開始するとともに、2ジョブ目のPDL解析を開始して、2ジョブ目のPDL解析が終了しても、1ジョブ目の出力処理(印刷処理等)が終了するまで2ジョブ目の印刷処理の開始を待っった後に、2ジョブ目の出力処理(印刷処理等)を開始する(ステップS503)。
ステップS502で、1ジョブ目と2ジョブ目のジョブ種別が異なるときには、2ジョブ目のPDL解析処理が早く終了しても、1ジョブ目と2ジョブ目の出力先が異なるため、ジョブ管理モジュール100は、1ジョブ目の出力処理(印刷処理等)が終了するまで、2ジョブ目の出力処理を待つ必要はないが、ジョブのPDLのマルチコア活用率に応じたコアの配分率でコアを配分することで処理効率を向上させる。
そこで、ジョブ管理モジュール100は、ステップS502で、1ジョブ目と2ジョブ目のジョブ種別が異なるときには、1ジョブ目と2ジョブ目のPDLマルチコア活用率をマルチコア活用率テーブルから取得し、1ジョブ目と2ジョブ目のPDLのマルチコア活用率の比に応じてCPU25のコアを配分して、PDL解析モジュール101を二重起動させてPDL解析処理を行わせる(ステップS504)。例えば、1ジョブ目のPDLのマルチコア活用率が50%、2ジョブ目のPDLのマルチコア活用率が30%の場合、5:3の比率でCPU25の複数のコアを配分する。
このようにすると、複数のコアをPDLのコア活用率に基づいて効率的に処理することができ、より一層処理効率を向上させることができる。
なお、上記説明においては、ジョブの種別として、通常印刷出力、蓄積出力、蓄積同時印刷出力の各ジョブを取り上げて説明したが、ジョブ種別としては、上記に限るものではなく、例えば、入力されるデータをPDL処理して、外部装置の蓄積装置に蓄積出力する外部蓄積出力ジョブ、外部のコンピュータ等の装置に転送する転送出力ジョブ等が存在する場合にも、同様に適用することができる。
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
本発明は、マルチコアCPUを搭載して複数のPDL解析モジュールを並列動作可能なプリンタ装置、複合装置等の画像処理装置、画像処理方法、画像処理プログラム及び記録媒体に利用することができる。
1 レーザプリンタ
10 コントローラ
11 オペレーションパネル
12 プリンタエンジン
21 ホストI/F
22 プログラムROM
23 フォントROM
24 パネルI/F
25 CPU
26 RAM
27 NVRAM
28 エンジンI/F
29 オプションRAM
30 バス
NW ネットワーク
Pc ホストコンピュータ
100 ジョブ管理モジュール
101 PDL解析モジュール
102 ネットワーク管理モジュール
103 メモリ管理モジュール
104 印刷管理モジュール
105 システム管理モジュール
106 パネル管理モジュール
10 コントローラ
11 オペレーションパネル
12 プリンタエンジン
21 ホストI/F
22 プログラムROM
23 フォントROM
24 パネルI/F
25 CPU
26 RAM
27 NVRAM
28 エンジンI/F
29 オプションRAM
30 バス
NW ネットワーク
Pc ホストコンピュータ
100 ジョブ管理モジュール
101 PDL解析モジュール
102 ネットワーク管理モジュール
103 メモリ管理モジュール
104 印刷管理モジュール
105 システム管理モジュール
106 パネル管理モジュール
Claims (10)
- 複数の出力先のうち少なくとも1つを指定する出力先情報の付加されたPDLデータを該出力先に応じた種別のジョブとして順次取得するジョブ取得手段と、
前記ジョブの前記PDLデータを解析して他の形式のデータを生成するPDL解析を同時に並行処理可能な複数のPDL解析手段と、
複数の実行コアを有し該実行コアによって前記PDL解析手段のPDL解析を実行する実行手段と、
前記ジョブの発生順と該ジョブのジョブ種別に基づいて、該ジョブのPDLデータのPDL解析を実行する前記PDL解析手段の割り付けと該PDL解析手段に対する前記実行手段が有する複数の前記実行コアの配分を制御するジョブ実行制御手段と、
を備えていることを特徴とする画像処理装置。 - 前記ジョブ実行制御手段は、同時並行処理対象となる複数のジョブのジョブ種別が全て異なると、前記PDL解析手段を複数起動して、前記実行手段の複数の実行コアを複数の該PDL解析手段に等分に配分して前記PDL解析処理を同時並行処理させることを特徴とする請求項1記載の画像処理装置。
- 前記画像処理装置は、前記PDLの種類毎に該PDLによる前記実行手段の複数の実行コアに対する活用率を記憶する実行コア活用率記憶手段を備え、
前記ジョブ実行制御手段は、2つの前記PDL解析手段を同時に起動して2つのジョブのPDL解析を並行処理させる場合、2つの該ジョブのPDLの実行コア活用率を前記実行コア活用率記憶手段から取得して、実行コア活用率が低い方のPDLデータのPDL解析に1つの実行コアを配分し、実行コア活用率が高い方のPDLデータのPDL解析に残り全ての実行コアを配分することを特徴とする請求項1記載の画像処理装置。 - 前記ジョブ実行制御手段は、同時並行処理対象となる複数のジョブのジョブ種別が全て同じであると、前記PDL解析手段を1つのみ起動して、前記実行手段の全ての実行コアを該PDL解析手段によるPDL解析に割り当てることを特徴とする請求項1から請求項3のいずれかに記載の画像処理装置。
- 前記画像処理装置は、優先処理すべきジョブ種別が適宜設定される優先ジョブ種別設定手段を備え、
前記ジョブ実行制御手段は、同時並行処理対象となる複数ジョブのうち先頭ジョブのジョブ種別が前記優先ジョブ種別設定手段で設定されている優先ジョブ種別であると、前記PDL解析手段を1つのみ起動して、前記実行手段の全ての実行コアを該PDL解析手段によるPDL解析に割り当てることを特徴とする請求項1から請求項3のいずれかに記載の画像処理装置。 - 前記ジョブ実行制御手段は、同時並行処理対象となる複数のジョブのうち他の全てのジョブの出力先と同じ出力先をその出力先として有するジョブが存在すると、前記PDL解析手段を1つのみ起動して、前記実行手段の全ての実行コアを該PDL解析手段によるPDL解析に割り当てることを特徴とする請求項1から請求項5のいずれかに記載の画像処理装置。
- 前記ジョブ実行制御手段は、2つの前記PDL解析手段を同時起動して2つのジョブのPDL解析処理を並行処理させる場合、それぞれの実行コア活用率の比率に応じて前記実行手段の複数の実行コアを配分してPDL解析を実行させることを請求項3記載の画像処理装置。
- 複数の出力先のうち少なくとも1つを指定する出力先情報の付加されたPDLで記述されたPDLデータを順次受け取って該出力先に応じた種別のジョブを生成するジョブ取得処理ステップと、
前記ジョブの前記PDLデータを解析して他の形式のデータを生成するPDL解析を同時に並行処理可能な複数のPDL解析処理ステップと、
複数の実行コアを有し該実行コアによって前記PDL解析処理ステップのPDL解析を実行する実行処理ステップと、
前記ジョブの発生順と該ジョブのジョブ種別に基づいて、該ジョブのPDLデータのPDL解析を実行する前記PDL解析処理ステップの割り付けと該PDL解析処理ステップに対する前記実行処理ステップが有する複数の前記実行コアの配分を制御するジョブ実行制御処理ステップと、
を有していることを特徴とする画像処理方法。 - コンピュータに、
複数の出力先のうち少なくとも1つを指定する出力先情報の付加されたPDLで記述されたPDLデータを順次受け取って該出力先に応じた種別のジョブを生成するジョブ取得処理と、
前記ジョブの前記PDLデータを解析して他の形式のデータを生成するPDL解析を同時に並行処理可能な複数のPDL解析処理と、
複数の実行コアを有し該実行コアによって前記PDL解析処理のPDL解析を実行する実行処理と、
前記ジョブの発生順と該ジョブのジョブ種別に基づいて、該ジョブのPDLデータのPDL解析を実行する前記PDL解析処理の割り付けと該PDL解析処理に対する前記実行処理が有する複数の前記実行コアの配分を制御するジョブ実行制御処理と、
を実行させることを特徴とする画像処理プログラム。 - 請求項9記載の画像処理プログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009194970A JP2011046034A (ja) | 2009-08-26 | 2009-08-26 | 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009194970A JP2011046034A (ja) | 2009-08-26 | 2009-08-26 | 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011046034A true JP2011046034A (ja) | 2011-03-10 |
Family
ID=43832857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009194970A Pending JP2011046034A (ja) | 2009-08-26 | 2009-08-26 | 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011046034A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4900530B1 (ja) * | 2011-09-15 | 2012-03-21 | 富士ゼロックス株式会社 | 画像処理装置及びプログラム |
JP2013014039A (ja) * | 2011-07-01 | 2013-01-24 | Canon Inc | 画像形成装置、データ処理方法及びプログラム |
WO2013022138A1 (ko) * | 2011-08-08 | 2013-02-14 | 주식회사 씨드 | 고성능 아날로그-디지털 하이브리드 컴퓨터 제어 기반의 다차원 프린터 |
JP2013161135A (ja) * | 2012-02-01 | 2013-08-19 | Konica Minolta Inc | プリントコントローラー |
JP2020006514A (ja) * | 2018-07-02 | 2020-01-16 | コニカミノルタ株式会社 | 画像形成装置およびプログラム |
-
2009
- 2009-08-26 JP JP2009194970A patent/JP2011046034A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013014039A (ja) * | 2011-07-01 | 2013-01-24 | Canon Inc | 画像形成装置、データ処理方法及びプログラム |
WO2013022138A1 (ko) * | 2011-08-08 | 2013-02-14 | 주식회사 씨드 | 고성능 아날로그-디지털 하이브리드 컴퓨터 제어 기반의 다차원 프린터 |
JP4900530B1 (ja) * | 2011-09-15 | 2012-03-21 | 富士ゼロックス株式会社 | 画像処理装置及びプログラム |
AU2012203636B2 (en) * | 2011-09-15 | 2013-08-29 | Fujifilm Business Innovation Corp. | Image processing apparatus, image processing method, and program |
JP2013161135A (ja) * | 2012-02-01 | 2013-08-19 | Konica Minolta Inc | プリントコントローラー |
JP2020006514A (ja) * | 2018-07-02 | 2020-01-16 | コニカミノルタ株式会社 | 画像形成装置およびプログラム |
JP7172193B2 (ja) | 2018-07-02 | 2022-11-16 | コニカミノルタ株式会社 | 画像形成装置およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4738948B2 (ja) | 情報処理装置、画像処理方法、及びコンピュータプログラム | |
JP3977356B2 (ja) | 情報処理装置およびその制御方法 | |
JPH10340165A (ja) | 情報処理装置及びその方法並びにメモリ媒体 | |
US8159709B2 (en) | Method for canceling a print job submitted to a printer | |
JP5482528B2 (ja) | 印刷文書変換装置及びプログラム | |
JP4939175B2 (ja) | 画像形成装置 | |
JP2008146434A (ja) | 印刷制御装置、印刷制御方法、印刷制御プログラム、印刷装置、印刷方法、印刷プログラム、及び記録媒体 | |
JP2011046034A (ja) | 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体 | |
JP6206451B2 (ja) | 分散印刷制御プログラム及び分散印刷制御装置及び分散印刷制御方法 | |
US8767247B2 (en) | Print data generation device, print data generation method and computer-readable medium for controlling rasterization processing | |
US8643854B2 (en) | Image forming apparatus and print control method used therein | |
JP2009241485A (ja) | 印刷装置 | |
JP5740913B2 (ja) | 画像形成装置およびその制御方法 | |
JP2012237905A (ja) | 画像形成装置 | |
JP3724536B2 (ja) | 画像出力制御装置およびその処理実行制御方法 | |
JP2010041415A (ja) | 画像形成装置、メモリ管理方法、及びメモリ管理プログラム | |
JP5589582B2 (ja) | 画像処理装置及びプログラム | |
JP5799968B2 (ja) | 印刷システム | |
JP6485699B2 (ja) | 画像形成装置、画像形成システム | |
JP2007328737A (ja) | ホスト装置、データ処理装置及びデータ処理システム | |
JP2018010640A (ja) | 分散印刷制御プログラム及び分散印刷制御装置及び分散印刷制御方法 | |
JP2013126748A (ja) | 画像形成装置と該画像形成方法 | |
JP5062750B2 (ja) | 画像形成装置 | |
JP2012008838A (ja) | 印刷文書変換装置およびプログラム | |
JP2013052568A (ja) | 画像形成装置、制御方法及び制御プログラム |