(57)【要約】【課題】  データを描画する際にハードウェアとソフトウェアを効率よく使用して、プリンタ記述言語による印刷の高速化が図れる印刷処理システムを提供する。【解決手段】  この印刷処理システムは、レンダリング処理を行ってバンドメモリに描画してから印刷する印刷処理システムであって、印刷するための印刷データを送信するホストコンピュータと、該ホストコンピュータから送られてきた印刷データを解釈して、解釈された印刷データのうちの描画コマンドの並び替えと、ハードとソフトの図形描画処理とに振り分けてディスプレイリストを作成するディスプレイリスト作成部を有する印刷装置とを備えている。【選択図】  図１
2006007496.tif 000002
【特許請求の範囲】
【請求項１】
レンダリング処理を行ってバンドメモリに描画してから印刷する印刷処理システムにおいて、印刷するための印刷データを送信するホストコンピュータと、該ホストコンピュータから送られてきた印刷データを解釈して、解釈された印刷データのうちの描画コマンドの並び替えと、ハードとソフトの図形描画処理とに振り分けを行ってディスプレイリストを作成するディスプレイリスト作成部を有する印刷装置と、を備えることを特徴とする印刷処理システム。
【請求項２】
レンダリング処理を行ってバンドメモリに描画してから印刷する印刷処理システムにおいて、印刷データを解釈して、解釈された印刷データのうちの描画コマンドの並び替えと、ハードとソフトの図形描画処理とに振り分けを行ってディスプレイリストを作成するディスプレイリスト作成部を有し、このディスプレイリストを印刷装置に送信するプリンタドライバを備えるホストコンピュータと、該ホストコンピュータから送られてきたディスプレイリストの描画コマンドをハードとソフトの図形描画処理とに振り分けて印刷する印刷装置と、を備えることを特徴とする印刷処理システム。
【請求項３】
レンダリング処理を行ってバンドメモリに描画してから印刷する印刷処理システムにおいて、印刷データを解釈して、解釈された印刷データのうちの描画コマンドの並び替えと、ハードとソフトの図形描画処理とに振り分けを行ってディスプレイリストを作成するディスプレイリスト作成部を有し、このディスプレイリストをプリンタサーバに送信するプリンタドライバを備えるホストコンピュータと、該ホストコンピュータから送られてきたディスプレイリストを印刷装置へ送信するプリンタサーバと、該プリンタサーバから送られてきたディスプレイリストの描画コマンドをハードとソフトの図形描画処理とに振り分けて印刷する印刷装置と、を備えることを特徴とする印刷処理システム。
【請求項４】
請求項２または３に記載の印刷処理システムにおいて、前記ホストコンピュータ上のプリンタドライバでディスプレイリストの作成を行う場合には、印刷データがハード向けかソフト向けかを示す情報を付加し、前記印刷装置では印刷データがハード向けかソフト向けかを判別して、それぞれの描画処理に振り分けることを特徴とする印刷処理システム。
【請求項５】
レンダリング処理を行ってバンドメモリに描画してから印刷する印刷処理システムにおいて、印刷するための印刷データを送信するホストコンピュータと、該ホストコンピュータから送られてきた印刷データを解釈して、解釈された印刷データのうちの描画コマンドの並び替えと、ハードとソフトの図形描画処理とに振り分けを行ってディスプレイリストを作成するディスプレイリスト作成部を有し、このディスプレイリストを印刷装置に送信するプリンタサーバと、該プリンタサーバから送られてきたディスプレイリストの描画コマンドをハードとソフトの図形描画処理とに振り分けて印刷する印刷装置と、を備えることを特徴とする印刷処理システム。
【請求項６】
請求項５に記載の印刷処理システムにおいて、前記プリンタサーバ上でディスプレイリストの作成を行う場合には、該プリンタサーバで印刷データがハード向けかソフト向けかを示す情報を付加し、前記印刷装置では印刷データがハード向けかソフト向けかを判別して、それぞれの描画処理に振り分けることを特徴とする印刷処理システム。
【請求項７】
請求項１乃至６のいずれかに記載の印刷処理システムにおいて、前記いずれかの装置により描画コマンドの入れ替えとディスプレイリストの作成の何れを行うかを、全体の処理効率が最も良くなるように選択するようにしたことを特徴とする印刷処理システム。
【請求項８】
請求項１乃至７のいずれかに記載の印刷処理システムにおいて、前記ディスプレイリスト作成部では、振り分けた描画コマンドをディスプレイリスト保存用メモリ領域のハードとソフトの図形描画処理用それぞれに向けて記憶させることを特徴とする印刷処理システム。
【請求項９】
請求項８に記載の印刷処理システムにおいて、前記ディスプレイリスト作成部では、ハード側で処理可能な描画コマンド群があった時、その描画コマンド群をハードで処理する時間よりもソフトで処理した方が高速化できる場合には、その描画コマンド群をソフトで処理することを特徴とする印刷処理システム。
【請求項１０】
請求項９に記載の印刷処理システムにおいて、前記ディスプレイリスト作成部では、ハード側で処理可能な描画コマンドと処理不可能な描画コマンドが混在している場合、描画結果に影響がなければディスプレイリスト上の描画コマンド順を入れ替えて、ハード側で処理可能な描画コマンドをまとめるようにしたことを特徴とする印刷処理システム。
【請求項１１】
請求項１０に記載の印刷処理システムにおいて、前記ディスプレイリスト作成部では、複数のバンドメモリを同時に書き出し先として使用できる場合には、ハード側で処理可能な描画コマンドのみのバンド、ハード側で処理不可能な描画コマンドを含むバンド、ハード側で処理不可能な描画コマンドだけのバンドを判別し、前記各バンドの処理順を最適化するようにしたことを特徴とする印刷処理システム。
【請求項１２】
請求項１１に記載の印刷処理システムにおいて、同一ページ内に、ハード側で全て処理可能な描画コマンドからなるバンドとソフト側でしか処理できない描画コマンドからなるバンド、もしくは描画コマンドの多くがソフト側でしか処理できないバンドがあった場合に、それぞれを同時にハードとソフトで処理するようにしたことを特徴とする印刷処理システム。
【請求項１３】
請求項１２に記載の印刷処理システムにおいて、単一のバンドのみを処理するようにしたことを特徴とする印刷処理システム。
【請求項１４】
請求項１３に記載の印刷処理システムにおいて、複数のバンドを同時に処理するようにしたことを特徴とする印刷処理システム。
【請求項１５】
請求項１３に記載の印刷処理システムにおいて、描画コマンドの入れ替えを、単一バンドだけでなく処理している全てのバンドの描画コマンドを対象に行うようにしたことを特徴とする印刷処理システム。
【請求項１６】
請求項１乃至１５のいずれかに記載の印刷処理システムにおいて、ソフト側の処理においてはディスプレイリストだけでなく、描画コマンド毎に関数コールからでも動作が可能としたことを特徴とする印刷処理システム。
【請求項１７】
コンピュータに、請求項１乃至１６のいずれかに記載の印刷処理システムの機能を実行させるためのプログラム。
【請求項１８】
請求項１７に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷処理システム、プログラムおよび記録媒体に関し、特に図形描画のハードウェアおよびソフトウェアによる使い分けによる印刷の高速化に関する。
【背景技術】
【０００２】
プリンタで印刷を行う場合、パーソナルコンピュータにより作成されたプリンタ言語による印刷データをプリンタが受信して画像形成することによって印刷実行している。
プリンタでは、パーソナルコンピュータにより作成されたプリンタ言語による印刷データをインタープリタで解釈してディスプレイリストに変換し、さらにディスプレイリストを解釈して、図形描画部でビットマップデータに変換して、変換されたビットマップデータを用紙に印刷する。
プリンタ言語では、図形の種類、原点、大きさ、前景色、背景色、パターン、塗りつぶしの有無等の情報をそれぞれ別のコマンドで設定するようになっている。そのため、１つの図形（オブジェクトという）をビットマップデータへ変換するためには、複数のコマンドを参照しなければならない。このため、インタープリタでは、プリンタ言語を解釈し、各々のオブジェクトに対して必要となる図形の情報を１つにまとめた形のディスプレイリストに変換する。また、ラスタライズを複数のバンドに分割して行う場合、バンドとそのバンドに描画されるべきオブジェクトの対応表をも合わせて作成する。
図形描画部は、バンドに分割してラスタライズを行う。インタープリタから出力されたディスプレイリストと対応表は、図形描画部の中間データメモリに一時記憶される。中間データメモリに格納された対応表により、現在ラスタライズを行っているバンドに描画されるオブジェクトを求め、中間データメモリよりディスプレイリストを読み出して、ディスプレイリストを解釈して図形の種類を決定し、楕円、矩形、水平な直線等の図形をビットマップ化してページメモリへ描画する。
このようなレンダリング処理を高速化する技術として次のものがある。
特許文献１には、プリンタ内にハードウェアによる描画処理部とファームウェアによる描画処理部とを設け、この両方を利用する技術が開示されている。この技術は、描画処理能力から処理時間を予測し、ホストコンピュータかプリンタの何れかで処理する技術である。
また、特許文献２は、ジオメトリ変換をホストコンピュータで行うか、プリンタで行うかを選択し、ラスタライズをプリンタ側で行う技術である。
また、特許文献３は、印刷 ジョブを流す複数のホストコンピュータと、それらの印刷 ジョブを総括して受けるプリンタサーバコンピュータを共通の通信ネットワーク上に配置し、それぞれのホストコンピュータにてＣＰＵ負荷状態を記憶し、プリンタサーバ、各ホストコンピュータのＣＰＵ負荷情報を取得することによって、ネットワーク上に接続された複数のコンピュータの既存のハード ウェア資源を流用してソフトウェアのみで、低コストの高速プリンタサーバを実現している。
【特許文献１】特開平６−１６８０８４号公報
【特許文献２】特開平１１−１８８９３０号公報
【特許文献３】特開平１１−２５９２５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
一方、近年、画像技術の高解像度化、多値化が進み、文字や図形などの画像情報からビットマップに展開するためのメモリが増加し、展開に要する処理時間が増加している。この処理時間を短縮する方法として、専用のハードウェアを使用することが多くなってきた。しかし、ソフトウェアで描画するよりもハードウェアで描画する方が処理時間は短くなるが、反面全描画をハードウェアに任せることはコストの面、設計段階での難しさなどからできないことが多い。そのため両者を使い分けることになるが、コマンド毎にハードウェアで処理可能、不可能を判別していくと、ハードウェアへの切り替えに必要な割り込み待ち時間のために、思ったより高速に描画できないことがある。
また、昨今に見られるようなプリンタシステムでは、プリンタ内の操作のみでバンドサイズを変更することによって印刷の高速度化や省メモリ化がなされていた。しかしながら、プリンタのマルチファンクション化に伴って、データ受信後、プリンタのＣＰＵでの描画処理を直ちに開始することができなかった。特に、前記特許文献１においては、スプール済みのバンド数に対する処理をホストコンピュータかプリンタのどちらで行うのかが特定されていなかったために、前述の問題点を十分に解決していなかった。
本発明は、以上のような実情を考慮してなされたものであって、データを描画する際にハードウェアとソフトウェアを効率よく使用して、プリンタ記述言語による印刷の高速化が図れる印刷処理システム、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記の課題を解決するために、請求項１に記載の発明は、レンダリング処理を行ってバンドメモリに描画してから印刷する印刷処理システムにおいて、印刷するための印刷データを送信するホストコンピュータと、該ホストコンピュータから送られてきた印刷データを解釈して、解釈された印刷データのうちの描画コマンドの並び替えと、ハードとソフトの図形描画処理とに振り分けを行ってディスプレイリストを作成するディスプレイリスト作成部を有する印刷装置とを備えることを特徴とする。
請求項２に記載の発明は、レンダリング処理を行ってバンドメモリに描画してから印刷する印刷処理システムにおいて、印刷データを解釈して、解釈された印刷データのうちの描画コマンドの並び替えと、ハードとソフトの図形描画処理とに振り分けを行ってディスプレイリストを作成するディスプレイリスト作成部を有して、このディスプレイリストを印刷装置に送信するプリンタドライバを備えるホストコンピュータと、該ホストコンピュータから送られてきたディスプレイリストの描画コマンドをハードとソフトの図形描画処理とに振り分けて印刷する印刷装置とを備えることを特徴とする。
請求項３に記載の発明は、レンダリング処理を行ってバンドメモリに描画してから印刷する印刷処理システムにおいて、印刷データを解釈して、解釈された印刷データのうちの描画コマンドの並び替えと、ハードとソフトの図形描画処理とに振り分けを行ってディスプレイリストを作成するディスプレイリスト作成部を有して、このディスプレイリストをプリンタサーバに送信するプリンタドライバを備えるホストコンピュータと、該ホストコンピュータから送られてきたディスプレイリストを印刷装置へ送信するプリンタサーバと、該プリンタサーバから送られてきたディスプレイリストの描画コマンドをハードとソフトの図形描画処理とに振り分けて印刷する印刷装置とを備えることを特徴とする。
請求項４に記載の発明は、請求項２または３に記載の印刷処理システムにおいて、前記ホストコンピュータ上のプリンタドライバでディスプレイリストの作成を行う場合には、印刷データがハード向けかソフト向けかを示す情報を付加し、前記印刷装置では印刷データがハード向けか、ソフト向けかを判別して、それぞれの描画処理に振り分けることを特徴とする。
【０００５】
請求項５に記載の発明は、レンダリング処理を行ってバンドメモリに描画してから印刷する印刷処理システムにおいて、印刷するための印刷データを送信するホストコンピュータと、該ホストコンピュータから送られてきた印刷データを解釈して、解釈された印刷データのうちの描画コマンドの並び替えと、ハードとソフトの図形描画処理とに振り分けを行ってディスプレイリストを作成するディスプレイリスト作成部を有して、このディスプレイリストを印刷装置に送信するプリンタサーバと、該プリンタサーバから送られてきたディスプレイリストの描画コマンドをハードとソフトの図形描画処理とに振り分けて印刷する印刷装置とを備えることを特徴とする。
請求項６に記載の発明は、請求項５に記載の印刷処理システムにおいて、前記プリンタサーバ上でディスプレイリストの作成を行う場合には、該プリンタサーバで印刷データがハード向けかソフト向けかを示す情報を付加し、前記印刷装置では印刷データがハード向けか、ソフト向けかを判別して、それぞれの描画処理に振り分けることを特徴とする。
請求項７に記載の発明は、請求項１乃至６のいずれかに記載の印刷処理システムにおいて、前記いずれの装置で、描画コマンドの入れ替えとディスプレイリストの作成を行うかを、全体の処理効率が最も良くなるように選択するようにしたことを特徴とする。
請求項８に記載の発明は、請求項１乃至７のいずれかに記載の印刷処理システムにおいて、前記ディスプレイリスト作成部では、振り分けた描画コマンドをディスプレイリスト保存用メモリ領域のハードとソフトの図形描画処理用それぞれに向けて記憶させることを特徴とする。
請求項９に記載の発明は、請求項８に記載の印刷処理システムにおいて、前記ディスプレイリスト作成部では、ハード側で処理可能な描画コマンド群があった時、その描画コマンド群をハードで処理する時間よりもソフトで処理した方が高速化できる場合には、その描画コマンド群をソフトで処理することを特徴とする。
【０００６】
請求項１０に記載の発明は、請求項９に記載の印刷処理システムにおいて、前記ディスプレイリスト作成部では、ハード側で処理可能な描画コマンドと処理不可能な描画コマンドが混在している場合、描画結果に影響がなければディスプレイリスト上の描画コマンド順を入れ替えて、ハード側で処理可能な描画コマンドをまとめるようにしたことを特徴とする。
請求項１１に記載の発明は、請求項１０に記載の印刷処理システムにおいて、前記ディスプレイリスト作成部では、複数のバンドメモリを同時に書き出し先として使用できる場合には、ハード側で処理可能な描画コマンドのみのバンド、ハード側で処理不可能な描画コマンドを含むバンド、ハード側で処理不可能な描画コマンドだけのバンドを判別し、前記各バンドの処理順を最適化するようにしたことを特徴とする。
請求項１２に記載の発明は、請求項１１に記載の印刷処理システムにおいて、同一ページ内に、ハード側で全て処理可能な描画コマンドからなるバンドとソフト側でしか処理できない描画コマンドからなるバンド、もしくは描画コマンドの多くがソフト側でしか処理できないバンドがあった場合に、それぞれを同時にハードとソフトで処理するようにしたことを特徴とする。
請求項１３に記載の発明は、請求項１２に記載の印刷処理システムにおいて、単一のバンドのみを処理するようにしたことを特徴とする。
請求項１４に記載の発明は、請求項１３に記載の印刷処理システムにおいて、複数のバンドを同時に処理するようにしたことを特徴とする。
請求項１５に記載の発明は、請求項１３に記載の印刷処理システムにおいて、描画コマンドの入れ替えを、単一バンドだけでなく処理している全てのバンドの描画コマンドを対象に行うようにしたことを特徴とする。
請求項１６に記載の発明は、請求項１乃至１５に記載の印刷処理システムにおいて、ソフト側の処理においてはディスプレイリストだけでなく、描画コマンド毎に関数コールからでも動作が可能としたことを特徴とする。
請求項１７に記載の発明は、コンピュータに、請求項１乃至１６のいずれかに記載の印刷処理システムの機能を実行させるためのプログラムであることを特徴とする。
請求項１８に記載の発明は、請求項１７に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ハードウェアとソフトウェアの描画処理を効率よく使い分けられるので、プリンタ記述言語による印刷処理を高速化することができる。
また、コマンドの振り分けを処理に余裕のある装置で行えるようにしたので、印刷処理システム全体の処理が高速化できる。
【発明を実施するための最良の形態】
【０００８】
以下、図面を参照して、本発明の印刷処理システムに係る好適な実施形態を説明する。
図１は、本実施形態の印刷処理システムの構成を示すブロック図であり、同図において、ホストコンピュータ（以下、ホストＰＣという）１上のプリンタドライバが生成した描画コマンドからなる印刷データが印刷装置に送られて、印刷装置でその印刷データを受信する。
印刷装置では、プリンタコントローラ２内のインタープリタ１０が印刷データを受け取り、中間コマンド形式に変換して中間データメモリ２０に保存する。
ディスプレイリスト作成部３は、この中間データメモリ２０に記憶された中間コマンド形式から図形描画部１２（ソフトウェアで構成する）または図形描画回路２２（ハードウェアで構成する）に渡すディスプレイリストを生成して、ディスプレイリスト保存用データメモリ２１のそれぞれの処理用領域（ハードウェアおよびソフトウェア用のそれぞれのメモリ）に保存する。ここで、ディスプレイリストとは、実際に印刷する用紙サイズに応じて図形やフォントなどを印刷するための展開開始座標およびそのデータの先頭アドレス等からなる印刷前の中間言語のことである。さらに、ソフト側の処理においては、ディスプレイリストを描画コマンドではなく、関数コールとするようにしてもよい。
このとき、コマンド振分判定部１１は、中間データメモリ２０に記憶された中間コマンドを解釈しながら、図形描画部１２で処理するか、または図形描画回路２２で処理するかを判断してディスプレイリストを生成する。また、描画範囲により描画するべきかどうかの判定も同時に行う。
さらに、描画コマンドの並び替えを行っても描画結果に影響がなければディスプレイリスト上のコマンド順を入れ替えて、ハード側で処理可能なコマンドをまとめるようにしてもよい。
この割り振りは、図形描画部１２で処理するよりも図形描画回路２２で処理する方が高速にバンドメモリへの描画が行えるので、基本的には図形描画回路２２を割り振ることになる。しかし、図形描画回路２２で処理する際にはどうしても処理の最初に割り込み時間が必要となり、図形描画回路２２を用いた場合の処理時間としては、図２に示したように図形描画回路２２への割り込み時間（ハードの起動にかかる時間）と、図形描画回路２２における処理時間との加算分だけの時間が必要となる。この図形描画回路２２への割り込み時間は、一定時間に固定されており、動作環境毎に定数として保持しておく。
従って、このコマンド振分判定部１１では、全ての描画を図形描画回路２２で処理可能ではない場合、また、どうしても図形描画部１２と併用する必要がある場合には、割り込み時間を考慮した図形描画回路２２の処理時間が図形描画部１２での処理時間より速いときには、図形描画回路２２で処理を行うように判断し、さもなければ図形描画部１２で処理するように判断する。
【０００９】
この判断は、例えば、描画にかかる処理時間がほとんど描画面積に比例するため、処理しようとする描画コマンド群の描画面積（この描画面積は、描画コマンドの引数（幅、高さなど）から求められる）をもとに行う。
さらに、コマンド振分判定部１１で、図形描画回路２２と図形描画部１２の描画結果が変わらないのであれば並列に、そうでなければ交互に動作させる判断も行うようにすれば、より高速に描画することができる。
このように振り分けられたディスプレイリストを図形描画部１２および図形描画回路２２へ渡すことにより、生成されたビットマップデータをページメモリ２３へ出力し、このページメモリ２３に書き込まれた内容がプリンタエンジン４に渡され紙面へ印刷される。
図３は、上述した実施形態において、ホストＰＣ１から送られた印刷データをインタープリタ１０で中間データ形式に変換し、その変換結果を直接ディスプレイリスト作成部３へ供給する構成としたものである。
図４は、上述の実施形態において、図形描画処理のハードウェアまたはソフトウェアによる処理の振分をプリンタドライバで行うようにした構成を示すブロック図である。
【００１０】
図４では、印刷装置４１のプリンタコントローラが直接ディスプレイリストを処理できる場合には、アプリケーション４０からの印刷データを受信したホストＰＣ１側のプリンタドライバ３０がディスプレイリストを生成し、この生成したディスプレイリストを印刷装置４１へ送るようにする。
このプリンタドライバ３０は、アプリケーション４０から受信した印刷データをＰＤＬ言語生成部３１において抽象度の高い描画コマンド群に変換する。
ディスプレイリスト作成部３２において、この描画コマンド群を解釈して、コマンド振分判定部３３によって、ハードウェアによる図形描画処理もしくはソフトウェアによる図形描画処理のいずれで処理するかを判断して、いずれの処理部で処理させるかを示す処理部選択情報を持たせたディスプレイリストを構成してディスプレイリスト保存用データメモリ３４のハードウェア処理用のメモリおよびソフトウェアの処理用のメモリのそれぞれへ保存し、ディスプレイリスト出力部３５でこのディスプレイリスト保存用データメモリ３４に記憶したディスプレイリストを印刷装置４１へ送信する。
ここで、ディスプレイリスト作成部３２、コマンド振分判定部３３およびディスプレイリスト保存用データメモリ３４は、それぞれ上述のディスプレイリスト作成部３、コマンド振分判定部１１およびディスプレイリスト保存用データメモリ２１と機能は同じであるが、ディスプレイリストにハードウェアもしくはソフトウェアのどちらで処理するかを示す処理部選択情報を持たせておく点が相違している。
印刷装置４１では、プリンタコントローラ上のディスプレイリスト作成部がこのディスプレイリスト中の処理部選択情報を参照して、ソフトウェアによる描画処理部もしくはハードウェアによる描画処理回路のどちらで処理するかを決定して印刷する。
または、プリンタドライバ３０ではＰＤＬ言語生成部３１で生成したコマンド群に対し、コマンド振分判定部３３でハードウェア、ソフトウェアのいずれの描画処理部で処理するかの判定だけを行って、処理部選択情報をコマンド群に付加した状態で、印刷装置４１へ送信するようにしてもよい。
この場合には、印刷装置４１のプリンタコントローラのディスプレイリスト作成部が処理部選択情報を参照して、それぞれの描画処理部へのディスプレイリストを作成することになる。
【００１１】
さらに、図５は、ディスプレイリストの構築をプリンタサーバ上で行う場合の構成を示すブロック図である。
図５において、印刷装置４１のプリンタコントローラが直接ディスプレイリストを処理できる場合には、ホストＰＣ１から送られてきたＰＤＬ言語によるコマンド群を受信したプリンタサーバ５０がディスプレイリストを生成し、この生成したディスプレイリストを印刷装置４１へ送るようにする。
このプリンタサーバ５０では、送られてきたＰＤＬ言語によるコマンド群をＰＤＬ言語入力部５１で受信し、ディスプレイリスト作成部５２でディスプレイリストに構成し直して、ディスプレイリスト出力部３５でディスプレイリストを印刷装置４１へ送信する。
このディスプレイリスト作成部５２において、このコマンド群を解釈して、コマンド振分判定部５３によって、ハードウェアによる図形描画処理もしくはソフトウェアによる図形描画処理のいずれで処理するかを判断し、いずれの処理部で処理させるかを示す処理部選択情報を持たせたディスプレイリストを構成してディスプレイリスト保存用データメモリ５４のハードウェア処理用のメモリおよびソフトウェアの処理用のメモリのそれぞれへ保存し、ディスプレイリスト出力部５５でこのディスプレイリスト保存用データメモリ５４に記憶したディスプレイリストを印刷装置４１へ送信する。
ここで、ディスプレイリスト作成部５２、コマンド振分判定部５３およびディスプレイリスト保存用データメモリ５４は、それぞれ上述のディスプレイリスト作成部３、コマンド振分判定部１１およびディスプレイリスト保存用データメモリ２１と機能は同じであるが、ディスプレイリストにハードウェアもしくはソフトウェアのどちらで処理するかを示す処理部選択情報を持たせておく点が相違している。
印刷装置４１では、プリンタコントローラ上のディスプレイリスト作成部がこのディスプレイリスト中の処理部選択情報を参照して、ソフトウェアによる描画処理部もしくはハードウェアによる描画処理回路のどちらで処理するかを決定して印刷する。
【００１２】
また、図６のようにどの装置（ホストＰＣ、プリンタサーバ或いは印刷装置）でディスプレイリストを作成すればもっとも効率がよくなるかを判断して、それぞれに存在するディスプレイリスト作成部を切り替えるようにしてもよい。
この場合、ホストＰＣ、プリンタサーバ、印刷装置におけるＣＰＵ性能（クロック数、加算演算１万回に要する時間などを指標とする）を相互に交換し、また、ＣＰＵの負荷率を一定時間毎に相互に連絡して、これから処理を行おうとするときにＣＰＵ性能とＣＰＵの負荷率の積で、もっとも大きな値をとる装置で処理するようにする。
ここで、プリンタドライバでディスプレイリストを作成するようにした場合には、プリンタサーバのディスプレイ作成部では、そのままディスプレイリストを印刷装置へ引き渡し、印刷装置のディスプレイ作成部ではディスプレイリストに付加されている処理部選択情報によりハードウェアあるいはソフトウェアによる図形描画処理部を選択して、描画処理を行わせるようにする。
あるいは、プリンタサーバでディスプレイリストを作成するようにした場合には、プリンタドライバのディスプレイ作成部では、アプリケーションからの印刷データをＰＬＤ言語によるコマンド群へ変換してプリンタサーバへ引き渡す。プリンタサーバのディスプレイリスト作成部はＰＤＬ言語によるコマンド群に処理部選択情報を付加して印刷装置へ渡し、印刷装置のディスプレイ作成部ではディスプレイリストに付加されている処理部選択情報によりハードウェアあるいはソフトウェアによる図形描画処理部を選択して、描画処理を行わせるようにする。
あるいは、印刷装置でディスプレイリストを作成するようにした場合には、プリンタドライバのディスプレイ作成部では、アプリケーションからの印刷データをＰＬＤ言語によるコマンド群へ変換してプリンタサーバへ引き渡す。プリンタサーバのディスプレイリスト作成部はそのままディスプレイリストを印刷装置へ引き渡し、印刷装置のディスプレイ作成部ではＰＬＤ言語によるコマンド群を解釈してハードウェアあるいはソフトウェアによる図形描画処理部に振り分けて、描画処理を行わせるようにする。
【００１３】
さらに、上述した実施形態において、複数バンドを同時に管理しており、ハードウェアもしくはソフトウェアのみで描画処理が可能な描画コマンドで構成されたバンドが続いていた場合には、ハードウェアのみのバンド、ソフトウェアのみのバンドという順で印刷データが送られてきたときには、描画処理部をハード・ソフトともに同時に処理させる（図７、８）ことで効率よく描画を行うようにできる。
ここで、ハード側で処理可能なコマンドと、処理不可能なコマンドが入り混じっており、複数のバンドメモリを同時に書き出し先として使用できる場合には、ハード側で処理可能なコマンドのみのバンド、ハード側で処理不可能なコマンドを含むバンド、ハード側で処理不可能なコマンドだけのバンドと、それぞれを判別し、描画結果に影響がなければディスプレイリスト上のコマンド順を入れ替えてバンドの処理順を最適化して、それぞれのバンドを同時にハードウェアとソフトウェアで描画処理するようにして、高速に印刷することが可能となる。
上述の処理は、単一のバンドのみの或いは複数のバンドの同時処理のいずれでもできるようにする。また、上述の描画コマンドの入れ替えを、単一バンドだけでなく処理している全てのバンドのコマンドを対象に行うようにしてもよい。
【００１４】
次に、図７のフローチャートを用いて、ディスプレイリストを用いた描画処理手順を説明する。
ディスプレイリストを入力し（ステップＳ０１）、このリスト中の個々のコマンドに対してハードウェアで処理可能か否かを処理する（図８のフローチャート参照）（ステップＳ０２）。
バンド全体の描画がハードウェアあるいはソフトウェアで処理可能かを判断し、処理可能でないときには（ステップＳ０３のＮＯ）、バンドをまとめて処理できる単位にディスプレイリストを分割して、描画する（ステップＳ０４）。
一方、処理可能であるときには（ステップＳ０３のＹＥＳ）、描画に使用する処理部（特に、ハードウェアの処理部）が未使用になるまで待ち（ステップＳ０５、Ｓ０６）、未使用となり次第バンド全体のディスプレイリストを描画する（ステップＳ０７）。
【００１５】
図８は、図７におけるディスプレイリスト中のコマンド単位での振分処理手順を示すフローチャートである。
ディスプレイリスト中の未処理の描画コマンドがソフトウェアでのみ処理可能であれば（ステップＳ１１のＹＥＳ）、ディスプレイリスト保存用データメモリのソフトウェア処理用のメモリへこの描画コマンドを追加し（ステップＳ１２）、ステップＳ１６へ進む。
一方、ハードウェアおよびソフトウェアのいずれでも処理可能な場合には（ステップＳ１１のＮＯ）、ディスプレイリスト保存用データメモリのハードウェア処理用のメモリへこの描画コマンドを追加する（ステップＳ１３）。
次に、割り込み時間を考慮するとソフトウェアの描画処理部を使用した方が高速に処理できれば（ステップＳ１４のＮＯ）、ディスプレイリスト保存用データメモリのハードウェア処理用のメモリに追加した描画コマンドをソフトウェア処理用のメモリへ移動し（ステップＳ１５）、ステップＳ１６へ進む。
一方、ハードウェアの描画処理時間の方が速い場合には、そのままステップＳ１６へ進む。
ディスプレイリスト中の未処理の描画コマンドがある場合には（ステップＳ１６のＮＯ）、ステップＳ１１へ戻る。
すべての描画コマンドを処理し終わったとき（ステップＳ１６のＹＥＳ）、振分を終了する。
さらに、本発明は上述した実施形態のみに限定されたものではなく、上述した実施形態のホストコンピュータ、印刷装置あるいはプリンタサーバを構成する各機能をプログラム化し、ホストコンピュータ、印刷装置あるいはプリンタサーバに搭載されたマイクロプロセッサでこのプログラムを実行することによって、本発明の目的を達成することができる。
【００１６】
なお、記録媒体としては半導体媒体（例えば、ＲＯＭ、不揮発性メモリカード等）、光媒体（例えば、ＤＶＤ、ＭＯ、ＭＤ、ＣＤ−Ｒ等）、磁気媒体（例えば、磁気テープ、フレキシブルディスク等）のいずれであってもよい。
また、ロードしたプログラムの指示に基づき、オペレーティングシステム等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
さらに、上述したプログラムが、機能拡張ボードや機能拡張ユニットに備わるメモリにロードされ、そのプログラムの実行によって、上述した実施形態の機能が実現される場合も含まれる。
また、上述したプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークで接続された利用者のコンピュータからダウンロードして頒布する場合、また、サーバコンピュータから配信して頒布する場合、このサーバコンピュータの記憶装置も本発明の記録媒体に含まれる。
このように、本発明の機能を有するプログラムを記録媒体に記録して頒布することによって、コスト、可搬性、汎用性を向上させることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明に係る印刷処理システムの構成を示すブロック図である。
【図２】図形描画回路と図形描画部における処理時間を説明する図である。
【図３】図１の構成において、ホストＰＣから送られた印刷データをインタープリタから直接ディスプレイリスト作成部へ供給するように変形した構成を示すブロック図である。
【図４】図形描画処理の振分をプリンタドライバで行うようにした構成を示すブロック図である。
【図５】図形描画処理の振分をプリンタサーバで行うようにした構成を示すブロック図である。
【図６】もっとも効率のよい装置でディスプレイリストを作成するときの説明図である。
【図７】ディスプレイリストを用いて描画処理するときの処理手順を示すフローチャートである。
【図８】図７におけるコマンド単位での処理手順を示すフローチャートである。
【符号の説明】
【００１８】
１…ホストコンピュータ（ホストＰＣ）、２…プリンタコントローラ、３…ディスプレイリスト作成部、１０…インタープリタ、１１…コマンド振分判定部、２１…ディスプレイリスト保存用データメモリ、２０…中間データメモリ、１２…図形描画部、２２…図形描画回路、２３…ページメモリ、１４…ＣＰＵ、４…プリンタエンジン、４０…アプリケーション、３０…プリンタドライバ、３１…ＰＤＬ言語生成部、３２…ディスプレイリスト作成部、３３…コマンド振分判定部、３４…ディスプレイリスト保存用データメモリ、３５…ディスプレイリスト出力部、３６…ＣＰＵ、４１…印刷装置、５０…プリンタサーバ、５１…ＰＤＬ言語入力部、５２…ディスプレイリスト作成部、５３…コマンド振分判定部、５４…ディスプレイリスト保存用データメモリ、５５…ディスプレイリスト出力部、５６…ＣＰＵ。
【図１】
2006007496.tif 000003
【図２】
2006007496.tif 000004
【図３】
2006007496.tif 000005
【図４】
2006007496.tif 000006
【図５】
2006007496.tif 000007
【図６】
2006007496.tif 000008
【図７】
2006007496.tif 000009
【図８】
2006007496.tif 000010