JP2014010572A - ベクター画像描画装置及びベクター画像描画方法 - Google Patents

ベクター画像描画装置及びベクター画像描画方法 Download PDF

Info

Publication number
JP2014010572A
JP2014010572A JP2012146060A JP2012146060A JP2014010572A JP 2014010572 A JP2014010572 A JP 2014010572A JP 2012146060 A JP2012146060 A JP 2012146060A JP 2012146060 A JP2012146060 A JP 2012146060A JP 2014010572 A JP2014010572 A JP 2014010572A
Authority
JP
Japan
Prior art keywords
graphic information
matrix
command
line width
unit
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.)
Pending
Application number
JP2012146060A
Other languages
English (en)
Inventor
Takashi Nakagawa
隆 中川
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.)
STRAUSS TECHNOLOGY CO Ltd
Original Assignee
STRAUSS TECHNOLOGY CO 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 STRAUSS TECHNOLOGY CO Ltd filed Critical STRAUSS TECHNOLOGY CO Ltd
Priority to JP2012146060A priority Critical patent/JP2014010572A/ja
Publication of JP2014010572A publication Critical patent/JP2014010572A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

【課題】容易かつ柔軟なベクター描画を可能とする
【解決手段】線幅を含むパスコマンドに基づいて描画用図形情報を生成するベジェ曲線部2及びストローク部3と、マトリックスコマンドに基づいて図形情報又は描画用図形情報にマトリックス変換を実行するマトリックス部と、ベクターコマンドに含まれる制御コマンドに基づいてベジェ曲線部2及びストローク部3とマトリックス部とを制御する制御部8と、を含み、拡大縮小処理を線幅に影響させる場合、制御部8は、ベジェ曲線部2及びストローク部3が描画情報に基づいて生成した描画情報に対して、マトリックス部がマトリックス変換を実行するように制御し、拡大縮小処理を線幅に影響させない場合、制御部8は、マトリックス部がマトリックス変換を実行した図形情報に対して、ベジェ曲線部2及びストローク部3が描画用図形情報を生成するように制御することを特徴とする、ベクター画像描画装置。
【選択図】図1

Description

本発明は、容易かつ柔軟なベクター描画を可能とするベクター画像描画装置及びベクター画像描画方法に関する。
LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)等の表示装置に表示する画像データには、画素の2次元配列であるビットマップ画像のデータと、直線(以下では、「線分」と同義とする)や曲線の始終点座標や制御情報に基づくベクター画像のデータがある。
画像のデータは、画像を「ドット」と呼ばれる画素1個分に相当する点の集合に分解して展開して生成したものである。ビットマップ画像のデータとは、画像をドットの2次元配列(以下では、「マトリックス」と呼ぶ)で表現したものであるといえる。
ビットマップ画像のデータには、画素ごとの色と輝度、及び縦横のサイズが固定の情報として保持されている。このため、ビットマップ画像をデータに基づいてそのまま表示する場合、画素の座標等を演算することは不要である。しかしながら、ビットマップ画像では、図形のデータに、拡大や縮小する変換を施したり、正方形を平行四辺形に変形するアフィン変換、さらに正方形を任意の凸四辺形に変形するパースペクティブ変換等を施したりすると、画像の品質を維持することが困難になることがあった。さらに、ビットマップ画像のデータには、画像のデータ量が大きいといった欠点もある。
これに対してベクター画像は、基本的に図形を点で連結された線で表す。ベクター画像を構成するデータには、例えば、線の始点と終点、曲線を定める関数の次数と点の組み合わせ、円弧等を特定するデータ等がある。
図形を点で連結された線で表し、最後の線の終点が最初の線の始点と重なった、円や四角形を含む多角形等の閉じた図形の内部の領域を面と呼ぶ。点の座標と、線の属性、線で囲まれた面の属性を記録するのがベクター画像の基本である。線の属性とは、線の太さ、色、破線、実線等を含む。面の属性とは、色やパターン等を含む。すなわち、ベクター画像とは、点、線、面のそれぞれのさまざまな性質、つまり、線の始終点の位置、曲線であればその曲がり方、太さ、色、それら線に囲まれた面の色、それらの変化のしかたなどを数値で表すことにより、画像データをコンピュータで処理可能なデータとしたものである。
したがって、画像を単にドットの集合で表現するビットマップ画像と比べ、ベクター画像のデータは、ドットのマトリックスを表示の解像度に合わせて容易かつ柔軟に展開できる。さらに、ベクター画像は、図形のデータに、拡大又は縮小(以後、単に「拡大縮小」と呼ぶ)処理をしたり、アフィン変換、パースペクティブ変換、その他の変形を施したりしても同一の解像度で表示することができる。このため、ベクター画像は、図形のイメージが基本的に劣化しないという特性を持つ。また一般に、ベクター画像には、ビットマップ画像よりもデータ量が少ないという利点がある。このため、ベクター画像は広く利用されるようになってきている。
ベクター画像の描画装置については特許文献1等に開示されている。ベクター画像の画像処理用の標準API(Application Programming Interface)コマンドとしてクロノス(Khronos)グループが標準化しているOpenVG(商標)(Open Vector Graphics)やW3C(World Wide Web Consortium)が提案するSVG(Scalable Vector Graphics)等が一般に広く使用されていて、その仕様はWebにおいて公開されている。
これらOpenVG(商標)やSVGでは描画する画像をビットマップ画像ではなく、ベクター画像として、直線や曲線の集合の図形として表現している。なお、曲線は「ベジェ曲線」と呼ばれる、短い直線の集合として描画される(例えば、特許文献2を参照)。このため、これら直線の頂点情報がAPIコマンドの主要要素となっている。
これら直線の頂点情報に加え、輪郭線を表すストロークの有無、フィル(以下では、「塗りつぶし」と呼ぶ)の方法、直線の終端を形成するキャップや直線と直線の接合部を形成するジョインの形式の指定、拡大や縮小等のマトリックス変換を行うためのマトリックスコマンド等の制御コマンドがAPIコマンドにはある。ジョインの形成については、例えば、特許文献3に開示されている。
ベクター画像のデータの中で、連続する直線とベジェ曲線によって表される2次元の図形情報を指定するコマンドをパスコマンドと呼ぶ。ベクター画像では、このパスコマンドで表された2次元情報を、特にマトリックスコマンド等の制御コマンドによって、容易かつ柔軟に拡大、縮小したり、アフィン変換等を実行したりすることができる。さらにベクター画像では、その結果得られる画像も、ビットマップ画像のデータを直接変換する場合と比べて高い品質で描画できるため、ベクター画像は多彩な変形を行う場合に好適な描画方式であると言える。
特開2009−9428号公報 特開平2−71384号公報 特開2000−99750号公報
図7に、ベクター画像の図形を拡大縮小する場合、線幅に拡大率を影響させた場合と影響させない場合の画像の表示例を示す。図7(a)は、文字Aの図形を、拡大率をストローク線幅に影響させて拡大した場合の表示例であり、図7(b)は、文字Aの図形を、拡大率をストローク線幅に影響させずに拡大した場合の表示例である。
ベクター画像において、マトリックスコマンドによって図形に対し拡大や縮小を施し描画する場合、図7(a)の「A」に示すように、図形に含まれるストロークの線幅にも、拡大縮小の影響が通常は及ぶ。しかし、図7(b)の「A」に示すように、図形に対する拡大縮小とは無関係に線幅は一定に保っておいた方がよい場合がある。また反対に、図7(a)の「A」に示すように、図形に対する拡大縮小の倍率に応じてストローク線幅も変化させた方が都合がよい場合もある。
より具体的な例として、図8に、地図等の道路の表示例を示す。
図8(a)は、2本の線で表した道路を示し、図8(b)は、1本の線で表した道路を示す。
図8(a)に示すように、例えば、地図等で道路を2本の線で表した場合、拡大縮小コマンドに応じて線幅を変えてしまうと、2本の道路の間を隔てるスペースが少なくなり、2本の道路が判別しにくくなる可能性がある。このような場合には、拡大縮小コマンドに伴って線幅を変えることは控えたほうが賢明である。一方で、図8(b)に示すように、道路を1本の線で表した場合には、拡大縮小コマンドに応じて線幅を変えても、道路が判別しにくくなることはない。却って、拡大縮小コマンドに応じて線幅を変えると道路が見やすくなるなどのメリットが生じるので、このような場合には、拡大縮小に伴って線幅を変える方がよいと考えられる。
文字のフォントや、地図以外の一般の図形の描画の場合でも同様で、拡大縮小コマンドに応じて線幅が変わる方がよい場合もあり、変わらない方がよい場合もある。しかし従来のベクター画像描画装置においては、線幅にマトリックスコマンドの拡大縮小コマンドを影響させるかどうかは固定的に決まり、柔軟に切り替える事は容易ではなかった。
例えばマトリックスコマンドの拡大縮小コマンドが線幅に影響するように構成されているベクター画像描画装置では、線幅を変えたくない場合、拡大縮小が行われた線の線幅に対して、再び拡大縮小率の逆数を掛けて、線幅を再設定する必要があった。また例えばマトリックスコマンドの拡大縮小コマンドが線幅に影響しないように構成されているベクター画像描画装置では、線幅を拡大縮小コマンドに応じて変えたい場合、拡大縮小率を該当する線の線幅に掛けて、線幅を設定する必要があった。
本発明は上述の課題を考慮してなされたものであり、より容易かつ柔軟なベクター描画を可能とするベクター画像描画装置及びベクター画像描画方法を提供することを目的とする。
前述の課題を解決するため、本発明によるベクター画像描画装置及びベクター画像描画方法は、次のような特徴的な構成を採用している。
(1)本発明の第1の態様によると、ベクターコマンドに含まれる線幅を含む図形情報に基づいて描画用図形情報を生成する描画用図形情報生成部と、ベクターコマンドに含まれるマトリックスコマンドに基づいて前記図形情報又は描画用図形情報にマトリックス変換を実行するマトリックス部と、前記ベクターコマンドに含まれる制御コマンドに基づいて前記描画用図形情報生成部と前記マトリックス部とを制御する制御部と、を含み、前記マトリックス変換で実行され得る拡大縮小の処理を前記描画用図形情報の線幅に影響させる場合、前記制御部は、前記描画用図形情報生成部が前記図形情報に基づいて生成した前記描画用図形情報に対して、前記マトリックス部がマトリックス変換を実行するように制御し、前記マトリックス変換で実行され得る拡大縮小の処理を前記描画用図形情報の線幅に影響させない場合、前記制御部は、前記マトリックス部がマトリックス変換を実行した前記図形情報に対して、前記描画用図形情報生成部が前記描画用図形情報を生成するように制御することを特徴とする、ベクター画像描画装置が提供される。
この構成によると、マトリックス変換で実行され得る拡大縮小の処理を描画用図形情報の線幅に影響させる場合、制御部は、描画用図形情報生成部が図形情報に基づいて生成した描画用図形情報に対して、マトリックス部がマトリックス変換を実行するように制御し、マトリックス変換で実行され得る拡大縮小の処理を描画用図形情報の線幅に影響させない場合、制御部は、マトリックス部がマトリックス変換を実行した図形情報に対して、描画用図形情報生成部が描画用図形情報を生成するように制御する。したがって、マトリックス変換により実行される拡大縮小の処理を線幅に影響させるか否かを容易かつ柔軟に変更できるため、より容易かつ柔軟なベクター描画が可能となる。
また、上述のベクター画像描画装置において、前記制御部は、前記マトリックス変換で実行され得る拡大縮小の処理を前記描画用図形情報の線幅に影響させるか否かを、前記ベクターコマンドに含まれる制御情報に基づいて決定するようにしてもよい。この構成によると、ベクター画像描画装置は、マトリックス変換で実行され得る拡大縮小の処理を描画用図形情報の線幅に影響させるか否かをベクターコマンドに含まれる制御情報に基づいて決定できるので、ベクター描画が一層容易に可能となる。
また、上述のベクター画像描画装置において、前記制御部は、前記マトリックス変換で実行され得る拡大縮小の処理を前記描画用図形情報の線幅に影響させるか否かを、ユーザからの指示に基づいて決定するようにしてもよい。この構成によると、ベクター画像描画装置は、マトリックス変換で実行され得る拡大縮小の処理を描画用図形情報の線幅に影響させるか否かを、直接ユーザからの指示に基づいて随時、決定できるので、一層柔軟なベクター描画が可能となる。
また、上述のベクター画像描画装置において、前記マトリックス部が実行する前記マトリックス変換は、アフィン変換、パースペクティブ変換を含むことができる。また、前記描画用図形情報生成部は、ベジェ曲線部とストローク部を含むことができる。
(2)本発明の第2の態様によると、ベクターコマンドに含まれる線幅を含む図形情報に基づいて描画用図形情報を生成する描画用図形情報生成ステップと、ベクターコマンドに含まれるマトリックスコマンドに基づいて前記図形情報又は描画用図形情報にマトリックス変換を実行するマトリックス変換ステップと、前記ベクターコマンドに含まれる制御コマンドに基づいて前記描画用図形情報生成ステップと前記マトリックス変換ステップとの実行順序を切り替えるステップと、を含み、前記マトリックス変換で実行され得る拡大縮小の処理を前記描画用図形情報の線幅に影響させる場合、前記切り替えステップは、前記描画用図形情報生成ステップにおいて前記図形情報に基づいて生成した前記描画用図形情報に対して、前記マトリックス変換ステップがマトリックス変換を実行するように切り替え、前記マトリックス変換で実行され得る拡大縮小の処理を前記描画用図形情報の線幅に影響させない場合、前記切り替えステップは、前記マトリックス変換ステップにおいてマトリックス変換が実行された前記図形情報に対して、前記描画用図形情報生成ステップが前記描画用図形情報を生成するように切り替えることを特徴とする、ベクター画像描画方法が提供される。
この構成によると、マトリックス変換で実行され得る拡大縮小の処理を描画用図形情報の線幅に影響させる場合、切り替えステップは、描画用図形情報生成ステップにおいて図形情報に基づいて生成した描画用図形情報に対して、マトリックス変換ステップがマトリックス変換を実行するように切り替え、マトリックス変換で実行され得る拡大縮小の処理を描画用図形情報の線幅に影響させない場合、切り替えステップは、マトリックス変換ステップにおいてマトリックス変換が実行された図形情報に対して、描画用図形情報生成ステップが描画用図形情報を生成するように切り替える。したがって、マトリックス変換により実行される拡大縮小の処理を線幅に影響させるか否かを容易かつ柔軟に変更できるため、より容易かつ柔軟なベクター描画が可能となる。
本発明によるベクター画像描画装置及びベクター画像描画方法によれば、マトリックス変換により実行される拡大縮小の処理を線幅に影響させるか否かを容易かつ柔軟に変更できるため、より容易かつ柔軟なベクター描画が可能となる。
本発明の一実施形態に係るベクター画像描画装置の概略構成を示すブロック図である。 図1のベクター画像描画装置において、拡大縮小率を線幅に影響させる処理例を説明する図である。 図1のベクター画像描画装置において、ストローク部が行うストローク処理を説明する図である。 図1のベクター画像描画装置において、拡大縮小率を線幅に影響させる処理例を行った場合の例を示す図である。 図1のベクター画像描画装置において、拡大縮小率を線幅に影響させない処理例を説明する図である。 図1のベクター画像描画装置において、拡大縮小率を線幅に影響させない処理例を行った場合の例を示す図である。 ベクター画像の図形を拡大縮小する場合において、線幅に拡大率を影響させた場合と影響させない場合の表示例を示す図である。 地図等の道路の表示例を示す図である。
以下、本発明によるベクター画像描画装置の好適な実施形態について添付の図面を参照して説明する。なお、本発明によるベクター画像描画装置は、コンピュータにより実行可能なベクター画像描画プログラムとして実施するようにしてもよいし、あるいは、ベクター画像描画プログラムをコンピュータにより読み取り可能な記録媒体に記録するようにして実施してもよいことはいうまでもない。
以下、本発明によるベクター画像描画装置を図面を参照して説明する。
<ベクター画像描画装置の構成例>
図1は、本発明の一実施形態に係るベクター画像描画装置の概略構成を示すブロック図である。
図1に示すベクター画像描画装置10は、コマンドデコーダ部1と、ベジェ曲線部2と、ストローク部3と、マトリックス部4と、スイッチング部5A、5B、5Cと、ラスタライズ部6と、メモリインタフェース部7と、制御部8と、を含む。
コマンドデコーダ部1は、本ベクター画像描画装置10に対して与えられる信号を受信し、パスコマンドとマトリックスコマンドを含むベクターコマンドにデコードする。
ベジェ曲線部2は、デコードされたベクターコマンドのうちパスコマンドに曲線を表すコマンドがあれば、これを短い直線群の情報に展開する。パスコマンドは図形情報を構成する。
ストローク部3は、パスコマンドに含まれる線幅情報に基づき直線に幅を持たせる、直線の曲がり角にジョインを発生させる、直線の始点及び終点にキャップを発生させる、という一連の処理(以下、「ストローク処理」と呼ぶ)を行って図形情報を生成する。ベジェ曲線部2とストローク部3が生成する図形情報は、描画用図形情報を構成する。ベジェ曲線部2とストローク部3は、描画用図形情報生成部9を構成する。また、ベジェ曲線部2とストローク部3が実行する処理は、描画用図形情報生成ステップを構成する。
マトリックス部4は、マトリックスコマンドに基づきパスコマンドに含まれる直線群の情報から頂点位置を演算し変更する。マトリックス部4が実行する処理は、マトリックス変換ステップを構成する。
スイッチング部5A、5B、5Cは、後述する制御部8による制御の下、コマンドデコーダ部1によってデコードされたコマンドに基づいて、マトリックス部4をストローク部3とラスタライズ部6との間に接続する第1の接続状態と、マトリックス部4をコマンドデコーダ部1とベジェ曲線部2の間に接続する第2の接続状態と、に切り替える。スイッチング部5A、5B、5Cが実行する第1の接続状態と第2の接続状態の切り替えは、切り替えステップを構成する。図1では、制御部8を介した制御信号の流れを実線で示し、第1接続状態におけるベクターコマンドの処理の流れを太い実線で、第2接続状態におけるベクターコマンドの処理の流れを太い点線で示している。
ラスタライズ部6は、パスコマンドに含まれる直線が、ビットマップの各行により形成されるスキャンラインと交わる交点の座標情報であるエッジ位置情報に基づいて決定される、微小な直線からなるエッジの間を指定色で塗りつぶすラスタライズ処理を行う。より具体的には、ベジェ曲線部2とストローク部3が生成する描画用図形情報に基づいてラスタライズ処理を実行する。
メモリインタフェース部7は、ラスタライズ部6によるラスタライズ処理によって生成された塗りつぶされた描画用図形情報を外部のメモリへ出力する。
制御部8は、コマンドデコーダ部1と、ベジェ曲線部2と、ストローク部3と、マトリックス部4と、スイッチング部5A、5B、5Cと、ラスタライズ部6と、メモリインタフェース部7と、を制御する。また、コマンドデコーダ部1によってデコードされた制御コマンドに基づいて、マトリックス部4をストローク部3とラスタライズ部6との間に接続する第1の接続状態と、マトリックス部4をコマンドデコーダ部1とベジェ曲線部2の間に接続する第2の接続状態と、に切り替える。
以上のように構成されたベクター画像描画装置10において、入力されたベクターコマンドに応じて実行される描画処理について以下説明する。なお、以下の一連の処理は、制御部8による制御に基づいて実行される。
制御部8は、コマンドデコーダ部1によりデコードされたベクターコマンドに含まれる制御コマンドに応じて、拡大縮小率を線幅に影響させる処理と、拡大縮小率を線幅に影響ない処理を選択的に行う。
まず、制御部8が、コマンドデコーダ部1によりデコードされたベクターコマンドに従って、拡大縮小率を線幅に影響させる処理を実行する場合について説明する。
<拡大縮小率を線幅に影響させる処理例>
図2は、ベクター画像描画装置10が、拡大縮小率を線幅に影響させる処理例を説明するための図である。制御部8は、例えば、コマンドデコーダ部1によりデコードされたベクターコマンドによりマトリックスコマンドの拡大縮小率をストロークの線幅にも影響させるようにとの指示を受けると、制御部8は、スイッチング部5A、5B、5Cを制御して、図2に示すように、マトリックス部4をストローク部3とラスタライズ部6との間に接続する第1の接続状態とする。
コマンドデコーダ部1でデコードされたベクターコマンドは、制御部8の制御の下、コマンドデコーダ部1、ベジェ曲線部2、ストローク部3、マトリックス部4、ラスタライズ部6、メモリインタフェース部7、と接続された順序に従って順次処理されていく。図2では、制御部8を介した制御の流れを実線で示し、ベクターコマンドの処理の流れを太い実線で示している。
先ずコマンドデコーダ部1は、受信した信号に含まれるベクターコマンドのうち、パスコマンドをデコードして直線や曲線の頂点座標や次に述べる制御座標情報に変換し、ベジェ曲線部2に供給する。パスコマンドが表す情報が「パス情報」であり、図形情報に相当する。
一般にパスには直線と曲線があり、曲線の場合は、位置を決める点であるアンカーポイントと、曲がりを制御するコントロールポイントと、が制御座標情報としてベジェ曲線部2に供給される。
ベジェ曲線部2は、コマンドデコーダ部1から供給された曲線の制御座標情報を複数の微小直線に置き換える処理を行う。その置き換え処理の方法については特許文献2等で説明されているのでここでは詳細の説明は省略する。
ベジェ曲線部2は直線に対しては何も処理を施さない。このため、パスは全て直線のみの集合となって、その座標情報(以下、「パス情報」と呼ぶ)がベジェ曲線部2からストローク部3へ供給される。
ここで、図3を参照して、ストローク部3が行うストローク処理について説明する。図3(a)は、このままで輪郭線の内部を塗りつぶすことが可能な閉じた図形の例である。このような図形のパス情報がベジェ曲線部2から供給され、かつ線幅が0と設定されている場合、ストローク部3は何の処理も施さず、パス情報はそのまま次段のマトリックス部4へ供給される。これは、ストローク処理が不要な例である。
一方、図3(b)は、閉じた図形ではなく、単線のパスからなる図形の例である。図形に線幅が与えられなければラスタライズ部6にてエッジ間の塗りつぶし処理ができない。ストローク部3は、図3(b)に示すような単線のパスによる図形の情報を、図3(a)に示すようなエッジ間の塗りつぶしが可能な閉じた図形の情報に変換する。これが、線幅を与えるストローク処理である。
ストローク処理には線幅を与える処理以外に、直線の曲がり角にジョイン生成と呼ぶ処理を施したり、直線の始点、終点にキャップ生成と呼ぶ処理を施したりすることが含まれる。
ジョイン、キャップについてはKhronosグループが標準化しているOpenVG(商標)の仕様書が公開されており、ここで詳しく説明されている。またジョイン処理は特許文献3等でも説明されている。キャップ処理は、2直線が180度の角度をなす場合のジョイン処理と等価と考えられる。よって、ここではジョイン、キャップ処理の詳細の説明は省略する。
なお、図3(a)に示された閉じた図形に対してストローク処理を行うことも可能である。図3(c)はその処理の結果の一例であり、図3(a)に示すAという文字に線幅を付けた図形の例である。ストローク部3は、0でない線幅が指定された場合、このようなストローク処理を行った後、その結果のパス情報をマトリックス部4へ供給する。
マトリックス部4は、マトリックスコマンドによって設定される拡大縮小やアフィン変換、パースペクティブ変換等(本明細書では、「マトリックス処理」と総称する)を、ストローク部3から供給されたパス情報に対して施す。マトリックス処理は、パスを構成する直線の頂点位置に対して行列演算して、変換後の頂点位置を求めることで実現される。
ストローク処理はマトリックス処理に先立って行われているので線幅についてもマトリックス処理が行われることになる。このため、マトリックス処理が拡大縮小である場合には、線幅も拡大縮小される。そしてマトリックス処理で得られた結果のパス情報が、描画用図形情報として次段のラスタライズ部6へ供給される。
ラスタライズ部6は、マトリックス部4によって生成されたパス情報、すなわち、描画用図形情報に基づいて、パスを構成する各直線がスキャンラインと交わる交点を求める。隣接する交点同士を結んだ微小線分をエッジと呼ぶ。ラスタライズ部6は、エッジで囲まれる面内部の画素を、コマンド設定による指定色で塗りつぶす。
図4に、図4(a)に示す図形に拡大縮小率を線幅に影響させる処理を行った場合の例を示す。図4(b)に示すように、図形が拡大されただけでなく、線幅も増加していることがわかる。
このラスタライズ処理については特許文献1等に詳細に説明されている。そして最終的に描画されたデータはメモリインタフェース部7を介して、外部のビデオメモリや表示機器に送られ表示されることになる。
次に、制御部8が、コマンドデコーダ部1によりデコードされたベクターコマンドに従って、拡大縮小率を線幅に影響させない処理を実行する場合について説明する。
<拡大縮小率を線幅に影響させない処理例>
図5は、ベクター画像描画装置10が、拡大縮小率を線幅に影響させない処理例を説明するための図である。制御部8は、例えば、コマンドデコーダ部1によりデコードされたベクターコマンドによりマトリックスコマンドの拡大縮小率をストロークの線幅に影響させないようにとの指示を受けると、制御部8は、スイッチング部5A、5B、5Cを制御して、図5に示すように、マトリックス部4をコマンドデコーダ部1とベジェ曲線部2の間に接続する第2の接続状態とする。
コマンドデコーダ部1でデコードされたベクターコマンドは、制御部8の制御の下、コマンドデコーダ部1、マトリックス部4、ベジェ曲線部2、ストローク部3、ラスタライズ部6、メモリインタフェース部7、と接続された順序に従って順次処理されていく。図5では、制御部8を介した制御の流れを実線で示し、ベクターコマンドの処理の流れを太い点線で示している。
先ずコマンドデコーダ部1は、受信したベクターコマンドのうち、パスコマンドをデコードして直線や曲線の頂点座標や制御座標情報(即ち、「パスコマンド」)に変換し、マトリックス部4に供給する。パスには直線と曲線があり、曲線の場合はアンカーポイントとコントロールポイントが制御座標情報としてマトリックス部4に供給される。パスコマンドが表す情報が「パス情報」であり、図形情報に相当する。
マトリックス部4は、コマンドデコーダ部1から供給されたパス情報に対して、マトリックスコマンドによって設定される拡大縮小やアフィン変換、パースペクティブ変換等のマトリックス処理を施す。マトリックス処理は、パスを構成する直線の頂点座標や曲線のアンカーポイントとコントロールポイントで指定される座標に対して行列演算して、変換後の座標を求めることで実現される。そしてマトリックス処理で変換されたパス情報(直線の頂点情報や曲線のアンカーポイントとコントロールポイントの座標)が次段のベジェ曲線部2へ供給される。
ベジェ曲線部2は、曲線については微小直線群に置き換え、直線については何も処理しない。その結果、直線のみの集合となったパス情報が、次のストローク部3へ供給される。
ストローク部3は、上述のように、パスが図3(a)に示すような閉じた図形で、かつ線幅が0と設定されている場合は何の処理も施さず、パス情報を描画用図形情報としてそのまま次段のラスタライズ部6へ供給する。
一方図3(b)に示すパスは閉じた図形ではなく、ストローク処理による線幅付けがなければラスタライズ部6にてエッジ間の塗りつぶし処理ができない。この場合、ストローク部3は、図3(b)に示すような単線のパスによる図形にストローク処理を施し、図3(a)に示すようなエッジ間の塗りつぶしが可能な閉じた図形に変換する。
ストローク処理には線幅を与える処理以外に、直線の曲がり角にジョイン生成と呼ぶ処理を施したり、直線の始点、終点にキャップ生成と呼ぶ処理を施したりすることが含まれる。
ストローク部3に入力されるパス情報は、既にマトリックス部4のマトリックス処理によって拡大縮小済みの頂点座標である。ストローク部3で線幅を付ける処理において、線幅はコマンドで設定された線幅がそのまま使われ、そのストローク処理の結果がそのままラスタライズ部6に供給される。このため、ストローク処理の線幅はマトリックス処理の影響を全く受けないことになる。
以後は前述の線幅可変処理と同様で、ラスタライズ部6は、ストローク部3から供給された描画用図形情報であるパス情報からエッジで囲まれた面を求め、当該面をコマンド設定による指定色で塗りつぶす。そして最終的に描画されたデータはメモリインタフェース部7を介して、外部のビデオメモリや表示機器に供給され表示されることになる。
図6に、図6(a)に示す図形に対して、拡大縮小率を線幅に影響させない処理を行った場合の例を示す。図6(b)に示すように、図形が拡大されただけで、線幅は増加していないことがわかる。
このように本実施形態に係るベクター画像描画装置によると、マトリックス変換により実行される拡大縮小の処理を線幅に影響させるか否かを容易かつ柔軟に変更できるため、より容易かつ柔軟なベクター描画が可能となる。さらに、ベクターコマンドに含まれるコマンドに応じて制御部8が第1の接続状態と第2の接続状態を切り替えるので、ベクター描画が一層容易となる。
また、本実施形態では、ベクターコマンドに含まれるコマンドに応じて制御部8が第1の接続状態と第2の接続状態を切り替えるとしたが、本発明はこれに限定されない。ユーザからの直接的な指示によって、第1の接続状態と第2の接続状態との切り替えを行うようにしてもよく、切り替えのタイミングについても任意のさまざまなケースが適用可能であることはいうまでもない。ユーザからの直接的な指示、例えば、ユーザが、図示されていない操作部を操作することによって第1の接続状態と第2の接続状態の切り替えを行うようにした場合、拡大縮小の処理を線幅に影響させるか否かを、直接ユーザからの指示に基づいて随時、決定できるので、柔軟なベクター描画が可能となる。
本発明によるベクター画像描画装置10は、上記のベクター画像を描画する機能を実現する回路を組み込んだLSI(Large Scale Integration)等のハードウェア部品から構成される回路を実装して、電子回路として構成することができる。また、上記の各機能を行うベクター画像描画プログラムを、ディジタル信号処理装置(DSP:Digital Signal Processer)等で実行することにより、ソフトウェアの機能としてベクター画像描画装置10を実現することができる。その場合、DSPのROM等に格納されたベクター画像描画プログラムを実行し、各部の動作を制御して上記の各機能を行わせることによって、ベクター画像描画装置10をソフトウェア的に実現することも可能である。
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパソコンであってもよい。
このようなプログラムを含む記録媒体は、利用者にプログラムを提供するために装置本体とは別に配布されるリムーバブル記憶媒体により構成されるだけでなく、装置本体に予め組み込まれた状態で利用者に提供される記録媒体等で構成することができる。リムーバブル記憶媒体は、例えば、磁気ディスク(フロッピディスクを含む)、光ディスク又は光磁気ディスク等により構成することができる。光ディスクは、例えば、CD−ROM(Compact Disk−Read Only Memory)、DVD(Digital Versatile Disk)等により構成することができる。光磁気ディスクは、MD(Mini−Disk)等により構成することができる。また、装置本体に予め組み込まれた状態で利用者に提供される記録媒体は、例えば、プログラムが記録されているROMや、記憶部等で構成することができる。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
1…コマンドデコーダ部、2…ベジェ曲線部(描画用図形情報生成部)、3…ストローク部(描画用図形情報生成部)、4…マトリックス部、5A、5B、5C…スイッチング部、6…ラスタライズ部、7…メモリインタフェース部、8…制御部、10…ベクター画像描画装置。


Claims (6)

  1. ベクターコマンドに含まれる線幅を含む図形情報に基づいて描画用図形情報を生成する描画用図形情報生成部と、
    ベクターコマンドに含まれるマトリックスコマンドに基づいて前記図形情報又は描画用図形情報にマトリックス変換を実行するマトリックス部と、
    前記ベクターコマンドに含まれる制御コマンドに基づいて前記描画用図形情報生成部と前記マトリックス部とを制御する制御部と、を含み、
    前記マトリックス変換で実行され得る拡大縮小の処理を前記描画用図形情報の線幅に影響させる場合、
    前記制御部は、前記描画用図形情報生成部が前記図形情報に基づいて生成した前記描画用図形情報に対して、前記マトリックス部がマトリックス変換を実行するように制御し、
    前記マトリックス変換で実行され得る拡大縮小の処理を前記描画用図形情報の線幅に影響させない場合、
    前記制御部は、前記マトリックス部がマトリックス変換を実行した前記図形情報に対して、前記描画用図形情報生成部が前記描画用図形情報を生成するように制御することを特徴とする、ベクター画像描画装置。
  2. 前記制御部は、前記マトリックス変換で実行され得る拡大縮小の処理を前記描画用図形情報の線幅に影響させるか否かを、前記ベクターコマンドに含まれる制御情報に基づいて決定する、請求項1記載のベクター画像装置。
  3. 前記制御部は、前記マトリックス変換で実行され得る拡大縮小の処理を前記描画用図形情報の線幅に影響させるか否かを、ユーザからの指示に基づいて決定する、請求項1記載のベクター画像装置。
  4. 前記マトリックス部が実行する前記マトリックス変換は、アフィン変換、パースペクティブ変換を含む、請求項1記載のベクター画像装置。
  5. 前記描画用図形情報生成部は、ベジェ曲線部とストローク部を含む、請求項1記載のベクター画像装置。
  6. ベクターコマンドに含まれる線幅を含む図形情報に基づいて描画用図形情報を生成する描画用図形情報生成ステップと、
    ベクターコマンドに含まれるマトリックスコマンドに基づいて前記図形情報又は描画用図形情報にマトリックス変換を実行するマトリックス変換ステップと、
    前記ベクターコマンドに含まれる制御コマンドに基づいて前記描画用図形情報生成ステップと前記マトリックス変換ステップとの実行順序を切り替える切り替えステップと、を含み、
    前記マトリックス変換で実行され得る拡大縮小の処理を前記描画用図形情報の線幅に影響させる場合、
    前記切り替えステップは、前記描画用図形情報生成ステップにおいて前記図形情報に基づいて生成した前記描画用図形情報に対して、前記マトリックス変換ステップがマトリックス変換を実行するように切り替え、
    前記マトリックス変換で実行され得る拡大縮小の処理を前記描画用図形情報の線幅に影響させない場合、
    前記切り替えステップは、前記マトリックス変換ステップにおいてマトリックス変換が実行された前記図形情報に対して、前記描画用図形情報生成ステップが前記描画用図形情報を生成するように切り替えることを特徴とする、ベクター画像描画方法。
JP2012146060A 2012-06-28 2012-06-28 ベクター画像描画装置及びベクター画像描画方法 Pending JP2014010572A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012146060A JP2014010572A (ja) 2012-06-28 2012-06-28 ベクター画像描画装置及びベクター画像描画方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012146060A JP2014010572A (ja) 2012-06-28 2012-06-28 ベクター画像描画装置及びベクター画像描画方法

Publications (1)

Publication Number Publication Date
JP2014010572A true JP2014010572A (ja) 2014-01-20

Family

ID=50107258

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012146060A Pending JP2014010572A (ja) 2012-06-28 2012-06-28 ベクター画像描画装置及びベクター画像描画方法

Country Status (1)

Country Link
JP (1) JP2014010572A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109341989A (zh) * 2018-09-03 2019-02-15 大连理工大学 一种能够剔除车辆动力效应的桥梁影响线识别方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62229375A (ja) * 1986-02-26 1987-10-08 Hideo Goto ワ−クステ−シヨン用グラフイツク・アクセラレ−タ・パイプライン構造
JPH0271384A (ja) * 1988-09-07 1990-03-09 Fujitsu Ltd 3次ベジェ曲線の折線近似装置
JPH03240097A (ja) * 1990-02-19 1991-10-25 Hitachi Ltd 文字発生装置
JPH04373082A (ja) * 1991-06-24 1992-12-25 Hitachi Ltd 文字発生装置
JP2000099750A (ja) * 1998-09-25 2000-04-07 Fuji Xerox Co Ltd 画像処理装置及び画像処理方法
JP2000259824A (ja) * 1999-03-05 2000-09-22 Canon Inc 画像処理方法及び装置及び記憶媒体
JP2004127111A (ja) * 2002-10-04 2004-04-22 Internatl Business Mach Corp <Ibm> アウトラインフォントの印字線幅を設定する技術
JP2009009428A (ja) * 2007-06-28 2009-01-15 Nec System Technologies Ltd ベクター画像描画回路およびベクター画像描画方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62229375A (ja) * 1986-02-26 1987-10-08 Hideo Goto ワ−クステ−シヨン用グラフイツク・アクセラレ−タ・パイプライン構造
JPH0271384A (ja) * 1988-09-07 1990-03-09 Fujitsu Ltd 3次ベジェ曲線の折線近似装置
JPH03240097A (ja) * 1990-02-19 1991-10-25 Hitachi Ltd 文字発生装置
JPH04373082A (ja) * 1991-06-24 1992-12-25 Hitachi Ltd 文字発生装置
JP2000099750A (ja) * 1998-09-25 2000-04-07 Fuji Xerox Co Ltd 画像処理装置及び画像処理方法
JP2000259824A (ja) * 1999-03-05 2000-09-22 Canon Inc 画像処理方法及び装置及び記憶媒体
JP2004127111A (ja) * 2002-10-04 2004-04-22 Internatl Business Mach Corp <Ibm> アウトラインフォントの印字線幅を設定する技術
JP2009009428A (ja) * 2007-06-28 2009-01-15 Nec System Technologies Ltd ベクター画像描画回路およびベクター画像描画方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6015045846; '"設計の補助ツールとして使う高機能ドローソフトの実力を探る"' パドマガ 第5号, 19960215, p.81-84, 株式会社建築知識 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109341989A (zh) * 2018-09-03 2019-02-15 大连理工大学 一种能够剔除车辆动力效应的桥梁影响线识别方法

Similar Documents

Publication Publication Date Title
JP4157569B2 (ja) 描画装置、描画方法及び描画プログラム
JP4693660B2 (ja) 描画装置、描画方法及び描画プログラム
US5325479A (en) Method and apparatus for moving control points in displaying digital typeface on raster output devices
US5159668A (en) Method and apparatus for manipulating outlines in improving digital typeface on raster output devices
JP5067501B2 (ja) 多色ベクトル画像処理装置および方法
JP4370438B2 (ja) ベクター画像描画装置、ベクター画像描画方法およびプログラム
JP5172640B2 (ja) ベクトル図形描画装置
US20150325022A1 (en) Technique for processing a character string for graphical representation on a man/machine interface
JP2014010572A (ja) ベクター画像描画装置及びベクター画像描画方法
JP2012108825A (ja) 情報処理装置、情報処理方法およびプログラム
CN110648386A (zh) 一种用于图元的反走样的方法和系统
JP5159949B2 (ja) ベクトル図形描画装置
JP3603593B2 (ja) 画像処理方法および装置
JPH0729021A (ja) 画像出力装置
JP2003162728A (ja) 画像処理装置及び画像出力装置
KR100705188B1 (ko) 문자 폰트 표시 방법
WO2021245875A1 (ja) 画像合成装置及び画像合成方法
JP2018019212A (ja) 情報処理装置及び描画処理方法、コンピュータプログラム
JP6478888B2 (ja) 図形描画装置および図形描画プログラム
WO2011092954A1 (ja) 文字作成方法、文字作成装置、および書体データ
JP3556758B2 (ja) フォント表現方法及びラスタライザ
JP2005077750A (ja) 表示装置装置および文字表示制御方法
JP2007264866A (ja) グラフィックシステム、破線テクスチャ画像生成装置、及び、破線テクスチャ画像生成方法
JPH0896149A (ja) 図形描画装置
JPH11352953A (ja) アウトラインフォントの輪郭線表現方法、ラスタライザ、表示装置、及び記録媒体

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20140918

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140918

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151117

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160315