JP2009245329A - 画像生成装置および印刷装置 - Google Patents

画像生成装置および印刷装置 Download PDF

Info

Publication number
JP2009245329A
JP2009245329A JP2008093188A JP2008093188A JP2009245329A JP 2009245329 A JP2009245329 A JP 2009245329A JP 2008093188 A JP2008093188 A JP 2008093188A JP 2008093188 A JP2008093188 A JP 2008093188A JP 2009245329 A JP2009245329 A JP 2009245329A
Authority
JP
Japan
Prior art keywords
gradation
elliptical
parameter
shape
drawn
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008093188A
Other languages
English (en)
Other versions
JP4513888B2 (ja
Inventor
Sadaaki Miyazaki
貞明 宮▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2008093188A priority Critical patent/JP4513888B2/ja
Priority to US12/412,270 priority patent/US8259352B2/en
Priority to EP09250953A priority patent/EP2110787B1/en
Priority to CN2009101330313A priority patent/CN101551912B/zh
Publication of JP2009245329A publication Critical patent/JP2009245329A/ja
Application granted granted Critical
Publication of JP4513888B2 publication Critical patent/JP4513888B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)
  • Record Information Processing For Printing (AREA)
  • Color, Gradation (AREA)

Abstract

【課題】描画に係る負荷を抑制しつつ、楕円形状の放射グラデーションを生成することができる画像生成装置および印刷装置を提供すること。
【解決手段】画像描画命令として、楕円形状の放射グラデーションの描画命令を外部より受け取ると、その描画命令によって示される楕円形状を真円形状に変換する変換行列Bを生成し、グラデーションの中心座標を、変換行列Bを用いて変換する。そして、その変換後のグラデーションの中心座標や、グラデーションの始点および終点における色値に基づき、変換行列Bにより楕円形状から変換される真円形状に対して、同一の色値が描画される複数の真円のベクトルデータを算出する。一方、変換行列Bの逆行列Cを算出し、真円のベクトルデータを、逆行列Cを用いて逆アフィン変換する。これにより、描画命令で示される楕円形状における同一の色値が描画される楕円のベクトルデータの演算を簡単に行うことができる。
【選択図】図3

Description

本発明は、画像生成装置および印刷装置に関するものである。
近年、コンピュータを用いた文書作成システムや文書印刷システムの高機能化に伴い、複雑な描画を表現したいという要望がある。例えば、効果的なプレゼンテーションや立体形状を表現するために、ある描画領域の色を徐々に変化させるグラデーションが多用されるようになってきた。
このようなグラデーションをプリンタで印刷したり、ディスプレイ上に表示したりするためには、グラデーションパターンをビットマップ形式で生成し、ページメモリ上或いはフレームメモリ上に描画する必要がある。このグラデーションの描画は、色値の僅かに異なる複数の領域を少しずつずらしながら重ねて描画することによって行われる。このとき、同一の色値で描画すべき領域を1つ1つ特定する必要があるため、その描画に係る演算は複雑なものとなる。
そこで、グラデーションの描画に係る負荷を抑制しつつ、グラデーション描画を行う装置が種々提案されている。例えば、特許文献1に記載には、同心円状のグラデーション描画を行う画像形成装置において、走査線毎に色値の変化点を求め、その変化点の間を同一の色値で描画することにより、グラデーション描画のための負荷を軽減するものが記載されている。
一方、電子文書を記述するためのページ記述言語(以下、「PDL(Page Description Language)」と称する)として、近年、XML Paper Specification(以下、「XPS」と称する)が策定され、このXPSに対応した製品が登場している。このXPSでは、楕円形状の放射グラデーションを描画するための画像描画命令として、RadialGradientBrush要素を記述することができ、より複雑なグラデーションを表現できるようになっている。
特開平11−31231号公報
さて、上述した特許文献1には、同心円状のグラデーション描画について記載されているが、楕円形状の放射グラデーションを描画する技術については記載されていない。一方、楕円形状の放射グラデーションを描画する場合に、異なる色値が描画される色値の変化点を楕円形状の軌跡に基づいて算出すると、楕円形状の軌跡を表す式が複雑であるので、その演算も非常に複雑なものとなってしまう。よって、グラデーションを描画する装置において、その描画に係る負荷が大きくなってしまうという問題点があった。
本発明は、上述した問題点を解決するためになされたものであり、描画に係る負荷を抑制しつつ、楕円形状の放射グラデーションを生成することができる画像生成装置および印刷装置を提供することを目的としている。
この目的を達成するために、請求項1に記載の画像生成装置は、楕円形状の放射グラデーションの画像描画命令を含む文書を受け付ける文書受付手段と、その文書受付手段により受け付けられた文書から前記画像描画命令を取得する取得手段と、前記楕円形状を規定するパラメータと、前記楕円形状内に描画されるグラデーションパターンを規定するパラメータとを前記取得手段により取得された前記画像描画命令より抽出する抽出手段と、その抽出手段により抽出された前記楕円形状を規定するパラメータに基づいて、前記楕円形状を真円形状に変換する変換行列を生成する変換行列生成手段と、その変換行列生成手段により生成される前記変換行列の逆行列を算出する逆行列算出手段と、前記楕円形状内に描画されるグラデーションパターンを、前記変換行列による変換によって得られる前記真円形状内に描画すると仮定して、その真円形状内に同一の色値が描画される真円を特定するパラメータを、前記抽出手段により抽出されたパラメータに基づいて算出する真円特定パラメータ算出手段と、その真円特定パラメータ算出手段により算出された前記真円を特定するパラメータを、前記逆行列算出手段により算出される前記逆行列を用いて逆変換し、前記楕円形状内に同一の色値が描画される楕円を特定するパラメータを算出する楕円特定パラメータ算出手段と、その楕円特定パラメータ算出手段により算出された前記楕円を特定するパラメータと、前記抽出手段により抽出された前記グラデーションパターンを規定するパラメータとから、前記楕円形状の放射グラデーションを生成するグラデーション生成手段とを備える。
請求項2に記載の画像生成装置は、請求項1に記載の画像生成装置において、前記抽出手段により抽出される前記グラデーションパターンを規定するパラメータは、前記楕円形状内に描画されるグラデーションの中心の位置情報を含み、そのグラデーションの中心の位置情報を前記変換行列生成手段により生成された前記変換行列を用いて変換する変換手段と、その変換手段により変換された前記グラデーションの中心の位置情報によって特定される変換後のグラデーションの中心位置を、前記変換行列により前記楕円形状を変換して得られる前記真円形状の中心位置を通る座標軸上に設定する設定手段とを備え、前記真円特定パラメータ算出手段は、前記設定手段により前記変換後のグラデーションの中心位置が設定された座標軸に沿って同一の色値が描画される真円の中心位置を算出することにより、その真円を特定するパラメータを算出する。
請求項3に記載の画像生成装置は、請求項1又は2に記載の画像生成装置において、前記文書受付手段は、XML Paper Specificationにより記述された文書を受け付けるものであり、前記取得手段により取得された画像描画命令がRadialGradientBrush要素である場合に、楕円形状の放射グラデーションの描画命令であることを判断する命令判断手段を備え、前記抽出手段は、前記命令判断手段により楕円形状の放射グラデーションの描画命令であると判断された前記RadialGradientBrush要素から、前記楕円形状の中心座標、長軸の半径および短軸の半径を、前記楕円形状を規定するパラメータとして抽出すると共に、前記グラデーションの中心座標を、前記楕円形状内に描画されるグラデーションパターンを規定するパラメータとして抽出する。
請求項4に記載の印刷装置は、請求項1から3のいずれかに記載の画像生成装置と、その画像生成装置により生成された画像を記録媒体に印刷する印刷手段とを備える。
請求項1に記載の画像生成装置によれば、画像描画命令として楕円形状の放射グラデーションの描画命令が入力された場合に、その楕円形状内に同一の色値が描画される楕円を特定するパラメータが、画像描画命令より抽出される楕円形状を規定するパラメータから直接算出されるのではなく、楕円形状より変換される真円形状に対して、その真円形状内に同一の色値が描画される真円を特定するパラメータが真円特定パラメータ算出手段により算出され、その真円を特定するパラメータが楕円特定パラメータ算出手段により逆変換されて、楕円形状内に同一の色値が描画される楕円を特定するパラメータが算出される。これにより、楕円形状を規定するパラメータから同一の色値が描画される楕円を特定するパラメータを直接算出すれば、楕円の長径および短径を考慮しなければならず、演算が複雑になるところ、楕円形状より変換される真円形状に対して、同一の色値が描画される真円を特定するパラメータを演算すれば、半径だけを考慮して演算すればよいので、そのパラメータの算出に係る演算を簡単に行うことができる。また、楕円形状から真円形状への変換や逆変換は、楕円の短径方向または長径方向の単純な拡大・縮小処理によって行うことができる。よって、楕円形状のグラデーションの描画に係る負荷を抑制することができる。そして、楕円特定パラメータ算出手段により算出された楕円を特定するパラメータと、抽出手段により抽出されたグラデーションパターンを規定するパラメータとから、グラデーション生成手段により、楕円形状の放射グラデーションが生成されるので、画像描画命令に含まれるパラメータによって規定される楕円形状とグラデーションパターンとに従った楕円形状の放射グラデーションを容易に生成することができる。従って、描画に係る負荷を抑制しつつ、楕円形状の放射グラデーションを生成することができるという効果がある。
請求項2に記載の画像生成装置によれば、請求項1に記載の画像生成装置の奏する効果に加えて、次の効果を奏する。即ち、グラデーションパターンを規定するパラメータに楕円形状内に描画されるグラデーションの中心の位置情報が含まれる場合、変換手段により変換されたグラデーションの中心の位置情報によって特定される変換後のグラデーションの中心位置が、変換行列により楕円形状を変換して得られる真円形状の中心位置を通る座標軸上に、設定手段によって設定される。そして、真円特定パラメータ算出手段によって、その座標軸に沿って同一の色値が描画される真円の中心位置を算出することにより、その真円を特定するパラメータが算出される。これにより、同一の色値が描画される真円の中心位置をその座標軸によって示される一次元の関数を用いて算出することができる。よって、真円形状に対してグラデーションを描画するときの演算量をより削減することができ、放射グラデーションの描画に係る負荷を更に抑制することができるという効果がある。
請求項3に記載の画像生成装置によれば、請求項1又は2に記載の画像生成装置の奏する効果に加えて、次の効果を奏する。即ち、文書受付手段によって、XML Paper Specification(XPS)により記述された文書が受け付けられ、その文書から取得手段によって取得された画像描画命令がRadialGradientBrush要素であれば、命令判断手段によりその画像描画命令が楕円形状の放射グラデーションの描画命令であると判断される。そして、抽出手段によって、そのRadialGradientBrush要素から、楕円形状の中心座標、長軸の半径および短軸の半径が、楕円形状を規定するパラメータとして抽出されると共に、グラデーションの中心座標が、楕円形状内に描画されるグラデーションパターンを規定するパラメータとして抽出される。これにより、XPSにより記述された文書に、RadialGradientBrush要素が存在する場合に、描画に係る負荷を抑制しつつ、そのRadialGradientBrush要素によって示される楕円形状の放射グラデーションを生成することができるという効果がある。
請求項4に記載の印刷装置によれば、画像描画命令として楕円形状の放射グラデーションの描画命令が入力されると、その画像描画命令によって示される楕円形状の放射グラデーションが、請求項1から3のいずれかに記載の画像生成装置によって生成され、その生成された画像が印刷手段によって印刷される。よって、楕円形状の放射グラデーションを印刷する場合に、描画に係る負荷を抑制しつつ、楕円形状の放射グラデーションを生成して、その印刷を行うことができるという効果がある。
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図1は、本発明の一実施形態におけるプリンタ制御装置10を含むプリンタ1の電気的構成を示したブロック図である。
プリンタ1は、インクジェットヘッド19を有するインクジェットプリンタであり、インクジェットヘッド19に穿設されているノズルから紙に向けてインク滴を吐出して印刷を行う周辺装置である。また、プリンタ制御装置10は、プリンタ1全体の動作を制御すると共に、プリンタ1で印刷される画像データを生成する装置である。
プリンタ1は、PC100と通信ケーブルまたは無線通信を介して接続されており、PC100から送信される印刷命令を受信すると、その印刷命令と共にPC100から送信されるXPSによって記述された電子文書(以下、「XPS文書」と称する)等のデータをプリンタ制御装置10において解析し、そのデータ(XPS文書)に従った画像データを生成して、その生成された画像データに基づく画像を紙に印刷する。
このとき、XPS文書に、楕円形状の放射グラデーションの描画を指示する画像描画命令であるRadialGradientBrush要素が含まれていると、プリンタ1のプリンタ制御装置10によって、そのRadialGradientBrush要素で示される楕円形状の放射グラデーションが生成される。
プリンタ制御装置10は、その楕円形状の放射グラデーションの描画に係る負荷を抑制しつつ、その楕円形状の放射グラデーションを生成できるように構成されている。尚、ここで、楕円形状の放射グラデーションとは、中心点から楕円形状で放射状に色値が変化するグラデーションのことを示す。
次に、プリンタ1の詳細構成について説明する。プリンタ1は、図1に示すように、プリンタ制御装置10の他、操作パネル14、液晶ディスプレイ(以下、「LCD(Liquid Crystal Display)」と称する)15、搬送モータ(LFモータ)16、搬送モータ駆動回路17、インクジェットヘッド19、ヘッド用ドライバ20、インターフェイス21を備えている。
このうち、プリンタ制御装置10、操作パネル14、LCD15、搬送モータ駆動回路17、ヘッド用ドライバ20、インターフェイス21は、入出力ポート23を介して互いに接続されている。また、搬送モータ16は、搬送モータ駆動回路17に接続され、インクジェットヘッド19は、ヘッド用ドライバ20に接続されている。
プリンタ制御装置10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13を備えており、これらはバスライン22を介して互いに接続されている。バスライン22は、入出力ポート23に接続されており、プリンタ制御装置10の各部と、入出力ポート23に接続された各部との間で、信号の送受信が行われる。
CPU11は、ROM12やRAM13に記憶される固定値やプログラム、或いは、インターフェイス21を介してPC100より受信される各種信号などに従って、プリンタ1の制御や、プリンタ1で印刷される画像データの生成を行う演算装置である。
ROM12は、CPU11で実行される制御プログラム12aや、その制御プログラム12aで参照される固定値などを格納した書換不能な不揮発性のメモリである。図5のフローチャートに示す印刷処理を行うプログラムや、図6のフローチャートに示す楕円放射グラデーションラスタライズ処理を行うプログラムは、この制御プログラム12aに含まれる。
このうち、図5のフローチャートに示す印刷処理を行うプログラムは、インターフェイス21を介してPC100から印刷命令を受信した場合にCPU11によって実行されるもので、印刷命令と共に受信するXPS文書等のデータを解析して、そのデータに応じた画像を生成する。
また、図6のフローチャートに示す楕円放射グラデーションラスタライズ処理を行うプログラムは、XPS文書を受信した場合であって、そのXPS文書に楕円形状の放射グラデーションを描画するRadialGradientBrush要素が含まれている場合に、印刷処理(図5参照)を行うプログラムから、CPU11によって実行されるプログラムである。
この楕円放射グラデーションラスタライズ処理(図6参照)を行うプログラムがCPU11によって実行されると、RadialGradientBrush要素で示される楕円形状から、中心を原点とした真円形状にアフィン変換する変換行列が生成されると共に、楕円形状内に描画されるグラデーションパターンを、アフィン変換によって得られる真円形状内に描画すると仮定して、その真円形状内に同一の色値が描画される複数の真円をそれぞれ規定するベクトルデータが、真円毎に算出される。
そして、生成された変換行列の逆行列を算出し、その逆行列を用いて、真円形状内に同一の色値が描画される複数の真円のベクトルデータを逆アフィン変換することによって、楕円形状内に同一の色値が描画される複数の楕円をそれぞれ規定するベクトルデータを算出する。その後、その複数の楕円のベクトルデータに基づいて、各楕円内を対応する色値で描画することにより、RadialGradientBrush要素で示される楕円形状の放射グラデーションが生成される。尚、本実施形態における楕円形状の放射グラデーションの描画原理の詳細については、図3を参照して後述する。
RAM13は、書換可能な揮発性のメモリであり、各種のデータを一時的に記憶するためのメモリである。このRAM13には、XPSデータメモリ13a、グラデーションパラメータメモリ13b、変換行列メモリ13c、ページメモリ13dが設けられている。
XPSデータメモリ13aは、PC100から印刷命令とともに受信したXPS文書を一時的に格納するメモリである。インターフェイス21は、PC100よりXPS文書を受信すると、その受信したXPS文書をRAM13のXPSデータメモリ13aにDMA(Direct Memory Access)転送する。これにより、PC100から受信したXPS文書がXPSデータメモリ13aに格納される。
このXPSデータメモリ13aに格納されたXPS文書は、後述する印刷処理(図5参照)が実行されるCPU11によって読み出され、XPS文書の内容が解析される。そして、CPU11は、このXPS文書の内容に従った画像描画処理を行うことにより、プリンタ1で印刷する画像データを生成し、生成された画像データをページメモリ13dに格納する。
グラデーションパラメータメモリ13bは、XPS文書における楕円形状の放射グラデーションの描画を指示する画像描画命令である、RadialGradientBrush要素に含まれる、楕円形状を規定するパラメータと、その楕円形状内に描画されるグラデーションパターンを規定するパラメータとを格納するメモリである。
CPU11は、XPSデータメモリ13aに格納されたXPS文書中にRadialGradientBrush要素が含まれている場合に、印刷処理(図5参照)の中で実行される楕円放射グラデーションラスタライズ処理(図6参照)によって、そのRadialGradientBrush要素から、楕円形状を規定するパラメータと、その楕円形状内に描画されるグラデーションパターンを規定するパラメータとを抽出し、これらをグラデーションパラメータメモリ13bに格納する。尚、XPS文書に含まれるRadialGradientBrush要素と、その要素に含まれるパラメータの詳細については、図2を参照して後述する。
グラデーションパラメータメモリ13bに格納されたパラメータのうち、楕円形状を規定するパラメータは、楕円形状から、中心を原点とした真円形状にアフィン変換する変換行列を生成するために使用される。
また、グラデーションパラメータメモリ13bに格納されたパラメータのうち、楕円形状内に描画されるグラデーションパターンを規定するパラメータの1つである、グラデーションの中心座標(図2参照)は、上述の変換行列によってアフィン変換される。
そして、そのアフィン変換後のグラデーションの中心座標を含め、グラデーションパラメータメモリ13bに格納された、楕円形状内に描画されるグラデーションパターンを規定するパラメータによって、アフィン変換により得られる真円形状に対して、その真円形状内に同一の色値が描画される複数の真円のそれぞれを規定するベクトルデータを、その真円毎に算出する。
変換行列メモリ13cは、XPS文書のRadialGradientBrush要素によって示される楕円形状から真円形状にアフィン変換する変換行列を格納するメモリである。CPU11は、後述する楕円放射グラデーションラスタライズ処理(図6参照)を実行することにより、グラデーションパラメータメモリ13bに格納された楕円形状を規定するパラメータに基づいて、楕円形状から、中心を原点とした真円形状にアフィン変換する変換行列を生成し、その生成した変換行列を変換行列メモリ13cに格納する。
この変換行列メモリ13cに格納された変換行列は、グラデーションパラメータメモリ13bに格納された楕円形状内に描画されるグラデーションパターンを規定するパラメータのうち、グラデーションの中心座標(図2参照)をアフィン変換する場合に用いられる。
このとき、アフィン変換後のグラデーションの中心座標がY軸上の0又は正側にない場合、CPU11は、そのアフィン変換後のグラデーションの中心座標がY軸上の正側に配置されるように、変換行列に回転の要素を追加して、新たな変換行列を生成する。そして、新たに生成された変換行列は、変換行列メモリ13cに上書きによって格納される。尚、変換行列の追加される回転の要素については、図3を参照して後述する。
グラデーションパラメータメモリ13bに格納されたグラデーションの中心座標(図2参照)は、最終的に変換行列メモリ13cに格納された変換行列(即ち、回転の要素が追加された変換行列)によって、再びアフィン変換される。そして、その再度のアフィン変換後のグラデーションの中心座標を含む、グラデーションパラメータメモリ13bに格納された楕円形状内に描画されるグラデーションパターンを規定するパラメータに基づいて、アフィン変換によって得られる真円形状に対して、その真円形状内に同一の色値が描画される複数の真円のそれぞれを規定するベクトルデータを、その真円毎に算出する。
また、最終的に変換行列メモリ13cに格納された変換行列(即ち、回転要素が追加された変換行列)は、CPU11によって、その逆行列が算出される。そして、真円形状内に同一の色値が描画される複数の真円のベクトルデータを、算出した逆行列を用いて逆アフィン変換することで、RadialGradientBrush要素で示される楕円形状に対して、その楕円形状内に同一の色値が描画される複数の楕円のそれぞれを規定するベクトルデータを算出できる。
ページメモリ13dは、プリンタ制御装置10によって生成された、プリンタ1で印刷される画像データを、ビットマップ形式で格納するメモリである。楕円放射グラデーションラスタライズ処理(図6参照)によって生成された楕円形状の放射グラデーションや、その他XPS文書等のデータに従って生成された画像データが、このページメモリ13d上にラスタライズされる。
そして、印刷処理(図5参照)により、PC100から印刷命令と共に受信したデータに従って、印刷される画像データがページメモリ13d上にラスタライズされると、CPU11は、搬送モータ駆動回路17やヘッド用ドライバ20を駆動して、ページメモリ13dに格納された画像データから、紙にその画像データに対応する画像を紙に印刷する。
次に、操作パネル14は、プリンタの設定や、各種動作の指示を行うための入力ボタンによって構成されたユーザインターフェイスである。LCD15は、操作パネル14の操作に応じてメニューや動作状態などを表示するための表示デバイスである。ユーザは操作パネル14を操作することにより、その操作に対応する情報がLCD15に表示される。
搬送モータ(LFモータ)16は、プリンタ1の所定の位置に配置された紙を搬送方向の上流から下流又はその逆方向に搬送するためのステッピングモータであり、その駆動はCPU11からの指示により搬送モータ駆動回路17によって制御される。この搬送モータ16の駆動により、インクジェットヘッド19の下面(ノズル端の対向面)に紙が給送される。
インクジェットヘッド19は、複数のノズル、アクチュエータ(いずれも図示せず)を備えた印字ヘッドであり、シアン、マゼンタ、イエロー、ブラックの各インクに対応した4つのインクジェットヘッドが設けられている。また、ヘッド用ドライバ20は、インクジェットヘッド19に設けられたアクチュエータを駆動する駆動回路である。
CPU11は、ページメモリ13dに格納された画像データに基づいて、シアン、マゼンタ、イエロー、ブラックの各インクに対応した多値化データを生成し、その多値化データを、ゲートアレイ(図示せず)を介してヘッド用ドライバ20へ送信する。ヘッド用ドライバ20は、送信された多値化データに合った波形の駆動パルスを生成し、その駆動パルスを各ノズルに対応したアクチュエータに印加することによって、各ノズルからインク滴が吐出され、ページメモリ13dに格納された画像データに対応する画像が紙に印刷される。
インターフェイス21は、プリンタ1とPC100とのデータの送受信を制御するためのものであり、プリンタ1は、このインターフェイス21を介して、PC100から印刷命令および印刷すべき画像を示すデータ(XPS文書など)を受信する。
このとき、インターフェイス21は、PC100から印刷命令を受信すると、CPU11に対してその旨を通知する割り込み信号を送信する。また、インターフェイス21は、PC100からXPS文書を受信すると、そのXPS文書をRAM13に設けられたXPSデータメモリ13aにDMA転送する。
次いで、図2を参照して、XPS文書に含まれるRadialGradientBrush要素の詳細について説明する。図2は、RadialGradientBrush要素を説明する説明図であり、(a)には、RadialGradientBrush要素の例、及び、その要素で規定されるパラメータを示しており、(b)には、RadialGradientBrush要素で規定されたパラメータによって描画される楕円形状の放射グラデーションの例を示している。
RadialGradientBrush要素は、図2(a)に示すように、複数の属性およびサブ要素から構成されている。このうち、”Center”属性31、”RadiusX”属性33、”RadiusY”属性34は、楕円形状を規定するパラメータを与えるものである。一方、”GradientOrigin”属性32、RadialGradientBrush.GradientStops要素35は、楕円形状内に描画されるグラデーションパターンを規定するパラメータを与えるものである。
”Center”属性31は、図2(b)に示す楕円形状の中心座標(Cx,Cy)を与えるものである。ここで、楕円形状の中心とは、楕円形状の長軸および短軸が交わる点のことである。
”GradientOrigin”属性32は、図2(b)に示すグラデーションの中心座標(Gx,Gy)を与えるものである。ここで、グラデーションの中心とは、放射グラデーションにおける色の変化の始点(グラデーションの始点)のことである。
放射グラデーションは、このグラデーションの中心から、グラデーションにおける色の変化の終点(グラデーションの終点)であるRadialGradientBrush要素で規定される楕円形状の外周上の点までの間で、色が徐々に変化するように表現される。
尚、これら”Center”属性31,”GradientOrigin”属性32によって与えられるパラメータは、XPS文書によって示される印刷領域の左上端の位置を原点として、互いに直交する2つの座標軸(X軸、Y軸)で示される直交座標系によって表わされている(図2(b)参照)。
この直交座標系では、印刷領域の左右方向がX軸となり、左から右に向けてX軸の正方向が規定されている。一方、印刷領域の上下方向がY軸となり、上から下に向けてY軸の正方向が規定されている。
図2(a)に示したRadialGradientBrush要素の例では、楕円形状の中心座標は”Center”属性31より(150,150)が与えられる。また、グラデーションの中心座標は”GradientOrigin”属性32より(200,170)が与えられる。
一方、”RadiusX”属性33は、楕円形状におけるX軸方向の半径(以下、「X径」と称する)Rxを与えるものである。また、”RadiusY”属性34は、楕円形状におけるY軸方向の半径(以下、「Y径」と称する)Ryを与えるものである。
尚、”RadiusX”属性33および”RadiusY”属性34のパラメータによって規定される楕円形状は、X軸方向およびY軸方向にその楕円形状の長軸および短軸が設定されるようになっている。
従って、RxおよびRyのうち、値の小さい方が楕円形状の短軸の半径となり、値の大きい方が長軸の半径となる。また、楕円形状のX軸方向の長さは、図2(b)に示すように、2Rxとなり、Y軸方向の長さは2Ryとなる。
図2(a)に示したRadialGradientBrush要素の例では、X径は”RadiusX”属性33より「140」が与えられ、Y径は”RadiusY”属性34より「100」が与えられる。
一方、RadialGradientBrush.GradientStops要素35は、グラデーションの色値を規定するパラメータを与えるものである。この要素35は、更に2つのGradientStop要素35a,35bから構成されている。このGradientStop要素35a,35bは、ともに”Color”属性と、”Offset”属性とを含んでいる。
”Color”属性は、”Offset”属性で示される点における赤、緑、青それぞれの色値を与えるもので、6桁の16進数で与えられる。このうち、上位2桁の16進数が赤の色値(Rs,Re)を与え、続く2桁の16進数が緑の色値(Gs,Ge)を与え、残る2桁の16進数が青の色値(Bs,Be)を与える。
”Offset”属性は、”Color”属性で示される色値で表わされる点を規定するものである。例えば、”Offset”属性の値が「0」の場合、”Color”属性で示される色値がグラデーションの中心(グラデーションの始点)における色値であることを示し、”Offset”属性の値が「1」の場合、”Color”属性で示される色値がRadialGradientBrush要素で規定される楕円形状の外周上の点(グラデーションの終点)における色値であることを示す。
よって、GradientStop要素35aにより、図2(b)に示すように、グラデーションの中心(グラデーションの始点)における赤、緑、青の各色値Rs,Gs,Bsが与えられ、GradientStop要素35bにより、楕円形状の外周上の点(グラデーションの終点)における赤、緑、青の各色値Re,Ge,Beが与えられる。
図2(a)に示したRadialGradientBrush要素の例では、グラデーションの中心(グラデーションの始点)における赤、緑、青の各色値Rs,Gs,Bsは、GradientStop要素35aより、それぞれ「(FF)16」「(FF)16」「(00)16」が与えられる。
また、楕円形状の外周上の点(グラデーションの終点)における赤、緑、青の各色値Re,Ge,Beは、GradientStop要素35bより、それぞれ「(00)16」「(00)16」「(FF)16」が与えられる。尚、「(FF)16」は、16進数の”FF”(10進数の255)であることを示し、「(00)16」は、16進数の”00”(10進数の0)であることを示す。
このような複数の属性およびサブ要素を含むRadialGradientBrush要素によって、図2(b)に示すように、”Center”属性31により与えられる楕円形状の中心座標(Cx,Cy)から、印刷領域においてその楕円形状が描画される位置が特定され、”RadiusX”属性33および”RadiusY”属性34により与えられる楕円形状のX径RxおよびY径Ryから、その楕円形状における外周の形および大きさが特定される。そして、これらにより、印刷領域における楕円形状の外周上の点の位置が特定される。
また、”GradientOrigin”属性32により与えられるグラデーションの中心座標(Gx,Gy)によって、印刷領域におけるグラデーションの中心の位置が特定される。
そして、GradientStop要素35aにより与えられるグラデーションの中心(グラデーションの始点)における赤、緑、青の各色値Rs,Gs,Bsと、GradientStop要素35bにより与えられる楕円形状の外周上の点(グラデーションの終点)における赤、緑、青の各色値Re,Ge,Beとを、そのグラデーションの中心と楕円形状の外周上の点との距離に応じて内挿することにより、楕円形状内のグラデーションパターンが特定される。
次いで、図3を参照して、本実施形態における楕円形状の放射グラデーションの描画原理について説明する。図3は、その楕円形状の放射グラデーションの描画原理を説明する説明図である。なお、以下の説明において、次式に示す3行3列の行列を(a,b,c,d,e,f)と表記する。
本実施形態において、PC100から印刷命令と共に受信したデータがXPS文書であって、そのXPS文書にRadialGradientBrush要素が含まれていると、プリンタ制御装置10は、まず、図3(a)に示す各種パラメータ、即ち、楕円の中心座標(Cx,Cy)、X径Rx、Y径Ryといった楕円形状を規定するパラメータと、グラデーションの中心座標(Gx,Gy)、グラデーションの中心(グラデーションの始点)における赤、緑、青の各色値Rs,Gs,Bs、楕円形状の外周上の点(グラデーションの終点)における赤、緑、青の各色値Re,Ge,Beといった楕円形状内に描画されるグラデーションパターンを規定するパラメータとを、RadialGradientBrush要素から抽出する(図3(イ))。
尚、図3(a)は、RadialGradientBrush要素で規定されたパラメータによって描画される楕円形状の放射グラデーションの例を示す図であり、図2(b)と同一の図である。
次に、抽出した楕円形状を規定するパラメータを用いて、図3(a)に示す楕円形状を、図3(b)に示す半径がRxで中心座標が原点(0,0)である真円形状にアフィン変換する変換行列Aを、以下の(1)式によって生成する(図3(ロ))。
A=(1,0,0,Rx/Ry,−Cx,−(Rx/Ry)・Cy) ・・・(1)
尚、本実施形態では、以下、図3(a)に示す楕円形状を、図3(b)に示す半径がRxで中心座標が原点(0,0)である真円形状にアフィン変換する場合について説明するが、楕円形状を半径がRyで中心座標が原点(0,0)である真円形状にアフィン変換してもよいし、楕円形状を半径がR(Rは任意の値)で中心座標が原点(0,0)である真円形状にアフィン変換してもよい。
前者の場合、変換行列Aは以下の(2)式によって生成され、後者の場合、変換行列Aは(3)式によって生成される。
A=(Ry/Rx,0,0,1,−(Ry/Rx)・Cx,−Cy) ・・・(2)
A=(R/Rx,0,0,R/Ry,−(R/Rx)・Cx,−(R/Ry)・Cy) ・・・(3)
次いで、図3(a)に示すグラデーションの中心座標(Gx,Gy)を(1)式によって生成した変換行列Aを用いて、アフィン変換する(図3(ハ))。そして、図3(b)に示すアフィン変換後のグラデーションの中心がY軸上の0又は正側にあるか否かを判断し、アフィン変換後のグラデーションの中心がY軸上の0および正側にない場合には、そのグラデーションの中心および原点(0,0)を結んだ線分と、Y軸正方向とによって成す角度θ(図3(b)参照)を算出する(図3(ニ))。
そして、原点を中心に角度θだけ回転するアフィン変換を行う変換行列B’を以下の(4)式によって生成し、(5)式に示すように、この変換行列B’を変換行列Aに乗算することによって、変換行列Aに回転の要素を追加した変換行列Bを生成する(図3(ホ))。
B’=(cosθ,sinθ,−sinθ,cosθ,0,0) ・・・(4)
B=A・B’ ・・・(5)
尚、(1)式によって生成される変換行列Aによって変換されたグラデーションの中心が、Y軸上の0又は正側にある場合には、(1)式の変換行列Aがそのまま変換行列Bとして使用される。
そして、変換行列Bを用いて、再び図3(a)に示すグラデーションの中心座標(Gx,Gy)をアフィン変換することによって、図3(a)に示す楕円形状が、図3(c)に示すように、半径がRxで中心座標が原点(0,0)である真円形状に変換されると共に、グラデーションの中心がY軸上の0又は正側に配置される。
次いで、楕円形状内に描画されるグラデーションパターンを図3(c)に示す真円形状に対して描画すると仮定して、その真円形状内に同一の色値が描画される複数の真円のそれぞれを規定するベクトルデータを、その真円毎に算出する(図3(ヘ))。
そして、各真円のベクトルデータと、その真円内に描画すべき色値とを、その真円に対応付けてRAM13に格納する。尚、この真円形状内に同一の色値が描画される複数の真円におけるベクトルデータの算出方法については、図4を参照して後述する。
次に、図3(c)に示す真円形状に対して算出された、その真円形状内に同一の色値が描画される複数の真円のベクトルデータを、RAM13から読み出して、逆アフィン変換する(図3(ト))。この逆アフィン変換で用いられる変換行列は、図3(a)に示す楕円形状を図3(c)に示す真円形状にアフィン変換した変換行列Bの逆行列である。
従って、図3(c)に示す真円形状に対して算出された、その真円形状内に同一の色値が描画される複数の真円のベクトルデータを逆アフィン変換すると、図3(d)に示すように、RadialGradientBrush要素によって示される楕円形状内に同一の色値が描画される複数の楕円のそれぞれを規定するベクトルデータが算出される。
次いで、算出された複数の楕円のベクトルデータに基づいて各楕円を特定すると共に、それぞれの楕円に対し、各楕円における逆アフィン変換の変換元となる真円に対応付けられてRAM13に記憶された色値を読み出して、その楕円内をRAM13から読み出した対応する色値でそれぞれ描画することによって、図3(e)に示す楕円形状の放射グラデーションをビットマップ形式でページメモリ13dに格納し、ラスタライズを行う(図3(チ))。
このように、RadialGradientBrush要素によって示される楕円形状を、変換行列Bを用いたアフィン変換することによって真円形状に変換し、その真円形状内に同一の色値が描画される複数の真円のベクトルデータを真円毎に算出する。そして、その算出された各真円のベクトルデータを変換行列Bの逆行列を用いた逆アフィン変換を行うことによって、RadialGradientBrush要素で示される楕円形状内に同一の色値が描画される複数の楕円のベクトルデータを楕円ごとに算出する。
これにより、その算出された複数の楕円のベクトルデータに基づいて、各楕円内を対応する色値で描画すれば、RadialGradientBrush要素で示される楕円形状の放射グラデーションを生成することができる。
次いで、図4を参照して、真円形状における放射グラデーションにおいて、その真円形状内に同一の色値が描画される複数の真円のそれぞれを規定するベクトルデータの算出方法について説明する。図4は、その真円のベクトルデータの算出方法を説明する説明図である。
尚、放射グラデーションを生成する場合、光の3原色である赤、緑、青に対する放射グラデーションがそれぞれ独立して生成されるが、以下の説明では、赤に対する放射グラデーションを生成する場合の真円のベクトルデータの算出方法について説明する。緑および青に対する放射グラデーションについては、赤に対する放射グラデーションと同一の方法で真円のベクトルデータが算出されるので、その説明を省略する。
ここで、真円形状内に同一の色値が描画される複数の真円のベクトルデータを算出する場合、楕円形状の放射グラデーションにおけるグラデーションの中心(グラデーションの始点)の色値Rsを、真円形状の放射グラデーションにおいてY軸上の0又は正側に配置されたアフィン変換後のグラデーションの中心(グラデーションの始点)の色値とする。
また、楕円形状の放射グラデーションにおける楕円形状の外周上の点(グラデーションの終点)色値Reを、真円形状の放射グラデーションにおいて、アフィン変換によって得られた真円形状の外周上の点(グラデーションの終点)における色値とする。
そして、本実施形態では、真円形状の外側から順に、同一の色値が描画される真円の中心座標と半径とを算出し、その中心座標と半径とからその真円上の各点の座標を算出することによって、その真円のベクトルデータを求める。
具体的には、まず、真円形状の外周(真円0)の中心座標C0および半径r0を、それぞれ(0,0)及びRxと特定する。そして、この中心座標C0および半径r0とから、真円0上の各点の座標を算出して、その真円0のベクトルデータを算出する。また、真円0内部に描画される色値R0を真円形状の外周上の点(グラデーションの終点)における色値Reに設定する。
次いで、真円0に描画される色値R0とは異なる色値R1が描画される一つ内側の真円1について、その真円1の中心座標C1(C1x,C1y)および半径r1と、その真円1内部に描画される色値R1とを以下の(6)式〜(9)式を用いて算出する。
C1x=0 ・・・(6)
C1y=G’y・k/(Re−Rs) ・・・(7)
r1=r0−r0・k/(Re−Rs) ・・・(8)
R1=Re−k ・・・(9)
ここで、G’yは、変換行列Bによるアフィン変換後のグラデーションの中心のY座標である。
また、kは隣り合う真円内に描画される色値の変化量であり、本実施形態では、グラデーションの中心における色値Rsが真円形状の外周上の点における色値Reよりも大きい場合に負の値、例えば「−1」の値が設定され、グラデーションの中心における色値Rsが真円形状の外周上の点における色値Reよりも小さい場合に正の値、例えば「+1」の値が設定さる。尚、変化量kの絶対値は、人間の知覚や使用する色空間の特徴およびプリンタ1における色再現能力などを考慮して、色の変化が滑らかであると感じられる値を選べばよい。
そして、(6)式から(8)式によって算出された真円1の中心座標C1(C1x,C1y)および半径r1から、真円1上の各点の座標を算出して、その真円1のベクトルデータを算出する。
その後、真円2、真円3、・・・、真円n、・・・の中心座標、半径、および色値を、外側の真円から順に算出して、各真円の中心座標および半径から、それぞれの真円について真円上の各点の座標を算出し、その真円のベクトルデータをそれぞれ算出する。そして、この処理を、色値Rsで描画される真円のベクトルデータの算出が完了するまで繰り返し行う。尚、真円nの中心座標Cn(Cnx,Cny)、半径rnおよび色値Rnは以下の(10)式〜(13)式を用いて算出する。
Cnx=0 ・・・(10)
Cny=G’y・n・k/(Re−Rs) ・・・(11)
rn=r0−r0・n・k/(Re−Rs) ・・・(12)
Rn=Re−n・k ・・・(13)
また、上述したように、真円nのベクトルデータと色値Rnは、それぞれ真円nのパラメータとして、RAM13に格納される。
以上の方法によって、真円形状における放射グラデーションにおいて、その真円形状内に同一の色値が描画される複数の真円をそれぞれ規定するベクトルデータが算出される。尚、本実施形態において、変換行列Bを用いたアフィン変換によって、真円形状の放射グラデーションにおけるグラデーションの中心は、Y軸上の0又は正側に配置されているので、同一の色値を有する真円形状の中心座標を算出する場合、X座標は0に固定することができる。
換言すれば、同一の色値が描画される真円形状の中心座標をY座標のみを用いた一次元の関数として算出することができるので、各真円のベクトルデータを算出するときの演算量を削減することができ、よって、放射グラデーションの描画に係る負荷を抑制することができる。
また、変換行列Bを用いたアフィン変換によって、グラデーションの中心がY軸上の0又は正側に配置されることにより、アフィン変換後のグラデーションの中心が、常に真円形状の中心と同じか、それよりも正側に位置するように固定することができる。
次いで、図5を参照して、プリンタ制御装置10で実行される印刷処理の処理フローについて説明する。図5は、この印刷処理を示すフローチャートである。この処理は、インターフェイス21を介してPC100から受信した印刷命令に続くデータに従って、印刷すべき画像データを生成し、生成した画像データを印刷する処理で、インターフェイス21がCPU11に対して印刷命令を受信した旨を通知する割り込み信号を送信すると、CPU11によってその割り込みが検出されて、この処理の実行が開始される。
この印刷処理では、まず、印刷命令に続いてPC100から受信したデータがXPSに従って記述されたXPS文書であるか否かを判断する(S11)。その結果、XPS文書であると判断される場合には(S11:Yes)、次いで、インターフェイス21によってXPSデータメモリ13aにDMA転送されたXPS文書を、XPSデータメモリ13aから読み出して、その内容を解析し、XPS文書に含まれる要素の1つを取得する(S12)。
そして、S12の処理によって取得された要素が、RadialGradientBrush要素であるか否かを判断する(S13)。その結果、RadialGradientBrush要素であると判断される場合には(S13:Yes)、その取得された要素が楕円形状の放射グラデーションの描画命令であると判断し、後述する楕円放射グラデーションラスタライズ処理(図6参照)を実行する(S14)。
この楕円放射グラデーションラスタライズ処理により、描画に係る負荷を抑制しつつ、RadialGradientBrush要素によって示される楕円形状の放射グラデーションを生成することができる。そして、この生成された楕円形状の放射グラデーションがページメモリ13d上にラスタライズされる。S14の処理の後、S16の処理へ移行する。
一方、S13の処理の結果、S12の処理によって抽出された要素が、RadialGradientBrush要素でないと判断される場合には(S13:No)、その要素に応じたラスタライズ処理を実行し、生成された画像データをページメモリ13dに格納して(S15)、S16の処理へ移行する。
S16の処理では、S12の処理によって抽出された要素の他に、XPS文書に要素があるか否かを判断する。そして、S12の処理によって抽出された要素の他にXPS文書に要素があると判断される場合には(S16:Yes)、S12の処理へ回帰し、再びS12〜S16の処理を実行する。
そして、XPS文書に含まれる全ての要素がS12の処理によって抽出され、その全ての要素に対してS14又はS15の処理によってラスタライズ処理が実行された(S16:No)と判断されるまで、S12〜S16の処理を繰り返し実行する。これにより、XPS文書によって示される画像データが、ページメモリ13d上にラスタライズされる。
一方、S16の処理の結果、S12の処理によってXPS文書に含まれる全ての要素が抽出され、その全ての要素に対してS14又はS15の処理によるラスタライズ処理が実行されたと判断されると(S16:No)、S18の処理へ移行する。
また、S11の処理の結果、印刷命令に続いてPC100から受信したデータがXPSに従って記述されたXPS文書でないと判断される場合には(S11:No)、その印刷命令に続いてPC100から受信したデータの内容に従って、印刷用の画像データを生成し、その画像データをページメモリ13d上に格納する(S17)。そして、S18の処理へ移行する。
次いで、S18の処理では、S11からS17の処理によって生成されてページメモリ13dに格納された画像データに基づいて、搬送モータ駆動回路17およびヘッド用ドライバ20に対して信号を送信し、搬送モータ16およびインクジェットヘッド19を駆動することによって、紙に画像データに基づく画像を印刷する。そして、この印刷処理を終了する。
これにより、PC100より印刷命令を受信すると、その印刷命令に続くデータに基づいて画像データが生成され、その生成された画像データに基づく画像を紙に印刷させることができる。
また、この印刷処理では、PC100から印刷命令に続く画像データとしてXPS文書を受信した場合に、そのXPS文書を解析する。そして、そのXPS文書にRadialGradientBrush要素が含まれている場合には、後述する楕円放射グラデーションラスタライズ処理が実行される。これにより、プリンタ制御装置10は、描画に係る負荷を抑制しつつ、RadialGradientBrush要素によって示される楕円形状の放射グラデーションを生成できるようになっている。
次いで、図6を参照して、プリンタ制御装置10で実行される楕円放射グラデーションラスタライズ処理について説明する。図6は、この楕円放射グラデーションラスタライズ処理を示すフローチャートである。
この処理は、XPS文書に含まれるRadialGradientBrush要素によって示される楕円形状の放射グラデーションを生成する処理で、CPU11により実行される印刷処理の中で、印刷命令に続くデータがXPS文書であり、且つ、そのXPS文書に記載された要素の中にRadialGradientBrush要素が含まれる場合に実行される。以下、この楕円放射グラデーションラスタライズ処理を、図3に示した楕円形状の放射グラデーションの描画原理と対応付けながら説明する。
この楕円放射グラデーションラスタライズ処理では、まず、RadialGradientBrush要素から、楕円形状を規定するパラメータとして、楕円形状の中心座標(Cx,Cy)、長軸および短軸の半径であるX径Rx及びY径Ry(いずれも図2参照)を抽出し、これらをグラデーションパラメータメモリ13bに格納する(S21)。
次いで、RadialGradientBrush要素から、楕円形状内に描画されるグラデーションパターンを規定するパラメータとして、グラデーションの中心座標(Gx,Gy)、グラデーションの中心(グラデーションの始点)における赤、緑、青の各色値Rs,Gs,Bs、及び、楕円形状の外周上の点(グラデーションの終点)における赤、緑、青の各色値Re,Ge,Be(いずれも図2参照)を抽出し、これらもグラデーションパラメータメモリ13bに格納する(S22)。尚、S21及びS22の処理が、図3(イ)に相当する。
次に、グラデーションパラメータメモリ13bに格納された楕円形状を規定するパラメータを読み出し、RadialGradientBrush要素によって示される楕円形状(図3(a)参照)から、半径がRxで中心座標が原点(0,0)である真円形状(図3(b)参照)にアフィン変換する変換行列Aを、(1)式を用いて生成し、変換行列メモリ13cに格納する(S23)。
尚、S23の処理では、上述したように、変換行列Aを(2)式より生成して変換行列メモリ13cに格納することにより、楕円形状から、半径がRyで中心座標が原点(0,0)である真円形状にアフィン変換するようにしてもよい。
また、変換行列Aを(3)式より生成して変換行列メモリ13cに格納し、楕円形状から、半径がR(Rは任意の値)で中心座標が原点(0,0)である真円形状にアフィン変換するようにしてもよい。このS23の処理が、図3(ロ)に相当する。
S23の処理により、変換行列Aが生成されて、変換行列メモリ13cに格納されると、次いで、グラデーションパラメータメモリ13bに格納されたグラデーションの中心座標(Gx,Gy)を、変換行列メモリ13cに格納された変換行列Aを用いてアフィン変換する(S24)。このS24の処理が、図3(ハ)に相当する。
そして、S24の処理によって得られたアフィン変換後のグラデーションの中心座標が、Y軸上の0又は正側にあるか否かを判断する(S25)。その結果、そのアフィン変換後のグラデーションの中心座標が、Y軸上の0又は正側にあると判断される場合には(S25:Yes)、変換行列Aをそのまま変換行列Bとして、変換行列メモリ13cに格納された変換行列をそのまま保持し(S26)、S28の処理へ移行する。
一方、S25の処理の結果、アフィン変換後のグラデーションの中心座標が、Y軸上の0又は正側にないと判断される場合には(S25:No)、その変換後のグラデーションの中心および原点(0,0)を結んだ線分とY軸正方向とによって成す角度θ(図3(c)参照)を算出すると共に(図3(ニ)に相当)、変換行列メモリ13cに格納された変換行列Aに、(4)式および(5)式を用いて、原点(0,0)を中心とした角度θの回転操作を追加して、変換行列Bを生成し(図3(ホ)に相当)、この変換行列Bを変換行列メモリ13cに上書きして格納する(S27)。そして、S28の処理へ移行する。
このように、S25からS27の処理を実行することによって、RadialGradientBrush要素によって示される楕円形状(図3(a)参照)を、半径がRxで中心座標が原点(0,0)である真円形状にアフィン変換すると共に、グラデーションの中心をY軸上の0又は正側に配置する(図3(c)参照)変換行列Bを生成することができる。
S28の処理では、グラデーションパラメータメモリ13bに格納されたグラデーションの中心座標(Gx,Gy)を、今度は変換行列Bを用いてアフィン変換する。これにより、グラデーションの中心がY軸上の0又は正側に配置される。
次いで、楕円形状内に描画されるグラデーションパターンを、図3(c)に示す半径がRxで中心座標が原点(0,0)である真円形状内に描画すると仮定して、その真円形状内に同一の色値が描画される複数の真円をそれぞれ規定するベクトルデータを、その真円毎に算出する(S29)。
この処理では、グラデーションパラメータメモリ13bから、グラデーションの中心(グラデーションの始点)における赤、緑、青の各色値Rs,Gs,Bsを読み出し、これら各色値Rs,Gs,BsをY軸上の0又は正側に配置されたアフィン変換後のグラデーションの中心(グラデーションの始点)における赤、緑、青の各色値とする。
また、グラデーションパラメータメモリ13bから、楕円形状の外周上の点(グラデーションの終点)における赤、緑、青の各色値Re,Ge,Beを読み出し、これら各色値Re,Ge,Beを、アフィン変換によって得られる真円形状の外周上の点(グラデーションの終点)における赤、緑、青の各色値とする。
そして、図4を参照して上述した算出方法によって、真円形状内に同一の色値が描画される複数の真円のベクトルデータを算出する。そして、算出された各真円のベクトルデータと、その真円内部に描画される色値とを、各々の真円に対応付けて、RAM13に格納する。尚、S29の処理が、図3(ヘ)に相当する。
S29の処理の後、S30の処理では、S26又はS27の処理によって変換行列メモリ13cに保持または格納された変換行列Bの逆行列Cを算出する。そして、この算出された逆行列Cを用いて、S29の処理によってRAM13に格納された各真円のベクトルデータを逆アフィン変換する(S31)。これにより、RadialGradientBrush要素で示される楕円形状内に同一の色値が描画される、図3(d)のような複数の楕円をそれぞれ規定するベクトルデータが、楕円ごとに算出される。尚、このS31の処理が、図3(ト)に相当する。
その後、逆アフィン変換によって算出された同一の色値が描画される複数の楕円のベクトルデータに基づいて各楕円を特定すると共に、それぞれの楕円に対し、その楕円における逆アフィン変換の変換元となる真円に対応付けられてRAM13に記憶された色値を読み出して、その楕円内をRAM13から読み出した対応する色値でそれぞれ描画する(S32)。
これにより、図3(e)に示すように、RadialGradientBrush要素で示される楕円形状の放射グラデーションを生成することができ、この放射グラデーションをビットマップ形式でページメモリ13dに格納することにより、ラスタライズが行われる。尚、このS32の処理が、図3(チ)に相当する。
以上のように、プリンタ制御装置10において、この楕円放射グラデーションラスタライズ処理が実行されると、楕円形状よりアフィン変換される真円形状に対して、同一の色値が描画される複数の真円のベクトルデータが算出される。仮に、楕円形状内に同一の色値が描画される楕円のベクトルデータを、RadialGradientBrush要素より抽出されるパラメータから直接算出すれば、楕円の長径および短径を考慮しなければならず、その演算が複雑になるが、本実施形態では、半径だけを考慮して演算すればよく、そのベクトルデータの算出に係る演算を簡単に行うことができる。また、楕円形状から真円形状へのアフィン変換やアフィン逆変換は、楕円の短径方向または長径方向の単純な拡大・縮小処理や、回転操作によって行うことができる。よって、楕円形状のグラデーションの描画に係る負荷を抑制することができる。
そして、この楕円のベクトルデータによって特定される複数の楕円内に、対応する色値を描画することによって、楕円形状の放射グラデーションが生成されるので、RadialGradientBrush要素により示される楕円形状の放射グラデーションを容易に生成することができる。
従って、XPSにより記述された文書に、RadialGradientBrush要素が存在する場合に、描画に係る負荷を抑制しつつ、そのRadialGradientBrush要素によって示される楕円形状の放射グラデーションを生成することができる。
また、アフィン変換後のグラデーションの中心位置が0又はY軸上に設定されるので、Y軸に沿って同一の色値の描画される複数の真円の中心位置を算出しながら、その真円のベクトルデータを算出する。これにより、同一の色値が描画される真円の中心位置をそのY座標によって示される一次元の関数を用いて算出することができる。よって、真円のベクトルデータを算出するときの演算量をより削減することができ、放射グラデーションの描画に係る負荷を更に抑制することができる。
以上、本実施形態におけるプリンタ制御装置10によれば、楕円形状の放射グラデーションを生成する場合に、楕円形状を真円形状にアフィン変換したうえで、同一の色値が描画される真円を示すベクトルデータを算出し、このベクトルデータを逆変換することによって、楕円形状のグラデーションにおける同一の色値が描画される真円を示すベクトルデータを算出するので、放射グラデーションの描画に係る負荷を抑制しつつ、楕円形状の放射グラデーションを生成することができる。
また、本実施形態におけるプリンタ1によれば、PC100からの印刷命令に続いて受信されるデータの中に楕円形状の放射グラデーションの描画命令があると、その描画命令から楕円形状の放射グラデーションがプリンタ制御装置10によって生成されるので、楕円形状の放射グラデーションを印刷する場合に、描画に係る負荷を抑制しつつ、楕円形状の放射グラデーションを生成して、その印刷を行うことができる。
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
例えば、上記実施形態では、画像描画命令であるXPS文書のRadialGradientBrush要素で示される楕円形状の短軸および長軸が、それぞれX軸方向またはY軸方向に設定されている場合について説明したが、必ずしもこれに限られるものではなく、楕円形状の短軸および長軸が任意の方向に設定されていてもよい。
この場合、画像描画命令で示される楕円形状の短軸および長軸が、X軸方向またはY軸方向に設定されるように、その楕円形状を回転させるアフィン変換を行った上で、図3を参照して説明した描画原理に基づいて楕円形状の放射グラデーションを生成し、その後、短軸および長軸の方向を画像描画命令で示される方向に戻すために、得られた楕円形状の放射グラデーションに対して、逆アフィン変換を行うようにしてもよい。
上記実施形態では、RadialGradientBrush要素に含まれるRadialGradientBrush.GradientStops要素によって、グラデーションの中心(グラデーションの始点)および楕円形状の外周上の点(グラデーションの終点)における色値が規定される場合について説明したが、このRadialGradientBrush.GradientStops要素に、グラデーションの始点および終点の間の任意の点における色値を規定するGradientStop要素が含まれる場合であっても、本発明を適用可能である。
この場合、任意の点における色値を規定するGradientStop要素の”Offset”属性で示される値は、グラデーションの始点・終点間の距離を「1」としたときの、このGradientStop要素で色値が規定される任意の点とグラデーションの始点との距離dを表しているので、真円形状に対してグラデーションを描画するときには、真円形状のグラデーションの中心(グラデーションの始点)から上記距離dだけ離れた点における色値が、上記GradientStop要素で規定される任意の点における色値となるようにすればよい。
上記実施形態では、楕円放射グラデーションラスタライズ処理(図6参照)において、真円形状に対して、同一の色値が描画される複数の真円をそれぞれ示すベクトルデータを算出した後、変換行列Bの逆行列Cを算出する場合について説明したが、必ずしもこれに限られるものではなく、変換行列Bを生成したのち、真円のベクトルデータを逆アフィン変換する前までの間に逆行列Cを算出すればよい。
上記実施形態では、PC100より受信される印刷命令に続くデータがXPS文書であり、このXPS文書に楕円形状の放射グラデーションの描画命令であるRadialGradientBrush要素が含まれると、図6に示す楕円放射グラデーションラスタライズ処理を実行する場合について説明したが、必ずしもこれに限られるものではなく、PC100からの印刷命令に続くPDLによって記述されたデータに、楕円形状の放射グラデーションの描画命令が含まれていれば、図6に示す楕円放射グラデーションラスタライズ処理を実行するようにしてもよい。
上記実施形態では、プリンタ制御装置10がプリンタ1内部に設けられる場合について説明したが、必ずしもこれに限られるものではなく、プリンタ制御装置10は、プリンタ1の外部に設けられ、プリンタ制御装置10がプリンタ1と、通信ケーブルや無線通信によって接続されていてもよい。また、プリンタ制御装置10がPC100内部に設けられていてもよい。
上記実施形態では、プリンタ制御装置10において図6に示す楕円放射グラデーションラスタライズ処理が実行され、プリンタ1において印刷される楕円形状の放射グラデーションを生成する場合について説明したが、この楕円放射グラデーションラスタライズ処理の実行は、プリンタ制御装置10の他、楕円形状の放射グラデーションを出力するデバイスを制御する装置においても適用可能である。
例えば、ディスプレイに楕円形状の放射グラデーションを表示させる場合に、そのディスプレイを制御する装置において、図6に示す楕円放射グラデーションラスタライズ処理を実行し、ディスプレイへの表示用画像データを格納するフレームメモリに対し、その楕円放射グラデーションラスタライズ処理により生成された楕円形状の放射グラデーションをラスタライズしてもよい。
上記実施形態では、プリンタ1が記録媒体として紙に印刷する場合について説明したが、必ずしもこれに限られるものではなく、布やプラスチック、ビニールなどに印刷されてもよい。
上記実施形態では、アフィン変換後のグラデーションの中心がY軸上の0又は正側に配置されるように変換行列Bを生成する場合について説明したが、アフィン変換後のグラデーションの中心がY軸上の0又は負側に配置されるように変換行列Bを生成してもよい。また、アフィン変換後の中心がX軸上の0又は正側に配置されるように変換行列Bを生成してもよいし、X軸上の0又は負側に配置されるように変換行列Bを生成してもよい。
本発明の一実施形態におけるプリンタ制御装置を含むプリンタの電気的構成を示すブロック図である。 RadialGradientBrush要素を説明する説明図である。 楕円形状の放射グラデーションの描画原理を説明する説明図である。 真円形状における放射グラデーションに対し、同一の色値が描画される複数の真円のベクトルデータを算出する方法を説明する説明図である。 プリンタ制御装置で実行される印刷処理を示すフローチャートである。 プリンタ制御装置で実行される楕円放射グラデーションラスタライズ処理を示すフローチャートである。
符号の説明
1 プリンタ(印刷装置の一例)
10 プリンタ制御装置(画像生成装置の一例)
19 インクジェットヘッド(印刷手段の一例)
S11:Yes (文書受付手段の一例)
S12 (取得手段の一例)
S13 (命令判断手段の一例)
S21,S22 (抽出手段の一例)
S23 (変換行列生成手段の一例)
S24,S28 (変換手段の一例)
S27 (変換行列生成手段の一例、設定手段の一例)
S29 (真円特定パラメータ算出手段の一例)
S30 (逆行列算出手段の一例)
S31 (楕円特定パラメータ算出手段の一例)
S32 (グラデーション生成手段の一例)

Claims (4)

  1. 楕円形状の放射グラデーションの画像描画命令を含む文書を受け付ける文書受付手段と、
    その文書受付手段により受け付けられた文書から前記画像描画命令を取得する取得手段と、
    前記楕円形状を規定するパラメータと、前記楕円形状内に描画されるグラデーションパターンを規定するパラメータとを前記取得手段により取得された前記画像描画命令より抽出する抽出手段と、
    その抽出手段により抽出された前記楕円形状を規定するパラメータに基づいて、前記楕円形状を真円形状に変換する変換行列を生成する変換行列生成手段と、
    その変換行列生成手段により生成される前記変換行列の逆行列を算出する逆行列算出手段と、
    前記楕円形状内に描画されるグラデーションパターンを、前記変換行列による変換によって得られる前記真円形状内に描画すると仮定して、その真円形状内に同一の色値が描画される真円を特定するパラメータを、前記抽出手段により抽出されたパラメータに基づいて算出する真円特定パラメータ算出手段と、
    その真円特定パラメータ算出手段により算出された前記真円を特定するパラメータを、前記逆行列算出手段により算出される前記逆行列を用いて逆変換し、前記楕円形状内に同一の色値が描画される楕円を特定するパラメータを算出する楕円特定パラメータ算出手段と、
    その楕円特定パラメータ算出手段により算出された前記楕円を特定するパラメータと、前記抽出手段により抽出された前記グラデーションパターンを規定するパラメータとから、前記楕円形状の放射グラデーションを生成するグラデーション生成手段とを備えることを特徴とする画像生成装置。
  2. 前記抽出手段により抽出される前記グラデーションパターンを規定するパラメータは、前記楕円形状内に描画されるグラデーションの中心の位置情報を含み、
    そのグラデーションの中心の位置情報を前記変換行列生成手段により生成された前記変換行列を用いて変換する変換手段と、
    その変換手段により変換された前記グラデーションの中心の位置情報によって特定される変換後のグラデーションの中心位置を、前記変換行列により前記楕円形状を変換して得られる前記真円形状の中心位置を通る座標軸上に設定する設定手段とを備え、
    前記真円特定パラメータ算出手段は、前記設定手段により前記変換後のグラデーションの中心位置が設定された座標軸に沿って同一の色値が描画される真円の中心位置を算出することにより、その真円を特定するパラメータを算出することを特徴とする請求項1に記載の画像生成装置。
  3. 前記文書受付手段は、XML Paper Specificationにより記述された文書を受け付けるものであり、
    前記取得手段により取得された画像描画命令がRadialGradientBrush要素である場合に、楕円形状の放射グラデーションの描画命令であることを判断する命令判断手段を備え、
    前記抽出手段は、前記命令判断手段により楕円形状の放射グラデーションの描画命令であると判断された前記RadialGradientBrush要素から、前記楕円形状の中心座標、長軸の半径および短軸の半径を、前記楕円形状を規定するパラメータとして抽出すると共に、前記グラデーションの中心座標を、前記楕円形状内に描画されるグラデーションパターンを規定するパラメータとして抽出することを特徴とする請求項1又は2に記載の画像生成装置。
  4. 請求項1から3のいずれかに記載の画像生成装置と、
    その画像生成装置により生成された画像を記録媒体に印刷する印刷手段とを備えることを特徴とする印刷装置。
JP2008093188A 2008-03-31 2008-03-31 画像生成装置および印刷装置 Active JP4513888B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008093188A JP4513888B2 (ja) 2008-03-31 2008-03-31 画像生成装置および印刷装置
US12/412,270 US8259352B2 (en) 2008-03-31 2009-03-26 Image generating device, image generating method and printing device
EP09250953A EP2110787B1 (en) 2008-03-31 2009-03-30 Generation of an elliptical radial gradation
CN2009101330313A CN101551912B (zh) 2008-03-31 2009-03-31 图像生成装置、图像生成方法及打印装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008093188A JP4513888B2 (ja) 2008-03-31 2008-03-31 画像生成装置および印刷装置

Publications (2)

Publication Number Publication Date
JP2009245329A true JP2009245329A (ja) 2009-10-22
JP4513888B2 JP4513888B2 (ja) 2010-07-28

Family

ID=40983376

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008093188A Active JP4513888B2 (ja) 2008-03-31 2008-03-31 画像生成装置および印刷装置

Country Status (4)

Country Link
US (1) US8259352B2 (ja)
EP (1) EP2110787B1 (ja)
JP (1) JP4513888B2 (ja)
CN (1) CN101551912B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009282855A (ja) * 2008-05-23 2009-12-03 Ricoh Co Ltd 画像形成装置、グラデーション図形画像描画方法、グラデーション図形画像描画プログラム、及び記録媒体
CN115401536A (zh) * 2022-08-30 2022-11-29 深圳数马电子技术有限公司 铰刀磨削方法、装置、数控机、计算机设备和存储介质

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4518172B2 (ja) * 2008-03-31 2010-08-04 ブラザー工業株式会社 画像生成装置および印刷装置
JP4513887B2 (ja) * 2008-03-31 2010-07-28 ブラザー工業株式会社 画像生成装置および印刷装置
US9224120B2 (en) * 2010-04-20 2015-12-29 Temptime Corporation Computing systems and methods for electronically indicating the acceptability of a product
JP5622787B2 (ja) * 2012-04-27 2014-11-12 株式会社沖データ 画像処理装置、及び、プログラム
CN105677674B (zh) * 2014-11-20 2020-08-25 阿里巴巴集团控股有限公司 一种页面填充内容的动态展示方法和装置
CN106485762A (zh) * 2016-09-19 2017-03-08 努比亚技术有限公司 一种图像生成装置及方法
CN107342083B (zh) * 2017-07-05 2021-07-20 百度在线网络技术(北京)有限公司 用于提供语音服务的方法和装置
JP6874626B2 (ja) * 2017-09-29 2021-05-19 ブラザー工業株式会社 プリンタドライバ
CN111177430B (zh) * 2019-12-16 2023-06-20 中国平安财产保险股份有限公司 综合图像的存储方法、装置、计算机设备和存储介质
CN111142816B (zh) * 2019-12-27 2023-03-03 珠海趣印科技有限公司 一种用于打印机上基于算法描线画圆环的方法
CN113986152A (zh) * 2020-07-08 2022-01-28 森大(深圳)技术有限公司 图像分段转换的喷墨打印方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007509436A (ja) * 2003-10-23 2007-04-12 マイクロソフト コーポレーション ベクトルグラフィックスのためのマークアップ言語およびオブジェクトモデル

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3554034B2 (ja) 1994-09-02 2004-08-11 キヤノン株式会社 カラー印刷装置及びその方法
JP3606006B2 (ja) 1997-07-10 2005-01-05 富士ゼロックス株式会社 画像形成装置およびグラデーション描画方法
US6201550B1 (en) 1997-06-30 2001-03-13 Fuji Xerox Co., Ltd. Image forming apparatus and method of generating gradation pattern
AU2003903448A0 (en) 2003-06-26 2003-07-17 Canon Kabushiki Kaisha A method for tracking depths in a scanline based raster image processor
AU2005234610A1 (en) 2004-11-16 2006-06-01 Canon Kabushiki Kaisha Representing radial blends
JP4518172B2 (ja) * 2008-03-31 2010-08-04 ブラザー工業株式会社 画像生成装置および印刷装置
JP4561858B2 (ja) * 2008-03-31 2010-10-13 ブラザー工業株式会社 画像生成装置および印刷装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007509436A (ja) * 2003-10-23 2007-04-12 マイクロソフト コーポレーション ベクトルグラフィックスのためのマークアップ言語およびオブジェクトモデル

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009282855A (ja) * 2008-05-23 2009-12-03 Ricoh Co Ltd 画像形成装置、グラデーション図形画像描画方法、グラデーション図形画像描画プログラム、及び記録媒体
CN115401536A (zh) * 2022-08-30 2022-11-29 深圳数马电子技术有限公司 铰刀磨削方法、装置、数控机、计算机设备和存储介质
CN115401536B (zh) * 2022-08-30 2024-04-12 深圳数马电子技术有限公司 铰刀磨削方法、装置、数控机、计算机设备和存储介质

Also Published As

Publication number Publication date
EP2110787B1 (en) 2011-11-16
JP4513888B2 (ja) 2010-07-28
CN101551912B (zh) 2012-05-09
US8259352B2 (en) 2012-09-04
US20090244630A1 (en) 2009-10-01
CN101551912A (zh) 2009-10-07
EP2110787A1 (en) 2009-10-21

Similar Documents

Publication Publication Date Title
JP4513888B2 (ja) 画像生成装置および印刷装置
JP4518172B2 (ja) 画像生成装置および印刷装置
JP4572947B2 (ja) 画像生成装置および印刷装置
JP4513887B2 (ja) 画像生成装置および印刷装置
JP4561858B2 (ja) 画像生成装置および印刷装置
JP4600648B2 (ja) 描画命令処理装置及び描画命令処理方法、画像描画装置及び画像描画方法、描画命令生成装置及び描画命令生成方法
JP6330790B2 (ja) 印刷制御システム、印刷制御装置およびプログラム
JP2008022048A (ja) 画像処理設定装置、画像処理装置、画像形成システム、画像処理設定方法、画像処理方法及び画像形成方法
JP5112223B2 (ja) 画像処理装置及び画像処理プログラム
JP5101372B2 (ja) プリントシステム、印刷方法及び印刷データ出力方法
JP5151564B2 (ja) プリンタ制御方法および装置ならびにプリンタ制御プログラム
JP2007324864A (ja) 画像処理装置、画像処理装置の制御方法及びプログラム
JP2009141529A (ja) 画像処理装置、画像処理方法及びプログラム
JP2013081016A (ja) 画像処理装置、画像処理方法、画像処理プログラムおよび印刷システム
JP2006109269A (ja) 画像処理装置、画像処理方法、画像処理プログラム、印刷制御装置、印刷制御方法および印刷制御プログラム
JP2011234001A (ja) 画像処理装置、及び画像処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100412

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100420

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100503

R150 Certificate of patent or registration of utility model

Ref document number: 4513888

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140521

Year of fee payment: 4