JP2690110B2 - 走査変換方法 - Google Patents

走査変換方法

Info

Publication number
JP2690110B2
JP2690110B2 JP63201966A JP20196688A JP2690110B2 JP 2690110 B2 JP2690110 B2 JP 2690110B2 JP 63201966 A JP63201966 A JP 63201966A JP 20196688 A JP20196688 A JP 20196688A JP 2690110 B2 JP2690110 B2 JP 2690110B2
Authority
JP
Japan
Prior art keywords
data
ridge line
block
line
edge
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
JP63201966A
Other languages
English (en)
Other versions
JPH0251786A (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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP63201966A priority Critical patent/JP2690110B2/ja
Priority to US07/390,818 priority patent/US5115402A/en
Priority to EP89308250A priority patent/EP0356103B1/en
Priority to DE68919024T priority patent/DE68919024T2/de
Publication of JPH0251786A publication Critical patent/JPH0251786A/ja
Application granted granted Critical
Publication of JP2690110B2 publication Critical patent/JP2690110B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、輪郭形状で表現された文字や任意図形等の
図形要素を走査線方向の画素データに展開する走査変換
方法に関し、例えば、電子卓上出版(デスクトップパブ
リッシング)装置やいわゆるCAD/CAMシステムやCGシス
テム等に適用し得るものである。
[従来の技術] 例えば、電子卓上出版装置においては、文字や任意図
形等でなる頁情報(図形要素)を適切に表現でき、また
編集処理が容易にできるようなプログラム言語が提案さ
れており、例えば、ポストスクリプト(Post Script)
言語がある。このポストスクリプト言語で記述された頁
記述プログラムは、従来、汎用マイクロプロセッサで処
理され、頁情報は画素データに変換されて画像メモリに
格納された後、プリンタ装置やCRT表示装置等のラスタ
状出力装置に出力されていた。かかる処理の中で、第2
図(A)及び(B)に示すような輪郭形状で表現された
文字や任意図形等の図形要素F1、F2を走査線方向の画素
データに変換する処理(走査変換処理)が、膨大な計算
量を必要とするため、多くの演算時間を要して全体の処
理時間を多大なものとする原因となっていた。
このような点に鑑み、走査変換処理をソフトウェア的
に高速に実現する種々の方法が既に提案されており、そ
のうちの一つの方法として文献「コンピュータ・グラフ
ィックス」(J.D.FOLEY(フォリー)/A.VAN DAM(ヴァ
ンダム)共著、今宮淳美訳、1984年、日本コンピュータ
協会発行、PP466-470)に記載されたものがある。
この方法は、頂点データ列で与えられた第3図に示す
ような被変換対象である図形要素F3について、第4図に
示すように各稜線e1〜e6についてのデータを作成してテ
ーブル状に格納し、これらデータを用いて走査線SLと図
形要素F3の内部とが交わるセグメントを得てこのセグメ
ントを画素に展開するものである。
ここで、第4図に示すyバケットソートテーブルTAB
を作成して格納する点にこの従来方法の特徴があり、こ
のようなテーブルTABを用いることで変換動作が高速に
なるようにしている。
yバケットソートテーブルTABは、画像メモリが格納
し得る走査線数に等しいだけのバケットAyO〜AyNを有
し、各稜線e1〜e6のy座標値の最小値に対応したバケッ
トに、その稜線についてのデータ(以下、稜線エントリ
と呼ぶ)を格納し、それ以外のバケットには、対応する
稜線がないことを示すλを格納する。なお、他の稜線と
交わるy座標値の最小値側の交点が図形要素F3極小値又
は極大値でない交点である、稜線e2及びe5のような稜線
の場合には、図形要素の内外判定を考慮して本来の最小
値より1走査線分だけ大きい座標値を最小値としてテー
ブルTABを作成している。
いずれかのバケットに格納された稜線エントリAe1〜A
e6には、その稜線e1〜e6のy座標値の最大値データyMe1
〜yMe6と、その稜線e1〜e6のx座標値の最小値データxM
e1〜xMe6と、y座標値が1だけ増加したときのx座標値
の増分Δxe1〜Δce6と、y座標値の最小値が共通する稜
線をx座標値の小さい順に繋げるポインタPe1〜Pe6とを
格納している。ポインタPe1〜Pe6におけるλは、これ以
上結ぶ稜線エントリがないことを意味する。
なお、x方向は走査線方向に一致し、y方向は走査線
のインクリメント方向に一致している。
このようなテーブルTABを図形要素の頂点列データが
与えられたとき、作成する。
このようにして作成されたテーブルTABを利用して走
査変換処理を実行する。まず、テーブルTABに稜線エン
トリを有する最小のy座標値に走査線y座標値をセット
する。次いで、その走査線y座標値について、稜線エン
トリを結ぶアクチィブ稜線テーブルTAB1(第5図参照)
を空に初期化する。
これ以降、アクチィブ稜線テーブルTAB1及びyバケッ
トソートテーブルTABが共に、空になるまで、以下の処
理を繰り返す。
(1) アクチィブ稜線テーブルTAB1のx座標値でのソ
ート順を保持しながら、そのときのyバケットソートテ
ーブルTABの情報とアクチィブ稜線テーブルTAB1との情
報と併合して、走査線y座標値にかかる稜線エントリを
結ぶ新たなアクチィブ稜線テーブルTAB1を作成する。
(2) アクチィブ稜線テーブルTAB1の座標値が小さい
方から2個ずつを対としてその間を図形要素内にセグメ
ントとし、そのセグメントを画素に展開する。
(3) 走査線y座標値を最大値とする稜線エントリ
を、次の走査線における展開動作のためにアクチィブ稜
線テーブルTAB1から削除する。
(4) アクチィブ稜線テーブルTAB1に残っている稜線
エントリについて、次の走査線における展開動作のため
に増分データを利用してx座標値を更新する。
(5) かかるx座標値の更新後、x座標値に基づいて
ソーティングし直す。
(6) 走査線y座標値をインクリメントして(1)の
処理に戻る。
このようにして走査変換処理が実行される。
なお、第5図は、走査線y座標値が9の場合の第3図
に示す図形F3に関するアクチィブ稜線テーブルTAB1を示
している。
[発明が解決しようとする課題] ところで、いわゆるA4サイズの用紙に対して10000×1
0000ドットを割り当てた頁記述の方法がある。このよう
な場合に、上述の走査変換方式を適用すると、yバケッ
トソートテーブルTABとして10000個のバケットを要する
ものが必要となり、そのバケットに格納されるエントリ
についてのデータ量までを考慮すると、膨大なメモリ容
量のメモリが必要となる。このような大容量のメモリを
複数個に分けて用意すると、全体の構成が複雑、大型化
する。また、構成を簡易化すべく、走査変換処理部分を
集積回路化(VLSI化)しようとしてもメモリ部分に割か
れる領域が多くなり、実現が困難なものとなる。
そこで、メモリ領域を押さえて集積回路化を実現する
ことも考えられるが、この場合には、走査線のインクリ
メント方向の解像度が低下してしまうこととなる。
また、上述の走査変換方法によれば、図形要素の内外
判定を走査線上のエントリを2個ずつ対にしてその対の
x座標値間が内部とする判定を行なっており、いわゆる
イーブンオッド法(Even-oddrule)に近似した方法を適
用している。
しかし、ポストスクリプト言語では、取り扱うことが
できる図形形状を多くするため、必要に応じてイーブン
オッド法及びいわゆるノンゼロワインディング法のいず
れかを適用できるようにしているが、上述の従来方式で
はこれに応じることができない。
すなわち、第6図(A)及び(D)に示すような稜線
同士が途中において交差する図形要素F4、F7や第6図
(B)、(C)及び(E)に示すような閉曲線の中に閉
曲線が存在する図形要素F5、F6、F8等のいわゆるセルフ
インターセクション(Self intersection)を許した閉
領域の図形要素の全てに対応することができず、第6図
(D)及び(E)に示す図形要素F7及びF8についてだけ
対応できる。逆に言うならば、イーブンオッド法及びノ
ンゼロワインディング法を使い分けることができるなら
ば、頂点列データが同一であるが、中央部の取り扱いが
異なる第6図(A)に示す図形要素F4も第6図(D)に
示す図形要素F7も走査変換処理をし得るのであるが、こ
の場合には、第6図(D)に示す図形要素F7しか走査変
換処理をすることができない。
ここで、イーブンオッド法とは、図形要素の絶対的に
外部にある基準点から半直線を引いたとき図形要素の境
界との交点を基準点から数えてその値が奇数になった境
界位置と次の値の偶数になった境界位置との間が図形要
素の内部と判定する方法である。
また、ノンゼロワインディング法は、図形要素の絶対
的な外部の基準点から延びる半直線を考え、その基準点
における判定パラメータを0とし、半直線と図形要素の
境界とが外積が負の方向に交わるとき判定パラメータを
例えば−1し、半直線と図形要素の境界との外積が正の
方向に交わるとき判定パラメータを例えば+1し、交点
以外の半直線上では判定パラメータの値を変えないよう
にし、半直線上の各点における判定パラメータを求め、
その判定パラメータが0でない部分を内部と判定し、0
の部分を外部と判定する方法である。
なお、第6図(A)〜(C)はノンゼロワインディン
グ法による判定結果を示したものであり、第6図(D)
及び(E)はイーブンオッド法による判定結果を示した
ものである。
本発明は、以上の点を考慮してなされたものであり、
交換のために必要となるメモリ容量が少ない、集積回路
化に容易に応じられる走査変換方法を提供しようとする
ものである。
さらに、複数の内外判定方式を適用し得るようにして
セルフインターセクションを有する多くの図形要素を処
理対象とすることのできる走査変換方法を提供しようと
するものである。
[課題を解決するための手段] かかる課題を解決するため、本発明においては、入力
された図形要素のデータを各頂点についてのデータ毎に
nワードから成るデータとしてブロック化して格納し、
ブロック化された頂点データから同じくnワードから成
るブロック化された稜線データを作成し、これらの稜線
データにかかる稜線について所定方向に辿ったとき走査
線インクリメント方向又はデクリメント方向にトレース
方向が連続する稜線を結ぶようにそれら稜線データのブ
ロックをチェイン化した。そして、稜線データと稜線チ
ェイン情報に基づいて走査線と交差する稜線を検出して
図形要素内部をセグメント化し、そのセグメントを画素
に展開するようにした。更にこの時、ブロック化された
頂点データのデータ数とブロック化された稜線データの
データ数を各々1ブロック当たりnワードとして両者の
記憶装置上に於ける格納エリアを同一のエリアとなるよ
うにして、これらのデータを記憶装置上に隙間無く格納
するように構成した。
尚、上記稜線データが、この稜線データにかかる稜線
を所定方向に辿っていったとき、走査線インクリメント
方向の値が増大していく稜線か減少していく稜線かを示
す稜線傾向データをも含み、この稜線傾向データを図形
要素の内外判定に利用すると好適である。
[作用] 本発明では、頂点データをブロック化して形成した
後、このブロック化した頂点データからブロック化した
稜線データを形成すると共に稜線の変化方向が同一であ
る連続する稜線チェインを形成するようにした。この
時、ブロック化した頂点データと稜線データの1ブロッ
ク当たりのワード数を同一ワード数とすることにより、
頂点データの格納エリアと同一のエリアに稜線データを
隙間無く格納することができるため、記憶装置の利用効
率をほぼ100%とすることができ、メモリ容量を少なく
することができる。
また、内外判定方式としてイーブンオッド方式だけで
なく、ノンゼロワインディング方式をも適用できるよう
にするためには、稜線の変化傾向データをも稜線データ
に含めれば良く、この変化傾向データを用いることで、
ノンゼロワインディング方式における内外判定パラメー
タを変化させることができる。
[実施例] 以下、本発明の一実施例を図面を参照しながら詳述す
る。なお、説明を容易にするため、直線稜線で規定され
る図形要素が1個であり、その図形要素が2次元のもの
であって、かつ白黒図形(階調は有する)のものについ
て当初は説明する。
ここで、第1図はこの実施例における稜線データの作
成処理手順を示すフローチャート、第7図はこの実施例
の機能ブロック図、第8図はこの実施例の概略フローチ
ャート、第9図はそのデータ入力処理の詳細フローチャ
ート、第10図はそのセグメント作成処理及び画像メモリ
に対する格納処理の詳細フローチャート、第11図は頂点
データブロックのワード構成を示す図表、第12図は頂点
データブロックの巡回構造を示す略線図、第13図は処理
対象の図形要素の一例を示す略線図、第14図は稜線傾向
データをも含めた図形要素の一例を示す略線図、第15図
は稜線データブロックのワード構成を示す図表、第16図
は第13図の一例について格納ブロックと稜線との関係を
示す略線図、第17図は稜線チェインの一例を示す略線
図、第18図はこの実施例にノンゼロワインディング方式
を適用した場合の説明に供する略線図、第19図はこの実
施例にノーブンオッド方式を適用した場合の説明に供す
る略線図、第20図〜第25図はそれぞれアクチィブ稜線ポ
インタを結ぶルートを走査線y座標値が特異な値をとる
場合について示した略線図である。
実施例の構成 まず、この実施例の機能ブロック構成を第7図を参照
しながら詳述する。
第7図において、入力レジスタ1及び出力レジスタ2
は、外部の図形要素出力装置(図示せず)とのデータ授
受に供するものであり、制御部3の制御の下にこれらレ
ジスタ1及び2を介して行なわれるデータ授受によって
図形要素データを入力するものであり、入力された図形
要素データは走査変換メモリ4に格納されるようになさ
れている。この格納時には、図形要素データはデータバ
ス5を介して走査変換メモリ4に与えられ、その際のア
ドレスデータは、アドレスレジスタ6に格納された後、
アドレスバス7を介して走査変換メモリ4に与えられる
ようになされている。
なお、図形要素データは、この実施例の場合、図形を
規定する頂点についての座標値データとその頂点につい
ての階調値データでなる頂点データを、稜線を所定方向
(例えば、反時計方向)に辿って並べた頂点データ列で
なる。
この実施例の場合、走査変換メモリ4は、上述のよう
に入力された図形要素データを取り込み格納するメモリ
として用いられる他、入力された図形要素データから各
頂点についての所定のデータをブロック化(構造化)し
て格納するメモリとして用いられ、さらに、図形要素の
各稜線についての所定のデータをブロック化して格納す
るメモリとして用いられる。
この走査変換メモリ4をブロック化して用いる、すな
わち、2次元メモリとして用いる場合のアドレスは、メ
モリブロックアドレスレジスタファイル8に格納されて
いるアドレス及び制御部3が出力したアドレスの双方か
らなるアドレスとなる。ここで、メモリブロックアドレ
スレジスタファイル8に格納されているアドレスは、ブ
ロックを指示するものであり、制御部3から与えられる
アドレスは、ブロック内のどのワードかを指示するもの
である。
メモリブロックアドレスレジスタファイル8は、制御
部3による制御の下、算術演算ユニット(ALU)9がブ
ロック化する処理を実行する際に形成されたアドレスを
格納すると共に、各種の処理中にALU9がブロック番号を
変化させた際にそのブロックのアドレスを出力するよう
になされている。
なお、ALU9は、基本的には、加算、減算及び論理演算
を実行するもので、制御部3の制御の下にブロック番号
をインクリメント動作したり、図形要素の内外判定のた
めの値をインクリメントするために用いられるものであ
り、内部にカウンタ9aを備えている。
また、各種データの作成のために必要となる乗算及び
除算は乗除算器10が実行するようになされている。
制御部3は、マイクロプログラム格納部11に格納され
ている第1図、第8図〜第10図に格納されているマイク
ロプログラムを実行して各部を制御し、図形要素の走査
線方向に沿うセグメントを得、さらに画素に展開するも
のであり、展開された画素データを画像メモリ制御部12
に与えて画像メモリ13に格納させるようにするものであ
る。なお、画像メモリ13に格納された画素データは、適
宜、ラスタ状に読み出されてプリンタ装置やCRT表示装
置等のラスタ状出力装置に与えられて出力される。
実施例の概略処理 次に、制御部3が実行する走査変換処理を第8図を参
照しながら概略的に説明する。
まず、制御部3は、外部の図形要素出力装置から図形
要素データを取り込んでその図形要素データを構造化さ
れた頂点データに変換する(ステップ100)。かかる処
理については、第9図に詳細を示して後述する。
その後、構造化された頂点データから稜線データを作
成する(ステップ101)。この際、頂点データが格納さ
れている走査変換メモリ4のメモリエリアをそのまま稜
線データの格納エリアとしており、この点に本実施例の
一つの特徴がある。なお、かる処理の詳細を第1図に示
し、詳細な説明は後述する。
そして、最後に、稜線データから各走査線方向に沿う
図形要素のセグメントを得てそのセグメントを画素に展
開して画像メモリ13に格納する(ステップ102)。な
お、かかる処理の詳細を第10図に示し、詳細な説明は後
述する。
図形要素データの入力処理 まず、第9図を参照しながら図形要素データの入力処
理について説明する。
制御部3は、出力レジスタ2を介して図形要素出力装
置に対して出力指令を与え、これに応じて図形要素出力
装置が出力した図形要素データ(内外判定方式の指示デ
ータを含む)を入力レジスタ1を介して取込み、走査変
換メモリ4の入力データエリアに格納する(ステップ11
0)。その後、ブロック番号パラメータBLを初期値
(N)にセットすると共に、頂点数パラメータINを初期
値(1)にセットする(ステップ111)。
次に、格納された図形要素データから頂点数パラメー
タINが示す順番の頂点データを取り出し、ブロック番号
パラメータBLが指示する走査変換メモリ3のブロックに
第11図に示すような頂点データを格納する(ステップ11
2、113)。
ここで、1ブロックは、第11図に示すように、例えば
9ワードでなり(実際上は2の累乗個のワードとするこ
とが多い)、この構造化した頂点データを格納する段階
では、第1ワードエリアW1にそのときのブロック番号パ
ラメータBLより1だけ大きいデータ、すなわち、次のブ
ロックを指示するブロック番号データを頂点ポインタと
して格納し、第3ワードエリアW3にその頂点のx座標値
データを格納し、第4ワードエリアW4にその頂点のy座
標値データを格納し、第8ワードエリアW8にその頂点の
階調値データを格納し、他のワードエリアは空のままと
する。
その後、制御部3は、入力された図形要素データの最
後の頂点についてステップ112及び113でなる構造化処理
が終了したか否かを判断し、終了していない場合には、
ブロック番号パラメータBL及び頂点数パラメータINをイ
ンクリメントして上述のステップ112に戻る(ステップ1
14、115)。
これに対して、最後の頂点についても構造化処理が終
了したと判断すると、最後のブロックの頂点ポインタ、
すなわち、第1ワードエリアW1のデータを最初のブロッ
クNを指示するブロック番号データに置換え、その後、
共通ブロックCBL(第12図参照)の頂点ポインタエリアr
peに最初のブロックNを指示するブロック番号データを
格納し、当該図形要素データの入力処理を終了する(ス
テップ116、117)。
かかる後、稜線データの作成処理に進むこととなる。
例えば、第13図に示すようなセルフインターセクショ
ンを有する反時計周りに頂点を結ぶ、頂点v0を始点とす
る8点の頂点v0〜v7からなる図形要素データが入力され
た場合、第12図に示すように各ブロックN〜N+7に各
頂点v0〜v7のデータが格納され、各ブロックN〜N+7
の頂点ポインタ(第1ワードエリアW1のデータ)は巡回
構造となり、また、共通ブロックCBLの頂点ポインタは
最初の頂点のブロックNを指示するデータを格納するも
のとなる。
稜線データ作成処理 次に、第1図を参照しながら、稜線データの作成処理
について説明する。
まず、共通ブロックCBLの頂点ポインタエリアrpeのデ
ータを取り出し、ブロックパラメータBPをそのデータ値
にセットする(ステップ120)。その後、そのデータ値
が指示するブロックと、そのブロックの頂点ポインタで
結ばれている次のブロックのy座標値を取り出し、これ
らy座標値同士を比較し、それらブロックが規定する頂
点を頂点ポインタの順に結ぶ稜線が、y座標値を大きく
する方向に向かう稜線(以下、U稜線(第14図参照)と
呼ぶ)か、又は、y座標値を小さくする方向に向かう稜
線(以下、D稜線(第14図参照)と呼ぶ)かを判別する
(ステップ121、122)。
その稜線がD稜線であると判別すると、ブロックパラ
メータBPをそのブロックの頂点ポインタが指示する値に
更新して、すなわち、次のブロックを指示するものに更
新して上述のステップ121に戻る(ステップ123)。他
方、U稜線であると判別すると、稜線データ格納処理
(ステップ124)に進む。ここで、稜線データの格納エ
リアとしても今まで頂点データが格納されていた走査変
換メモリ4のブロックが使用され、その稜線を、入力さ
れた図形要素データにおける頂点巡回方向に辿っていっ
たその稜線の始点側の頂点についてのデータを今まで格
納していたブロックに稜線データを格納する。
なお、閉曲線においては、頂点数と稜線数とが等しい
ので、上述のように、頂点データを格納していたブロッ
クに稜線データを格納するようにしてもブロックが過不
足することがない。
稜線データブロックは、第15図に示すように、第1ワ
ードエリアW1にアクチィブ稜線ポインタ(aep)を格納
し、第2ワードエリアW2に稜線チェインポインタ(se
p)を格納し、第3ワードエリアW3にy座標値が小さく
側の頂点のx座標値を格納し、第4ワードエリアW4にy
座標値が小さい側の頂点のy座標値を格納し、第5ワー
ドエリアW5にy座標値の単位増大変化に対するx座標値
の増分(dx/dy)を格納し、第6ワードエリアW6にy座
標値が大きい側の頂点のy座標値(ymax)を格納し、第
7ワードエリアW7にその稜線がU稜線かD稜線かの稜線
傾向を格納し、第8ワードエリアW8にy座標値が小さい
側の頂点の階調値を格納し、第9ワードエリアW9にy座
標値の単位増大変化に対する階調値の増分(dI/dy)を
格納してなる。なお、このステップ124の段階において
は、第1ワードエリアW1には依然として頂点ポインタ
(vp)が格納され、第2ワードエリアW2には意味のない
データが格納されている。
なお、かかる稜線データの作成において必要となる乗
算及び除算は乗除算器9が実行するものである。
このような一つの稜線についての稜線データの作成及
び格納動作が終了すると、ブロックパラメータBPを今対
象となっているブロックの頂点ポインタが指示する値に
更新した後、全ての稜線データについての処理が終了し
たかを判断する(ステップ125、126)。この終了判断
は、例えば、ブロックパラメータBPが指示するブロック
の第7ワードエリアW7に既に稜線傾向データが格納され
ているか否かに基づいて行なう。一度、稜線データの作
成、格納処理が行なわれたブロックにはかかるデータが
既に格納されているためである。
この判断の結果、終了していないと判断すると、上述
のステップ124に戻って作成、格納を行なう。これに対
して、全ての稜線データの作成、格納が終了していると
判断すると、以下のU稜線チェイン及びD稜線チェイン
の作成処理に進む。
なお、上述のように、U稜線を見付け出してからステ
ップ124以下の稜線データの作成及び格納処理を開始す
ることが重要である。これは、D稜線データの作成及び
格納処理を開始すると、第6ワードエリアW6及び第9ワ
ードエリアW9の増分データの作成に必要となる情報が前
のブロックの稜線データの作成によって破壊されて失わ
れていることがあるためである。
上述のようなステップ126までの処理によると、第13
図に示すような図形要素データについては、第16図に示
すような稜線データのブロックが作成される。すなわ
ち、各ブロックN〜N+7には、第13図に示す各稜線E0
1〜E70のデータが格納される。なお、この図形要素デー
タの場合には、第14図に示すように稜線E01、E12、E45
及びE56がU稜線であるので、これらに対応するブロッ
クN、N+1、N+5及びN+6の第7ワードエリアW7
にはU稜線である旨が格納され、また、稜線E23、E34、
E67及びE70がD稜線であるので、これらに対応するブロ
ックN+2、N+3、N+6及びN+7の第7ワードエ
リアW7にはD稜線である旨が格納される。
次に、ステップ127以下の稜線チェインの作成処理に
ついて再び第1図を参照して説明する。なお、稜線チェ
インとは、稜線を例えば反時計周りに辿ったとき、連続
するU稜線又はD稜線を組としその組に属する稜線のブ
ロックをy座標値の小さい順に結ぶものである。
制御部3は、まず、共通ブロックCBLの頂点ポインタ
エリアrpeのデータを取り出し、ブロックパラメータBP
をそのデータ値にセットする(ステップ127)。その
後、そのデータ値が指示するブロックにかかる稜線がU
稜線又はD稜線かを第7ワードエリアW7のデータに基づ
き判別する(ステップ128)。その稜線がU稜線である
と判別すると、ブロックパラメータBPを頂点ポインタ
(第1ワードエリアW1のデータ)が指示する値に更新し
てステップ127に戻る(ステップ129)。
他方、D稜線であると判別すると、ブロックパラメー
タBPを頂点ポインタが指示する値に更新して次のブロッ
クに進み、そのブロックにかかる稜線がU稜線又はD稜
線を判別する(ステップ130、131)。この場合におい
て、稜線がD稜線であると判別すると、ステップ130に
戻り、他方、U稜線であると、以下の稜線チェインポイ
ンタsepの作成処理に進む。
なお、上述したステップ127〜131でなる処理は、稜線
傾向が連続するいずれかの組の最初のU稜線を見付け出
す処理である。
このようにして最初のU稜線のブロックを見付け出す
と、制御部3は、共通ブロックCBLの稜線チェインポイ
ンタの最初のエリアsep0に、最初のU稜線のブロックを
示す番号を格納する(ステップ132)。
その後、ブロックパラメータBPを頂点ポインタが指示
する値に更新して次のブロックに進み、そのブロックに
かかる稜線がU稜線又はD稜線を判別する(ステップ13
3、134)。この判別の結果、U稜線であると判別する
と、U稜線がまだ連続しているので、直前のブロックの
稜線チェインポインタエリアW2にこのブロックを指示す
るデータを格納して上述のステップ133に戻る(ステッ
プ135)。
他方、ステップ134の判別の結果、D稜線であると判
別すると、U稜線の連続性がとぎれたので、直前のブロ
ックの稜線チェインポインタエリアW2にU稜線のチェイ
ンの最後のブロックである旨のデータ(例えば「−
1」)を格納し、さらに、当該ブロックの稜線チェイン
ポインタエリアW2にD稜線のチェインの最後のブロック
である旨のデータ(例えば「−1」)を格納する(ステ
ップ136、137)。なお、頂点ポインタに従いD稜線を発
見する場合、y座標値の小さい順に結ぶD稜線チェイン
の最後の稜線が最初に発見されるので、ステップ137の
処理を行なうようにした。
制御部3は、その後、ブロックパラメータBPを頂点ポ
インタが指示する値に更新して次のブロックに進み、処
理が一巡して最初のブロックNに戻っていないことを確
認した後、そのブロックにかかる稜線がU稜線かD稜線
かを第7ワードエリアW7のデータに基づいて判別する
(ステップ138〜140)。
この結果、D稜線であると、D稜線が連続しているの
で、当該ブロックの稜線チェインポインタエリアW2に直
前ブロックを指示するデータを格納して上述のステップ
138に戻る(ステップ141)。
他方、ステップ140の判別の結果、U稜線であると判
別すると、D稜線の連続性がとぎれたので、共通ブロッ
クCBLの次の稜線チェインポインタエリア(sepl、sep2
・・等)に直前ブロックを指示するデータをD稜線チェ
インの最初のブロックを指示するものとして格納し、さ
らに、共通ブロックCBLのさらに次の稜線チェインポイ
ンタエリアに当該ブロックを指示するデータをU稜線チ
ェインの最初のブロックを指示するものとして格納して
上述のU稜線チェインの形成処理(ステップ133)に戻
る(ステップ142、143)。
上述のステップ139の判別結果、ステップ132以降の処
理によってブロックが一巡したと判別すると、共通ブロ
ックCBLの次の稜線チェインポインタエリアに直前のブ
ロックを指示するデータをD稜線チェインの最初のブロ
ックを指示するものとして格納し、その後、各チェイン
の最初のブロックのy座標値の最小値に基づいて共通ブ
ロックCBLの稜線チェインポインタをその値の小さい順
にソーティングし直す(ステップ144、145)。
このようにして、稜線チェインポインタの挿入処理を
終了すると、次の画素データの展開処理のために、各ブ
ロックN〜N+7の今まで頂点ポインタを格納していた
第1ワードエリアW1の内容をクリアして、すなわち、ア
クチィブ稜線ポインタをクリアして当該稜線データ作成
処理を終了する(ステップ146)。
例えば、第13図に示す図形要素データの場合、各稜線
E01〜E70が第14図に示す稜線傾向を示すので、U稜線又
はD稜線が連続する組は、稜線E01及びE12の組、稜線E2
3及びE34の組、稜線E45及びE56の組、稜線E67及びE70の
組の4組があり、上述の処理を実行することによってこ
の図形要素データについて第17図に示すような4個の稜
線チェインCH1〜CH4が形成される。
セグメント発生処理及び画像メモリへの書込み処理 次に、作成された稜線データを用いて走査線方向に沿
う図形要素内部のセグメントの作成処理及び作成された
セグメントを利用してそのセグメントを画素に展開して
画像メモリ13に書込む処理について、第10図を参照しな
がら詳述する。
まず、制御部3は、共通ブロックCBLの稜線チェイン
ポインタエリアの最初のエリアsep0に格納されているデ
ータが示すブロックの最小y座標値を取り出し、走査線
y座標値syとしてセットする(ステップ150)。
次に、他の稜線チェインにおける処理対象中の稜線ブ
ロックのうち、最小y座標値が走査線y座標値syに一致
するものがあればそのブロックを取出し、その後、取出
した複数のブロックをx座標値の小さい順に結ぶアクチ
ィブ稜線ポインタaep(第1ワードエリアW1)をはる
(ステップ151、152)。なお、この際、最初のブロック
に対するブロック番号が共通ブロックCBLのアクチィブ
稜線ポインタエリアaep0に格納され、最後のブロックに
は、最後であることを表すデータ(例えば「−1」)が
格納される。また、最小y座標値が走査線y座標値syに
一致するか否かを判断されるブロックは、各稜線チェイ
ンについて1個のブロックであり、処理が継続している
稜線チェイン上のブロックである。
このようにしてアクチィブ稜線ポインタがはられる
と、この情報を用いて、外部の図形要素出力装置から指
示された内外判定方式に従い、図形要素内にある走査線
方向に沿うセグメントを作成する(ステップ153)。
ここで、内外判定方式としてノンゼロワインディング
方式が指定されている場合には、ALU9内にカウンタ9aの
カウント値を0クリアした後、ルートが張られているア
クチィブ稜線ポインタを始点から順に辿って、U稜線の
ブロックを通過したときカウント値を1だけ増加させ、
D稜線のブロックを通過したときカウント値を1だけ減
少させ、カウント値が0から他の値に変化した稜線か
ら、0以外の値から0に変化した稜線までの間をセグメ
ントとして発生する。
例えば、第18図に示すようなセルフインターセクショ
ンを有する図形要素に対し、かつ走査線y座標値syが図
示のように設定されている場合には、稜線E12及びE56が
U稜線であり、稜線E23及びE67がD稜線であるので、ア
クチィブ稜線ポインタに従って辿っていったときには、
カウント値は稜線E12のブロックで1となり、これ以
降、2、1、0と変化する。従って、この例の場合に
は、稜線E12及びE67間が内部を指示するセグメント(図
上、太線で示している)となる。
また、内外判定方式としてイーブンオッド方式が指定
されている場合には、ALU9内のカウンタ9aのカウント値
を0クリアした後、アクチィブ稜線ポインタを始点から
順に辿って、ブロックを通過する毎に、カウント値を1
ずつ増加させていき、カウント値を奇数にしたブロック
の稜線と、カウント値をその次の偶数にしたブロックの
稜線との間をセグメントとする。
例えば、第19図に示すようなセルフインターセクショ
ンを有する図形要素に対し、かつ走査線y座標値syが図
示のように稜線E12、E56、E23及びE67を順に横切るよう
に設定されている場合には、アクチィブ稜線ポインタを
辿っていくことで、カウンタ値が1、2、3、4と順次
変化するので、稜線E12及びE56間と、稜線E23及びE67間
とをそれぞれセグメントとする。
このようにしてセグメントを形成すると、制御部3
は、走査線y座標値syとセグメントを規定する両端のx
座標値(第3ワードエリアのデータ)の間の情報に基づ
いて画像メモリ13に対するアドレス、画素数及び階調値
データ(補間処理しているので、図形要素としてシェイ
ドを付与しているものになる)を画像メモリ制御部12に
与えて画像メモリ13に画素データを格納させる(ステッ
プ154)。
その後、制御部3は、現時点でアクチィブ稜線ポイン
タが張られているブロックで、そのy座標値の最大値デ
ータ(第5ワードエリアW5のデータ)と走査線y座標値
syとが一致するブロックがあるか否かを判断し、ない場
合には、直ちに後述するステップ160に進む(ステップ1
55)。他方、ある場合には、さらに、そのブロックが稜
線チェインにおける最後のブロックか否かを判別する
(ステップ156)。最後のブロックであると、そのブロ
ックのアクチィブ稜線ポインタをクリアしてアクチィブ
稜線ポインタを結ぶブロックルートからそのブロックを
削除する(ステップ157)。その後、この削除によって
全てのブロックのアクチィブ稜線ポインタがクリアされ
たか否かを判断し、クリアされている場合には、当該一
連の処理を終了する(ステップ158)。他方、クリアさ
れていない場合には、後述するステップ160に進む。
上述のステップ156の判別の結果、当該ブロックが稜
線チェインの最後のブロックでないと判断すると、当該
ブロックを、稜線チェインで結ばれている次のブロック
に置換え、この置換えに合わせてアクチィブ稜線ポイン
タで結ばれている直前のブロックのアクチィブ稜線ポイ
ンタを更新し、その後、後述するステップ160に進む
(ステップ159)。
ステップ160においては、意味のあるアクチィブ稜線
ポインタが挿入されている各ブロックのx座標値(第3
ワードエリアW3のデータ)及び階調値(第8ワードエリ
アW8のデータ)をそのブロック内に格納されているx座
標値及び階調値の単位変化増分(第6及び第9ワードエ
リアW6及びW9のデータ)だけ更新して格納し直す。その
後、走査線y座標値syを次の走査線に対するものに更新
して上述のステップ151に戻る(ステップ161)。
例えば、上述した第13図に示すようにな図形要素の場
合、かかる処理によれば、最初の走査線y座標値syとし
て第20図(A)に示すように稜線E01のy座標値の最小
値が設定され、この段階では、稜線E01及びE70について
の稜線データを格納しているブロックN、N+7につい
て第20図(B)に示すようにアクチィブ稜線ポインタが
張られ、稜線E01及びE70で規定されるセグメントが画素
に展開される。このような稜線E01及びE70でセグメント
を規定して行なう画素展開処理が走査線y座標値syが次
に新たな頂点を通るようになるまで続く。
第21図は、アクチィブ稜線ポインタを結ぶブロックが
追加される場合を示している。第21図(A)に示すよう
に走査線y座標値syが稜線E34及びE45を通り始めるよう
になると、ステップ151における処理によって今まで使
用していない稜線チェインのデータが使用されて、稜線
E34及びE45についての稜線データを格納しているブロッ
クN+3及びN+4にもアクチィブ稜線ポインタが張ら
れるようになり、アクチィブ稜線ポインタは、第21図
(B)に示す状態から第21図(C)に示す状態に変化す
る。
第22図は、アクチィブ稜線ポインタが張られている一
部のブロックが、稜線チェインで結ばれている他のブロ
ックに更新される場合の一例を示している。走査線y座
標値syが、第22図(A)に示すように、稜線チェイン上
で最後でないブロックNの稜線E01の最大y座標値にな
ると、上述したステップ159の処理によってこの稜線E01
と稜線チェインを構成する次の稜線E12のブロックN+
1によって置換えられ、第22図(B)に示すブロックN
を含むアクチィブ稜線ポインタルートが第22図(C)に
示すブロックN+1を含むアクチィブ稜線ポインタルー
トに変化する。
第23図は、アクチィブ稜線ポインタが張られている一
部のブロックが削除される場合の一例を示している。走
査線y座標値syが、第23図(A)に示すように、稜線チ
ェイン上最後のブロックN+5及びN+6の稜線E56及
びE67の最大y座標値になると、上述したステップ157の
処理によってこれら稜線E56及びE67にかかるブロックN
+5、N+6を含む第23図(B)に示すアクチィブ稜線
ポインタルートが第23図(C)に示すブロックN+5、
N+6を含まないアクティブ稜線ポインタルートに変化
する。
第24図は、アクチィブ稜線ポインタが張られている一
部のブロックについてルートの順序換えを行なう場合の
一例を示している。走査線y座標値syが、第24図(A)
に示すように、始点又は終点でない位置で2個の稜線E2
3及びE56が交差するy座標値の値になると、上述したス
テップ152の処理によってこれら稜線E23及びE56のブロ
ックN+2及びN+5のアクチィブ稜線ポインタルート
での位置を交換され、第24図(B)に示すブロックN+
2、N+5の順序部分が第24図(C)に示すように、そ
の部分がブロックN+5、N+2の順序でなるアクチィ
ブ稜線ポインタルートに変化する。
第25図は、全てのアクチィブ稜線ポインタが削除され
る場合の一例を示している。走査線y座標値syが、第25
図(A)に示すように、稜線チェイン上最後のブロック
N+1及びN+2の稜線の最大y座標値になると、第23
図について上述したようにそれらの稜線にかかるブロッ
クは、アクチィブ稜線ポインタルートから削除される。
この場合において、第25図(A)に示すように他の稜線
チェインについての処理が終了していると、第25図
(B)に示す状態から第25図(C)に示すアクチィブ稜
線ポインタが有意なブロックがなくなった状態になり、
上述したステップ158において肯定結果が得られて、処
理が終了される。
このようにして稜線データを用いて図形要素内部を全
て画素に展開し、画像メモリ13に格納することができ
る。これ以降は、周知の方法により、画像メモリ13から
ラスタ状出力装置に読み出されて出力される。
実施例の効果 走査線上に存在する稜線情報を取り出す手段として、
従来の技術では、第4図のワード(yMe、xMe、ΔXe、P
e)に対して、yパケットテーブルが使用されており、
y座標値が取り得る数分の記憶領域を必要とする。この
記憶領域には、稜線の1端点(ymin)が存在する走査線
に対する記憶位置のみにポインタアドレスが記入され、
それ以外の記憶位置は空(λ)となり利用効率の低い記
憶構造となる。例えば、y方向の1稜線の画素数が平均
16であれば、この記憶領域は最大でも1/16×2(左右稜
線)=1/8しか利用されないことになる。また、稜線デ
ータを作成する前の頂点列データの格納領域としてyパ
ケットテーブルを使用すると、yパケットテーブル作成
中に図形要素の頂点列データに上書きされる可能性があ
り、頂点列データのための記憶領域を別に持つ必要性が
生じ記憶領域の利用効率が極めて低いことになる。
一方、本実施例では、走査線上に存在する稜線情報を
取り出す従来の技術におけるyパケット相当の情報が、
稜線データのブロックのワード構成を示す図(第15図参
照)の中のW2(sep)、W4(y)、W6(ymax)を用い、
稜線の変化方向が同一である連続する稜線チェイン(第
17図参照)で構成されており、これらは稜線データブロ
ックの記憶領域に隙間無く格納されていることから、稜
線データの記憶領域の利用効率は100%となっている。
また、この稜線データは頂点データと同一の記憶領域に
格納されることから、利用効率100%の頂点データ、稜
線データ記憶領域を構成する。
従来技術との比較における本実施例の効果を具体例で
説明する。
稜線数パラメータにはある制限条件が必ず設定される
が(設定稜線パラメータ数を越える場合については複数
の図形要素に分割することが通常行われる)、特に集積
回路で本願発明を実施する場合、集積回路内部に持てる
走査変換メモリの容量は、集積回路製造コストの観点か
ら、かなり小さく設定されることになる。例えば、集積
回路内部のメモリ容量を1k程度とすると、稜線パラメー
タの最大値は100程度となる。
具体例の設定数値 図形要素:稜線数100の凸図形要素とし、図形要素の
左稜線数を50、右稜線数を50とする。
走査線数:[発明が解決しようとする課題]の欄にお
ける走査線数の数値例に対応させて10000とする。
尚、本実施例では、稜線データのブロックのワード構
成を示す図(第15図参照)にw8(階調値)、w9(dl/dy;
階調値補間のまめの増分)を含めているが、従来の方式
では階調値に関する情報を含んでいないことから、同一
条件での比較のためにこれらに必要な容量は考慮しない
こととする。
従来の技術において必要な記憶容量 頂点列に必要な記憶容量(x座標、y座標)+yパケ
ット情報に必要な記憶容量+稜線数×(yMe、xMe、ΔX
e、Peに必要な記憶容量)=100×2+10000+100×4=
10600(記憶単位) 本実施例において必要な記憶容量 稜線数×(W1、W2、W3、W4、W5、W6、W7に必要な容
量)+(CLB共通ブロックに必要な容量)=100×7+2
=702(記憶単位) 従って、上記具体例では、本実施例の方法では従来の
技術の1/15程度の記憶容量で済むことが分かる。
尚、本願発明では、稜線数パラメータの制限条件を小
さく設定することで、必要な記憶容量をいくらでも小さ
くできる(最小値は3角形の場合で、3×7+2=23
(記憶単位))が、従来の技術では稜線数パラメータを
いくら小さく設定しても、必要な記憶容量を一定数(上
記設定数値では10000(記憶単位))以下に小さくする
ことは出来ない。
従って、上述の実施例によれば、画像メモリが有する
数だけの各走査線に対応したデータを格納することな
く、最終的に稜線データだけを格納して走査変換処理を
実行することができ、メモリ容量を少なくでき、全体構
成を簡易、小型なものとすることができる。特に、頂点
データの格納エリアと、稜線データの格納エリアとを同
一としているので、かかる効果は大きい。また、このよ
うに必要とするメモリ容量を従来に比して大幅に削減し
たので、1チップの集積回路として走査変換部分を構成
するのに好適なものとなっている。
また、稜線データとして、その稜線がU稜線である
か、D稜線であるかをも格納するようにしたので、イー
ブンオッド方式だけでなく、ノンゼロワインディング方
式の内外判定方法にも対応でき、処理し得る図形要素の
形状をより多くし得る。
他の実施例 (1) なお、上述の実施例においては、2次元的な図
形要素を処理対象とするものについて説明したが、3次
元的な図形要素を処理対象とするものであっても良い。
この場合には、構造化された頂点データにz座標値デー
タを含めるようにすれば良く、また、稜線データにz座
標値データや、y座標値の変化に対するz座標値の変化
率データ等を含めて処理すれば良い。また、この際に
は、z座標値は、zバッファ方式のz値として画像メモ
リ13に格納し、セグメント区間の画素展開時にこの書き
込まれたz値と比較して画像メモリ13のz値を更新する
ようにして陰面処理を実行させることもできる。
(2) また、上述の実施例においては、白黒の階調を
有する図形要素を対象とするものを示したが、図形要素
領域内と領域外とを2値で区別するような図形要素を対
象としても良く、彩色が施された図形要素を対象とする
ものであっても良い。彩色が施されたカラー図形要素を
対象とする場合には、図形データの表示属性データが
赤、緑、青の3原色毎の階調を有するデータであること
が必要となり、これに応じて稜線データもこれら3原色
データ及びy座標値の変化に対する3原色データの変化
率データ等を含むようにすることを要する。
(3) 上述の実施例においては、図形要素が一つの閉
曲線でなるものを示したが、複数の閉曲線からなるもの
であっても良い。この場合には、各閉曲線毎に、構造化
された頂点データや稜線データを作成すれば良く、これ
に応じてルートポインタや稜線チェインやアクチィブ稜
線ポインタをそれぞれ区別して作成するようにすれば良
い。
(4) 上述の実施例においては、直線稜線でなる図形
要素を対象とするものを示したが、円弧曲線やいわゆる
ベジエ曲線を対象とするものであっても良い。この場合
には、いわゆる前進増分法を適用して走査線y座標値の
変化に対するx座標値を計算すれば良く、そのための増
分を変化させるデータをも稜線データ等に含めれば良
い。
(5) 上述の実施例においては、稜線の終端を規定す
る情報としてy座標値が大きい方の頂点のy座標値を第
5ワードエリアW5に格納するものを示したが、両頂点の
y座標値の差を格納するようにして走査線をインクリメ
ントしていった際の終点を検出するようにしても良い。
(6) 上述の実施例においては、各種の処理で図形要
素の頂点や稜線を辿る場合に、反時計回りに辿るものを
示したが、方向はこれに限定されるものでなく、時計回
りであっても良い。
[発明の効果] 以上のように、本発明によれば、図形を規定する各頂
点についての座標値データを含む頂点データを、稜線の
所定方向に辿って並べ、かくして得られた図形要素デー
タの各頂点データを、nワードからなるデータとしてブ
ロック化して記憶装置に格納し、このブロック化された
頂点データから前記同様nワードからなるブロック化さ
れた稜線データを作成し、これらの稜線データにかかる
各稜線について所定方向に辿ったときに走査線インクリ
メント方向またはデクリメント方向にトレース方向が連
続する稜線を結ぶようにこれらの稜線データのブロック
をチェイン化し、稜線データと稜線チェイン情報に基づ
いて走査線と交差する稜線を検出して図形要素内部をセ
グメント化し、そのセグメントを画素に展開するように
した走査変換方法であって、前記ブロック化されたnワ
ードのデータから成る稜線データは、少なくとも前記稜
線チェイン情報を構成するポインタ情報を各ブロック内
に記憶し、前記ブロック化された頂点データの格納エリ
アとブロック化された稜線データの格納エリアとを記憶
装置の同一エリアとしたことにより記憶装置の利用効率
をほぼ100%にまで向上させることができ、メモリ容量
を削減する効果を特に大きなものとすることが可能とな
る。従って、従来に比べて走査変換処理に必要なメモリ
容量を格段に少なくでき、全体の構成を小型、簡易なも
のとすることができ、集積回路を構成する場合に好適で
ある。
更に、請求項第2項に記載のように、稜線データの一
つとして、その稜線が所定方向に辿ったとき走査線イン
クリメント方向について値が増加していく稜線か逆に値
が減少していく稜線かを示す稜線傾向データを格納する
ようにすると、これら稜線傾向データを用いてノンゼロ
ワインディング方式によっても図形要素の内外判定を行
なうことができ、処理し得る図形要素の範囲を一段と増
やすことができる。
【図面の簡単な説明】
第1図は本発明による走査変換方法の一実施例における
稜線データの作成処理手順を示すフローチャート、第2
図は変換対象となる閉曲線図形要素の例を示す略線図、
第3図〜第5図は従来の走査変換方法の説明に供する略
線図、第6図は従来の走査変換方法の欠点の説明に供す
る略線図、第7図は上記実施例の機能ブロック図、第8
図はその実施例の概略フローチャート、第9図はそのデ
ータ入力処理の詳細フローチャート、第10図はそのセグ
メント作成処理及び画像メモリに対する格納処理の詳細
フローチャート、第11図は頂点データブロックの構成を
示す図表、第12図は頂点データブロックの巡回構造を示
す略線図、第13図は処理対象の図形要素の一例を示す略
線図、第14図は稜線傾向データをも含めた図形要素の一
例を示す略線図、第15図は稜線データブロックのワード
構成を示す図表、第16図は第13図の一例について格納ブ
ロックと稜線との関係を示す略線図、第17図は稜線チェ
インの一例を示す略線図、第18図はこの実施例にノンゼ
ロワインディング方式を適用した場合の説明に供する略
線図、第19図はこの実施例にノーブンオッド方式を適用
した場合の説明に供する略線図、第20図〜第25図はそれ
ぞれアクチィブ稜線ポインタを結ぶルートを走査線y座
標値が特異な値をとる場合について示した略線図であ
る。 3……制御部、4……走査変換メモリ、8……メモリブ
ロックアドレスレジスタファイル、9……算術演算ユニ
ット(ALU)、9a……カウンタ、10……乗除算器、11…
…マイクロプログラム格納部、12……画像メモリ制御
部、13……画像メモリ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 大宅 伊久雄 東京都港区虎ノ門1丁目7番12号 沖電 気工業株式会社内 (56)参考文献 特開 昭62−115580(JP,A)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】図形を規定する各頂点についての座標値デ
    ータを含む頂点データを、稜線の所定方向に辿って並
    べ、かくして得られた図形要素データの各頂点データ
    を、nワードからなるデータとしてブロック化して記憶
    装置に格納し、このブロック化された頂点データから前
    記同様nワードからなるブロック化された稜線データを
    作成し、これらの稜線データにかかる各稜線について所
    定方向に辿ったときに走査線インクリメント方向または
    デクリメント方向にトレース方向が連続する稜線を結ぶ
    ようにこれらの稜線データのブロックをチェイン化し、
    稜線データと稜線チェイン情報に基づいて走査線と交差
    する稜線を検出して図形要素内部をセグメント化し、そ
    のセグメントを画素に展開するようにした走査変換方法
    であって、前記ブロック化されたnワードのデータから
    成る稜線データは、少なくとも前記稜線チェイン情報を
    構成するポインタ情報を各ブロック内に記憶し、前記ブ
    ロック化された頂点データの格納エリアとブロック化さ
    れた稜線データの格納エリアとを記憶装置の同一エリア
    としたことを特徴とする走査変換方法。
  2. 【請求項2】上記稜線データが、この稜線データにかか
    る稜線を所定方向に辿っていったとき、走査線インクリ
    メント方向の値が増大していく稜線か減少していく稜線
    かを示す稜線傾向データをも含み、この稜線傾向データ
    を図形要素の内外判定に利用するようにしたことを特徴
    とする請求項第1項に記載の走査変換方法。
JP63201966A 1988-08-15 1988-08-15 走査変換方法 Expired - Fee Related JP2690110B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP63201966A JP2690110B2 (ja) 1988-08-15 1988-08-15 走査変換方法
US07/390,818 US5115402A (en) 1988-08-15 1989-08-08 Scan-conversion process and processor for converting a graphic primitive to a pixel map
EP89308250A EP0356103B1 (en) 1988-08-15 1989-08-15 Scan-conversion process and processor
DE68919024T DE68919024T2 (de) 1988-08-15 1989-08-15 Verfahren und Prozessor zur Abtastumsetzung.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63201966A JP2690110B2 (ja) 1988-08-15 1988-08-15 走査変換方法

Publications (2)

Publication Number Publication Date
JPH0251786A JPH0251786A (ja) 1990-02-21
JP2690110B2 true JP2690110B2 (ja) 1997-12-10

Family

ID=16449715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63201966A Expired - Fee Related JP2690110B2 (ja) 1988-08-15 1988-08-15 走査変換方法

Country Status (4)

Country Link
US (1) US5115402A (ja)
EP (1) EP0356103B1 (ja)
JP (1) JP2690110B2 (ja)
DE (1) DE68919024T2 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6882345B2 (en) 2001-10-16 2005-04-19 Broadcom Corporation Method and system for efficiently loading primitives into processors of a graphics system
US5043711A (en) * 1989-06-09 1991-08-27 Xerox Corporation Representation of polygons defined by non-zero winding numbers
US5502802A (en) * 1990-07-27 1996-03-26 Ricoh Company, Ltd. Polygonal image-drawing processor
JPH0723997B2 (ja) * 1990-08-24 1995-03-15 富士ゼロックス株式会社 文字・図形描画装置
JPH0683969A (ja) * 1990-11-15 1994-03-25 Internatl Business Mach Corp <Ibm> グラフィックス・プロセッサ及びグラフィックス・データ処理方法
JP2775723B2 (ja) * 1991-01-09 1998-07-16 富士ゼロックス株式会社 多角形の描画方法及び装置
JPH04250582A (ja) * 1991-01-09 1992-09-07 Fuji Xerox Co Ltd 多角形の描画方法及び装置
US5295236A (en) * 1991-03-04 1994-03-15 Aldus Corporation Applying traps to a printed page specified in a page description language format
US5542052A (en) * 1991-03-04 1996-07-30 Adobe Systems Incorporated Applying traps to a printed page specified in a page description language format
JPH07122908B2 (ja) * 1991-03-12 1995-12-25 インターナショナル・ビジネス・マシーンズ・コーポレイション 3次元のソリッド物体を表す表示可能情報を生成する装置と方法
DE69130958T2 (de) * 1991-10-10 1999-07-01 Hewlett Packard Co Graphisches ausgangs-system und -verfahren.
JP3359634B2 (ja) * 1991-10-10 2002-12-24 ヒューレット・パッカード・カンパニー 境界内更新を備えたグラフィックス出力システム
US5276532A (en) * 1991-11-26 1994-01-04 Xerox Corporation Split-level frame buffer
US5706415A (en) * 1991-12-20 1998-01-06 Apple Computer, Inc. Method and apparatus for distributed interpolation of pixel shading parameter values
US5307449A (en) * 1991-12-20 1994-04-26 Apple Computer, Inc. Method and apparatus for simultaneously rendering multiple scanlines
US5321799A (en) * 1992-04-17 1994-06-14 Proxim, Inc. Signalling transition control in a modulated-signal communications system
JP3332165B2 (ja) * 1992-08-08 2002-10-07 株式会社リコー 画像処理装置
US5367632A (en) * 1992-10-30 1994-11-22 International Business Machines Corporation Flexible memory controller for graphics applications
US5414805A (en) * 1992-11-06 1995-05-09 International Business Machines Corporation Visual display transition effects using sorted table of display cells
US5606650A (en) * 1993-04-22 1997-02-25 Apple Computer, Inc. Method and apparatus for storage and retrieval of a texture map in a graphics display system
US5402533A (en) * 1993-04-22 1995-03-28 Apple Computer, Inc. Method and apparatus for approximating a signed value between two endpoint values in a three-dimensional image rendering device
WO1994027240A1 (en) * 1993-05-10 1994-11-24 Apple Computer, Inc. Computer graphics system having high performance multiple layer z-buffer
US5583974A (en) * 1993-05-10 1996-12-10 Apple Computer, Inc. Computer graphics system having high performance multiple layer Z-buffer
US5438656A (en) * 1993-06-01 1995-08-01 Ductus, Inc. Raster shape synthesis by direct multi-level filling
US5666543A (en) * 1994-03-23 1997-09-09 Adobe Systems Incorporated Method of trapping graphical objects in a desktop publishing program
US5808627A (en) * 1994-04-22 1998-09-15 Apple Computer, Inc. Method and apparatus for increasing the speed of rendering of objects in a display system
US5657436A (en) * 1995-06-08 1997-08-12 Hewlett-Packard Company Preprocessing apparatus and method for line scan conversion in a computer graphics system
US5710879A (en) * 1995-06-08 1998-01-20 Hewlett-Packard Company Method and apparatus for fast quadrilateral generation in a computer graphics system
AUPP771798A0 (en) * 1998-12-14 1999-01-14 Canon Kabushiki Kaisha Overlapping edge blends and other texture mapped regions
US7088359B2 (en) * 2003-04-23 2006-08-08 Via Technologies, Inc. Vertex reordering in 3D graphics
AU2003903448A0 (en) * 2003-06-26 2003-07-17 Canon Kabushiki Kaisha A method for tracking depths in a scanline based raster image processor
US7280120B2 (en) * 2003-06-26 2007-10-09 Canon Kabushiki Kaisha Compositing with a sub-pixel mask in graphic object rendering
AU2003903447A0 (en) * 2003-06-26 2003-07-17 Canon Kabushiki Kaisha Rendering successive frames in a graphic object system
AU2003903445A0 (en) * 2003-06-26 2003-07-17 Canon Kabushiki Kaisha Optimising compositing calculations for a run of pixels
US7242209B2 (en) * 2004-05-03 2007-07-10 Dft Microsystems, Inc. System and method for testing integrated circuits
FR2865564B1 (fr) * 2004-06-17 2006-03-17 Raphael Lemoine Procede et dispositif de decomposition d'une forme geometrique
JP5310078B2 (ja) * 2009-02-23 2013-10-09 富士通セミコンダクター株式会社 画像描画装置
US9248525B2 (en) 2012-06-27 2016-02-02 Mitsubishi Electric Research Laboratories, Inc. Method and system for cutting features from sheet materials with a laser cutter according to a pattern

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61249175A (ja) * 1985-04-24 1986-11-06 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 図形処理装置
US4815009A (en) * 1987-04-21 1989-03-21 Xerox Corporation Algorithm for filling an image outline
US4962468A (en) * 1987-12-09 1990-10-09 International Business Machines Corporation System and method for utilizing fast polygon fill routines in a graphics display system
US4897805A (en) * 1988-05-17 1990-01-30 Prime Computer, Inc. Method and apparatus for performing polygon fills in graphical applications

Also Published As

Publication number Publication date
US5115402A (en) 1992-05-19
EP0356103B1 (en) 1994-10-26
DE68919024T2 (de) 1995-06-08
JPH0251786A (ja) 1990-02-21
DE68919024D1 (de) 1994-12-01
EP0356103A3 (en) 1991-07-17
EP0356103A2 (en) 1990-02-28

Similar Documents

Publication Publication Date Title
JP2690110B2 (ja) 走査変換方法
US5012433A (en) Multistage clipping method
JP3030206B2 (ja) グラフィック多角形をクリップ領域にクリップする方法および装置
US4924414A (en) Apparatus and method for obtaining priority numbers for drawing figures forming a display figure
CN103810742A (zh) 图像渲染方法和系统
JPH07182537A (ja) 図形描画装置および図形描画方法
JPH01304588A (ja) クリッピング処理方式
JPH09311954A (ja) 3次元図形表示システムおよび3次元図形の表示方法
EP0454125B1 (en) Method of producing characters and figures using computer
JPH0822555A (ja) 図形描画方法及びその装置
JPH0350686A (ja) 図形処理方式
JP2782904B2 (ja) 多角形塗りつぶし方式
JP2954434B2 (ja) 画像処理方法及びその装置
JP4106719B2 (ja) 画像処理装置
JP3843794B2 (ja) 図形処理装置
JPH07105390A (ja) 外周線描画データ制御方式
KR100227796B1 (ko) 3차원 한글/한자 폰트 제작을 위한 3차원 폰트 생성 기법
JP2611599B2 (ja) コンピュータグラフイックスのデータ処理方法及び装置
JP3517982B2 (ja) 図形描画装置
JPH09282486A (ja) 画像処理装置
JP2686012B2 (ja) 太線描画方法
JPH03150683A (ja) 印刷装置
JPS6169096A (ja) 図形処理装置
JPH0535912B2 (ja)
JPS63163584A (ja) クリツピング処理方式

Legal Events

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