JP4666480B2 - 線描画装置 - Google Patents

線描画装置 Download PDF

Info

Publication number
JP4666480B2
JP4666480B2 JP2005187193A JP2005187193A JP4666480B2 JP 4666480 B2 JP4666480 B2 JP 4666480B2 JP 2005187193 A JP2005187193 A JP 2005187193A JP 2005187193 A JP2005187193 A JP 2005187193A JP 4666480 B2 JP4666480 B2 JP 4666480B2
Authority
JP
Japan
Prior art keywords
line
start point
axis
drawn
width
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.)
Expired - Fee Related
Application number
JP2005187193A
Other languages
English (en)
Other versions
JP2007004725A (ja
Inventor
幸雅 島
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2005187193A priority Critical patent/JP4666480B2/ja
Publication of JP2007004725A publication Critical patent/JP2007004725A/ja
Application granted granted Critical
Publication of JP4666480B2 publication Critical patent/JP4666480B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は,描画コマンドを処理して線を描画する線描画装置に関し,特に,両線端が直角形状になる線を高速処理により描画することができる線描画装置に関する。
携帯電話やカーナビゲーション装置などにおいて,電子化された図形や地図データを描画する描画コマンドを処理して画像を描画する描画装置が内蔵される。一般に普及しているオープンGL(OPEN-GL)の描画コマンドは,線の描画コマンドとして始点座標,終点座標(または傾きと線長),線幅,カラー情報,テクスチャ情報,始点終点間変化率(直線か曲線かを示すパラメータ)などのパラメータ情報を有する。そして,かかる描画コマンドに応答して,描画装置は始点座標と終点座標を結ぶ線を線幅に対応するピクセル分描画する。
図1は,従来の描画装置により描画された直線と破線の例を示す図である。図1(A)にはY軸方向に延びる直線10,12と破線14が示され,図1(B)にはX軸方向に延びる直線16,18と破線20が示されている。Y軸方向に延びる線とは,直線や破線とY軸との角度のほうがX軸との角度よりも小さい場合であり,Y軸が主軸,X軸が副軸となる。逆に,X軸方向に延びるとは,X軸との角度のほうがY軸との角度よりも小さい場合であり,X軸が主軸,Y軸が副軸となる。
図1に示されるとおり,オープンGLの描画方式によれば,直線を所定の線幅で描画する場合は,複数の単位幅の直線を副軸方向にずらして繰り返し描画することで処理される。また,破線を所定の線幅で描画する場合は,複数の破線を副軸方向にずらして繰り返し描画することで処理される。例えば,線幅=3と指定された場合は,副軸方向に3ピクセル分繰り返して線が描画される。その結果,図1に示されるとおり,線端の形状が直角にならず平行四辺形になってしまう。なお,破線を描画する場合は,破線用参照レジスタに背景色(14B,20Bの位置)と前景色(14A,20Aの位置)の位置を設定しておき,その参照レジスタを参照しながらレンダリングすることが行われる。
図2は,線端の形状が直角の直線と破線の例を示す図である。図2(A)にはY軸方向に延びる直線30,32と破線34が示され,図2(B)にはX軸方向に延びる直線36,38と破線40が示されている。いずれも線の両端(線端)の形状が線が延びる方向に対して直角になっている。
前述したオープンGLの描画方式によれば,所定の線幅の線を描画する場合,線幅分のピクセルだけずらしながら線描画を繰り返す。したがって,図2のような線端が直角形状になる所定の線幅の線を描画するためには,矩形描画コマンドを利用するしかない。矩形描画コマンドに対して,描画装置は,矩形を2つの三角形のポリゴンに分割し,その2つのポリゴンをレンダリング処理(塗りつぶし処理)する。また,破線34,40の場合は,前景色の部分34A,40Aと背景色の部分34B,40Bとに対応する複数の矩形の描画コマンドにより描画される。かかる矩形のレンダリングについては,例えば特許文献1に記載されている。
特開平10−63867号公報
図2に示される線端が直角形状の直線や破線を描画するためには,矩形の描画コマンドを利用しなければならない。そのため,特に破線を描画するためには,多数の矩形の描画コマンドが必要になり,描画処理の工数が増大し描画時間が長くなるという課題を有する。
そこで,本発明の目的は,線端が直角形状である傾いた線を短い描画時間で描画可能にする描画装置を提供することにある。
上記の目的を達成するために,本発明の第1の側面によれば,始点位置と線幅を有する線描画コマンドを供給され,当該線描画コマンドに対応して線端が直角形状の線を描画する線描画装置において,当該線描画コマンドが描画する線の傾きに応じて隣接する複数の単位幅線の始点位置を求め,当該複数の始点位置に基づいて隣接する複数の単位幅線のビットマップデータを繰り返し生成することを特徴とする。
上記の第1の側面によれば,線端が直角形状の線を描画する描画コマンドに対して,矩形をレンダリングする描画処理ではなく,隣接する複数の単位幅線のビットマップデータを生成する処理を繰り返す描画処理を行うことができる。したがって,特に破線の描画処理を多数の矩形レンダリング処理ではなく複数の単位幅破線描画処理により行うことができ,描画処理時間を短縮することができる。
上記の第1の側面において,前記線の傾きは,当該描画すべき線と主軸との角度であり,前記隣接する複数の単位幅線の始点位置は,線描画コマンドに含まれる基準始点位置から前記角度に応じてずれた位置にあることを特徴とする。このように,オープンGLの線の描画コマンドの描画処理において利用される線の主軸との角度を利用して,隣接する複数の単位幅線の始点位置を生成することで,オープンGLの線描画処理によって所定幅の線を描画することができる。これにより描画処理時間を短縮することができる。
以下,図面にしたがって本発明の実施の形態について説明する。但し,本発明の技術的範囲はこれらの実施の形態に限定されず,特許請求の範囲に記載された事項とその均等物まで及ぶものである。
図3は,本実施の形態における所定の線幅の直線,破線の描画を説明する図である。図3(A)はY軸を主軸とする線幅Wの線14の描画方法を示し,図3(B)はX軸を主軸とする線幅Wの線20の描画方法を示す。図3(A)の線14は,基準始点(x0,y0),線幅W,主軸Yに対して角度dxで傾いている。この角度dxは,主軸Yの単位長さの増加に対する副軸X方向の変位dxを意味する。そして,線14の線端を線方向に対して直角形状にすると線端14Aは,副軸Xに対して角度dyの傾きを有し,この角度dyは角度dxと等しくなる。
本実施の形態では,線幅Wの線を描画するために,基準始点(x0,y0)に対する単位幅の線140と,それに隣接する始点(x1,y1),(x2,y2)〜(xn,yn)に対する単位幅の線141,142〜14nとを繰り返して描画する。つまり,基準始点(x0,y0)に対する線140に対して,始点位置が角度dxに対応してずれている複数の単位幅線141,142〜14nを繰り返し描画することで,線幅Wの線14を描画する。これらの複数の単位幅線は,図1の描画と同様に1ピクセルずつずれている。
そのために,描画装置は,基準始点(x0,y0)と角度dyとに基づき,隣接の単位幅線の始点(x1,y1),(x2,y2)〜(xn,yn)を求め,その求めた始点に対してそれぞれ単位幅線141,142〜14nを繰り返して描画する。この単位幅線の描画回路は,従来のオープンGLのコマンドに対して用いられている行が回路を利用できる。この方法によれば,矩形図形の描画のようなポリゴンへの分解と各ポリゴンのレンダリング処理を伴わないので,簡単に処理することができる。
図3(B)の主軸をX軸とする線20の場合も同様である。つまり,基準始点(x0,y0)と主軸Xに対する角度dyに基づいて,隣接する単位幅線201,202〜20nの始点(x1,y1),(x2,y2)〜(xn,yn)を求め,その求めた始点に対してそれぞれ単位幅線201,202〜20nを繰り返して描画する。
図4は,図3の線描画をピクセル単位で示す図である。図4(A)はY軸を主軸とする線幅Wの破線14の描画方法に対応し,図4(B)はX軸を主軸とする線幅Wの破線20の描画方法に対応する。図4(A)に示すとおり,基準始点(x0,y0)に対して黒ピクセルと白ピクセルとを繰り返す単位幅破線140が描画され,それに隣接して始点(x1,y1)に対して黒ピクセルと白ピクセルとを繰り返す単位幅破線141が描画され,それに隣接して始点(x2,y2)に対して同様の単位幅破線142が描画され,それを繰り返して最後に始点(xn,yn)に対して同様の単位幅破線14nが描画される。
同様に,図4(B)に示すとおり,基準始点(x0,y0)に対して黒ピクセルと白ピクセルとを繰り返す単位幅破線200が描画され,それに隣接して始点(x1,y1)に対して黒ピクセルと白ピクセルとを繰り返す単位幅破線201が描画され,それを繰り返して最後に始点(xn,yn)に対して同様の単位幅破線20nが描画される。
単位幅破線の描画時には,破線の模様を特定するために背景色か前景色かを示す破線参照レジスタが参照される。つまり,単位幅破線の描画において,始点から傾きdxまたはdyの位置に次々とビットマップデータを生成することになるが,そのビットマップデータに線の色(前景色)と紙の色(背景色)を指定するのが破線参照レジスタである。この参照レジスタを参照することで,ビットマップデータの色データを生成することになる。
図5は,本実施の形態の線描画における始点位置の生成方法を示す図である。ここでは,線幅W=2の破線14の描画を例にしている。基準始点A0(x0,y0)は,破線14の左端位置にあり主軸であるY軸に対して角度dxで傾いている。前述したとおり,この破線14を描画する場合,基準始点A0(x0,y0)に対する単位幅破線140とそれに隣接して始点A5(x1,y1)に対する単位幅破線141とを描画する。この場合において,隣接する単位幅破線141の始点A5の位置の求め方を説明する。
破線141の線端14Aは,副軸Xに対して角度dxで交わる。そして,図5に示されるとおり,Y=1,X=0を頂点とする三角形A0A1A2と,X=1,Y=0を頂点とする三角形A0A3A4とは合同の関係にある。したがって,辺A3A4の長さはdxになる。一方,X=1,Y=0の点A3を通過する隣接線141の始点は,点A5(x1,y1)になる。この場合,三角形A0A6A5は,三角形A0A1A2と相似関係にある。以上の関係をもとにすれば,始点A5の座標(x1,y1)を正確に計算することができる。
ただし,本実施の形態の後述する描画回路では,描画計算を簡単にするために,辺A5A6の長さを辺A4A3の長さと同等と見なしている。その結果,A5A6=dx,A6A3=dx*dxとなり,結局始点A5の座標値は,
(x1,y1)=(x0+1−dx*dx,y0−dx)
と角度dxに基づく簡単な計算式で求められる。
このような簡易計算式を利用することで,基準始点(x0,y0)と角度dxに基づいて隣接する単位幅線の各始点位置を全て求めることができる。それら始点位置が求められれば,従来からオープンGLで利用されてきた破線参照レジスタを参照する線描画回路により複数の単位幅破線を描画することができる。つまり,矩形を構成するポリゴンのレンダリング処理(塗りつぶし処理)を経ることなく,線端が直角形状の線,破線を高速に描画することができる。
図6は,描画コマンドの描画対象となる線の基準点の種類を示す図である。図6(A)は主軸をY軸とする線で左側と右側に傾いている例を示し,図6(B)は主軸をX軸とする線で上側と下側に傾いている例を示す。描画コマンドに含まれる開始点である基準点には,図6(A)の主軸をY軸とする線の場合は,その線幅に対して左端位置,中央位置,右端位置に分類される。一方,基準点には,図6(B)の主軸をX軸とする線の場合は,その線幅に対して上端位置,中央位置,下端位置に分類される。
図6(A)に示される主軸をY軸とする場合において,図5に示した破線14の例は,左端基準点の例である。左端基準点の場合は,その基準点を基準始点(x0,y0)としてその右側の隣接する始点を求め,それらを始点とする単位幅線を描画する。同様に,中心基準点の場合は,その基準点を基準始点として両側に隣接する始点を求め,それらを始点とする単位幅線を描画する。また,右端基準点の場合は,その基準点を基準始点として左側の隣接する始点を求め,それらを始点とする単位幅線を描画する。隣接する始点の位置の求め方は,図5に示した通りである。
図6(B)に示される主軸をX軸とする場合において,上端基準点の場合は,その基準点を基準始点(x0,y0)としてその下側の隣接する始点を求め,それらを始点とする単位幅線を描画する。同様に,中心基準点の場合は,その基準点を基準始点としてその上下両側に隣接する始点を求め,それらを始点とする単位幅線を描画する。また,下端基準点の場合は,その基準点を基準始点として上側の隣接する始点を求め,それらを始点とする単位幅線を描画する。以上の通り,描画コマンドに含まれる基準位置が左端,中央,右端,上端,中央,下端のいずれかに応じて,隣接する始点の位置が求められる。
図7は,本実施の形態の描画装置を含む描画システムの全体構成図である。描画システムは,地図や所定の画像の画像データ50に対応して描画コマンドを生成する描画プログラム52と,その描画プログラムからの描画コマンドに基づいて画素毎のビットマップデータを生成する描画装置54とからなる。描画装置54が生成したビットマップデータは内蔵されるフレームバッファに格納され,表示パネル56に表示される。
描画プログラム52は図示しないマイクロプロセッサにより実行され,描画コマンドを生成する。線または破線の描画コマンドは,始点(x0,y0)と主軸との角度dxと線幅Wと線長Lと色情報COLとテクスチャ情報TEXなどのパラメータを含むコマンドである。これらのパラメータに基づき,描画装置54は,線または破線のビットマップデータを生成する。ビットマップデータは,画素座標(x,y)に対応して,深さ情報Z,色情報COL,テクスチャ情報TEXなどを有する。
図8は,本実施の形態における描画装置の構成図である。描画装置はハードウエアで構成されるものであり,基準始点(x0,y0)に対して隣接する始点のずれ量DX,DYを求めるずれ量生成回路60と,そのずれ量DX,DYを基準始点(x0,y0)または一つ前の始点の座標値に加算して隣接する始点座標を求める加算器64と,始点座標を格納する始点バッファ62と,加算器64の加算動作を指令するクロックCLKを線幅Wに対応する回数だけ繰り返し生成するクロック生成器66と,加算器64により生成された始点に対応して,その始点から傾きdx,長さLの単位幅線のビットマップデータを生成する直線描画回路68と,そのビットマップデータを格納するフレームメモリ70とを有する。
ずれ量生成回路60は,図5で示した簡易演算により,基準始点(x0,y0)に対する隣接始点(x1,y1)のX座標値とY座標値のずれ量DX,DYを求める。図5で示した簡易演算によれば,ずれ量DX=1−dx*dx,DY=−dxである。つまりずれ量は主軸との角度dxに依存する量である。このずれ量は,基準始点(x0,y0)が左端基準点,中央基準点,右端基準点,上端基準点,中央基準点,下端基準点に対応して異なるが,演算の考え方は図5で示した通りである。
基準始点(x0,y0)は,最初始点バッファ62に格納される。そして,加算器64が基準始点の座標値(x0,y0)にずれ量DX,DYを加算することで,隣接する始点(x1,y1)=(x0+DX,y0+DY)を求めることができる。この隣接する始点(x1,y1)の座標値は始点バッファ62に格納され,それに隣接する始点(x2,y2)の座標値の生成に利用される。すなわち,隣接始点の座標値は(x2,y2)=(x1+DX,y1+DY)として求められる。線幅Wに対するする回数だけ加算器64が始点座標を求めると,必要な始点座標情報が得られる。そして,直線描画回路68は,供給される始点座標と描画コマンド内のパラメータである角度dxと長さLとに基づいて,単位線幅の線または破線のビットマップデータを生成する。この直線描画回路68は,従来から実現されているオープンGLに対応したものであり,本実施の形態に関するものではない。しかし,本実施の形態では,従来のオープンGLに対応した直線描画回路68をそのまま利用可能にするために,所定の線幅の直線または破線を描画するのに,複数の始点座標を求め,直線描画回路68に供給している。最後に,直線描画回路68により生成された単位線幅のビットマップデータPX(x,y)がフレームメモリ70に格納される。
ずれ量生成回路60は,描画コマンドに含まれるパラメータから主軸がY軸かX軸かを判別することができる。また,描画コマンドに含まれるパラメータの基準始点はそれがいずれの種類のものかを示す属性データを有するので,その属性パラメータに基づいて,ずれ量生成回路60がずれ量DX,DYを生成する。
以上説明したとおり,本実施の形態によれば,線端が直角形状の傾いた所定線幅の線や破線を描画するに際して,矩形を構成するポリゴンのレンダリング処理によらないで描画処理することができ,処理速度を速くすることができる。したがって,携帯電話や携帯用ナビゲーション装置において,地図画像内の直線や破線を高画質で高速に表示することができる。
従来の描画装置により描画された直線と破線の例を示す図である。 線端の形状が直角の直線と破線の例を示す図である。 本実施の形態における所定の線幅の直線,破線の描画を説明する図である。 図3の線描画をピクセル単位で示す図である。 本実施の形態の線描画における始点位置の生成方法を示す図である。 描画コマンドの描画対象となる線の基準点の種類を示す図である。 本実施の形態の描画装置を含む描画システムの全体構成図である。 本実施の形態における描画装置の構成図である。
符号の説明
14:破線 W:線幅 dx:傾き Y:主軸 X:副軸
(x0,y0),(x1,y1),(x2,y2)〜(xn,yn):始点
140,141,142〜14n:単位幅線

Claims (1)

  1. 基準始点位置と線幅を有する線描画コマンドを供給され,
    当該線描画コマンドに対応して描画する線の第1の軸に対する傾きに応じて隣接する複数の単位幅線の始点位置を求め,
    当該複数の始点位置に基づいて隣接する複数の単位幅線のビットマップデータを繰り返し生成して,線端が直角形状の線を描画する線描画装置であって,
    前記第1の軸は, 前記描画する線との角度が第2の軸との角度より小さい軸であり,
    前記傾きは, 第1の軸の単位長さの増加に対する第2の軸方向の変位dxであり,
    前記複数の始点位置は,前記基準始点位置から前記第1の軸方向および前記第2の軸方向に,夫々,式−dxで求められる第1のずれ量および式1−dx*dxで求められる第2のずれ量ずつ,ずれた位置にあることを
    特徴とする線描画装置。
JP2005187193A 2005-06-27 2005-06-27 線描画装置 Expired - Fee Related JP4666480B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005187193A JP4666480B2 (ja) 2005-06-27 2005-06-27 線描画装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005187193A JP4666480B2 (ja) 2005-06-27 2005-06-27 線描画装置

Publications (2)

Publication Number Publication Date
JP2007004725A JP2007004725A (ja) 2007-01-11
JP4666480B2 true JP4666480B2 (ja) 2011-04-06

Family

ID=37690247

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005187193A Expired - Fee Related JP4666480B2 (ja) 2005-06-27 2005-06-27 線描画装置

Country Status (1)

Country Link
JP (1) JP4666480B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63318633A (ja) * 1987-06-23 1988-12-27 Matsushita Electric Ind Co Ltd ディジタル微分解析機
JPH06162213A (ja) * 1992-11-24 1994-06-10 Fujitsu Ltd 長方形面塗り方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63318633A (ja) * 1987-06-23 1988-12-27 Matsushita Electric Ind Co Ltd ディジタル微分解析機
JPH06162213A (ja) * 1992-11-24 1994-06-10 Fujitsu Ltd 長方形面塗り方式

Also Published As

Publication number Publication date
JP2007004725A (ja) 2007-01-11

Similar Documents

Publication Publication Date Title
JP5172640B2 (ja) ベクトル図形描画装置
JP4370438B2 (ja) ベクター画像描画装置、ベクター画像描画方法およびプログラム
JP2009092759A (ja) 描画装置、画像出力装置及びプログラム
JP4180043B2 (ja) 3次元図形描画処理装置、画像表示装置、3次元図形描画処理方法、これをコンピュータに実行させるための制御プログラムおよび、これを記録したコンピュータ読み取り可能な可読記録媒体
JP2007265035A (ja) 描画装置及び破線描画方法
JP4998386B2 (ja) ライン描画方法
JP4183082B2 (ja) 3次元画像描画装置および3次元画像描画方法
JPH10326352A (ja) 多角形塗り潰し方法及び記録媒体
JP4666480B2 (ja) 線描画装置
JP2634851B2 (ja) 画像処理装置
JP4361118B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US7508397B1 (en) Rendering of disjoint and overlapping blits
JP5159949B2 (ja) ベクトル図形描画装置
JP4858883B2 (ja) ベクター画像描画装置、ベクター画像描画方法およびプログラム
JP4320604B2 (ja) 画像処理方法および画像処理装置
US7667714B2 (en) Patterned polygon rendering apparatus
JP3312560B2 (ja) テクスチャマッピング装置
US20080303821A1 (en) Graphic processing method and apparatus for supporting line acceleration function
US7109992B2 (en) Apparatus for generating efficient wide-line ends
JP2000298729A (ja) 二次元画像生成装置
JP5900254B2 (ja) ライン描画装置、ライン描画方法、及びライン描画プログラム
JP3139805B2 (ja) 画像処理方法及びその装置
JP2004078994A (ja) 描画方法
JP6036072B2 (ja) 画像処理装置
JP2010009271A (ja) 画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080226

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080731

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100921

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101122

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: 20110105

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: 20110106

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

Free format text: PAYMENT UNTIL: 20140121

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4666480

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees