(57)【要約】【課題】グラデーションの階調色の再現精度と処理速度の高速化とを両立させることが可能な描画処理装置を提供することを目的とする。【解決手段】描画コマンドを入力して、描画コマンドに応じた描画データを描画メモリに描画する描画処理装置において、入力されるグラデーション描画コマンドを色変換して得られる描画データを描画メモリに描画するグラデーション描画処理部１０２と、グラデーション描画処理部１０２の階調精度を制御する階調精度制御部１０５と、を備え、グラデーション描画処理部１０２は、グラデーション描画時は、階調精度制御部１０５により指定された階調精度に応じた複数ポイントで色変換を行い、各ポイントの色変換後の色に基づいて、ポイント間の色を線形的に算出する。【選択図】        図３
2007081886.tif 000002
【特許請求の範囲】
【請求項１】
描画コマンドを入力して、描画コマンドに応じた描画データを描画メモリに描画する描画処理装置において、
グラデーション描画コマンドを入力する入力手段と、
前記入力したグラデーション描画コマンドを色変換して得られる描画データを描画メモリに描画するグラデーション描画手段と、
前記グラデーション描画手段のグラデーションの階調精度を制御する階調精度制御手段と、
を備え、
前記グラデーション描画手段は、グラデーション描画時は、前記階調精度制御手段により指定された階調精度に応じた複数ポイントで色変換を行い、各ポイントの色変換後の色に基づいて、ポイント間の色を線形的に算出することを特徴とする描画処理装置。
【請求項２】
前記階調精度制御手段は、グラデーション描画を行う図形の大きさに基づいて、前記階調精度を決定することを特徴とする請求項１に記載の描画処理装置。
【請求項３】
前記階調精度制御手段は、グラデーション描画の１画素当りの変化量に基づいて、前記階調精度を決定することを特徴とする請求項１または２に記載の描画処理装置。
【請求項４】
前記階調精度制御手段は、ユーザーからの指示に基づいて、前記階調精度を決定することを特徴とする請求項１〜請求項３のいずれか１つに記載の描画処理装置。
【請求項５】
前記階調精度制御手段は、描画処理装置の処理性能に基づいて、前記階調精度を決定することを特徴とする請求項１〜請求項４のいずれか１つに記載の描画処理装置。
【請求項６】
描画コマンドを入力して、描画コマンドに応じた描画データを描画メモリに描画する描画処理装置において、
グラデーション色設定コマンドを入力する入力手段と、
グラデーションのパラメータの特徴毎に異なる描画関数を有し、前記グラデーション色設定コマンドに対して、選択された描画関数を実行して色変換を行う色変換手段と、
前記グラデーション色設定コマンドの色変化のタイプを判定し、判定した色変化のタイプに基づいて前記色変換手段の描画関数を選択する選択手段と、
を備えたことを特徴とする描画処理装置。
【請求項７】
前記選択手段は、グラデーション色設定コマンドの入力時に前記描画関数を選択することを特徴とする請求項６に記載の描画処理装置。
【請求項８】
スプール／デスプールするためのスプールメモリを備え、
前記選択手段は、スプールフェイズにおいて、グラデーション色設定コマンドの入力時に前記描画関数を選択して中間データを前記スプールメモリに描画し、
前記色変換手段は、デスプールフェイズにおいて、前記スプールメモリから中間データを読み出す際に、前記選択された描画関数で色変換を行うことを特徴とする請求項６または請求項７に描画処理装置。
【請求項９】
前記描画関数の１つは、１画素毎に色変換処理を行うための関数であることを特徴とする請求項６〜請求項８のいずれか１つに記載の描画処理装置。
【請求項１０】
前記描画関数の１つは、次に色が変化するまでの画素数を計算し、変化する座標毎に色変換処理を行うための関数であることを特徴とする請求項６〜請求項９のいずれか１つに記載の描画処理装置。
【請求項１１】
前記描画関数の１つは、Ｘ軸方向のみ変化するグラデーションを描画するための関数であり、各スキャンラインで計算した色変換処理結果を保持し、前に処理した結果に対応するＸ座標では過去の色変換処理結果を使用することを特徴とする請求項６〜請求項１０のいずれか１つに記載の描画処理装置。
【請求項１２】
前記描画関数の１つは、Ｙ軸方向のみ変化するグラデーションを描画するための関数であり、色変化計算を各Ｙ座標のスキャンラインで１度のみ行うことを特徴とする請求項６〜請求項１１のいずれか１つに記載の描画処理装置。
【請求項１３】
前記描画処理装置は、プリンタ等の画像形成装置に搭載されることを特徴とする請求項１〜請求項１２のいずれか１つに記載の描画処理装置。
【請求項１４】
前記描画処理装置は、パーソナルコンピュータ等の情報処理装置に搭載されることを特徴とする請求項１〜請求項１２のいずれか１つに記載の描画処理装置。
【請求項１５】
前記描画処理装置は、プリンタ等の画像形成装置およびパーソナルコンピュータ等の情報処理装置に搭載されることを特徴とする請求項１〜請求項１２のいずれか１つに記載の描画処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、描画処理装置に関し、詳細には、描画コマンドを入力して、描画コマンドに応じた描画データを描画メモリに描画する描画処理装置に関する。
【背景技術】
【０００２】
近年、カラーＤＴＰやワードプロセッサなどの機能が高機能化され、テキストのみならず複雑な図形も容易に作成できるようになっている。特に、グラデーション機能は、文書の見栄えをよくするために多用される機能の一つとなっている。
【０００３】
ここで、グラデーション処理の概略を説明する。オペレータがグラデーションの描画を指示すると、ホストＰＣはグラデーション描画命令を描画モジュールに通知し、描画モジュールはグラデーション描画命令を解釈してディスプレイ上にグラデーションを描画する。
【０００４】
グラデーションを作成するときの描画命令は、一般的に端点の色データ、塗りつぶす領域の形状、および塗りつぶしパターンなどの情報を指定する。端点の色情報は、特殊な場合を除いて通常、ＲＧＢ色空間上の色彩値を用いる。
【０００５】
上記したグラデーションを印刷する場合には、ホストＰＣは同じ描画命令をプリンタ・ドライバやプリンタ・コントローラに送る。ドライバあるいはコントローラでは、前述の描画命令を解釈してグラデーションをレンダリングしてプリンタに出力する。プリンタは
減法混色系であるので最終的にはＣＭＹあるいはＣＭＹＫ色空間にマッピングされる。
【０００６】
グラデーション描画を高速化する方法として、例えば、特許文献１が公知である。特許文献１では、グラデーション描画コマンドを解釈し、グラデーション描画命令中の指定色と階調分割数を基に色データのリストＣＬＩＳＴＡ（ｉ）を生成し、リストＣＬＩＳＴＡ（ｉ）を色変換し、リストＣＬＩＳＴＢ（ｉ）を生成するとともに、グラデーション処理領域を順次走査しながら、領域内の画素位置に対応する描画色をリストＣＬＩＳＴＢ（ｉ）を参照して決め、ラスタイメージに展開して、ビットマップメモリに書き込むカラー画像出力方法が提案されている。
【０００７】
特許文献１では、グラデーション描画において複数ポイントのみを色変換対象とし、ポイント間の階調色を各ポイントから求めることでグラデーション描画の高速化を図っている。
【０００８】
しかしながら、特許文献１では、色変換対象とするポイントの粒度については特に考慮されていないため、グラデーションの階調色の再現精度を向上することができないという問題がある。
【０００９】
また、特許文献２では、水平、垂直方向に変化するグラデーションの高速描画方法が提案されている。しかしながら、特許文献２では、水平、垂直以外のグラデーション描画については有効ではない。
【００１０】
従来、グラデーションの描画では、図形をグラデーションパターンに変換する方法や、濃淡調整テーブルを予め作成し、テーブルを参照する（例えば、特許文献３参照）方法が提案されている。
【００１１】
しかしながら、ＰＤＬの処理においては、クリッピングコマンド等と組み合わせたグラデーション描画が行われるため、グラデーション描画の指定をされた描画図形全体ではなく、多くは指定された図形の一部のみが実際に描画される。このため、テーブルやグラデーションパターン作成では、実際には描画されない個所についても色変換のための処理が行われてしまう。
【００１２】
グラデーション描画において、図形をスキャンライン変換し、クリッピングを行った後のスキャンラインに対して、グラデーションのパラメータにより色を変化し描画することで、色変換処理の回数は最小限となる。しかしながら、グラデーションの色が変化する毎に色変換処理を行うため、処理時間が長くなることが問題となる。
【００１３】
【特許文献１】特開２０００−１３８８１６号公報
【特許文献２】特開２００１−１０１４３１号公報
【特許文献３】特許第２８９７７６５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明は、上記に鑑みてなされたものであり、グラデーションの階調色の再現精度と処理速度の高速化とを両立させることが可能な描画処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上述した課題を解決し、目的を達成するために、本発明は、描画コマンドを入力して、描画コマンドに応じた描画データを描画メモリに描画する描画処理装置において、グラデーション描画コマンドを入力するための入力手段と、前記入力したグラデーション描画コマンドを色変換して得られる描画データを描画メモリに描画するグラデーション描画手段と、前記グラデーション描画手段のグラデーションの階調精度を制御する階調精度制御手段と、を備え、前記グラデーション描画手段は、グラデーション描画時は、前記階調精度制御手段により指定された階調精度に応じた複数ポイントで色変換を行い、各ポイントの色変換後の色に基づいて、ポイント間の色を線形的に算出することを特徴とする。
【００１６】
また、本発明の好ましい態様によれば、前記階調精度制御手段は、グラデーション描画を行う図形の大きさに基づいて、前記階調精度を決定することが望ましい。
【００１７】
また、本発明の好ましい態様によれば、前記階調精度制御手段は、グラデーション描画の１画素当りの変化量に基づいて、前記階調精度を決定することが望ましい。
【００１８】
また、本発明の好ましい態様によれば、前記階調精度制御手段は、ユーザーからの指示に基づいて、前記階調精度を決定することが望ましい。
【００１９】
また、本発明の好ましい態様によれば、前記階調精度制御手段は、描画処理装置の処理性能に基づいて、前記階調精度を決定することが望ましい。
【００２０】
また、上記した課題を解決して、本発明の目的を達成するために、本発明は、描画コマンドを入力して、描画コマンドに応じた描画データを描画メモリに描画する描画処理装置において、グラデーション色設定コマンドを入力する入力手段と、グラデーションのパラメータの特徴毎に異なる描画関数を有し、前記グラデーション色設定コマンドに対して、選択された描画関数を実行して色変換を行う色変換手段と、前記グラデーション色設定コマンドの色変化のタイプを判定し、判定した色変化のタイプに基づいて前記色変換手段の描画関数を選択する選択手段と、を備えたことを特徴とする。
【００２１】
また、本発明の好ましい態様によれば、前記選択手段は、グラデーション色設定コマンドの入力時に前記描画関数を選択することが望ましい。
【００２２】
また、本発明の好ましい態様によれば、スプール／デスプールするためのスプールメモリを備え、前記選択手段は、スプールフェイズにおいて、グラデーション色設定コマンドの入力時に前記描画関数を選択して中間データを前記スプールメモリに描画し、前記色変換手段は、デスプールフェイズにおいて、前記スプールメモリから中間データを読み出す際に、前記選択された描画関数で色変換を行うことが望ましい。
【００２３】
また、本発明の好ましい態様によれば、前記描画関数の１つは、１画素毎に色変換処理を行うための関数であることが望ましい。
【００２４】
また、本発明の好ましい態様によれば、前記描画関数の１つは、次に色が変化するまでの画素数を計算し、変化する座標毎に色変換処理を行うための関数であることが望ましい。
【００２５】
また、本発明の好ましい態様によれば、前記描画関数の１つは、Ｘ軸方向のみ変化するグラデーションを描画するための関数であり、各スキャンラインで計算した色変換処理結果を保持し、前に処理した結果に対応するＸ座標では過去の色変換処理結果を使用することが望ましい。
【００２６】
また、本発明の好ましい態様によれば、前記描画関数の１つは、Ｙ軸方向のみ変化するグラデーションを描画するための関数であり、色変化計算を各Ｙ座標のスキャンラインで１度のみ行うことが望ましい。
【００２７】
また、本発明の好ましい態様によれば、前記描画処理装置は、プリンタ等の画像形成装置に搭載されることが望ましい。
【００２８】
また、本発明の好ましい態様によれば、前記描画処理装置は、パーソナルコンピュータ等の情報処理装置に搭載されることが望ましい。
【００２９】
また、本発明の好ましい態様によれば、前記描画処理装置は、プリンタ等の画像形成装置およびパーソナルコンピュータ等の情報処理装置に搭載されることが望ましい。
【発明の効果】
【００３０】
本発明によれば、入力したグラデーション描画コマンドを色変換して得られる描画データを描画メモリに描画するグラデーション描画手段と、前記グラデーション描画手段のグラデーションの階調精度を制御する階調精度制御手段と、を備え、前記グラデーション描画手段は、グラデーション描画時は、前記階調精度制御手段により指定された階調精度に応じた複数ポイントで色変換を行い、各ポイントの色変換後の色に基づいて、ポイント間の色を線形的に算出することとしたので、グラデーションの階調色の再現精度と処理速度の高速化とを両立させることが可能な描画処理装置を提供することが可能となるという効果を奏する。
【発明を実施するための最良の形態】
【００３１】
以下に、この発明の最良の形態につき図面を参照しつつ詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。また、下記実施の形態における構成要素には、当業者が容易に想定できるものまたは実質的に同一のものが含まれる。
【００３２】
（実施の形態１）
図１は、本実施の形態に係る描画処理システムの構成を示す図である。描画処理システムは、印刷データをプリンタ２０に出力するＰＣ１０と、ＰＣ１０から入力される印字データを紙に印字出力するプリンタ２０とで構成されている。本実施の形態に係る描画処理装置は、ＰＣ１０内のモジュール１１および／またはプリンタ２０内のモジュール１２に搭載される。
【００３３】
図２は、本実施の形態に係る描画処理装置１００の全体の処理の概略を説明するための図である。図２において、描画処理装置１００は、グラフィック、イメージ、文字等の図形描画コマンドや制御に関するコマンド、前景色、背景色、グラデーションを指定するコマンドなどの描画コマンドを受け取り、描画コマンドに応じた描画データを描画メモリ２００に描画する。描画メモリ２００に書き込まれた内容は、最終的に転写紙などの出力メディアに描画される。
【００３４】
図３は、図２の描画処理装置１００の構成例を示す図である。描画処理装置１００は、図３に示すように、描画コマンドを解釈する描画コマンド解釈部１０１と、階調精度制御部１０５で設定される階調精度で、グラデーション描画を行うグラデーション描画処理部１０２と、その他の各コマンドに対する描画を行うその他の描画処理部１０３と、グラデーション描画処理部１０２の描画処理において階調精度（以下、「精度」とも称する）の制御を行う階調精度制御部１０５とを備えている。グラデーション描画処理部１０２は、グラデーション描画時は、階調精度制御部１０５により設定された階調精度に応じた複数ポイントで色変換を行い、各ポイントの色変換後の色に基づいて、ポイント間の色を線形的に算出する。
【００３５】
以下、階調精度制御部１０５の処理内容を図４〜図７を参照して説明する。
【００３６】
図４は、階調精度制御部１０５の処理内容の第１の例を示す図である。階調精度制御部１０５は、図形サイズを判定し（ステップＳ１）、図形サイズが小さい場合には、グラデーションの階調変化の精度が低くても視覚的には影響が少ないため、低い精度を選択する（ステップＳ２）。他方、図形サイズが大きい場合には、通常の精度を選択する（ステップＳ３）。ここで、精度とは、グラデーション描画時における色変換ポイントの頻度を表し、精度が高い場合にはより多くのポイントで色変換を行う。そして、選択した精度をグラデーション描画処理部１０２に設定する（ステップＳ４）。
【００３７】
なお、プリンタ２０よりもＰＣ１０の性能が高い場合には、ＰＣ１０側で階調精度処理設定を行う一方、プリンタ２０の性能の方が高い場合には、プリンタ２０側で階調精度処理設定を行うのが望ましい。これにより、描画処理システム全体として最適な速度で処理することが可能となる。
【００３８】
図５は、階調精度制御部１０５の処理内容の第２の例を示す図である。階調精度制御部１０５は、１画素の変化量を判定し（ステップＳ１１）、１画素の変化量が大きい場合には、通常の精度を選択する（ステップＳ１２）。他方、１画素の変化量が小さい場合、すなわち、階調が緩やかな場合には、小数の色変換ポイントでよいため、低い精度を選択する（ステップＳ１３）。そして、選択した精度をグラデーション描画処理部１０２に設定する（ステップＳ１４）。このように、階調が緩やかな場合には小数の色変換ポイントでよいため、精度を低く設定することで高速化する。
【００３９】
図６は、階調精度制御部１０５の処理内容の第３の例を示す図である。階調精度制御部１０５は、ユーザ指定を判定し（ステップＳ２１）、速度優先が指定されている場合には、正確な階調変化を行うよりも高速に処理を行うことを優先させるため、低い精度を選択する（ステップＳ２４）。
【００４０】
また、ユーザーが速度よりも画質を求めている場合（画質優先１）には、通常精度を選択し（ステップＳ２３）、最高画質を求める場合（画質優先２）には、最大の精度（画素毎に色変換を行う）を選択する（ステップＳ２２）、そして、選択した精度をグラデーション描画処理部１０２に設定する（ステップＳ２５）。これにより、ユーザーの要求にあった速度と画質のバランスでグラデーション描画を行うことができる。
【００４１】
図７は、階調精度制御部１０５の処理内容の第４の例を示す図である。階調精度制御部１０５は、モノクロプリンタであるか否かを判定し（ステップＳ３１）、モノクロプリンタである場合には（ステップＳ３１の「Ｙｅｓ」）、プリンタで再現できる色がグレイのみなので正確な色変換ではなく、近似的な色変換を行った場合でも比較的滑らかなグラデーションが得られるため、低い精度を選択する（ステップＳ３４）。
【００４２】
また、モノクロプリンタでない場合には（ステップＳ３１の「Ｎｏ」）、処理性能が高いか否かを判断し（ステップＳ３２）、処理性能が低い場合には、処理性能の低いカラープリンタでは画質よりも速度が優先される場合が多いことから、高速化のために低い精度を選択する（ステップＳ３４）。
【００４３】
処理性能が高い場合には、通常の精度を選択する（ステップＳ３３）。そして、選択した精度をグラデーション描画処理部１０２に設定する（ステップＳ３５）。
【００４４】
ここで、モノクロプリンタでは、グレイのみのため精確な色変換ではなく、近似的な色変換を行った場合にも、比較的滑らかなグラデーションが得られる。また、処理性能の低いカラープリンタでは画質よりも速度が優先される場合が多い。このため、モノクロプリンタまたは低性能のカラープリンタの場合には精度を低く設定して高速化する。
【００４５】
実施の形態１によれば、階調精度制御部１０５は、グラデーション描画処理部１０２の階調精度を制御することとしたので、状況に応じて、階調色の再現性と処理速度のバランスを適切に調整することができる。
【００４６】
また、実施の形態１によれば、階調精度制御部１０５は、図形の大きさから、再現性を下げて高速に処理してよい図形、再現性を重要視するべき図形を判定することとしたので、高速かつ精度の高い画像を得ることができる。
【００４７】
また、実施の形態１によれば、階調精度制御部１０５は、グラデーションの階調変化量に基づいて適切な色変換ポイントを設定することとしたので、急なグラデーションやなだらかなグラデーションに応じた処理を行うことができる。
【００４８】
また、実施の形態１によれば、階調精度制御部１０５は、ユーザーからの指示に従って、階調精度を設定することとしたので、ユーザーの要望に応じた色再現性と処理速度のバランスを保つことができる。
【００４９】
また、実施の形態１によれば、高性能な描画処理装置では精度の高い画像、低性能な描画処理装置では、ストレスレスの速度で出力を行う等、描画処理装置に応じたバランスで処理を行うことができる。
【００５０】
なお、ＰＣ１０が高性能、プリンタ２０が低性能である環境においては、描画処理装置１００をモジュール１１に搭載し、ＰＣ１０側のリソースを用いて描画コマンドを描画データに展開することにしてもよい。これにより、ＰＣ１０側で処理を行なうことで、プリンタ２０の負荷を軽減し、ＰＣ１０のリソースを有効に使用することができる。
【００５１】
また、ＰＣ１０が低性能、プリンタ２０が高性能である環境においては、描画処理装置１００をモジュール２１に搭載し、プリンタ２０側のリソースを用いて描画コマンドを描画データに展開することにしてもよい。これにより、プリンタ２０側で処理を行なうことで、ＰＣ１０の負荷を軽減し、プリンタ２０のリソースを有効に使用することができる。
【００５２】
また、描画処理装置１００をモジュール１１および１２に搭載し、ＰＣ１０、プリンタ２０の両者で処理可能とすることで、両者の性能に応じて処理負荷の分散を行なうことにしてもよい。
【００５３】
（実施の形態２）
図８は、実施の形態２に係る描画処理装置１００の構成例を示す図である。実施の形態２に係る描画処理装置１００は、図８に示すように、前処理部１１０、スプール／デスプール処理部１１１、スプールメモリ１１２と、後処理部１１３とを備えている。前処理部１１０は、描画コマンドを受け取ると、中間データへの変換を行ってスプール／デスプール処理部１１１に出力する。スプール／デスプール処理部１１１は、中間データをスプールメモリ１１２に蓄積する（以下、「スプールフェーズ」と称する）。スプール／デスプール処理部１１１は、スプールメモリ１１２が一杯になると、スプールフェーズを終了し、スプールメモリ１１２から中間データを読み出して後処理部１１３に出力する。
【００５４】
後処理部１１３は、中間データのビットマップ展開を行って描画メモリ２００に書き込む（以下、「デスプールフェーズ」と称する）。このようにして、描画処理装置１００はスプールフェーズ、デスプールフェーズを繰り返し、描画コマンドから描画データの作成を行う。
【００５５】
図９は、前処理部１１０の処理を説明するための図である。図９において、前処理部１１０は、まず、描画コマンドの解釈を行う（ステップＳ１０１）。この判断の結果、描画コマンドがグラデーション色設定コマンドの場合は、グラデーション色設定処理を行って中間データに変換し（ステップＳ１０２）、描画コマンドが他のコマンドの場合は、コマンドに応じた処理を行って中間データに変換する（ステップＳ１０３）。そして、中間データは、スプール／デスプール処理部１１１によりスプールメモリ１１２に書き込まれる。
【００５６】
図１０は、図９のグラデーション色設定処理（ステップＳ１０２）を説明するためのフローチャートである。図１０において、まず、現在の色設定を示すパラメータに、受け取ったグラデーション色設定の値を設定する（ステップＳ１１１）。そして、グラデーションの色変化のタイプ（変化する方向、色値の変化量）を判別し（ステップＳ１１２）、「描画関数」項目の設定を実施する（ステップＳ１１３〜Ｓ１１６）。具体的には以下の通りである（図１３参照）。
【００５７】
Ｙ方向だけ変化する場合は、「Ｙ方向のみ色計算描画」の描画関数を設定する（ステップＳ１１３）。「Ｙ方向のみ色計算描画」の場合は、色変換処理をスキャンライン毎に１度のみ行い、スキャンライン毎の画素をまとめて描画する。ここで、Ｙ軸方向のみが変化するグラデーションではＸ軸方向の色変換処理は１度でよい。この描画関数を用意することで、Ｘ方向に対する色変換処理が必要か否かの判定を削減することができる。
【００５８】
Ｘ方向だけ変化する場合は、「Ｘ方向のみ色計算描画」の描画関数を設定する（ステップＳ１１４）。「Ｘ方向のみ色計算描画」の場合は、計算した色に対して色変換処理を行って描画する。その際、過去のスキャンラインの色変換処理結果を保持し、２つ目以降のスキャンラインの描画では、過去に描画したＸ座標と同じ領域は過去の保持結果を利用して描画を行う。ここで、Ｘ軸方向のみが変化するグラデーションでは、異なるＹ座標でも同じＸ座標にあるスキャンラインの色値は同じとなる。そのため、あるＸ座標に対し、一度のみ色変換処理を行なうことで色変換処理回数を削減することができる。
【００５９】
１画素毎に１以上色値が変化する場合は、「毎画素色計算描画」の描画関数を設定する（ステップＳ１１５）。「毎画素色計算描画」の場合は、１画素毎に色の計算と色変換処理を行って描画する。ここで、色変化の激しいグラデーションでは、次に色が変化する画素を求める演算処理が頻繁に発生するため、単純に１画素毎に色を変化させる加減算処理よりも処理時間が長くなる。そこで、本実施の形態では、色変化の激しいグラデーションを検出し、画素毎に色変換処理を行なうことで、色変化の激しいグラデーション描画の処理を高速化する。
【００６０】
その他の場合は、「変化画素数計算描画」の描画関数を設定する（ステップＳ１１６）。「変化画素数計算描画」の場合は、色が変化する画素数を計算し、変化するまでの画素をまとめて色変換・描画する。ここで、なだらかな色変換のグラデーションでは、次に色が変化するまでの画素数を計算することで、Ｘ方向に対して最低限の色変換処理回数とすることができる。一般的な印刷データで用いられるグラデーションでは、このように計算することで毎画素色計算を行なうよりも高速に処理することができる。
【００６１】
図１１は、後処理部１１３の処理を説明するための図である。図１１において、まず、
後処理部１１３は、スプールメモリ１１２から読み出した中間データの解釈を行う（ステップＳ１２０）。中間データがグラデーション色図形の描画以外の場合は、各々の中間データに応じた処理を行う（ステップＳ１４０）。
【００６２】
また、中間データがグラデーション色図形の描画の場合は、グラデーション図形描画処理を行う（ステップＳ１３０）。グラデーション図形描画処理（ステップＳ１３０）は、スキャンライン変換処理（ステップＳ１３１）とグラデーション描画処理（ステップＳ１３２）とからなる。スキャンライン変換処理（ステップＳ１３１）では、図形データを実際に描画するスキャンラインに変換し、グラデーション描画処理（ステップＳ１３２）では、そのスキャンラインデータに対してグラデーション描画を行なう。
【００６３】
図１２は、図１１のグラデーション描画処理（ステップＳ１３２）を説明するためのフローチャートである。図１２において、まず、前処理部１１０で設定した描画関数からグラデーション描画で使用する描画関数を選択する（ステップＳ１４１）。そして選択した描画関数を判断し（ステップＳ１４２）、各描画関数により色変換し（ステップＳ１４３〜Ｓ１４６）、色変換したデータに対してディザリング（ステップＳ１４７）を行って、
描画メモリ２００に展開する（ステップＳ１４８）。
【００６４】
図１３は、グラデーション描画処理の一例を説明するための説明図である。同図は、３つのスキャンラインからなる図形において、「Ｘ方向のみ色計算描画」、「Ｙ方向のみ色計算描画」、「毎画素色計算描画」、「変化画素数計算描画」の描画関数を使用して描画を行う場合を説明するためのものである。
【００６５】
以上説明したように、実施の形態２によれば、グラデーション毎の色変化のタイプ毎に特有の描画処理を行なうことで、一般的に使用できる描画処理に比べて省略できる処理や高速化できる処理があるため、高速にグラデーション描画を行なうことができる。
【００６６】
また、実施の形態２によれば、グラデーション色設定時にグラデーション描画関数の選択を行なうこととしたので、各描画オブジェクト毎に判定を行なう方法とは異なり、判定処理を１回とすることができ、判定処理回数の削減により高速に処理可能となる。
【００６７】
また、実施の形態２によれば、スプール／デスプール処理により描画を行なう描画処理装置において、デスプールで使用するグラデーション色変化を計算する関数の選択をスプールフェーズの色設定時に一括して行なうことで、デスプールで行なう判定処理を削減し、高速化することができる。
【００６８】
また、実施の形態２によれば、１画素毎に１以上色値が変化する場合は、画素毎に色変換処理を行なうこととしたので、色変化の激しいグラデーション描画の処理を高速化することができる。
【００６９】
また、実施の形態２によれば、なだらかな色変換のグラデーションの場合は、次に色が変化するまでの画素数を計算することとしたので、Ｘ方向に対して最低限の色変換処理回数とすることができ、一般的な印刷データで用いられるグラデーションの場合には、毎画素色計算を行なうよりも高速に処理することができる。
【００７０】
また、実施の形態２によれば、Ｘ軸方向のみが変化するグラデーションの場合は、各スキャンラインで計算した色変換処理結果を保持し、前に処理した結果に対応するＸ座標では過去の色変換処理結果を使用することとしたので、あるＸ座標に対し一度のみ色変換処理を行なうことで色変換処理回数を大きく削減することができる。
【００７１】
また、実施の形態２によれば、Ｙ軸方向のみ変化するグラデーションの場合は、色変化計算を各Ｙ座標のスキャンラインで１度のみ行うこととしたので、Ｘ方向に対する色変換処理が必要か否かの判定を削減することができる。
【００７２】
なお、描画処理装置１００をモジュール１１および１２に搭載し、スプールフェーズでの処理をモジュール１１、デスプールフェーズの処理をモジュール１２で行うことにしてもよい。これにより、ＰＣ１０およびプリンタ２０で処理可能とすることで、両者の性能に応じて処理負荷を分散させることができる。
【産業上の利用可能性】
【００７３】
本発明に係る描画処理装置は、パソコン等の情報処理装置や、プリンタ、デジタル複合機等の画像形成装置に広く利用可能である。
【図面の簡単な説明】
【００７４】
【図１】実施の形態１に係る描画処理システムの構成を示す図である。
【図２】図１の描画処理システムの全体の処理の概略を説明するための図である。
【図３】図１の描画処理装置の構成例を示す図である。
【図４】階調精度制御部の処理内容の第１の例を示す図である。
【図５】階調精度制御部の処理内容の第２の例を示す図である。
【図６】階調精度制御部の処理内容の第３の例を示す図である。
【図７】階調精度制御部の処理内容の第４の例を示す図である。
【図８】実施の形態２に係る描画処理装置の構成例を示す図である。
【図９】前処理部の処理を説明するための図である。
【図１０】図９のグラデーション色設定処理を説明するためのフローチャートである。
【図１１】後処理部の処理を説明するための図である。
【図１２】図１１のグラデーション描画処理を説明するためのフローチャートである。
【図１３】グラデーション描画処理を説明するための説明図である。
【符号の説明】
【００７５】
１  描画処理システム
１０  ＰＣ
１１  モジュール１
２０  プリンタ
２１  モジュール２
１００  描画処理装置
１０１  描画コマンド解釈部
１０２  グラデーション描画処理部
１０３  他の描画処理部
１０５  階調精度制御部
１１０  前処理部
１１１  スプール／デスプール処理部
１１２  スプールメモリ
１１３  後処理部
２００  描画メモリ
【図１】
2007081886.tif 000003
【図２】
2007081886.tif 000004
【図３】
2007081886.tif 000005
【図４】
2007081886.tif 000006
【図５】
2007081886.tif 000007
【図６】
2007081886.tif 000008
【図７】
2007081886.tif 000009
【図８】
2007081886.tif 000010
【図９】
2007081886.tif 000011
【図１０】
2007081886.tif 000012
【図１１】
2007081886.tif 000013
【図１２】
2007081886.tif 000014
【図１３】
2007081886.tif 000015