JP2001331808A - 画像処理方法および画像処理装置 - Google Patents

画像処理方法および画像処理装置

Info

Publication number
JP2001331808A
JP2001331808A JP2000150369A JP2000150369A JP2001331808A JP 2001331808 A JP2001331808 A JP 2001331808A JP 2000150369 A JP2000150369 A JP 2000150369A JP 2000150369 A JP2000150369 A JP 2000150369A JP 2001331808 A JP2001331808 A JP 2001331808A
Authority
JP
Japan
Prior art keywords
line
contour
image data
processed
processing
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.)
Granted
Application number
JP2000150369A
Other languages
English (en)
Other versions
JP3531582B2 (ja
Inventor
Shigeo Ota
滋雄 太田
Noriyuki Funakubo
則之 船窪
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.)
Yamaha Corp
Original Assignee
Yamaha 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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2000150369A priority Critical patent/JP3531582B2/ja
Publication of JP2001331808A publication Critical patent/JP2001331808A/ja
Application granted granted Critical
Publication of JP3531582B2 publication Critical patent/JP3531582B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】 【課題】 短い処理時間で、画像表示の要求内容に応じ
たきめ細かい塗り潰し処理を行うことができる画像処理
方法および画像処理装置を提供する。 【解決手段】 まず、X、Y軸方向に配列された各画素
の中から、描画対象物の輪郭線を構成する各線分を近似
する輪郭点を求める。そして、これらの線分の各々につ
いて、当該線分を横切る各ライン毎に、当該ラインに属
する画素のうち処理対象に選定された画素の画像データ
を反転処理する。具体的には、線分の終点を通過しない
通常ラインの処理においては、当該ライン上の輪郭点を
処理対象とするか否かを各線分ごとに決定する。また、
終点を通過する最終ラインの処理においては、当該ライ
ンを処理対象とするか否かを各線分ごとに決定する一
方、処理対象とする場合には、当該ライン上の輪郭点か
ら境界線までの画素の一部または全部を処理対象とす
る。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】この発明は、ゲーム機やパー
ソナルコンピュータ等に好適な画像処理方法および画像
処理装置に関する。
【0002】
【従来の技術】コンピュータグラフィックスにおいて
は、描画対象物の輪郭線に囲まれた領域を塗り潰す処理
が頻繁に行われる。以下、従来の塗り潰し処理の手順を
説明する。
【0003】(1)メモリ内の描画用エリアを初期化す
る。具体的には、例えば画素の表示色を白とする画像デ
ータ“0”を書き込む。 (2)描画対象物をX、Y座標系に配置した場合におい
て、描画対象物を−X方向に見る所定の位置にY軸に平
行な境界線を設定する。 (3)描画対象物の輪郭を複数の線分に近似し、これら
の各線分について、当該線分と上記境界線とによって挟
まれた台形領域に属する画像データを反転する。上記の
処理により、描画対象物の輪郭を構成する各線分によっ
て囲まれた領域を塗り潰し、表示対象物の画像を生成す
ることができる。
【0004】
【発明が解決しようとする課題】しかしながら、上記従
来の方法における(3)の処理では、各線分上の画素か
ら境界線に至るまでの個々の画素毎に画像データの反転
処理を行っていたため、描画処理の処理時間が長くなる
という問題があった。さらに、描画対象物の輪郭線を構
成する各線分上の画素の画像データを反転するか否か、
および各線分の終点を通りX軸に平行なライン上の画素
の画像データを反転するか否かといった事項が、すべて
の線分について一律に決められた状況のもとで上記
(3)の処理が行われていたため、例えば、各線分上の
画素や、各線分の終点を通るX軸に平行なライン上の画
素等が、本来塗り潰されるべきであるにも関わらず塗り
潰されず、表示画像が歪んでしまうといった問題があっ
た。
【0005】この発明は、以上説明した事情に鑑みてな
されたものであり、短い処理時間で、画像表示の要求内
容に応じたきめ細かい塗り潰し処理を行うことができる
画像処理方法および画像処理装置を提供することを目的
とする。
【0006】
【課題を解決するための手段】上述した課題を解決する
ため、本発明は、描画対象物の輪郭線の内部を塗り潰し
た画像の画像データをメモリ内に生成する画像処理方法
において、X軸およびY軸からなる2次元座標系におい
てX軸方向およびY軸方向に配列された各画素の中から
前記描画対象物の輪郭線を構成する各輪郭線構成線分を
近似する輪郭点を求める過程と、前記各輪郭線構成線分
毎に、当該輪郭線構成線分と前記2次元座標系に予め設
定された前記Y軸と平行な境界線とにより挟まれた台形
領域を対象とした台形領域塗り潰し処理を実行する過程
とを有し、前記各輪郭線構成線分に対応した台形塗り潰
し処理は、当該輪郭線構成線分を横切るX軸に平行な各
ラインに対応した処理からなり、各ラインのうち当該輪
郭線構成線分の終点を通過しない通常ラインに対応した
処理では、当該ライン上において当該輪郭線構成線分の
輪郭点を含めて当該輪郭点から前記境界線までの各画素
を処理対象とするか、当該輪郭点から前記境界線までの
各画素のうち当該輪郭点を除いた各画素を処理対象とす
るかを各輪郭線構成線分毎に決定し、前記メモリに記憶
された処理対象となった各画素の画像データの反転処理
を実行し、各ラインのうち当該輪郭線構成線分の終点を
通過する最終ラインに対応した処理では、当該ラインを
処理対象とするか否かを各輪郭線構成線分毎に決定し、
当該ラインを処理対象とする場合には、当該ライン上に
おいて前記輪郭線構成線分の輪郭点から前記境界線まで
の各画素の全部または一部を処理対象とし、前記メモリ
に記憶された処理対象となった各画素の画像データの反
転処理を行うことを特徴としている。
【0007】なお、上記発明においては、前記最終ライ
ンに対応した処理において当該ラインを処理対象とする
場合に、当該ライン上の輪郭点を処理対象とするか否
か、および当該ライン上の輪郭点から境界線までの画素
のうち輪郭点以外の画素を処理対象とするか否かを各輪
郭線構成線分ごとに決定するようにしてもよい。さら
に、前記最終ラインに対応した処理において当該ライン
を処理対象とする場合に、当該ライン上の終点を処理対
象とするか否か、および当該ライン上の終点以外の輪郭
点を処理対象とするか否かを前記各輪郭線構成線分ごと
に決定するようにしてもよい。
【0008】また、上記課題を解決するため、本発明
は、描画対象物の輪郭の内部を塗り潰した画像の画像デ
ータをメモリ内に生成する画像処理装置において、X軸
およびY軸からなる2次元座標系においてX軸方向およ
びY軸方向に配列された各画素の中から前記描画対象物
の輪郭線を構成する各輪郭線構成線分を近似する輪郭点
を求める輪郭点取得手段と、前記輪郭線構成線分ごと
に、当該輪郭線構成線分と前記2次元座標系に予め設定
された前記Y軸と平行な境界線とにより挟まれた台形領
域を対象とした台形塗り潰し処理であって、当該輪郭線
構成線分を横切るX軸に平行な各ラインに対応した処理
からなる台形塗り潰し処理を実行する台形塗り潰し手段
とを具備し、前記台形塗り潰し手段は、前記各ラインの
うち当該輪郭線構成線分の終点を通過しない通常ライン
に対応した処理においては、当該ライン上において当該
輪郭線構成線分の輪郭点を含めて当該輪郭点から前記境
界線までの各画素の処理対象とするか、当該輪郭点から
前記境界線までの各画素のうち当該輪郭点を除いた各画
素を処理対象とするかを各輪郭線構成線分ごとに設定さ
れる制御情報に従って決定し、前記メモリに記憶された
処理対象となった各画素の画像データの反転処理を実行
する一方、前記各ラインのうち当該輪郭線構成線分の終
点を通過する最終ラインに対応した処理では、当該ライ
ンを処理対象とするか否かを各輪郭線構成線分ごとに設
定される制御情報に従って決定し、当該ラインを処理対
象とする場合には、当該ライン上において前記輪郭線構
成線分の輪郭点から前記境界線までの各画素の全部また
は一部を処理対象とし、前記メモリに記憶された処理対
象となった各画素の画像データの反転処理を行うことを
特徴としている。この画像処理装置においても、上記発
明と同様に、前記台形塗り潰し手段が、前記最終ライン
に対応した処理において当該ラインを処理対象とする場
合に、当該ライン上の輪郭点を処理対象とするか否か、
および当該ライン上の輪郭点から境界線までの画素のう
ち輪郭点以外の画素を処理対象とするか否かを前記制御
情報に従って決定するようにしてもよい。さらに、前記
台形塗り潰し手段は、前記最終ラインに対応した処理に
おいて当該ラインを処理対象とする場合に、当該ライン
上の輪郭点のうちの終点を処理対象とするか否か、およ
び当該ライン上の輪郭点のうち終点以外の輪郭点を処理
対象とするか否かを前記制御情報に従って決定するよう
にしてもよい。
【0009】また、上記画像処理装置における台形塗り
潰し処理手段は、各ラインごとに、当該ライン上の画素
のうちの処理対象となる画素を指定する反転用線画像デ
ータを、前記制御情報に従って生成するデータ生成手段
と、前記反転用線画像データによって指定される前記メ
モリ内の画像データを反転する反転手段とを有する構成
としてもよい。この場合、前記データ生成手段は、前記
各ライン上の各輪郭点のX座標値に応じた座標コードを
用いた演算を行うことによって前記反転用線画像データ
を生成することが望ましい。一方、前記反転手段は、前
記反転用画像データと、これに対応したメモリ内の画像
データの排他的論理和をとって前記メモリにおける元の
エリアに書き込むようにすることが望ましい。
【0010】
【発明の実施の形態】以下、本発明を更に理解しやすく
するため、実施の形態について説明する。かかる実施の
形態は、本発明の一態様を示すものであり、この発明を
限定するものではなく、本発明の範囲で任意に変更可能
である。
【0011】A.本発明に係る描画処理方法の概要 まず、実施形態の詳細な説明に先立ち、図1を参照し
て、本発明に係る画像処理方法の概要を説明する。ここ
では簡単のため、図1(a)に示すように、X軸方向お
よびY軸方向にそれぞれ8個ずつ、マトリクス状に配列
された画素からなる表示領域を有する表示装置を用い、
これらの各画素の表示内容を示す画像データが、ビデオ
メモリ内の描画エリアに格納される場合を例示する。ま
た、図1(a)中に破線で示すように、座標[3,0]
−[6,3]−[3,6]−[0,3]−[3,0]に
より表される輪郭を有し、当該輪郭によって囲まれた領
域が塗り潰された描画対象物を表示する場合を例に説明
する。
【0012】まず、ビデオメモリ内の描画エリアを初期
化し、すべての画像データを初期値“0”とする(図1
(a))。次に、描画対象物が表示されるべき領域をX
軸の負方向に見る所定の位置に、Y軸に平行な境界線を
設定する。図1においては、X座標値が「7」となる境
界線が設定された場合を例示している。
【0013】続いて、一筆書きの要領で描画対象物の輪
郭線を構成する各線分(輪郭線構成線分)を1本ずつ順
次選択し(例えば、図1に示す例では線分A→B→C→
Dの順に選択する)、選択した線分について、当該線分
と上記境界線とによって挟まれた台形領域に属する画素
の画像データを反転する台形塗り潰し処理を繰り返すこ
とにより、描画対象物に対応した画像データを生成す
る。詳述すると、以下の通りである。
【0014】まず、描画対象物の輪郭を構成する線分の
うちのいずれかを選択し、当該線分を近似した画素(図
1(b)乃至(e)においては“〇”で示されている。
以下、このような点(画素)を「輪郭点」という)の座
標値を求める。そして、当該線分を横切りX軸方向に並
ぶ(すなわち、Y座標値が同一である)複数の画素の集
合(以下、「ライン」という)ごとに、そのラインに含
まれる輪郭点と境界線とによって挟まれた画素の画像デ
ータを反転するのである。上述した「台形塗り潰し処
理」とは、このような各ラインごとの画像データの反転
処理を、選択した線分を横切るすべてのラインについて
実行する処理を意味する。かかる台形塗り潰し処理を、
描画対象物の輪郭を構成するすべての線分について実行
することにより、図1(e)に示すように、輪郭の内部
が塗り潰された描画対象物の画像データが生成されるの
である。なお、以下では、台形塗り潰し処理の対象とな
る各線分を横切るラインのうち、当該線分の終点を含む
ラインを「最終ライン」といい、最終ライン以外のライ
ンを「通常ライン」という。
【0015】ここで、本発明においては、通常ライン上
の輪郭点の画像データを反転処理するか否か、および最
終ラインに属する画素の画像データに対して反転処理を
施すか否かを、各線分ごとに指定できるようになってい
る。例えば、図1(b)に示すように、線分Aを横切る
通常ライン(すなわち、Y座標値が「0」乃至「2」と
なるライン)上の輪郭点から境界線までの画素のうち、
輪郭点を除いた画素の画像データに対して反転処理を施
す一方、最終ライン(すなわち、Y座標値が「3」とな
るライン)に属する画素の画像データに対しては反転処
理を施さない。
【0016】これに対し、線分Bについては、図1
(c)に示すように、通常ライン上の輪郭点の画像デー
タに対しては反転処理を施さず、最終ラインに属する画
素(輪郭点を除く)の画像データに対しては反転処理を
施す。また、線分Cについては、図1(d)に示すよう
に、通常ラインに属する輪郭点の画像データに対して反
転処理を施し、最終ラインに属する画素の画像データに
対しては反転処理を施さない。さらに、最後に台形塗り
潰し処理の対象となる線分Dについては、図1(e)に
示すように、通常ライン上の輪郭点の画像データ、およ
び最終ラインに属する画素の画像データの双方に対して
反転処理を施す。
【0017】このように、本発明においては、通常ライ
ン上の輪郭点の画像データに対して反転処理を施すか否
か、および最終ラインに属する画素の画像データに対し
て反転処理を施すか否かを、描画対象物の輪郭を構成す
る各線分ごとに指定することができるようになってい
る。従来の技術にあっては、このような各線分ごとの指
定を行うことができなかったため、本来表示されるべき
表示対象物の形状が歪んで表示されるといった問題があ
った。これに対し、本発明によれば、図1(e)に示す
ように、本来表示されるべき表示対象物のきめ細かい表
示を実現することができるのである。以下、上記各処理
を実現するための構成を説明する。
【0018】B.実施形態の構成 図2はこの発明の一実施形態である画像処理装置1の構
成を示すブロック図である。図2に示すように、画像処
理装置1は、台形領域塗り潰し描画回路10と、インタ
フェース20と、ビデオメモリ30と、表示回路40と
を有している。ここで、台形領域塗り潰し描画回路10
は、図示しないホストコンピュータからのコマンドをイ
ンタフェース20を介して受け取り、このコマンドに従
って上述した台形塗り潰し処理を行うことにより、様々
な描画対象物の画像データを生成する回路である。ビデ
オメモリ30は、表示対象物の画像データを記憶するメ
モリである。このビデオメモリ30には、台形領域塗り
潰し描画回路10によって生成された画像データが記憶
される他、インタフェース20を介してホストコンピュ
ータから供給される画像データ(台形領域塗り潰し描画
回路10による処理対象とならない画像データ)が記憶
される。表示回路40は、所定の周期で発生する垂直同
期信号および水平同期信号に従い、ビデオメモリ30に
記憶された画像データを読み出し、図示しない表示装置
に供給する回路である。
【0019】ここで、ホストコンピュータからインタフ
ェース20に供給される描画コマンドについて説明す
る。この描画コマンドのうち主要なものとして以下の3
つのコマンドがある。 a.SET_BOUND_Xコマンド このSET_BOUND_Xコマンドは、描画対象物の描画を行う
にあたり、上述した境界線のX座標値を台形領域塗り潰
し描画回路10に設定するためのコマンドである。b.
MOVE_TOコマンド このMOVE_TOコマンドは、描画対象物を構成する各線分
のうち、最初に処理対象となる線分の始点のX、Y座標
値を台形領域塗り潰し描画回路10に設定するためのコ
マンドである。すなわち、図1に示した例においては、
このMOVE_TOコマンドによって線分Aの始点の座標
[3,0]が指定されることとなる。 c.FILL_TOコマンド このFILL_TOコマンドは、描画対象物の輪郭を構成する
線分毎に、上述した台形塗り潰し処理の態様を台形領域
塗り潰し描画回路10に指令するコマンドである。この
FILL_TOコマンドは、台形塗り潰し処理の対象となる線
分の終点のX、Y座標値を含んでいる。このFILL_TOコ
マンドに含まれるX、Y座標値は、台形塗り潰し処理に
おいて処理対象となる線分の終点のX、Y座標値として
用いられる他、その直後の台形塗り潰し処理において処
理対象となる線分の始点のX、Y座標値として用いられ
る。すなわち、最初の線分に対応した台形塗り潰し処理
では、上記MOVE_TOコマンドによって当該線分の始点の
X、Y座標値が指定されるが、2番目以降の線分に対応
した台形塗り潰し処理では、その直前の台形塗り潰し処
理の際にFILL_TOコマンドによって指定された終点の
X、Y座標値が当該線分の始点のX、Y座標値として用
いられるのである。さらに、このFILL_TOコマンドは、
6種類のコントロールビットSFT、EDP、ESC、
ESF、EEPおよびENPを有している。
【0020】図1を例に説明したように、本実施形態に
おいては、通常ライン上の輪郭点を描画するか否か(す
なわち、線分自体を描画するか否か)、および最終ライ
ンに属する画素を描画するか否か等を各線分ごとに指定
することができるようになっている。これらの指定を行
うのが、このFILL_TOコマンド内のコントロールビット
(制御情報)である。以下、各コントロールビットにつ
いて説明する。 (1)SFT:台形領域の通常ライン上の輪郭点の画像
データを反転処理するか否かを指定するコントロールビ
ットである。具体的には、反転処理を施す場合にはSF
T=“0”とされ、施さない場合にはSFT=“1”と
される。 (2)EDP:台形塗り潰し処理において最終ラインに
属する画素の画像データに対して反転処理を施すか否か
を指定するコントロールビットである。これらの画像デ
ータに対して反転処理を施さない場合にはEDP=
“0”とされ、施す場合にはEDP=“1”とされる。
また、EDP=“1”である場合には、以下列挙する各
コントロールビットに従って、最終ラインに対応した反
転処理の制御が行われる。 (3)ESC:最終ライン上の輪郭点を除いた画素の画
像データに対して反転処理を施すか否かを指定するコン
トロールビットである。これらの画像データに対して反
転処理を施さない場合にはESC=“0”とされ、施す
場合にはESC=“1”とされる。 (4)ESF:本実施形態においては、台形塗り潰し処
理の対象となる線分を横切る各ライン毎に、当該ライン
上の画素のうちいずれの画素の画像データに対して反転
処理を施すのかを表す塗り潰しパターンFPTNが生成され
るとともに、この塗り潰しパターンFPTNに従って、画像
データの反転処理がなされるようになっている(詳細は
後述する)。ESFは、最終ラインに対応した塗り潰し
パターンFPTNが生成された場合において、その塗り潰し
パターンFPTNを境界線側に1ビットシフトするか否かを
指定するコントロールビットである。具体的には、シフ
トしない場合にはESF=“0”とされ、シフトする場
合にはESF=“1”とされる。 (5)EEP:最終ラインにおいて終点に対応する画素
の画像データに反転処理を施さない場合にはEEP=
“0”とされ、施す場合にはEEP=“1”とされる。 (6)ENP:描画対象物の輪郭線の傾きによっては、
1つのライン上に複数の輪郭点が存在する場合があり得
る(図9参照)。このコントロールビットENPは、最
終ライン上に終点を含む複数の輪郭点が存在する場合
に、当該終点以外の輪郭点の画像データに対して反転処
理を施すか否かを指定するコントロールビットである。
すなわち、最終ライン上の複数の輪郭点のうち終点以外
の輪郭点の画像データを反転処理する場合にはENP=
“1”とされ、反転処理しない場合には“0”とされ
る。
【0021】描画処理においては、以上説明した各コマ
ンドが例えば次のような順序でホストコンピュータから
画像処理装置1のインタフェース20に供給され、台形
領域塗り潰し描画回路10により各コマンドの右側に付
記した各処理が進められる。 SET_BOUND_X 境界線設定 MOVE_TO 始点設定 FILL_TO 第1の終点設定および第1の線分に対応した反転処理 FILL_TO 第2の終点設定および第2の線分に対応した反転処理 : : FILL_TO 最後の終点設定および最後の線分に対応した反転処理
【0022】次に、図3を参照して、台形領域塗り潰し
描画回路10の構成を説明する。同図に示すように、台
形領域塗り潰し描画回路10は、直線座標計算部11、
塗り潰しパターン生成回路12および塗り潰し回路13
を含んで構成される。
【0023】直線座標計算部11には、輪郭線を構成す
る各直線の始点座標[xs、ys]と終点座標[xe、
ye]が供給される。これらの各座標は、上述したホス
トコンピュータから供給されるMOVE_TOコマンドまたはF
ILL_TOコマンドから取り出されたものである。直線座標
計算部11は、始点座標[xs、ys]と終点座標[x
e、ye]が与えられるたびに、その始点から終点まで
の直線上の各画素の座標値[xp、yp]を求めて出力
する。さらに詳述すると、直線座標計算部11は、y座
標値ypを初期値ysから順次「1」ずつ進めながら、
各yp毎に、直線上の1または複数の輪郭点(画素)の
座標値[xp、yp]を出力する。
【0024】次に、塗り潰しパターン生成回路12は、
台形塗り潰し処理の対象となる各線分を横切るライン
(通常ラインおよび最終ライン)の全部または一部ごと
に、当該ライン上のいずれの画素の画像データに対して
反転処理を施すのかを表す塗り潰しパターンFPTNを生成
するための手段である。上述したように、輪郭線を構成
する線分の勾配によっては、1つのライン上に複数の輪
郭点が含まれる場合もあるが、この場合、塗り潰しパタ
ーン生成回路12は、対象となるラインに含まれるすべ
ての輪郭点を考慮して塗り潰しパターンFPTNを生成する
ようになっている。なお、本実施形態における塗り潰し
パターン生成回路12は、8ビットの塗り潰しパターン
を生成するものとする。この塗り潰しパターンFPTNの各
ビットは、ビデオメモリ30内の1つの画素の画像デー
タに対応している。つまり、8ビットの塗り潰しパター
ンによって8個の画素の画像データに対する反転処理の
有無を指定することができるのである。また、以下で
は、塗り潰しパターンを適宜「FPTN」と表記する。
【0025】ここで、図4を参照して、塗り潰しパター
ン生成回路12の構成を説明する。同図に示すように、
この塗り潰しパターン生成回路12は、エンコーダ12
1、演算部122、セレクタ123、レジスタ124を
含んで構成される。エンコーダ121は、図5に示すエ
ンコーダテーブルに従って、直線座標計算部11から順
次供給されるxpを座標コードCODに変換する。この図
に示すように、輪郭点のX座標値xpは、コントロール
ビットESC=“1”の場合と、ESC=“0”の場合
とで異なった座標コードCODに変換される。なお、同一
ライン上に複数の輪郭点が存在する場合、直線座標計算
部11からは複数のxpが供給されることとなるが、こ
の場合、エンコーダ121は、供給されたxpを順次座
標コードに変換し、順次演算部122に出力する。
【0026】再び図4において、演算部122は、エン
コーダ121から供給される座標コードCODと、レジス
タ124から供給されるFPTNとを用いて所定の演算を行
い、この演算結果をセレクタ123に出力する。ここ
で、演算部122によって実行される演算の内容は、FI
LL_TOコマンド内のSFT、ESF、ESC、EEPお
よびENPの内容に応じて決定される。具体的には、こ
れらの各コントロールビットの内容に応じて、座標コー
ドCODおよびFPTNの論理和を演算するか、論理積を演算
するか、または座標コードCODについて何ら演算を行わ
ないかが決定される。さらに、演算部122は、座標コ
ードCODとFPTNとの間で論理和または論理積を演算した
場合、得られたデータを1ビット分シフトする機能を有
している。このシフトが行われるか否かについても、上
記各コントロールビットの内容に応じて決定される。
【0027】次に、セレクタ123は、8ビットのデー
タ“11111111”、“00000000”、また
は演算部122から出力される8ビットのデータのうち
のいずれかを選択してレジスタ124に出力する。レジ
スタ124は、セレクタ123から出力されたデータを
塗りつぶしパターンFPTNとして格納する。
【0028】ここで、図6(a)および(b)は、この
塗り潰しパターン生成回路12の動作内容を例示する図
である。同図に示すように、塗り潰しパターン生成回路
12の動作内容、すなわち、演算部122による演算内
容、演算部122におけるデータシフトの有無、および
レジスタ124にセットされるFPTNの初期値は、FILL_T
Oコマンド中の各コントロールビットの内容に応じて決
定されるようになっている。なお、この表に基づいた塗
り潰しパターン生成回路12の具体的な動作について
は、後の動作説明において詳述する。
【0029】次に、塗り潰し回路13は、塗り潰しパタ
ーン生成回路12によって生成されたFPTNの内容に応じ
て、ビデオメモリ30内に格納された画像データの反転
処理を行う。具体的には、8ビットのFPTNのうち、ビッ
ト“1”に対応する画素の画像データを反転する一方、
ビット“0”に対応する画素の画像データは反転しない
ようになっている。図7は、かかる処理を行うための塗
り潰し回路13の構成を例示するブロック図である。同
図に示すように、この塗り潰し回路13は、レジスタ1
31、132および134と、演算部133とを含んで
構成される。
【0030】レジスタ131は、塗り潰しパターン生成
回路12によって生成されたFPTNを取り込んで演算部1
33に出力する。一方、レジスタ132は、ビデオメモ
リ30に格納された各画素の画像データのうち、当該FP
TNを用いた反転処理の対象となる画素の画像データを取
り込んで演算部133に出力する。
【0031】演算部133は、レジスタ131から供給
されるFPTNと、レジスタ132から供給される画像デー
タとの間で各ビット毎の排他的論理和を演算し、演算結
果をレジスタ134に出力する。そして、レジスタ13
4に格納された演算結果が、ビデオメモリ30中の対応
するエリアに格納されるのである。ここで、演算部13
3から出力されるデータは、ビデオメモリ30から読み
出された画像データの各ビットのうち、FPTNのビット
“1”に対応するビットを反転したものとなる。この結
果、ビデオメモリ30に格納された画像データに対し
て、FPTNに応じた反転処理が施されることとなる。
【0032】C.実施形態の動作 次に、本実施形態の動作を説明する。なお、以下では、
X軸方向に16個、Y軸方向に所定の個数の画素を配列
してなる表示領域に描画対象物を表示させるものとし
(図8参照)、ビデオメモリ30内の描画エリアには、
これらの各画素に対応した画像データが格納されるもの
として説明を進める。
【0033】まず、対象物の表示に先立ち、ビデオメモ
リ30内の描画用エリアが初期化される。具体的には、
ビデオメモリ内の描画エリアに属するすべての画素の画
像データとして、当該各画素の表示色を白とする“0”
が書き込まれる。続いて、境界線のX座標値Xbをオペ
ランドとするSET_BOUND_Xコマンドが実行され、台形領
域塗り潰し描画回路10に境界線のX座標値Xbが設定
される。なお、ここでは、例えば図8(a1)に示すよ
うに、X座標値Xbとして“15”が設定された場合を
想定する。次に、描画対象物の輪郭を構成する最初の線
分の始点の座標値XsおよびYsをオペランドとするMO
VE_TOコマンドが実行され、この始点の座標値Xsおよ
びYsが設定される。
【0034】以後、表示対象物の輪郭を構成する各線分
の終点の座標値XeおよびYeを含むFILL_TOコマンド
が順次実行される。具体的には、台形領域塗り潰し描画
回路10内の直線座標計算部11は、インタフェースか
ら受信したFILL_TOコマンドに含まれる座標値と、その
直前に受信したFILL_TOコマンドに含まれる座標値とに
よって特定される線分上の輪郭点の座標を算出して塗り
潰しパターン生成回路12に順次出力する。ただし、描
画対象物の輪郭を構成する最初の線分は、MOVE_TOコマ
ンドに含まれる始点の座標値XsおよびYsと、次に受
信するFILL_TOコマンドに含まれる座標値とによって特
定される。
【0035】そして、塗り潰しパターン生成回路12
は、上記FILL_TOコマンドに含まれる各コントロールビ
ットと、上記直線座標計算部11から供給される座標値
とに従って、各ラインごとのFPTNを生成する。一方、塗
り潰し回路13は、このFPTNに従って、ビデオメモリ3
0内の画像データに対して反転処理を施す。以下、この
塗り潰しパターン生成回路12および塗り潰し回路13
の動作について詳述する。なお、本実施形態において
は、各ライン毎に、xp=「0」から「7」までの8個
の画素(以下、「第1群」という)に対応する8ビット
のFPTNと、xp=「8」から「15」までの8個の画素
(以下、「第2群」という)に対応する8ビットのFPTN
とを別個に作成する場合を例示する。また、通常ライン
と最終ラインとでは、FPTNの生成の態様が異なるため、
以下では、各々の場合に分けて説明する。
【0036】C−1:通常ライン 通常ラインについては、以下のaおよびbに示すよう
に、FILL_TOコマンドに含まれるコントロールビットS
FTの内容に応じて、生成されるFPTNの態様が決定され
る。なお、SFT以外のコントロールビットは、最終ラ
インについて生成されるFPTNの内容を指定するためのも
のであるため、通常ラインの描画パターンは、これらの
コントロールビットとは無関係に(すなわち、SFTの
内容のみに依存して)生成される。また、エンコーダ1
21は、通常ラインに属する画素のX座標値が直線座標
計算部11から供給されると、図5に示したエンコード
テーブルのうち、ESC=“1”に対応する座標コード
CODを読み出して演算部122に出力するようになって
いる。
【0037】a.SFT=“0”の場合 この場合、図6(a)に示すように、FPTNの初期値は
“00000000”に設定される。また、塗り潰しパ
ターン生成回路12内の演算部122は、座標コードCO
DとFPTNとの論理和を演算し、この演算結果にシフトを
施すことなく出力する。以下、図8(a1)および(a
2)を参照して、この場合に生成されるFPTNについて説
明する。なお、同図においては、xp=「3」および
「4」の画素が輪郭点となる場合を想定している。
【0038】まず、直線座標計算部11からxp=
「3」を受け取ると、エンコーダ121は、エンコード
テーブルを参照することにより、このxp=「3」を座
標コードCOD“00011111”に変換して演算部1
22に出力する。一方、演算部122は、こうしてエン
コーダ121から供給される座標コードCODと、レジス
タ124に格納されたFPTN(初期値)との間で各ビット
毎の論理和を演算し、この結果得られたデータ“000
11111”を出力する。このデータは、セレクタ12
3によって選択・出力され、新たなFPTNとしてレジスタ
124に格納される(図8(a2)中のステップ2)。
【0039】次に、エンコーダ121は、直線座標計算
部11から受け取ったxp=「4」を受け取ると、これ
を座標コードCOD“00001111”に変換して出力
する。そして、演算部122は、この座標コードCOD
と、上記新たなFPTNとの間で各ビット毎の論理和を演算
して出力する。こうして得られたデータ“000111
11”は、セレクタ123によって選択・出力され、FP
TNとしてレジスタ124に格納される(同図ステップ
3)。
【0040】こうして同一ライン上の第1群に属するす
べての輪郭点についての処理が終了し、第1群に対応す
るFPTNが生成されると、塗り潰し回路13は、当該FPTN
のうちのビット“1”に対応する画素の画像データにつ
いて反転処理を行う。具体的には、まず、塗り潰し回路
13内のレジスタ131は、FPTNをレジスタ124から
取り込んで演算部133に出力する。一方、レジスタ1
32は、ビデオメモリ30に格納された画像データのう
ち、当該FPTNに対応する画素の画像データを取り込んで
演算部133に出力する。そして、演算部133は、レ
ジスタ131からのFPTNと、レジスタ132からの画像
データとの間で各ビット毎の排他的論理和を演算し、演
算結果をレジスタ134に出力する。レジスタ134
は、この演算結果を取り込んで、ビデオメモリ30上の
対応する画像データを更新する(図8(a2)において
は「Memory Write」と表記されている)。
【0041】一方、塗り潰し回路13内のレジスタ13
1によってレジスタ124内のFPTNが読み出されると、
塗り潰しパターン生成回路12内のセレクタ123は、
8ビット分のデータ“1”を選択して出力する。このデ
ータ“11111111”は、第2群に対応するFPTNと
してレジスタ124に格納される(図8(a2)におけ
るステップ4)。さらに、このFPTNは、塗り潰し回路1
3内のレジスタ131によって取り込まれる。一方、レ
ジスタ132は、当該第2群に対応する画素の画像デー
タを取り込んで演算部133に出力する。この後、演算
部133によって両者の排他的論理和が演算された後、
この演算結果がレジスタ134に格納される。この場
合、FPTNのすべてのビットは“1”であるから、第2群
に属するすべての画素の画像データが反転されることと
なる。
【0042】以上の処理の結果、コントロールビットS
FTが“0”の場合には、図8(a1)に示すように、
当該通常ライン上の輪郭点(xp=「3」および
「4」)を含めて当該輪郭点から境界線までの各画素の
画像データに対して反転処理が行われることとなる。な
お、図8および以下に示す各図においては、斜線が付さ
れた“□”が反転処理の対象となる画素を表し、斜線が
付されていない“□”が反転処理の対象とならない画素
を表している。
【0043】b.SFT=“1”の場合 この場合、図6(a)に示すように、FPTNの初期値は
“11111111”に設定される。また、演算部12
2は、座標コードCODとFPTNとの間で各ビット毎の論理
積を演算し、この演算結果を1ビット分シフトして出力
する。
【0044】すなわち、まず、xp=「3」を変換した
座標コードCOD“00011111”がエンコーダ12
1から演算部122に出力される。そして、演算部12
2は、この座標コードCODと、レジスタ124に初期値
として格納されているFPTNとの間で各ビット毎の論理積
を演算するとともに、この演算結果“0001111
1”を1ビット分シフトして出力する。このデータ“0
0001111”は、新たなFPTNとしてレジスタ124
に格納される(図8(b2)におけるステップ2)。次
に、xp=「4」を変換した座標コードCOD“0000
1111”がエンコーダ121から演算部122に出力
される。演算部122は、この座標コードCODと、先に
レジスタ124に格納されたFPTN“00001111”
との間で各ビット毎の論理積を演算するとともに、この
演算結果を1ビット分シフトして出力する。このデータ
“00000111”は、当該第1群のFPTNとしてレジ
スタ124に格納される(図8(b2)におけるステッ
プ3)。この結果、ビデオメモリ内の当該第1群に属す
る画素の画像データは、当該FPTNに従って反転処理され
る。さらに、セレクタ123により、レジスタ124に
は第2群に対応するFPTN“11111111”がセット
され、ビデオメモリ内の第2群に属する画素の画像デー
タは、当該FPTNに従って反転処理される(図8(b2)
におけるステップ4)。この結果、コントロールビット
SFT=“1”の場合には、図8(b1)に示すよう
に、通常ライン上の輪郭点から境界線までの各画素のう
ち当該輪郭点を除いた画素の画像データについて反転処
理が行われることとなる。このように、通常ラインにお
いては、コントロールビットSFTの内容に応じて、輪
郭点の画像データに対して反転処理を施すか否かが指定
されるのである。
【0045】C−2:最終ライン 次に、最終ラインについての処理の詳細を説明する。こ
の最終ラインについての塗り潰しの態様は、コントロー
ルビットEDP、ESC、ESF、EEPおよびENP
の内容によって決定される。なお、コントロールビット
SFTは、通常ラインの塗り潰しの指定にのみ関与する
ものであり、最終ラインの塗り潰しの態様には無関係で
ある。
【0046】まず、コントロールビットEDPは、最終
ラインに反転処理を施すか否かを指定するためのビット
である。このコントロールビットEDPが“0”である
場合には、図6(b)に示すように、当該最終ラインに
ついては何ら処理が行われない。すなわち、当該最終ラ
インに属する画素の画像データについては、何ら反転処
理が施されないこととなる。
【0047】次に、コントロールビットEDPが“1”
である場合、図6(b)中の(1)乃至(11)に示す
ように、他のコントロールビットESC、ESF、EE
P、ENPの内容に応じて、最終ラインに属する画素の
画像データに施される反転処理の態様が決定されること
となる。以下、これらのコントロールビットの内容ごと
に、反転処理の内容を説明する。なお、以下では、図9
に示すように、xp=「3」乃至「5」となる3つの輪
郭点が最終ライン上にある場合を想定する。また、以下
においては、図9(1a)乃至(4a)ならびに図10
(5a)乃至(11a)に示すように、X軸の正方向に
輪郭線が延びて終点に至る場合、すなわち、終点のX座
標値が、終点以外の輪郭点のX座標値よりも大きい場合
を想定する。
【0048】(1)[ESC,ESF,EEP,EN
P]=[0,*,0,0]の場合 この場合、図6(b)に示すように、FPTNの初期値は
“00000000”に設定される。また、演算部12
2は、すべての輪郭点について何ら演算を行わない(図
6(b)においては、「NOP」として表記されてい
る)。
【0049】すなわち、まず、レジスタ124にFPTN
“00000000”が初期値としてセットされる。一
方、エンコーダ121からは、まずxp=「3」に対応
したコードCOD“00010000”が出力されるが、
図6(b)によれば、演算部122による演算は「NO
P」である。従って、当該コードCODとFPTNの初期値と
の間では何ら演算が行われることなく、当該FPTNの内容
は保持されたままとなる(図11(1)のステップ
2)。エンコーダ121からxp=「4」および「5」
に対応したコードCODが出力された場合についても同様
に、FPTNの内容はそのまま保持され、この結果、この最
終ラインに属するすべての輪郭点について処理が終了し
た時点で、レジスタ124には第1群のFPTNとして“0
0000000”が格納されていることとなる(同図ス
テップ3および4)。この場合、FPTNのすべてのビット
が“0”であるから、塗り潰し回路13は、ビデオメモ
リ30に格納されている各画素の画像データであって、
当該最終ラインに対応する第1群の画像データについて
は、何ら反転処理を行わない。なお、上記のように、第
1群の画素のうち最も境界線側にある画素の画像データ
に対して反転処理をしない場合には、第2群の画素につ
いても反転処理を施す必要はない。従って、この場合、
第2群のFPTNは生成する必要はない。
【0050】(2)[ESC,ESF,EEP,EN
P]=[0,*,0,1]の場合 この場合、図6(b)に示すように、FPTNの初期値は
“00000000”に設定される。また、演算部12
2は、最終ライン上の終点については何ら演算を行わ
ず、終点以外の輪郭点についてはコードCODとFPTNとの
間で各ビット毎の論理和を演算して当該演算結果をシフ
トすることなく出力する。
【0051】すなわち、エンコーダ121から終点以外
の輪郭点に係るxp=「3」に対応した座標コードCOD
“00010000”が出力されると、演算部122
は、この座標コードCODとFPTNの初期値との間で各ビッ
ト毎の論理和を演算する。そして、この演算の結果得ら
れたデータ“00010000”が新たなFPTNとしてレ
ジスタ125に格納される(図11(2)のステップ
2)。次に、エンコーダ121から終点以外の輪郭点に
係るxp=「4」に対応する座標コードCOD“0000
1000”が供給された場合も同様に、この座標コード
CODとFPTN“00010000”との間で各ビット毎の
論理和が演算され、この結果得られたデータ“0001
1000”が新たなFPTNとしてレジスタ124に格納さ
れる(同図ステップ3)。一方、次にエンコーダ121
から出力されるのは、終点に係るxp=「5」に対応し
たコードCOD“00000100”である。この場合、
この座標コードCODとFPTNとの間では何ら演算が行われ
ることなく、当該FPTNの内容は保持されたままとなる。
以上の結果、すべての輪郭点について処理が終了した時
点で、レジスタ124に格納されているFPTNは“000
11000”となる(同図ステップ4)。
【0052】塗り潰し回路13は、こうして生成された
FPTNのうち、“1”がセットされたビットに対応する画
素の画像データについて反転処理を行う。具体的には、
ビデオメモリ30に既に格納されている各画素の画像デ
ータ(または画像データの初期値“0”)のうち、FPTN
の“1”に対応する画素の画像データのみを反転処理す
る。この結果、図9(2)に示すように、xp=「3」
および「4」に対応する画像データ、すなわち、最終ラ
イン上の輪郭点のうち、終点以外の輪郭点に対応する画
像データのみについて反転処理が行われる一方、輪郭点
以外の画素に対応する画像データについては反転処理が
行われないこととなる。
【0053】(3)[ESC,ESF,EEP,EN
P]=[0,*,1,0]の場合 この場合、図6(b)に示すように、FPTNの初期値は
“00000000”に設定される。また、演算部12
2は、最終ライン上の終点については座標コードCODとF
PTNとの間で各ビット毎の論理和を演算して演算結果を
シフトすることなく出力し、終点以外の輪郭点について
は何ら演算を行わない。
【0054】すなわち、エンコーダ121から終点以外
の輪郭点に係るxp=「3」または「4」に対応する座
標コードCODが出力されても、FPTNの初期値“0000
0000”は保持される(図11(3)ステップ1乃至
3)。一方、次にエンコーダ121から出力されるの
は、終点に係るxp=「5」に対応した座標コードCOD
“00000100”である。この場合、演算部122
は、この座標コードCODと、レジスタ124に格納され
たFPTNとの間で各ビット毎の論理和を演算する。そし
て、この結果得られたデータ“00000100”が当
該最終ラインの第1群に対応するFPTNとしてレジスタ1
24に格納されるのである(同図ステップ4)。
【0055】この結果、ビデオメモリ30に格納されて
いる各画素の画像データのうち、FPTNの“1”に対応す
る画素の画像データのみが塗り潰し回路13によって反
転処理される。具体的には、図9(3)に示すように、
xp=「5」に対応する画素の画像データ、すなわち、
最終ライン上の輪郭点のうち、終点に対応する画像デー
タのみについて反転処理が行われる一方、当該ラインに
属するその他の画素(終点以外の輪郭点を含む)の画像
データについては反転処理が行われないこととなる。
【0056】(4)[ESC,ESF,EEP,EN
P]=[0,*,1,1]の場合 この場合、図6(b)に示すように、FPTNの初期値は
“00000000”に設定される。また、演算部12
2は、座標コードCODとFPTNとの間で各ビット毎の論理
和を演算し、演算結果をシフトすることなく出力する。
【0057】すなわち、まず、xp=「3」に対応する
座標コードCOD“00010000”とFPTNの初期値と
の間で各ビット毎の論理和が演算され、この演算結果
“00010000”がレジスタ124にFPTNとして格
納される(図11(4)ステップ2)。xp=「4」に
対応する座標コードCOD“00001000”、および
xp=「5」に対応する座標コードCOD“000001
00”に関しても同様の処理が行われ、これにより得ら
れたデータ“00011100”が当該最終ラインの第
1群に対応するFPTNとしてレジスタ124に格納される
(同図ステップ3および4)。この結果、図9(4)に
示すように、ビデオメモリ30に格納されている各画素
の画像データのうち、xp=「3」乃至「5」に対応す
る画素の画像データ、すなわち、最終ライン上のすべて
の輪郭点に対応する画像データについて反転処理が行わ
れる一方、輪郭点以外の画素の画像データに対しては反
転処理が行われないこととなる。
【0058】上記(1)乃至(4)に示したように、コ
ントロールビットESCが“0”である場合には、輪郭
点と境界線とに挟まれた画素の画像データに対しては反
転処理が行われない一方、輪郭点(終点を含む)に対応
する画素の画像データについての反転処理の内容がコン
トロールビットESF、EEP、ENPに応じて制御さ
れることとなる。これに対し、コントロールビットES
Cが“1”である場合には、輪郭点と境界線とに挟まれ
た画素の画像データについて反転処理が行われることと
なる。以下、コントロールビットESCが“1”である
場合になされる処理の詳細について説明する。
【0059】(5)[ESC,ESF,EEP,EN
P]=[1,*,0,0]の場合 この場合、図6(b)に示すように、FPTNの初期値は
“11111111”に設定される。また、演算部12
2は、座標コードCODとFPTNとの間で各ビット毎の論理
積を演算し、当該演算結果をシフトして出力する。
【0060】すなわち、まず、エンコーダ121から出
力されるxp=「3」に対応する座標コードCOD“00
011111”とFPTNの初期値との間で各ビット毎の論
理積が演算され、この演算結果を1ビット分シフトして
得られるデータ“00001111”が新たなFPTNとし
てレジスタ124に格納される(図12(5)ステップ
2)。xp=「4」に対応する座標コードCOD“000
01111”、およびxp=「5」に対応する座標コー
ドCOD“00000111”に関しても同様の処理が行
われ、これにより得られたデータ“00000011”
が当該最終ラインの第1群に対応するFPTNとしてレジス
タ124に格納される(同図ステップ3および4)。塗
り潰し回路13は、この最終ラインの第1群に対応する
FPTNに従ってビデオメモリ30に格納された画像データ
を反転する。
【0061】ここで、上記第1群のFPTNのうち、最も境
界線側に位置する画素に対応するビットは“1”であ
る。この場合、塗り潰しパターン生成回路12内のセレ
クタ123は、8ビット分の“1”を選択してレジスタ
124に出力する。この結果、レジスタ124には、第
2群に対応するFPTN“11111111”が格納される
(同図ステップ5)。続いて、塗り潰し回路13は、こ
の第2群のFPTNに従い、ビデオメモリ30に格納された
画像データのうち、最終ラインの第2群に対応する画像
データを、上記FPTNに従って反転処理する。
【0062】以上の処理の結果、図10(5a)に示す
ように、ビデオメモリ30に格納された最終ライン上の
輪郭点から境界線までの各画素のうち輪郭点を除いた画
素の画像データについて反転処理が行われることとな
る。
【0063】なお、コントロールビットESCが“1”
である場合、第1群のうちのxp=「7」に対応するビ
ットは“1”となるため、最終ラインのうちの第2群に
属するすべての画素の画像データについて反転処理が施
される。従って、以下の(6)乃至(11)において
は、最終ラインの第1群に属する画素の画像データにつ
いて施される反転処理についてのみ説明し、第2群に属
する画素の画像データについては説明を省略する。
【0064】(6)[ESC,ESF,EEP,EN
P]=[1,0,0,1]の場合 この場合、図6(b)に示すように、FPTNの初期値は
“00000000”に設定される。また、演算部12
2は、最終ライン上の終点については何ら演算を行わず
(すなわち、FPTNがそのまま保持される)、終点以外の
輪郭点については座標コードCODとFPTNとの間で各ビッ
ト毎の論理和を演算して当該演算結果をシフトすること
なく出力する。
【0065】すなわち、終点以外の輪郭点に係るxp=
「3」に対応する座標コードCOD“00011111”
がエンコーダ121から出力されると、演算部122
は、この座標コードCODと、FPTNの初期値との間で各ビ
ット毎の論理和を演算して出力する。この演算結果“0
0011111”は、新たなFPTNとしてレジスタ124
に格納される(図12(6)ステップ2)。エンコーダ
121から終点以外の輪郭点に係るxp=「4」に対応
する座標コードCOD“00001111”が出力された
場合も同様に、この座標コードCODとFPTNとの間で各ビ
ットごとの論理和が演算され、この演算結果“0001
1111”がFPTNとしてレジスタ124に格納される
(同図ステップ3)。一方、次にエンコーダ121から
出力されるのは、終点に係るxp=「5」に対応した座
標コードCOD“00000111”である。この場合、
演算部122は、当該座標コードCODについて何ら演算
を行わない。すなわち、レジスタ124に格納されたFP
TNがそのまま保持される(同図ステップ4)。以上の結
果、すべての輪郭点について処理が終了した時点で、レ
ジスタ124に格納されているFPTNは“0001111
1”となり、塗り潰し回路13は、この塗り潰しパター
ンに従って第1群に属する画素の画像データを反転す
る。この結果、図10(6a)に示すように、ビデオメ
モリ30に格納された最終ライン上において輪郭点を含
めて当該輪郭点から前記境界線までの各画素の画像デー
タついて反転処理が行われる。
【0066】(7)[ESC,ESF,EEP,EN
P]=[1,0,1,0]の場合 この場合、図6(b)に示すように、FPTNの初期値は
“00000000”に設定される。また、演算部12
2は、最終ライン上の終点については座標コードCODとF
PTNとの間で各ビット毎の論理和を演算し、終点以外の
輪郭点については何ら演算を行わない。
【0067】すなわち、エンコーダ121から終点以外
の輪郭点に係るxp=「3」または「4」に対応する座
標コードCODが出力されても、演算部122は、この座
標コードCODとFPTNとの間で何ら演算を行わない。次
に、終点に係る座標コード“00000111”がエン
コーダ121から出力されると、演算部122は、この
座標コードCODと、レジスタ124に格納されたFPTN
(初期値)との間で各ビット毎の論理和を演算する。そ
して、この結果得られた“00000111”が当該最
終ラインの第1群のFPTNとしてレジスタ124に格納さ
れるのである(図12(7)ステップ2)。この結果、
図10(7a)に示すように、ビデオメモリ30に格納
された各画素の画像データのうち、最終ライン上の終点
の画像データと、当該終点から境界線側までの各画素の
画像データとに対して反転処理が行われる一方、終点以
外の輪郭点の画像データに対しては反転処理が行われな
い。
【0068】(8)[ESC,ESF,EEP,EN
P]=[1,0,1,1]の場合 この場合、図6(b)に示すように、FPTNの初期値は
“00000000”に設定される。また、演算部12
2は、すべての輪郭点について座標コードCODとFPTNと
の間で各ビット毎の論理和を演算し、当該演算結果をシ
フトすることなく出力する。
【0069】すなわち、まず、終点以外の輪郭点に係る
xp=「3」に対応する座標コードCOD“000111
11”と、FPTNの初期値との間で各ビット毎の論理和が
演算され、この演算結果“00011111”が新たな
FPTNとしてレジスタ124に格納される(図12(8)
ステップ2)。xp=「4」およびxp=「5」に関し
ても同様の処理が行われ、結局、演算結果“00011
111”が当該最終ラインの第1群のFPTNとしてレジス
タ124に格納される(同図ステップ4)。この結果、
図10(8a)に示すように、ビデオメモリ30に格納
された各画素の画像データのうち、すべての輪郭点(終
点を含む)の画像データと、これらの輪郭点から境界線
側までの各画素の画像データについて反転処理が行われ
る。
【0070】(9)[ESC,ESF,EEP,EN
P]=[1,1,0,1]の場合 この場合、図6(b)に示すように、FPTNの初期値は
“11111111”に設定される。また、演算部12
2は、最終ライン上の終点については何ら演算を行わ
ず、終点以外の輪郭点については座標コードCODとFPTN
との間で各ビット毎の論理積を演算して当該演算結果を
1ビット分シフトした後に出力する。
【0071】すなわち、終点以外の輪郭点に係るxp=
「3」に対応する座標コードCOD“00011111”
とFPTN(初期値)との間で各ビット毎の論理積が演算さ
れ、この演算結果を1ビット分シフトして得られるデー
タ“00001111”が新たなFPTNとしてレジスタ1
24に格納される(図13(9)ステップ2)。同様
に、同じく終点以外の輪郭点に係るxp=「4」に対応
する座標コードCOD“00001111”と新たなFPTN
との間で論理積演算、および演算結果のシフトが行わ
れ、この結果得られたデータ“00000111”が新
たなFPTNとしてレジスタ124に格納される(同図ステ
ップ3)。一方、終点に係るxp=「5」については何
ら演算は行われず、レジスタ124のFPTNはそのまま保
持される。以上の結果、当該最終ラインの第1群につい
て得られるFPTNは“00000111”となる。この結
果、図10(9a)に示すように、ビデオメモリ30に
格納された各画素の画像データのうち、終点の画像デー
タと、当該終点から境界線側の画素の画像データについ
て反転処理が行われる一方、終点以外の輪郭点に対応す
る画素の画像データについては反転処理が行われない。
【0072】(10)[ESC,ESF,EEP,EN
P]=[1,1,1,0]の場合 この場合、図6(b)に示すように、FPTNの初期値は
“11111111”に設定される。また、演算部12
2は、最終ライン上の終点については座標コードCODとF
PTNとの論理積演算、および演算結果のシフトを行う一
方、終点以外の輪郭点については何ら演算を行わない。
【0073】すなわち、終点以外の輪郭点に係るxp=
「3」または「4」に対応する座標コードCODがエンコ
ーダ121から出力されても、演算部122はこの座標
コードCODとFPTNとの間で何ら演算を行わず、この結
果、FPTNは初期値のまま保持される。次に、終点に係る
xp=「5」に対応する座標コードCOD“000001
11”がエンコーダ121から出力されると、演算部1
22は、この座標コードCODと、レジスタ124に格納
されたFPTN(初期値)との間で各ビット毎の論理積を演
算し、演算結果を1ビット分シフトする。そして、この
結果得られたデータ“00000011”が当該最終ラ
インの第1群のFPTNとしてレジスタ124に格納される
のである(図13(10)ステップ2)。この結果、図
10(10a)に示すように、ビデオメモリ30に格納
された当該最終ライン上の輪郭点から境界線までの各画
素の画像データのうち、輪郭点(終点を含む)を除いた
各画素の画像データについて反転処理が行われる。
【0074】(11)[ESC,ESF,EEP,EN
P]=[1,1,1,1]の場合 この場合、図6(b)に示すように、FPTNの初期値は
“11111111”に設定される。また、演算部12
2は、すべての輪郭点について座標コードCODとFPTNと
の間で各ビット毎の論理積を演算し、この演算結果を1
ビット分シフトして出力する。
【0075】すなわち、まず、終点以外の輪郭点に係る
xp=「3」に対応する“00011111”と、FPTN
の初期値との間で各ビット毎の論理積が演算され、この
演算結果を1ビット分シフトして得られるデータ“00
001111”が新たなFPTNとしてレジスタ124に格
納される(図13(11)ステップ2)。終点以外の輪
郭点に係るxp=「4」および終点に係るxp=「5」
に対応する座標コードCODが供給された場合も同様の処
理がなされ、当該最終ラインのFPTNとして“00000
011”が得られる(同図ステップ3および4)。この
結果、図10(11a)に示すように、ビデオメモリ3
0に格納された輪郭点から境界線までの画素のうち、輪
郭点(終点を含む)を除いた画素の画像データに対して
反転処理が行われる。
【0076】このように、コントロールビットESCに
“1”がセットされている場合には、輪郭点と境界線と
の間に位置する画素の画像データについて反転処理が行
われる。さらに、その他のコントロールビットESF、
EEPおよびENPの内容に応じて、終点以外の輪郭点
および終点に対応する画素の画像データを反転処理の対
象とするか否かが決定されるのである。
【0077】なお、上記においては、X軸の正方向に輪
郭線が延びて終点に至る場合、すなわち、終点のX座標
値が、終点以外の輪郭点のX座標値よりも大きい場合を
例示したが、X軸の負方向に輪郭線が延びて終点に至る
場合、すなわち、終点のX座標値が、終点以外の輪郭点
のX座標値よりも小さい場合にも、各コントロールビッ
トの内容に応じて上記(1)乃至(11)の処理が実行
され、この結果得られる塗り潰しパターンは図9(1
b)乃至(4b)ならびに図10(5b)乃至(11
b)のようになる。
【0078】上述したように、本実施形態によれば、描
画対象物の輪郭を構成する各線分ごとに、ビデオメモリ
内の画像データについて施すべき反転処理の内容を指定
することができる。具体的には、通常ライン上の輪郭
点に対応する画像データを反転するか否か、最終ライ
ンに属する画素の画像データを反転するか否か、最終
ライン上の輪郭点に対応する画像データを反転するか否
かを、各線分ごとに指定することができるのである。こ
の結果、前掲図1に示したように、描画対象物の表示の
ひずみ等を伴うことなく、きめ細かい表示を実現するこ
とができるという利点を得ることができる。さらに、本
実施形態においては、最終ライン上に複数の輪郭点が存
在する場合であっても、終点に対応する画像データに対
する反転処理の有無と、終点以外の輪郭点に対応する画
像データに対する反転処理の有無とを別個に指定するこ
とができるため、従来の技術と比較して、きめ細かい表
示を実現することができる。
【0079】さらに、複数の画像データについての処理
塗り潰しパターンFPTNを生成し、この塗り潰しパターン
FPTNに応じて画像データの反転処理を行うようになって
いる。すなわち、複数の画素毎に1回の割合でメモリに
アクセスすればよいから、描画処理に要する時間を短縮
することができるという利点がある。
【0080】なお、上記実施形態においては、各ライン
を2つの群に分割し、これらの群の各々について塗り潰
しパターンを生成するようにしたが、これに限らず、1
ラインのすべての画素について塗り潰しパターンを生成
するようにしてもよい。また、1ラインに属する画素の
個数が多い場合には、各ラインをさらに多くの群に分割
し、各群について塗り潰しパターンを生成するようにし
てもよい。
【0081】
【発明の効果】以上説明したように、この発明によれ
ば、描画対象物の輪郭線上の点の描画の有無、および最
終ラインの描画の有無等を、描画対象物の輪郭を構成す
る各線分ごとに指定することができるため、きめ細かい
表示を実現することができる。
【図面の簡単な説明】
【図1】 本発明に係る画像処理方法の原理を説明する
図である。
【図2】 本発明の実施形態に係る画像処理装置の全体
構成を例示するブロック図である。
【図3】 同画像処理装置の台形領域塗り潰し描画回路
の構成を例示するブロック図である。
【図4】 同画像処理装置の塗り潰しパターン生成回路
の構成を例示するブロック図である。
【図5】 エンコーダテーブルの内容を例示する図であ
る。
【図6】 各コントロールビットに応じて実行される処
理の内容を示す図である。
【図7】 同画像処理装置の塗り潰し回路の構成を例示
するブロック図である。
【図8】 通常ラインの描画動作を模式的に例示する図
である。
【図9】 最終ラインの描画動作を模式的に例示する図
である。
【図10】 最終ラインの描画動作を模式的に例示する
図である。
【図11】 最終ラインの描画動作の際に行われる演算
の内容を例示する図である。
【図12】 最終ラインの描画動作の際に行われる演算
の内容を例示する図である。
【図13】 最終ラインの描画動作の際に行われる演算
の内容を例示する図である。
【符号の説明】
1……画像処理装置、10……台形領域塗り潰し描画回
路、11……直線座標計算部(輪郭点取得手段)、12
……塗り潰しパターン生成回路(データ生成手段)、1
21……エンコーダ、122……演算部、123……セ
レクタ、124……レジスタ、13……塗り潰し回路
(反転手段)、131,132,134……レジスタ、
133……演算部、20……インタフェース、30……
ビデオメモリ、40……表示回路。

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 描画対象物の輪郭線の内部を塗り潰した
    画像の画像データをメモリ内に生成する画像処理方法に
    おいて、 X軸およびY軸からなる2次元座標系においてX軸方向
    およびY軸方向に配列された各画素の中から前記描画対
    象物の輪郭線を構成する各輪郭線構成線分を近似する輪
    郭点を求める過程と、 前記各輪郭線構成線分毎に、当該輪郭線構成線分と前記
    2次元座標系に予め設定された前記Y軸と平行な境界線
    とにより挟まれた台形領域を対象とした台形領域塗り潰
    し処理を実行する過程とを有し、 前記各輪郭線構成線分に対応した台形塗り潰し処理は、
    当該輪郭線構成線分を横切るX軸に平行な各ラインに対
    応した処理からなり、 各ラインのうち当該輪郭線構成線分の終点を通過しない
    通常ラインに対応した処理では、当該ライン上において
    当該輪郭線構成線分の輪郭点を含めて当該輪郭点から前
    記境界線までの各画素を処理対象とするか、当該輪郭点
    から前記境界線までの各画素のうち当該輪郭点を除いた
    各画素を処理対象とするかを各輪郭線構成線分毎に決定
    し、前記メモリに記憶された処理対象となった各画素の
    画像データの反転処理を実行し、 各ラインのうち当該輪郭線構成線分の終点を通過する最
    終ラインに対応した処理では、当該ラインを処理対象と
    するか否かを各輪郭線構成線分毎に決定し、当該ライン
    を処理対象とする場合には、当該ライン上において前記
    輪郭線構成線分の輪郭点から前記境界線までの各画素の
    全部または一部を処理対象とし、前記メモリに記憶され
    た処理対象となった各画素の画像データの反転処理を行
    うことを特徴とする画像処理方法。
  2. 【請求項2】 前記最終ラインに対応した処理において
    当該ラインを処理対象とする場合に、当該ライン上の輪
    郭点を処理対象とするか否か、および当該ライン上の輪
    郭点から境界線までの画素のうち輪郭点以外の画素を処
    理対象とするか否かを各輪郭線構成線分ごとに決定する
    ことを特徴とする請求項1に記載の画像処理方法。
  3. 【請求項3】 前記最終ラインに対応した処理において
    当該ラインを処理対象とする場合に、当該ライン上の終
    点を処理対象とするか否か、および当該ライン上の終点
    以外の輪郭点を処理対象とするか否かを前記各輪郭線構
    成線分ごとに決定することを特徴とする請求項2に記載
    の画像処理方法。
  4. 【請求項4】 描画対象物の輪郭の内部を塗り潰した画
    像の画像データをメモリ内に生成する画像処理装置にお
    いて、 X軸およびY軸からなる2次元座標系においてX軸方向
    およびY軸方向に配列された各画素の中から前記描画対
    象物の輪郭線を構成する各輪郭線構成線分を近似する輪
    郭点を求める輪郭点取得手段と、 前記輪郭線構成線分ごとに、当該輪郭線構成線分と前記
    2次元座標系に予め設定された前記Y軸と平行な境界線
    とにより挟まれた台形領域を対象とした台形塗り潰し処
    理であって、当該輪郭線構成線分を横切るX軸に平行な
    各ラインに対応した処理からなる台形塗り潰し処理を実
    行する台形塗り潰し手段とを具備し、 前記台形塗り潰し手段は、 前記各ラインのうち当該輪郭線構成線分の終点を通過し
    ない通常ラインに対応した処理においては、当該ライン
    上において当該輪郭線構成線分の輪郭点を含めて当該輪
    郭点から前記境界線までの各画素の処理対象とするか、
    当該輪郭点から前記境界線までの各画素のうち当該輪郭
    点を除いた各画素を処理対象とするかを各輪郭線構成線
    分ごとに設定される制御情報に従って決定し、前記メモ
    リに記憶された処理対象となった各画素の画像データの
    反転処理を実行する一方、 前記各ラインのうち当該輪郭線構成線分の終点を通過す
    る最終ラインに対応した処理では、当該ラインを処理対
    象とするか否かを各輪郭線構成線分ごとに設定される制
    御情報に従って決定し、当該ラインを処理対象とする場
    合には、当該ライン上において前記輪郭線構成線分の輪
    郭点から前記境界線までの各画素の全部または一部を処
    理対象とし、前記メモリに記憶された処理対象となった
    各画素の画像データの反転処理を行うことを特徴とする
    画像処理装置。
  5. 【請求項5】 前記台形塗り潰し手段は、前記最終ライ
    ンに対応した処理において当該ラインを処理対象とする
    場合に、当該ライン上の輪郭点を処理対象とするか否
    か、および当該ライン上の輪郭点から境界線までの画素
    のうち輪郭点以外の画素を処理対象とするか否かを前記
    制御情報に従って決定することを特徴とする請求項4に
    記載の画像処理装置。
  6. 【請求項6】 前記台形塗り潰し手段は、前記最終ライ
    ンに対応した処理において当該ラインを処理対象とする
    場合に、当該ライン上の輪郭点のうちの終点を処理対象
    とするか否か、および当該ライン上の輪郭点のうち終点
    以外の輪郭点を処理対象とするか否かを前記制御情報に
    従って決定することを特徴とする請求項5に記載の画像
    処理装置。
  7. 【請求項7】 前記台形塗り潰し処理手段は、 各ラインごとに、当該ライン上の画素のうちの処理対象
    となる画素を指定する反転用線画像データを、前記制御
    情報に従って生成するデータ生成手段と、 前記反転用線画像データによって指定される前記メモリ
    内の画像データを反転する反転手段とを有することを特
    徴とする請求項4乃至6のいずれかに記載の画像処理装
    置。
  8. 【請求項8】 前記データ生成手段は、 前記各ライン上の各輪郭点のX座標値に応じた座標コー
    ドを用いた演算を行うことによって前記反転用線画像デ
    ータを生成することを特徴とする請求項7に記載の画像
    処理装置。
  9. 【請求項9】 前記反転手段は、前記反転用画像データ
    と、これに対応したメモリ内の画像データの排他的論理
    和をとって前記メモリにおける元のエリアに書き込むこ
    とを特徴とする請求項7または8に記載の画像処理装
    置。
JP2000150369A 2000-05-22 2000-05-22 画像処理方法および画像処理装置 Expired - Lifetime JP3531582B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000150369A JP3531582B2 (ja) 2000-05-22 2000-05-22 画像処理方法および画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000150369A JP3531582B2 (ja) 2000-05-22 2000-05-22 画像処理方法および画像処理装置

Publications (2)

Publication Number Publication Date
JP2001331808A true JP2001331808A (ja) 2001-11-30
JP3531582B2 JP3531582B2 (ja) 2004-05-31

Family

ID=18656093

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000150369A Expired - Lifetime JP3531582B2 (ja) 2000-05-22 2000-05-22 画像処理方法および画像処理装置

Country Status (1)

Country Link
JP (1) JP3531582B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110853056A (zh) * 2019-10-31 2020-02-28 广州华多网络科技有限公司 图像分割信息的生成方法、装置、设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110853056A (zh) * 2019-10-31 2020-02-28 广州华多网络科技有限公司 图像分割信息的生成方法、装置、设备和存储介质
CN110853056B (zh) * 2019-10-31 2023-09-19 广州方硅信息技术有限公司 图像分割信息的生成方法、装置、设备和存储介质

Also Published As

Publication number Publication date
JP3531582B2 (ja) 2004-05-31

Similar Documents

Publication Publication Date Title
EP0715278A2 (en) Method of producing image data and associated recording medium
KR100281949B1 (ko) 영상 드로잉 장치
KR100368198B1 (ko) 마이크로컴퓨터
US6950106B2 (en) 3-dimensional graphic plotting apparatus
JPH0353668B2 (ja)
JP2001331808A (ja) 画像処理方法および画像処理装置
JPS6250966A (ja) 画像処理装置
US20100020096A1 (en) Antialiasing apparatus
JP2003281555A (ja) 図形描画装置
JP3872056B2 (ja) 描画方法
EP0838786A1 (en) Method of producing polygon data, image processor to which the method is applied, and expanded function board
JP2009009428A (ja) ベクター画像描画回路およびベクター画像描画方法
WO2021006160A1 (ja) 画像処理装置、画像処理方法、及びプログラム
JP2836617B2 (ja) レンダリングプロセッサ
JPS6352276A (ja) クリツプ処理制御装置
JPH08138067A (ja) 線分アンチエイリアシング装置
JP2787487B2 (ja) コンピュータシステムに表示され且つ操作される線分の位置を決定する回路
JP2003123082A (ja) 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
JP4048731B2 (ja) 画像データ転送装置及び画像表示処理システム
JPH02127786A (ja) 三次元物体の二次元表現方法
JPH0628486A (ja) 画像処理装置
JPS63247868A (ja) 三次元図形表示装置
JPH0259871A (ja) 画像処理装置および画像処理方法
JPH11144074A (ja) 画像処理装置
JPS6392993A (ja) 塗りつぶし回路

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040223

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090312

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090312

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100312

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110312

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110312

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120312

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 9