(57)【特許請求の範囲】
【請求項１】
楕円形状の放射グラデーションの画像描画命令を含む文書を受け付ける文書受付手段と、
その文書受付手段により受け付けられた文書から前記画像描画命令を取得する取得手段と、
前記楕円形状を規定するパラメータとその楕円形状内に描画されるグラデーションパターンを規定するパラメータとを前記取得手段により取得された画像描画命令より抽出する抽出手段と、
その抽出手段により抽出された前記楕円形状を規定するパラメータに基づいて、前記楕円形状を真円形状に変換する変換行列を生成する変換行列生成手段と、
その変換行列生成手段により生成される前記変換行列の逆行列を算出する逆行列算出手段と、
前記抽出手段により抽出された前記グラデーションパターンを規定するパラメータを、前記変換行列生成手段により生成される前記変換行列を用いて変換する変換手段と、
その変換手段により変換された前記グラデーションパターンを規定するパラメータに基づいて、前記変換行列により前記楕円形状から変換される前記真円形状に対してグラデーションを描画する描画手段と、
その描画手段によってグラデーションが描画された前記真円形状を、前記逆行列算出手段により算出される前記逆行列を用いて逆変換して、前記楕円形状の放射グラデーションを生成するグラデーション生成手段とを備えることを特徴とする画像生成装置。
【請求項２】
前記グラデーションパターンを規定するパラメータは、前記楕円形状内に描画されるグラデーションの中心の位置情報を含み、
前記変換手段により変換された前記グラデーションの中心の位置情報によって特定される変換後のグラデーションの中心位置を、前記真円形状の中心位置を通る座標軸上に設定する設定手段を備え、
前記描画手段は、前記設定手段により前記変換後のグラデーションの中心位置が設定された座標軸に沿って、同一の色値が描画される真円の中心位置を算出し、前記真円形状に対してグラデーションを描画することを特徴とする請求項１に記載の画像生成装置。
【請求項３】
前記文書受付手段は、ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎにより記述された文書を受け付けるものであり、
前記取得手段により取得された画像描画命令がＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素である場合に、楕円形状の放射グラデーションの描画命令であることを判断する命令判断手段を備え、
前記抽出手段は、前記命令判断手段により楕円形状の放射グラデーションの描画命令であると判断された前記ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素から、前記楕円形状の中心座標、長軸の半径および短軸の半径を、前記楕円形状を規定するパラメータとして抽出すると共に、前記グラデーションの中心座標を、前記楕円形状内に描画されるグラデーションパターンを規定するパラメータとして抽出することを特徴とする請求項１又は２に記載の画像生成装置。
【請求項４】
請求項１から３のいずれかに記載の画像生成装置と、
その画像生成装置により生成された画像を記録媒体に印刷する印刷手段とを備えることを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成装置および印刷装置に関するものである。
【背景技術】
【０００２】
近年、コンピュータを用いた文書作成システムや文書印刷システムの高機能化に伴い、複雑な描画を表現したいという要望がある。例えば、効果的なプレゼンテーションや立体形状を表現するために、ある描画領域の色を徐々に変化させるグラデーションが多用されるようになってきた。
【０００３】
このようなグラデーションをプリンタで印刷したり、ディスプレイ上に表示したりするためには、グラデーションパターンをビットマップ形式で生成し、ページメモリ上或いはフレームメモリ上に描画する必要がある。このグラデーションの描画は、色値の僅かに異なる複数の領域を少しずつずらしながら重ねて描画することによって行われる。このとき、同一の色値で描画すべき領域を１つ１つ特定する必要があるため、その描画に係る演算は複雑なものとなる。
【０００４】
そこで、グラデーションの描画に係る負荷を抑制しつつ、グラデーション描画を行う装置が種々提案されている。例えば、特許文献１に記載には、同心円状のグラデーション描画を行う画像形成装置において、走査線毎に色値の変化点を求め、その変化点の間を同一の色値で描画することにより、グラデーション描画のための負荷を軽減するものが記載されている。
【０００５】
一方、電子文書を記述するためのページ記述言語（以下、「ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）」と称する）として、近年、ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（以下、「ＸＰＳ」と称する）が策定され、このＸＰＳに対応した製品が登場している。このＸＰＳでは、楕円形状の放射グラデーションを描画するための画像描画命令として、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素を記述することができ、より複雑なグラデーションを表現できるようになっている。
【特許文献１】特開平１１−３１２３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
さて、上述した特許文献１には、同心円状のグラデーション描画について記載されているが、楕円形状の放射グラデーションを描画する技術については記載されていない。一方、楕円形状の放射グラデーションを描画する場合に、異なる色値が描画される色値の変化点を楕円形状の軌跡に基づいて算出すると、楕円形状の軌跡を表す式が複雑であるので、その演算も非常に複雑なものとなってしまう。よって、グラデーションを描画する装置において、その描画に係る負荷が大きくなってしまうという問題点があった。
【０００７】
本発明は、上述した問題点を解決するためになされたものであり、描画に係る負荷を抑制しつつ、楕円形状の放射グラデーションを生成することができる画像生成装置および印刷装置を提供することを目的としている。
【課題を解決するための手段】
【０００８】
この目的を達成するために、請求項１に記載の画像生成装置は、楕円形状の放射グラデーションの画像描画命令を含む文書を受け付ける文書受付手段と、その文書受付手段により受け付けられた文書から前記画像描画命令を取得する取得手段と、前記楕円形状を規定するパラメータとその楕円形状内に描画されるグラデーションパターンを規定するパラメータとを前記取得手段により取得された前記画像描画命令より抽出する抽出手段と、その抽出手段により抽出された前記楕円形状を規定するパラメータに基づいて、前記楕円形状を真円形状に変換する変換行列を生成する変換行列生成手段と、その変換行列生成手段により生成される前記変換行列の逆行列を算出する逆行列算出手段と、前記抽出手段により抽出された前記グラデーションパターンを規定するパラメータを、前記変換行列生成手段により生成される前記変換行列を用いて変換する変換手段と、その変換手段により変換された前記グラデーションパターンを規定するパラメータに基づいて、前記変換行列により前記楕円形状から変換される前記真円形状に対してグラデーションを描画する描画手段と、その描画手段によってグラデーションが描画された前記真円形状を、前記逆行列算出手段により算出される前記逆行列を用いて逆変換して、前記楕円形状の放射グラデーションを生成するグラデーション生成手段とを備える。
【０００９】
請求項２に記載の画像生成装置は、請求項１に記載の画像生成装置において、前記グラデーションパターンを規定するパラメータは、前記楕円形状内に描画されるグラデーションの中心の位置情報を含み、前記変換手段により変換された前記グラデーションの中心の位置情報によって特定される変換後のグラデーションの中心位置を、前記真円形状の中心位置を通る座標軸上に設定する設定手段を備え、前記描画手段は、前記設定手段により前記変換後のグラデーションの中心位置が設定された座標軸に沿って、同一の色値が描画される真円の中心位置を算出し、前記真円形状に対してグラデーションを描画する。
【００１０】
請求項３に記載の画像生成装置は、請求項１又は２に記載の画像生成装置において、前記文書受付手段は、ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎにより記述された文書を受け付けるものであり、前記取得手段により取得された画像描画命令がＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素である場合に、楕円形状の放射グラデーションの描画命令であることを判断する命令判断手段を備え、前記抽出手段は、前記命令判断手段により楕円形状の放射グラデーションの描画命令であると判断された前記ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素から、前記楕円形状の中心座標、長軸の半径および短軸の半径を、前記楕円形状を規定するパラメータとして抽出すると共に、前記グラデーションの中心座標を、前記楕円形状内に描画されるグラデーションパターンを規定するパラメータとして抽出する。
【００１１】
請求項４に記載の印刷装置は、請求項１から３のいずれかに記載の画像生成装置と、その画像生成装置により生成された画像を記録媒体に印刷する印刷手段とを備える。
【発明の効果】
【００１２】
請求項１に記載の画像生成装置によれば、楕円形状の放射グラデーションの画像描画命令を含む文書が入力されると、その文書が文書受付手段により受け付けられ、取得手段によって画像描画命令が取得される。そして、楕円形状を真円形状に変換する変換行列が、抽出手段により画像描画命令から抽出された楕円形状を規定するパラメータに基づいて、変換行列生成手段により生成される。また、抽出手段により画像描画命令から抽出された楕円形状内に描画されるグラデーションパターンを規定するパラメータが、変換行列生成手段により生成される変換行列を用いて変換手段により変換される。そして、その変換されたグラデーションパターンを規定するパラメータに基づき、変換行列により楕円形状から変換される真円形状に対して、描画手段によってグラデーションが描画される。
【００１３】
このように、楕円形状に対して直接グラデーションを描画するのではなく、真円形状に対してグラデーションを描画するので、異なる色が描画される色の変化点を真円の軌跡に基づいて算出することができる。よって、その演算を楕円形状に対してグラデーションを描画する場合と比して単純化することができるので、そのグラデーションの描画に係る負荷を抑制することができる。
【００１４】
一方、変換行列生成手段により生成される変換行列の逆行列が逆行列算出手段により算出される。そして、描画手段によりグラデーションが描画された真円形状が、逆行列算出手段により算出された逆行列を用いてグラデーション生成手段によって逆変換され、楕円形状の放射グラデーションが生成される。これにより、画像描画命令に含まれるパラメータによって規定される楕円形状とグラデーションパターンとに従った楕円形状の放射グラデーションを容易に生成することができる。よって、描画に係る負荷を抑制しつつ、楕円形状の放射グラデーションを生成することができるという効果がある。
【００１５】
請求項２に記載の画像生成装置によれば、請求項１に記載の画像生成装置の奏する効果に加えて、次の効果を奏する。即ち、グラデーションパターンを規定するパラメータに楕円形状内に描画されるグラデーションの中心の位置情報が含まれる場合、変換手段により変換されたグラデーションの中心の位置情報によって特定される変換後のグラデーションの中心位置が、設定手段によって真円形状の中心位置を通る座標軸上に設定される。そして、描画手段によって、その座標軸に沿って同一の色値の描画される真円の中心位置が算出され、真円形状に対してグラデーションが描画される。これにより、同一の色値が描画される真円の中心位置をその座標軸によって示される一次元の関数を用いて算出することができる。よって、真円形状に対してグラデーションを描画するときの演算量をより削減することができ、放射グラデーションの描画に係る負荷を更に抑制することができるという効果がある。
【００１６】
請求項３に記載の画像生成装置によれば、請求項１又は２に記載の画像生成装置の奏する効果に加えて、次の効果を奏する。即ち、文書受付手段によって、ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＸＰＳ）により記述された文書が受け付けられ、取得手段によって取得された画像描画命令がＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素である場合に、命令判断手段によりその画像描画命令が楕円形状の放射グラデーションの描画命令であると判断される。そして、抽出手段によって、そのＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素から、楕円形状の中心座標、長軸の半径および短軸の半径が、楕円形状を規定するパラメータとして抽出されると共に、グラデーションの中心座標が、楕円形状内に描画されるグラデーションパターンを規定するパラメータとして抽出される。これにより、ＸＰＳにより記述された文書に、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素が存在する場合に、描画に係る負荷を抑制しつつ、そのＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素によって示される楕円形状の放射グラデーションを生成することができるという効果がある。
【００１７】
請求項４に記載の印刷装置によれば、画像描画命令として楕円形状の放射グラデーションの描画命令が入力されると、その画像描画命令によって示される楕円形状の放射グラデーションが、請求項１から３のいずれかに記載の画像生成装置によって生成され、その生成された画像が印刷手段によって印刷される。よって、楕円形状の放射グラデーションを印刷する場合に、描画に係る負荷を抑制しつつ、楕円形状の放射グラデーションを生成して、その印刷を行うことができるという効果がある。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図１は、本発明の一実施形態におけるプリンタ制御装置１０を含むプリンタ１の電気的構成を示したブロック図である。
【００１９】
プリンタ１は、インクジェットヘッド１９を有するインクジェットプリンタであり、インクジェットヘッド１９に穿設されているノズルから紙に向けてインク滴を吐出して印刷を行う周辺装置である。また、プリンタ制御装置１０は、プリンタ１全体の動作を制御すると共に、プリンタ１で印刷される画像データを生成する装置である。
【００２０】
プリンタ１は、ＰＣ１００と通信ケーブルまたは無線通信を介して接続されており、ＰＣ１００から送信される印刷命令を受信すると、その印刷命令と共にＰＣ１００から送信されるＸＰＳによって記述された電子文書（以下、「ＸＰＳ文書」と称する）をプリンタ制御装置１０において解析し、そのＸＰＳ文書に従った画像データを生成して、その生成された画像データに基づく画像を紙に印刷する。
【００２１】
このとき、ＸＰＳ文書に、楕円形状の放射グラデーションの描画を指示する画像描画命令であるＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素が含まれていると、プリンタ１のプリンタ制御装置１０によって、そのＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素で示される楕円形状の放射グラデーションが生成される。このとき、プリンタ制御装置１０は、その楕円形状の放射グラデーションの描画に係る負荷を抑制しつつ、その楕円形状の放射グラデーションを生成できるように構成されている。尚、ここで、楕円形状の放射グラデーションとは、中心点から楕円形状で放射状に色値が変化するグラデーションのことを示す。
【００２２】
次に、プリンタ１の詳細構成について説明する。プリンタ１は、図１に示すように、プリンタ制御装置１０の他、操作パネル１４、液晶ディスプレイ（以下、「ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）」と称する）１５、搬送モータ（ＬＦモータ）１６、搬送モータ駆動回路１７、ペーパセンサ１８、インクジェットヘッド１９、ヘッド用ドライバ２０、インターフェイス２１を備えている。
【００２３】
このうち、プリンタ制御装置１０、操作パネル１４、ＬＣＤ１５、搬送モータ駆動回路１７、ペーパセンサ１８、ヘッド用ドライバ２０、インターフェイス２１は、入出力ポート２３を介して互いに接続されている。また、搬送モータ１６は、搬送モータ駆動回路１７に接続され、インクジェットヘッド１９は、ヘッド用ドライバ２０に接続されている。
【００２４】
プリンタ制御装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３を備えており、これらはバスライン２２を介して互いに接続されている。バスライン２２は、入出力ポート２３に接続されており、プリンタ制御装置１０の各部と、入出力ポート２３に接続された各部との間で、信号の送受信が行われる。
【００２５】
ＣＰＵ１１は、ＲＯＭ１２やＲＡＭ１３に記憶される固定値やプログラム、或いは、インターフェイス２１を介してＰＣ１００より受信される各種信号などに従って、プリンタ１の制御や、プリンタ１で印刷される画像データの生成を行う演算装置である。
【００２６】
ＲＯＭ１２は、ＣＰＵ１１で実行される制御プログラム１２ａや、その制御プログラム１２ａで参照される固定値などを格納した書換不能な不揮発性のメモリである。図５のフローチャートに示す印刷処理を行うプログラムや、図６のフローチャートに示す楕円放射グラデーションラスタライズ処理を行うプログラムは、この制御プログラム１２ａに含まれる。
【００２７】
このうち、図５のフローチャートに示す印刷処理を行うプログラムは、インターフェイス２１を介してＰＣ１００から印刷命令を受信した場合にＣＰＵ１１によって実行されるもので、印刷命令と共に受信するＸＰＳ文書等のデータを解析して、そのデータに応じた画像を生成する。
【００２８】
また、図６のフローチャートに示す楕円放射グラデーションラスタライズ処理を行うプログラムは、ＸＰＳ文書を受信した場合であって、そのＸＰＳ文書に楕円形状の放射グラデーションを描画するＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素が含まれている場合に、印刷処理（図５参照）を行うプログラムから、ＣＰＵ１１によって実行されるプログラムである。
【００２９】
この楕円放射グラデーションラスタライズ処理（図６参照）を行うプログラムがＣＰＵ１１によって実行されると、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素で示される楕円形状から、中心を原点とした真円形状にアフィン変換する変換行列が生成されると共に、その真円形状に対してグラデーションが描画される。
【００３０】
そして、生成された変換行列の逆行列を算出し、その逆行列を用いてグラデーションが描画された真円形状を逆アフィン変換することによって、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素で示される楕円形状の放射グラデーションが生成される。尚、本実施形態における楕円形状の放射グラデーションの描画原理の詳細については、図３を参照して後述する。
【００３１】
ＲＡＭ１３は、書換可能な揮発性のメモリであり、各種のデータを一時的に記憶するためのメモリである。このＲＡＭ１３には、ＸＰＳデータメモリ１３ａ、グラデーションパラメータメモリ１３ｂ、変換行列メモリ１３ｃ、ページメモリ１３ｄが設けられている。
【００３２】
ＸＰＳデータメモリ１３ａは、ＰＣ１００から印刷命令とともに受信したＸＰＳ文書を一時的に格納するメモリである。インターフェイス２１は、ＰＣ１００よりＸＰＳ文書を受信すると、その受信したＸＰＳ文書をＲＡＭ１３のＸＰＳデータメモリ１３ａにＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送する。これにより、ＰＣ１００から受信したＸＰＳ文書がＸＰＳデータメモリ１３ａに格納される。
【００３３】
このＸＰＳデータメモリ１３ａに格納されたＸＰＳ文書は、後述する印刷処理（図５参照）が実行されるＣＰＵ１１によって読み出され、ＸＰＳ文書の内容が解析される。そして、ＣＰＵ１１は、このＸＰＳ文書の内容に従った画像描画処理を行うことにより、プリンタ１で印刷する画像データを生成し、生成された画像データをページメモリ１３ｄに格納する。
【００３４】
グラデーションパラメータメモリ１３ｂは、ＸＰＳ文書における楕円形状の放射グラデーションの描画を指示する画像描画命令である、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素に含まれる、楕円形状を規定するパラメータと、その楕円形状内に描画されるグラデーションパターンを規定するパラメータとを格納するメモリである。
【００３５】
ＣＰＵ１１は、ＸＰＳデータメモリ１３ａに格納されたＸＰＳ文書中にＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素が含まれている場合に、印刷処理（図５参照）の中で実行される楕円放射グラデーションラスタライズ処理（図６参照）によって、そのＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素から、楕円形状を規定するパラメータと、その楕円形状内に描画されるグラデーションパターンを規定するパラメータとを抽出し、これらをグラデーションパラメータメモリ１３ｂに格納する。尚、ＸＰＳ文書に含まれるＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素と、その要素に含まれるパラメータの詳細については、図２を参照して後述する。
【００３６】
グラデーションパラメータメモリ１３ｂに格納されたパラメータのうち、楕円形状を規定するパラメータは、楕円形状から、中心を原点とした真円形状にアフィン変換する変換行列を生成するために使用される。
【００３７】
また、グラデーションパラメータメモリ１３ｂに格納されたパラメータのうち、楕円形状内に描画されるグラデーションパターンを規定するパラメータの１つである、グラデーションの中心座標（図２参照）は、上述の変換行列によってアフィン変換される。
【００３８】
そして、そのアフィン変換後のグラデーションの中心座標を含め、グラデーションパラメータメモリ１３ｂに格納された、楕円形状内に描画されるグラデーションパターンを規定するパラメータによって、アフィン変換により得られる真円形状に対してグラデーションが描画される。
【００３９】
変換行列メモリ１３ｃは、ＸＰＳ文書のＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素によって示される楕円形状から真円形状にアフィン変換する変換行列を格納するメモリである。ＣＰＵ１１は、後述する楕円放射グラデーションラスタライズ処理（図６参照）を実行することにより、グラデーションパラメータメモリ１３ｂに格納された楕円形状を規定するパラメータに基づいて、楕円形状から、中心を原点とした真円形状にアフィン変換する変換行列を生成し、その生成した変換行列を変換行列メモリ１３ｃに格納する。
【００４０】
この変換行列メモリ１３ｃに格納された変換行列は、グラデーションパラメータメモリ１３ｂに格納された楕円形状内に描画されるグラデーションパターンを規定するパラメータのうち、グラデーションの中心座標（図２参照）をアフィン変換する場合に用いられる。
【００４１】
このとき、アフィン変換後のグラデーションの中心座標がＹ軸上の０又は正側にない場合、ＣＰＵ１１は、そのアフィン変換後のグラデーションの中心座標がＹ軸上の正側に配置されるように、変換行列に回転の要素を追加して、新たな変換行列を生成する。そして、新たに生成された変換行列は、変換行列メモリ１３ｃに上書きによって格納される。尚、変換行列の追加される回転の要素については、図３を参照して後述する。
【００４２】
グラデーションパラメータメモリ１３ｂに格納されたグラデーションの中心座標（図２参照）は、最終的に変換行列メモリ１３ｃに格納された変換行列（即ち、回転の要素が追加された変換行列）によって、再びアフィン変換される。そして、その再度のアフィン変換後のグラデーションの中心座標を含む、グラデーションパラメータメモリ１３ｂに格納された楕円形状内に描画されるグラデーションパターンを規定するパラメータに基づいて、アフィン変換によって得られる真円形状に対してグラデーションの描画を行う。
【００４３】
また、最終的に変換行列メモリ１３ｃに格納された変換行列（即ち、回転要素が追加された変換行列）は、ＣＰＵ１１によって、その逆行列が算出される。そして、グラデーションが描画された真円形状を、算出した逆行列を用いて逆アフィン変換することで、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素で示される楕円形状の放射グラデーションを生成する。
【００４４】
ページメモリ１３ｄは、プリンタ制御装置１０によって生成された、プリンタ１で印刷される画像データを、ビットマップ形式で格納するメモリである。楕円放射グラデーションラスタライズ処理（図６参照）によって生成された楕円形状の放射グラデーションや、その他ＸＰＳ文書等のデータに従って生成された画像データが、このページメモリ１３ｄ上にラスタライズされる。
【００４５】
そして、印刷処理（図５参照）により、ＰＣ１００から印刷命令と共に受信したデータに従って、印刷される画像データがページメモリ１３ｄ上にラスタライズされると、ＣＰＵ１１は、搬送モータ駆動回路１７やヘッド用ドライバ２０を駆動して、ページメモリ１３ｄに格納された画像データから、紙にその画像データに対応する画像を紙に印刷する。
【００４６】
次に、操作パネル１４は、プリンタの設定や、各種動作の指示を行うための入力ボタンによって構成されたユーザインターフェイスである。ＬＣＤ１５は、操作パネル１４の操作に応じてメニューや動作状態などを表示するための表示デバイスである。ユーザは操作パネル１４を操作することにより、その操作に対応する情報がＬＣＤ１５に表示される。
【００４７】
搬送モータ（ＬＦモータ）１６は、プリンタ１の所定の位置に配置された紙を搬送方向の上流から下流又はその逆方向に搬送するためのステッピングモータであり、その駆動はＣＰＵ１１からの指示により搬送モータ駆動回路１７によって制御される。この搬送モータ１６の駆動により、インクジェットヘッド１９の下面（ノズル端の対向面）に紙が給送される。
【００４８】
インクジェットヘッド１９は、複数のノズル、アクチュエータ（いずれも図示せず）を備えた印字ヘッドであり、シアン、マゼンタ、イエロー、ブラックの各インクに対応した４つのインクジェットヘッドが設けられている。また、ヘッド用ドライバ２０は、インクジェットヘッド１９に設けられたアクチュエータを駆動する駆動回路である。
【００４９】
ＣＰＵ１１は、ページメモリ１３ｄに格納された画像データに基づいて、シアン、マゼンタ、イエロー、ブラックの各インクに対応した多値化データを生成し、その多値化データを、ゲートアレイ（図示せず）を介してヘッド用ドライバ２０へ送信する。ヘッド用ドライバ２０は、送信された多値化データに合った波形の駆動パルスを生成し、その駆動パルスを各ノズルに対応したアクチュエータに印加することによって、各ノズルからインク滴が吐出され、ページメモリ１３ｄに格納された画像データに対応する画像が紙に印刷される。
【００５０】
インターフェイス２１は、プリンタ１とＰＣ１００とのデータの送受信を制御するためのものであり、プリンタ１は、このインターフェイス２１を介して、ＰＣ１００から印刷命令および印刷すべき画像を示すデータ（ＸＰＳ文書など）を受信する。
【００５１】
このとき、インターフェイス２１は、ＰＣ１００から印刷命令を受信すると、ＣＰＵ１１に対してその旨を通知する割り込み信号を送信する。また、インターフェイス２１は、ＰＣ１００からＸＰＳ文書を受信すると、そのＸＰＳ文書をＲＡＭ１３に設けられたＸＰＳデータメモリ１３ａにＤＭＡ転送する。
【００５２】
次いで、図２を参照して、ＸＰＳ文書に含まれるＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素の詳細について説明する。図２は、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素を説明する説明図であり、（ａ）には、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素の例、及び、その要素で規定されるパラメータを示しており、（ｂ）には、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素で規定されたパラメータによって描画される楕円形状の放射グラデーションの例を示している。
【００５３】
ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素は、図２（ａ）に示すように、複数の属性およびサブ要素から構成されている。このうち、”Ｃｅｎｔｅｒ”属性３１、”ＲａｄｉｕｓＸ”属性３３、”ＲａｄｉｕｓＹ”属性３４は、楕円形状を規定するパラメータを与えるものである。一方、”ＧｒａｄｉｅｎｔＯｒｉｇｉｎ”属性３２、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ．ＧｒａｄｉｅｎｔＳｔｏｐｓ要素３５は、楕円形状内に描画されるグラデーションパターンを規定するパラメータを与えるものである。
【００５４】
”Ｃｅｎｔｅｒ”属性３１は、図２（ｂ）に示す楕円形状の中心座標（Ｃｘ，Ｃｙ）を与えるものである。ここで、楕円形状の中心とは、楕円形状の長軸および短軸が交わる点のことである。
【００５５】
”ＧｒａｄｉｅｎｔＯｒｉｇｉｎ”属性３２は、図２（ｂ）に示すグラデーションの中心座標（Ｇｘ，Ｇｙ）を与えるものである。ここで、グラデーションの中心とは、放射グラデーションにおける色の変化の始点（グラデーションの始点）のことである。
【００５６】
放射グラデーションは、このグラデーションの中心から、グラデーションにおける色の変化の終点（グラデーションの終点）であるＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素で規定される楕円形状の外周上の点までの間で、色が徐々に変化するように表現される。
【００５７】
尚、これら”Ｃｅｎｔｅｒ”属性３１，”ＧｒａｄｉｅｎｔＯｒｉｇｉｎ”属性３２によって与えられるパラメータは、ＸＰＳ文書によって示される印刷領域の左上端の位置を原点として、互いに直交する２つの座標軸（Ｘ軸、Ｙ軸）で示される直交座標系によって表わされている（図２（ｂ）参照）。
【００５８】
この直交座標系では、印刷領域の左右方向がＸ軸となり、左から右に向けてＸ軸の正方向が規定されている。一方、印刷領域の上下方向がＹ軸となり、上から下に向けてＹ軸の正方向が規定されている。
【００５９】
図２（ａ）に示したＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素の例では、楕円形状の中心座標は”Ｃｅｎｔｅｒ”属性３１より（１５０，１５０）が与えられる。また、グラデーションの中心座標は”ＧｒａｄｉｅｎｔＯｒｉｇｉｎ”属性３２より（２００，１７０）が与えられる。
【００６０】
一方、”ＲａｄｉｕｓＸ”属性３３は、楕円形状におけるＸ軸方向の半径（以下、「Ｘ径」と称する）Ｒｘを与えるものである。また、”ＲａｄｉｕｓＹ”属性３４は、楕円形状におけるＹ軸方向の半径（以下、「Ｙ径」と称する）Ｒｙを与えるものである。
【００６１】
尚、”ＲａｄｉｕｓＸ”属性３３および”ＲａｄｉｕｓＹ”属性３４のパラメータによって規定される楕円形状は、Ｘ軸方向およびＹ軸方向にその楕円形状の長軸および短軸が設定されるようになっている。
【００６２】
従って、ＲｘおよびＲｙのうち、値の小さい方が楕円形状の短軸の半径となり、値の大きい方が長軸の半径となる。また、楕円形状のＸ軸方向の長さは、図２（ｂ）に示すように、２Ｒｘとなり、Ｙ軸方向の長さは２Ｒｙとなる。
【００６３】
図２（ａ）に示したＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素の例では、Ｘ径は”ＲａｄｉｕｓＸ”属性３３より「１４０」が与えられ、Ｙ径は”ＲａｄｉｕｓＹ”属性３４より「１００」が与えられる。
【００６４】
一方、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ．ＧｒａｄｉｅｎｔＳｔｏｐｓ要素３５は、グラデーションの色値を規定するパラメータを与えるものである。この要素３５は、更に２つのＧｒａｄｉｅｎｔＳｔｏｐ要素３５ａ，３５ｂから構成されている。このＧｒａｄｉｅｎｔＳｔｏｐ要素３５ａ，３５ｂは、ともに”Ｃｏｌｏｒ”属性と、”Ｏｆｆｓｅｔ”属性とを含んでいる。
【００６５】
”Ｃｏｌｏｒ”属性は、”Ｏｆｆｓｅｔ”属性で示される点における赤、緑、青それぞれの色値を与えるもので、６桁の１６進数で与えられる。このうち、上位２桁の１６進数が赤の色値（Ｒｓ，Ｒｅ）を与え、続く２桁の１６進数が緑の色値（Ｇｓ，Ｇｅ）を与え、残る２桁の１６進数が青の色値（Ｂｓ，Ｂｅ）を与える。
【００６６】
”Ｏｆｆｓｅｔ”属性は、”Ｃｏｌｏｒ”属性で示される色値で表わされる点を規定するものである。例えば、”Ｏｆｆｓｅｔ”属性の値が「０」の場合、”Ｃｏｌｏｒ”属性で示される色値がグラデーションの中心（グラデーションの始点）における色値であることを示し、”Ｏｆｆｓｅｔ”属性の値が「１」の場合、”Ｃｏｌｏｒ”属性で示される色値がＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素で規定される楕円形状の外周上の点（グラデーションの終点）における色値であることを示す。
【００６７】
よって、ＧｒａｄｉｅｎｔＳｔｏｐ要素３５ａにより、図２（ｂ）に示すように、グラデーションの中心（グラデーションの始点）における赤、緑、青の各色値Ｒｓ，Ｇｓ，Ｂｓが与えられ、ＧｒａｄｉｅｎｔＳｔｏｐ要素３５ｂにより、楕円形状の外周上の点（グラデーションの終点）における赤、緑、青の各色値Ｒｅ，Ｇｅ，Ｂｅが与えられる。
【００６８】
図２（ａ）に示したＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素の例では、グラデーションの中心（グラデーションの始点）における赤、緑、青の各色値Ｒｓ，Ｇｓ，Ｂｓは、ＧｒａｄｉｅｎｔＳｔｏｐ要素３５ａより、それぞれ「（ＦＦ）１６」「（ＦＦ）１６」「（００）１６」が与えられる。
【００６９】
また、楕円形状の外周上の点（グラデーションの終点）における赤、緑、青の各色値Ｒｅ，Ｇｅ，Ｂｅは、ＧｒａｄｉｅｎｔＳｔｏｐ要素３５ｂより、それぞれ「（００）１６」「（００）１６」「（ＦＦ）１６」が与えられる。尚、「（ＦＦ）１６」は、１６進数の”ＦＦ”（１０進数の２５５）であることを示し、「（００）１６」は、１６進数の”００”（１０進数の０）であることを示す。
【００７０】
このような複数の属性およびサブ要素を含むＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素によって、図２（ｂ）に示すように、”Ｃｅｎｔｅｒ”属性３１により与えられる楕円形状の中心座標（Ｃｘ，Ｃｙ）から、印刷領域においてその楕円形状が描画される位置が特定され、”ＲａｄｉｕｓＸ”属性３３および”ＲａｄｉｕｓＹ”属性３４により与えられる楕円形状のＸ径ＲｘおよびＹ径Ｒｙから、その楕円形状における外周の形および大きさが特定される。そして、これらにより、印刷領域における楕円形状の外周上の点の位置が特定される。
【００７１】
また、”ＧｒａｄｉｅｎｔＯｒｉｇｉｎ”属性３２により与えられるグラデーションの中心座標（Ｇｘ，Ｇｙ）によって、印刷領域におけるグラデーションの中心の位置が特定される。
【００７２】
そして、ＧｒａｄｉｅｎｔＳｔｏｐ要素３５ａにより与えられるグラデーションの中心（グラデーションの始点）における赤、緑、青の各色値Ｒｓ，Ｇｓ，Ｂｓと、ＧｒａｄｉｅｎｔＳｔｏｐ要素３５ｂにより与えられる楕円形状の外周上の点（グラデーションの終点）における赤、緑、青の各色値Ｒｅ，Ｇｅ，Ｂｅとを、そのグラデーションの中心と楕円形状の外周上の点との距離に応じて内挿することにより、楕円形状内のグラデーションパターンが特定される。
【００７３】
次いで、図３を参照して、本実施形態における楕円形状の放射グラデーションの描画原理について説明する。図３は、その楕円形状の放射グラデーションの描画原理を説明する説明図である。なお、以下の説明において、次式に示す３行３列の行列を（ａ，ｂ，ｃ，ｄ，ｅ，ｆ）と表記する。
【００７４】
【数１】
0004513887.tif 000002
本実施形態において、ＰＣ１００から印刷命令と共に受信したデータがＸＰＳ文書であって、そのＸＰＳ文書にＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素が含まれていると、プリンタ制御装置１０は、まず、図３（ａ）に示す各種パラメータ、即ち、楕円の中心座標（Ｃｘ，Ｃｙ）、Ｘ径Ｒｘ、Ｙ径Ｒｙといった楕円形状を規定するパラメータと、グラデーションの中心座標（Ｇｘ，Ｇｙ）、グラデーションの中心（グラデーションの始点）における赤、緑、青の各色値Ｒｓ，Ｇｓ，Ｂｓ、楕円形状の外周上の点（グラデーションの終点）における赤、緑、青の各色値Ｒｅ，Ｇｅ，Ｂｅといった楕円形状内に描画されるグラデーションパターンを規定するパラメータとを、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素から抽出する（図３（イ））。
【００７５】
尚、図３（ａ）は、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素で規定されたパラメータによって描画される楕円形状の放射グラデーションの例を示す図であり、図２（ｂ）と同一の図である。
【００７６】
次に、抽出した楕円形状を規定するパラメータを用いて、図３（ａ）に示す楕円形状を、図３（ｂ）に示す半径がＲｘで中心座標が原点（０，０）である真円形状にアフィン変換する変換行列Ａを、以下の（１）式によって生成する（図３（ロ））。
【００７７】
Ａ＝（１，０，０，Ｒｘ／Ｒｙ，−Ｃｘ，−（Ｒｘ／Ｒｙ）・Ｃｙ）  ・・・（１）
尚、本実施形態では、以下、図３（ａ）に示す楕円形状を、図３（ｂ）に示す半径がＲｘで中心座標が原点（０，０）である真円形状にアフィン変換する場合について説明するが、楕円形状を半径がＲｙで中心座標が原点（０，０）である真円形状にアフィン変換してもよいし、楕円形状を半径がＲ（Ｒは任意の値）で中心座標が原点（０，０）である真円形状にアフィン変換してもよい。
【００７８】
前者の場合、変換行列Ａは以下の（２）式によって生成され、後者の場合、変換行列Ａは（３）式によって生成される。
【００７９】
Ａ＝（Ｒｙ／Ｒｘ，０，０，１，−（Ｒｙ／Ｒｘ）・Ｃｘ，−Ｃｙ）  ・・・（２）
Ａ＝（Ｒ／Ｒｘ，０，０，Ｒ／Ｒｙ，−（Ｒ／Ｒｘ）・Ｃｘ，−（Ｒ／Ｒｙ）・Ｃｙ）  ・・・（３）
次いで、図３（ａ）に示すグラデーションの中心座標（Ｇｘ，Ｇｙ）を（１）式によって生成した変換行列Ａを用いて、アフィン変換する（図３（ハ））。そして、図３（ｂ）に示すアフィン変換後のグラデーションの中心がＹ軸上の０又は正側にあるか否かを判断し、アフィン変換後のグラデーションの中心がＹ軸上の０および正側にない場合には、そのグラデーションの中心および原点（０，０）を結んだ線分と、Ｙ軸正方向とによって成す角度θ（図３（ｂ）参照）を算出する（図３（ニ））。
【００８０】
そして、原点を中心に角度θだけ回転するアフィン変換を行う変換行列Ｂ’を以下の（４）式によって生成し、（５）式に示すように、この変換行列Ｂ’を変換行列Ａに乗算することによって、変換行列Ａに回転の要素を追加した変換行列Ｂを生成する（図３（ホ））。
【００８１】
Ｂ’＝（ｃｏｓθ，ｓｉｎθ，−ｓｉｎθ，ｃｏｓθ，０，０）  ・・・（４）
Ｂ＝Ａ・Ｂ’  ・・・（５）
尚、（１）式によって生成される変換行列Ａによって変換されたグラデーションの中心が、Ｙ軸上の０又は正側にある場合には、（１）式の変換行列Ａがそのまま変換行列Ｂとして使用される。
【００８２】
そして、変換行列Ｂを用いて、再び図３（ａ）に示すグラデーションの中心座標（Ｇｘ，Ｇｙ）をアフィン変換することによって、図３（ａ）に示す楕円形状が、図３（ｃ）に示すように、半径がＲｘで中心座標が原点（０，０）である真円形状に変換されると共に、グラデーションの中心がＹ軸上の０又は正側に配置される。
【００８３】
次いで、図３（ｃ）に示す真円形状に対して、放射グラデーションを描画するラスタライズ処理を実行する（図３（へ））。即ち、Ｙ軸上の０又は正側に配置されたアフィン変換後のグラデーションの中心（グラデーションの始点）における赤、緑、青の各色値をＲｓ，Ｇｓ，Ｂｓとし、真円形状の外周上の点（グラデーションの終点）における赤、緑、青の各色値をＲｅ，Ｇｅ，Ｂｅとして、そのグラデーションの始点から終点に向けて各色値が徐々に変化するように、図３（ｄ）に示す放射グラデーションを生成する。そして、その生成された真円形状内の放射グラデーションをビットマップ形式によってＲＡＭ１３に格納することによって、ラスタライズ処理を実行する。
【００８４】
ここで、図４を参照して、真円形状における放射グラデーションの生成方法について説明する。図４は、真円形状における放射グラデーションに対し、赤の放射グラデーションの生成方法を説明する説明図である。尚、真円形状における放射グラデーションを生成する場合、赤、緑、青の放射グラデーションがそれぞれ独立して生成される。このとき、緑および青の放射グラデーションの生成は、赤の放射グラデーションの生成と同一の方法で行われるので、その図示と説明を省略する。
【００８５】
真円形状における放射グラデーションは、その真円形状の外側から順に、同一の色値を有する真円形状の中心座標と半径とを算出し、それらによって規定される真円形状内を同一の色値で描画することによって生成する。
【００８６】
具体的には、まず、真円形状の外周（真円０）の中心座標Ｃ０および半径ｒ０を、それぞれ（０，０）及びＲｘと特定する。そして、それらによって規定される真円０上の点および真円０内部に描画する色値Ｒ０を真円形状の外周上の点（グラデーションの終点）における色値Ｒｅに設定して、真円０上の点および真円０内部を描画する。
【００８７】
次いで、真円０に描画される色値Ｒ０とは異なる色値Ｒ１が描画される一つ内側の真円１について、その真円１の中心座標Ｃ１（Ｃ１ｘ，Ｃ１ｙ）および半径ｒ１と、その真円１内部に描画する色値Ｒ１とを以下の（６）式〜（９）式を用いて算出する。
【００８８】
Ｃ１ｘ＝０  ・・・（６）
Ｃ１ｙ＝Ｇ’ｙ・ｋ／（Ｒｅ−Ｒｓ）  ・・・（７）
ｒ１＝ｒ０−ｒ０・ｋ／（Ｒｅ−Ｒｓ）  ・・・（８）
Ｒ１＝Ｒｅ−ｋ  ・・・（９）
ここで、Ｇ’ｙは、変換行列Ｂによるアフィン変換後のグラデーションの中心のＹ座標である。
【００８９】
また、ｋは隣り合う真円内に描画される色値の変化量であり、本実施形態では、グラデーションの中心における色値Ｒｓが真円形状の外周上の点における色値Ｒｅよりも大きい場合に「−１」の値が設定され、グラデーションの中心における色値Ｒｓが真円形状の外周上の点における色値Ｒｅよりも小さい場合に「＋１」の値が設定さる。尚、変化量ｋの値は、人間の知覚や使用する色空間の特徴およびプリンタ１における色再現能力などを考慮して、色の変化が滑らかであると感じられる値を選べばよい。
【００９０】
そして、（６）式から（８）式によって算出された真円１の中心座標Ｃ１（Ｃ１ｘ，Ｃ１ｙ）および半径ｒ１によって規定される真円内部を、（９）式によって算出された色値Ｒ１で描画する。
【００９１】
その後、真円２、真円３、・・・、真円ｎ、・・・の中心座標、半径、および色値を、外側の真円から順に算出して、中心座標および半径で規定される各真円内部を、対応する真円の色値で描画し、色値Ｒｓで描画される真円の描画が完了するまでこの処理を繰り返し行う。尚、真円ｎの中心座標Ｃｎ（Ｃｎｘ，Ｃｎｙ）、半径ｒｎおよび色値Ｒｎは以下の（１０）式〜（１３）式を用いて算出する。
【００９２】
Ｃｎｘ＝０  ・・・（１０）
Ｃｎｙ＝Ｇ’ｙ・ｎ・ｋ／（Ｒｅ−Ｒｓ）  ・・・（１１）
ｒｎ＝ｒ０−ｒ０・ｎ・ｋ／（Ｒｅ−Ｒｓ）  ・・・（１２）
Ｒｎ＝Ｒｅ−ｎ・ｋ  ・・・（１３）
以上の方法によって、真円形状における放射グラデーションの生成が行われる。ここで、変換行列Ｂを用いたアフィン変換によって、グラデーションの中心がＹ軸上の０又は正側に配置されているので、同一の色値を有する真円形状の中心座標を算出する場合、Ｘ座標は０に固定することができる。
【００９３】
換言すれば、同一の色値が描画される真円形状の中心座標をＹ座標のみを用いた一次元の関数として算出することができるので、真円形状に対してグラデーションを描画するときの演算量を削減することができる。
【００９４】
また、変換行列Ｂを用いたアフィン変換によって、グラデーションの中心がＹ軸上の０又は正側に配置されることにより、アフィン変換後のグラデーションの中心が、常に真円形状の中心と同じか、それよりも正側に位置するように固定することができる。
【００９５】
図３に戻り、説明を続ける。ＲＡＭ１３に格納されている、図３（ｄ）に示すグラデーションが描画された真円形状に対して、逆アフィン変換を行う（図３（ト））。この逆アフィン変換で用いられる変換行列は、図３（ａ）に示す楕円形状をグラデーションが描画された真円形状にアフィン変換する変換行列Ｂの逆行列である。
【００９６】
このように、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素によって示される楕円形状を、変換行列Ｂを用いたアフィン変換することによって得られる真円形状に対してグラデーションが描画され、そのグラデーションの描画された真円形状に対して、変換行列Ｂの逆行列を用いた逆アフィン変換を行うことによって、図３（ｅ）に示すように、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素で示される楕円形状の放射グラデーションを生成することができる。尚、ここで生成された楕円形状の放射グラデーションは、ビットマップ形式でページメモリ１３ｄに格納される。これにより、楕円形状の放射グラデーションがラスタライズされる。
【００９７】
次いで、図５を参照して、プリンタ制御装置１０で実行される印刷処理の処理フローについて説明する。図５は、この印刷処理を示すフローチャートである。この処理は、インターフェイス２１を介してＰＣ１００から受信した印刷命令に続くデータに従って、印刷すべき画像データを生成し、生成した画像データを印刷する処理で、インターフェイス２１がＣＰＵ１１に対して印刷命令を受信した旨を通知する割り込み信号を送信すると、ＣＰＵ１１によってその割り込みが検出されて、この処理の実行が開始される。
【００９８】
この印刷処理では、まず、印刷命令に続いてＰＣ１００から受信したデータがＸＰＳに従って記述されたＸＰＳ文書であるか否かを判断する（Ｓ１１）。その結果、ＸＰＳ文書であると判断される場合には（Ｓ１１:Ｙｅｓ）、次いで、インターフェイス２１によってＸＰＳデータメモリ１３ａにＤＭＡ転送されたＸＰＳ文書を、ＸＰＳデータメモリ１３ａから読み出して、その内容を解析し、ＸＰＳ文書に含まれる要素の１つを取得する（Ｓ１２）。
【００９９】
そして、Ｓ１２の処理によって取得された要素が、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素であるか否かを判断する（Ｓ１３）。その結果、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素であると判断される場合には（Ｓ１３：Ｙｅｓ）、その取得された要素が楕円形状の放射グラデーションの描画命令であると判断し、後述する楕円放射グラデーションラスタライズ処理（図６参照）を実行する（Ｓ１４）。
【０１００】
この楕円放射グラデーションラスタライズ処理により、描画に係る負荷を抑制しつつ、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素によって示される楕円形状の放射グラデーションを生成することができる。そして、この生成された楕円形状の放射グラデーションがページメモリ１３ｄ上にラスタライズされる。Ｓ１４の処理の後、Ｓ１６の処理へ移行する。
【０１０１】
一方、Ｓ１３の処理の結果、Ｓ１２の処理によって抽出された要素が、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素でないと判断される場合には（Ｓ１３:Ｎｏ）、その要素に応じたラスタライズ処理を実行し、生成された画像データをページメモリ１３ｄに格納して（Ｓ１５）、Ｓ１６の処理へ移行する。
【０１０２】
Ｓ１６の処理では、Ｓ１２の処理によって抽出された要素の他に、ＸＰＳ文書に要素があるか否かを判断する。そして、Ｓ１２の処理によって抽出された要素の他にＸＰＳ文書に要素があると判断される場合には（Ｓ１６：Ｙｅｓ）、Ｓ１２の処理へ回帰し、再びＳ１２〜Ｓ１６の処理が実行される。
【０１０３】
そして、ＸＰＳ文書に含まれる全ての要素がＳ１２の処理によって抽出され、その全ての要素に対してＳ１４又はＳ１５の処理によってラスタライズ処理が実行された（Ｓ１６：Ｎｏ）と判断されるまで、Ｓ１２〜Ｓ１６の処理を繰り返し実行する。これにより、ＸＰＳ文書によって示される画像データが、ページメモリ１３ｄ上にラスタライズされる。
【０１０４】
一方、Ｓ１６の処理の結果、Ｓ１２の処理によってＸＰＳ文書に含まれる全ての要素が抽出され、その全ての要素に対してＳ１４又はＳ１５の処理によるラスタライズ処理が実行されたと判断されると（Ｓ１６：Ｎｏ）、Ｓ１８の処理へ移行する。
【０１０５】
また、Ｓ１１の処理の結果、印刷命令に続いてＰＣ１００から受信したデータがＸＰＳに従って記述されたＸＰＳ文書でないと判断される場合には（Ｓ１１:Ｎｏ）、その印刷命令に続いてＰＣ１００から受信したデータの内容に従って、印刷用の画像データを生成し、その画像データをページメモリ１３ｄ上に格納する（Ｓ１７）。そして、Ｓ１８の処理へ移行する。
【０１０６】
次いで、Ｓ１８の処理では、Ｓ１１からＳ１７の処理によって生成されてページメモリ１３ｄに格納された画像データに基づいて、搬送モータ駆動回路１７およびヘッド用ドライバ２０に対して信号を送信し、搬送モータ１６およびインクジェットヘッド１９を駆動することによって、紙に画像データに基づく画像を印刷する。そして、この印刷処理を終了する。
【０１０７】
これにより、ＰＣ１００より印刷命令を受信すると、その印刷命令に続くデータに基づいて画像データが生成され、その生成された画像データに基づく画像を紙に印刷させることができる。
【０１０８】
また、この印刷処理では、ＰＣ１００から印刷命令に続く画像データとしてＸＰＳ文書を受信した場合に、そのＸＰＳ文書を解析する。そして、そのＸＰＳ文書にＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素が含まれている場合には、後述する楕円放射グラデーションラスタライズ処理が実行される。これにより、プリンタ制御装置１０は、描画に係る負荷を抑制しつつ、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素によって示される楕円形状の放射グラデーションを生成できるようになっている。
【０１０９】
次いで、図６を参照して、プリンタ制御装置１０で実行される楕円放射グラデーションラスタライズ処理について説明する。図６は、この楕円放射グラデーションラスタライズ処理を示すフローチャートである。
【０１１０】
この処理は、ＸＰＳ文書に含まれるＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素によって示される楕円形状の放射グラデーションを生成する処理で、ＣＰＵ１１により実行される印刷処理の中で、印刷命令に続くデータがＸＰＳ文書であり、且つ、そのＸＰＳ文書に記載された要素の中にＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素が含まれる場合に実行される。以下、この楕円放射グラデーションラスタライズ処理を、図３に示した楕円形状の放射グラデーションの描画原理と対応付けながら説明する。
【０１１１】
この楕円放射グラデーションラスタライズ処理では、まず、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素から、楕円形状を規定するパラメータとして、楕円形状の中心座標（Ｃｘ，Ｃｙ）、長軸および短軸の半径であるＸ径Ｒｘ及びＹ径Ｒｙ（いずれも図２参照）を抽出し、これらをグラデーションパラメータメモリ１３ｂに格納する（Ｓ２１）。
【０１１２】
次いで、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素から、楕円形状内に描画されるグラデーションパターンを規定するパラメータとして、グラデーションの中心座標（Ｇｘ，Ｇｙ）、グラデーションの中心（グラデーションの始点）における赤、緑、青の各色値Ｒｓ，Ｇｓ，Ｂｓ、及び、楕円形状の外周上の点（グラデーションの終点）における赤、緑、青の各色値Ｒｅ，Ｇｅ，Ｂｅ（いずれも図２参照）を抽出し、これらもグラデーションパラメータメモリ１３ｂに格納する（Ｓ２２）。尚、Ｓ２１及びＳ２２の処理が、図３（イ）に相当する。
【０１１３】
次に、グラデーションパラメータメモリ１３ｂに格納された楕円形状を規定するパラメータを読み出し、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素によって示される楕円形状（図３（ａ）参照）から、半径がＲｘで中心座標が原点（０，０）である真円形状（図３（ｂ）参照）にアフィン変換する変換行列Ａを、（１）式を用いて生成し、変換行列メモリ１３ｃに格納する（Ｓ２３）。
【０１１４】
尚、Ｓ２３の処理では、上述したように、変換行列Ａを（２）式より生成して変換行列メモリ１３ｃに格納することにより、楕円形状から、半径がＲｙで中心座標が原点（０，０）である真円形状にアフィン変換するようにしてもよい。
【０１１５】
また、変換行列Ａを（３）式より生成して変換行列メモリ１３ｃに格納し、楕円形状から、半径がＲ（Ｒは任意の値）で中心座標が原点（０，０）である真円形状にアフィン変換するようにしてもよい。このＳ２３の処理が、図３（ロ）に相当する。
【０１１６】
Ｓ２３の処理により、変換行列Ａが生成されて、変換行列メモリ１３ｃに格納されると、次いで、グラデーションパラメータメモリ１３ｂに格納されたグラデーションの中心座標（Ｇｘ，Ｇｙ）を、変換行列メモリ１３ｃに格納された変換行列Ａを用いてアフィン変換する（Ｓ２４）。このＳ２４の処理が、図３（ハ）に相当する。
【０１１７】
そして、Ｓ２４の処理によって得られたアフィン変換後のグラデーションの中心座標が、Ｙ軸上の０又は正側にあるか否かを判断する（Ｓ２５）。その結果、そのアフィン変換後のグラデーションの中心座標が、Ｙ軸上の０又は正側にあると判断される場合には（Ｓ２５：Ｙｅｓ）、変換行列Ａをそのまま変換行列Ｂとして、変換行列メモリ１３ｃに格納された変換行列をそのまま保持し（Ｓ２６）、Ｓ２８の処理へ移行する。
【０１１８】
一方、Ｓ２５の処理の結果、アフィン変換後のグラデーションの中心座標が、Ｙ軸上の０又は正側にないと判断される場合には（Ｓ２５：Ｎｏ）、その変換後のグラデーションの中心および原点（０，０）を結んだ線分とＹ軸正方向とによって成す角度θ（図３（ｃ）参照）を算出すると共に（図３（ニ）に相当）、変換行列メモリ１３ｃに格納された変換行列Ａに、（４）式および（５）式を用いて、原点（０，０）を中心とした角度θの回転操作を追加して、変換行列Ｂを生成し（図３（ホ）に相当）、この変換行列Ｂを変換行列メモリ１３ｃに上書きして格納する（Ｓ２７）。そして、Ｓ２８の処理へ移行する。
【０１１９】
このように、Ｓ２５からＳ２７の処理を実行することによって、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素によって示される楕円形状（図３（ａ）参照）を、半径がＲｘで中心座標が原点（０，０）である真円形状にアフィン変換すると共に、グラデーションの中心をＹ軸上の０又は正側に配置する（図３（ｃ）参照）変換行列Ｂを生成することができる。
【０１２０】
Ｓ２８の処理では、グラデーションパラメータメモリ１３ｂに格納されたグラデーションの中心座標（Ｇｘ，Ｇｙ）を、今度は変換行列Ｂを用いてアフィン変換する。これにより、グラデーションの中心がＹ軸上の０又は正側に配置される。
【０１２１】
次いで、図３（ｃ）に示す、半径がＲｘで中心座標が原点（０，０）である真円形状に対し、Ｙ軸上の０又は正側に配置されたグラデーションの中心（グラデーションの始点）から真円形状の外周上の点（グラデーションの終点）に向けて色値が徐々に変化するように、放射グラデーションを生成し、これをビットマップ形式でＲＡＭ１３に格納する（Ｓ２９）。
【０１２２】
この処理では、グラデーションパラメータメモリ１３ｂから、グラデーションの中心（グラデーションの始点）における赤、緑、青の各色値Ｒｓ，Ｇｓ，Ｂｓを読み出し、これら各色値Ｒｓ，Ｇｓ，ＢｓをＹ軸上の０又は正側に配置されたアフィン変換後のグラデーションの中心（グラデーションの始点）における赤、緑、青の各色値とする。
【０１２３】
また、グラデーションパラメータメモリ１３ｂから、楕円形状の外周上の点（グラデーションの終点）における赤、緑、青の各色値Ｒｅ，Ｇｅ，Ｂｅを読み出し、これら各色値Ｒｅ，Ｇｅ，Ｂｅを、アフィン変換によって得られる真円形状の外周上の点（グラデーションの終点）における赤、緑、青の各色値とする。
【０１２４】
そして、図４を参照して上述した、真円形状における放射グラデーションの生成方法によって、真円形状内にグラデーションを生成する。これにより、図３（ｄ）に示す真円形状の放射グラデーションが生成される。尚、Ｓ２９の処理が、図３（ヘ）に相当する。
【０１２５】
Ｓ２９の処理の後、Ｓ３０の処理では、Ｓ２６又はＳ２７の処理によって変換行列メモリ１３ｃに保持または格納された変換行列Ｂの逆行列Ｃを算出する。そして、この算出された逆行列Ｃを用いて、Ｓ２９の処理によってＲＡＭ１３に格納された真円形状の放射グラデーションを逆アフィン変換し、その結果をビットマップ形式でページメモリ１３ｄに格納して（Ｓ３１）、この楕円放射グラデーションラスタライズ処理を終了する。
【０１２６】
これにより、図３（ｅ）に示すように、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素で示される楕円形状の放射グラデーションを生成し、ページメモリ１３ｄ上にラスタライズすることができる。尚、このＳ３１の処理が、図３（ト）に相当する。
【０１２７】
以上のように、プリンタ制御装置１０において、この楕円放射グラデーションラスタライズ処理が実行されると、楕円形状に対して直接グラデーションを描画するのではなく、真円形状に対してグラデーションを描画するので、異なる色が描画される色の変化点を真円の軌跡に基づいて算出することができる。よって、その演算を楕円形状に対してグラデーションを描画する場合と比して単純化することができるので、そのグラデーションの描画に係る負荷を抑制することができる。
【０１２８】
また、楕円形状を規定するパラメータに基づいて生成された楕円形状を真円形状に変換する変換行列Ｂの逆行列Ｃが算出され、グラデーションの描画された真円形状が、逆行列Ｃを用いて逆アフィン変換されるので、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素によって示される楕円形状とグラデーションパターンとに従った放射グラデーションを容易に生成することができる。
【０１２９】
従って、ＸＰＳにより記述された文書に、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素が存在する場合に、描画に係る負荷を抑制しつつ、そのＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素によって示される楕円形状の放射グラデーションを生成することができる。
【０１３０】
また、アフィン変換後のグラデーションの中心位置がＹ軸上に設定されるので、そのＹ軸に沿って同一の色値の描画される真円形状の中心位置が算出されて、真円に対してグラデーションが描画される。これにより、同一の色値が描画される真円の中心位置をそのＹ座標によって示される一次元の関数を用いて算出することができる。よって、真円形状に対してグラデーションを描画するときの演算量をより削減することができ、放射グラデーションの描画に係る負荷を更に抑制することができる。
【０１３１】
以上、本実施形態におけるプリンタ制御装置１０によれば、楕円形状から真円形状に変換した上で、その真円形状に対してグラデーションを描画し、その描画したグラデーションを逆変換することによって、放射グラデーションの描画に係る負荷を抑制しつつ、楕円形状の放射グラデーションを生成することができる。
【０１３２】
また、本実施形態におけるプリンタ１によれば、ＰＣ１００からの印刷命令に続いて受信されるデータの中に楕円形状の放射グラデーションの描画命令があると、その描画命令から楕円形状の放射グラデーションがプリンタ制御装置１０によって生成されるので、楕円形状の放射グラデーションを印刷する場合に、描画に係る負荷を抑制しつつ、楕円形状の放射グラデーションを生成して、その印刷を行うことができる。
【０１３３】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【０１３４】
例えば、上記実施形態では、画像描画命令であるＸＰＳ文書のＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素で示される楕円形状の短軸および長軸が、それぞれＸ軸方向またはＹ軸方向に設定されている場合について説明したが、必ずしもこれに限られるものではなく、楕円形状の短軸および長軸が任意の方向に設定されていてもよい。
【０１３５】
この場合、画像描画命令で示される楕円形状の短軸および長軸が、Ｘ軸方向またはＹ軸方向に設定されるように、その楕円形状を回転させるアフィン変換を行った上で、図３を参照して説明した描画原理に基づいて楕円形状の放射グラデーションを生成し、その後、短軸および長軸の方向を画像描画命令で示される方向に戻すために、得られた楕円形状の放射グラデーションに対して、逆アフィン変換を行うようにしてもよい。
【０１３６】
上記実施形態では、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素に含まれるＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ．ＧｒａｄｉｅｎｔＳｔｏｐｓ要素によって、グラデーションの中心（グラデーションの始点）および楕円形状の外周上の点（グラデーションの終点）における色値が規定される場合について説明したが、このＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ．ＧｒａｄｉｅｎｔＳｔｏｐｓ要素に、グラデーションの始点および終点の間の任意の点における色値を規定するＧｒａｄｉｅｎｔＳｔｏｐ要素が含まれる場合であっても、本発明を適用可能である。
【０１３７】
この場合、任意の点における色値を規定するＧｒａｄｉｅｎｔＳｔｏｐ要素の”Ｏｆｆｓｅｔ”属性で示される値は、グラデーションの始点・終点間の距離を「１」としたときの、このＧｒａｄｉｅｎｔＳｔｏｐ要素で色値が規定される任意の点とグラデーションの始点との距離ｄを表しているので、真円形状に対してグラデーションを描画するときには、真円形状のグラデーションの中心（グラデーションの始点）から上記距離ｄだけ離れた点における色値が、上記ＧｒａｄｉｅｎｔＳｔｏｐ要素で規定される任意の点における色値となるようにすればよい。
【０１３８】
上記実施形態では、楕円放射グラデーションラスタライズ処理（図６参照）において、真円形状に対し、放射グラデーションを生成した後、変換行列Ｂの逆行列Ｃを算出する場合について説明したが、必ずしもこれに限られるものではなく、変換行列Ｂを生成したのち、放射グラデーションが描画された真円形状を逆アフィン変換する前までの間に逆行列Ｃを算出すればよい。
【０１３９】
上記実施形態では、ＰＣ１００より受信される印刷命令に続くデータがＸＰＳ文書であり、このＸＰＳ文書に楕円形状の放射グラデーションの描画命令であるＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素が含まれると、図６に示す楕円放射グラデーションラスタライズ処理を実行する場合について説明したが、必ずしもこれに限られるものではなく、ＰＣ１００からの印刷命令に続くＰＤＬによって記述されたデータに、楕円形状の放射グラデーションの描画命令が含まれていれば、図６に示す楕円放射グラデーションラスタライズ処理を実行するようにしてもよい。
【０１４０】
上記実施形態では、プリンタ制御装置１０がプリンタ１内部に設けられる場合について説明したが、必ずしもこれに限られるものではなく、プリンタ制御装置１０は、プリンタ１の外部に設けられ、プリンタ制御装置１０がプリンタ１と、通信ケーブルや無線通信によって接続されていてもよい。また、プリンタ制御装置１０がＰＣ１００内部に設けられていてもよい。
【０１４１】
上記実施形態では、プリンタ制御装置１０において図６に示す楕円放射グラデーションラスタライズ処理が実行され、プリンタ１において印刷される楕円形状の放射グラデーションを生成する場合について説明したが、この楕円放射グラデーションラスタライズ処理の実行は、プリンタ制御装置１０の他、楕円形状の放射グラデーションを出力するデバイスを制御する装置においても適用可能である。例えば、ディスプレイに楕円形状の放射グラデーションを表示させる場合に、そのディスプレイを制御する装置において、図６に示す楕円放射グラデーションラスタライズ処理を実行し、ディスプレイへの表示用画像データを格納するフレームメモリに対し、その楕円放射グラデーションラスタライズ処理により生成された楕円形状の放射グラデーションをラスタライズしてもよい。
【０１４２】
上記実施形態では、プリンタ１が記録媒体として紙に印刷する場合について説明したが、必ずしもこれに限られるものではなく、布やプラスチック、ビニールなどに印刷されてもよい。
【０１４３】
上記実施形態では、アフィン変換後のグラデーションの中心がＹ軸上の０又は正側に配置されるように変換行列Ｂを生成する場合について説明したが、アフィン変換後のグラデーションの中心がＹ軸上の０又は負側に配置されるように変換行列Ｂを生成してもよい。
【図面の簡単な説明】
【０１４４】
【図１】本発明の一実施形態におけるプリンタ制御装置を含むプリンタの電気的構成を示すブロック図である。
【図２】ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素を説明する説明図である。
【図３】楕円形状の放射グラデーションの描画原理を説明する説明図である。
【図４】真円形状における放射グラデーションに対し、赤の放射グラデーションの生成方法を説明する説明図である。
【図５】プリンタ制御装置で実行される印刷処理を示すフローチャートである。
【図６】プリンタ制御装置で実行される楕円放射グラデーションラスタライズ処理を示すフローチャートである。
【符号の説明】
【０１４５】
１              プリンタ（印刷装置の一例）
１０            プリンタ制御装置（画像生成装置の一例）
１３ａ          ＸＰＳデータメモリ（文書受付手段の一例）
１９            インクジェットヘッド（印刷手段の一例）
Ｓ１１：Ｙｅｓ  （文書受付手段の一例）
Ｓ１２          （取得手段の一例）
Ｓ１３          （命令判断手段の一例）
Ｓ２１，Ｓ２２  （抽出手段の一例）
Ｓ２３          （変換行列生成手段の一例）
Ｓ２４，Ｓ２８  （変換手段の一例）
Ｓ２７          （変換行列生成手段の一例、設定手段の一例）
Ｓ２９          （描画手段の一例）
Ｓ３０          （逆行列算出手段の一例）
Ｓ３１          （グラデーション生成手段の一例）
【図１】
0004513887.tif 000003
【図２】
0004513887.tif 000004
【図４】
0004513887.tif 000005
【図５】
0004513887.tif 000006
【図６】
0004513887.tif 000007
【図３】
0004513887.tif 000008