(57)【要約】【課題】  リソースを抑制しつつ、性能を改善することができる印刷制御装置および描画処理方法を提供する。【解決手段】  印刷制御装置としてのプリンタコントローラ２０は、入力された描画コマンドがイメージ描画コマンドである場合に、イメージデータから予測される描画結果が、描画領域に関する情報と色情報とにより得られるかを判断することにより、イメージ描画コマンドをグラフィック描画コマンドへ変換可能か否かを判定する描画命令判定部２６と、変換可能であると判定された場合に、イメージ描画コマンドを構成するＲＯＰコマンド、パラメータおよびイメージデータを、グラフィック描画コマンドを構成するＲＯＰコマンド、描画領域に関する情報および色情報へ変換する描画命令変換部２７とを備える。【選択図】  図１
2010012737.tif 000002
【特許請求の範囲】
【請求項１】
描画コマンドを使用して描画処理を行う印刷制御装置であって、
入力された前記描画コマンドが、イメージデータに基づき描画処理させる第１描画コマンドである場合に、前記イメージデータから予測される描画結果が、描画領域に関する情報と色情報とにより得られるかを判断することにより、前記第１描画コマンドを、前記描画領域に前記色情報を与えて描画処理させる第２描画コマンドへ変換可能か否かを判定する判定部と、
変換可能であると判定された場合に、前記第１描画コマンドを構成する第１命令、パラメータおよび前記イメージデータを、前記第２描画コマンドを構成する第２命令、前記描画領域に関する情報および前記色情報へ変換する変換部とを備える、印刷制御装置。
【請求項２】
前記判定部は、前記第１描画コマンドを構成する前記第１命令および前記パラメータを参照して、前記第１描画コマンドを前記第２描画コマンドへ変換可能か否かを判定する、請求項１に記載の印刷制御装置。
【請求項３】
前記パラメータは、前記イメージデータの画像サイズ、各画素の色値、変倍率を含む、請求項２に記載の印刷制御装置。
【請求項４】
前記判定部は、前記イメージデータにおいて指定数以上の連続する画素からなる領域内のすべての画素の色値が同一である場合に、前記第１描画コマンドを前記第２描画コマンドへ変換可能と判定する、請求項１〜３のいずれか１項に記載の印刷制御装置。
【請求項５】
前記判定部は、前記パラメータを選択するパラメータ選択部を備え、前記パラメータ選択部は、前記描画処理を行うプロセッサの処理負荷に応じて、前記パラメータの１つ以上を選択する、請求項１〜４のいずれか１項に記載の印刷制御装置。
【請求項６】
前記変換部は、前記第１命令としてのＲＯＰ（Raster Operation）コマンドを、前記第２命令としてのＲＯＰコマンドへ変換する、請求項１〜５のいずれか１項に記載の印刷制御装置。
【請求項７】
前記変換部は、前記描画領域を、前記イメージデータに含まれる色値に応じて複数の領域に区分し、前記第１描画コマンドを構成する前記第１命令、前記パラメータおよび前記イメージデータを、各領域に対応した複数の前記第２描画コマンドを構成する前記第２命令、前記描画領域に関する情報および前記色情報へ変換する、請求項１〜６のいずれか１項に記載の印刷制御装置。
【請求項８】
前記判定部は、前記イメージデータから予測される描画結果における色値が同一である２つ以上の前記領域を同一領域とし、前記第１描画コマンドを前記第２描画コマンドへ変換可能であると判定する、請求項７に記載の印刷制御装置。
【請求項９】
前記判定部が変換可能でないと判定した場合、前記第１描画コマンドによる描画処理を実行する、請求項１に記載の印刷制御装置。
【請求項１０】
描画コマンドを入力するホスト装置と、描画処理されたデータを受け取り、印刷処理を実行する印刷装置と、請求項１〜９のいずれか１項に記載の印刷制御装置とを備える、印刷処理システム。
【請求項１１】
描画コマンドを使用して印刷処理装置により実行される描画処理方法であって、
入力された前記描画コマンドが、イメージデータに基づき描画処理させる第１描画コマンドである場合に、前記イメージデータから予測される描画結果が、描画領域に関する情報と色情報とにより得られるかを判断することにより、前記第１描画コマンドを、前記描画領域に前記色情報を与えて描画処理させる第２描画コマンドへ変換可能か否かを判定するステップと、
変換可能であると判定された場合に、前記第１描画コマンドを構成する第１命令、パラメータおよび前記イメージデータを、前記第２描画コマンドを構成する第２命令、前記描画領域に関する情報および前記色情報へ変換するステップとを含む、描画処理方法。
【請求項１２】
前記判定するステップでは、前記第１描画コマンドを構成する前記第１命令および前記パラメータを参照して、前記第１描画コマンドを前記第２描画コマンドへ変換可能か否かを判定する、請求項１１に記載の描画処理方法。
【請求項１３】
前記パラメータは、前記イメージデータの画像サイズ、各画素の色値、変倍率を含む、請求項１２に記載の描画処理方法。
【請求項１４】
前記判定するステップでは、前記イメージデータにおいて指定数以上の連続する画素からなる領域内のすべての画素の色値が同一である場合に、前記第１描画コマンドを前記第２描画コマンドへ変換可能と判定する、請求項１１〜１３のいずれか１項に記載の描画処理方法。
【請求項１５】
前記判定するステップは、前記パラメータを選択するステップを含み、前記選択するステップでは、前記描画処理を行うプロセッサの処理負荷に応じて、前記パラメータの１つ以上を選択する、請求項１１〜１４のいずれか１項に記載の描画処理方法。
【請求項１６】
前記変換するステップでは、前記第１命令としてのＲＯＰコマンドを、前記第２命令としてのＲＯＰコマンドへ変換する、請求項１１〜１５のいずれか１項に記載の描画処理方法。
【請求項１７】
前記変換するステップでは、前記描画領域を、前記イメージデータに含まれる色値に応じて複数の領域に区分し、前記第１描画コマンドを構成する前記第１命令、前記パラメータおよび前記イメージデータを、各領域に対応した複数の前記第２描画コマンドを構成する前記第２命令、前記描画領域に関する情報および前記色情報へ変換する、請求項１１〜１６のいずれか１項に記載の描画処理方法。
【請求項１８】
前記判定するステップでは、前記イメージデータから予測される描画結果における色値が同一である２つ以上の前記領域を同一領域とし、前記第１描画コマンドを前記第２描画コマンドへ変換可能であると判定する、請求項１７に記載の描画処理方法。
【請求項１９】
前記変換可能でないと判定された場合、前記第１描画コマンドによる描画処理を実行するステップをさらに含む、請求項１１に記載の描画処理方法。
【請求項２０】
請求項１１〜１９のいずれか１項に記載の描画処理方法を実行するための印刷制御装置により読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された描画コマンドを実行した場合と同等の描画結果を得つつ、より高速に描画処理を行うことを可能にする印刷制御装置、印刷制御装置を備える印刷処理システム、印刷制御装置において実行される描画処理方法およびその方法を実現するための装置可読なプログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータ（ＰＣ）等でアプリケーションを使用して作成した文書を印刷する場合、その文書のレイアウト情報等はドライバによってＰＤＬ（Page Description Language）と呼ばれる中間言語へ変換される。この中間言語は、プリンタへ文字や画像等の印刷イメージを指示するための言語である。
【０００３】
変換される中間言語は、アプリケーションやドライバの種類によって異なる。このため、同様のレイアウト情報等であってもその種類が異なれば描画方法は異なり、その描画方法を実現するための描画コマンドも特定のコマンドが指定されることになる。その結果、指定される描画コマンドは、必ずしも最速に処理を行うことができる最適な描画コマンドとは限らず、最適な描画コマンドが指定されない場合、描画処理に時間を要している。
【０００４】
そこで、描画処理を高速化するべく、各描画コマンドを結合したグラデーション描画コマンドに変換し、印刷描画イメージをページメモリ上に展開して、複数のグラフィック描画コマンドを結合してグラデーション描画単位に落とし込む装置および方法が提案されている（特許文献１参照）。その装置および方法では、描画命令を順次解釈した際に、コマンドが描画するページメモリのアドレスにおいて連続した方向に色が変化するようなコマンドがくると、グラデーション描画を目的としたコマンドと解釈し、グラデーションを描画する複数のグラフィック描画コマンドを結合し、グラデーション描画用コマンドに変換する。これにより、色毎ではなく横長の色が一定の変化する描画としてより少ないメモリアクセス回数でページメモリに展開することができ、高速にグラデーションを描画することができる。
【特許文献１】特開２００６−２３５８５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
描画コマンドは、矩形等の図形を描画するグラフィック描画コマンドと、写真等の画像を描画するイメージ描画コマンドとに大きく分けることができる。イメージ描画コマンドによるイメージ描画では、イメージデータを使用して描画が行われる。このイメージデータは、ピクセル（画素）単位で、色を数値化した色値を持つ必要があることから、ＲＧＢ２４ビットにおいて連続した１０００ピクセルすべてが同色であっても各ピクセルが色値を持ち、この場合のイメージデータのサイズは、２４０００ビット（３０００バイト）となる。このイメージデータを保持するためには、３０００バイトのメモリ領域を確保しなければならない。
【０００６】
グラフィック描画コマンドによるグラフィック描画では、ピクセル単位で色値を持つイメージデータを使用するのではなく、描画領域を矩形等の始点や終点で表し、その領域内が同じ色値であれば１ピクセル分の色値のみをデータとして持ち、その１ピクセル分の色値を使用して描画が行われる。このため、グラフィック描画では１ピクセル分の２４ビット（３バイト）のデータサイズでよく、３バイトのメモリ領域を確保すればよい。
【０００７】
従来は、グラフィック描画コマンドを受け取ると、グラフィック描画を行い、イメージ描画コマンドを受け取ると、イメージ描画を行うため、データサイズの小さいグラフィック描画処理では、短時間で、かつ少ないリソースで処理することができる一方、データサイズの大きいイメージ描画処理では、処理時間が長く、より多くのリソースを消費する。イメージ描画コマンドを受け取った場合の描画処理において、処理に必要とされるリソース量を減少できれば、メモリアクセス量も減少し、性能の改善につなげることができる。
【０００８】
そこで、イメージ描画コマンドを受け取った場合の描画処理においても、短時間で、かつ少ないリソースで処理することができる装置および方法の提供が望まれていた。
【課題を解決するための手段】
【０００９】
本発明は、上記課題を解決するために、より多くのリソースを必要とするイメージ描画コマンドを受け取った場合に、少ないリソースで処理が可能なグラフィック描画コマンドに変換可能かどうかを判定し、変換可能な場合に、グラフィック描画コマンドに変換して描画処理を行うように構成する。このように構成することで、処理時間がかかるイメージ描画コマンドを受けた場合であっても、少ないリソース量で、短時間に描画処理を行うことができるため、メモリアクセス量を減少させ、装置の性能改善を図ることができる。
【００１０】
すなわち、本発明によれば、描画コマンドを使用して描画処理を行う印刷制御装置であって、入力された描画コマンドが、イメージデータに基づき描画処理させる第１描画コマンドである場合に、イメージデータから予測される描画結果が、描画領域に関する情報と色情報とにより得られるかを判断することにより、第１描画コマンドを、描画領域に色情報を与えて描画処理させる第２描画コマンドへ変換可能か否かを判定する判定部と、変換可能であると判定された場合に、第１描画コマンドを構成する第１命令、パラメータおよびイメージデータを、第２描画コマンドを構成する第２命令、描画領域に関する情報および色情報へ変換する変換部とを備える印刷制御装置を提供することができる。
【００１１】
上記の判定部は、第１描画コマンドを構成する第１命令およびパラメータを参照して、第１描画コマンドを第２描画コマンドへ変換可能か否かを判定することができる。命令は、ＲＯＰコマンドとすることができる。ＲＯＰとは、２つのラスタ画像を重ね合わせるときに行われる論理演算処理で、ＲＯＰコマンドは、この処理を行うためのコマンドである。パラメータは、イメージデータの画像サイズ、各画素の色値、変倍率を含む。画像サイズは、描画を開始する位置を表す始点座標、幅方向の画素数、高さ方向の画素数を含む。
【００１２】
判定部は、第１命令およびパラメータを参照して、イメージデータにおいて指定数以上の連続する画素からなる領域内のすべての画素の色値が同一である場合に、第１描画コマンドを第２描画コマンドへ変換可能と判定する。すなわち、同一の色値を有する画素が指定数以上隣り合って連続し、同一の色値の１つの領域を形成している場合に、変換可能と判定する。このように同一の色値を有する連続した画素からなる領域について、各画素が色値を持たず、各画素に対してメモリアクセスが発生しないように、第２描画コマンドへ変換することにより、リソースの消費量を減少させ、パフォーマンスを向上させることができる。
【００１３】
判定部は、パラメータを選択するパラメータ選択部を備えることができ、パラメータ選択部は、描画処理を行うプロセッサの処理負荷に応じて、パラメータの１つ以上を選択することができる。すなわち、プロセッサの処理負荷が小さい場合には、例えば、すべてのパラメータを参照し、すべてのパラメータにつき変換条件を満たしているかを判断して、変換可能か否かを判定することができ、処理負荷が大きい場合は、例えば、１つのパラメータのみを参照し、そのパラメータにつき変換条件を満たしているかを判断して、変換可能か否かを判定することができる。これにより、プロセッサに過大な負荷がかからず、パフォーマンスの低下を抑制して、印刷を高速化することができる。
【００１４】
変換部は、第１命令としてのＲＯＰ（Raster Operation）コマンドを、第２命令としてのＲＯＰコマンドへ変換する。プリンタ制御言語（ＰＣＬ）のＲＯＰではグラフィックに色値を持たせていない。そこで、グラフィック描画した描画結果に色値を持たせるために、色情報の色値を与えることができるＲＯＰコマンドへ変換する。
【００１５】
また、変換部は、描画領域を、イメージデータに含まれる色値に応じて複数の領域に区分し、第１描画コマンドを構成する第１命令、パラメータおよびイメージデータを、各領域に対応した複数の第２描画コマンドを構成する第２命令、描画領域に関する情報および色情報へ変換することができる。イメージデータの色値が２つに分けられる場合、各色につき、色値とその領域の始点および終点の座標等の情報へ変換し、第１命令を２つの第２命令へ変換する。
【００１６】
この場合において、判定部は、イメージデータに含まれる色値に応じて複数の領域を検知し、第１描画コマンドを第２描画コマンドへ変換可能であると判定することができるが、その際、イメージデータに含まれる色値は異なるものの、イメージデータから予測される描画結果における色値が同一である２つ以上の領域は同一領域とみなし、第１描画コマンドを第２描画コマンドへ変換可能であると判定することができる。その結果、その同一領域は１つの領域とみなし、その領域について１つの第２描画コマンドへ変換することができる。これにより、リソースの消費量をさらに減少させることができ、パフォーマンスをさらに向上させることができる。
【００１７】
また、印刷制御装置は、判定部が変換可能と判定した場合は、変換された第２描画コマンドによる描画処理を実行し、判定部が変換可能でないと判定した場合は、通常の、第１描画コマンドによる描画処理を実行することができる。
【００１８】
本発明によれば、描画コマンドを入力するホスト装置と、描画処理されたデータを受け取り、印刷処理を実行する印刷装置と、上記の印刷制御装置とを備える、印刷処理システムも提供することができる。
【００１９】
さらに、本発明によれば、描画コマンドを使用して印刷処理装置により実行される描画処理方法も提供することができ、この方法は、判定部により、上記第１描画コマンドを第２描画コマンドへ変換可能か否かを判定するステップと、変換部により、第１描画コマンドを構成する第１命令、パラメータおよびイメージデータを、第２描画コマンドを構成する第２命令、描画領域に関する情報および色情報へ変換するステップとを含む。
【００２０】
また、本発明によれば、上記の描画処理方法を実現するための印刷処理装置により読み取り可能なプログラム、さらには、印刷制御装置により読み取り可能な記録媒体としても提供することができる。
【発明を実施するための最良の形態】
【００２１】
図１は、本発明の印刷制御装置の一実施形態であるプリンタコントローラを含む印刷処理システムを例示した図である。印刷処理システムは、印刷すべき文書を作成するためのアプリケーションと、アプリケーションで作成した文書を印刷する際、その文書のレイアウト情報等をＰＤＬへ変換するドライバとを備えるホストＰＣ１０と、ＰＤＬを受け取り、描画処理を行うプリンタコントローラ２０と、描画処理されたデータを受け取り、印刷を行うプリンタエンジン３０とから構成されている。
【００２２】
ホストＰＣ１０は、アプリケーションおよびドライバを記憶するためのメモリおよびＨＤＤと、アプリケーションおよびドライバを読み出して実行するＣＰＵとを備える。そのほか、ホストＰＣ１０は、キーボードやマウスといった入力装置、プリンタコントローラ２０と通信を行うための通信インタフェース、作成した文書や印刷レイアウト等を表示するための表示装置等を備える。
【００２３】
プリンタエンジン３０は、プリンタコントローラ２０から描画処理されたデータを受け取り、実際に印刷を行うメカニカル部分である。描画処理されたデータは、各色の点の集まりからなるビットマップデータである。プリンタがレーザプリンタである場合、プリンタエンジン３０は、感光ドラムを帯電し、レーザを照射し、トナーを付着させてトナー像を形成し、そのトナー像を用紙へ転写し、定着させ、用紙への印刷を行う処理を担当する。
【００２４】
プリンタコントローラ２０は、ホストＰＣ１０が備えるドライバによって変換されたＰＤＬを受け取り、そのＰＤＬを解釈するインタプリタ２１と、インタプリタ２１で解釈した描画コマンドを構成する命令やパラメータ等を、中間データとして一時的にスプール（蓄積）する中間データメモリ２２と、中間データメモリ２２から一時的にスプールされた中間データを取り出し、イメージ描画を行うイメージ描画処理部２３と、中間データメモリ２２から中間データを取り出し、グラフィック描画を行うグラフィック描画処理部２４と、各処理部で処理されたデータをスプールするページメモリ２５とを備える。
【００２５】
このプリンタコントローラ２０は、さらに、インタプリタ２１で解析した命令やパラメータ等を受け取り、ホストＰＣ１０から入力された描画コマンドが、第１描画コマンドであるイメージ描画コマンドであるかを判定し、イメージ描画コマンドであると判定した場合、さらに、そのイメージ描画コマンドが第２描画コマンドであるグラフィック描画コマンドへ変換可能であるかを判定する描画命令判定部２６と、変換可能と判定された場合に、そのイメージ描画コマンドをグラフィック描画コマンドへ変換する描画命令変換部２７とを備える。
【００２６】
描画命令変換部２７により変換されたグラフィック描画コマンドは、変換された命令やパラメータ等が中間データとして中間データメモリ２２へ送られ、グラフィック描画処理部２４により取り出されるまで一時的にスプールされる。中間データは、グラフィック描画処理部２４において描画処理に使用され、描画処理されたデータは、プリンタエンジン３０により取り出されるまで、ページメモリ２５にスプールされる。
【００２７】
中間データメモリ２２にスプールされた中間データは、スプールされた順に取り出され、描画処理が行われ、ページメモリ２５にスプールされた描画処理されたデータは、スプールされた順に取り出され、印刷処理が行われる。
【００２８】
プリンタコントローラ２０は、プロセッサおよびメモリを備えるものすることができ、描画命令判定部２６および描画命令変換部２７の処理を、プログラムとして構成してメモリに格納しておき、プロセッサで読み出して実行させることにより実現することができる。
【００２９】
ここでまず、イメージ描画コマンドおよびグラフィック描画コマンドによる従来の描画処理を、図２および３を参照して説明する。イメージ描画コマンドによる描画処理は、イメージ描画処理部２３がイメージ描画コマンドを実行することにより行われる。その際、中間データメモリ２２から中間データが取り出されるが、その中間データには、図２（ａ）に示すような、画素毎に色値を有するイメージデータと、パラメータとして、始点座標（ａ，ｂ）、イメージデータの幅方向の画素数およびその幅方向に垂直な高さ方向の画素数、幅方向および高さ方向の変倍率が含まれる。この始点座標は、イメージを描画する際の描画開始位置を特定するもので、例えば、印刷イメージを表示した場合の用紙の左上角を構成する画素を（０，０）とし、その画素から用紙の幅方向への画素数をａ、高さ方向への画素数をｂとして決定することができる。
【００３０】
イメージ描画コマンドにより描画処理を行う場合、画素毎に色値を有するイメージデータを使用するため、多くのリソースを消費する。図２（ａ）では、リソース消費量として、幅方向への画素数と、高さ方向への画素数と、ビット深さとを乗じて得られるデータサイズ分のメモリを消費する。例えば、幅方向への画素数を１５、高さ方向への画素数を１、ビット深さを２４ビットとすると、それらを乗じて得られた３６０ビット分のメモリを消費する。描画処理時には、イメージデータの各画素にメモリアクセスが発生するため、パフォーマンスに影響する。変倍率が指定されている場合、イメージ描画処理部２３において、変倍描画を行う必要があり、この変倍描画では小数演算処理を行わなければならないため、多大な時間を要する。
【００３１】
一方、グラフィック描画コマンドによる描画処理は、グラフィック描画処理部２４がグラフィック描画コマンドを実行することにより行われる。その際、中間データメモリ２２から中間データが取り出されるが、その中間データには、図２（ｂ）に示すような、始点座標（ａ，ｂ）、描画されるイメージの幅方向の画素数および高さ方向の画素数と、色情報として、その描画領域が単色であれば１色のみの色値が含まれる。このグラフィック描画では、イメージデータが存在しないため、メモリアクセスは発生せず、変倍描画を行うように指定されることもないため、小数演算処理も行われない。したがって、リソースの消費量を大幅に抑制することができ、短時間で描画処理を行うことができる。
【００３２】
なお、描画結果は、どちらのコマンドによる描画処理でも、図２（ｃ）に示すような、幅方向の画素数１５、高さ方向の画素数１５の単色の正方形で示される図形となる。
【００３３】
図２（ａ）および（ｂ）で示した描画コマンドにより図２（ｃ）で示した正方形を描画するための処理を、図３に示すフローチャートを参照して説明する。ステップ３００において、処理を開始し、ステップ３１０において、インタプリタ２１が、ホストＰＣ１０から描画コマンドを受け取る。ステップ３２０において、インタプリタ２１は、受け取った描画コマンドを解釈する。
【００３４】
インタプリタ２１は、受け取った描画コマンドがイメージ描画コマンドである場合には、始点座標が（ａ，ｂ）、イメージデータが幅方向の画素数１５、高さ方向の画素数１、各画素における色値が単色で、イメージデータを高さ方向に１５倍するような命令と解釈する。これに対し、描画コマンドがグラフィック描画コマンドである場合には、始点座標が（ａ，ｂ）、幅方向への画素数が１５、高さ方向への画素数が１５、色値が単色である命令と解釈する。
【００３５】
ステップ３３０において、インタプリタ２１は、描画コマンドを解釈した後、始点座標、幅・高さ方向の画素数等のパラメータ等を中間データとして、中間データメモリ２２へ送り、中間データメモリ２２に一時的にスプールする。なお、イメージ描画コマンドではイメージデータ、グラフィック描画コマンドでは色情報も、中間データとしてスプールする。ステップ３４０において、スプールされた中間データを、イメージ描画処理部２３およびグラフィック描画処理部２４が、描画処理が終了するたびに参照し、中間データメモリ２２にスプールされた順に取り出し、描画処理を行う。
【００３６】
イメージ描画処理部２３は、中間データメモリ２２にスプールされたイメージデータを含む中間データを取り出し、描画処理を行う。グラフィック描画処理部２４は、中間データメモリ２２にスプールされた色情報を含み、イメージデータを含まない中間データを取り出し、描画処理を行う。
【００３７】
ステップ３５０において、イメージ描画処理部２３およびグラフィック描画処理部２４で描画処理されたデータは、各描画処理部２３、２４が、ページメモリ２５へ出力し、ページメモリ２５にスプールされる。ページメモリ２５にスプールされたデータは、プリンタエンジン３０が、印刷処理を終了するたびに参照し、スプールされた順に取り出して印刷処理を実行する。レーザプリンタであれば、感光ドラムを帯電し、描画処理されたデータから書き込み光を形成して感光ドラムへ照射し、トナーを付着させてトナー像を形成し、そのトナー像を用紙へ転写し、定着させることにより、用紙への印刷を行う。プリンタコントローラ２０による描画処理は、ページメモリ２５にデータをスプールしたところで終了する（ステップ３６０）。
【００３８】
以下、本発明の印刷制御装置の一実施形態である、図１に示す描画命令判定部２６および描画命令変換部２７を備えるプリンタコントローラ２０による描画処理を、図４を参照して詳細に説明する。
【００３９】
ステップ４００から処理を開始し、ステップ４１０において、インタプリタ２１がホストＰＣ１０からＰＤＬで記述された描画コマンドを受け取る。次に、ステップ４２０において、インタプリタ２１が、受け取った描画コマンドを解釈する。描画コマンドの解釈は、従来の上述したものと同様で、イメージ描画コマンドについては、始点座標、イメージデータ、幅・高さ方向の画素数、変倍率を含むと解釈し、グラフィック描画コマンドについては、始点座標、幅・高さ方向の画素数、色情報を含むと解釈する。
【００４０】
ステップ４３０で、描画命令判定部２６へこれらのパラメータ等が送られ、まず、イメージデータを含むイメージ描画コマンドであるかを判定する。判定の結果、イメージ描画コマンドであると判定した場合には、次に、グラフィック描画コマンドへ変換可能であるかを判定する。なお、この判定方法の詳細については後述する。
【００４１】
ステップ４３０で、イメージ描画コマンドをグラフィック描画コマンドへ変換可能であると判断した場合、ステップ４４０において、描画命令変換部２７へイメージデータ等が送られ、描画命令変換部２７がグラフィック描画コマンドへ変換する。
【００４２】
ステップ４５０において、描画命令変換部２７は、変換後、グラフィック描画処理に必要とされる描画領域に関する情報および色情報等を中間データとして中間データメモリ２２にスプールする。その後、ステップ４６０において、グラフィック描画処理部２４が中間データメモリ２２からスプールされた中間データを取り出し、グラフィック描画処理を行い、ステップ４７０において、ページメモリ２５へ出力し、スプールさせ、ステップ４８０において処理を終了する。プリンタエンジン３０は、印刷処理が終了後、ページメモリ２５にスプールされた描画処理されたデータを順に取り出し、印刷処理を実行する。
【００４３】
図５を参照して、ステップ４３０で行われる判定処理を詳細に説明する。ステップ５００で判定処理を開始し、まず、ステップ５１０において、描画コマンドがイメージ描画コマンドであるかを判定する。イメージ描画コマンドであるか否かは、インタプリタ２１で解釈した結果、イメージデータを含むか否かによって判断することができる。
【００４４】
ステップ５１０において描画コマンドがイメージ描画コマンドであると判定した場合、ステップ５２０へ進み、その描画コマンドを構成するＲＯＰ（Raster Operation）コマンドが「０ｘＣＣ」であるかを判定する。ここで、ＲＯＰは、２つ以上のラスタ画像（描画オブジェクト）を重ね合わせるときに行われる論理演算処理である。また、「０ｘＣＣ」は、論理演算処理して描画した結果が、描画するラスタ画像（ソース）のみであることを示す。
【００４５】
ＰＣＬのＲＯＰではグラフィックに色値を持たせていないことから、描画結果がソースのみでは色値を持たない。グラフィック描画した描画結果に色値を持たせるためには、色値を持つパターンをソースとand演算する必要がある。そのand演算は、ＲＯＰ３コマンドにより実現することができる。ちなみに、ＲＯＰ３コマンドは、ソースと、描画先のラスタ画像（デスティネーション）と、パターンから構成される色値のビット演算である。このステップ５２０では、ＲＯＰ３コマンドへ変換することでグラフィック描画が可能であるか否かを判定するために、ＲＯＰコマンドが「０ｘＣＣ」であるかを判定している。
【００４６】
ステップ５２０で、ＲＯＰコマンドが「０ｘＣＣ」であると判定した場合、ステップ５３０へ進み、イメージデータの幅方向あるいは高さ方向の画素数が１であるか否かを判定する。イメージデータの幅方向あるいは高さ方向の画素数が１である場合、画素数１の幅方向に対して高さ方向に連続して並ぶ画素の色値、画素数１の高さ方向に対して幅方向に連続して並ぶ画素の色値が同一である可能性が高く、このように同一の色値を有する画素が連続して形成される領域は、グラフィック描画により少ないリソースで描画することができる。このため、ステップ５３０では、幅あるいは高さ方向の画素数が１であるかを判定している。
【００４７】
ステップ５３０で、イメージデータの幅方向あるいは高さ方向の画素数が１であると判定した場合、ステップ５４０へ進み、イメージデータの変倍率が十分に大きいか否かを判定する。変倍率が２倍や３倍であっても、リソース消費量を抑制し、かつパフォーマンスを向上させることはできるが、その効果は変倍率が大きいほど顕著である。そこで、ステップ５４０では、変倍率が例えば１０倍以上といったように十分に大きいか否かを判定している。
【００４８】
このステップ５４０で、変倍率が十分に大きいと判定した場合、ステップ５５０において、そのイメージデータの色値がすべて同じであるか否かを判定する。イメージデータの色値がすべて同じ場合、幅あるいは高さ方向に連続する画素の色値が同じものとなる。このように同一の色値を有する画素が連続して形成される領域は、グラフィック描画により少ないリソースで描画することができる。このため、ステップ５５０では、イメージデータの色値がすべて同じであるかを判定している。
【００４９】
ステップ５５０で、イメージデータの色値がすべて同じであると判定した場合、ステップ５６０へ進み、グラフィック描画コマンドへ変換可能であると判定し、ステップ５７０でその処理を終了する。
【００５０】
ステップ５１０〜５５０において、イメージ描画コマンドではない場合や、ＲＯＰコマンドが「０ｘＣＣ」ではない場合や、イメージデータの幅方向の画素数あるいは高さ方向の画素数が１ではない場合や、イメージデータの変倍率が十分に大きくない場合や、イメージデータの色値がすべて同値でない場合には、イメージ描画コマンドがグラフィック描画コマンドへ変換可能であると判定することなく、ステップ５７０へ進み、処理を終了する。この場合、グラフィック描画コマンドへ変換されないため、イメージデータ等が中間データとして中間データメモリ２２にスプールされ、イメージ描画処理部２３がその中間データを取り出して描画処理を行うこととなる。
【００５１】
ステップ５６０で変換可能であると判定されると、図４で示したステップ４４０へ進み、イメージ描画コマンドをグラフィック描画コマンドへ変換する処理が行われる。この場合、グラフィック描画コマンドのパラメータとして、始点座標、幅・高さ方向の画素数といった描画領域に関する情報を生成し、パターンに与える色値としての色情報を生成し、ＲＯＰコマンドを「０ｘＣＣ」からＲＯＰ３コマンドである「０ｘＦＣ」へ変換することにより、描画領域に関する情報、色情報およびＲＯＰ３コマンドから構成されるグラフィック描画コマンドへ変換する。
【００５２】
このようにグラフィック描画コマンドへ変換可能かを判定し、変換可能である場合にグラフィック描画コマンドへ変換することで、中間データメモリ２２にイメージデータをスプールする必要がなくなり、かつイメージの変倍処理がなくなり、少ないリソースで描画処理を行うことができ、イメージ描画を行った場合に比較してパフォーマンスを改善することができる。
【００５３】
図５に示すグラフィック描画コマンドへ変換可能であるかを判定する処理では、ＲＯＰコマンドが「０ｘＣＣ」であるか、イメージデータの幅・高さ方向の画素数が１であるか、イメージデータの変倍率が大きいか、イメージデータの色値がすべて同じかという変換条件を、すべてのパラメータおよびＲＯＰコマンドが満たしているかを判断し、すべてが満たす場合に、変換可能であると判定している。これらの処理は、描画処理を行うプロセッサの処理能力に十分な余裕がある場合、すなわちプロセッサの処理負荷が小さいときには、あまり問題にはならない。しかしながら、プロセッサの処理能力に余裕がない場合、すなわちプロセッサの処理負荷が大きいとき、これらの判断をすべて行うとプロセッサに負担がかかり、処理時間が増加して、パフォーマンスが低下する。
【００５４】
そこで、すべてのパラメータおよびＲＯＰコマンドが変換条件を満たしているかを判断するのではなく、パラメータのいくつかを判断し、そのいくつかを満たす場合に、グラフィック描画コマンドへ変換可能であると判定することができる。具体的には、イメージデータの幅・高さ方向の画素数が１であるか、イメージデータの変倍率が大きいか、イメージデータの色値がすべて同じかという判断のうち、プロセッサの処理能力に応じていくつかを選択し、その選択したものすべてを満たす場合に、変換可能であると判定する。
【００５５】
この選択は、パラメータ選択部を設けることによって行うことができ、パラメータ選択部は、判定を開始する際、パフォーマンスモニタ等の監視部により監視されたプロセッサの処理負荷を負荷情報として取得し、その負荷情報から得られる処理負荷に応じてパラメータのいくつかを選択することができる。このパラメータ選択部は、描画命令判定部２６に備えることができ、選択したパラメータは、描画命令判定部２６が変換条件を満たしているかを判定するために使用される。例えば、処理負荷が９０％のときは１つの変換条件のみを、８０％のときは２つの変換条件を、７０％のときは３つの変換条件を満たしているかを判定させるように設定し、その設定に基づき選択することができる。
【００５６】
これまでは、イメージデータが単色の場合について説明してきたが、本発明では、イメージデータが複数色に分かれていても、イメージ描画コマンドをグラフィック描画コマンドへ変換し、イメージ描画コマンドによりイメージ描画した場合と同等の描画結果を得ることができ、かつパフォーマンスを改善することができる。具体的には、図６に示すように、イメージ描画コマンドを、色に応じた複数のグラフィック描画コマンドに変換することで、実現することができる。
【００５７】
この図６では、イメージ描画コマンドを解釈すると、始点座標が（ａ，ｂ）で、幅方向への画素数が各色につき８とされ、高さ方向への画素数が１とされ、変倍率は幅方向へは１、高さ方向へは１５とされ、イメージデータが、始点座標から幅方向に連続する８つの画素については緑色を示す色値と、それに続く８つの画素については黒色を示す色値とを有している。
【００５８】
描画命令判定部２６は、イメージデータにおいて指定数以上の連続する画素からなる領域内のすべての画素の色値が同一である場合に、グラフィック描画コマンドへ変換可能と判定することができる。図６では、イメージ描画コマンドに含まれるＲＯＰコマンドを、ＲＯＰ３コマンドへ変換する必要があり、高さ方向の画素数が１で、幅方向へ連続する８つの画素が同じ色値を有し、変倍率が十分に大きい１５であることから、イメージデータにおいて連続する画素からなる領域内のすべての画素の色値が同一であり、描画命令判定部２６は、グラフィック描画コマンドへ変換可能と判定する。
【００５９】
描画命令変換部２７は、描画領域を、イメージデータに含まれる色値に応じて２つの領域に区分し、各領域につき、領域に関する始点や終点の座標、幅・高さ方向の画素数といった情報および色情報を生成し、ＲＯＰ３コマンドへ変換して、グラフィック描画コマンドへ変換する。
【００６０】
図６では、色が２色とされているため、２つのグラフィック描画コマンドに変換されることになる。１つは、始点座標を（ａ，ｂ）、幅方向への画素数を８、高さを１５、色情報として緑色を示す色値を含むものとされ、もう１つは、始点座標を（ａ＋８，ｂ）、幅方向への画素数を８、高さを１５、色情報として黒色を示す色値を含むものとされる。
【００６１】
描画命令判定部２６は、イメージデータにおいて指定数以上の連続する同じ色値を有する画素からなる領域を１つの領域として区分するが、そのイメージデータの色値により区分された領域同士が互いに異なる色値を有する場合であっても、そのイメージデータから予測される描画結果における色値が同じである場合は、描画結果における色値が同じとなる２つ以上の領域を一領域とみなすことができる。このため、それらの２つ以上の領域に対しては、２つ以上のグラフィック描画コマンドへ変換するのではなく、イメージデータから予測される描画結果における色値を色情報として含む１つのグラフィック描画コマンドへ変換することができる。これは、一領域とみなして描画を行っても、描画結果は同じものとなるからである。
【００６２】
イメージデータにおいて、画素数を１にするのは高さ方向に限られるものではなく、図７に示すように、幅方向であってもよい。幅方向を１とした場合も、上記と同様の方法により同等の結果を得ることができ、イメージ描画を行った場合に比較してパフォーマンスを大幅に改善することができる。
【００６３】
なお、イメージデータは、幅方向または高さ方向への画素数のいずれかが１でなければならないというものではなく、幅方向または高さ方向への画素数が２以上であってもよい。この場合、幅方向と高さ方向の画素数が同じで、すべてが同じ色値を有する正方形からなるブロックとし、幅方向または高さ方向へのブロック数をパラメータとして使用し、上記と同様の方法により、同等の結果を得ることができる。ブロックは、例えば、幅方向への画素数が１０で、高さ方向への画素数が１０の１００画素からなるものとすることができる。
【００６４】
イメージデータが２色からなるものであっても、図８に示すようなものの場合、インタプリタ２１は、１つの色については、始点座標（ａ，ｂ）で、幅方向への画素数がｍ１×ｍ’で、それに対応する高さ方向への画素数がｎ１×ｎ’とされ、また、始点座標（ａ＋ｍ１×ｍ’，ｂ＋ｎ１×ｎ’）、幅方向への画素数がｍ２×ｍ’で、それに対応する高さ方向への画素数がｎ２×ｎ’とされ、もう１つの色については、始点座標（ａ＋ｍ１×ｍ’，ｂ）、幅方向への画素数がｍ２×ｍ’で、それに対応する高さ方向への画素数がｎ１×ｎ’とされ、また、始点座標（ａ，ｂ＋ｎ１×ｎ’）、幅方向への画素数がｍ１×ｍ’で、それに対応する高さ方向への画素数がｎ２×ｎ’とされていると解釈する。
【００６５】
この場合のイメージ描画コマンドに含まれるＲＯＰコマンドは、「０ｘＣＣ」以外のＲＯＰ２コマンドとなるが、同一の色値を有する画素が連続し、指定数以上存在することから、グラフィック描画コマンドへ変換可能と判定し、同一の色値を有する連続した画素からなる４つの領域に区分して、１つのイメージ描画コマンドを、４つのグラフィック描画コマンドへ変換することができる。
【００６６】
描画命令判定部２６は、描画コマンドがイメージ描画コマンドであると判定した後、ＲＯＰ２コマンドであるかを判定し、インタプリタ２１で解釈した内容から、４つの領域に分け、各領域につき、その領域のイメージデータの変倍率が十分に大きいかを判定し、その領域のイメージデータの色値がすべて同じであるかを判定し、すべてを満たす場合に、グラフィック描画コマンドへ変換可能であると判定する。
【００６７】
描画命令変換部２７は、イメージデータ、始点座標、幅・高さ方向の画素数、変倍率から、各グラフィック描画コマンドに必要とされる領域に関する情報およびその領域の色情報を生成して、４つのグラフィック描画コマンドへ変換する。これら４つのグラフィック描画コマンドは、グラフィック描画処理部２４で実行されることにより、イメージ描画処理部２３がイメージ描画コマンドを実行してイメージ描画を行った場合と同等の結果を得ることができ、また、イメージ描画を行った場合に比較してパフォーマンスを改善することができる。
【００６８】
これまで本発明を実施の形態をもって説明してきたが、本発明は上述した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。上記描画命令判定部２６および描画命令変換部２７による処理は、プログラムとして構成することができ、印刷制御装置により実行させることができる。このプログラムは、装置読み取り可能な媒体であればいかなる媒体に格納して提供することができ、フレキシブルディスク、ＭＤディスク、ＳＤカード、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等に格納して提供することができる。
【図面の簡単な説明】
【００６９】
【図１】本発明の印刷処理装置の一実施形態であるプリンタコントローラを含む印刷処理システムを例示した図。
【図２】単色の場合のイメージ描画コマンドと、それに対応するグラフィック描画コマンドと、それらのコマンドを使用して得られた描画結果を例示した図。
【図３】従来の描画処理を示したフローチャート図。
【図４】描画コマンドの判定および変換処理を含む描画処理を示したフローチャート図。
【図５】描画コマンドの判定および変換処理を示したフローチャート図。
【図６】２色の場合のイメージ描画コマンドと、それに対応するグラフィック描画コマンドと、それらのコマンドを使用して得られた描画結果を例示した図。
【図７】単色の場合の別の実施形態のイメージ描画コマンドと、それに対応するグラフィック描画コマンドと、それらのコマンドを使用して得られた描画結果を例示した図。
【図８】２色の場合の別の実施形態のイメージ描画コマンドと、それに対応するグラフィック描画コマンドと、それらのコマンドを使用して得られた描画結果を例示した図。
【符号の説明】
【００７０】
１０…ホストＰＣ、２０…印刷制御装置、２１…インタプリタ、２２…中間データメモリ、２３…イメージ描画処理部、２４…グラフィック描画処理部、２５…ページメモリ、２６…描画命令判定部、２７…描画命令変換部、３０…プリンタエンジン
【図１】
2010012737.tif 000003
【図２】
2010012737.tif 000004
【図３】
2010012737.tif 000005
【図４】
2010012737.tif 000006
【図５】
2010012737.tif 000007
【図６】
2010012737.tif 000008
【図７】
2010012737.tif 000009
【図８】
2010012737.tif 000010