JPH0486961A - 塗りつぶしパターン発生装置および発生方法 - Google Patents

塗りつぶしパターン発生装置および発生方法

Info

Publication number
JPH0486961A
JPH0486961A JP2201529A JP20152990A JPH0486961A JP H0486961 A JPH0486961 A JP H0486961A JP 2201529 A JP2201529 A JP 2201529A JP 20152990 A JP20152990 A JP 20152990A JP H0486961 A JPH0486961 A JP H0486961A
Authority
JP
Japan
Prior art keywords
fill
data
memory
pattern
outer frame
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
JP2201529A
Other languages
English (en)
Inventor
Naoyuki Kai
直行 甲斐
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2201529A priority Critical patent/JPH0486961A/ja
Priority to US07/738,555 priority patent/US5444834A/en
Publication of JPH0486961A publication Critical patent/JPH0486961A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は、ビットマツプ表示を用いるコンピュータグ
ラフィックスあるいはベクトルフォント処理装置等にお
いて、外枠(アウトライン)で定義される閉曲線内を所
定のパターンで正確に塗りつぶすためのパターン発生方
式に関する。
(従来の技術) 外枠情報から塗りつぶしパターンを高速に発生する方式
として次のような方法が考えられる。
・矩形のビットマツプ領域を持つビットマツプメモリを
、A、Bの2面分用意する。
・塗りつぶしパターンの外枠情報をラスク化(ドツトパ
ターン化)して、外枠の1点毎の差分を求める。(第2
図参照) ・一連のこの差分値をもとに、一定の規則で8面上に塗
りつぶしのためのフラグを作成する。
(第3図(b)) ・同時にA面には、完全な外枠を作成する。
(第3図(a)) ・外枠を作成し終えたら、スキャンライン方向に順次排
他的論理和(以下XORとする)をとり(第3図(C)
 ) 、さらにA面の外枠データとOR等の理論演算を
取ることで、完全な塗りつぶしパターンを得る。(第3
図(d)) (発明が解決しようとする課題) 上記方法には、外枠がワークエリア外部、特にX方向左
側(即ちスキャンライン方向のスキャンを始める方向)
にはみ出た場合、正しい塗りつぶしが行えないという問
題がある。例えば、第4図(a)のような外枠(OLI
)の場合、第4図(b)のような不完全な塗りつぶしパ
ターンが発生してしまう。
この問題を解決するためには、外枠がワークエリアから
はみ出す場合、この外枠をいくつかに分割して、はみ出
しの生じる左側の分割部分から塗りつぶしパターンを作
成する方法が考えられる。
この方法では、右側部分での塗りつぶし処理のために、
スキャンライン毎に左側のXORスキャン結果を保持し
ておき、この結果を右側のXORスキャンの初期値とす
ることで、正しい塗りつぶしパターンを得ているか、こ
の方法にも次の問題かある。
・本来のワークエリア以外に余分な塗りつぶし処理用の
メモリを必要とする。
・外枠の一部分を塗りつぶしたい場合でも、分割した左
側から順次パターンを作成していく必要かあり、塗りつ
ぶしパターンの発生に要する時間が長くなる。
この発明の目的は、外枠で定義されたパターンがビット
マツプメモリのワークエリアからはみ出す場合でも、正
確な塗りつぶしパターンを高速に発生できる塗りつぶし
パターン発生装置および発生方法を提供することである
[発明の構成] (課題を解決するための手段およびその作用)上記目的
を達成するために、この発明では、ビットマツプメモリ
を用い、塗りつぶしパターンのラスク化(ドツトパター
ン化)処理と塗りつぶし処理の2段階の処理を行う。
いま、このビットマツプメモリ中に2つのワクエリア(
同一形状の矩形作業領域)A、Bを用意し、各々、A面
、B面と呼ぶことにする。これらのワークエリアはN*
Mドツト(例えば512X128ドツト)の解像度をも
つビットマツプ領域で、A、B各面のデータはA (x
、y) 、B (xy y)(X−0,1、・・・・・
・ N−1、y−o、1、・・・・・・M−1)とする
第一段階の処理では、ラスク化された外枠情報は、一連
の隣合う2点間の差分情報(d x、  d y)で与
えられる(ここでdx、dyは+1.0゜1の何れかの
値を取る。)。この情報をもとに、例えば第5図に示さ
れるような規則に従って、ワークエリアB面上に塗りつ
ぶしのためのフラグを書き込む。この時、もし外枠の描
画点がワークエリアの左側(X座標が小さい方向)領域
中にあれば、同一のy座標を持ちワークエリア内で最も
左の点にフラグを書き込む。
一方、ワークエリアA面には、(d x、  d y)
を基に、外枠にあたる点に”1”を書き込む。A面に関
しては、描画点がワークエリアをはみでた場合は、描画
は行わない。
第1図に、ワークエリアの左側に塗りつぶしパターンの
外枠がはみ出た場合の例を示す。第1図(a)が外枠を
定義する(d x、  d y)を例示する図で、第1
図(b)はこの第一段階でA面に書かれるデータを示し
、第1図(C)は第一段階でB面に書かれるデータを示
す。
全体がワークエリア外左側の領域にはいっているような
閉曲線(第1図(a)の0L2)のフラグはB面に書か
れるが、必ず偶数回書かれるため、このフラグをXOR
でB面メモリに書き込む際、最後には消えてしまう。例
えば、第1図(C)中のFl、F2.FBの3点は、何
れもフラグが2回書かれ、XORの結果として、最終的
には0となる。
第二段階の処理では、各スキャンライン(この例ではX
方向)毎に、スキャンライン内で次のように順次XOR
を取っていく。
B  (0、y)  XORB(1、y)−”B(1、
y)B  (L  Y)XORB  (2、y)−B(
2、y)B  (N−2、Y’)XORB  (N−1
、y)  −B  (N−1、y)これにより、第1図
(d)に示すようなパターンか得られる。
B面メモリの内容はこのままでも塗りつぶしパターンと
して使えるが、さらに別に描画したA面の外枠のデータ
との間でOR等の論理演算をとることで、より正確な塗
りつぶしパターン(第1図(e))を得ることができる
。こうして、パターン外枠がワークエリアの左側にはみ
出た場合でも、正しい塗りつぶしパターンが得られるよ
うになる。
(実施例) 以下、この発明の実施例を第6図ないし第13図を参照
して説明する。
この実施例は、パターンの外枠情報が入力されると、外
枠の内部を塗りつぶすパターンを発生する装置である。
パターンの外枠は、第6図に示すように、一連の線分で
定義されている。第6図の例では、パターンの外枠は2
つの閉ループからなり、第一のループは、開始点POと
頂点Pi、P2.P3.P4で定義され、第二のループ
は、開始点P5と他の頂点P6.P7からなっている。
パターン中のループ数、ループ中の頂点の数は任意であ
る。
第7図に、この発明の一実施例のハードウェア構成を示
す。この実施例は、ワークエリア用ビットマツプメモリ
であるメモリA (A面メモリ)75およびメモリB(
B面メモリ)76と、コマンドFIFO71と、データ
読み出しFIFO77と、DDA (デジタルディファ
レンシャルアナライザ)ブロック72と、dxdyF 
IFO73と、FILL(塗りつぶし)ブロック74と
からなる。
コマンドFIFO71は、ホストシステム70から与え
られたコマンドがFILLブロック74内部の各構成に
与えられるまでこのコマンドを保持しておくFIFO(
ファーストインファーストアウト型)バッファメモリで
あり、データFIFOは、最終的に作成された塗りつぶ
しパターンをホストシステム70に読み出す際に一時保
持しておくためのFIFOバッファメモリである。
DDAブロック72は、塗りつぶしパターンの外枠の直
線をラスク化(ドツトパターン化)し、dx、dyの値
を発生するブロックである。ここで、dx、dyは、外
枠の直線をラスク化(即ちビットマツプ上に量子化)し
た際に隣合う2点の座標の差分を表わすもので、dx、
dy何れも+1、O,−1のいずれかの値を取る。
dx、dyの値は、次の表1に示すようにコード化され
てDDAブロック72から出力され、dxdyF I 
FO73に送られる。
これ以外のコード化も可能で、例えば次の表2に示すよ
うにdx、dyを組み合わせ、3ビ・ノドでdx、dy
をコード化しても良い。
Xはdon’t careを表す この場合、dx、dyの出力は4ビツトのデータになる
FILLブロック74は、塗りつぶし処理を行うブロッ
クである。
メモリA、Bは、ともにアドレスmビットで、1ワード
がnビットで構成されるメモリである。
ここでnは2のべき乗であり、以下、主にn−16の場
合で説明する。
メモIJ A 75  メモIJ B 76 (7) 
各々ハ、21x*21Yビツトのビットマツプを構成し
ている(lx+ 1 y−m+4で、4はlog2n 
) oこのビットマツプ上で、x、X座標の取り得る値
の範囲は以下のようになる。
メモリA、Bには同一のアドレスか与えられているが制
御線は別々に与えられ、メモリA、Bに対するリード/
ライトは個別に行えるようになっている。
アドレスの上位xyビットはX座標に対応しており、そ
の下位はX座標に対応している。さらに、ワード内の4
ビツトはX方向に連続する16点に対応しており、例え
ば同一のX座標で、X座標が0から15までの点は、同
一のワード内に格納されている(第13図参照)。
以下、第8図を参照してFILLブロック74について
詳細に説明する。
第8図はFILLブロック74の構成を示す図で、アド
レス処理部81、描画処理部82、データ処理部83、
および全体の制御を行う制御部84からなっている。
「アドレス処理部81の説明」 第9図を参照して、アドレス処理部81を説明する。
アドレス処理部81には、現在の描画位置のX。
X座標を示すカレントポインタc p x、  c p
 y。
ポインタcpx、cpyの内容を更新するインクリメン
タ91x、91y、ワークエリアの位置を保持するxm
in 、  xmax 、  ymin 、  ya+
axレジスタ、メモリA、Bに与えるアドレスを保持す
るメモリアドレスレジスタmaがある。
ここでワークエリアとは、ビットマツプメモリ中で実際
に描画および塗りつぶしに用いられる、例えば矩形の領
域である。
xllin 、  xmaxは1x−4ビツト(第13
図参照) Sy+nin 、  yIIlaxは1yビ
ツトで構成され、内容は無符号数(即ち正の数)として
扱う。
カレントポインタCpX、cpyは、それぞれ、1x+
2.1y+2ビツトで構成され、2の補数の有得号数と
して扱われる。即ち、描画の途中で対象となる座標値か
負の数になっても良い。
カレントポインタのX部分cpxは下位4ビツトがワー
ド内のビットの位置に対応しており、下位4ビツトを除
いた部分をcpx’ とする。
比較器90では、cpx’ とxmin 、 xmax
 %およびcpyとyln 、ya+axを符号も含め
て比較し、次の条件を満たすとき比較信号cmplQを
“1”にする。(ここで、cpx’ とxmin。
x waxはビットレンジが異なるので、xttrin
、xllaXには上位2ビツトに00を埋めて比較する
同様に5cpyとyln 、ymaxはビットレンジが
異なるのでymin 、  ymaxには、上位2ビツ
トに00を埋めて比較する。) また、比較器は、次の条件を満たすとき、比較信号cm
pHを1”にする。
また、比較器90は、次の条件を満たすとき、比較信号
cmp20を“1″にする。
c p x’ −xmax       −−−(4)
また、比較器90は、次の条件を満たすとき、比較信号
cmp 21を“1″にする。
cpy  =yaax       −−−(5)カレ
ントポインタcpxの内容は、外枠描画時には、入力の
dxの値に応して±1され、また塗りつぶし実行時には
、xminがcpx’ の部分に転送されるか、あるい
は、+4される(これは、ポインタcpx  が+1さ
れることに対応する)。
カレントポインタcpyの内容は、外枠描画時には入力
のdyO値に応じて±1され、また塗りつぶし実行時に
は、ポインタCpyにy rAinか転送されるか、あ
るいは、+1される。
アドレスレジスタmaは、上位tyビットのmayと残
りの下位部分のmaxからなる。描画のためにメモリア
クセスを行う時に、mayには、ポインタcpyの内容
が転送される。maxには、通常の場合cpx’の内容
が転送されるが、描画点がワークエリア左側の領域にあ
る場合、即ちCmpHが“1″のときは、cpx’の代
わりにx minか転送される。
アドレス処理部81からは、ポインタcpxの下位4ビ
ツト、即ちワード内のビット位置を示す部分が、描画処
理部82に渡される。
「描画処理部82の説明」 描画処理部82を第10図により説明する。
描画処理部82には、新しいdxdyの値を保持するn
dxdyレジスタ101、古いdxdyの値を保持する
。dxdyレジスタ102、塗すつぶし外枠に対応する
閉ループの開始点でのdxdyの値を保持する5dxd
yレジスタ103′が設けられている。
dxdyF IF07Bより与えられたdxdy値は、
ndxdyレジスタ101に入り、次にdxdyの値が
来た時点でodxdyレジスタ102に転送される。ル
ープの最初のd x d y (7)値ハ、ndxdy
レジスタ101に入った後、次のdxdyの値が来た時
点で、odxdyレジスタ102だけでなく、5dxd
yレジスタ103へも転送される。又、後述する閉ルー
プ処理の時には、ndxdyレジスタ101の内容がo
dxdyレジスタ102に転送されると同時に、5dx
dyレジスタ103の内容がndxdyレジスタ1゜1
に転送される。
この実施例では、1ワード中に複数の描画点が来る場合
、1点毎ではなく、まとめて1ワ一ド分描画するバッフ
ァリングを行う。
バッファフラッシュ判定部104ては、アドレス処理部
81からのポインタCpXの下位4ビツト(以下これを
cpbと呼ぶ)の値と、dxdyF I FO73から
のdxdyの値とから、描画点が1ワードの枠を超えた
かどうかを判定する。具体的には、次の条件を満たすと
き、描画点が、1ワードの範囲を越えたと判定する。
dy≠0          −一−(6)であるか、
あるいは、 cpb−Qかつ、dx −−1−−−(7)であるか、
あるいは、 cpb−15かつ、dx−+1−−− (8)上記の条
件を満たした時、さらに、アドレス処理部81からの比
較信号cmpoO,cmp01の何れかが”1”であれ
ば、現在の1ワードの描画データをメモリA、Bに書き
込むためのバファフラッシュ要求信号線を”1”レベル
にして、バッファフラッシュ要求を制御部84に送り出
す。
フラグ生成回路100では、ndxdyレジスタ101
とodxdyレジスタ102の値とから、表3の真理値
表に従って書き込むべきフラグを生成する。
ここで、XはDon’t care即ち、−1,Q、+
1の何れでも良いことを表す。また、(新旧のとちらに
於いても)dy、dyの何れもが°0゛であることは無
いので、これは表3の真理値表から除いている。
なお、表3において、最右列は、第5図のフラグ生成規
則と、対応するフラグとの関係を示している。
塗りつぶしフラグを決定する真理値表として、次の表4
を用いても良い。
表4 ビットデコーダ105は、4ピツ′トのcpbをデコー
ドして、1ビツトだけ”1”である16ビットの信号を
作るデコーダであるが、表5の真理値表に示すように、
比較信号cmpHが”1”の時、即ち、描画かワークエ
リア外の左側領域にあるときは、常に出力のビット0が
”1“になる。
表5 前述のようにcmp 11が”1”のときは、アドレス
レジスタのX部分max  にはワークエリアの左端で
あるx winの値が入り、1ワード内の描画点は、1
ワードの中で最も左側になるので、結局描画はワークエ
リアの左端の点に対して行われることになる。
描画バッファpba、pbbは、1ワ一ド分の描画デー
タを保持する各々16ビツトのレジスタである。
1つのbxdyのデータを受は取ると、ビットデコーダ
105の出力で指定されるバッファpba、pbb内の
ビット位置のデータが変更を受ける。すると、A面周の
バッファpbaは該当ビットが”1”になり、B面用の
バッファpbbは、該当ビットに対して、フラグ生成回
路100の出力のフラグ値をXOR書きする。即ち、フ
ラグの値が“1”であれば該当ビットを反転し、フラグ
の値が”0”であれば該当ビットを変更しない。
バッファフラッシュ要求か出た時点で描画バッファpb
a、pbbの内容がデータ処理部83に転送されると、
転送内容とメモリBからのり−ドデータとの間で後述の
演算か施され、メモリA。
Bに演算結果が書き込まれる。
描画バッファpba、pbbの内容は、データ処理部8
3への転送が済んだ後、全ビット”0”にクリアされる
「データ処理部83の説明」 データ処理部83は、第11図に示すように、メモリA
75に対する入力レジスタdaill〕および出力レジ
スタdaol12と、メモリB76に対する入力レジス
タdbil13および出力レジスタdbol 14と、
ホストシステム70へのデータ転送のためのデータレジ
スタdrl15と、演算部110とから構成される。
演算部110は、制御部84からの2本の制御信号FO
PO,FOPIの内容と、描画処理部82の動作に応じ
て次のように機能する。
*描画時(FOPO−0′) 次のように、A面については、バッファpbaの内容と
メモリAからのリードデータとORを取り、daol1
2に書き込む。また、8面については、バッファpbb
の内容とメモリBからのリードデータとのXORを取り
、その結果をdb。
]14に書き込む。
dat (0)  ORcpa (0)  −” da
o (0)dat (1)  ORcpa (1)  
= dao (1)dat(15)   ORcpa 
 (15)−”  dao(15)dbi  (0) 
 XORcpb  (0)  −”  dbo  (0
)dbi  (1)  XORcpb  (1)  −
”  dbo  (1)dbi(15)  XORcp
b  (15)−”  dbo(15)*塗りつぶし演
算時(FOPO−“1”)メモリABからのリードデー
タと演算部110内部の1ビツト0FF(フリップフロ
ップ)の出力であるFDATAとから、1ワ一ド分の塗
りつぶしパターンデータを作成し、このデータをレジス
タdrl15に書き込み、FDATAを更新する。また
、メモリA、Bをクリアするために、daol12とd
bol14には全ビットに”0”を書き込む。
(PDATA AND POPL) XORdbi(0
) −> tmp(0)tIIlp(0) XORdb
i(1)       −> tmp(1)tcp(1
) XORdbi(2)       −> tip(
2)trAp(14)  XORdbi(15)   
     −> tnp(15)tmp(0)ORda
i(0)          −> dr(0)tIl
lp(1)  ORdat(1)          
−> dr(1)tap(15)  ORdai(15
)            −>  dr(15)ta
p(15)                  −)
FDATAここでtmpは中間の信号線である。
制御線FOP 1は、ワークエリアの左端のワードの処
理時には“0“となり、それ以外の場合は“1 “とな
る。
上記の後半の演算により、外枠上の点は全て塗りつぶし
パターンに含まれることになる。
一方、この演算を次のように変えて、塗りつぶしパター
ンが外枠上の点を全く含まないようにする変形も考えら
れる。(ここで、−は論理否定を表す。) tap(0) AND −dai(0)      −
> dr(0)tap(1)AND −dat(1) 
     −> dr(1)とパラメタの対を順次与え
ることで制御する。
コマンド   パラメタ tmp(15)AND  −dat(15)     
   −>  dr(15)「全体の制御」 以上の構成により、第7図の装置全体は次のように動作
する。
外部からは、この装置には次の形式のコマンドコマンド
は、 ている。
例えば次の表6のように定義され 表6 外部より書き込まれたこれらのコマンドは、コマンドF
IFO71に入り、内部の処理の進行に応じて、各ブロ
ックに渡される。
第7図の装置を用いて、文字(ベクトルフォント)等の
塗りつぶしパターンを発生するだめの手順を以下に説明
する。
(1〉まず、表6のワークエリアセット1ないし4のコ
マンドにより、ワークエリアをセットする。
これにより、塗りつぶしブロック内アドレス処理部81
のxmin 、  xmax 、  ymin 、  
ymaxレジスタに値かセットされる。
(2)次に、クリアコマンドにより、メモリA。
Bのワークエリア内に”0”を書き込む。クリアコマン
ドの開始時には、カレントポインタcpxcpyにxm
in 、  ymjnの値が転送され、Cpx′に順次
“1”を足しながら、メモリに”0”を書き込んでいく
。]ライン分のクリアが終了すると、比較信号cmp2
0が”1”になる。
制御部84は、この信号cmp20により、1ライン分
の動作の終了を判定し、cpx’ に再度x winを
転送し、cpyの値を”1”増やす。ワークエリア全体
のクリアか終了すると、比較信号cmp20.cmp2
1の両方が”1”になり、制御部84はこれによりコマ
ンドの処理を停止する。
(3)次に移動コマンドを2回与えることで、パラメタ
のX及びy座標を、アドレス処理部81内のポインタc
px、(:I)Yにセットする。
(4)次に直線コマンドを与える。このコマンドにより
、DDAブロック72が、直線を量子化した、dxdy
の値を順次発生し、これをdxdyFIFO73に書き
込んでいく。
(5)FILLブロック74は、dxdyFIF073
中に値があれば、それを順次取り込んでいく。FILL
ブロック74内の描画処理部82では、取り込んだdx
、dyの値をndxdyレジスタ101に入れる。2つ
目のdxdyを取り込んだ際に、ndxdyレジスタ1
01の内容が、5dxdyレジスタ103およびodx
dyレジスタ102に転送される。
次に、ndxdyレジスタ101およびodxdyレジ
スタ102の内容に基づきフラグ生成回路100で求め
られる塗りつぶしフラグの値を用いて、描画バッファp
ba、pbbの内容を更新する。
dxdy取り込みの3つ目以降では、ndxdyレジス
タ101の内容はo 、d x d yレジスタ102
へのみ転送され、5dxdyレジスタ103の値は保持
される。描画バッファpba、pbbの内容の更新は2
つ目の場合と同様に行う。
一連のdxdyO値により、描画点が描画バッファpb
a、pbbの1ワードの範囲を越えた場合、もし、比較
信号cmp00.cmp01の何れかが”1”であれば
(即ち、描画点がワークエリア内にあるか、或いはワー
クエリア外の左側領域にあれば)、描画バッファp b
 a、  p b bの内容を、前述のように、メモリ
のA、B面のデータ間で演算して、メモリBに書き込む
以下、1つの閉曲線を構成する直線の数だけ、(4)、
(5)のステップを繰り返す。
(6)次の閉曲線の描画のために、移動コマンドを出し
た際、前の閉曲線描画のときに描画していなかった閉曲
線の開始点の描画が行なわれる。この時、ndxdyレ
ジスタ101の内容がodxdyレジスタ102に転送
され、5dxdyレジスタ103の内容がndxdyレ
ジスタ101に転送される。
この新しいndxdyレジスタ101とodxdyレジ
スタ102の内容を用いて、描画フラグが求められる。
すると描画バッファpba、pbbが更新され、求めら
れたフラグがワークメモリBにも書き込まれる。
(7)全ての閉曲線の描画が終了したら、塗りつぶしコ
マンドが与えられ、これにより、制御部84が塗りつぶ
し動作を起動する。塗りつぶしコマンドの開始時には、
クリアコマンドと同様に、カレントポインタCpX’ 
、Cpy にxmin、ywinの値が転送される。ポ
インタcpx’ に順次1”を加えながら、1ワ一ド単
位で塗りつぶし動作を行っていく。
すると、FILLブロック74内のデータ処理部83の
説明のところで述べたように1ワードの塗りつぶしパタ
ーンが得られ、これか、データFIFO77に送られる
比較信号cmp20が“1”になると、1ライン分の塗
りつぶし処理か終了し、再びポインタCpx  にx 
minが転送され、ポインタcpyの値が”1”増やさ
れ、次のラインの処理が開始される。
比較信号cmp20□ cmp21の両方が”1になる
と、ワークエリア全体の処理が終了し、塗りつぶしコマ
ンドの処理を終える。
(8)塗りつぶしコマンドでデータFIFO77に書き
込まれた塗りつぶしデータは順次読み出され、こうして
外部のホストシステム70は塗りつぶしパターンを得る
この実施例では、1ワードが16ビツトで構成されるメ
モリ構成をメモリA、Bに採用したが、これは、他の構
成であってもよい。
また、A、B面のワークメモリを別々のメモリとして説
明したか、これらは物理的には同一のメモリであっても
よく、アドレスの一部(例えば最上位ビット)でA、B
面を区別し、A、B面を順次アクセスするような構成に
してもよい。
さらに、B面のみの構成とし、塗りつぶし時に、A面と
の論理演算(ORなど)を取らないようにしてメモリの
必要量を減らす実施形態も可能である。
なお、ワークエリアの形状は、長方形に限定されるもの
でなく、第12図のワークエリア(1)、(2)で示す
ような形状でもよい(スキャン方向である上下の2辺か
平行であれば、左右2辺の形状は任意である)。
また、第8図の描画処理部82および(または)データ
処理部83は、高速のCPUを用いたソフトウェアによ
り具体化することもできる。ソフトウェア処理だとハー
ドウェアによる塗りつぶしくXOR処理)よりも処理速
度の点で不利であるが、そのかわり、塗りつぶしパター
ンをソフトウェアで自由に決定(変更)できる利点が得
られる。
塗りつぶし処理をソフトで行なうにせよハードで行なう
にせよ、塗りつぶし外枠かワークエリア外のスキャン開
始方向にはみてる場合でも、本願発明により、ワークエ
リア以上の余分なメモリを使わずに、完全な塗りつぶし
パターンが得られる。
[発明の効果] この発明によれば、外枠情報から塗りつぶしパターンを
得る際に、パターン外枠かワークエリアとして用いるメ
モリのエリアからはみ出した場合でも、ワークエリア分
を超える余分な大きさのメモリを必要とせずに、正しい
塗りつぶしパターンが高速に得られる。
【図面の簡単な説明】
第1図はこの発明による塗りつぶしパターン生成過程を
説明する図; 第2図はパターンの外枠をラスク化してえられる外枠の
1点毎の差分dx、dyを説明する図;第3図は2つの
ワークメモリを用いた塗りつぶしを説明する図; 第4図は本願発明が適用されない場合に生じる不完全な
塗りつぶしを説明する図; 第5図はこの発明における塗りつぶしフラグ生成規則の
一例を説明する図; 第6図は塗りつぶしパターンの外枠の構成を説明する図
; 第7図はこの発明の一実施例に係る塗りつぶしパターン
発生装置の構成を示すブロック図;第8図は第7図の装
置中のFILLブロックの内部構成を示すブロック図; 第9図は第8図中のアドレス処理部の構成を示すブロッ
ク図; 第10図は第8図中の描画処理部の構成を示すブロック
図; 第11図は第8図中のデータ処理部の構成を示すブロッ
ク図; 第12図は長方形以外のワークエリアの形状を例示する
図; 第13図はビットマツプ上のドツトの並びと1ワードデ
ータとの対応を例示する図である。 70−m−ホストシステム;71−−−コマンドP I
Fo 、72−−−DDAブロックニア3−−−dxd
yF IFO; 74−−−F I LLブロック 7
5−−−A面メモリ;7ロ一−−B面メモリ、81−−
−アドレス処理部;82−−一描画処理部;83−−−
データ処理部;84−制御部、90−−一比較器;91
x、91y−インクリメンタ、100−−−フラグ生成
回路:101−−−ndxdyレジスタ;102−−−
odxdyレジスタ;103−−−sdxdyレジスタ
、104−−−バッファフラッシュ判定部:105−一
−ビットデコーダ;110−−−演算部;111.11
3−−一人カレジスタ;112.114−−一出力レジ
スタ、 115−m−データレジスタ 出願人代理人 弁理士 鈴 江 武 彦第 図 第3図 第2図 第4図 −mm〉)

Claims (4)

    【特許請求の範囲】
  1. (1)ビットマップ上において量子化された外枠のデー
    タから塗りつぶしのためのフラグ情報を求め、外枠のフ
    ラグ情報を塗りつぶし作業用ワークメモリに書き込んだ
    後、ビットマップ上のスキャン方向に塗りつぶしパター
    ンを得るものにおいて、塗りつぶしのための描画点がワ
    ークメモリのワークエリア外部でかつスキャンライン上
    スキャン開始方向にあるときに、ワークエリアのスキャ
    ン開始点に塗りつぶしのためのフラグを書き込む手段を
    備え、外枠がワークエリアの外部に出た場合であっても
    ワークエリア中の外枠内を正確に塗りつぶすパターンを
    発生するように構成したことを特徴とする塗りつぶしパ
    ターン発生装置。
  2. (2)前記ワークメモリは2つのメモリエリアA、Bを
    有し、前記メモリエリアAには前記量子化された外枠デ
    ータに基づき外枠を構成して書き込み、前記メモリエリ
    アBには、前記塗りつぶしフラグ情報について前記スキ
    ャン方向に順次排他的論理和を取ったデータを書き込み
    、さらに前記メモリエリアA、B間で相互に対応する位
    置のデータ間で所定の論理演算を取り、その論理演算結
    果を塗りつぶしパターンとして用いることを特徴とする
    特許請求の範囲第1項に記載の塗りつぶしパターン発生
    装置。
  3. (3)前記メモリエリアA、B間で行なわれる前記所定
    の論理演算が、論理和演算を含むことを特徴とする特許
    請求の範囲第2項に記載の塗りつぶしパターン発生装置
  4. (4)所定のワークエリアを持つビットマップメモリと
    、アドレス処理部と、描画処理部と、データ処理部とを
    用い、第一段階の処理として塗りつぶしパターンの外枠
    データをビットマップ上に量子化した一連の隣接点の間
    の座標の差分を求め、この差分のデータに基づき前記ア
    ドレス処理部で描画アドレスを生成し、この差分データ
    に基づき前記描画処理部で塗りつぶしフラグを生成し、
    前記データ処理部により、前記描画アドレスで指定する
    メモリ番地に、このメモリ番地のデータと前記塗りつぶ
    しフラグとの排他的論理和演算結果を書き込み、第二段
    階の処理として前記ワークエリアにおいて、前記ビット
    マップメモリのスキャン方向にスキャンライン上のデー
    タの排他的論理和を順次取って塗りつぶしパターンを作
    成するものにおいて、前記ワークエリア外のスキャンラ
    イン上でスキャンライン開始方向に塗りつぶし描画点が
    あることを前記第一段階での描画アドレスが示す場合に
    、塗りつぶし処理開始点を、そのスキャンライン上で前
    記ワークエリア内のスキャン開始点に変えることを特徴
    とする塗りつぶしパターン発生方法。
JP2201529A 1990-07-31 1990-07-31 塗りつぶしパターン発生装置および発生方法 Pending JPH0486961A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2201529A JPH0486961A (ja) 1990-07-31 1990-07-31 塗りつぶしパターン発生装置および発生方法
US07/738,555 US5444834A (en) 1990-07-31 1991-07-31 Filling pattern generation apparatus and method including correction for pattern overflow

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2201529A JPH0486961A (ja) 1990-07-31 1990-07-31 塗りつぶしパターン発生装置および発生方法

Publications (1)

Publication Number Publication Date
JPH0486961A true JPH0486961A (ja) 1992-03-19

Family

ID=16442557

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2201529A Pending JPH0486961A (ja) 1990-07-31 1990-07-31 塗りつぶしパターン発生装置および発生方法

Country Status (2)

Country Link
US (1) US5444834A (ja)
JP (1) JPH0486961A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6208772B1 (en) * 1997-10-17 2001-03-27 Acuity Imaging, Llc Data processing system for logically adjacent data samples such as image data in a machine vision system
JP2003162728A (ja) * 2001-11-26 2003-06-06 Ricoh Co Ltd 画像処理装置及び画像出力装置
US20110133732A1 (en) * 2009-12-03 2011-06-09 Allegro Microsystems, Inc. Methods and apparatus for enhanced frequency response of magnetic sensors

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6075969A (ja) * 1983-10-03 1985-04-30 Nippon Telegr & Teleph Corp <Ntt> 図形情報の処理装置
JPS63305478A (ja) * 1987-06-06 1988-12-13 Fujitsu Ltd パタ−ン情報復元装置
JPH01100590A (ja) * 1987-10-13 1989-04-18 Fujitsu Ltd 表示制御方式

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01196675A (ja) * 1988-01-30 1989-08-08 Toshiba Corp パターンデータ生成方式
JPH0682395B2 (ja) * 1988-01-30 1994-10-19 株式会社東芝 ビットマスク生成回路

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6075969A (ja) * 1983-10-03 1985-04-30 Nippon Telegr & Teleph Corp <Ntt> 図形情報の処理装置
JPS63305478A (ja) * 1987-06-06 1988-12-13 Fujitsu Ltd パタ−ン情報復元装置
JPH01100590A (ja) * 1987-10-13 1989-04-18 Fujitsu Ltd 表示制御方式

Also Published As

Publication number Publication date
US5444834A (en) 1995-08-22

Similar Documents

Publication Publication Date Title
KR970003327B1 (ko) 패턴데이터 생성시스템
US5241653A (en) Apparatus and method for adjusting and displaying scaled, rasterized characters
JP2541539B2 (ja) 図形処理装置
US7038692B1 (en) Method and apparatus for providing a vertex cache
EP0327002B1 (en) Apparatus and method for generating high-quality pattern
EP0623231B1 (en) Circuitry and method for drawing lines in a video graphics system
KR100212412B1 (ko) 문자패턴 생성장치
JPH0486961A (ja) 塗りつぶしパターン発生装置および発生方法
EP0392499B1 (en) Apparatus for generating high-quality character pattern
EP0464794B1 (en) Painting pattern generation system and pattern painting method using the system
JPH0562348B2 (ja)
KR100361387B1 (ko) 다각형 묘화 방법, 및 다각형 묘화 장치
KR930000693B1 (ko) 패턴 데이터 발생장치
US4742343A (en) Digital stroke generator
US5428719A (en) Method and apparatus for generating high-quality pattern in accordance with an edge defining a character pattern
US6037951A (en) Video graphics controller with improved calculation capabilities
JPS642953B2 (ja)
JPH0449119B2 (ja)
JP2606176B2 (ja) 図形処理装置
JP2835056B2 (ja) 高品質文字パターン発生方式
JPH02168361A (ja) 座標データを発生するパターンデータ発生装置及びプロセッサ
JP2836617B2 (ja) レンダリングプロセッサ
JPH06314091A (ja) 輪郭塗り潰し方法及びその回路
JP3160570B2 (ja) 文字処理装置および文字処理方法
JP2001331808A (ja) 画像処理方法および画像処理装置