JPH0820867B2 - 塗潰し図形発生方法 - Google Patents

塗潰し図形発生方法

Info

Publication number
JPH0820867B2
JPH0820867B2 JP4257785A JP25778592A JPH0820867B2 JP H0820867 B2 JPH0820867 B2 JP H0820867B2 JP 4257785 A JP4257785 A JP 4257785A JP 25778592 A JP25778592 A JP 25778592A JP H0820867 B2 JPH0820867 B2 JP H0820867B2
Authority
JP
Japan
Prior art keywords
memory
boundary line
point
line
filled
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 - Lifetime
Application number
JP4257785A
Other languages
English (en)
Other versions
JPH05216466A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP4257785A priority Critical patent/JPH0820867B2/ja
Publication of JPH05216466A publication Critical patent/JPH05216466A/ja
Publication of JPH0820867B2 publication Critical patent/JPH0820867B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 【0001】 【産業上の利用分野】本発明は、二次元領域の環境線位
置を入力情報として用いることにより、その内部を塗潰
した図形を発生する装置に関するものであり、ラスタ・
スキャン型CRTを用いたカラー・グラフィック・ディ
スプレイなどに適用できるものである。 【0002】 【従来の技術】従来の塗潰し図形発生装置では、境界線
内部を塗潰しすために図形を一方向に走査し、各走査に
おいて境界線と交差してから次に交差するまでの間を塗
潰していた。しかしこの方法では図1に示すようなX−
Y座標における境界線の内部をX座標方向の走査によっ
て塗潰す場合、特異点P1(1,7)、P2(6,6)、P
3(4,4)、P4(6,2)、P5(1,1)があるために、
格子点(2,7)〜(7,7)、(7,6)、(7,4)、(7,
2)、(2,1)〜(7,1)も塗潰されてしまうという欠
点があった。このような特異点を含む領域を塗潰す方法
として特開昭55-10656“図形塗潰し方法とその装置”に
て知らせる方法がある。これは、Y座標方向の格子点の
数だけX座標方向の格子点座標を記憶するレジスタを設
け、境界線を構成する点列の座標位置が与えられる毎
に、特異点を除いた点についてY方向座標に対応するX
方向の座標位置をそのY方向座標に対応するレジスタに
セットしたり、概にレジスタにセットされている場合に
は新たにセットする座標と概にセットされている座標の
間のドットを反転することで塗潰す方法である。しか
し、この方法で、同じY軸上に塗潰し範囲が複数存在す
る場合は、即ち凹形図形のように窪んだ所がある場合に
はモノクロの場合には偶数回の反転で元に(黒または
白)に戻るがカラーの場合には色コードで埋めてしまう
ため誤った塗潰しを行なってしまう。これは、最終の形
を見ずに境界線の点列が与えられる毎に、遂次処理して
しまうために起こるものである。また、X方向に進む境
界線は、その環境線の前後の進み方により環境線上が塗
潰されたり、塗潰されなかったりし、境界線の内部だけ
を塗潰すことができないという欠点があった。このた
め、境界線のみを一担ワープレーンに記憶し、全ての境
界線が整った時点で走査線毎に境界線との交点を求めて
各交点の間を塗潰す方法が、B.D.Acklan and N.H.West
e:“The Edge Flag Algorithm -A Full Method For Ra
ster Scan Displays" IEEE Trans, on Conp, Vol C-30,
No.1 Jan 1981.らにより提案された。 【0003】 【発明が解決しようとする課題】これらの従来技術は、
特異点除去のために、走査線以外の格子点情報を参照す
る必要があり処理時間が増大するという欠点があった。 【0004】また、ラスタ・スキャン型CRTでは、高
速表示のためにリフレッシュメリ内のX軸方向(ラスタ
スキャンの方向)に並んだ複数ドットを並列にアクセス
できるようにリフレッシュメモリを構成し、その後読み
出された複数ドットの並列一直列変換をして映像信号を
発生するが、このようなメモリ構成のリフレッシュメモ
リにおいてX方向に塗潰しの走査を行なう時、一度に使
用できず、複数ドットを並列に塗潰しを行なえず高速化
できないという欠点があった。 【0005】さらに、例えば図1の一部に示す領域上に
別の領域の一部が重なった場合、先に発生した図形の境
界線が新しい図形の塗潰しのため消されてしまうという
欠点があった。 【0006】本発明は、上述したような欠点をなくすこ
とを目的としたもので、第1の目的は、二次元格子上の
点列として発生した領域の境界線データを受領し、その
点列で囲まれた格子点を塗潰すことが可能となり、凸
形、凹形、ドーナツ形、細いくびれのある形、低意の形
状の領域について、その境界線の内部のみを高速に塗潰
すことを可能とする図形処理装置を提供することであ
る。また、他の目的は、複数の領域が重なった場合、先
に発生した境界線が、後から発生した領域で塗潰されな
いような制御が可能な図形処理装置を提供することであ
る。さらに他の目的は、複数の絵素に対して並列に塗潰
し(以下、本明細書において絵素咸いは画素と呼ぶ。)
を実行可能な高速塗潰し図形発生装置を提供することで
ある。 【0007】 【課題を解決するための手段】上記の目的を達成するた
め本発明の特徴とするところは、二次元画像を構成する
絵素の各々の色コードを記憶するメモリを有し、該二次
元画像を構成する塗潰し図形の境界線とその内部に対応
する色コードを発生する塗潰し図形発生方法において、
該塗潰し図形の境界線上の該絵素の各々の座標位置を表
す信号と、該境界線及び塗潰し用の前記色コードを順次
発生し、該境界線上の前記絵素の各々の座標位置を表す
信号に応答して、前記二次元画像の境界線内のすべての
絵素を、塗潰しのため一定の方向へ走査する主走査、及
び該主走査に垂直な方向に該主走査を順次移動する副走
査を行い塗潰すときの、各主走査と前記境界線との交点
が始点・終点である絵素を表す情報を各絵素ごとに発生
し、該始点・終点である絵素を表す情報と、前記境界線
上の前記絵素の各々の座標位置を表す信号と、前記色コ
ードに応答して、前記メモリ内の前記塗潰し図形の境界
線とその内部に該当するメモリ位置に前記色コードを書
込むに当たり、境界線上の絵素として発生した各々の座
標位置を複数の塗潰し図形に対して蓄積・記憶し、前記
複数の塗潰し図形の任意の一つの塗潰し図形の塗潰しに
際し、当該塗潰し図形の境界線には該当するメモリ位置
に前記境界線に対応する色コードを書込み、当該境界線
の内部に該当するメモリ位置には、当該メモリ位置が前
記蓄積・記憶した他の塗潰し図形の境界線と重なるか否
かを判定し、重ならない場合に限り、前記内部に対応す
る色コードを書込むことにある。 【0008】 【実施例】以下、本発明の一実施例を、図1の境界線の
内部を塗潰す場合を例にとり説明する。説明は、先ず原
理から説明し、次に実際のハードウェアに基づいた回路
で説明することとする。図2は塗潰しの原理を示した図
であり、図2中、201はマイクロプロセッサを含む線
分発生回路、202始点・終点発性回路、203は境界
線メモリ、204は始点・終点メモリ、205は塗潰し
回路、206はリフレッシュメモリである。リフレッシ
ュメモリ206に塗潰し図形を発生させるときの原理を
以下に示す。 【0009】なお、リフレッシュメモリ206はm×n
個の二次元配列された絵素のLビットの表示色コードを
保持するもので、深さ1ビットでm×n個のメッシュか
らなるメモリにて構成されている。境界線メモリ203
は各絵素が表示すべき図形の境界線上にあるか否かを表
わす1ビットのデータを保持するためのもので深さ1ビ
ットでm×n個のメッシュのメモリである。始点・終点
メモリは各絵素が順次塗潰されるべき複数の連続する絵
素列の最初の絵素(始点)又は最後の絵素(終点)のい
ずれか否かを表わす1ビットのデータを保持するための
もので、深さ1ビットでm×n個のメッシュのメモリか
らなる。 【0010】先ず、線分発生回路201は、図1のよう
な二次下格子点上に展開した境界線の点列Pk(k=
1,2 ・・・)のアドレス、すなわち座標位置(Xk,Y
k)を境界線ごとに、その境界線全体を一巡する順番で
発生する。巡回方法は任意であるが、必ず巡回する必要
がある。 【0011】ここで、1つの境界線上の点のアドレスX
k,Ykは 1≦Xkm,1≦Yk≦n −1≦Xk−Xk-1≦1,−1≦Yk−Yk-1≦1 ・・・・・(1) を満足する整数値のデータである。 【0012】線分発生回路201から発生されたアドレ
スは境界線メモリ203とリフレッシュメモリ206に
与えられる。線分発生回路201は、境界線の表示色コ
ードをさらにリフレッシュメモリ206に送出する。こ
の与えられたアドレスに対応した境界線メモリ203上
のビットが1とされ、同時にリフッシュメモリ206の
そのアドレスに対応した位置に境界線の表示色コードが
書込まれる。 【0013】一方、始点・終点発生回路202は受取っ
たアドレスが塗潰しすべき図形の始点又は終点のいずれ
かであるか否かを判別し、判別結果が肯定的のときに、
始点・終点メモリ204の受取ったアドレスに記憶され
ているデータを反転する。従って奇数回書込みを行った
アドレスのビットは1になり、偶数回(零を含む)書込
みを行ったアドレスのビットはメモリ204において0
となる。 【0014】本発明の実施例では、リフレッシュメモリ
206の複数個の水平ドットへの塗潰しデータの書込み
は、リフレッシュメモリ206を図1の垂直方向(ラス
タスキャン方向に垂直)に走査して行ない。この走査を
水平位置に順次+X方向にかえて行う。実際には、非常
に多くの(例えば1024)ドットがリフレッシュメモ
リ206の水平方向に並んでいるので、上述の垂直方向
への走査はくり返し行なわれる。一方、CRT207に
おける表示のためのリフレッシュメモリ206の走査は
通常そうであるように、このメモリの水平走査である。
したがって、塗潰しのためのリフレッシュメモリ206
の走行方向は、表示のためのそれと異なる。これらは後
述するように、塗潰しの高速化のために考えられたが、
本発明の塗潰し動作原理には直接関係しないが始点・終
点発生回路202の動作は塗潰しの走査方向に依存す
る。 【0015】図3(a)の図形において破線の矢印の方
向に塗潰したとき、点Pk-1,Pk+2は塗潰しの始点・
終点に該当するが、点PkはX軸方向にみた場合、特異
点の1つである極小点に該当する。同様に図3(b)の
点PkはX軸方向にみた場合極大点に該当する。始点終
点発生回路202は始点・終点に対する、始点・終点メ
モリ204のビットを反転するが極大点・極小点に対し
ては反転動作をしない。 図1の例で、全境界線につい
て、上記の処理を実施すると、始点・終点メモリ204
は、図4で示した丸表示アドレスにビット1が書込まれ
ることになる。 【0016】1つの領域について、上記の処理が終了す
ると、塗潰し回路205が起動される。 【0017】同様に、第3c,3dのごとく塗潰し走査
方向(図の垂直方向)に並んだ点群Pk-2〜Pk+2に対
しても反転動作をしない。但し、図3(e)、図3
(f)のごとく、塗潰し走査方向に並んだ点群Pk-2
Pk+2の両側の点Pk-3,Pk+3の塗潰し走査に垂直な
方向の位置(x位置)が異なるときには、これらの点群
の内最後の折れ曲がり点Pk+2については反転書込みを
行う。図3(c)、図3(d)では点Pk-3,Pk+3
x位置が同じなので、図3(e)、図3(f)と区別さ
れる。塗潰し回路205は境界線メモリ203および始
点・終点メモリ204を各列(Xアドレス)ごとに上
(Yアドレスの大きい方)から順次読出す。始点・終点
メモリ204からデータ1が各列において、奇数回目に
読出されるとその点(始点)から次のデータ1を出力す
る格子点(終点)が出現するまでその列上の格子点に塗
潰し信号を出力する。ただ、これらの格子点の境界線メ
モリ203のデータが1である場合は、この塗潰し信号
を無効とする。リフレッシュメモリ206では塗潰し信
号が出力された格子点に塗潰し色コードが書込まれる。
その結果、各列ごとにリフレッシュメモリ206には始
点・終点メモリ204から与えられる始点と終点の間の
格子点に塗潰し色コードが書込まれる。この処理が複数
の列に対して同時に行なわれ、必要ならば全列について
順次実施するためくり返えされる。その結果、第1の例
ではリフレッシュメモリ206には図5のリフレッシュ
メモリデータが書込まれる。図5中、白丸表示の点は境
界線の表示色コードが、黒丸表示の点は、塗潰し色コー
ドがそれぞれ書かれている点を示す。これで1つの領域
についての処理が終了し、次に始点・終点メモリ204
の内容をすべてOクリアし、次の領域について上記の処
理を繰返す。 【0018】このようにして塗潰しデータが書込まれる
リフレッシュメモリ206を水平走査して読出し、CR
T207に表示することにより、境界線の内部を所望の
色で塗潰し、境界線も所望の色を有する閉図形が表示さ
れる。 【0019】図3(a),図3(b)のごとき極大又は
極小点を、始点・終点メモリ204に書込んだ場合塗潰
し回路205は、これらの極大又は極小点から下方に連
なる格子点にも塗潰し信号を発生してしまい極大点又は
極小点から始まる本来必要ではない線(ひげ)が表示さ
れることになる。 【0020】また、図3(c)、図3(d)は閉図形の
凸部は凹部に対応するもので、これらにおいて塗潰し走
査方向に並んだ点を始点・終点メモリ204に書込んだ
場合、同様にヒゲが生じることがある。すなわち、同一
垂直並び上の最後の点Pk+2が同一垂直線上の奇数回目
の点のときには、点Pk+2から下方にひげができること
になる。したがって、図3(c)、図3(d)のごと
く、同一垂直並び上の点列は原則として始点又は終点と
して扱わないことにしてある。 【0021】しかし、図3(e)、図3(f)のごと
く、水平方向に伸びる成分を有する二つの輪郭線部分間
にある垂直線上に並んだ点群は、図3(c)、図3
(d)とは別に扱い必要がある。すなわち、図3
(e)、図3(f)の輪郭線部分の上方又は下方には必
ず他の輪郭部線分があり、点Pk+2より下の部分あるい
は点Pk-2より上の部分を塗潰す必要がある。すなわ
ち、この点群Pk-2〜Pk+2は必ず始点又は終点を含ん
でなければならない。図3(e)、図3(f)と図3
(c)、図3(d)の区別は点Pk+3の座標が発生され
るまで分からない。したがって本発明では、最も簡単な
方法として、点Pk-2〜Pk+1は始点又は終点として扱
わず、図3(e)、図3(f)の場合には点Pk+2のみ
を始点又は終点として扱うようにしている。 【0022】なお、始点・終点メモリ204へ反転書込
みをした結果、縮退した図形上の点(例えば図1の
3)からひげが表示されるのを防ぐことができる。 【0023】以上が塗潰しの原理の説明であり、次にハ
ードウエアと対応させて本発明の実施例を説明すること
とする。また、例として図1で示された境界線の内部を
塗潰す場合について説明する。 【0024】図6、図7が、本発明の塗潰し図形発生装
置の回路を示したものであり、601は線分発生回路、
602はY軸方向のアドレスを保持するアップダウンカ
ウンタ、603はX軸方向のアドレスを保持するアップ
・ダウンカウンタ、604はオア・ゲート、605はデ
コーダ、606は色コードレジスタ、628リフレッシ
ュメモリ、618は境界線メモリ、638は始点・終点
メモリ、800は始点・終点発生回路、900は塗潰し
回路である。また、640〜647はオアゲートであ
り、650〜657はアンドゲートである。ここで、リ
フレッシュ・メモリ628はカラーコードのビットの深
さに対応する複数の面(プレーン)を持つが、その各面
及び境界線メモリ618、始点・終点メモリ638は回
路的には同じ構造を持ち、図8にその構造を示した。 【0025】実際には表示画面がX方向、Y方向にそれ
ぞれ1024の格子点を必要するが、以下では、簡単の
ために表示画面がX,Y方向にそれぞれ8個の格子点を
必要とするものとして説明する。図8において、701
〜708はそれぞれ一つの列に属する8個の格子点に対
する8ビットの情報を記憶するモリ素子であり、もとに
線669から与えられる3ビットのアドレス(Yアドレ
ス)に対応する。したがって、このYアドレスに属する
8個の格子点の情報が線718に並列に出力される。な
お、これらのメモ素子701〜708へのデータの書込
みは、それぞれ線720〜727から与えられる書込み
信号(WE)に対応して行われ、書込みデータは線70
9より共通に与えられるようになっている。 【0026】このように、本実施例では、リフレッシュ
メモリ628の各面、環境線メモリ618、始点・終点
メモリ638は、同一のYアドレスを有する複数格子点
の情報を並列に読み出し又、書込み可能に構成されてい
る。これにより、これらのメモリへの書込みを高速化し
ている。 【0027】ここで、図8に示したメモリが図7中リフ
レッシュメモリ628、境界線メモリ618、始点・終
点メモリ638の位置に置かれたとき、信号線720〜
727は信号線620〜627、610〜617,63
0〜637と、信号線710〜717から成る信号線群
718は信号線群629,619,639と各々対応す
ることになる。また、リフレッシュメモリ628に対し
て書込み信号が与えられていないときは信号線683で
示される表示アドレスに従った8ビットの映像データが
信号線629を通してCRTに送出されて図形を表示す
る。この表示アドレスはCRT制御装置(図示せず)に
より与えられ、順次水平走査に応じて更新される。表示
アドレスにより読出された8ビットのデータはCRT制
御装置内に設けられた並列一直列変換回路(図示せず)
によりラスタ走査に同期した直列信号に変換され、CR
T207での画像表示に用いられる。 【0028】なお、リフレッシュメモリ628は複数の
プレーからなり、これらのプレーンが同時に互いに同期
して読出されるのは勿論で、以上の説明はその内の一つ
のプレーンについての説明である。 【0029】前途したごとく、リフレッシュメモリ62
8から複数の格子点の情報を並列に読出した後、これを
並列一変換することは、CRTの速い走査速度とメモリ
の遅い読出し速度をマッチングするのに有効である。本
実施例では、そのような並列槻出し用のリフレッシュメ
モリを用いるという条件で、なおかつ、塗潰し色コード
のリフレッシュメモリへの書込みを複数の格子点に対し
て並列に行うために、塗潰しのための格子点の走査は表
示のための走査方向(X方向)に直角な方向にしてい
る。 【0030】まお、表示画面としてX,Y方向にそれぞ
れ1024個の格子点を有するものを表示するために
は、図8のメモリを次のように変形する。すなわち、そ
れぞれが16Kビットの容量を有する1ビット出力のR
AMを64個使用し、線669アドレス(Yカウンタ6
02の出力)として14ビットのアドレスを用いた、画
面上の同一Yアドレスを有する連続する64個の格子点
の情報を並列に読出せるようにすればよい。このために
は、上述の14ビットのアドレスは、格子点の画面上の
10ビットYアドレスの下位側に、Xアドレス上位側の
4ビットを付加したものを表わすようにYカウンタ60
2を14ビットに変更すればよい。この64個のメモリ
素子の選択用アドレス670としては、格子点のXアド
レスの下位側6ビットをXカウンタ603が表わすよう
に、これを制御すればよい。 【0031】図6中800は始点・終点発生回路であ
り、その内部回路を図9に示した。図9中、801,8
02,803はフリップ・フロップ、804はマルチプ
レクサ、805,815はインバータ、806,806
はナンド・ゲート、808,814はオアゲート、81
0,811はイクスクルーシブ・オア・ゲート、81
2,813はノア・ゲートである。 【0032】図7中、900は塗潰し回路であり、その
内部回路を図10に示した。図10中、990〜997
はナンド・ゲート、920〜927はインバ・ゲート、
910〜917はフリップ・フロップ、930〜937
は3入力アンド・ゲート、940はタンミング(すなわ
ちクロックパルス)発生回路である。また、信号線郡6
19を構成する信号線1650,1657は、境界線メ
モメリ618からの読出しデータを保持しており、図8
で示した信号線710〜717のビット位置に対応す
る。同様に、信号線郡639を構成する信号線1660
〜1667は、始点・終点メモリ638からの読出しデ
ータを保持しており、図8で示した信号線710〜71
7のビット位置に対応する。 【0033】説明の方法として、リフレッシュ・メモリ
628に図5白丸表示の点、境界線メモリ618に図1
白丸表示の点、始点・終点メモリ638に図4白丸表示
の点をこの順次で発生する動作を先ず説明し、次に、リ
フレッシュ・メモリ628に図5黒丸表示の点に塗潰し
色コードが塗潰し回路900によって書込まれる動作を
説明する。 【0034】図11にリフレッシュ・メモリ628、境
界線メモリ618、始点・終点メモリ638にドットを
発生させるときのタイミング・チャートを示した。図6
中、601の線分発生回路は、通常マイクロ・コンピュ
ータなどで構成されるものであり、そのプログラムを図
13に示した。線分発生の際に必要となるドット位置の
更新はBresenhamの方法などの公知のものを使用すれば
よく、詳細なプログラムステップは、文献Bresenham,J.
E著「Algorithm for Computercontrol of a Digital Pl
otter」,IBM Sys.J.4(1)25〜30ページ,1965年
に書かれている。 また、図13のプログラムに従って
送出される回路601からの信号線の変化を図11に示
してある。いま、例えば線分発生回路601は、図1の
任意に選ばれた点P(3,3)を最初の点として、更
に、P(4,4)、P(5,5)、P(6,6)、P
(6,5) ・・・の順に境界線を一巡するように境界線の
点を発生し、最後に最終点として最初の点と同じ点であ
るP(3,3)を発生するものとする。線分発生回路6
01は、信号線680を介して色コードレジスタ606
に境界線の色コードをセットする(図12の120
1)。次に境界線の最初の点P(3,3)のYアドレス
3を信号郡660を通してYアドレスカウンタ602に
セットし、Xアドレス3を信号線郡663を通してXア
ドレスカウンタ603にセットする(図12中の120
2)。信号線666はメモリへの書込み信号であり図1
1に示したようなパルス信号である。デコーダ605
は、この信号が入力されたときに、Xカウンタ603内
のXアドレスをデコードとしてデコード出力信号線61
0〜617のうち、Xアドレスで示された1本のデコー
ド出力信号線に書込み信号を発性する。即ち、今の場合
Xアドレスは3であり、図11のT1のタイミングで信
号線613に書込み信号を発生する。のこ書込み信号
は、オアゲート643とその出力線623を通してリフ
レッシュメモリ628に付加されており、また信号線6
69によりYアドレス3が指定されているため、リフレ
ッシュメモリ628の第5図で示したP(3,3)の位
置に色コードレジスタ606から出力された境界線色コ
ードが書込まれることになる。また同時に書込み信号6
13は、境界線メモリ618にも付加されており、信号
線669によりYアドレス3が指定されているた図1で
示したP(3,3)の位置に信号線671で示されたビ
ット1が書込れることになる。さらにこれと同時に、書
込み信号613は、アンドゲート653とその出力線6
33を通して始点・終点メモリ638に付加されてい
る。ここでアンド・ゲート653の他方の入力信号68
1は、始点・終点発生回路800の出力信号であり、本
信号が有効すなわち“1”であるときのみ始点・終点メ
モリ638に書込みが行なわれる。また、このとき始点
・終点メモリ638に書込むデータ信号673は図9中
815で示したインバート・ゲートの出力であるが、イ
ンバート・ゲート815の入力はマルチプレクサ804
の出力と接続されている。このマルチプレクサ804
は、始点・終点メモリ638から読み出したデータ線郡
639のうち、Xアドレスを示す信号線郡670で示さ
れた1つの信号線を取り出すものである。始点・終点メ
モリ638は書込み信号(WE)633が与えられる前
にはYアドレス669に基づき3行目の(Yアドレス
3)の複数のビットデータを出力している。したがっ
て、信号線673にはP(3,3)のデータの反転ビッ
ト、即ちビット1が出力され、始点・終点メモリ638
に、書込みデータとして付加されることになる。 【0035】ここで、始点・終点メモリ638への書込
み許可信号681がいかなる条件で有効になるのかを、
図9と図11を用いて説明することにする。図9中の信
号線666はメモリへの書込み信号である。信号線66
8は線分発性回路601から与えられる信号であり境界
線の向きを示しており線分がX方向の正の向き(Xアド
レスが増加する向き)又は変化しないとき(線分が垂直
方向に移動するとき)に“1”となり(図13中の12
10)X方向が負の向き(Xアドレスが減少する向き)
のとき“0”となる。(図13中の1209)今、P
(3,3)の点ではXアドレスは正の向きであり信号線
668は“1”となっている。信号線664,665は
各々、Xアドレス・カウンタ603に与えられるカウン
ト・アップ、カウント・ダウン信号であり本信号の立下
がりエッジでXアドレス・カウンタ603はカウント・
アップ、カウント・ダウンする。信号線667は線分発
生回路601から出力される信号であり領域を成す境界
線の最終ドットのとき“1”となる(図13中の120
5)。即ち本実施例では、最終ドットのP(3,3)を
書込むときに“1”となる。フリップ・フロップ801
は、初期値“1”にセットされており、フリップ・フロ
ップ802に1回、セットパルスを送出した後は、リセ
ット状態となる。フリップ・フロップ802は領域を構
成する最初のドットを書込んだときのX方向の向きを記
憶するフリップ・フロップであり、フリップ・フロップ
801がセット状態で、しかも信号線664,665が
“1”のときにのみ、書込み信号666により、信号線
668で示されるX方向の向きをフリップ・フロップ8
02は、記憶する、フリップ・フロップ803は、書込
んだドットの一つの前のドットのX方向の向きを記憶す
るフリップ・フロップであり、信号線664又は665
が“1”で書込み信号666が有効となったとき、信号
線668で示されるX方向の向きを記憶する。逆に言え
ば、信号線664も665も“0”のとき、即ち列方向
に移動しているときには本フリップ・フロップ803に
対するセット信号は有効とはならない。エクスクルーシ
ブオアゲート811の入力信号線668とフリップフロ
ップ803に接続されており、その出力は今回のX方向
の向きと前回のX方向の向きが同じときに“0”、異な
るときに“1”となる。ノア・ゲート813の出力は、
その入力が両方とも“0”のときに“1”なるものであ
り、ここでは今回のX方向の向きと前回のX方向の向き
が同じであり、しかも最初のドットではなく、しかも信
号線664又は665によりカウント・パルスが発生し
ているときにノアゲート813の出力は“1”となる。
エクスクルーシブ・オア・ゲート810の入力はフリッ
プ・フロップ802と803に接続されており、その出
力は最初のドットのX方向の向きと前回のX方向の向き
が同じときに“0”となる。「ノア・ゲート812の出
力は、最初のドット向きが同じで、しかも領域の最終ド
ットであることを示す信号線667が“1”のときに
“1”となる。また信号線681は上記2つのノア・ゲ
ート812,813の出力のオアとなっており、図11
に示すタイミングで、信号線681が“1”となり始点
・終点メモリ638への書込みを有効とする。 【0036】以上、説明したように境界線の最初の点P
(3,3)では、フリップ・フロップ801がセット状
態にあるため、信号線681が有効とはならず始点・終
点メモリ638の書込みはなされない。 【0037】以降、線分発生回路601は信号線66
1,662によりYアドレス、カウンタをカウントアッ
プダウン(図13中の1213,1214)し、さらに
信号線664,665によりXアドレス・カウンタをカ
ウント・アップダウン(図13中の1209,121
0)し、書込み信号666により(図13中の121
5)、図5の白丸表示の位置にコードレジスタ606か
ら出力された境界線色コードがリフレッシュメモリ62
8に、図1の白丸表示の位置に信号線671で示された
ビット1が境界線メモリ618に書込まれることにな
る。またこれと同時に、図11に示したような信号線6
81“1”となる位置で始点・終点メモリ638に書込
み信号が有効となり、始点・終点メモリ638から読み
出したデータの反転データが始点・終点メモリ638に
同一アドレスに書込まれることになる。この結果、図4
で示した白丸表示の位置にビット1が書込まれる。図4
中、P(4,4)は図11のT2のタイミングでビット
1が書込まれたT10のタイミングで再度書込みが行なわ
れるため、結果としてビット0が書込まれている。また
図4中、P(6,6)、P(6,5)、P(6,4)、
P(6,3)では信号線664及び665が無効である
ため、P(6,2)ではエクスクルーシブ・オア・ゲー
ト811の出力が“1”であるため、P(1,7)、P
(1,6)、P(1,5)、P(1,4)、P(1,
3)、P(1,2)では信号線664及び665が無効
であるためP(1,1)ではエクスクルーシブ・オア・
ゲート811の出力が“1”であるため、書込み許可信
号線681が有効とならず始点・終点メモリ638の対
応するビットは初期値のビット0のままとなっている。
また図4中、P(3,3)は境界線の巡回の最初、即ち
1ではフリップフロップ801がセット状態であるた
め、信号線681は無効となっていたが、巡回の最後、
即ちT21ではエクスクルーシブ・オア・ゲート810の
出力が“0”となり、インバート・ゲート810の出力
が“0”となりインバート・ゲート805の出力も
“0”であるため、信号線681が有効となりP(3,
3)の位置に巡回の最後にビット1が書込まれる。 【0038】以上説明してきたように、始点・終点発生
回路800により、始点・終点メモリ638に極大・極
小点、及び垂直方向から水平方向に折れ曲がる点を除去
した点列が発生されるとこになる。 【0039】次に、リフレッシュメモリ628に、図5
黒丸表示の点に塗潰し色コードが塗潰し回路900によ
って書込まれる動作を説明する。 【0040】図10の本塗潰し回路900Xアドレスに
対応するビット塗潰し回路を並列に持っており、一つの
同一Yアドレスに対する8箇の点列に対して塗潰しを同
時に並列に実行するものである。本発明では簡単のため
1列(具体例には図5のXアドレス2の縦列)を塗潰す
場合を例にとって説明することにする。塗潰しの起動は
図13の1218で行なわれ、信号線682により図1
0の940で示したタイミング発生回路から図11に示
したようなリフレッシュメモリ・メモリ書込み信号69
8が送出される。また、図10中のフリップ・フロップ
910〜917は初期状態はリセット状態である。信号
線1652は、信号線郡619のうちのXアドレス2に
対応するデータ線であり、境界線メモリ618に格納さ
れたXアドレス2に対応するデータを示す。また信号線
1662は、信号線郡639のうちのXアドレス2に対
応するデータ線であり、始点・終点メモリ638に格納
されたXアドレス2に対応するデータを示す。今、Yカ
ウンタ602は初期値7にセットされており(図13の
1217)、P(2,7)の位置には境界線メモリ、始
点・終点メモリともビット0が書かれているため信号線
1652,1662とも“0”となっている。またフリ
ップ・フロップ912はリセット状態であるため、T1
のタイミングで信号線698に書込み信号が発生しても
信号線692は書込みパルスは発生しない。また信号線
698は図6の604で示したオア・ゲートの入力とな
っており、本信号の立下りエッジでYアドレス・カウン
タ602をカウント・ダウンさせる。これにより、境界
線メモリ618、始点・終点メモリ638のP(2,
6)の位置からデータが読み出され信号線1652,1
662にビット1が乗ることになる。また、フリップ・
フロップ912は依然としてリセット状態であるため、
2のタイミングで信号線692には書込みパルスは発
生しない。但し、このとき信号線1662が“1”とな
っているため、T2のタイミングでナンド・ゲート99
2が有効となり、T2の立上りエッジでフリップ・フロ
ップ912がセット状態になる。また信号線698によ
りYアドレス・カウンタ602はカウント・ダウンされ
る。これにより境界線メモリ618、始点・終点メモリ
638のP(2,5)の位置からデータが読出され信号
線1652,1662にビット0が乗ることになる。 【0041】またフリップ・フロップ912がセット状
態であることと、信号線1652がビット“0”の状態
であることから、T3のタイミングまで信号線692に
書込み信号パルスが発生することになる。この書込み信
号パルスは図7のオア・ゲート642を通してリフレッ
シュメモリ628に付加されており線分発生回路601
から発生し、色コード発生回路606により記憶された
塗潰し色コードが図5中のP(2,5)に書込まれるこ
とになる。以下、同様にしてT4,T6のタイミングで、
図5中のP(2,4)、P(2,3)の位置に塗潰し色
コードが書込まれることになる。また、T6のタイミン
グでは、フリップ・フロップ912がセット状態にある
が信号線1652が“1”の状態にあるためにアンド・
ゲート932が無効となり書込み信号692に書込みパ
ルスは発生しない。またT6のタイミングでナンド・ゲ
ート992が有効となりT6の立下りエッジでフリップ
・フロップ912は反転し、リセット状態となる。即
ち、信号線692に書込みパルスが発生するのは1回始
点・終点メモリ638から“1”が読み出された次の点
列から、次に“1”が読み出されるまでの間で、境界線
メモリが1でない点列である。このように境界線を塗潰
しの範囲としないことにより塗潰し走査時に複数個の境
界線分が現われても境界線の内部のみを塗潰すことが可
能となる。 【0042】以上、図5のXアドレスの縦列を例にとっ
て説明したが、本塗潰し回路では一つのYアドレスに対
して、全てのXアドレスに対応するデータに対して上記
操作を行なうため、図5中、P(3,4)、P(5,
4)もT4のタイミングで塗潰れることになる。これに
より図5で示した白丸表示の点に境界線の色コードが、
黒丸表示の点に塗潰しの点に境界線の色コードが、黒丸
表示の点に塗潰しの点コードが書込まれ、塗潰し図形を
発生することが可能となる。 【0043】以上の処理後、始点・終点メモリをクリア
することにより、次の領域の図形を最初の図形の領域に
重ねて塗潰することが可能となる。ただし境界線メモリ
618の内容は領域ごとにはクリアしない。すなわち境
界線メモリ618には境界線データを順次蓄積してゆ
く。このようにすると境界線メモリ618の内容が1の
点については、リフレッシュメモリ628に塗潰しデー
タが書込まれることはないからいったん境界線データを
書込んだ、リフレッシュメモリ628上の点は、後から
発生した塗潰しデータで消されるようなことは無くな
り、いったんリフレッシュメモリ628に書込んだ境界
線データはつねに保存される。 【0044】いっぽう、新たに受領した境界線データは
すべてリフレッシュメモリ628へ書込まれるが、その
書込みはすでに書込まれているデータに関係なく、つね
に新しい境界線データを書込むようにしてもよい。この
ようにすると複数の領域図形が重なる場合でも、リフレ
ッシュメモリ628内の境界線データは塗潰しには影響
されずに、その表示色コードが保持されることになる。
ただし、この場合は境界線同志が重なった場合は、後か
ら書込んだ境界線の表示コードが、保存される。境界線
同志の重なりについては新たに境界線データを受領した
とき、境界線メモリ618を読出し、そのビットが1の
ときは、重なり点であることから、新しい境界線の表示
コードとすでにリフレッシュメモリ628に書込まれて
いる表示コードの論理和をとり、その結果を再度リフレ
ッシュメモリ628に書込むようにする処理を行なうこ
とにより異なった表示コードの境界線の重なり部分は別
の表示コードとすることもできる。 【0045】次に、図6と図7の装置構成の変形例を考
える。まず第1は、始点・終点メモリ638をリフレッ
シュメモリ628で代用する構成である。この場合、線
分発生回路601から座標値Pk(Xk,Yk)が出力
されると、そのアドレス上の境界線メモリ618の内容
を読出し、それが0の場合は、それを1とし、同時にリ
フレッシュメモリ628内の代用プレーンの同じアドレ
ス上の内容をすでにそこに書込まれている内容にかかわ
らず、1とする。いっぽう、境界線メモリ618の内容
が1の場合は、代用プレーン上の内容を反転する。この
ようにして、全境界線の書込みが終了すると、塗潰し回
路900は境界線メモリ618と代用プレーンごとに読
出し、境界線メモリの内容が1の格子点について代用プ
レーンの内容を調べることにより上記の場合と同様にし
て領域の境界線および塗潰しの開始点・終了点を見つけ
ることができる。ただし、この場合、境界線メモリ61
8は塗潰し回路900の動作が終了するたびに全体を0
クリアする。したがつて複数の領域が重なると、先にリ
フレッシュ・メモリ628に書込んだ境界線データすな
わち色コードが後から書込んだ塗潰しデータの影響を受
け、表示コードが変化することがある。したがって、塗
潰しの影響を受けない境界線データの表示コードをリフ
レッシュメモリ628内に作るためには、全領域の塗潰
し処理が終了してから、再度、境界線データだけを発生
し、リフレッシュメモリ628に書込む処理が必要であ
る。 【0046】第2の変形として、図7の破線で示すよう
に境界線メモリ618を省略する構成がある。ただし、
この場合始点・終点メモリ638はリフレッシュメモリ
628での代用はしない。この装置構成では図6の構成
と同じ処理をすること、部分によっては境界線が塗潰し
の対象となり、正しい塗潰しができない。しかし、影響
を受けるのは境界線上の点だけであるから、全領域につ
いて塗潰し処理を実施後、再度、境界線のみを発生し、
リフレッシュメモリ628に書込めば、上記2例と同じ
結果が得られる。 【0047】 【発明の効果】以上、説明してきたように、本説明によ
れば、二次元格子上の点列として発生された領域の境界
線データを受領し、その点列で囲まれた格子点を塗潰し
することが可能となり、凸形、凹形、ドーナツ形、細い
くびれのある形など、任意の形状の領域について、境界
線の内部を塗潰すことができる。 【0048】また、複数の領域が重なった場合、先に発
生した境界線が、後から発生した領域で塗潰されないよ
うな塗潰し図形発生装置を提供することができる。 【0049】また、上記塗潰しを複数の格子点について
並列にできるので、高速化が可能である。
【図面の簡単な説明】 【図1】塗潰す境界線の点列を示した図。 【図2】本発明に係る塗潰しの原理を説明する回路図。 【図3】特異点を示した図。 【図4】始点・終点の点列を示した図。 【図5】リフレッシュメモリ上の境界線色コード及び塗
潰し色コードの点列を示した図。 【図6】本発明による塗潰し図形発生装置の実施例を示
した図。 【図7】本発明による塗潰し図形発生装置の実施例を示
した図。 【図8】図6に示した装置のメモリの構成を示した図。 【図9】図6における始点・終点発生回路を示した結線
図。 【図10】図6における塗潰し回路を示した結線図。 【図11】始点・終点の発生タイミング・チャート。 【図12】図9の塗潰し回路による塗潰しのタイミング
・チャートを示した図。 【図13】図6における線分発生回路の動作のフローチ
ャートを示した図。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 梅沢 清 愛知県尾張旭市晴丘町池上1番地株式会社 日立製作所旭工場内 (72)発明者 大山 光男 東京都国分寺市東恋ヶ窪一丁目280番地株 式会社日立製作所中央研究所内 (72)発明者 青島 利久 東京都国分寺市東恋ヶ窪一丁目280番地株 式会社日立製作所中央研究所内 (72)発明者 米山 貢 東京都国分寺市東恋ヶ窪一丁目280番地株 式会社日立製作所中央研究所内 (56)参考文献 特開 昭49−122625(JP,A) 特開 昭50−141224(JP,A) 特開 昭52−22434(JP,A) 特開 昭55−3069(JP,A) 特開 昭55−103636(JP,A) 特開 昭57−119390(JP,A)

Claims (1)

  1. 【特許請求の範囲】1. 二次元画像を構成する絵素の各々の色コードを記憶
    するメモリを有し、該二次元画像を構成する塗潰し図形
    の境界線とその内部に対応する色コードを発生する塗潰
    し図形発生方法において、 該塗潰し図形の境界線上の該絵素の各々の座標位置を表
    す信号と、該境界線及び塗潰し用の前記色コードを順次
    発生し、 該境界線上の前記絵素の各々の座標位置を表す信号に応
    答して、前記二次元画像の境界線内のすべての絵素を、
    塗潰しのため一定の方向へ走査する主走査、及び該主走
    査に垂直な方向に該主走査を順次移動する副走査を行い
    塗潰すときの、各主走査と前記境界線との交点が始点・
    終点である絵素を表す情報を各絵素ごとに発生し、 該始点・終点である絵素を表す情報と、前記境界線上の
    前記絵素の各々の座標位置を表す信号と、前記色コード
    に応答して、前記メモリ内の前記塗潰し図形の境界線と
    その内部に該当するメモリ位置に前記色コードを書込む
    に当たり、 境界線上の絵素として発生した各々の座標位置を複数の
    塗潰し図形に対して蓄積・記憶し、 前記複数の塗潰し図形の任意の一つの塗潰し図形の塗潰
    しに際し、当該塗潰し図形の境界線には該当するメモリ
    位置に前記境界線に対応する色コードを書込み、当該境
    界線の内部に該当するメモリ位置には、当該メモリ位置
    が前記蓄積・記憶した他の塗潰し図形の境界線と重なる
    か否かを判定し、重ならない場合に限り、前記内部に対
    応する色コードを書込むことを特徴とする塗潰し図形発
    生方法。
JP4257785A 1992-09-28 1992-09-28 塗潰し図形発生方法 Expired - Lifetime JPH0820867B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4257785A JPH0820867B2 (ja) 1992-09-28 1992-09-28 塗潰し図形発生方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4257785A JPH0820867B2 (ja) 1992-09-28 1992-09-28 塗潰し図形発生方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP57181311A Division JPS5971093A (ja) 1982-10-18 1982-10-18 塗潰し図形発生装置

Publications (2)

Publication Number Publication Date
JPH05216466A JPH05216466A (ja) 1993-08-27
JPH0820867B2 true JPH0820867B2 (ja) 1996-03-04

Family

ID=17311075

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4257785A Expired - Lifetime JPH0820867B2 (ja) 1992-09-28 1992-09-28 塗潰し図形発生方法

Country Status (1)

Country Link
JP (1) JPH0820867B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112397004A (zh) * 2019-08-16 2021-02-23 硅工厂股份有限公司 控制器和包括该控制器的显示设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5311331B2 (ja) * 1973-03-24 1978-04-20
JPS5440179B2 (ja) * 1974-04-30 1979-12-01
JPS5222434A (en) * 1975-08-13 1977-02-19 Hitachi Ltd Pattern display unit
JPS553069A (en) * 1978-06-23 1980-01-10 Seiko Instr & Electronics Ltd Plane picture generating system for display device
JPS55103636A (en) * 1979-02-02 1980-08-08 Hitachi Ltd Display unit
JPS57119390A (en) * 1981-01-16 1982-07-24 Tokyo Shibaura Electric Co Shading method

Also Published As

Publication number Publication date
JPH05216466A (ja) 1993-08-27

Similar Documents

Publication Publication Date Title
US4626838A (en) Filled shaped generating apparatus
EP0197412B1 (en) Variable access frame buffer memory
CN1008486B (zh) 图象处理***
KR100328424B1 (ko) 고속카피수단을갖는프레임버퍼를구성하기위한방법및장치
US5621866A (en) Image processing apparatus having improved frame buffer with Z buffer and SAM port
JPS6049391A (ja) ラスタ走査表示システム
Gharachorloo Super buffer: a systolic vlsi graphics engine for real time raster image generation (graphics)
JPH0820867B2 (ja) 塗潰し図形発生方法
EP0062669A1 (en) GRAPHICS AND TEXT IMAGE GENERATOR FOR A GRID SCAN DISPLAY.
JPS6016634B2 (ja) デイスプレイ装置における図形発生方式
JP3092154B2 (ja) ディジタル描画装置
KR100276793B1 (ko) 부화소 마스크 생성장치
JPH06314091A (ja) 輪郭塗り潰し方法及びその回路
JPS6326773A (ja) 図形情報の表示処理方法
JPH09319893A (ja) 画像表示方法およびその表示装置
JPH0573693A (ja) 輪郭塗り潰し方式
JPS6299876A (ja) 多角形の塗りつぶし方式
JPH0754426B2 (ja) ベクトル図形表示装置
RU2230364C2 (ru) Способ формирования произвольных графических объектов и устройство для его осуществления
JPS58138163A (ja) 画信号回転装置
SU1575231A1 (ru) Устройство дл отображени графической информации на экране телевизионного индикатора
Rhodes et al. Three-dimensional colour graphics in real-time
JPH07296176A (ja) 多角形塗りつぶし情報出力方式
JPH0863595A (ja) 画像の回転処理方法およびその装置
JPH011075A (ja) 画像処理装置