(57)【特許請求の範囲】
【請求項１】
ユーザ選択されたグラデーション描画の処理方式が添付ページ記述言語データを外部機器装置から受信して解析し、該解析したデータに対して展開処理を行う出力制御装置であって、
該解析したデータが２点あるいは３点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されているかどうかを判断する判断手段と、
前記判断手段により２点あるいは３点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されていると判断した場合に、グラデーション描画領域内のピクセルの色を算出する間隔を決定する間引きレベル決定手段と、
前記間引きレベル決定手段により決定した間引きレベルによりグラデーション描画のデータを作成する描画データ作成手段とを有し、
前記間引きレベル決定手段は、グラデーション描画の処理方式とグラデーション描画領域の幅を算出する幅算出手段と、グラデーション描画領域内の色数を算出する色数算出手段とを有し、前記幅算出手段により算出される処理方式と幅、および前記色数算出手段により算出される色数とに基づき、間引きレベルを決定することを特徴とする出力制御装置。
【請求項２】
外部機器装置は、所定のユーザインタフェースを介して、所望のグラデーション描画の処理方式を選択可能とすることを特徴とする請求項１記載の出力制御装置。
【請求項３】
前記幅算出手段は、グラデーション描画領域を含む矩形領域の幅を算出することを特徴とする請求項１記載の出力制御装置。
【請求項４】
前記色数算出手段は、グラデーション描画領域内のグレイ出力の場合は最高輝度レベルと最低輝度レベルの差を色数とし、カラー出力の場合は、各プレーン毎に最高輝度レベルと最低輝度レベルの差を算出し、最大の値を色数とすることを特徴とする請求項１記載の出力制御装置。
【請求項５】
前記幅算出手段は、グラデーション描画領域の全スキャンラインのうちの最大幅を算出することを特徴とする請求項１記載の出力制御装置。
【請求項６】
ユーザ選択されたグラデーション描画の処理方式が添付ページ記述言語データを外部機器装置から受信して解析し、該解析したデータに対して展開処理を行う出力制御装置における出力制御方法であって、
該解析したデータが２点あるいは３点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されているかどうかを判断する判断ステップと、
前記判断ステップにより２点あるいは３点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されていると判断した場合に、グラデーション描画領域内のピクセルの色を算出する間隔を決定する間引きレベル決定ステップと、
前記間引きレベル決定ステップにより決定した間引きレベルによりグラデーション描画のデータを作成する描画データ作成ステップとを有し、
前記間引きレベル決定ステップは、グラデーション描画の処理方式とグラデーション描画領域の幅を算出する幅算出ステップと、グラデーション描画領域内の色数を算出する色数算出ステップとを有し、前記幅算出ステップにより算出される処理方式と幅、および前記色数算出ステップにより算出される色数とに基づき、間引きレベルを決定することを特徴とする出力制御方法。
【請求項７】
外部機器装置は、所定のユーザインタフェースを介して、所望のグラデーション描画の処理方式を選択可能とすることを特徴とする請求項６記載の出力制御方法。
【請求項８】
前記幅算出ステップは、グラデーション描画領域を含む矩形領域の幅を算出することを特徴とする請求項６記載の出力制御方法。
【請求項９】
前記色数算出ステップは、グラデーション描画領域内のグレイ出力の場合は最高輝度レベルと最低輝度レベルの差を色数とし、カラー出力の場合は、各プレーン毎に最高輝度レベルと最低輝度レベルの差を算出し、最大の値を色数とすることを特徴とする請求項６記載の出力制御方法。
【請求項１０】
前記幅算出ステップは、グラデーション描画領域の全スキャンラインのうちの最大幅を算出することを特徴とする請求項６記載の出力制御方法。
【請求項１１】
ユーザ選択されたグラデーション描画の処理方式が添付ページ記述言語データを外部機器装置から受信して解析し、該解析したデータに対して展開処理を行う出力制御装置に、
該解析したデータが２点あるいは３点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されているかどうかを判断する判断ステップと、
前記判断ステップにより２点あるいは３点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されていると判断した場合に、グラデーション描画領域内のピクセルの色を算出する間隔を決定する間引きレベル決定ステップと、
前記間引きレベル決定ステップにより決定した間引きレベルによりグラデーション描画のデータを作成する描画データ作成ステップとを有し、
前記間引きレベル決定ステップは、グラデーション描画の処理方式とグラデーション描画領域の幅を算出する幅算出ステップと、グラデーション描画領域内の色数を算出する色数算出ステップとを有し、前記幅算出ステップにより算出される処理方式と幅、および前記色数算出ステップにより算出される色数とに基づき、間引きレベルを決定することを特徴とする記憶媒体。
【請求項１２】
外部機器装置は、所定のユーザインタフェースを介して、所望のグラデーション描画の処理方式を選択可能とすることを特徴とする請求項１１記載の記憶媒体。
【請求項１３】
前記幅算出ステップは、グラデーション描画領域を含む矩形領域の幅を算出することを特徴とする請求項１１記載の記憶媒体。
【請求項１４】
前記色数算出ステップは、グラデーション描画領域内のグレイ出力の場合は最高輝度レベルと最低輝度レベルの差を色数とし、カラー出力の場合は、各プレーン毎に最高輝度レベルと最低輝度レベルの差を算出し、最大の値を色数とすることを特徴とする請求項１１記載の記憶媒体。
【請求項１５】
前記幅算出ステップは、グラデーション描画領域の全スキャンラインのうちの最大幅を算出することを特徴とする請求項１１記載の記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホストコンピュータ等の外部機器装置によって作成されたページ記述言語（以後、ＰＤＬとする。）データを受信し、ページ記述言語データを解析して、ラスタライズしたラスタデータをエンジンに出力する出力制御装置および印刷装置および出力制御方法および記憶媒体に関するものである。
【０００２】
【従来の技術】
最近、ホストコンピュータにおけるＤＴＰやプレゼンテーションソフトが高機能化し、容易に複雑な描画を表現することができるようになってきた。これらのアプリケーションソフトにより印刷を行う場合、複雑な描画データはプリンタドライバによって最適なＰＤＬデータに変換され、プリンタに送信される。この際、プリンタが受信したＰＤＬデータは、プリンタコントローラにおいて、解析処理を行い、コマンドに従って高速に展開処理し、プリンタエンジンのパフォーマンスを落とすことなく高速かつ高画質な出力を実現している。
【０００３】
【発明が解決しようとする課題】
しかしながら、ピクセル間で色を少しずつ変えて描画するグラデーション描画を行う場合、プリンタドライバでグラデーション描画コマンドのＰＤＬデータをプリンタに送信し、プリンタコントローラにおいて展開すると、グラデーション描画領域の全ての色を算出するのに非常に時間がかかるとともに、グラデーション描画領域が大きいと非常に多くのメモリを必要とする。
【０００４】
また、ホストコンピュータのプリンタドライバにおいて展開処理をすると、データ量の増加に伴い、データ転送に時間がかかるといった問題があり、プリンタエンジンのパフォーマンスを低下させる要因となっている。
【０００５】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、色を算出するピクセルを一定値ごとにスキップすることで処理効率を向上させることができる仕組みを提供することである。
【０００６】
【課題を解決するための手段】
本発明に係る出力制御装置は、以下の特徴的構成を備える。
ユーザ選択されたグラデーション描画の処理方式が添付ページ記述言語データを外部機器装置から受信して解析し、該解析したデータに対して展開処理を行う出力制御装置であって、該解析したデータが２点あるいは３点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されているかどうかを判断する判断手段と、前記判断手段により２点あるいは３点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されていると判断した場合に、グラデーション描画領域内のピクセルの色を算出する間隔を決定する間引きレベル決定手段と、前記間引きレベル決定手段により決定した間引きレベルによりグラデーション描画のデータを作成する描画データ作成手段とを有し、前記間引きレベル決定手段は、グラデーション描画の処理方式とグラデーション描画領域の幅を算出する幅算出手段と、グラデーション描画領域内の色数を算出する色数算出手段とを有し、前記幅算出手段により算出される処理方式と幅、および前記色数算出手段により算出される色数とに基づき、間引きレベルを決定することを特徴とする。
【０００９】
本発明に係る出力制御方法は、以下の特徴的構成を備える。
ユーザ選択されたグラデーション描画の処理方式が添付ページ記述言語データを外部機器装置から受信して解析し、該解析したデータに対して展開処理を行う出力制御装置における出力制御方法であって、該解析したデータが２点あるいは３点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されているかどうかを判断する判断ステップと、前記判断ステップにより２点あるいは３点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されていると判断した場合に、グラデーション描画領域内のピクセルの色を算出する間隔を決定する間引きレベル決定ステップと、前記間引きレベル決定ステップにより決定した間引きレベルによりグラデーション描画のデータを作成する描画データ作成ステップとを有し、前記間引きレベル決定ステップは、グラデーション描画の処理方式とグラデーション描画領域の幅を算出する幅算出ステップと、グラデーション描画領域内の色数を算出する色数算出ステップとを有し、前記幅算出ステップにより算出される処理方式と幅、および前記色数算出ステップにより算出される色数とに基づき、間引きレベルを決定することを特徴とする。
【００１１】
本発明に係る記憶媒体は、以下の特徴的構成を備える。
ユーザ選択されたグラデーション描画の処理方式が添付ページ記述言語データを外部機器装置から受信して解析し、該解析したデータに対して展開処理を行う出力制御装置に、該解析したデータが２点あるいは３点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されているかどうかを判断する判断ステップと、前記判断ステップにより２点あるいは３点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されていると判断した場合に、グラデーション描画領域内のピクセルの色を算出する間隔を決定する間引きレベル決定ステップと、前記間引きレベル決定ステップにより決定した間引きレベルによりグラデーション描画のデータを作成する描画データ作成ステップとを実行させるためのプログラムを記録したコンピュータが読み取り可能な記憶媒体であって、前記間引きレベル決定ステップは、グラデーション描画の処理方式とグラデーション描画領域の幅を算出する幅算出ステップと、グラデーション描画領域内の色数を算出する色数算出ステップとを有し、前記幅算出ステップにより算出される処理方式と幅、および前記色数算出ステップにより算出される色数とに基づき、間引きレベルを決定することを特徴とする。
【００２８】
【発明の実施の形態】
以下、添付の図面を用いて本発明の好適な実施形態を説明する。
【００２９】
〔第１実施形態〕
図１は、本発明の第１実施形態を示す出力制御装置を適用可能なプリンタシステムの構成を説明するブロック図である。
【００３０】
図１において、１０１はホストコンピュータ等の外部機器で、アプリケーションにより生成される印刷情報（ＰＤＬデータ）を所定のインタフェースを介してレーザビームプリンタ１０２に出力する。なお、所定のインタフェースは、双方向インタフェース（セントロニクス），ネットワークインタフェースの双方を含むものとする。
【００３１】
レーザビームプリンタ１０２において、１０５はプリンタエンジン部で、イメージデータに基づいて、周知の電子写真プロセスによって感光ドラム上に潜像を形成し、用紙に転写して定着し印字を行う。プリンタエンジン部１０５は、カートリッジ構成される場合を含むものとする。
【００３２】
１０３はプリンタコントローラ部（コントローラ部）で、プリンタエンジン１０５に接続され、ホストコンピュータ等の外部機器１０１から送られるコードデータ（ＥＳＣコード、各種ＰＤＬデータ等）を受け、このコードデータに基づいてドットデータからなるページ情報を生成し、プリンタエンジン部１０５に対して所定のインターフェース手段によってイメージデータを送信する。
【００３３】
１０４はユーザ（操作者）とのインターフェースを行うパネル部であり、ユーザはパネル部１０４を操作することによって、レーザビームプリンタ１０２に所定の動作を指示することができる。
【００３４】
図２は、図１に示したプリンタエンジン部１０５の構成を説明する概略断面図である。
【００３５】
図２において、２０１はプリンタ筐体、２０２は操作パネルである。操作パネル２０２は、操作のためのスイッチ及びＬＥＤ表示器、ＬＣＤ表示器が配されている。これは図１において示したパネル部１０４の物理的側面である。
【００３６】
２０３は制御ボード収納部で、プリンタの印字プロセス制御を行うプリンタエンジン部１０５、及びプリンタ全体の制御とホストコンピュータからのデータを解析し、イメージデータに変換するプリンタコントローラ部１０３が収納される。
【００３７】
２１０は用紙を保持する用紙カセットであり、不図示の仕切り板によって電気的に用紙サイズを検知する機構を有する。２１１はカセット給紙クラッチであり、用紙カセット２１０上に載置された用紙の最上位の用紙一枚のみを分離し、不図示の駆動手段によって分離した用紙を給紙ローラ２１２まで搬送させる、給紙の度に間欠的に回転し、１回転に対応して１枚の用紙を給紙する。
【００３８】
２１４はレジストシャッタであり、用紙を押圧して給紙を停止させる。給紙ローラ２１２は、用紙の先端部をレジストシャッタ２１４まで搬送する。
【００３９】
２１９は手差し用トレイであり、給紙クラッチ２１５により用紙の先端をレジストシャッタ２１４まで搬送する。以上のような構成によって用紙カセット２１０及び手差し給紙用トレイ２１９から選択的に用紙を給紙することが可能となる。
【００４０】
プリンタエンジン部１０５は、プリンタコントローラ部１０３と所定の通信プロトコルによって通信を行い、プリンタコントローラ部１０３からの指示によって、用紙カセット２１０、または手差し用トレイ２１９の中から給紙手段を決定し、印字開始指示によって上記の通り給紙を開始し用紙をレジストシャッタ２１４まで搬送する。２０４はカートリッジであり、感光ドラム２０５、及び不図示のトナー保持部を有する。
【００４１】
２０６はレーザドライバ、２０７は回転多面鏡、２０８は反射ミラー、２０９はビームディテクタである。レジストシャッタ２１４まで用紙が搬送されると、プリンタコントローラ部１０３から送られたイメージデータに応じてレーザドライバによってオンオフ駆動される不図示の半導体レーザから発射されるレーザビームは、回転多面鏡２０７により主走査方向に走査され反射ミラー２０８を介して感光ドラム２０５上に導かれ結像し、主走査方向に走査して主走査ライン上に潜像を形成する。このレーザビームの発射に同期してレジストシャッタ２１４は上方に駆動し、用紙の搬送をレーザビームの副走査に同期させる。
【００４２】
レーザビームの走査開始時に配置されたビームディテクタ２０９は、レーザビームを検出することによって主走査の画像書出しタイミングを決定するための同期信号を形成し、プリンタコントローラ部１０３に送る。その後用紙は、搬送ローラ２１３によって搬送され、感光ドラム２０５は不図示のモータによって回転駆動され、現像器２２０によってトナー像として顕像化された後、用紙上に転写される。トナー像が転写された用紙はその後、定着ローラ２１６によりトナー像が加熱定着され、搬送ローラ２１７を経て、排紙ローラ２１８によりプリンタ筐体の排紙トレイに排紙される。
【００４３】
図３は、図１に示したプリンタコントローラ部１０３の詳細構成を説明するためのブロック図である。
【００４４】
図において、３０１はパネルインタフェースで、パネル部１０４とのデータ通信によって、操作者からの諸設定、指示をパネル部１０４から受け取る。３０２はホストインタフェースで、ホストコンピュータ等の外部機器１０１との信号の入出力部として機能する。
【００４５】
３０３はエンジンインタフェースで、プリンタエンジン部１０５との信号の入出力部であり、不図示の出力バッファレジスタからデータ信号送出を行うとともにプリンタエンジン部１０５との通信制御を行う。３０４はＣＰＵで、プリンタコントローラ部１０３全体の制御を司る。
【００４６】
３０５はＲＯＭで、ＣＰＵ３０４の制御コードを格納する。３１０はデータ解析部で、ホストインターフェース３０２において受信したデータを解析し、所定の処理に振り分ける。３２０は幅算出部で、データ解析部３１０においてグラデーション描画であると判定されたときにグラデーション描画する領域の幅を算出する。３２１は色数算出部で、グラデーション描画における色数を算出する。３１１は間引きレベル判定部で、幅算出部３２０、色数算出部３２１において算出した、幅と色数よりグラデーション描画の間引きレベルを決定する。
【００４７】
３１２はエッジ位置算出部で、グラデーション描画におけるスキャンライン毎のエッジの座標を計算する。３１３はグラデーションデータ作成部で、エッジ位置算出部により算出されたエッジ間のピクセルそれぞれに対するデータを作成する。３１４は描画処理部で、作成されたデータをラスタデータに展開する。
【００４８】
なお、データ解析部３１０、幅算出部３２０、色数算出部３２１、間引き判定部３１１、エッジ位置算出部３１２、グラデーションデータ作成部３１３、描画処理部３１４は、例えばプログラムモジュールとして構成され、例えばＲＯＭ３０５に格納されている。
【００４９】
３０６は一時記憶用ＲＡＭで、ＣＰＵ３０４のワークメモリとして使用する。３１５は受信バッファで、ホストインターフェース３０２において受信したデータを一時的に格納する。
【００５０】
３１６は頂点情報メモリで、グラデーション描画において指定された座標と色情報を格納する。３１７はオブジェクトメモリで、グラデーションデータ作成部３１３において作成されたグラデーションイメージを格納する。
【００５１】
３１８はラスタメモリで、オブジェクトメモリ３１７に格納されたオブジェクトを描画処理部３１４によって所定の解像度、階調に展開したデータを格納する。３０７は不揮発性のメモリ手段であるＥＥＰＲＯＭである。
【００５２】
３０８はＤＭＡ制御部であり、ＣＰＵ３０４からの指示により画像メモリ内のビットマップデータを、エンジンインタフェース３０３に転送する。３０９はアドレスバス及びデータバスを持つシステムバスである。
【００５３】
なお、パネルインタフェース３０１、ホストインタフェース３０２、エンジンインターフェース３０３、ＣＰＵ３０４、ＲＯＭ３０５、ＲＡＭ３０６、ＥＥＰＲＯＭ３０７及びＤＭＡ制御部３０８は、各々システムバス３０９に接続され、システムバス３０９上にある全ての機能部にアクセス可能である。
【００５４】
また、ＣＰＵ３０４を制御する制御コードは、不図示のシステムクロックによってタスクと称されるロードモジュール単位に時分割制御するＯＳと、機能単位に動作する複数のロードモジュール（タスク）によって構成されるものとする。
【００５５】
次に、ホスト側のシステムの説明を図４に基づいて行う。
【００５６】
図４は、図１に示した外部機器１０１における機能処理構成例を説明するブロック図である。
【００５７】
図４において、４０１はホストコンピュータであり、プリントデータ及び制御コードから成る印刷情報を印刷装置３００に出力するものである。ホストコンピュータ４０１は、入力デバイスであるキーボード４１１やポインティングデバイスであるマウス４１２と、表示デバイスであるディスプレイ４１０を合わせた一つのコンピュータシステムとして構成されている。なお、ホストコンピュータ４０１は、MS-DOS、Windows などの基本ＯＳによって動作しているものとする。
【００５８】
ホストコンピュータ側について、本発明に係る機能的な部分にのみ注目し、基本ＯＳ上での機能を大きく分類すると、アプリケーション４０２、画像情報処理手段であるグラフィックシステム４０３、データ格納手段、印刷データ格納制御手段および印刷装置との通信手段を含むスプールシステム４０４、ＵＩ処理部４０５に大別される。
【００５９】
アプリケーション４０２は、例えば、ワープロや表計算などの基本ソフトウェア上で動作する応用ソフトウェアを指すものである。グラフィックシステム４０３は、基本ＯＳの機能の一部であるGraphic Device Interface（以後、ＧＤＩと記す）４０６とそのＧＤＩから動的にリンクされるデバイスドライバであるプリンタドライバ４０７によって構成されている。
【００６０】
ここで、プリンタドライバ４０７はＧＤＩとしてコールされる描画命令を、ＰＤＬ言語に変換するのが大きな役割である。ＧＤＩ描画命令やドライバの設定により本発明に関連するグラデーション描画命令を受け取り、適切な処理を行う。
【００６１】
スプールシステム４０４は、グラフィックシステム４０３の後段に位置するプリンタ特有のシステムであり、グラフィックシステム４０３において作成されたＰＤＬデータを一時的に格納するスプーラ４０８と、スプーラ４０８に格納されたＰＤＬデータを読み出し、印刷装置３００内に送信するプリンタＩ／Ｆ４０９から構成されるものである。
【００６２】
なお、基本ＯＳによって、上述したこれらの名称や機能的な枠組みは若干異なる場合があるが、本発明で言う各技術的手段が実現できるモジュールであれば、それらの名称や枠組みは本発明にとってあまり大きな問題ではない。
【００６３】
例えば、スプーラと呼ばれるものは、別のＯＳにおいてプリントキューと呼ばれるモジュールに処理を組み込むことによっても実現可能である。なお、一般的に、これらの各機能モジュールを含むホストコンピュータ４０１は、図示しないが中央演算処理装置（ＣＰＵ）、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ハードディスクドライブ（ＨＤＤ）、各種入出力制御部（Ｉ／Ｏ）などのハードウェアのもとで、基本ソフトと呼ばれるソフトウェアがその制御を司り、その基本ソフトの元で、それぞれの応用ソフト、システムプロセスが機能モジュールとして動作するようになっている。
【００６４】
次に本実施形態のグラデーション描画の処理について説明する。
【００６５】
ユーザがアプリケーション４０２などを使って、グラデーション指定した図形を含んだプレゼンテーションデータやＤＴＰデータを作成し、そのデータを印刷する場合、プリンタドライバ４０７はＧＤＩとしてコールされる描画命令をＰＤＬデータに変換する。このとき、グラデーション指定した図形に対し、グラデーション描画命令が発行される。発行されるグラデーション描画命令は、図５〜図７に示すように、例えば３種類あり、矩形の対角の２頂点の座標とそれぞれの頂点の色を指定し、一方の頂点の色からもう一方の頂点の色へ水平方向に変化させる水平グラデーション指定（図５）と、一方の頂点の色からもう一方の頂点の色へ垂直方向に変化させる垂直グラデーション指定（図６）があり、さらに、三角形の３頂点の座標とそれぞれの頂点の色を指定し、３つの頂点内で色を変換させる三角グラデーション指定（図７）がある。
【００６６】
図５〜図７は、図４に示したプリンタドライバ４０７により発行されるグラデーション描画命令例を示す図である。
【００６７】
グラデーション描画命令も他の描画命令と同様にＰＤＬデータに変換し、図３に示す印刷装置３００に送信する。プリンタコントローラ部１０３において、ホストＩ／Ｆ３０２を介してグラデーション描画命令を受信すると、以下に示す式に従ってグラデーション描画を行う。
【００６８】
水平グラデーション指定における矩形領域内の色は、以下の第（１）式〜第（３）式に基づいて算出される。
【００６９】
矩形の頂点１の座標を(X1, Y1)、色を(R1, G1, B1)とし、頂点２の座標を(X2, Y2)、色を(R2, G2, B2)とし、矩形領域内のある点の座標の(X, Y)の色(R, G,B)は、
R = (R2 * (X - X1) + R1 * (X2 - X)) / (X2 -X1)……（１）
G = (G2 * (X - X1) + G1 * (X2 - X)) / (X2 -X1)……（２）
B = (B2 * (X - X1) + B1 * (X2 - X)) / (X2 -X1)……（３）
となる。
【００７０】
水平方向グラデーションはＹ座標には依存せず、同じＸ座標の領域は全て同じ色で描画することとなる。
【００７１】
垂直グラデーション指定における矩形領域内の色は以下の第（４）式〜第（６）式で算出される。
矩形の頂点１の座標を(X1, Y1)、色を(R1, G1, B1)とし、頂点２の座標を(X2, Y2)、色を(R2, G2, B2)とし、矩形領域内のある点の座標の(X, Y)の色(R, G,B)は、
R = (R2 * (Y - Y1) + R1 * (Y2 - Y)) / (Y2 -Y1)……（４）
G = (G2 * (Y - Y1) + G1 * (Y2 - Y)) / (Y2 -Y1)……（５）
B = (B2 * (Y - Y1) + B1 * (Y2 - Y)) / (Y2 -Y1)……（６）
となる。
【００７２】
垂直方向グラデーションはＸ座標には依存せず、同じＹ座標の領域は全て同じ色で描画することとなる。
【００７３】
三角グラデーション指定における三角形領域内の色は以下の第（７）式〜第（９）式で算出される。
【００７４】
三角形の頂点１の座標を(X1, Y1)、色を(R1, G1, B1)とし、頂点２の座標を(X2, Y2)、色を(R2, G2, B2)とし、頂点３の座標を(X3, Y3)、色を(R3, G3 B3) とし、三角形領域内のある点の座標の(X, Y)の色(R, G,B)は、
R = (R1 * S1 + R2 * S2 + R3 * S3) / (S1 + S2 + S3)……（７）
G = (G1 * S1 + G2 * S2 + G3 * S3) / (S1 + S2 + S3)……（８）
B = (B1 * S1 + B2 * S2 + B3 * S3) / (S1 + S2 + S3)……（９）
なお、S1は頂点２、頂点３、領域内座標(X, Y)を３つの頂点とした三角形の面積を示し、S2は頂点１、頂点３、領域内座標(X, Y)を３つの頂点とした三角形の面積を示し、S3は頂点１、頂点２、領域内座標(X, Y)を３つの頂点とした三角形の面積を示す。
【００７５】
次に、本発明に係る出力制御装置におけるグラデーション描画処理動作について図８，図９，図１１に示すフローチャートおよび図１０に示すユーザインタフェースを参照して説明する。
【００７６】
図８は、本発明に係る出力制御装置における第１のデータ処理手順の一例を示すフローチャートであり、図３に示した印刷装置３００におけるデータ受信から出力までの処理手順に対応する。なお、Ｓ５０１〜Ｓ５１１は各ステップを示す。
【００７７】
図４に示したホストコンピュータ４０１のプリンタＩ／Ｆ４０９からＰＤＬデータが送信されると、印刷装置３００のホストＩ／Ｆ３０２を介してＰＤＬデータを受信し（Ｓ５０１）、逐次ＲＡＭ３０６上に確保される受信バッファ３１５に格納する。そして、格納されたデータはデータ解析部３１０において、受信バッファ３１５から読み出され、コマンド解析を行い（Ｓ５０２）、それぞれのコマンドに対応した処理を実行する。そして、コマンド解析によりコマンドがグラデーション描画処理方式であるか否かを判定して（Ｓ５０３）、グラデーション描画処理方式であると判定した場合、間引きレベル判定部３１１において、詳細は図９に示す間引きパラメータの算出処理を行い（Ｓ５０４）、ステップＳ５０２へ戻って、再びデータ解析を行う。
【００７８】
一方、ステップＳ５０３で、コマンド解析によりグラデーション描画処理方式でないと判定した場合は、さらに、該命令がグラデーション命令か否かを判定し（Ｓ５０５）、グラデーション命令であると判定した場合は、図３に示した間引きレベル判定部３１１において、グラデーション描画における間引きレベルの算出を行う（Ｓ５０６）。
【００７９】
そして、該算出された間引きレベルを拡大値として描画処理部３１４に指定するとともに（Ｓ５０７）、間引きレベルに従ってグラデーションデータ作成部３１３でグラデーションイメージデータを作成し（Ｓ５０８）、オブジェクトメモリ３１７に格納して、グラデーションイメージデータの作成が終了すると、ステップＳ５０２へ戻り、再びデータ解析を行う。
【００８０】
一方、ステップＳ５０５で、グラデーション命令でないと判定された場合は、さらに、データ解析部３１０によるコマンド解析によりグラデーション描画以外の描画コマンド、例えばページ終了を指示する命令か否かを判定して（Ｓ５０９）、ページ終了を指示する命令でないと判定した場合は、コマンドに対応した描画データを作成し（Ｓ５１０）、オブジェクトメモリ３１７に格納した後、ステップＳ５０２へ戻り、再びデータ解析を行う。
【００８１】
一方、ステップＳ５０９で、データ解析によりページ終了コマンドであると判定した場合は、描画処理部３１４においてオブジェクトメモリ３１７に格納されている描画データをラスタメモリ３１８に所定の解像度、階調で展開処理し、出力して（Ｓ５１１）、処理を終了する。
【００８２】
図９は、本発明に係る出力制御装置における第２のデータ処理手順の一例を示すフローチャートであり、図８に示したステップＳ５０４におけるグラデーション処理方式から間引きパラメータを算出処理する詳細手順に対応する。なお、Ｓ６０１〜Ｓ６０５は各ステップを示す。
【００８３】
図１０は、図４に示したホストコンピュータのディスプレイ４１０に表示するグラデーション描画処理選択ウィンドウ例を示す図である。
【００８４】
先ずステップＳ６０１で、図１０に示すウインドウにおいて、ユーザによって選択されたグラデーション処理方式が「高速」であるか否かを判断し、「高速」であると判定した場合、間引きパラメータparam に「２」を設定し（Ｓ６０２）、処理を終了する。
【００８５】
一方、ステップ（Ｓ６０１）で、高速でないと判定された場合は、さらに、図１０に示すウインドウにおいて、ユーザによって選択されたグラデーション処理方式が「高画質」であるか否かを判断し、「高画質」であると判定した場合、間引きパラメータparam に「０．５」を設定して（Ｓ６０４）、処理を終了する。
【００８６】
一方、ステップＳ６０３で、以上の処理方式以外（標準）が選択されていると判定した場合は、間引きパラメータparam に「１」を設定し（Ｓ６０５）、間引きパラメータ算出処理は終了する。
【００８７】
図１１は、本発明に係る出力制御装置における第３のデータ処理手順の一例を示すフローチャートであり、図８に示したステップＳ５０６における間引きレベル算出処理の詳細手順に対応する。なお、Ｓ７０１〜Ｓ７０７は各ステップを示す。
【００８８】
先ず、幅算出部３２０でグラデーション描画命令により２点指定された矩形領域、または３点指定された三角形を含む矩形領域の幅を算出する（Ｓ７０１）。また、同時に色数算出部３２１で色数を算出する（Ｓ７０２）。
【００８９】
なお、幅Wdと色数Cnumの算出式は、２点指定の矩形の頂点１の座標を(X1, Y1)、色を(R1, G1, B1)とし、頂点２の座標を(X2, Y2)、色を(R2, G2, B2)とした場合、幅Wdは、
Wd = abs(X2 - X1) + 1
となり、
色数Cnumは、
R = abs(R2 - R1) + 1，G = abs(G2 - G1) + 1，B = abs(B2 - B1) + 1，Cnum = max(R, G,B)となる。
【００９０】
また、３点指定の三角形の頂点１の座標を(X1, Y1)、色を(R1, G1, B1)とし、頂点２の座標を(X2, Y2)、色を(R2, G2, B2)とし、頂点３の座標を(X3, Y3)、色を(R3, G3B3)とした場合、幅Wdは、Wd = max(X1, X2, X3) - min(X1, X2, X3) +1となり、色数Cnumは、R  = max(R1, R2, R3) - min(R1, R2, R3) + 1，G = max(G1, G2, G3) - min(G1, G2, G3) +1，B  = max(B1, B2, B3) - min(B1, B2, B3) + 1，Cnum = max(R, G,B)となる。
以上の算出式により算出したWd, Cnumと間引きパラメータparam を元に、間引きレベル判定部３11において Wd/Cnum*paramが、「１６」以上であるか否かを判定して（Ｓ７０３）、「１６」以上であると判定した場合は、間引きレベルmabikiを「８」とし（Ｓ７０４）、処理を終了する。
【００９１】
一方、ステップＳ７０３で、１６」以上でないと判定した場合は、Wd/Cnum*paramが「８」以上「１６」未満であるか否かを判定して（Ｓ７０５）、 Wd/Cnum*paramが「８」以上「１６」未満であると判定した場合は、間引きレベルmabikiを「６」とし（Ｓ７０６）、処理を終了する。
【００９２】
一方、ステップＳ７０５で、Wd/Cnum*param が「８」未満であると判定された場合は、間引きレベルmabikiを「４」として（Ｓ７０７）、処理を終了する。
【００９３】
以上の方法により算出した間引きレベルに応じて、グラデーションデータ作成部３１３においてグラデーションイメージデータ作成を行う。
【００９４】
図１２は、本発明に係る出力制御装置における間引きレベル例を示す図であり、図９に示す間引きレベル算出のフローチャートに従って間引きレベルを算出したときの一例である。
【００９５】
図１３は、本発明に係る出力制御装置における第４のデータ処理手順の一例を示すフローチャートであり、図８に示したステップＳ５０６におけるグラデーションイメージデータ作成処理の詳細手順に対応する。なお、Ｓ８０１〜Ｓ８１４は各ステップを示す。
【００９６】
先ず、三角グラデーション指定の３点の最小Ｙ座標の頂点を「Ａ」とし、残りの２点のうち最小Ｘ座標の頂点を「Ｂ」とし、残りの頂点を「Ｃ」とする（Ｓ８０１）。
【００９７】
次に、頂点ＢのＹ座標Ｙｂが頂点ＣのＹ座標Ｙｃより小さい否か（Ｙｂ＜Ｙｃ）を判断し（Ｓ８０２）、Ｙｂ＜Ｙｃであると判断した場合は、左エッジのスキャンする経路を「Ａ→Ｂ→Ｃ」、右エッジのスキャンする経路を「Ａ→Ｃ」とし（Ｓ８０３）、Ｙ座標の最大値Ｙmax に頂点ＣのＹ座標Ｙｃを設定する（Ｓ８０４）。
【００９８】
一方、ステップＳ８０２で、頂点ＢのＹ座標が頂点ＣのＹ座標以上であると判断した場合は、左エッジのスキャンする経路を「Ａ→Ｂ」、右エッジのスキャンする経路を「Ａ→Ｃ→Ｂ」とし（Ｓ８０５）、Ｙ座標の最大値Ymaxに頂点ＢのＹ座標Ｙｂを設定する（Ｓ８０６）。
【００９９】
そして、スキャンする経路が決まったらＹ座標の最小値Ｙに頂点ＡのＹ座標Ｙａを設定し（Ｓ８０７）、エッジ位置算出部３１２でＹ座標における左エッジのＸ座標Xleft と右エッジのＸ座標Xrightを算出する（Ｓ８０８）。
【０１００】
次に、算出したXleft をX に設定し（Ｓ８０９）、座標(X, Y)の色を三角グラデーション指定の色算出式によって算出する（Ｓ８１０）。そして、算出した色の値はオブジェクトメモリ３１７に格納される。座標(X, Y)の色算出後、X に間引きレベル判定部３１１で算出した間引きレベルmabikiを足し(S８１１ )、Xと  Xrightを比較し XがXrightよりも大きくなっているかどうかを判断して（Ｓ８１２）、X がXrightよりも大きくなるまでステップＳ８１０〜Ｓ８１２を繰り返し行う。
そして、X がXright よりも大きくなったと判断されたら、すなわち、Ｙ座標の１スキャンライン分のグラデーションイメージの作成が終了したら、Ｙをインクリメントし（Ｓ８１３）、YとYmaxを比較して、Y がYmaxより大きくなっているか否かを判断して（Ｓ８１４）、 YがYmaxより大きくなるまでステップＳ８０８〜Ｓ８１４を繰り返し行う。
一方、ステップＳ８１４で、Y がYmax より大きくなったと判断された場合は、処理を終了する。
【０１０１】
このようにステップＳ８１１で色を算出するピクセルを一定値ごとにスキップすることで処理効率を向上させ、色データに使用するメモリ量の削減を行っている。
【０１０２】
図１４は、本発明に係る出力制御装置における第１のグラデーションイメージデータ作成処理例を示す図であり、図１３に示したグラデーションイメージ作成のフローチャートに従って、スキャンラインのデータを作成したときの一例である。
【０１０３】
〔第２実施形態〕
上記第１実施形態の間引きレベル判定部３１１による間引きレベル算出処理例においては、幅算出部３２０、色数算出部３２１で算出した、三角グラデーションを含む矩形領域の幅と色数により算出しているが、本実施形態では算出の精度を向上させ、適切な間引きレベルによりグラデーションイメージを作成する例である。以下、本実施形態について説明する。
【０１０４】
図１５は、本発明に係る出力制御装置における第５のデータ処理手順の一例を示すフローチャートであり、図８に示したステップＳ５０４における他の間引きレベル算出処理の詳細手順に対応する。なお、Ｓ１００１〜Ｓ１０１６は各ステップを示す。
【０１０５】
先ず、三角グラデーション指定の３点の最小Ｙ座標の頂点をＡとし、残りの２点のうち最小Ｘ座標の頂点をＢとし、残りの頂点をＣとする（Ｓ１００１）。続いて、頂点ＢのＹ座標Ｙｂが頂点ＣのＹ座標Ｙｃより小さいか否か（Ｙｂ＜Ｙｃ）を判断し、頂点ＢのＹ座標Ｙｂが頂点ＣのＹ座標Ｙｃより小さいと判断した場合は、Ｙに頂点ＢのＹ座標Ｙｂを設定し（Ｓ１００３）、Xleft に頂点ＢのＸ座標Ｘｂを設定し（Ｓ１００４）、さらにＹ座標Ｙのときの右エッジの座標を頂点Ａと頂点Ｃを結ぶ線上で算出し、Xrightに設定する（Ｓ１００５）。
【０１０６】
一方、ステップＳ１００２で、頂点ＢのＹ座標Ｙｂが頂点ＣのＹ座標Ｙｃより大きいと判断された場合は、Ｙに頂点ＣのＹ座標Ｙｃを設定し（Ｓ１００６）、Xrightに頂点ＣのＸ座標を設定し（Ｓ１００７）、さらにＹ座標Ｙのときの左エッジの座標を頂点Ａと頂点Ｂを結ぶ線上で算出し、Xleft に設定して（Ｓ１００８）、ステップＳ１００９以降へ進む。
【０１０７】
このようにして、Xleft, Xright,Ｙを設定した後、左エッジの(Xleft,  Y) の色Cleft （Ｓ１００９）と、右エッジの(Xright,Y)の色Crightを算出し（Ｓ１０１０）、幅算出部３２０においてXleft とXright間の幅Wdと色数算出部３２１においてXleft とXright間の色数Cnumを算出する（Ｓ１０１１）。幅Wdと色数Cnumの算出式は、Cleft を(Rleft,Gleft, Bleft)、Crightを(Rright, Gright, Bright)とすると、幅WdはWd = Xright - Xleft +1となり、色数Cnumは、R  = abs(Rleft - Rright) + 1，G = abs(Gleft - Gright) +1，B  = abs(Bleft - Bright) + 1，Cnum = max(R, G,B)となる。
【０１０８】
そして、以上の算出式により幅算出部３２０と色数算出部３２１で算出したWd, Cnumと間引きパラメータparamを元に、間引きレベル判定部３１１において Wd/Cnum*paramが「１６」以上であるか否かを判断し（Ｓ１０１２）、「１６」以上と判断した場合、間引きレベルmabikiを「８」とし（Ｓ１０１３）、処理を終了する。
一方、ステップＳ１０１２で、算出したWd, Cnumと間引きパラメータparam のW d/Cnum*paramが「１６」以上でないと判断した場合は、さらに、Wd/Cnum*param が「８」以上「１６」未満であるか否かを判断し（Ｓ１０１４）、「８」以上「１６」未満であると判断した場合は、間引きレベルmabikiを「６」として（Ｓ１０１５）、処理を終了する。
【０１０９】
一方、ステップＳ１０１４で、「８」以上「１６」未満でないと判断した場合は、例えばWd/Cnum*param が「８」未満の場合は、間引きレベルmabikiを「４」として（Ｓ１０１６）、処理を終了する。
【０１１０】
以上の方法により算出した間引きレベルに応じて、グラデーションデータ作成部３１３においてグラデーションイメージデータ作成を行う。
【０１１１】
図１６は、本発明に係る出力制御装置における他の間引きレベル例を示す図であり、図１７は、本発明に係る出力制御装置における第２のグラデーションイメージデータ作成処理例を示す図である。
【０１１２】
なお、上記第１，第２実施形態においては、グラデーション描画処理方式の選択は、３種類のうちの１つを選択する場合について説明したが、選択の種類をより詳細にしてさらに多くのレベル分けして、より適切な間引きレベルを選択できるようにしてもよい。
【０１１３】
また、上記第１，第２実施形態においては、間引きレベル判定部３１１における間引きレベル算出方式は、３種類の間引きレベルに分ける場合について説明したが、条件をより詳細にしてさらに多くのレベル分けして、より適切な間引きレベルを算出するようにしてもよい。
【０１１４】
さらに、上記第１，第２実施形態においては、間引きレベル判定部３１１における間引きレベル算出方式は、サイズや色数だけで間引きレベルを算出しているが、出力解像度、出力階調などの画質に影響のある設定条件も考慮して、より適切な間引きレベルを算出するようにしてもよい。
【０１１５】
また、上記第１，第２実施形態においては、間引きレベル判定部３１１における間引きレベル算出と、グラデーションデータ作成部３１３におけるグラデーションイメージ作成方式は、主走査方向に対してのみ適用する場合について説明したが、同様な方式により副走査方向に対しても適用するようにしてもよい。
【０１１６】
以下、図１８に示すメモリマップを参照して本発明に係る出力制御装置を適用可能な印刷システムで読み出し可能なデータ処理プログラムの構成について説明する。
【０１１７】
図１８は、本発明に係る出力制御装置を適用可能な印刷システムで読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０１１８】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１１９】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１２０】
本実施形態における図８，図９，図１１，図１３，図１５に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１２１】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１２２】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１２３】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ等を用いることができる。
【０１２４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２５】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２６】
【発明の効果】
以上説明したように、本発明によれば、色を算出するピクセルを一定値ごとにスキップすることで処理効率を向上させることができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の第１実施形態を示す出力制御装置を適用可能なプリンタシステムの構成を説明するブロック図である。
【図２】図１に示したプリンタエンジン部の構成を説明する概略断面図である。
【図３】図１に示したプリンタコントローラ部の詳細構成を説明するためのブロック図である。
【図４】図１に示した外部機器における機能処理構成例を説明するブロック図である。
【図５】図４に示したプリンタドライバにより発行されるグラデーション描画命令例を示す図である。
【図６】図４に示したプリンタドライバにより発行されるグラデーション描画命令例を示す図である。
【図７】図４に示したプリンタドライバにより発行されるグラデーション描画命令例を示す図である。
【図８】本発明に係る出力制御装置における第１のデータ処理手順の一例を示すフローチャートである。
【図９】本発明に係る出力制御装置における第２のデータ処理手順の一例を示すフローチャートである。
【図１０】図４に示したホストコンピュータのディスプレイに表示するグラデーション描画処理選択ウィンドウ例を示す図である。
【図１１】本発明に係る出力制御装置における第３のデータ処理手順の一例を示すフローチャートである。
【図１２】本発明に係る出力制御装置における間引きレベル例を示す図である。
【図１３】本発明に係る出力制御装置における第４のデータ処理手順の一例を示すフローチャートである。
【図１４】本発明に係る出力制御装置における第１のグラデーションイメージデータ作成処理例を示す図である。
【図１５】本発明に係る出力制御装置における第５のデータ処理手順の一例を示すフローチャートである。
【図１６】本発明に係る出力制御装置における他の間引きレベル例を示す図である。
【図１７】本発明に係る出力制御装置における第２のグラデーションイメージデータ作成処理例を示す図である。
【図１８】本発明に係る出力制御装置を適用可能な印刷システムで読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
３０１  パネルＩ／Ｆ
３０２  ホストＩ／Ｆ
３０４  ＣＰＵ
３０５  ＲＯＭ
３０６  ＲＡＭ
３０７  ＥＥＰＲＯＭ
３０８  ＤＭＡ制御部
３１０  データ解析部
３１１  間引きレベル判定部
３１２  エッジ位置算出部
３１３  グラデーションデータ作成部
３１４  描画処理部
３１５  受信バッファ
３１６  頂点情報メモリ
３１７  オブジェクトメモリ
３１８  ラスタメモリ
【図１】
0003840067.tif 000002
【図２】
0003840067.tif 000003
【図３】
0003840067.tif 000004
【図４】
0003840067.tif 000005
【図５】
0003840067.tif 000006
【図６】
0003840067.tif 000007
【図７】
0003840067.tif 000008
【図８】
0003840067.tif 000009
【図９】
0003840067.tif 000010
【図１０】
0003840067.tif 000011
【図１１】
0003840067.tif 000012
【図１２】
0003840067.tif 000013
【図１３】
0003840067.tif 000014
【図１４】
0003840067.tif 000015
【図１５】
0003840067.tif 000016
【図１６】
0003840067.tif 000017
【図１７】
0003840067.tif 000018
【図１８】
0003840067.tif 000019