JP2762768B2 - アウトラインデータ描画装置 - Google Patents

アウトラインデータ描画装置

Info

Publication number
JP2762768B2
JP2762768B2 JP3133059A JP13305991A JP2762768B2 JP 2762768 B2 JP2762768 B2 JP 2762768B2 JP 3133059 A JP3133059 A JP 3133059A JP 13305991 A JP13305991 A JP 13305991A JP 2762768 B2 JP2762768 B2 JP 2762768B2
Authority
JP
Japan
Prior art keywords
data
value
information
address
contour
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
JP3133059A
Other languages
English (en)
Other versions
JPH04358292A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP3133059A priority Critical patent/JP2762768B2/ja
Publication of JPH04358292A publication Critical patent/JPH04358292A/ja
Application granted granted Critical
Publication of JP2762768B2 publication Critical patent/JP2762768B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はラスタ情報に基づいて図
形等のパターンの塗り潰し等の所望のドットパターンを
発生するアウトラインデータ描画装置に関する。
【0002】
【従来の技術】従来のアウトラインデータ描画装置は、
図形等のアウトライン(輪郭)を描画する際に、X方向
又はY方向のいずれか一方の座標軸に対する描画方向の
変化点のみを画像メモリに記憶しておき、塗り潰しの際
には、画像メモリの座標軸から走査していき、変化点に
出会う毎にデータを反転することによって行っている。
上述したようなアウトラインデータ描画装置では、例え
ば、図14(a)に示すような三角形のアウトラインを
画像メモリに描画する際には、同図(b)に示すよう
に、例えばY方向の座標軸に対する描画方向の変化点の
みを画像メモリに記憶し、塗り潰しの際は、同図(b)
に示したように描画されている画像メモリに対しX方向
に走査していき、bラインの変化点b1に達したとき
に、データを“1”(又は“0”)にして塗り潰しを開
始し、次の変化点b2に達したときにデータを“0”
(又は“1”)に反転して塗り潰しを終了する。このよ
うに画像メモリのX方向の各ラインについて塗り潰し処
理することにより、同図(a)に示すような三角形は、
同図(c)に示すように塗り潰し処理が施されることに
なる。なお、図14では、“1”のとき塗り潰しが行わ
れるものとしている。
【0003】
【発明が解決しようとする課題】ところで上記従来のア
ウトラインデータ描画装置では、例えば、図15(a)
に示すようにアウトラインが重なっている場合、例えば
Y方向の座標軸に対する描画方向の変化点のみを画像メ
モリに描画すると、画像メモリには同図(b)に示すよ
うなアウトラインが描画される。この画像メモリを走査
して塗り潰しを行う際には、X方向、例えばbラインの
変化点b1に達したときにデータを“0”から“1”に
変化した後塗り潰しを開始し、次の変化点b2に達した
ときにデータを“1”から“0”に反転した後塗り潰し
を終了する。さらに次の変化点b3に達したときにデー
タを“0”から“1”に反転して塗り潰しを再開し、最
終変化点b4に達したときにデータを“1”から“0”
に反転して塗り潰しを終了して、次のラインの塗り潰し
処理を行うようにしているため、同図(c)に示すよう
に、アウトラインの重なりあった部分に塗り潰しの抜け
が生じ、原図形に対する正確な塗り潰しが行われないと
いう欠点があった。
【0004】また、アウトラインのX方向又はY方向に
対する変化点のみを画像メモリに記憶しているため、輪
郭のみを取り出すことは不可能であった。
【0005】本発明は上記欠点を解消し、複数のアウト
ラインが重なった場合であっても、正確な塗り潰しを行
うことができるとともに、輪郭を抽出することができる
アウトラインデータ描画装置を提供することを目的とす
る。
【0006】
【課題を解決するための手段】上記目的を達成するた
め、本発明では、X- Y座標の値に対応するアドレスで
指定される各記憶領域に、図形等のパターンの輪郭を示
すベクトル情報に基づくラスタ情報に対応する所定のデ
ータが描画される記憶手段と、予め設定された描画に関
するルールに従って、前記ラスタ情報と前記ベクトル情
報に対応する輪郭ベクトルの描画方向に関する情報とを
包含したデータを作成し、該データと描画対象の前記記
憶領域から読出したデータとを演算するとともに、該演
算結果がオーバフローしていないときのみ当該演算結果
を当該記憶領域に描画する描画データ作成手段と、前記
演算結果がオーバフローを起した場合は、現在のX- Y
座標の値に対応するアドレスを退避させ、さらにX- Y
座標の値に対応するアドレスを、前記パターンの輪郭の
内側に移動するように更新するとともに、該更新後のア
ドレスで指定される記憶領域から読出されたデータと、
前記生成されたデータとに基づいて演算された演算結果
がオーバフローしなくなるまで、X- Y座標の値に対応
するアドレスを順次更新し、その後、前記退避されてい
る現在のX- Y座標の値に対応するアドレスを復帰させ
る制御手段とを具えている。
【0007】
【作用】本発明に係るアウトラインデータ描画装置によ
れば、今回のラスタ情報と、直前のラスタ情報、つまり
今回の線分の進む方向に関する情報と直前の線分の進ん
だ方向に関する情報とに基づき、予め設定された描画方
向に関する描画方向ルールに従って描画方向に関する情
報を包含したラスタ情報が作成される。
【0008】例えば、 (1)アップ方向(正方向)の場合は正方向を示す描画
方向に関する情報を包含したラスタ情報として値「+
1」が作成される。 (2)ダウン方向(負方向)の場合は負方向を示す描画
方向に関する情報を包含したラスタ情報として値「−
1」が作成される。 (3)上記(1)および(2)以外の場合は予め設定さ
れたラスタ情報として値「*」=4ビットで示す(10
00)が作成される。
【0009】次に、記憶手段には、基本的には、上記
(1)〜(3)の場合に応じて得られたラスタ情報と、
描画すべき記憶領域から読み出されたデータとが加算さ
れた値が描画データとして描画される。この場合の例外
として、加算された値が「0」となる場合は予め設定さ
れた値「*」=4ビットで示す(1000)が描画され
る。
【0010】しかし、同一方向の線が予め設定された数
以上重なった場合、つまり得られたラスタ情報と、描画
すべき記憶領域から読み出したデータとの加算結果がオ
ーバフローを起こすような場合は、そのX- Y座標の値
に対応するアドレスで指定される記憶領域には描画デー
タを書き込まずに、当該X座標の値に対応するアドレス
を退避させ、得られたラスタ情報と、描画すべき記憶領
域から読み出したデータとの加算結果がオーバフローを
起こさなくなるまで、図形の内側にX- Y座標の値に対
応するアドレスを移動する。
【0011】そして、同一方向の線が予め設定された数
以上重ならなくなった場合は、移動先のX- Y座標の値
に対応するアドレスで指定された記憶領域に、得られた
ラスタ情報と描画すべき記憶領域から読み出したデータ
との加算結果を書き込み、その後、退避しておいたX座
標の値に対応するアドレスを復帰させ、次の描画処理に
移行する。
【0012】従って、本発明によれば、予め設定された
描画に関するルールにおける、重畳可能な同一方向の線
の数を超える、線(図形等の輪郭)が重なっている場合
であっても、記憶手段には所望のパターンの輪郭に対応
する描画データが描画されることになるので、塗り潰し
処理を行う場合には、記憶手段の記憶内容に基づくドッ
トパターンを出力することにより、所望のパターンに対
応する正確な塗り潰し処理を行うことができる。
【0013】
【実施例】以下、本発明の実施例を添付図面を参照して
説明する。
【0014】図1は本発明に係るアウトラインデータ描
画装置の一実施例をブロック図で示したものであり、図
2はこの実施例における処理の対象となるパターンの一
例を示したものであり、図3は描画に関するルールを示
したものである。
【0015】まずアウトラインデータ描画装置の構成の
説明に先立って、パターンの一例及び描画に関するルー
ルを説明する。
【0016】ここでは、図2(a)に示すような各四角
形を形成する輪郭線A〜Hから構成されたパターン20
0を考える。このパターン200を描画する際には左回
りで例えば輪郭線A、B、…、Hの順に描画するものと
する。ここで、輪郭線Aは図2(b)に示すように、A
1 からA2 に進み次に左回りに進んでA1 に戻り終了す
る。つまり輪郭線Aを示すベクトル情報に対応する各輪
郭ベクトルの描画方向が左回りに進むということであ
る。また同様に、輪郭線Bも図2(c)に示すように、
B1 からB2 に進み次に左回りに進むんでB1 に戻り終
了する。他の輪郭線も同様に描画される。
【0017】なお、図2(c)において、輪郭線Aの下
向きの線分(点A1 と点A2 間)と輪郭線Bの下向きの
線分(点B1 と点B2 間)とが離れて表現されている
が、これは輪郭線の描画を説明するために意図的に離し
ているのであって、実際にはそれらの線分は同一のY座
標軸上に存在している。従って、図2(a)においては
点A1 −点A2 間は輪郭線が8本となり、また点A1 −
点B1 間および点A2 −点B2 間はそれぞれ輪郭線が7
本となっている。同様に、点B1 −点C1間および点B2
−点C2 間、点C1 −点D1 間および点C2 −点D2
間、点D1 −点E1 間および点D2 −点E2 間、点E1
−点F1 間および点E2 −点F2 間、点F1 −点G1 間
および点F2 −点G2間、点G1 −点H1 間および点G2
−点H2間は、輪郭線がそれぞれ6本、5本、4本、3
本、2本、1本となっている。
【0018】次に、この発明に係る描画に関するルール
は、図3(a)に示すような描画方向ルール300Aと
図3(b)に示すような描画ルール300Bとからな
り、描画方向ルール300Aは、フレームメモリなどの
記憶手段の記憶領域(1ドット分の情報を記憶する領
域)に描画すべき、ベクトル情報に対応する輪郭ベクト
ルの描画方向を示す情報を決定し、さらにこの情報を包
含するラスタ情報を作成するためのルールであり、また
描画ルール300Bは、描画方向ルール300Aに基づ
いて作成されたラスタ情報と、さらにこのラスタ情報を
描画すべくフレームメモリの記憶領域から読み出された
記憶情報とに基づいて当該記憶領域への描画データを作
成するためのルールである。
【0019】描画方向ルール300Aは次に説明するよ
うな規則から構成されている。 (イ)直前の線分の進んできた方向が下向きでなくて、
今回の線分の進む方向が上向きの場合は、アップ(U
p)方向とみなし、その方向の情報を包含するラスタ情
報を値「+1」(4ビットで示す「0001」)とす
る。 (ロ)直前の線分の進んできた方向が下向きで、今回の
線分の進む方向が上向きでない場合の場合は、ダウン
(Down)方向とみなし、その方向の情報を包含する
ラスタ情報を値「−1」(4ビットで示す「111
1」)とする。 (ハ)上記(イ)及び(ロ)以外の場合は、予め設定さ
れた方向(以下、“*”という)とみなし、その方向の
情報を包含するラスタ情報を、予め設定された値「*」
とする。なお値「*」は4ビットで示す「1000」
(値「0」)で表される。
【0020】また描画ルール300Bは次に説明するよ
うな規則から構成されている。なお( )内に示した値
は4ビットで表現した値である。 (1)描画されていない記憶領域における記憶情報は値
0(0000)とする。 (2)記憶情報の値が「0」で、上記規則(イ)に基づ
き作成されたラスタ情報(値「+1」)の場合には、描
画データは値「+1」(0001)とする。 (3)記憶情報の値が「0」で、上記規則(ロ)に基づ
き作成されたラスタ描画情報(値「−1」)の場合に
は、描画データは値「−1」(1111)とする。 (4)記憶情報の値が「0」で、上記規則(ハ)に基づ
き作成されたラスタ情報(値「*」)の場合には、描画
データは値「*」(1000)とする。 (5)記憶情報の値が正の値又は負の値で、上記規則
(イ)あるいは規則(ロ)に基づき作成されたラスタ情
報の場合には、描画データは原則として、当該領域に格
納されていた値(既に格納されている描画データ)に値
「+1」あるいは値「−1」を加えた値とする。 (6)上記規則(5)の例外として、記憶情報の値が
「+1」で上記規則(ロ)に基づき作成されたラスタ情
報(「−1」)の場合、あるいは、記憶情報の値が「−
1」で上記規則(イ)に基づき作成されたラスタ情報
(「+1」)の場合には、描画データは値「*」(10
00)とする。 (7)上記規則(5)の例外として、記憶情報の値が
「*」で、上記規則(イ)あるいは規則(ロ)に基づき
作成されたラスタ情報の場合には、描画データは値「+
1」(0001)あるいは値「−1」(1111)とす
る。 (8)上記規則(5)の例外として、記憶情報の値が正
の値又は負の値で、上記規則(ハ)に基づき作成された
ラスタ情報の場合には、描画データは記憶情報の値(正
の値又は負の値)を変更することなく、そのままの値と
する。
【0021】なお上記規則(2)において、例えばフレ
ームメモリの1ドット分の記憶領域に格納されている描
画データが値「+1」であった場合は、当該領域には、
例えば、上記規則(2)により作成されたアップ(U
p)の描画方向の輪郭が1本のみ存在している場合もあ
るし、また上記規則(2)および規則(5)により作成
されたアップ(Up)の描画方向の輪郭が3本とダウン
(Down)の方向の描画方向の輪郭が2本とが存在し
ている場合、つまり5本の輪郭が重なっている場合もあ
る。
【0022】また図3(b)において、同図中矢印Aで
示すように、実線で囲まれた部分は描画データを示して
おり、また同図中矢印Bで示すように、各実線枠に隣接
して始点と矢印の先頭が隣接している図形(ベクトル図
形)があるが、これは始点から出て終点が自分のところ
に戻ってくること、つまり上記規則(8)のことを示し
ている。
【0023】さて、図1に示す実施例の装置において、
制御回路101は、この装置全体の制御を行うものであ
る。パターン記憶装置102には、図2(a)に示すパ
ターン200を描画すべくベクトル情報が格納されてい
る。
【0024】ベクトル−ラスタ変換装置103は、制御
回路101によるベクトル情報からラスタ情報への変換
処理すべき指令に従って、パターン記憶装置102内の
情報を読出してアウトライン(輪郭)のベクトル情報を
ラスタ情報に変換して出力する。このラスタ情報には、
1ドット分のデータとしてのX- Y座標の値及び描画方
向を示す情報等が含まれている。ベクトル−ラスタ変換
装置103から出力されたラスタ情報は、フリップフロ
ップ(以下、F・Fという)回路104、描画データ作
成回路105、Xアドレス更新回路106、マルチプレ
クサ(以下、MUXという)107、Yアドレスカウン
タ108にそれぞれ入力される。
【0025】F・F回路104は、制御回路101から
入力するクロック信号に基づいて、入力したラスタ情報
を遅延させて出力する。つまりベクトル−ラスタ変換装
置103から今回のラスタ情報が出力されたときは、前
回のラスタ情報を出力するようになっている。
【0026】描画データ作成回路105はバッファ10
9、バッファ110を介してデータバスD1に接続され
ており、また、Yアドレスカウンタ108及びXアドレ
スカウンタ111はアドレスバスAに接続されている。
また、データバスD1及びアドレスバスAはビットマッ
プメモリであるフレームメモリ112に接続されてい
る。
【0027】この描画データ作成回路105は、ベクト
ル−ラスタ変換装置103から出力されたラスタ情報
(これから進む方向の情報)と、F・F回路104から
出力されたラスタ情報と(進んで来た方向の情報)を入
力し、これらのラスタ情報と、図3に示される描画に関
するルールと、バッファ109を介して読出したフレー
ムメモリ112の今回描画すべき記憶領域(1ドット分
の領域)に記憶されている描画データとに基づいて、今
回描画すべき描画データを作成する。その後、この作成
した描画データを、バッファ110を介してフレームメ
モリ112の今回描画すべき記憶領域に書き込む。ま
た、同一方向の線の数が、図3に示した描画に関するル
ールの制約による重畳可能な同一方向の線の数を超えた
か否かを判定し、超えたと判定した場合は、オーバフロ
ーフラグを制御回路101及びXアドレス更新回路10
6に出力する。
【0028】なお描画データ作成回路105は、図1に
は図示していないが、図3に示す描画に関するルールを
記憶する記憶手段例えばROMを備えており、このRO
Mをアクセスして描画に関するルールを実行するように
なっている。
【0029】Xアドレス更新回路106には、描画対象
のパターン(例えば、図2に示すパターン200)を右
回りで描画するのかあるいは左回りで描画するのかを示
す描画方向の情報が、そのパターンの描画開始前に制御
回路101から通知されるので、Xアドレス更新回路1
06は、オーバフローフラグが入力すると、既に入力さ
れている描画方向の情報と、ベクトル−ラスタ変換装置
103からのラスタ情報とに基づいて、現在のX座標の
値に対応するアドレス値を、「+1」又は「−1」すべ
く更新指示を出力する。
【0030】ここに、左回りで現在の輪郭線(つまり輪
郭ベクトル)の描画方向が、下向きの場合には「+1」
すべき旨を、上向きの場合は「−1」すべき旨を出力
し、一方、右回りで現在の輪郭線(つまり輪郭ベクト
ル)の描画方向が、下向きの場合には「−1」すべき旨
を、上向きの場合は「+1」すべき旨を出力する。つま
り閉輪郭線(図形)の内側にX- Y座標のアドレスが移
動するように制御するのである。
【0031】MUX107は、制御回路101の切り替
え指示に応じて、Xアドレス更新回路106からの出力
信号、あるいはベクトル−ラスタ変換装置103からの
出力信号のいずれか一方を選択する。ここで、オーバフ
ローしていないときはベクトル−ラスタ変換装置103
からの出力信号を選択し、オーバフローが発生したとき
はXアドレス更新回路106からの出力信号を選択する
ようになっている。
【0032】Yアドレスカウンタ108は、ベクトル−
ラスタ変換装置103からのラスタ情報と、制御回路1
01からのカウントのタイミング信号とに基づいてカウ
ンタの値(Y座標の値に対応するアドレス値)をカウン
トアップ又はカウントダウンする。つまりラスタ情報内
のX- Y座標の値に応じてカウント値をカウントアップ
又はカウントダウンする。
【0033】Xアドレスカウンタ111は、MUX10
7からの出力信号と、制御回路101からのカウントの
タイミング信号とに基づいてカウンタの値(X座標に対
応するアドレス値)をカウントアップ又はカウントダウ
ンする。つまりオーバフローしていないときは、入力し
たラスタ情報内のX- Y座標の値に応じてカウント値を
カウントアップ又はカウントダウンし、一方オーバフロ
ーが発生したときは、Xアドレス更新回路106からの
指令に基づいてカウント値をカウントアップ又はカウン
トダウンすることになる。
【0034】レジスタ113には、オーバフローが発生
したときに、アドレスカウンタ111の現在のX座標の
値に対応するアドレス値(オーバフローしたときのアド
レス値)が保持される。
【0035】ドットパターン変換装置114は、データ
バスD2を介してフレームメモリ112に接続されてお
り、データバスD2を介してフレームメモリ112の内
容を走査する。この走査して得られたデータを予め設定
された描画モードに従って加工し、該加工された情報を
ドットパターン信号に変換する。なおドットパターン変
換装置114の概略構成は図4に示す内容になってい
る。
【0036】図4においてドットパターン変換装置11
4は、塗り潰し処理を行うための信号を出力する塗り潰
し回路401と、輪郭および「0」のフラグを設定する
輪郭/0・フラグ設定回路402と、カウントレジスタ
403と、塗り潰し/輪郭/反転などの描画モードを設
定するための情報が記憶されているモードレジスタ40
4と、設定された描画モードに応じてモードを切り替え
るモード切替回路405とを有して構成されている。
【0037】さて上述したフレームメモリ112からの
データ(4ビットのデータ)は、塗り潰し回路401お
よび輪郭/0・フラグ設定回路402に入力される。
【0038】塗り潰し回路401では、フレームメモリ
112からのデータ(これをデータAとする)とカウン
トレジスタ403から出力されたデータ(これをデータ
Bとする)とを加算器401Aによって加算し、この加
算したデータ(これをデータCとする)をカウントレジ
シタ403に出力するとともに、判断部401Bによっ
て「データB≠0」であるか否かを判断し、また判断部
401Cによって「データC≠0」であるか否かを判断
する。判断部401B及び判断部401Cは、それぞれ
「データB≠0」および「データC≠0」であると判断
した場合は、それぞれ塗り潰しフラグを設定してAND
回路401Dの入力端子に出力する。AND回路401
Dは2つの入力端子に入力されたデータ値に応じた信号
をモード切り替え回路405に出力する。
【0039】一方、輪郭/0・フラグ設定回路402で
は、それぞれ異なった判断基準が設定されている判断部
402A〜402DにそれぞれデータAが入力される
と、当該各判断部は入力されたデータAが判断基準に適
合するか否かを判断する。すなわち、判断部402Aは
「データA<0」であるか否かを判断し、この判断基準
に適合していれば“負”の輪郭フラグを設定して出力
し、判断部402Bは「データA>0」であるか否かを
判断し、この判断基準に適合していれば“正”の輪郭フ
ラグを設定して出力し、判断部402Cは「データA=
*」であるか否かを判断し、この判断基準に適合してい
れば“*”の輪郭フラグを設定して出力し、判断部40
2Dは「データA=0」であるか否かを判断し、この判
断基準に適合していれば“0”のフラグを設定して出力
する。
【0040】塗り潰し回路401及び輪郭/0・フラグ
設定回路402から出力された出力データ(フラグ)は
モード切替回路405に入力される。
【0041】モード切替回路405は、一方の入力端子
にAND回路401Dからの出力データが入力され、他
方の入力端子にモードレジスタ404からの出力データ
が入力されるAND回路405Aと、一方の入力端子に
輪郭/0・フラグ設定回路402の該当する判断部から
の出力データが入力され、他方の入力端子にモードレジ
スタ404からの出力データが入力されるAND回路4
05B〜405Eと、前記各AND回路からの出力され
た論理積演算結果を入力し、該入力されたデータを論理
和演算した結果を出力するOR回路405Fと、OR回
路405Fからの出力データと、モードレジスタ404
からの出力データとを入力し、排他的論理和処理を行う
排他的論理和回路(以下、Ex・OR回路という)40
5Gとを有して構成されている。
【0042】モードレジスタ404からの出力データ
は、次の(1)〜(3)のモード設定に対応して設定さ
れている。 (1)塗り潰し処理モードが設定された場合は、AND
回路405Aおよび405Bの一方の入力端子のみに
“1”の信号が入力されるように設定されている。 (2)輪郭処理モードが設定された場合は、AND回路
405B、AND回路405C、AND回路405Dの
一方の入力端子のみに“1”の信号が入力されるように
設定されている。 (3)反転処理モードが設定された場合は、AND回路
405A、405BおよびEx・OR回路405Gの一
方の入力端子のみに“1”の信号が入力されるように設
定されている。 なおこの実施例では、Ex・OR回路405Gから
“1”の信号が出力されたときは塗り潰しを行い、
“0”の信号が出力されたときは塗り潰しを行わないよ
うに設定されている。
【0043】なお、図4中矢印Aで示す点線で囲んだ部
分は、1ビット分のドットパターンを出力する回路構成
であるが、nビット分のドットパターンを出力させる場
合には、点線で囲んだ部分の回路構成をn個設ければ良
い。
【0044】次に、描画データ作成回路105によるフ
レームメモリ112への描画データの描画処理を図5を
参照しながら説明する。
【0045】ここでは、図2に示す輪郭線A及び輪郭線
Bを描画する場合の描画処理について説明する。
【0046】最初に、ベクトル−ラスタ変換装置103
からは、輪郭線Aのベクトル情報に基づくラスタ情報と
して図5(a)に示すような線分ベクトルA1〜A8 が
出力されるものとする。これらの線分ベクトルA1 〜A
8 つまり各ラスタ情報は、描画データ作成回路105及
びMUX107及びYアドレスカウンタ108に順次入
力される。このときMUX107はベクトル−ラスタ変
換装置103からの出力信号を選択して出力するように
なっているので、Xアドレスカウンタ111にも、各ラ
スタ情報(線分ベクトルA1 〜A8 )が順次入力される
ことになる。これによってX及びYアドレスカウンタか
らは、各ラスタ情報のX- Y座標の値に対応するアドレ
スがアドレスバスAに出力されることになる。
【0047】一方、描画データ作成回路105は、順次
入力したラスタ情報に基づき、図3に示した描画に関す
るルールに従って生成した描画データを、フレームメモ
リ112内の、アドレスバスAに出力されたX- Y座標
の値に対応するアドレスで指定された記憶領域に描画す
る。輪郭線Aを描画した結果としてフレームメモリ11
2は図5(b)に示す内部状態となる。このメモリ11
2への描画データの描画については後述する。
【0048】なお、図5(a)中500Aで示されるよ
うな1升目は1ドットに対応する領域を示し、図5
(b)中500Bで示されるような1升目は1ドットに
対応する描画データを記憶する記憶領域を示している。
【0049】次に図5(b)に示される各升目(記憶領
域)501〜508への描画データの描画処理を図5
(a)を参照しながら説明する。
【0050】ここで、描画データ作成回路105は、2
つのラスタ情報を入力し、これらのラスタ情報(線分の
情報)に基づいて描画処理を施すので、最初の線分A1
が入力されても描画処理は行わない。
【0051】[記憶領域501及び502への描画]記
憶領域501への描画の際には進で来た線分が線分A1
でこれから進む線分は線分A2 であり、一方記憶領域5
02への描画の際には進で来た線分が線分A2 でこれか
ら進む線分は線分A3 である。したがって、いずれの場
合も、上記規則(ロ)に該当することになるのでこの規
則に基づいてそれぞれ値「−1」が生成され、また前記
各領域への描画の際には上記規則(3)が適用されるた
め、記憶領域501及び502にはそれぞれ値「−1」
が描画される。
【0052】[記憶領域503への描画]進で来た線分
が線分A3 でこれから進む線分が線分A4 なので上記規
則(ハ)に該当することになるのでこの規則に基づいて
値「*」が生成され、また、当該領域への描画の際には
上記規則(4)が適用されるため、記憶領域503には
値「*」が描画される。
【0053】[記憶領域504及び505への描画]記
憶領域504への描画の際には進で来た線分が線分A4
でこれから進む線分は線分A5 であり、一方記憶領域5
05への描画の際には進で来た線分が線分A5 でこれか
ら進む線分は線分A6 である。従って、いずれれの場合
も、上記規則(イ)に該当することになるのでこの規則
に基づいてそれぞれ値「+1」が生成され、また前記各
領域への描画の際には上記規則(2)が適用されるた
め、記憶領域504及び505にはそれぞれ値「+1」
が描画される。
【0054】[記憶領域506及び507への描画]記
憶領域506への描画の際には進で来た線分が線分A6
でこれから進む線分は線分A7 であり、一方記憶領域5
07への描画の際には進で来た線分が線分A7 でこれか
ら進む線分は線分A8 である。したがって、いずれの場
合も、上記規則(ハ)に該当することになるのでこの規
則に基づいてそれぞれ値「*」が生成され、また前記各
領域への描画の際には上記規則(4)が適用されるた
め、記憶領域506及び507には値「*」が描画され
る。
【0055】[記憶領域508への描画]この場合、進
で来た線分が線分A8で、既に処理済みの線分A1 をこ
れから進む線分とみなす。したがって、これらの情報か
ら上記規則(ハ)が適用されることになるのでこの規則
に基づいて値「*」が生成され、また当該領域への描画
の際には上記規則(4)が適用されるため、記憶領域5
08には値「*」が描画される。続いて、輪郭線Bのベ
クトル情報に基づくラスタ情報として図5(c)に示す
ような線分ベクトルB1 〜B16が得られたとする。これ
らのラスタ情報つまり線分ベクトルB1 〜B16について
の描画処理も上記輪郭線Aについての描画処理と同様な
処理が行われることになり、結果としてフレームメモリ
112の内部状態は図5(d)に示す内容になる。しか
しフレームメモリ112に既にデータが書き込まれてい
る領域(この場合は、輪郭線Aについての描画データが
書き込まれている領域)に、さらにデータを書き込む場
合は次のような処理を行う。すなわち、図5(b)にお
いて、記憶領域508、記憶領域501、記憶領域50
2に描画データを書き込む場合であるので、次にそれら
の領域への描画処理を説明する。
【0056】[記憶領域508への描画]進で来た線分
が線分B1 でこれから進む線分が線分B2 なので上記規
則(ロ)に該当することになるので、この規則に基づい
て値「−1」が生成される。また記憶領域508には既
に値「*」が書き込まれている。よって当該領域への描
画の際には上記規則(7)が適用されるため、記憶領域
508には、値「*」と値「−1」とを加算した値「−
1」が描画される(図5(d)参照)。
【0057】[記憶領域501への描画]進で来た線分
が線分B2 でこれから進む線分が線分B3 なので上記規
則(ロ)に該当することになるので、この規則に基づい
て値「−1」が生成される。また記憶領域508には既
に値「−1」が書き込まれている。よって当該領域への
描画の際には上記規則(5)が適用されるため、記憶領
域501には、値「−1」と値「−1」とを加算した値
「−2」が描画される(図5(d)参照)。
【0058】[記憶領域502への描画]この場合も上
記記憶領域501への描画データの描画処理と同様な処
理が行われる。
【0059】以後同様に、図2に示すパターン200の
輪郭線C〜Gについも、上述したような描画処理を施す
ことにより、フレームメモリ112の描画状態は図6に
示す内容になる。なお、図6中に示される実線はアウト
ライン(輪郭線)を示しており、これは説明用のために
表現しているのであって、実際には、フレームメモリ1
12には、例えば「0」、「*」、「−1」、「−
2」、「+1」などの値のみが記憶される。
【0060】図6においては、輪郭線A〜Gの7つの輪
郭線についての描画データが描画されているので、領域
601及び602では7本の線が重なっていることにな
る。この状態で、図2に示すパターン200の輪郭線H
についての描画処理を施すと、図6に示されるフレーム
メモリ112の内部状態は、図7に示す内容に変化す
る。
【0061】ここで図7に示す内部状態において、左か
ら2列目の列700に注目すると、図6に示されるフレ
ームメモリ112に既に描画されている値(描画デー
タ)が「−7」以外の場合は、図3に示した描画に関す
るルールがそのまま適用されているので、各記憶領域
(1ドット分の領域)に既に記憶されている値と、輪郭
線Hの下向きの輪郭線を描画する際に生成されたラスタ
情報としての値「−1」とを加算した値が該当する記憶
領域に描画されているのが分かる。
【0062】ところが、既に値「−7」が描画されてい
る領域601及び領域602においては、値はそのまま
になっているのが分かる。また領域601及び領域60
2の右側に隣接する領域701及び領域702において
は、記憶内容を更新させるような輪郭線が描画されてい
ないにも係わらず、記憶内容が更新されているのが分か
る。
【0063】これは、この実施例では同一方向の線が8
本以上重なった場合、つまり描画方向によって生成され
たデータと既にメモリに書き込まれているデータとの加
算結果がオーバフローを起こすような場合は、図3に示
した描画に関するルールを適用しないようにしているか
らである。
【0064】なお、この実施例では描画データを4ビッ
トで表現するようにしているので、同一方向の線が8本
以上重なった場合は描画に関するルールを適用しないよ
うにしているが、描画データを何ビットで表現するかに
よって、重畳可能な同一方向の線の数も異なってくる。
【0065】例えば、3ビットで表現すれば8通りのデ
ータを表現することができ、また5ビットで表現すれば
32通りのデータを表現することができる。ここで、実
際の輪郭線を表現可能なデータの種類は、上記8通り及
び32通りのデータのうち、値が「0」及び「*」を表
現するデータを除くと、それぞれ6通り及び30通りと
なり、よって下向き方向と上向き方向については、それ
ぞれ3ビット表現では3通り、5ビット表現では15通
りとなる。従って3ビット表現では同一方向の線の重な
りが3本までは描画に関するルールが適用可能であり、
一方、5ビット表現では同一方向の線の重なりが15本
までは描画に関するルールが適用可能である。
【0066】なお、図2に示したパターン200の各輪
郭線全てについて図3に示した描画ルールを適用して描
画処理を施した場合、フレームメモリ112の内部状態
は図8に示す内容となる。図8において、図6に示す領
域601及び領域602にそれぞれ対応する領域801
及び領域802には、オーバフローを起したときに生成
されるデータとしての値「*」が書き込まれている。
【0067】次に、同一方向の線の本数が予め設定され
た数を超えている場合の描画処理を図6、図7を参照し
て説明する。
【0068】について説明する。
【0069】図6において、描画データ作成回路105
は、輪郭線Hの下向きの輪郭線についての描画処理にお
いて、記憶領域601への描画データの描画処理の際
に、上記描画方向ルール300Aに基づいて生成したデ
ータ(値「−1」)と、記憶領域601から読出したデ
ータ(値「−7」)とを加算し、この加算結果がオーバ
フローしているか否かを判定する。この加算結果は値
「−8」となりオーバフローであると判定し、オーバフ
ローフラグを制御回路101及びXアドレス更新回路1
06に出力する。
【0070】制御回路101では、MUX107に対し
てXアドレス更新回路106からの出力信号を選択する
ように指示するとともに、Xアドレスカウンタ111に
対して現在のX座標の値に対応するアドレス値をレジス
タ113に退避するよう指示する。またこのときYアド
レスカウンタ108に対してはカウンタ値(アドレス)
のカウントアップを停止すべき旨を通知する。
【0071】一方、Xアドレス更新回路106には、制
御回路101から描画対象のパターン200の描画方向
が左回りであるということが既に通知されているので、
Xアドレス更新回路106は、この左回りという情報と
現在の輪郭線の描画方向とに基づいて、現座のX座標の
値に対応するアドレス値に、「−1」或いは「+1」を
加算する旨の指令をXアドレスカウンタ111に与え
る。
【0072】この例では左回りで現在の輪郭線の描画方
向が下向きのときオーバフローが発生したので、Xアド
レスカウンタ111には「+1」すべき旨の指令が与え
られることになり、結果としてアドレスバスAには、+
1インクリメントされたX座標の値に対応するアドレス
値とオーバフローした際のY座標の値に対応するアドレ
ス値とが出力される。これらのアドレスの値に対応する
記憶領域は、図6において記憶領域603であるとす
る。
【0073】すると描画データ作成回路105は、描画
方向ルール300Aに基づいて生成したデータ(値「−
1」)と、記憶領域603から読出したデータ(値
「0」)とを加算し、この加算結果がオーバフローして
いるか否かを判定する。この場合、加算結果は値「−
1」となりオーバフローにはならないので、加算結果を
記憶領域603に書き込む(この結果、図7に示す記憶
領域701内の内容となる)とともに、制御回路101
及びXアドレス更新回路106にオーバフローフラグを
解除する指令を出力する。
【0074】制御回路101は、レジスタ113に対し
て、保持しているX座標の値に対応するアドレス値をX
アドレスカウンタ111に復帰させるよう指示する。ま
たYアドレスカウンタ108に対するカウントアップの
停止命令を解除する。
【0075】これによりアドレスバスAには、復帰され
たX座標の値に対応するアドレス値とYアドレスカウン
タ108によってカウントアップ(+1インクリメン
ト)されたY座標の値に対応するアドレス値とが出力さ
れることになる。
【0076】これらのアドレス値で指定された記憶領域
は、図6において記憶領域602であるとする。この記
憶領域602への描画データの描画の際にも、上記描画
方向ルール300Aに基づいて生成したデータ(値「−
1」)と、記憶領域602から読出したデータ(値「−
7」)との加算結果が値「−8」となるのでオーバフロ
ーとなる。この場合も上記同様な描画処理が行われるこ
とになる。
【0077】なお、もし移動した座標アドレス上でも8
本以上重なったら(加算結果がオーバフローした場
合)、8本以上重ならなくなるまでさらに座標アドレス
を閉輪郭線(図形)の内側に移動して、その座標アドレ
スで示される記憶領域から読出されたデータと、描画方
向ルール300Aに従って生成されたデータとの演算結
果を、フレームメモリ112に書き込み、その後座標ア
ドレスを元に戻す。
【0078】次に、ドットパターン変換装置114よ
る、図7に示したような描画データが描画されたフレー
ムメモリ112のX−Xラインについてのドットパター
ン変換処理動作を、図7、図9を参照して説明する。
【0079】図9において、(a)は加算器401Aに
入力される図7に示すフレームメモリのX−Xラインに
おけるデータ(描画データ)、(b)はカウントレジス
タ403のカウント値、(c)はAND回路401Dか
ら出力されるフラグ、(d)は判断部402Aから出力
されるフラグ、(e)は判断部402Bから出力される
フラグ、(f)は判断部402Cから出力されるフラ
グ、(g)は判断部402Dから出力されるフラグを、
それぞれ示している。なお、図9(a)に示す各記憶領
域(各升目)と、同図(c)〜(g)に示すそれぞれの
各升目とは対応しており、また同図(c)〜(g)にお
いて斜線が施されている升目の部分はフラグが“1”で
あることを示している。また、図9(a)において90
0で示す値「0」は初期値である。
【0080】ところで、ドットパターン変換装置114
に図9(a)に示すような描画データが順次入力される
と、これらの描画データは、塗り潰し回路401および
輪郭/0・フラグ設定回路402に入力される。
【0081】まず塗り潰し回路401においては、加算
器401Aは、カウントレジスタ403からの値と、フ
レームメモリ112からのデータとを加算して、図9
(b)に示すような加算値を出力する。そして塗り潰し
回路401では、カウントレジスタ403からの値を判
断部401Bによって判断し、また加算器401Aから
の値を判断部401によって判断することにより、これ
らの判断結果を入力したAND回路401Dからは、図
9(c)に示すように、前記各判断部が共に判断基準に
適合すると判断した場合のみ“1”を示す塗り潰しフラ
グを出力することになる。
【0082】一方、輪郭/0・フラグ設定回路402で
は、入力されたデータを各判断部によって各判断基準に
適合するか否かを判断して、適合する場合は負、正、
*、0の各フラグが“1”に設定される。例えば「−
1」が入力された場合には、この値は0より小さいの
で、判断部402Aによってのみ判断基準に適合してい
ると判断され、負のフラグが“1”に設定され出力され
る。
【0083】上述した各フラグは、モード切替回路40
5に入力される。
【0084】塗り潰し処理を行う場合、モードレジスタ
404には、上記(1)の塗り潰し処理モードが設定さ
れるため、Ex・OR回路405Gからは、AND回路
405A、あるいはAND回路405Bの一方の入力端
子にフラグ“1”が入力された場合のみ(図9(c)お
よび(d)参照)“1”の信号が出力される。このよう
な処理がX方向の各ラインについて行われることによ
り、図10に示すように原図形に対する塗り潰し処理が
施される。
【0085】なお、図2に示したパターン200の各輪
郭線全てについて、図3に示した描画に関するルールの
みを適用して描画処理を施した場合は、図8に示される
フレームメモリ112の記憶情報を走査して塗り潰し処
理を行うことになり、結果として図11に示すような塗
り潰し処理が施されることとなる。すなわち、図11に
示す塗り潰し処理された図形は、図10に示した塗り潰
し処理された図形とは異なり、原図形(図2参照)に対
する忠実な塗り潰し処理が施されていない。
【0086】また輪郭処理を行う場合は、モードレジス
タ404には、上記(2)の輪郭処理モードが設定され
るため、Ex・OR回路405Gからは、AND回路4
05B、405C、405Dの内、いずれかのAND回
路の一方の入力端子にフラグ“1”が入力された場合の
み(図9(d)、(e)および(f)参照)“1”の信
号が出力される。このような処理がX方向の各ラインに
ついて行われることにより、図12に示すように、原図
形に対する輪郭処理が施される。
【0087】さらに反転処理を行う場合は、モードレジ
スタ404には、上記(3)の反転処理モードが設定さ
れるため、Ex・OR回路405Gからは、AND回路
405A及び405Bの内、いずれかのAND回路の一
方の入力端子にフラグ“0”が入力された場合のみ(図
7(c)及び(d)参照)、“1”の信号が出力され
る。このような処理がX方向の各ラインについて行われ
ることにより、図13に示すように、原図形に対する反
転処理が施される。
【0088】上記各処理の出力結果はビットマップディ
スプレイ上に表示したり、プリンタでプリントアウトす
れば良い。
【0089】以上説明したように本実施例によれば、図
形等の輪郭が重なっている場合であっても、フレームメ
モリには所望のパターンの輪郭に対応する描画データが
描画されることになるので、描画モードが例えば塗り潰
し処理モードであった場合は、記憶手段の記憶内容に基
づいてドットパターンを出力することにより、所望のパ
ターンに対応する正確な塗り潰しを行うことができる。
【0090】また、描画に関するルールの制約による重
畳可能な同一方向の線の重なり本数(実施例では7本)
を超える、同一方向の線の重なりがあった場合であって
も、原図形に対する正確な塗り潰しを行うことができ
る。
【0091】
【発明の効果】以上説明したように本発明によれば、予
め設定された描画に関するルールに従って、所定のパタ
ーンの輪郭線に対応するラスタ情報を記憶手段(フレー
ムメモリ)に描画するようにしたので、所望のパターン
の輪郭に対応する描画データが描画されることになり、
塗り潰し処理を行う際には、従来の如く、重なった部分
のドットパターンの情報が欠落することなく、所望のパ
ターンに対応する正確な塗り潰し処理を行うことが出来
るとともに、所望のパターンに対応する輪郭を抽出する
ことができる。
【0092】また、描画に関するルールの制約による重
畳可能な同一方向の線の重なり本数を超える、同一方向
の線の重なりがあった場合であっても、所望のパターン
に対する正確な塗り潰しを行うことができる。
【図面の簡単な説明】
【図1】本発明に係るアウトラインデータ描画装置の一
実施例を示すブロック図。
【図2】描画対象となるパターンの一例を示す図。
【図3】本発明に係る描画に関するルールの一例を示す
図。
【図4】ドットパターン変換装置の構成を示す概略構成
図。
【図5】フレームメモリへの描画データの描画を説明す
るための説明図。
【図6】描画処理されたフレームメモリの内部状態を示
す図。
【図7】描画処理されたフレームメモリの内部状態を示
す図。
【図8】描画処理されたフレームメモリの内部状態を示
す図。
【図9】ドットパターン変換装置のドットパターン変換
処理を説明するための説明図。
【図10】本発明に係るフレームメモリへの描画処理を
行った後、塗り潰し処理を施した図形を示す図。
【図11】本実施例の描画に関するルールのみを適用し
て、フレームメモリへの描画処理を行った後、塗り潰し
処理を施した図形を示す図。
【図12】輪郭処理された図形を示す図。
【図13】反転処理された図形を示す図。
【図14】従来のアウトラインデータ描画装置の塗り潰
し処理を説明するための説明図。
【図15】従来のアウトラインデータ描画装置の塗り潰
し処理を説明するための説明図。
【符号の説明】
101…制御回路、102…パターン記憶装置、 103…ベクトル−ラスタ変換装置、104…フリップ
フロップ回路、 105…描画データ作成回路、106…Xアドレス更新
回路、 107…マルチプレクサ、108…Yアドレスカウン
タ、 109、110…バッファ、111…Xアドレスカウン
タ、 112…フレームメモリ、113…レジスタ、 114…ドットパターン変換装置、300A…描画方向
ルール、 300B…描画ルール、401…塗り潰し回路、 402…輪郭/0フラグ設定回路、403…カウントレ
ジスタ、 404…モードレジスタ、405…モード切替回路。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】X- Y座標の値に対応するアドレスで指定
    される各記憶領域に、図形等のパターンの輪郭を示すベ
    クトル情報に基づくラスタ情報に対応する所定のデータ
    が描画される記憶手段と、予め設定された描画に関する
    ルールに従って、前記ラスタ情報と前記ベクトル情報に
    対応する輪郭ベクトルの描画方向に関する情報とを包含
    したデータを作成し、該データと描画対象の前記記憶領
    域から読出したデータとを演算するとともに、該演算結
    果がオーバフローしていないときのみ当該演算結果を当
    該記憶領域に描画する描画データ作成手段と、前記演算
    結果がオーバフローを起した場合は、現在のX- Y座標
    の値に対応するアドレスを退避させ、さらにX- Y座標
    の値に対応するアドレスを、前記パターンの輪郭の内側
    に移動するように更新するとともに、該更新後のアドレ
    スで指定される記憶領域から読出されたデータと、前記
    生成されたデータとに基づいて演算された演算結果がオ
    ーバフローしなくなるまで、X- Y座標の値に対応する
    アドレスを順次更新し、その後、前記退避されている現
    在のX- Y座標の値に対応するアドレスを復帰させる制
    御手段とを具えたことを特徴とするアウトラインデータ
    描画装置。
JP3133059A 1991-06-04 1991-06-04 アウトラインデータ描画装置 Expired - Fee Related JP2762768B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3133059A JP2762768B2 (ja) 1991-06-04 1991-06-04 アウトラインデータ描画装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3133059A JP2762768B2 (ja) 1991-06-04 1991-06-04 アウトラインデータ描画装置

Publications (2)

Publication Number Publication Date
JPH04358292A JPH04358292A (ja) 1992-12-11
JP2762768B2 true JP2762768B2 (ja) 1998-06-04

Family

ID=15095868

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3133059A Expired - Fee Related JP2762768B2 (ja) 1991-06-04 1991-06-04 アウトラインデータ描画装置

Country Status (1)

Country Link
JP (1) JP2762768B2 (ja)

Also Published As

Publication number Publication date
JPH04358292A (ja) 1992-12-11

Similar Documents

Publication Publication Date Title
JP2634851B2 (ja) 画像処理装置
JP2762768B2 (ja) アウトラインデータ描画装置
JPH05269956A (ja) 任意の線に沿って組版する電子組版装置
JPH03144782A (ja) 三次元図形処理装置
US5428719A (en) Method and apparatus for generating high-quality pattern in accordance with an edge defining a character pattern
EP0391401A2 (en) Method and apparatus for generating high-quality pattern
JP2806679B2 (ja) 文字発生装置
JP2748787B2 (ja) 曲線発生装置
JP2562540B2 (ja) 図形処理方法
JPH0721397A (ja) 多角形の塗りつぶし描画方法
JPH0315193B2 (ja)
JP3517982B2 (ja) 図形描画装置
JP2782904B2 (ja) 多角形塗りつぶし方式
JPS58115676A (ja) デ−タ書込み方式
JPH04167082A (ja) ベゼー曲線区間の多角形近似方式
JP2804028B2 (ja) レンダリングプロセツサ
JPH0823741B2 (ja) ベクトル文字もしくはベクトル図形の処理方法
JP2613653B2 (ja) 画像処理装置
JP2551322B2 (ja) 画像再生方法および装置
JPH09282474A (ja) 階調画像生成方法
JP3055306B2 (ja) データ出力装置
JPS6083853A (ja) ドツト補間制御方式
JP3700810B2 (ja) データ変換方法および装置
JPS6117189A (ja) 図形処理装置
JPH0612497A (ja) 画像処理方法及びその装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees