(57)【特許請求の範囲】
【請求項１】
図形の外縁から中心点に向けて、又は図形の中心点から外縁に向けて、段階的に変化する色調から構成されるグラデーション図形の画像を形成する画像形成装置において、
前記グラデーション図形のグラデーション描画幅を算出するグラデーション描画幅算出手段と、
前記グラデーション描画幅算出手段により算出された前記グラデーション描画幅分、前記グラデーション図形の外縁線から内側に、前記外縁線に相似する相似形状線を算出する形状線算出手段と、
前記外縁線と、前記形状線算出手段により算出された前記相似形状線とに囲まれる領域のみをピクセルデータに変換するピクセル変換手段と、
前記ピクセル変換手段により変換された前記領域のピクセルデータに基づいて、前記グラデーション描画幅ごとに前記外縁線から内側のピクセルデータを生成するピクセル生成手段と、
前記ピクセル変換手段に変換された前記ピクセルデータ及び前記ピクセル生成手段により生成された前記ピクセルデータに対応する色を作成するグラデーション色作成手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記グラデーション描画幅算出手段は、前記中心点から前記外縁線までの距離値を、前記中心点における各色成分値と前記外縁線における各色成分値との差分値の中で最大の差分値で、除算して、前記グラデーション描画幅を算出すること、
を特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記形状線算出手段は、前記グラデーション描画幅を前記距離値で除算した値である変倍率に基づいて、前記外縁を縮小変倍し、前記相似形状線を算出すること、
を特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記ピクセル変換手段で変換された前記ピクセルデータは、ランレングス形式に表現されること、
を特徴とする請求項１ないし３いずれか一項に記載の画像形成装置。
【請求項５】
前記生成手段は、前記ランレングス形式のデータを縮小して前記グラデーション描画幅ごとに前記外縁線から内側のピクセルデータを生成すること、
を特徴とする請求項１ないし４いずれか一項に記載の画像形成装置。
【請求項６】
前記ランレングス形式のｙ座標のデータは、降順に並び替えられること、
を特徴とする請求項４又は５に記載の画像形成装置。
【請求項７】
図形の外縁から中心点に向けて、又は図形の中心点から外縁に向けて、段階的に変化する色調から構成されるグラデーション図形の画像を形成する画像形成装置におけるグラデーション図形画像描画方法において、
前記グラデーション図形のグラデーション描画幅を算出するグラデーション描画幅算出手順と、
前記グラデーション描画幅算出手順により算出された前記グラデーション描画幅分、前記グラデーション図形の外縁線から内側に、前記外縁線に相似する相似形状線を算出する形状線算出手順と、
前記外縁線と、前記形状線算出手順により算出された前記相似形状線とに囲まれる領域のみをピクセルデータに変換するピクセル変換手順と、
前記ピクセル変換手順により変換された前記領域のピクセルデータに基づいて、前記グラデーション描画幅ごとに前記外縁線から内側のピクセルデータを生成するピクセル生成手順と、
前記ピクセル変換手順に変換された前記ピクセルデータ及び前記ピクセル生成手段により生成された前記ピクセルデータに対応する色を作成するグラデーション色作成手順と、
を有することを特徴とする図形画像描画方法。
【請求項８】
前記グラデーション描画幅算出手順は、前記中心点から前記外縁線までの距離値を、前記中心点における各色成分値と前記外縁線における各色成分値との差分値の中で最大の差分値で、除算して、前記グラデーション描画幅を算出すること、
を特徴とする請求項７に記載のグラデーション図形画像描画方法。
【請求項９】
前記形状線算出手順は、前記グラデーション描画幅を前記距離値で除算した値である変倍率に基づいて、前記外縁を縮小変倍し、前記相似形状線を算出すること、
を特徴とする請求項７又は８に記載のグラデーション図形画像描画方法。
【請求項１０】
前記ピクセル変換手順で変換された前記ピクセルデータは、ランレングス形式に表現されること、
を特徴とする請求項７ないし９いずれか一項に記載のグラデーション図形画像描画方法。
【請求項１１】
前記生成手順は、前記ランレングス形式のデータを縮小して前記グラデーション描画幅ごとに前記外縁線から内側のピクセルデータを生成すること、
を特徴とする請求項７ないし１０いずれか一項に記載のグラデーション図形画像描画方法。
【請求項１２】
前記ランレングス形式のｙ座標のデータは、降順に並び替えられること、
を特徴とする請求項１０又は１１に記載のグラデーション図形画像描画方法。
【請求項１３】
請求項７ないし１２いずれか一項に記載のグラデーション図形画像描画方法をコンピュータに実行させるためのグラデーション図形画像描画プログラム。
【請求項１４】
請求項１３に記載のグラデーション図形画像描画プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、グラデーション図形画像描画方法、グラデーション図形画像描画プログラム、及び記録媒体の分野に関する。
【背景技術】
【０００２】
図１は、楕円の定義を示す図である。楕円は、楕円の半径(x_radius,y_radius)、楕円の中心点（Center Origin）で表現される。図２は、楕円をベジェ曲線（Bezier Curve）に変換した場合の各制御点を示した図である。楕円をベジェ曲線に変換すると、１２個の座標点をもつベジェ曲線に変換することで描画が可能である。なお、楕円だけでなく、円、矩形、三角形などの各図形も同様に定義されることが可能である（例えば、ベクター形式表現などとも言われる）。ユーザ端末からネットワークを介してプリンタに対し図形などを含む印刷データを送信するとき、このような図形の表現方法を利用すると、印刷データを少なくして印刷データを送信することができる。例えば、ＰＤＬ（Page Description Language：ページ記述言語）では、プリンタに対してコマンド形式で描画を指示できる。印刷データを受信したプリンタは、定義から図形を再現し、印刷のため図形をピクセルデータ化してから印刷媒体などに印刷を行う。
【０００３】
ここで印刷データに含まれる図形が、グラデーション図形であった場合について話を進める。プリンタは、例えば、ＰＤＬ構文を解析してグラデーション図形が含まれていた場合には、グラデーション図形の描画（形成）を行なう。グラデーション図形の描画方法として、一般に、図形形状を外側から順に少しずつ小さくしながら描画する方法がある。例えば、図３に示される楕円図形では、外側の大きな楕円から小さな楕円へ順番に上書きしていくと、同じ領域に何度も上書き描画されることになる。つまり、内側の小さな楕円の領域は、それまで描画した外側の楕円図形の上に重ねて描画される。しかし、同じ領域を何度も描画するとメモリアクセスのオーバーヘッドが非常に大きくなるという問題があった。
【０００４】
ここで、上書きされる箇所については最終的には見えない箇所であるので実際には描画されなくともよい。したがって、楕円図形が重ならないように複数に分割して描画する方法も知られている。図４は、複数に分割して楕円形状領域を作成して描画する様子を示したものである。楕円（楕円形状領域）４０１は、グラデーション楕円の最も外側の領域を同心円状（同心相似図形）に切り出したものである。楕円４０２は、楕円４０１の内側の同心円状の領域を重ならないように切り出したものである。楕円４０３は、楕円４０２の内側の同心円状の領域を重ならないように切り出したもので、それぞれを描画することで領域が重ならないよう描画する。このようにすることで、メモリアクセスを抑えることが可能である。
【０００５】
なお、グラデーションとは、濃淡の段階的な推移をいい、ここでいうグラデーション図形は、濃淡が段階的に推移する複数の色調を有して描画される図形である。
【０００６】
特許文献１、２に記載される発明は、グラデーション図形の描画の高速化を図るもので、これらの発明によれば、描画処理装置やプリンタ装置は、グラデーション図形を従来よりも高速に描画することが可能である。
【特許文献１】特開２００７−８１８８６号公報
【特許文献２】特開２００３−０７２１５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、上述した描画方法のどちらにおいても、プリンタで印刷するためには描画処理の中で形状領域をピクセルデータに変換する処理が必要となる。この処理は、スキャンラインコンバージョン(Scan line conversion)処理として知られている。一般に、スキャンラインコンバージョン処理は、コンピュータ（ＣＰＵ）にとっての負荷は重い。
【０００８】
図５は、１つの同心円の一部分（楕円形状領域）のピクセル化を示す図である。図５の楕円形状領域は、２つのベジェ曲線（外曲線と内曲線）を求めて、スキャンランコンバージョン処理を実施することでピクセルデータを得る。一般に、スキャンラインコンバージョン処理においては、以下の処理が実施される。
（１）ベジェ曲線を直線に近似する。曲線を小さな直線の集まりにすることで曲線を表現する。
（２）    直線が通る座標を求める。このアルゴリズムは、加算、減算のみで実数計算を含まないアルゴリズム(Digital Differential Analyzer)などを利用する方法がある。
（３）（２）で求めた座標をY座標でソーティング（Ｙ座標が小さい順並び替え）を行う。
（４）内外判定処理、領域の内側と外側の判断処理。Winding法やEven-odd法などがある。
（５）スキャンライン図形をクリッピングする処理。
【０００９】
ここで、従来技術や特許文献１、２に記載される発明は、グラデーション図形を構成する各同心相似形状を求めるために、毎回スキャンラインコンバージョンを実施する必要があり、処理に時間がかかるという問題があった。例えば、図４に示すような楕円４０１、４０２、４０３といった複数の同心円状の図形を描画するにも、それぞれの同心円状の図形についてスキャンラインコンバージョン処理を実行しピクセルデータを求める必要があった。
【００１０】
そこで本発明では上記のような問題に鑑みて、グラデーション図形を構成する構成要素を効率的に描画して、グラデーション図形画像の描画処理の高速化を図る画像形成装置、グラデーション図形画像描画方法、グラデーション図形画像描画プログラム、及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１１】
そこで上記課題を解決するため、本発明に係る画像形成装置は、図形の外縁から中心点に向けて、又は図形の中心点から外縁に向けて、段階的に変化する色調から構成されるグラデーション図形の画像を形成する画像形成装置において、前記グラデーション図形のグラデーション描画幅を算出するグラデーション描画幅算出手段と、前記グラデーション描画幅算出手段により算出された前記グラデーション描画幅分、前記グラデーション図形の外縁線から内側に、前記外縁線に相似する相似形状線を算出する形状線算出手段と、前記外縁線と、前記形状線算出手段により算出された前記相似形状線とに囲まれる領域のみをピクセルデータに変換するピクセル変換手段と、前記ピクセル変換手段により変換された前記領域のピクセルデータに基づいて、前記グラデーション描画幅ごとに前記外縁線から内側のピクセルデータを生成するピクセル生成手段と、前記ピクセル変換手段に変換された前記ピクセルデータ及び前記ピクセル生成手段により生成された前記ピクセルデータに対応する色を作成するグラデーション色作成手段とを有することを特徴とする。
【００１２】
また上記課題を解決するため、前記画像形成装置において、前記形状線算出手段は、前記グラデーション描画幅を前記距離値で除算した値である変倍率に基づいて、前記外縁を縮小変倍し、前記相似形状線を算出することを特徴とする。
【００１３】
また上記課題を解決するため、前記画像形成装置において、前記ピクセル変換手段で変換された前記ピクセルデータは、ランレングス形式に表現されることを特徴とする。
【００１４】
また上記課題を解決するため、前記画像形成装置において、前記生成手段は、前記ランレングス形式のデータを縮小して前記グラデーション描画幅ごとに前記外縁線から内側のピクセルデータを生成することを特徴とする。
【００１５】
また上記課題を解決するため、前記画像形成装置において、前記ランレングス形式のｙ座標のデータは、降順に並び替えられることを特徴とする。
【００１６】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１７】
本発明によれば、グラデーション図形を構成する構成要素を効率的に描画して、グラデーション図形画像の描画処理の高速化を図る画像形成装置、グラデーション図形画像描画方法、グラデーション図形画像描画プログラム、及び記録媒体を提供することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を実施するための最良の形態を各実施形態において図面を用いて説明する。
【００１９】
（構成）
はじめに、具体的な発明の内容を説明する前に、本発明を実施するにあたってのネットワーク構成について説明する。図６は、本発明による画像形成装置１及びＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）２がネットワーク３を介して接続されているネットワーク図である。画像形成装置１は、本発明に係る画像形成装置１である。本発明による画像形成装置１は、ＰＣ２からネットワーク３を介して送信されたＰＤＬなどで記述された構文を含む印刷データを受けて、当該構文に基づいて（解析して）、画像形成を行い印刷を行なう。この際、描画しプリントすべき印刷データには、グラデーション図形が含まれている。この画像形成装置１についての詳細は後述する。ＰＣ２は、ユーザがネットワーク３を介し画像形成装置１を利用して印刷などを行う端末であり、一般的なＰＣである。ネットワーク３は、有線、無線を含むネットワークである。なお、図６は本発明の一実施形態を説明するにあたっての構成を示したものであり、ＰＣは何台あってもよい。
【００２０】
図７は、本発明による画像形成装置１の一実施形態の主要構成を示すハードウェア構成図である。画像形成装置１は、主要な構成として、画像形成装置１の制御を行なうコントローラ７０１に含まれるＣＰＵ７０２、ＲＯＭ（Read Only Memory）７０３、ＲＡＭ（Random Access Memory）７０４、ＮＶＲＡＭ（Non-volatile Memory）７０５、補助記憶装置７０６、エンジンＩ／Ｆ（インターフェース）７０７、パネルＩ／Ｆ７０８、及びネットワークＩ／Ｆ７０９、並びにプリントエンジン７１１、パネル装置７１２を含む構成である。
【００２１】
ＣＰＵ７０２は、マイクロプロセッサ及びその周辺回路から構成され、プロジェクト管理サーバ１全体を制御する回路である。また、ＲＯＭ７０３は、ＣＰＵ７０２で実行される所定の制御プログラム（ソフトウェア部品）を格納するメモリであり、ＲＡＭ７０４は、ＣＰＵ７０２がＲＯＭ７０３に格納された所定の制御プログラム（ソフトウェア部品）を実行して各種の制御を行うときの作業エリア（ワーク領域）として使用するメモリである。ＶＲＡＭ７０５は、印刷条件の各種設定情報を保存しておく不揮発性メモリである。
【００２２】
補助記憶装置７０５は、汎用のＯＳ（Operating System）、各種プログラム、各種情報を格納する装置であり、不揮発性の記憶装置であるＨＤＤ（Hard Disk Drive）などが用いられる。なお、上記各種情報は、補助記憶装置７０５以外にも、ＣＤ−ＲＯＭ（Compact Disk - ROM）やＤＶＤ（Digital Versatile Disk）などの記憶媒体やその他のメディアを記憶されてもよく、これらの記憶媒体に格納された各種情報は、記憶媒体読取装置（非図示）などのドライブ装置を介して読み取ることが可能である。よって、必要に応じて記録媒体を記憶媒体読取装置にセットすることで、各種情報が得られる。
【００２３】
エンジンＩ／Ｆ７０７は、プリントエンジン７１１との印刷指示等を行うインターフェースである。パネルＩ／Ｆ７０８は、ユーザが各種入力操作を行うためのパネル装置７１２とのインターフェースである。パネル装置７１２は、マウス、キーボード、表示装置の表示画面上に重畳するように設けられたタッチパネルスイッチなどを含む。ネットワークＩ／Ｆ７０９は、ネットワーク３を介してＰＣ２との通信を行うネットワークインターフェースであり、有線ネットワークや無線ネットワークなど含む各種ネットワーク形態に応じた通信をサポートする。
【００２４】
（機能）
本発明による画像形成装置１は、ＰＣ２からネットワーク３（及びネットワークＩ／Ｆ７０９）を介して送信されたＰＤＬで記述された構文を含む印刷データを受けて、当該構文に基づいて画像形成を行い印刷を行なう。この際、描画しプリントすべき印刷データには、グラデーション図形が含まれている。本発明による画像形成装置１は、本発明に係る画像形成方法によりグラデーション図形を構成する構成要素（ピクセルデータ）を効率的に描画して、グラデーション図形画像の描画処理の高速化を図るものである。具体的には、本発明による画像形成装置１は、グラデーション図形を構成する同心相似形状の図形のピクセル（データ）を求める処理（スキャンラインコンバージョン処理）を一回だけ実行し、そのピクセル（データ）情報を拡大縮小（変倍）して利用することでグラデーション図形全体のピクセル形状（ピクセルデータ）を得る。なお、本実施形態において、図形は、上述した例でも用いた楕円図形を用いて説明する。よって、本実施形態による画像形成装置１は、グラデーション楕円を描画（形成）する処理を行う。以下、詳しく説明する。
【００２５】
図８は、本発明による画像形成装置１の一実施形態の主要機能を示す機能ブロック図である。画像形成装置１は、本発明に係る主要な機能として、構文解析部８０１、グラデーション形状作成部８０２、及びグラデーション色作成部８０３を有する。
【００２６】
構文解析部８０１は、印刷データに対してＰＤＬなどの印刷に係る構文の種類ごとに構文解析を行い、印刷に係る情報の抽出を行なう。例えば、文字などのテキストや、イメージ、ベクターグラフィックスなどの描画データや、色、グラデーションパターン、透過設定などの描画設定情報の解析、抽出を行う。なお、ＰＤＬ（ページ記述言語）は、プリンタに対して描画を指示するためのプログラミング言語の一つである。
【００２７】
グラデーション形状作成部８０２は、構文解析部８０１から描画データや描画設定情報を取得し、グラデーション形状の作成を行なう。グラデーション形状の作成には、上述したスキャンラインコンバージョン処理によるピクセル（データ）化の処理も含まれる。よって、グラデーション形状作成部８０２により、描画データから、グラデーション形状を構成するピクセル（データ）が作成される。
詳しくは後述する。
【００２８】
グラデーション色作成部８０３は、構文解析部８０１により解析された描画設定情報に基づいて、グラデーション形状作成部８０２で作成されたグラデーション形状を構成するピクセルデータの色を作成する。
【００２９】
図９は、グラデーション形状作成部８０２を詳しく説明する図である。グラデーション形状作成部８０２は、グラデーション描画幅算出部９０１、形状線算出部９０２、ピクセル変換部９０３、及びピクセル生成部９０４を有する。
【００３０】
グラデーション描画幅算出部９０１は、複数の色から構成されるグラデーション図形において、１色の色が連続するグラデーション描画幅を算出する。つまり、グラデーション図形は、ある色からある色へ連続的に色を変化させる色彩段階を有するが、グラデーション描画幅算出部８０１は、ある色が次のある色へ変化するまでの、当該同じ色を持つピクセルの数を算出する。
【００３１】
形状線算出部９０２は、図形形状の定義から、グラデーション図形の外縁線である第一の図形形状を決定し、グラデーション描画幅算出部９０１で算出されたグラデーション描画幅から、前記外縁線に相似する相似形状線である第二の図形形状を算出する。例えば、第一の図形形状は大外（外縁）の楕円形状曲線（楕円を描く曲線）であるとき、第二の楕円形状は、大外の楕円形状の内側の楕円形状曲線であって、色が次の色へ変化する境界ラインでもある楕円形状の曲線である。ここで算出された楕円形状曲線は、例えば、３次ベジェ曲線などで表現される。
【００３２】
ピクセル変換部９０３は、第一の図形形状及び第二の図形形状で囲まれて形成される領域をピクセルデータに変換する。即ち、ピクセル変換部９０３は、上述したいわゆるスキャンラインコンバージョン処理を行う機能部である。
【００３３】
ピクセル生成部９０４は、ピクセル変換部９０３により変換されたピクセルデータに基づいて、当該図形形状の内側のピクセルデータを作成する。なお、ピクセル変換部９０３により変換されたピクセルデータを基として、ピクセル生成部９０４がピクセルデータの変倍（縮小変倍）を繰り返すことにより、グラデーション図形画像（全体）を構成するピクセルデータが作成されることになる。
【００３４】
なお、これらの機能は、実際にはＣＰＵ７０２が実行するプログラム（画像形成プログラム）により実現されるものである。
【００３５】
（グラデーション形状作成処理）
次に、本発明による画像形成装置１が、グラデーション図形画像（全体）を構成するピクセルデータを作成する処理の詳細について説明を行う。図１０は、グラデーション形状作成部８０２による処理を示すフローチャートである。これを参照しつつ説明する。なお、本実施形態において、図形は、上述した例でも用いた楕円図形を用いて説明する。よって、本実施形態による画像形成装置１は、グラデーション楕円を描画（形成）する処理を行う。
【００３６】
まず、再び図１を用いて、楕円図形の定義について簡単に説明する。楕円図形の中心座標Center Originは、楕円パターンを開始する座標である。楕円図形の半径は２つの半径で定義される。半径(x_radius,y_radius)である。また、End Originは、楕円パターンを終了する座標である。なお、楕円図形のカラーグラデーションは、開始座標Center Originの色から、終了座標End Originの色まで線形的に変化する。以下、これを踏まえて説明する。
【００３７】
ステップＳ１００１―１００３は、グラデーション描画幅算出部９０１が行なうステップである。ステップＳ１００１で、Center Origin及びEnd Originの座標から２点間の距離を求める。この距離をGrad_widthとする。なお、図形の形状によって、距離が一意でない場合は最大の距離とする。
【００３８】
ステップＳ１００２に進み、Center Originにおける色成分と、End Originにおける色成分の各成分ごとに差を求めて、その最大値をカラーの変化幅Color_widthとする。例えば、Center Originの色をＲＧＢカラー（R,G,B）=(255, 100, 80)とし、End Originの色をＲＧＢカラー(R,G,B)=(128, 50, 10)とすると、ＲＧＢに各成分毎に差をとると以下にようになる。
ΔＲ= 255 - 128 = 127
ΔＧ= 100 - 50 = 50
ΔＢ= 80 - 10 = 70
各差の最大値は、Ｒ成分の差127であるからこの場合、127がColor_widthになる。このように、ステップＳ１００２では、Color_widthの値を求める。
【００３９】
ステップＳ１００３に進み、グラデーション描画幅を求める。グラデーション描画幅は、次のようにして求めることができる。
グラデーション描画幅 = Grad_width / Color_width
グラデーション描画幅は、カラーが変化するときの描画するピクセルと言える。また、この値の逆数は、１ピクセル描画するたびに変化する色の量になる。
【００４０】
ステップＳ１０１１―１０１２は、形状線算出部９０２が行なうステップで、グラデーション描画幅から、内側の楕円形状曲線（前記外縁線に相似する相似形状線である第二の図形形状）を算出するものである。なお、この内側の楕円形状曲線は、外側の楕円形状曲線から続いていた色が変化する境界ラインでもある。図１１は、２つの楕円形状曲線で囲まれた領域１１３を示す図である。外側の楕円形状曲線（曲線１１１）は、楕円図形の定義（楕円半径と中心点座標）から求められた楕円の外縁線である。そして、内側の楕円形状曲線（曲線１１２）は、以下のようにして求められる。
【００４１】
ステップＳ１０１１で、Scale_rateを求める。Scale_rateは、形状の変化の割合で、
Scale_rate = グラデーション描画幅 / Grad_width
によって求められる。
【００４２】
ステップＳ１０１２で、内側の楕円形状曲線（曲線１１２）の半径を求める。曲線１１１の半径にScale_rateを乗算することで、曲線１１２の半径が求まる。
内側の楕円形状曲線（曲線１１２）の半径X = x_radius * Scale_rate
内側の楕円形状曲線（曲線１１２）の半径Y = y_radius * Scale_rate
以上、内側の楕円形状曲線（曲線１１２）を求めることができる。曲線１１２は、曲線１１１に対して相似形なので、中心点座標は曲線１１１の中心点座標と同じである。
【００４３】
ステップＳ１０２１は、ピクセル変換部９０３が行なうステップである。第一の図形形状及び第二の図形形状で囲まれて形成される領域をピクセルデータに変換する。即ち、曲線１１１及び曲線１１２で囲まれる領域１１３のピクセルデータを求める。ピクセルデータへの変換処理はスキャンラインコンバージョン処理（公知技術）によれば良く、例えば、ピクセルデータへ変換されると、図１２のようなランレングス形式のデータに変換される。図１２は、「y」は各ピクセルのＹ座標の値、「sx」は求めた形状ピクセルの開始ｘ座標、「ex」は求めた形状ピクセルの終了座標（描画ピクセルは終了座標含むことに注意）を表す。y=0は、x座標の10から19の間まで描画ピクセルがあることを示す。y＝１は、x座標の9から20までの間まで描画ピクセルがあることを示す。y＝2は、x座標の8から9まで描画ピクセルあり、かつx座標の20から21まで描画ピクセルあり、があることを示す。図１３は、図１２のランレングス形式のデータをピクセルデータで表現した図である。領域１１３をスキャンラインコンバージョンして得られたデータ（例えば、図１２のランレングス形式のデータ）は、以降のグラデーション形状の作成に利用されるため保持しておく。
【００４４】
ステップＳ１０３１―１０３６は、ピクセル生成部９０４が行なうステップである。ステップＳ１０２１で作成された２つの楕円形状曲線（曲線１１１及び曲線１１２）に囲まれた領域１１３に基づいて、内側の次なる領域のピクセル（データ）を求める。図１４を用いて説明するならば、領域１１３−２のピクセル（データ）を求める。また、図４を用いて説明するならば、楕円（形状領域）４０１に相当する領域のピクセルデータは、ステップＳ１０２１において、ピクセル変換部９０３により得られた。本ステップでは、楕円４０１に相当する領域のピクセルデータに基づいて、楕円４０２に相当する領域のピクセルデータを求めるものである。また、楕円４０２に相当する領域のピクセルデータが得られたならば、同様に繰り返して、楕円４０３に相当する領域のピクセルデータを得る。以下、内側の次なる領域１１３_２のピクセル（データ）を求める処理について、図１２、１３、１４を参照しつつ説明する。
【００４５】
ステップＳ１０３１に進み、領域１１３_２の開始行を求める。領域１１３_２の形状の描画が開始される行は、図１２（領域１１３のピクセル位置を示すデータ）において、同じ行に２つのピクセルランデータがあるｙ行のうちｙ座標が最小の行からになる。具体的には、図１２の例では、y＝2が、描画開始ライン（開始ｙ行）になる。
【００４６】
ステップＳ１０３２に進み、ステップＳ１０３１で求めた開始行から、グラデーション描画幅行分、つづけて外側のピクセル（領域１１３）に対して隙間がないようにピクセルを生成する。ピクセルを生成する方法は、以下のとおりである。同じｙ座標の行には、２つのピクセルランデータがある。図１２の例では、y＝2のピクセルランデータは「y＝2, sx＝8, ex＝9」と「y＝2, sx＝20, ex＝21」のデータである。それぞれ、左ピクセルランデータ、右ピクセルランデータと呼ぶことにすると、隙間が発生しないようにするには左ピクセルランデータの終点exに１を加算した値が、求める開始点sx_2（=ex+１）になる。同様に、終了点は右ピクセルランデータの開始点sxに１を減算した値が、求める終了点ex_2（=sx-1）になる。この結果、ピクセルランデータ「y＝2, sx_2＝10, ex_2＝19」が得られる。これをグラデーション描画幅行分繰り返す。本実施形態ではさらに、ピクセルランデータ「y＝3, sx_2＝9, ex_2＝20」が得られる。図１５は、このようにして、得られたピクセルを示した図である。
【００４７】
ステップＳ１０３３に進み、領域１１３_２の終了行を求める。領域１１３_２の形状の描画が終了される行は、図１２（領域１１３のピクセル位置を示すデータ）において、同じ行に２つのピクセルランデータがあるｙ行のうちｙ座標が最大の行からになる。具体的には、図１２の例では、y＝9が、描画終了ライン（終了ｙ行）になる。
【００４８】
ステップＳ１０３４に進み、ステップＳ１０３３で求めた終了行から、グラデーション描画幅行分、つづけて外側のピクセル（領域１１３）に対して隙間がないようにピクセルを生成する。ピクセルを生成する方法は、以下のとおりである。同じｙ座標の行には、２つのピクセルランデータがある。図１２の例では、y＝9のピクセルランデータは「y＝9, sx＝8, ex＝9」と「y＝9, sx＝20, ex＝21」のデータである。それぞれ左ピクセルランデータ、右ピクセルランデータと呼ぶことにすると、隙間が発生しないようにするには左ピクセルランデータの終点exに１を加算した値が、求める開始点sx_2（=ex+１）になる。同様に、終了点は右ピクセルランデータの開始点sxに１を減算した値が、求める終了点ex_2（=sx-1）になる。この結果、ピクセルランデータ「y＝9, sx_2＝10, ex_2＝19」が得られる。これをグラデーション描画幅行分繰り返す。本実施形態ではさらに、ピクセルランデータ「y＝8, sx_2＝9, ex_2＝20」が得られる。図１６は、このようにして、得られたピクセルを示した図である。
【００４９】
ステップＳ１０３５に進み、未だ求められていない行のピクセルは、1行に２つのピクセルランデータをもつデータとして作成する。領域１１３_２の形状の左ピクセルランデータの開始点sx_2は、領域１１３の同じ行の左ピクセルランデータの終点exに１を加算した値が、求める開始点sx_2（=ex+１）になる。図１２の例では、y=4の行において、ex=7なので、求める開始点sx_2=ex+１=8となる。
【００５０】
領域１１３_２の形状の左ピクセルランデータの終点ex_2は、領域１１３の同じ行の左ピクセルランデータの幅(ex-sx)に開始点sx_2を加算した値となる。図１２の例では、y=4の行において、左ピクセルランデータは、「y=4, sx=6, ex=7」なので、求める終点ex_2=(ex-sx)+sx_2=(7-6)+8=9となる。
【００５１】
次いで、領域１１３_２の形状の右ピクセルランデータ（同一行の２つ目のピクセルランデータ）も、領域１１３の同じ行の右ピクセルランデータから、同様にして求めることができる。
【００５２】
領域１１３_２の形状の右ピクセルランデータの終点ex_2は、領域１１３の同じ行の右ピクセルランデータの開始点sxに１を減算した値が、求める終点ex_2（=ex-１）になる。図１２の例では、y=4の行において、sx=22なので、求める終点ex_2=sx-１=21となる。
【００５３】
領域１１３−２の形状の右ピクセルランデータの開始点sx_2は、終点ex_2に領域１１３の同じ行の右ピクセルランデータの幅(ex-sx)を減算した値となる。図１２の例では、y=4の行において、右ピクセルランデータは、「y=4, sx=22, ex=23」なので、求める開始点sx_2=ex_2-(ex-sx)=21-(23-22)=20となる。図１７は、このようにして、得られたピクセルを示した図である。残りの行についても同様に処理することで、図１４に示すピクセルを得る。なお、ステップＳ１０３５を終了する条件は、1行に２つのピクセルランデータがなくなったときである。以上、ここまでで領域１１３_２のすべてのピクセルデータを得ることができた。なお、上述したとおり実際にはランレングス形式のデータもって処理が行われている。図１８は、これまでの処理で生成された領域１１３_２を示すランレングス形式のデータである。なお、図１２と図１８とを対比すると、大外の図形の内側の図形である程、ｙ行数は減少し、ピクセルランデータの幅(ex-sx)も減少（縮小）しており、全体的には縮小していることが分かる。
【００５４】
ステップＳ１０３６に進み、ピクセルを生成していない内側の領域がある場合には、再びステップＳ１０３１に進み、上述した処理を繰り返す。最終的に、楕円図形の内側のすべてのピクセルデータを生成して楕円形状の内側をピクセルで埋められる。図１９は、最終的に形成された楕円図形の例を示す。図１９に示すようなピクセルデータが生成されて、楕円図形はピクセルデータで表現された状態となった。なお、度々ピクセルや座標を用いた図で説明してきたが、上述したとおり実際にはランレングス形式のデータでもって処理が行われている。ピクセルデータをランレングス形式で扱うことによりピクセルの座標情報を容易に取り出すことができるからである。また、よりデータを扱いやすいように、ランレングス形式のデータにおいて、y座標の小さい順に行を並び替えることも行なっている。
【００５５】
以上、グラデーション形状作成部８０２により、楕円図形全体のピクセルデータが生成された。次にグラデーション色作成部８０３により、ピクセルデータごとに対応する色が作成される（付される）。
【００５６】
（グラデーション色作成処理）
次に、本発明による画像形成装置１が、グラデーション色を作成する処理の詳細について説明を行う。グラデーション色作成部８０３は、構文解析部８０１により解析された描画設定情報に基づいて、グラデーション形状作成部８０２で作成されたグラデーション形状を構成するピクセルデータの色を作成する。上述したグラデーション形状作成部８０２により、楕円図形全体のピクセルデータが生成されたが、ここではグラデーション色作成部８０３により、ピクセルデータごとに対応する色が作成される（付される）処理について説明を行う。
【００５７】
ここではグラデーション描画幅算出部９０２の説明（ステップＳ１００１−１００３）で用いたカラー値を再度用いる。即ち、Center Originの色をＲＧＢカラー（R,G,B）=(255, 100, 80)とし、End Originの色をＲＧＢカラー(R,G,B)=(128, 50, 10)とする。グラデーション描画幅は、Grad_width / Color_width で求められることは上述したが、これは変化幅が最も大きいＲ成分の同じ間に描画するピクセル数に等しい。
【００５８】
ここで、カラー成分ごとに色が変化する描画幅を求めると以下のようになる。Grad_width は、Center Origin及びEnd Originの座標の２点間の距離である。
R成分描画幅 = Grad_width / R 成分の変化量（ΔＲ）
G成分描画幅 = Grad_width / G 成分の変化量（ΔＧ）
B成分描画幅 = Grad_width / B 成分の変化量（ΔＢ）
これを具体的な数値で説明するに、Grad_widthを1000とした場合、
R成分描画幅 = 1000 / (255-128) = 7.874
G成分描画幅 = 1000 / (100 - 50) = 20
B成分描画幅 = 1000 / (80 -10) = 14.28
となる。
【００５９】
そして、グラデーション描画幅はR成分の描画幅であるから、R成分は各グラデーション領域を描画するたびに１変化する。グラデーションの形状毎に変化する色量（色変化量）は以下で求められる。
Rの色変化量 = グラデーション描画幅 / R成分描画幅 = 7.874/ 7.874 = 1.0
Gの色変化量 = グラデーション描画幅 / G成分描画幅 = 7.874 / 20 = 0.3937
Bの色変化量 = グラデーション描画幅 / B成分描画幅 = 7.874 / 14.28 = 0.551
これは、
R値は、領域毎に１ずつ変化する。
G値は、領域毎に0.3937ずつ変化する。
B値は、領域毎に0.551ずつ変化する。
ことを意味する。この領域とは例えば図１９を参照すると、領域１１３、領域１１３_２、１１３_３などに相当する。ここで領域毎のR、G、B値の変化量をそれぞれR_delta、G_delta、B_deltaとしておく。
【００６０】
具体的に、外側から内側にグラデーション楕円のグラデーション色を描画（作成）する場合を例に説明する。まず、最も外側の領域（例えば、領域１１３に相当）のグラデーションの色(R,G,B)は、(128, 50, 10)となる。
No1 = (128, 50, 10)
と表す。
ここで基準となるＲＧＢ値をそれぞれCR,CG,CBとすると、
CR = 128
CG = 50
CB = 10
である。
【００６１】
次の内側の領域（例えば、領域１１３_２に相当）のグラデーションの色(R,G,B)を求める。
R = CR + R_Delta = 128 + 1 = 129.0
G = CB + G_Delta = 50 + 0.3937
B = CG + B_Delta = 10 + 0.551
小数点以下は切り捨てるものとすると、Round関数を用いて、
R = Round(CR + R_Delta) = Round(128 + 1) = Round(129.0) = 129
G = Round(CB + G_Delta) = Round(50 + 0.3937) = Round(50.3937) = 50
B = Round(CG + B_Delta) = Round(10 + 0.551) = Round(10.551) = 10
よって、次の内側の領域のグラデーションの色(R,G,B)は、
No2 = (129, 50, 10)
となる。
そして、基準となるＲＧＢ値CR,CG,CBを更新する。
CR = 129.0
CG = 50.3937
CB = 10.551
なお、基準となるＲＧＢ値CR,CG,CBについては、Round関数処理する前の値を用いる。Round関数処理後の値を用いるよりカラー表現精度が高まるからである。
【００６２】
さらに次の内側の領域（例えば、領域１１３_３に相当）のグラデーションの色(R,G,B)を、同様にして求める。
R = Round(CR + R_Delta) = Round(129 + 1) = Round(130.0) = 130
G = Round(CG + G_Delta) = Round(50.3937 + 0.3937) = Round(50.7874) = 50
B = Round(CB + B_Delta) = Round(10.551 + 0.551) = Round(11.102) = 11
よって、さらに次の内側の領域のグラデーションの色(R,G,B)は、
No3 = (130, 50, 11)
となる。
そして、基準となるＲＧＢ値CR,CG,CBを更新する。
CR = 130.0
CG = 50.7874
CB = 11.102
このようにして領域毎のグラデーションの色(R,G,B)を求めることができる。
【００６３】
以上、グラデーション色作成部８０３により、楕円図形全体のピクセルデータごとに対応する色が作成された。これで、グラデーション図形（本実施形態ではグラデーション楕円）が完成する。そしてグラデーション図形は、所定の画像補正処理等の後、フレーム（印刷枠）に展開され印刷される。
【００６４】
以上、本実施形態に係る画像形成装置１は、グラデーション楕円を構成する同心円状の相似図形のピクセル情報を求める処理を１回だけ実行し、そのピクセル情報を利用することで、複数回のスキャンラインコンバージョンを実行せずにグラデーション図形形状を作成することができる。つまり、従来のように同心円状の相似図形を求めるために、毎回スキャンラインコンバージョン処理を行わなくてはならない場合に比べて高速にグラデーション図形形状作成処理を行うことが可能となる。
【００６５】
本発明によれば、グラデーション図形を構成する構成要素を効率的に描画して、グラデーション図形画像の描画処理の高速化を図る画像形成装置、画像形成方法、画像形成プログラム、及び記録媒体を提供することが可能となる。
【００６６】
なお、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。実施形態では、グラデーション楕円について説明を行ったが、これを例えば、グラデーション円に応用することは可能である。楕円形状を表すパラメータである２つの半径(x_radius,y_radius)が等しくなってしまえば円になるからである。同様の技術思想によれば、グラデーション四角形（矩形）やグラデーション三角形などにも応用できる。本発明の技術思想は、グラデーション図形を構成する１色に対応するグラデーション描画幅分だけをピクセルデータ化し、当該ピクセルデータに基づいて、残りの全てピクセルデータを作成して、グラデーション図形の描画処理の高速化を図るものであり、よって、本発明の技術的思想の範囲内で適用可能なグラデーション図形形状であればよい。
【図面の簡単な説明】
【００６７】
【図１】楕円の定義を示す図である。
【図２】楕円をベジェ曲線に変換した場合の各制御点を示した図である。
【図３】グラデーション図形の描画を示す図の一例である。
【図４】グラデーション図形の描画を示す図の一例である。
【図５】１つの同心円の一部分のピクセル化を示す図である。
【図６】本発明の実施形態に係るネットワーク図である。
【図７】本発明による画像形成装置１の一実施形態の主要構成を示すハードウェア構成図である。
【図８】本発明による画像形成装置１の一実施形態の主要機能を示す機能ブロック図である。
【図９】グラデーション形状作成部を説明する図である。
【図１０】グラデーション形状作成部による処理を示すフローチャートである。
【図１１】２つの楕円形状曲線で囲まれた領域を示す図である。
【図１２】ランレングス形式のデータを示す図である。
【図１３】ランレングス形式のデータをピクセルデータで表現した図である。
【図１４】内側の領域を説明する図である。
【図１５】ピクセル生成を説明する図である。
【図１６】ピクセル生成を説明する図である。
【図１７】ピクセル生成を説明する図である。
【図１８】ランレングス形式のデータを示す図である。
【図１９】ピクセル生成を説明する図である。
【符号の説明】
【００６８】
１        画像形成装置
２        ＰＣ
３        ネットワーク
７０１    コントローラ
７０２    ＣＰＵ
２０３    ＲＯＭ
７０４    ＲＡＭ
７０５    ＮＶＲＡＭ
７０６    補助記憶装置
７０７    エンジンＩ／Ｆ
７０８    パネルＩ／Ｆ
７０９    ネットワークＩ／Ｆ
７１１    プリントエンジン
７１２    パネル装置
８０１    構文解析部
８０２    グラデーション形状作成部
８０３    グラデーション色作成部
９０１    グラデーション描画幅算出部
９０２    形状線算出部
９０３    ピクセル変換部
９０４    ピクセル生成部
【図１】
0004969515.tif 000002
【図２】
0004969515.tif 000003
【図３】
0004969515.tif 000004
【図４】
0004969515.tif 000005
【図５】
0004969515.tif 000006
【図６】
0004969515.tif 000007
【図７】
0004969515.tif 000008
【図８】
0004969515.tif 000009
【図９】
0004969515.tif 000010
【図１０】
0004969515.tif 000011
【図１１】
0004969515.tif 000012
【図１２】
0004969515.tif 000013
【図１８】
0004969515.tif 000014
【図１３】
0004969515.tif 000015
【図１４】
0004969515.tif 000016
【図１５】
0004969515.tif 000017
【図１６】
0004969515.tif 000018
【図１７】
0004969515.tif 000019
【図１９】
0004969515.tif 000020