(57)【要約】【課題】  マルチプロセッサを使用したページプリンタ制御装置において、各プロセッサの負荷を均等にし、高速な印刷を可能にする。【解決手段】  各々が印刷コマンドの解釈をして、ページのビットマップ展開および描画パラメータ情報の更新のみでビットマップ展開を伴わない空描画の２種類のページ処理が可能な複数のプロセッサを備え、ページごとに、当該ページのページ処理を最初に開始したプロセッサのみにビットマップ展開を行わせ、他のプロセッサには前記ページに対し空描画を行わせることにより、当該ページにおいて、空描画を行うプロセッサにビットマップ展開を行うプロセッサより先にページ処理を完了させ、前記ページのビットマップ展開が終了する前に前記ページの次のページのビットマップ展開を開始させる。【選択図】図１
2005063027.tif 000002
【特許請求の範囲】
【請求項１】
各々が印刷コマンドの解釈をして、ページのビットマップ展開および描画パラメータ情報の更新のみでビットマップ展開を伴わない空描画の２種類のページ処理が可能な複数のプロセッサを備え、ページごとに、当該ページのページ処理を最初に開始したプロセッサのみにビットマップ展開を行わせ、他のプロセッサには前記ページに対し空描画を行わせることにより、当該ページにおいて、空描画を行うプロセッサにビットマップ展開を行うプロセッサより先にページ処理を完了させ、前記ページのビットマップ展開が終了する前に前記ページの次のページのビットマップ展開を開始させることを特徴とするページプリンタ制御装置。
【請求項２】
前記各プロセッサは、他のプロセッサが処理をしているページがビットマップ展開であるか空描画であるかの情報と、処理中のページ番号と、処理を完了している最新の印刷コマンド位置情報と、前記位置の印刷コマンド完了時点で保持している描画パラメータ情報とを取得可能であることを特徴とする請求項１記載のページプリンタ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ページプリンタ制御装置に関するものである。
【背景技術】
【０００２】
ページプリンタ制御装置における高速印刷のための制御方法として、マルチプロセッサを使用しビットマップ展開をページごとに並列に処理する制御方法がいくつか提案考されている。しかし、ページプリンタ制御装置が処理する印刷コマンドには、描画パラメータをセットするものがあり、それらの中には次のページに引き継がれるものがあるため、ビットマップ展開をページごとに並列に処理する場合、描画パラメータをセットする印刷コマンドをどのように扱うかが一つの課題である。この課題を解決する一つの方法として、複数ページの印刷コマンドをコマンドバッファに格納し、あるプロセッサは空描画をして描画パラメータのセットだけを行い、空描画が終了したページを別のプロセッサがビットマップ展開するというものがある（例えば、特許文献１参照。）。
【０００３】
【特許文献１】特開２００３−０６７１５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の方法では、印刷データによって、空描画を行うプロセッサに負荷が集中し、他のビットマップ展開を行うプロセッサに待ち時間ができてしまう場合がある。
【０００５】
本発明は、各プロセッサに対する負荷を均等にし、より高速な印刷を可能にすることを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題は、各々が印刷コマンドの解釈をして、ページのビットマップ展開および描画パラメータ情報の更新のみでビットマップ展開を伴わない空描画の２種類のページ処理が可能な複数のプロセッサを備え、ページごとに、当該ページのページ処理を最初に開始したプロセッサのみにビットマップ展開を行わせ、他のプロセッサには前記ページに対し空描画を行わせることにより、当該ページにおいて、空描画を行うプロセッサにビットマップ展開を行うプロセッサより先にページ処理を完了させ、前記ページのビットマップ展開が終了する前に前記ページの次のページのビットマップ展開を開始させることによって水決される。
【発明の効果】
【０００７】
本発明によれば、ビットマップ展開を行っているプロセッサがあるページの処理に時間がかかってしまった場合でも、他のプロセッサがそのページの空描画を終了すれば、そのページのビットマップ展開を終了する前に、次のページのビットマップ展開を行うことができるので、その分の時間を短縮できるようになり、高速印刷が可能となる。
【発明を実施するための最良の形態】
【０００８】
マルチプロセッサを使用したページプリンタ制御装置において、各プロセッサの負荷を均等にし、高速な印刷を可能にする実施例について以下説明する。
【実施例】
【０００９】
図１および図２を用いて、本発明の一実施例を説明する。本実施例では、３つのプロセッサを使用した例について説明する。
【００１０】
図２は、本発明によるページプリンタ制御装置のブロック図を示す。
１はホストで、２はホスト１から送られてきた印刷コマンドを一時的に格納するコマンドバッファ、６〜８はプロセッサである。
【００１１】
４はコマンドバッファ２に格納された印刷コマンドを解釈し描画パラメータの更新のみを行いビットマップ展開を伴わない空描画部、５はコマンドバッファ２に格納された印刷コマンドを解釈しビットマップ展開する展開部である。プロセッサ６〜８は、空描画部４に指示して空描画をすることができ、展開部５に指示してビットマップ展開をするようにことができ、空描画およびビットマップ展開は他のプロセッサの影響を受けずに動作するように構成している。また、３は空描画またはビットマップ展開での印刷コマンドの解釈において、各プロセッサごとに処理中のページがビットマップ展開であるか空描画であるかの情報と、処理中のページ番号と、最後に解釈した印刷コマンド位置と、前記印刷コマンド位置解釈時点での描画パラメータ情報とを保存する情報記憶部である。そして、情報記憶部３に保存された任意のプロセッサの各情報は、全てのプロセッサから取得することが可能である。
また、９は展開部５によりビットマップ展開されたページイメージを印刷する印刷機構部である。
【００１２】
図１は、本発明によるページプリンタ制御装置における各プロセッサのページ単位の処理時間と時間経過の関係を示す図である。
ホスト１から送信された印刷コマンドは５ページ分とする。また、以下において、当該プロセッサから他のプロセッサの処理の進行状況は、情報記憶部３で取得した情報から判断している。
【００１３】
最初のページＰａｇｅ１は、各プロセッサ６〜８がほぼ同時に処理を開始する（ｔ０）が、最も早く処理を開始したプロセッサをプロセッサ６とする。ただし、２つまたは３つのプロセッサが全く同時に処理を開始した場合、あらかじめプロセッサにつけておいた優先順位が最も高いプロセッサをプロセッサ６とする。ページごとに最も早く処理を開始したプロセッサがビットマップ展開を行うので、Ｐａｇｅ１はプロセッサ６がビットマップ展開を行う。残りの２つのプロセッサ７およびプロセッサ８は、Ｐａｇｅ１は既にビットマップ展開が開始されているので、空描画を行う。プロセッサ７およびプロセッサ８によるＰａｇｅ１の空描画はほぼ同時に完了（ｔ１）し、プロセッサ６によるＰａｇｅ１のビットマップ展開より先に完了する。
【００１４】
Ｐａｇｅ２は、プロセッサ７、８がほぼ同時に処理を開始するが、早く処理を開始したプロセッサをプロセッサ７とする。ただし、２つのプロセッサが全く同時に処理を開始した場合、あらかじめプロセッサにつけておいた優先順位が高い方のプロセッサをプロセッサ７とする。ページごとに最も早く処理を開始したプロセッサがビットマップ展開を行うので、プロセッサ７がビットマップ展開を行い、プロセッサ８は空描画を行う。プロセッサ８によるＰａｇｅ２の空描画は、プロセッサ７によるＰａｇｅ２のビットマップ展開より先に完了する。また、プロセッサ８によるＰａｇｅ２の空描画は、プロセッサ６によるＰａｇｅ１のビットマップ展開より先に完了したとする（ｔ２）。
【００１５】
この場合、Ｐａｇｅ３は、プロセッサ８がビットマップ展開を行う。この時点で、３つのプロセッサ６〜８ともビットマップ展開を行っており、３つのプロセッサの中でプロセッサ６が最も早くビットマップ展開を完了したとする（ｔ３）。プロセッサ６は、他の２つプロセッサのうちプロセッサ８の方が先の印刷コマンドを処理していることが分かるので、プロセッサ８が処理を完了している最新の印刷コマンド位置とそのときの描画パラメータ情報を情報記憶部３から取得し、次の印刷コマンドからＰａｇｅ３の空描画を開始する。
【００１６】
次に、３つのプロセッサのページ処理の中で、プロセッサ６のＰａｇｅ３の空描画が最も早く完了したとする（ｔ４）。この時点で、プロセッサ６が最も先の印刷コマンドを処理しているので、プロセッサ６はＰａｇｅ４のビットマップ展開を行う。
【００１７】
次に、ページ処理が完了するのがプロセッサ７によるＰａｇｅ２のビットマップ展開とする（ｔ５）。この時、最も先の印刷コマンド処理を行っているのはプロセッサ６なので、プロセッサ７は、プロセッサ６が処理を完了している最新の印刷コマンド位置とそのときの描画パラメータ情報を情報記憶部３から取得し、次の印刷コマンドからＰａｇｅ４の空描画を開始する。
【００１８】
次に、ページ処理が完了するのがプロセッサ７によるＰａｇｅ４の空描画とする（ｔ６）。プロセッサ７が最も先の印刷コマンドを処理しているので、プロセッサ７はＰａｇｅ５のビットマップ展開を行う。
【００１９】
次に、ページ処理が完了するのがプロセッサ８によるＰａｇｅ３のビットマップ展開とする（ｔ７）。この時、最も先の印刷コマンド処理を行っているのはプロセッサ７なので、プロセッサ８はプロセッサ７が処理を完了している最新の印刷コマンド位置とそのときの描画パラメータ情報を情報記憶部３から取得し、次の印刷コマンドからＰａｇｅ５の空描画を開始する。
【００２０】
次に、ページ処理が完了するのがプロセッサ８によるＰａｇｅ５の空描画とする（ｔ８）。プロセッサ８が最も先の印刷コマンドを処理しているが、この先の印刷コマンドがないので、プロセッサ８は次の印刷コマンド待ちになる。
【００２１】
続いて、ページ処理が完了するのがプロセッサ６によるＰａｇｅ４のビットマップ展開とする（ｔ９）。この時、最も先の印刷コマンド処理を行っているのはプロセッサ８なので、プロセッサ６は、プロセッサ８が処理を完了している最新の印刷コマンド位置とそのときの描画パラメータ情報を情報記憶部３から取得する。しかし、この先の印刷コマンドがないので、プロセッサ６は次の印刷コマンド待ちになる。
【００２２】
続いて、プロセッサ７によるＰａｇｅ５のビットマップ展開が完了により（ｔ１０）、５ページ分のビットマップ展開が完了し、プロセッサ７も次の印刷コマンド待ちになる。
【００２３】
本実施例のようにページプリンタ制御装置の制御を行えば、ページ数が異なった場合においても、各ページの処理時間が異なった場合においても、また、プロセッサの数が異なった場合においても、同様に制御することが可能である。
【図面の簡単な説明】
【００２４】
【図１】本発明によるページプリンタ制御装置における各プロセッサのページ単位の処理時間と時間経過の関係を示す図である。
【図２】本発明によるページプリンタ制御装置のブロック図である。
【符号の説明】
【００２５】
１はホスト、２はコマンドバッファ、３は情報記憶部、４は空描画部、５は描画部、６、７、８はプロセッサ、９は印刷機構部である。
【図１】
2005063027.tif 000003
【図２】
2005063027.tif 000004