JP3452049B2 - 描画装置及び描画方法 - Google Patents
描画装置及び描画方法Info
- Publication number
- JP3452049B2 JP3452049B2 JP2001084301A JP2001084301A JP3452049B2 JP 3452049 B2 JP3452049 B2 JP 3452049B2 JP 2001084301 A JP2001084301 A JP 2001084301A JP 2001084301 A JP2001084301 A JP 2001084301A JP 3452049 B2 JP3452049 B2 JP 3452049B2
- Authority
- JP
- Japan
- Prior art keywords
- edge list
- point
- density
- edge
- drawn
- 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
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、入力されたデータ
からラスター情報に変換して、階調を持った画像を出力
する描画装置及び描画方法に関するものである。
からラスター情報に変換して、階調を持った画像を出力
する描画装置及び描画方法に関するものである。
【0002】
【従来の技術】近年、コンピュータグラフィックスやD
TPなどの分野では、入力されたグラフィックデータや
コードデータなどから、ビットマップなどのラスター情
報に変換して、階調出力あるいはカラー出力の行なえる
ディスプレイやプリンタ等の出力装置に出力するための
装置が開発されている。
TPなどの分野では、入力されたグラフィックデータや
コードデータなどから、ビットマップなどのラスター情
報に変換して、階調出力あるいはカラー出力の行なえる
ディスプレイやプリンタ等の出力装置に出力するための
装置が開発されている。
【0003】入力されたデータをビットマップ情報に変
換して出力する場合に、解像度の低い出力装置では、ジ
ャギーによる画質の低下が著しいという問題がある。こ
のような場合に、従来では、ラスター変換された拡大画
像を生成し、それをフィルタ処理して階調を有する画像
に変換して、エッジ部分を平滑化し、出力することが行
なわれていた。しかし、拡大した画像を生成し、さらに
フィルタ処理するためには、非常に処理時間がかかり、
また、大容量のメモリが必要であった。また、特開平4
−15771号公報に記載されているように、直線の傾
きからエッジ部分の階調を求め、出力する手法なども提
案されているが、描画処理が直線に沿ったものとなるた
め、スキャンラインごとに描画する場合には、やはり大
きな処理時間が必要となり、高速なスキャンラインごと
の描画が行なえないという問題があった。
換して出力する場合に、解像度の低い出力装置では、ジ
ャギーによる画質の低下が著しいという問題がある。こ
のような場合に、従来では、ラスター変換された拡大画
像を生成し、それをフィルタ処理して階調を有する画像
に変換して、エッジ部分を平滑化し、出力することが行
なわれていた。しかし、拡大した画像を生成し、さらに
フィルタ処理するためには、非常に処理時間がかかり、
また、大容量のメモリが必要であった。また、特開平4
−15771号公報に記載されているように、直線の傾
きからエッジ部分の階調を求め、出力する手法なども提
案されているが、描画処理が直線に沿ったものとなるた
め、スキャンラインごとに描画する場合には、やはり大
きな処理時間が必要となり、高速なスキャンラインごと
の描画が行なえないという問題があった。
【0004】
【発明が解決しようとする課題】本発明は、上述した事
情に鑑みてなされたもので、処理時間およびメモリ容量
を減らし、ジャギーを低減し、画質を向上させた描画装
置及び描画方法を提供することを目的とするものであ
る。
情に鑑みてなされたもので、処理時間およびメモリ容量
を減らし、ジャギーを低減し、画質を向上させた描画装
置及び描画方法を提供することを目的とするものであ
る。
【0005】
【課題を解決するための手段】本発明は、請求項1に記
載の発明においては、入力されたエッジリストからラス
ター情報に変換して画像を描画する描画装置において、
入力された連続する複数ラインのエッジリストの座標値
の位置関係の違いに応じた濃度情報を有するエッジリス
トを生成するグレー処理手段と、該グレー処理手段によ
り生成されたエッジリストに従い出力処理を行なう出力
処理手段とを有することを特徴とするものである。
載の発明においては、入力されたエッジリストからラス
ター情報に変換して画像を描画する描画装置において、
入力された連続する複数ラインのエッジリストの座標値
の位置関係の違いに応じた濃度情報を有するエッジリス
トを生成するグレー処理手段と、該グレー処理手段によ
り生成されたエッジリストに従い出力処理を行なう出力
処理手段とを有することを特徴とするものである。
【0006】また、請求項2に記載の発明においては、
入力されたデータからラスター情報に変換して画像を描
画する描画装置において、入力されたデータからn倍に
拡大したエッジリストを作成するエッジリスト生成手段
と、連続するnラインのエッジリストの座標値の位置関
係の違いに応じた濃度情報を有する新たなエッジリスト
を生成するグレー処理手段と、該グレー処理手段により
生成された新たなエッジリストに従い出力処理を行なう
出力処理手段とを有することを特徴とするものである。
入力されたデータからラスター情報に変換して画像を描
画する描画装置において、入力されたデータからn倍に
拡大したエッジリストを作成するエッジリスト生成手段
と、連続するnラインのエッジリストの座標値の位置関
係の違いに応じた濃度情報を有する新たなエッジリスト
を生成するグレー処理手段と、該グレー処理手段により
生成された新たなエッジリストに従い出力処理を行なう
出力処理手段とを有することを特徴とするものである。
【0007】さらに、請求項3に記載の発明において
は、入力されたエッジリストからラスター情報に変換し
て画像を描画する描画方法において、入力された連続す
る複数ラインのエッジリストの座標値の位置関係の違い
に応じた濃度情報を有するエッジリストを生成し、生成
されたエッジリストに従い出力処理を行なうことを特徴
とするものである。
は、入力されたエッジリストからラスター情報に変換し
て画像を描画する描画方法において、入力された連続す
る複数ラインのエッジリストの座標値の位置関係の違い
に応じた濃度情報を有するエッジリストを生成し、生成
されたエッジリストに従い出力処理を行なうことを特徴
とするものである。
【0008】請求項4に記載の発明においては、入力さ
れたデータからラスター情報に変換して画像を描画する
描画方法において、入力されたデータからn倍に拡大し
たエッジリストを作成し、連続するnラインの前記エッ
ジリストの座標値の位置関係の違いに応じた濃度情報を
有する新たなエッジリストを生成し、生成された新たな
エッジリストに従い出力処理を行なうことを特徴とする
ものである。
れたデータからラスター情報に変換して画像を描画する
描画方法において、入力されたデータからn倍に拡大し
たエッジリストを作成し、連続するnラインの前記エッ
ジリストの座標値の位置関係の違いに応じた濃度情報を
有する新たなエッジリストを生成し、生成された新たな
エッジリストに従い出力処理を行なうことを特徴とする
ものである。
【0009】
【作用】本発明によれば、請求項1及び請求項3に記載
の発明では、グレー処理手段によるエッジ部分の階調処
理を、請求項2及び請求項4に記載の発明では、エッジ
リスト生成手段による画像の拡大およびグレー処理手段
によるエッジ部分の階調処理を、それぞれエッジリスト
を用いて行なっているので、少量のメモリによって、高
速に、ジャギーを低減したラスター情報を出力すること
ができる。また、請求項1及び請求項3に記載の発明で
は連続する複数ラインのエッジリストごとに、請求項2
及び請求項4に記載の発明ではn倍に拡大したエッジリ
ストを用いてnラインのエッジリストごとに、座標値の
位置関係の違いに応じて濃度情報を有する新たなエッジ
リストを生成し、生成された新たなエッジリストに従い
出力処理を行なうので、高速にスキャンラインごとの変
換を行なうことができる。
の発明では、グレー処理手段によるエッジ部分の階調処
理を、請求項2及び請求項4に記載の発明では、エッジ
リスト生成手段による画像の拡大およびグレー処理手段
によるエッジ部分の階調処理を、それぞれエッジリスト
を用いて行なっているので、少量のメモリによって、高
速に、ジャギーを低減したラスター情報を出力すること
ができる。また、請求項1及び請求項3に記載の発明で
は連続する複数ラインのエッジリストごとに、請求項2
及び請求項4に記載の発明ではn倍に拡大したエッジリ
ストを用いてnラインのエッジリストごとに、座標値の
位置関係の違いに応じて濃度情報を有する新たなエッジ
リストを生成し、生成された新たなエッジリストに従い
出力処理を行なうので、高速にスキャンラインごとの変
換を行なうことができる。
【0010】
【発明の実施の形態】図1は、本発明の描画装置の実施
の一形態を示すブロック図である。図中、11は描画デ
ータ入力部、12はベクター生成部、13はフォントデ
ータ記憶部、14はグラフィックエッジリスト生成部、
15はグレースケール処理部、16はクリップ処理部、
17はエッジリストマージ部、18はエッジリストメモ
リ、19はラスタライズ部、20はページメモリ、21
はプリンタである。
の一形態を示すブロック図である。図中、11は描画デ
ータ入力部、12はベクター生成部、13はフォントデ
ータ記憶部、14はグラフィックエッジリスト生成部、
15はグレースケール処理部、16はクリップ処理部、
17はエッジリストマージ部、18はエッジリストメモ
リ、19はラスタライズ部、20はページメモリ、21
はプリンタである。
【0011】描画データ入力部11は、入力されるコマ
ンドを受け取り、コマンドの解釈を行って、各コマンド
に対する処理を行ない、ベクター生成部12へ解釈した
結果を送る。受け取るコマンドとしては、グラフィック
スデータ、文字コードデータ、ラスターデータ等のプリ
ミティブや、色指定や座標変換マトリクスなどの描画時
に必要なパラメータデータも送られてくる。受け取った
コマンドが、フォントの場合には文字コードを、イメー
ジの場合はラスターデータを、グラフィックスの場合に
はベクターデータをベクター生成部12へ送る。図2
は、パラメータの説明図である。コマンドとして送られ
てくるパラメータとしては、例えば、図2に示すよう
に、座標変換の時に使用する変換マトリックスの要素、
描画する図形の色、クリッピングを行なう領域、相対座
標指定を行なう際に用いる現在の座標値、描画する線の
線幅および線端の形状、描画する線を接続する場合の接
続点における接続形状、文字を描画する際のタイプフェ
ースなどがある。これらのパラメータは、図示しない格
納部に格納され、適宜、各部で用いられる。
ンドを受け取り、コマンドの解釈を行って、各コマンド
に対する処理を行ない、ベクター生成部12へ解釈した
結果を送る。受け取るコマンドとしては、グラフィック
スデータ、文字コードデータ、ラスターデータ等のプリ
ミティブや、色指定や座標変換マトリクスなどの描画時
に必要なパラメータデータも送られてくる。受け取った
コマンドが、フォントの場合には文字コードを、イメー
ジの場合はラスターデータを、グラフィックスの場合に
はベクターデータをベクター生成部12へ送る。図2
は、パラメータの説明図である。コマンドとして送られ
てくるパラメータとしては、例えば、図2に示すよう
に、座標変換の時に使用する変換マトリックスの要素、
描画する図形の色、クリッピングを行なう領域、相対座
標指定を行なう際に用いる現在の座標値、描画する線の
線幅および線端の形状、描画する線を接続する場合の接
続点における接続形状、文字を描画する際のタイプフェ
ースなどがある。これらのパラメータは、図示しない格
納部に格納され、適宜、各部で用いられる。
【0012】ベクター生成部12は、描画データ入力部
11から送られてくる描画すべきデータの種類に応じ
て、ベクターデータを作成する。描画すべきデータがフ
ォントであれば、文字コードからフォントデータ記憶部
13に蓄えられているベクターフォントデータを取り出
し、変換マトリクスなどのパラメータを用いて座標変換
等の処理を行ない、グラフィックエッジリスト生成部1
4へ、そのベクターデータを送る。描画すべきデータが
グラフィックスデータの場合は、ベクターデータに対し
てそのまま座標変換等の処理を行なって、グラフィック
エッジリスト生成部14へ送る。
11から送られてくる描画すべきデータの種類に応じ
て、ベクターデータを作成する。描画すべきデータがフ
ォントであれば、文字コードからフォントデータ記憶部
13に蓄えられているベクターフォントデータを取り出
し、変換マトリクスなどのパラメータを用いて座標変換
等の処理を行ない、グラフィックエッジリスト生成部1
4へ、そのベクターデータを送る。描画すべきデータが
グラフィックスデータの場合は、ベクターデータに対し
てそのまま座標変換等の処理を行なって、グラフィック
エッジリスト生成部14へ送る。
【0013】グラフィックエッジリスト生成部14で
は、ベクター生成部12から送られてくるベクターデー
タから、n倍の大きさで処理したエッジリストを生成す
る。ベクター生成部12から送られてくるベクターデー
タには、ベクターデータ内を塗り潰すFill命令の場
合と、ベクターデータで指定された直線または曲線を描
画するStroke命令の場合が含まれる。もし、送ら
れてきたベクターがFill命令の場合には、実際の拡
大率のn倍の大きさで処理したエッジリストを生成す
る。また、Stroke命令の場合には、線幅や、線端
形状、接続形状などのパラメータを用いて、送られてき
たベクターデータのアウトラインベクターを発生し、さ
らに実際の拡大率のn倍の大きさで処理したエッジリス
トを生成する。図3は、2倍に拡大して作成したエッジ
リストの説明図である。図3では、Fill命令の場合
を示している。例えば、図3(A)に示したベクターデ
ータがグラフィックエッジリスト生成部14に入力され
ると、図3(B)に示したように各ベクターが2倍に拡
大され、拡大されたベクターに基づいて、各スキャンラ
インにおけるエッジ、すなわち、スキャンラインとベク
ターとの交点を求め、図3(C)に示すようなエッジリ
ストを生成する。エッジリストは、各スキャンラインに
対応して、塗り潰す領域の始点sxおよび終点exが格
納される。このとき、塗り潰す領域の色や濃度値のデー
タを一緒に格納することができる。上述の拡大処理およ
びエッジリストの作成により、従来、2倍の拡大で画像
のドット数が4倍となっていたのに比べ、本発明のエッ
ジリストのデータ量はスキャンラインが2倍、すなわ
ち、データ量として2倍になる程度である。しかも、ラ
スターデータよりもエッジリストのデータのほうがデー
タ量はすくなく、メモリ量を大幅に削減することができ
る。
は、ベクター生成部12から送られてくるベクターデー
タから、n倍の大きさで処理したエッジリストを生成す
る。ベクター生成部12から送られてくるベクターデー
タには、ベクターデータ内を塗り潰すFill命令の場
合と、ベクターデータで指定された直線または曲線を描
画するStroke命令の場合が含まれる。もし、送ら
れてきたベクターがFill命令の場合には、実際の拡
大率のn倍の大きさで処理したエッジリストを生成す
る。また、Stroke命令の場合には、線幅や、線端
形状、接続形状などのパラメータを用いて、送られてき
たベクターデータのアウトラインベクターを発生し、さ
らに実際の拡大率のn倍の大きさで処理したエッジリス
トを生成する。図3は、2倍に拡大して作成したエッジ
リストの説明図である。図3では、Fill命令の場合
を示している。例えば、図3(A)に示したベクターデ
ータがグラフィックエッジリスト生成部14に入力され
ると、図3(B)に示したように各ベクターが2倍に拡
大され、拡大されたベクターに基づいて、各スキャンラ
インにおけるエッジ、すなわち、スキャンラインとベク
ターとの交点を求め、図3(C)に示すようなエッジリ
ストを生成する。エッジリストは、各スキャンラインに
対応して、塗り潰す領域の始点sxおよび終点exが格
納される。このとき、塗り潰す領域の色や濃度値のデー
タを一緒に格納することができる。上述の拡大処理およ
びエッジリストの作成により、従来、2倍の拡大で画像
のドット数が4倍となっていたのに比べ、本発明のエッ
ジリストのデータ量はスキャンラインが2倍、すなわ
ち、データ量として2倍になる程度である。しかも、ラ
スターデータよりもエッジリストのデータのほうがデー
タ量はすくなく、メモリ量を大幅に削減することができ
る。
【0014】グレースケール処理部15では、グラフィ
ックエッジリスト生成部14で作成された、実際の拡大
率のn倍の大きさで処理されたエッジリストを受け取
り、nスキャンライン単位で参照して、図形のエッジと
判断される部分を、必要に応じてハーフトーンとするよ
うな、新たなエッジリストを発生させることにより、グ
レー処理を行なう。このグレー処理については後述す
る。このグレー処理はエッジリストを用い、新たにエッ
ジリストを生成するものであるので、従来ラスターデー
タを順次アクセスしていたのに比べ、アクセス回数を大
幅に減らすことができ、高速化を図ることができる。
ックエッジリスト生成部14で作成された、実際の拡大
率のn倍の大きさで処理されたエッジリストを受け取
り、nスキャンライン単位で参照して、図形のエッジと
判断される部分を、必要に応じてハーフトーンとするよ
うな、新たなエッジリストを発生させることにより、グ
レー処理を行なう。このグレー処理については後述す
る。このグレー処理はエッジリストを用い、新たにエッ
ジリストを生成するものであるので、従来ラスターデー
タを順次アクセスしていたのに比べ、アクセス回数を大
幅に減らすことができ、高速化を図ることができる。
【0015】クリップ処理部16では、グレースケール
処理部15において作成されたエッジリストをクリップ
処理する。クリップ処理は、エッジリストの始点、終点
を参照し、クリップする領域外の始点、終点の座標値
を、クリップ領域の端の座標に修正することにより、行
なうことができる。クリップされた後のエッジリスト
を、エッジリストマージ部17へ送る。エッジリストマ
ージ部17では、図形ごとに処理され、送られてきたエ
ッジリストを、エッジリストメモリ18にページごとに
蓄える。蓄積に際しては、すでに蓄積している1ページ
全体のエッジリストと、現在入力されたエッジリストの
位置関係を比較して、重なりのある場合には、現在入力
されたエッジリストを優先に、エッジリストメモリ18
を書き直す。ラスタライズ部19では、エッジリストメ
モリ18からエッジリストを読み出し、ページメモリ2
0にラスター展開した結果を書き込む。プリンタ21
は、ページメモリ20からプリンタの走査に同期してラ
スターデータを読み出し印字を行なう。出力装置は、プ
リンタに限らず、表示装置等でもよいし、また、別の処
理手段への入力とすることもできる。
処理部15において作成されたエッジリストをクリップ
処理する。クリップ処理は、エッジリストの始点、終点
を参照し、クリップする領域外の始点、終点の座標値
を、クリップ領域の端の座標に修正することにより、行
なうことができる。クリップされた後のエッジリスト
を、エッジリストマージ部17へ送る。エッジリストマ
ージ部17では、図形ごとに処理され、送られてきたエ
ッジリストを、エッジリストメモリ18にページごとに
蓄える。蓄積に際しては、すでに蓄積している1ページ
全体のエッジリストと、現在入力されたエッジリストの
位置関係を比較して、重なりのある場合には、現在入力
されたエッジリストを優先に、エッジリストメモリ18
を書き直す。ラスタライズ部19では、エッジリストメ
モリ18からエッジリストを読み出し、ページメモリ2
0にラスター展開した結果を書き込む。プリンタ21
は、ページメモリ20からプリンタの走査に同期してラ
スターデータを読み出し印字を行なう。出力装置は、プ
リンタに限らず、表示装置等でもよいし、また、別の処
理手段への入力とすることもできる。
【0016】グレースケール処理部15で行われるグレ
ー処理について説明する。図4乃至図15は、グレー処
理の一例の説明図である。ここでは、2倍の大きさで処
理されたエッジリストを受け取ってグレー処理を行なう
場合の例を示している。このグレー処理では、2スキャ
ンラインのエッジリストごとに処理を行ない、エッジリ
ストのX座標値の2ドット単位にみて、その位置関係の
違いにより処理を分け、さらに、2ドットの違いによっ
て、そのエッジリストに階調を平均化した色を与える場
合を示している。すなわち、2スキャンラインの2ドッ
トずつで、4ドットにおけるドットの個数に従った濃度
で描画されるように、エッジリストを生成する。
ー処理について説明する。図4乃至図15は、グレー処
理の一例の説明図である。ここでは、2倍の大きさで処
理されたエッジリストを受け取ってグレー処理を行なう
場合の例を示している。このグレー処理では、2スキャ
ンラインのエッジリストごとに処理を行ない、エッジリ
ストのX座標値の2ドット単位にみて、その位置関係の
違いにより処理を分け、さらに、2ドットの違いによっ
て、そのエッジリストに階調を平均化した色を与える場
合を示している。すなわち、2スキャンラインの2ドッ
トずつで、4ドットにおけるドットの個数に従った濃度
で描画されるように、エッジリストを生成する。
【0017】まず、図4のS21において、2倍に拡大
されたスキャンラインの偶数ライン、すなわち、2nラ
インにエッジリストのデータが存在するか否かを判定す
る。そして、存在すれば、S22において、スキャンラ
イン2nの最初のエッジリストセルをエッジリストセル
0としてセットする。なければ、S23において、エン
ドフラグを1にセットする。次に、S24において、2
倍に拡大されたスキャンラインの奇数ライン、すなわ
ち、2n+1ラインにエッジリストのデータが存在する
か否かを判定する。そして、存在すれば、S25におい
て、スキャンライン2n+1の最初のエッジリストセル
をエッジリストセル1としてセットする。なければ、S
26において、エンドフラグを参照し、1であれば、偶
数ライン、奇数ラインともエッジデータがないと判断し
て、この2本のスキャンラインについての処理を終了
し、次のスキャンラインについての処理に移る。
されたスキャンラインの偶数ライン、すなわち、2nラ
インにエッジリストのデータが存在するか否かを判定す
る。そして、存在すれば、S22において、スキャンラ
イン2nの最初のエッジリストセルをエッジリストセル
0としてセットする。なければ、S23において、エン
ドフラグを1にセットする。次に、S24において、2
倍に拡大されたスキャンラインの奇数ライン、すなわ
ち、2n+1ラインにエッジリストのデータが存在する
か否かを判定する。そして、存在すれば、S25におい
て、スキャンライン2n+1の最初のエッジリストセル
をエッジリストセル1としてセットする。なければ、S
26において、エンドフラグを参照し、1であれば、偶
数ライン、奇数ラインともエッジデータがないと判断し
て、この2本のスキャンラインについての処理を終了
し、次のスキャンラインについての処理に移る。
【0018】S21またはS24において、エッジリス
トが存在すると、S27以降の処理に移る。まず、S2
7において、スキャンライン2nのエッジリストセルを
現在のエッジリストセル0とし、スキャンライン2n+
1のエッジリストセルを現在のエッジリストセル1とし
て、それぞれのエッジリストセルについて、始点のX座
標を2で割った値をsx0,sx1とし、そのときの余
りをsf0,sf1、終点のX座標を2で割った値をe
x0,ex1とし、そのときの余りをef0,ef1と
する。このときのsx0,sx1,ex0,ex1の値
によって場合分けし、それぞれの処理を行なう。この場
合分けのそれぞれの関係を図15に示す。図5のS28
において、sx0>ex1の場合は、図15(A)に示
すように、現在のエッジリストセル0と現在のエッジリ
ストセル1との上下方向の連続性がなく、エッジリスト
セル0がエッジリストセル1よりも右に存在する場合で
ある。この場合には、エッジリストセル1に対して、ハ
ーフトーンの上側のエッジを生成する。S29において
判定しているケースは、図15(B)に示すように、エ
ッジリストセルの始点のX座標の差が1ドット以内で、
エッジリストセル0の終点がエッジリストセル1の終点
よりも2ドット以上右側の場合である。また、S30に
おいて判定しているケースは、図15(C)に示すよう
に、エッジリストセルの始点および終点のX座標の差が
1ドット以内の場合である。S31において判定してい
るケースは、図15(D)に示すように、エッジリスト
セルの始点のX座標の差が1ドット以内で、エッジリス
トセル0の終点がエッジリストセル1の終点よりも2ド
ット以上左側の場合である。S32において、sx1>
ex0の場合は、図15(E)に示すように、エッジリ
ストセル0とエッジリストセル1との上下方向の連続性
がなく、エッジリストセル0がエッジリストセル1より
も左に存在する場合である。S33において判定してい
るケースは、図15(F)に示すように、エッジリスト
セル0の始点がエッジリストセル1の始点よりも左にあ
って、上下方向に連続している場合である。S34にお
いて判定しているケースは、図15(G)に示すよう
に、エッジリストセル0の始点がエッジリストセル1の
始点よりも右にあって、上下方向に連続している場合で
ある。このS33およびS34において判定しているケ
ースの場合には、エッジリストセルの左部分の処理を行
ない、その後、エッジリストセルの始点を揃えて上述の
図15(B)乃至(D)に示したようなエッジリストセ
ルの場合の処理を行なうことによって、エッジリストセ
ル全体の処理を行なう。S35では、エッジリストセル
0がなかった場合の処理、S37では、エッジリストセ
ル1がなかった場合の処理である。これらの場合では、
図形の上端または下端であると判断し、存在するエッジ
リストセルのデータのみを用いてハーフトーンのエッジ
を生成する。
トが存在すると、S27以降の処理に移る。まず、S2
7において、スキャンライン2nのエッジリストセルを
現在のエッジリストセル0とし、スキャンライン2n+
1のエッジリストセルを現在のエッジリストセル1とし
て、それぞれのエッジリストセルについて、始点のX座
標を2で割った値をsx0,sx1とし、そのときの余
りをsf0,sf1、終点のX座標を2で割った値をe
x0,ex1とし、そのときの余りをef0,ef1と
する。このときのsx0,sx1,ex0,ex1の値
によって場合分けし、それぞれの処理を行なう。この場
合分けのそれぞれの関係を図15に示す。図5のS28
において、sx0>ex1の場合は、図15(A)に示
すように、現在のエッジリストセル0と現在のエッジリ
ストセル1との上下方向の連続性がなく、エッジリスト
セル0がエッジリストセル1よりも右に存在する場合で
ある。この場合には、エッジリストセル1に対して、ハ
ーフトーンの上側のエッジを生成する。S29において
判定しているケースは、図15(B)に示すように、エ
ッジリストセルの始点のX座標の差が1ドット以内で、
エッジリストセル0の終点がエッジリストセル1の終点
よりも2ドット以上右側の場合である。また、S30に
おいて判定しているケースは、図15(C)に示すよう
に、エッジリストセルの始点および終点のX座標の差が
1ドット以内の場合である。S31において判定してい
るケースは、図15(D)に示すように、エッジリスト
セルの始点のX座標の差が1ドット以内で、エッジリス
トセル0の終点がエッジリストセル1の終点よりも2ド
ット以上左側の場合である。S32において、sx1>
ex0の場合は、図15(E)に示すように、エッジリ
ストセル0とエッジリストセル1との上下方向の連続性
がなく、エッジリストセル0がエッジリストセル1より
も左に存在する場合である。S33において判定してい
るケースは、図15(F)に示すように、エッジリスト
セル0の始点がエッジリストセル1の始点よりも左にあ
って、上下方向に連続している場合である。S34にお
いて判定しているケースは、図15(G)に示すよう
に、エッジリストセル0の始点がエッジリストセル1の
始点よりも右にあって、上下方向に連続している場合で
ある。このS33およびS34において判定しているケ
ースの場合には、エッジリストセルの左部分の処理を行
ない、その後、エッジリストセルの始点を揃えて上述の
図15(B)乃至(D)に示したようなエッジリストセ
ルの場合の処理を行なうことによって、エッジリストセ
ル全体の処理を行なう。S35では、エッジリストセル
0がなかった場合の処理、S37では、エッジリストセ
ル1がなかった場合の処理である。これらの場合では、
図形の上端または下端であると判断し、存在するエッジ
リストセルのデータのみを用いてハーフトーンのエッジ
を生成する。
【0019】以下、これらの場合の処理を順次説明す
る。まず、図15(A)に示すように、現在のエッジリ
ストセル0と現在のエッジリストセル1との上下方向の
連続性がなく、エッジリストセル0がエッジリストセル
1よりも右に存在する場合には、エッジリストセル1に
対応したグレー処理を行なう。すなわち、エッジリスト
セル1の始点、終点の2で割った余りsf1,ef1を
参照する。図6のS41において、sf1=0,ef1
=1の場合には、sx1からex1までの区間の全ての
ドットが存在していたことになるので、S42におい
て、描画する図形の濃度の50%の濃度でこの区間に描
画するように、エッジリストを生成する。S43におい
て、sf1=1,ef1=1の場合には、エッジの始点
sx1において、2ドットのうち1ドットしか存在しな
いので、S44において、エッジの始点sx1の点の
み、描画する図形の濃度の25%の濃度で描画し、残り
のsx1+1からex1までの区間は、50%の濃度で
描画するように、エッジリストを生成する。S45にお
いて、sf1=0,ef1=0の場合には、エッジの終
点ex1において、2ドットのうち1ドットしか存在し
ないので、S46において、エッジの始点sx1から終
点の手前の点ex1−1までの区間を50%の濃度で描
画し、終点ex1を25%の濃度で描画するようにエッ
ジリストを生成する。S47において、sf1=1,e
f1=0の場合には、エッジの始点、終点とも、2ドッ
トのうち1ドットしか存在しないので、S48におい
て、エッジの始点sx1と終点ex1を25%の濃度で
描画し、その間のsx1+1からex−1までの区間を
50%の濃度で描画するように、エッジリストを生成す
る。それぞれの処理が終了すると、エッジリストセル1
を、同じスキャンライン中の次に存在するエッジリスト
セルに替えて、図5のS35の処理に移る。
る。まず、図15(A)に示すように、現在のエッジリ
ストセル0と現在のエッジリストセル1との上下方向の
連続性がなく、エッジリストセル0がエッジリストセル
1よりも右に存在する場合には、エッジリストセル1に
対応したグレー処理を行なう。すなわち、エッジリスト
セル1の始点、終点の2で割った余りsf1,ef1を
参照する。図6のS41において、sf1=0,ef1
=1の場合には、sx1からex1までの区間の全ての
ドットが存在していたことになるので、S42におい
て、描画する図形の濃度の50%の濃度でこの区間に描
画するように、エッジリストを生成する。S43におい
て、sf1=1,ef1=1の場合には、エッジの始点
sx1において、2ドットのうち1ドットしか存在しな
いので、S44において、エッジの始点sx1の点の
み、描画する図形の濃度の25%の濃度で描画し、残り
のsx1+1からex1までの区間は、50%の濃度で
描画するように、エッジリストを生成する。S45にお
いて、sf1=0,ef1=0の場合には、エッジの終
点ex1において、2ドットのうち1ドットしか存在し
ないので、S46において、エッジの始点sx1から終
点の手前の点ex1−1までの区間を50%の濃度で描
画し、終点ex1を25%の濃度で描画するようにエッ
ジリストを生成する。S47において、sf1=1,e
f1=0の場合には、エッジの始点、終点とも、2ドッ
トのうち1ドットしか存在しないので、S48におい
て、エッジの始点sx1と終点ex1を25%の濃度で
描画し、その間のsx1+1からex−1までの区間を
50%の濃度で描画するように、エッジリストを生成す
る。それぞれの処理が終了すると、エッジリストセル1
を、同じスキャンライン中の次に存在するエッジリスト
セルに替えて、図5のS35の処理に移る。
【0020】次に、図15(B)に示すように、エッジ
リストセルの始点sx0,sx1が等しく、エッジリス
トセル0の終点ex0がエッジリストセル1の終点ex
1よりも右側の場合について説明する。この場合には、
エッジリストセル0はスキャンライン2n+1の別のエ
ッジリストセルとも接続している場合が考えられる。そ
のため、エッジリストセル1の区間についてグレー処理
を行ない、エッジリストセル0については、エッジリス
トセル1の区間を切り離して、新たにエッジリストセル
0として、スキャンライン2n+1の次のエッジリスト
セルを用いてグレー処理を続行する。始点sx0,sx
1については、それぞれ1ドットの差を生じる場合があ
り、始点についてのグレー処理を行なう。また、エッジ
リストセル1の終点ex1についても、ex1に属する
ドット数に応じたグレー処理を行なう。
リストセルの始点sx0,sx1が等しく、エッジリス
トセル0の終点ex0がエッジリストセル1の終点ex
1よりも右側の場合について説明する。この場合には、
エッジリストセル0はスキャンライン2n+1の別のエ
ッジリストセルとも接続している場合が考えられる。そ
のため、エッジリストセル1の区間についてグレー処理
を行ない、エッジリストセル0については、エッジリス
トセル1の区間を切り離して、新たにエッジリストセル
0として、スキャンライン2n+1の次のエッジリスト
セルを用いてグレー処理を続行する。始点sx0,sx
1については、それぞれ1ドットの差を生じる場合があ
り、始点についてのグレー処理を行なう。また、エッジ
リストセル1の終点ex1についても、ex1に属する
ドット数に応じたグレー処理を行なう。
【0021】図7のS51,S53はsf1=0,sf
0=0、すなわち、エッジの始点sx0,sx1に対応
するドットが2ドットずつ存在する場合であり、S51
では、エッジリストセル1の終点ex1に対応するドッ
トが2ドット存在する場合、S53では、終点ex1に
対応するドットが1ドットしか存在しない場合である。
前者の場合、S52において、始点sx1から終点ex
1までの全区間を100%の濃度で描画するように、エ
ッジリストを生成する。また、後者の場合には、S54
において、始点sx1から終点の手前の点ex1−1ま
での区間を100%の濃度で描画し、終点ex1を75
%の濃度で描画するように、エッジリストを生成する。
0=0、すなわち、エッジの始点sx0,sx1に対応
するドットが2ドットずつ存在する場合であり、S51
では、エッジリストセル1の終点ex1に対応するドッ
トが2ドット存在する場合、S53では、終点ex1に
対応するドットが1ドットしか存在しない場合である。
前者の場合、S52において、始点sx1から終点ex
1までの全区間を100%の濃度で描画するように、エ
ッジリストを生成する。また、後者の場合には、S54
において、始点sx1から終点の手前の点ex1−1ま
での区間を100%の濃度で描画し、終点ex1を75
%の濃度で描画するように、エッジリストを生成する。
【0022】S55,S57,S59は、sf1=0,
sf0=1、すなわち、エッジリストセル0の始点sx
0に対応するドットが1ドットしか存在しない場合であ
る。この場合には、始点sx0(=sx1)を構成する
ためのドットは3つであるので、この点においてハーフ
トーン処理を行なう。終点については、エッジリストセ
ル1の終点ex1のドット数により処理を分ける。S5
5において、終点ex1に対応するドットが2ドット存
在すると判定された場合には、S56において、始点s
x1を75%の濃度で描画し、その次の点sx1+1か
ら終点ex1までの区間を100%の濃度で描画するよ
うに、エッジリストを生成する。終点ex1に対応する
ドットが1ドットしか存在しない場合には、エッジリス
トセル0の始点のドットとエッジリストセル1の終点の
ドットとが同じドット位置となる場合が考えられるの
で、エッジリストセル0の始点sx0がエッジリストセ
ル1の終点ex1と等しいか否か判定される。等しくな
い場合は、S57においてこれを判定し、S58におい
て、始点sx1を75%の濃度で描画し、その次の点s
x1+1から終点の手前の点ex1−1までの区間を1
00%の濃度で描画し、さらに、終点ex1を75%の
濃度で描画するように、エッジリストを生成する。S5
9において、sx0とex1とが等しいと判定された場
合には、sx1とex1が等しい場合であるから、始点
sx1を50%の濃度で描画するように、エッジリスト
を生成するのみである。
sf0=1、すなわち、エッジリストセル0の始点sx
0に対応するドットが1ドットしか存在しない場合であ
る。この場合には、始点sx0(=sx1)を構成する
ためのドットは3つであるので、この点においてハーフ
トーン処理を行なう。終点については、エッジリストセ
ル1の終点ex1のドット数により処理を分ける。S5
5において、終点ex1に対応するドットが2ドット存
在すると判定された場合には、S56において、始点s
x1を75%の濃度で描画し、その次の点sx1+1か
ら終点ex1までの区間を100%の濃度で描画するよ
うに、エッジリストを生成する。終点ex1に対応する
ドットが1ドットしか存在しない場合には、エッジリス
トセル0の始点のドットとエッジリストセル1の終点の
ドットとが同じドット位置となる場合が考えられるの
で、エッジリストセル0の始点sx0がエッジリストセ
ル1の終点ex1と等しいか否か判定される。等しくな
い場合は、S57においてこれを判定し、S58におい
て、始点sx1を75%の濃度で描画し、その次の点s
x1+1から終点の手前の点ex1−1までの区間を1
00%の濃度で描画し、さらに、終点ex1を75%の
濃度で描画するように、エッジリストを生成する。S5
9において、sx0とex1とが等しいと判定された場
合には、sx1とex1が等しい場合であるから、始点
sx1を50%の濃度で描画するように、エッジリスト
を生成するのみである。
【0023】S61,S63は、sf1=1,sf0=
0、すなわち、エッジリストセル1の始点sx1が1ド
ットしか存在しない場合である。この場合には、始点s
x1(=sx0)を構成するためのドットは3つである
ので、この点においてハーフトーン処理を行なう。終点
については、エッジリストセル1の終点ex1のドット
数により処理を分ける。S61において、終点ex1に
対応するドットが2ドット存在すると判定された場合に
は、S62において、始点sx1を75%の濃度で描画
し、その次の点sx1+1から終点ex1までの区間を
100%の濃度で描画するように、エッジリストを生成
する。S63において、終点ex1に対応するドットが
1ドットしか存在しないと判定された場合には、S64
において、始点sx1を75%の濃度で描画し、その次
の点sx1+1から終点の手前の点ex1−1までの区
間を100%の濃度で描画し、さらに、終点ex1を7
5%の濃度で描画するように、エッジリストを生成す
る。
0、すなわち、エッジリストセル1の始点sx1が1ド
ットしか存在しない場合である。この場合には、始点s
x1(=sx0)を構成するためのドットは3つである
ので、この点においてハーフトーン処理を行なう。終点
については、エッジリストセル1の終点ex1のドット
数により処理を分ける。S61において、終点ex1に
対応するドットが2ドット存在すると判定された場合に
は、S62において、始点sx1を75%の濃度で描画
し、その次の点sx1+1から終点ex1までの区間を
100%の濃度で描画するように、エッジリストを生成
する。S63において、終点ex1に対応するドットが
1ドットしか存在しないと判定された場合には、S64
において、始点sx1を75%の濃度で描画し、その次
の点sx1+1から終点の手前の点ex1−1までの区
間を100%の濃度で描画し、さらに、終点ex1を7
5%の濃度で描画するように、エッジリストを生成す
る。
【0024】S65,S67は、sf1=1,sf0=
1、すなわち、エッジリストセル0およびエッジリスト
セル1の始点がともに1ドットしか存在しない場合であ
る。この場合には、始点sx1(=sx0)を構成する
ためのドットは2つであるので、この点においてハーフ
トーン処理を行なう。終点については、エッジリストセ
ル1の終点ex1に対応するドット数により処理を分け
る。S65において、終点ex1に対応するドットが2
ドット存在すると判定された場合には、S66におい
て、始点sx1を50%の濃度で描画し、その次の点s
x1+1から終点ex1までの区間を100%の濃度で
描画するように、エッジリストを生成する。S67にお
いて、終点ex1に対応するドットが1ドットしか存在
しないと判定された場合には、S68において、始点s
x1を50%の濃度で描画し、その次の点sx1+1か
ら終点の手前の点ex1−1までの区間を100%の濃
度で描画し、さらに、終点ex1を75%の濃度で描画
するように、エッジリストを生成する。
1、すなわち、エッジリストセル0およびエッジリスト
セル1の始点がともに1ドットしか存在しない場合であ
る。この場合には、始点sx1(=sx0)を構成する
ためのドットは2つであるので、この点においてハーフ
トーン処理を行なう。終点については、エッジリストセ
ル1の終点ex1に対応するドット数により処理を分け
る。S65において、終点ex1に対応するドットが2
ドット存在すると判定された場合には、S66におい
て、始点sx1を50%の濃度で描画し、その次の点s
x1+1から終点ex1までの区間を100%の濃度で
描画するように、エッジリストを生成する。S67にお
いて、終点ex1に対応するドットが1ドットしか存在
しないと判定された場合には、S68において、始点s
x1を50%の濃度で描画し、その次の点sx1+1か
ら終点の手前の点ex1−1までの区間を100%の濃
度で描画し、さらに、終点ex1を75%の濃度で描画
するように、エッジリストを生成する。
【0025】上述のS51乃至S68において、それぞ
れの場合に応じたエッジリストを生成した後、エッジリ
ストセル0のエッジリストセル1よりも長い部分に対し
て、スキャンライン2n+1の他のエッジリストセルと
の関係を検査するため、S69において、エッジリスト
セル0の始点sx0を、エッジリストセル1の終点の次
の点ex1+1とし、この点におけるドット数を2ドッ
ト存在するようにsf0を0に設定し、スキャンライン
2n+1の次のエッジリストセルを新たなエッジリスト
セル1として、図5のS35の処理に移る。
れの場合に応じたエッジリストを生成した後、エッジリ
ストセル0のエッジリストセル1よりも長い部分に対し
て、スキャンライン2n+1の他のエッジリストセルと
の関係を検査するため、S69において、エッジリスト
セル0の始点sx0を、エッジリストセル1の終点の次
の点ex1+1とし、この点におけるドット数を2ドッ
ト存在するようにsf0を0に設定し、スキャンライン
2n+1の次のエッジリストセルを新たなエッジリスト
セル1として、図5のS35の処理に移る。
【0026】次に、図15(C)に示すように、エッジ
リストセルの始点および終点が等しい場合について説明
する。この場合には、エッジリストセルの始点、終点に
おいて、その点に属するドット数により、グレー処理を
行なう。
リストセルの始点および終点が等しい場合について説明
する。この場合には、エッジリストセルの始点、終点に
おいて、その点に属するドット数により、グレー処理を
行なう。
【0027】図8のS71,S73,S75はsf1=
0,sf0=0、すなわち、エッジの始点sx0,sx
1に対応するドットが2ドットずつ存在する場合であ
り、S71では、エッジの終点に対応するドットが2ド
ットずつ存在する場合、S73では、終点に対応するド
ットが1ドットずつ存在する場合、S75はその他の終
点のドット構成の場合、すなわち、エッジドットセル0
が2ドット存在し、エッジドットセル1が1ドットしか
存在しない、または、その逆の場合である。S71にお
いて、始点、終点とも2ドットずつ存在すると判断され
る場合には、S72において、始点sx0から終点ex
0までの全区間を100%の濃度で描画するように、エ
ッジリストを生成する。S73において、始点は2ドッ
トずつ存在し、終点は1ドットずつ存在すると判断され
る場合には、S74において、始点sx0から終点の手
前の点ex0−1までの区間を100%の濃度で描画
し、終点ex0を50%の濃度で描画するように、エッ
ジリストを生成する。S75において、始点は2ドット
ずつ存在し、終点は1ドットと2ドットのラインが存在
すると判断される場合には、S76において、始点sx
0から終点の手前の点ex0−1までの区間を100%
の濃度で描画し、終点ex0を75%の濃度で描画する
ように、エッジリストを生成する。
0,sf0=0、すなわち、エッジの始点sx0,sx
1に対応するドットが2ドットずつ存在する場合であ
り、S71では、エッジの終点に対応するドットが2ド
ットずつ存在する場合、S73では、終点に対応するド
ットが1ドットずつ存在する場合、S75はその他の終
点のドット構成の場合、すなわち、エッジドットセル0
が2ドット存在し、エッジドットセル1が1ドットしか
存在しない、または、その逆の場合である。S71にお
いて、始点、終点とも2ドットずつ存在すると判断され
る場合には、S72において、始点sx0から終点ex
0までの全区間を100%の濃度で描画するように、エ
ッジリストを生成する。S73において、始点は2ドッ
トずつ存在し、終点は1ドットずつ存在すると判断され
る場合には、S74において、始点sx0から終点の手
前の点ex0−1までの区間を100%の濃度で描画
し、終点ex0を50%の濃度で描画するように、エッ
ジリストを生成する。S75において、始点は2ドット
ずつ存在し、終点は1ドットと2ドットのラインが存在
すると判断される場合には、S76において、始点sx
0から終点の手前の点ex0−1までの区間を100%
の濃度で描画し、終点ex0を75%の濃度で描画する
ように、エッジリストを生成する。
【0028】S77,S79,S81は、sf1=1,
sf0=1、すなわち、エッジリストセルの始点に対応
するドットが1ドットずつしか存在しない場合である。
この場合には、始点sx0(=sx1)を形成するドッ
トは2つであるので、この点においてハーフトーン処理
を行なう。終点については、エッジリストセルの終点に
対応するドット数により処理を分ける。S77におい
て、終点に対応するドットが2ドットずつ存在すると判
定された場合には、S78において、始点sx0を50
%の濃度で描画し、その次の点sx0+1から終点ex
0までの区間を100%の濃度で描画するように、エッ
ジリストを生成する。S79において、終点に対応する
ドットが1ドットずつしか存在しないと判定された場合
には、S80において、始点sx0を50%の濃度で描
画し、その次の点sx0+1から終点の手前の点ex0
−1までの区間を100%の濃度で描画し、終点ex0
を50%の濃度で描画するように、エッジリストを生成
する。S81において、終点に対応するドットが1ドッ
トのラインと2ドットのラインが存在すると判断される
場合には、始点sx0を50%の濃度で描画し、その次
の点sx0+1から終点の手前の点ex0−1までの区
間を100%の濃度で描画し、終点ex0を75%の濃
度で描画するように、エッジリストを生成する。
sf0=1、すなわち、エッジリストセルの始点に対応
するドットが1ドットずつしか存在しない場合である。
この場合には、始点sx0(=sx1)を形成するドッ
トは2つであるので、この点においてハーフトーン処理
を行なう。終点については、エッジリストセルの終点に
対応するドット数により処理を分ける。S77におい
て、終点に対応するドットが2ドットずつ存在すると判
定された場合には、S78において、始点sx0を50
%の濃度で描画し、その次の点sx0+1から終点ex
0までの区間を100%の濃度で描画するように、エッ
ジリストを生成する。S79において、終点に対応する
ドットが1ドットずつしか存在しないと判定された場合
には、S80において、始点sx0を50%の濃度で描
画し、その次の点sx0+1から終点の手前の点ex0
−1までの区間を100%の濃度で描画し、終点ex0
を50%の濃度で描画するように、エッジリストを生成
する。S81において、終点に対応するドットが1ドッ
トのラインと2ドットのラインが存在すると判断される
場合には、始点sx0を50%の濃度で描画し、その次
の点sx0+1から終点の手前の点ex0−1までの区
間を100%の濃度で描画し、終点ex0を75%の濃
度で描画するように、エッジリストを生成する。
【0029】S83,S85は、sf1=1,sf0=
0、または、sf1=0,sf0=1、すなわち、一方
のエッジリストセルの始点に対応するドットが2ドット
存在し、他方のエッジリストセルの始点に対応するドッ
トが1ドットしか存在しない場合である。この場合に
は、始点sx0(=sx1)を形成するドットは3つで
あるので、この点においてハーフトーン処理を行なう。
終点については、エッジリストセルの終点に対応するド
ット数により処理を分ける。S83において、終点に対
応するドットが2ドットずつ存在すると判定された場合
には、S84において、始点sx0を75%の濃度で描
画し、その次の点sx0+1から終点ex0までの区間
を100%の濃度で描画するように、エッジリストを生
成する。S85において、終点に対応するドットが1ド
ットずつしか存在しないと判定された場合には、S86
において、始点sx1を75%の濃度で描画し、その次
の点sx1+1から終点の手前の点ex1−1までの区
間を100%の濃度で描画し、さらに、終点ex1を5
0%の濃度で描画するように、エッジリストを生成す
る。これら以外の、終点に対応するドットが1ドットの
ラインと2ドットのラインが存在する場合には、S87
において、始点sx1を75%の濃度で描画し、その次
の点sx1+1から終点の手前の点ex1−1までの区
間を100%の濃度で描画し、さらに、終点ex1を7
5%の濃度で描画するように、エッジリストを生成す
る。
0、または、sf1=0,sf0=1、すなわち、一方
のエッジリストセルの始点に対応するドットが2ドット
存在し、他方のエッジリストセルの始点に対応するドッ
トが1ドットしか存在しない場合である。この場合に
は、始点sx0(=sx1)を形成するドットは3つで
あるので、この点においてハーフトーン処理を行なう。
終点については、エッジリストセルの終点に対応するド
ット数により処理を分ける。S83において、終点に対
応するドットが2ドットずつ存在すると判定された場合
には、S84において、始点sx0を75%の濃度で描
画し、その次の点sx0+1から終点ex0までの区間
を100%の濃度で描画するように、エッジリストを生
成する。S85において、終点に対応するドットが1ド
ットずつしか存在しないと判定された場合には、S86
において、始点sx1を75%の濃度で描画し、その次
の点sx1+1から終点の手前の点ex1−1までの区
間を100%の濃度で描画し、さらに、終点ex1を5
0%の濃度で描画するように、エッジリストを生成す
る。これら以外の、終点に対応するドットが1ドットの
ラインと2ドットのラインが存在する場合には、S87
において、始点sx1を75%の濃度で描画し、その次
の点sx1+1から終点の手前の点ex1−1までの区
間を100%の濃度で描画し、さらに、終点ex1を7
5%の濃度で描画するように、エッジリストを生成す
る。
【0030】上述のS71乃至S87において、それぞ
れの場合に応じたエッジリストを生成した後、スキャン
ライン2nおよびスキャンライン2n+1とも、S88
において、各スキャンラインの次のエッジリストセルを
新たなエッジリストセル0,1として、図5のS35の
処理に移る。
れの場合に応じたエッジリストを生成した後、スキャン
ライン2nおよびスキャンライン2n+1とも、S88
において、各スキャンラインの次のエッジリストセルを
新たなエッジリストセル0,1として、図5のS35の
処理に移る。
【0031】次に、図15(D)に示すように、エッジ
リストセルの始点sx0,sx1が等しく、エッジリス
トセル0の終点ex0がエッジリストセル1の終点ex
1よりも左側の場合について説明する。この場合には、
エッジリストセル1はスキャンライン2nの別のエッジ
リストセルとも接続している場合が考えられる。そのた
め、エッジリストセル0の区間についてグレー処理を行
ない、エッジリストセル1については、エッジリストセ
ル0の区間を切り離して、新たにエッジリストセル1と
して、スキャンライン2nの次のエッジリストセルを用
いてグレー処理を続行する。始点sx0,sx1につい
ては、それぞれ1ドットの差を生じる場合があり、始点
についてのグレー処理を行なう。また、エッジリストセ
ル0の終点ex0についても、ex0に属するドット数
に応じたグレー処理を行なう。
リストセルの始点sx0,sx1が等しく、エッジリス
トセル0の終点ex0がエッジリストセル1の終点ex
1よりも左側の場合について説明する。この場合には、
エッジリストセル1はスキャンライン2nの別のエッジ
リストセルとも接続している場合が考えられる。そのた
め、エッジリストセル0の区間についてグレー処理を行
ない、エッジリストセル1については、エッジリストセ
ル0の区間を切り離して、新たにエッジリストセル1と
して、スキャンライン2nの次のエッジリストセルを用
いてグレー処理を続行する。始点sx0,sx1につい
ては、それぞれ1ドットの差を生じる場合があり、始点
についてのグレー処理を行なう。また、エッジリストセ
ル0の終点ex0についても、ex0に属するドット数
に応じたグレー処理を行なう。
【0032】図9のS91,S93はsf0=0,sf
1=0、すなわち、エッジの始点sx0,sx1に対応
するドットが2ドットずつ存在する場合であり、S91
では、エッジリストセル0の終点ex0が2ドット存在
する場合、S93では、終点ex0に対応するドットが
1ドットしか存在しない場合である。前者の場合、S9
2において、始点sx0から終点ex0までの全区間を
100%の濃度で描画するように、エッジリストを生成
する。また、後者の場合には、S94において、始点s
x0から終点の手前の点ex0−1までの区間を100
%の濃度で描画し、終点ex0を75%の濃度で描画す
るように、エッジリストを生成する。
1=0、すなわち、エッジの始点sx0,sx1に対応
するドットが2ドットずつ存在する場合であり、S91
では、エッジリストセル0の終点ex0が2ドット存在
する場合、S93では、終点ex0に対応するドットが
1ドットしか存在しない場合である。前者の場合、S9
2において、始点sx0から終点ex0までの全区間を
100%の濃度で描画するように、エッジリストを生成
する。また、後者の場合には、S94において、始点s
x0から終点の手前の点ex0−1までの区間を100
%の濃度で描画し、終点ex0を75%の濃度で描画す
るように、エッジリストを生成する。
【0033】S95,S97,S99は、sf0=0,
sf1=1、すなわち、エッジリストセル1の始点sx
1に対応するドットが1ドットしか存在しない場合であ
る。この場合には、始点sx0(=sx1)を形成する
ドットは3つであるので、この点においてハーフトーン
処理を行なう。終点については、エッジリストセル0の
終点ex0に対応するドット数により処理を分ける。S
95において、終点ex0に対応するドットが2ドット
存在すると判定された場合には、S96において、始点
sx0を75%の濃度で描画し、その次の点sx0+1
から終点ex0までの区間を100%の濃度で描画する
ように、エッジリストを生成する。終点ex0に対応す
るドットが1ドットしか存在しない場合には、エッジリ
ストセル1の始点のドットとエッジリストセル0の終点
のドットとが同じドット位置となる場合が考えられるの
で、エッジリストセル1の始点sx1がエッジリストセ
ル0の終点ex0と等しいか否か判定される。等しくな
い場合は、S97においてこれを判定し、S98におい
て、始点sx0を75%の濃度で描画し、その次の点s
x0+1から終点の手前の点ex0−1までの区間を1
00%の濃度で描画し、さらに、終点ex0を75%の
濃度で描画するように、エッジリストを生成する。S9
9において、sx1とex0とが等しいと判定された場
合には、sx0とex0が等しい場合であるから、始点
sx0を50%の濃度で描画するように、エッジリスト
を生成するのみである。
sf1=1、すなわち、エッジリストセル1の始点sx
1に対応するドットが1ドットしか存在しない場合であ
る。この場合には、始点sx0(=sx1)を形成する
ドットは3つであるので、この点においてハーフトーン
処理を行なう。終点については、エッジリストセル0の
終点ex0に対応するドット数により処理を分ける。S
95において、終点ex0に対応するドットが2ドット
存在すると判定された場合には、S96において、始点
sx0を75%の濃度で描画し、その次の点sx0+1
から終点ex0までの区間を100%の濃度で描画する
ように、エッジリストを生成する。終点ex0に対応す
るドットが1ドットしか存在しない場合には、エッジリ
ストセル1の始点のドットとエッジリストセル0の終点
のドットとが同じドット位置となる場合が考えられるの
で、エッジリストセル1の始点sx1がエッジリストセ
ル0の終点ex0と等しいか否か判定される。等しくな
い場合は、S97においてこれを判定し、S98におい
て、始点sx0を75%の濃度で描画し、その次の点s
x0+1から終点の手前の点ex0−1までの区間を1
00%の濃度で描画し、さらに、終点ex0を75%の
濃度で描画するように、エッジリストを生成する。S9
9において、sx1とex0とが等しいと判定された場
合には、sx0とex0が等しい場合であるから、始点
sx0を50%の濃度で描画するように、エッジリスト
を生成するのみである。
【0034】S101,S103は、sf0=1,sf
1=0、すなわち、エッジリストセル0の始点sx0に
対応するドットが1ドットしか存在しない場合である。
この場合には、始点sx0(=sx1)を形成するドッ
トは3つであるので、この点においてハーフトーン処理
を行なう。終点については、エッジリストセル0の終点
ex0のドット数により処理を分ける。S101におい
て、終点ex0に対応するドットが2ドット存在すると
判定された場合には、S102において、始点sx0を
75%の濃度で描画し、その次の点sx0+1から終点
ex0までの区間を100%の濃度で描画するように、
エッジリストを生成する。S103において、終点ex
0に対応するドットが1ドットしか存在しないと判定さ
れた場合には、S104において、始点sx0を75%
の濃度で描画し、その次の点sx0+1から終点の手前
の点ex0−1までの区間を100%の濃度で描画し、
さらに、終点ex0を75%の濃度で描画するように、
エッジリストを生成する。
1=0、すなわち、エッジリストセル0の始点sx0に
対応するドットが1ドットしか存在しない場合である。
この場合には、始点sx0(=sx1)を形成するドッ
トは3つであるので、この点においてハーフトーン処理
を行なう。終点については、エッジリストセル0の終点
ex0のドット数により処理を分ける。S101におい
て、終点ex0に対応するドットが2ドット存在すると
判定された場合には、S102において、始点sx0を
75%の濃度で描画し、その次の点sx0+1から終点
ex0までの区間を100%の濃度で描画するように、
エッジリストを生成する。S103において、終点ex
0に対応するドットが1ドットしか存在しないと判定さ
れた場合には、S104において、始点sx0を75%
の濃度で描画し、その次の点sx0+1から終点の手前
の点ex0−1までの区間を100%の濃度で描画し、
さらに、終点ex0を75%の濃度で描画するように、
エッジリストを生成する。
【0035】S105,S107は、sf0=1,sf
1=1、すなわち、エッジリストセル0およびエッジリ
ストセル1の始点に対応するドットがともに1ドットし
か存在しない場合である。この場合には、始点sx0
(=sx1)に対応するドットは2つであるので、この
点においてハーフトーン処理を行なう。終点について
は、エッジリストセル0の終点ex0のドット数により
処理を分ける。S105において、終点ex0に対応す
るドットが2ドット存在すると判定された場合には、S
106において、始点sx0を50%の濃度で描画し、
その次の点sx0+1から終点ex0までの区間を10
0%の濃度で描画するように、エッジリストを生成す
る。S107において、終点ex0に対応するドットが
1ドットしか存在しないと判定された場合には、S10
8において、始点sx0を50%の濃度で描画し、その
次の点sx0+1から終点の手前の点ex0−1までの
区間を100%の濃度で描画し、さらに、終点ex0を
75%の濃度で描画するように、エッジリストを生成す
る。
1=1、すなわち、エッジリストセル0およびエッジリ
ストセル1の始点に対応するドットがともに1ドットし
か存在しない場合である。この場合には、始点sx0
(=sx1)に対応するドットは2つであるので、この
点においてハーフトーン処理を行なう。終点について
は、エッジリストセル0の終点ex0のドット数により
処理を分ける。S105において、終点ex0に対応す
るドットが2ドット存在すると判定された場合には、S
106において、始点sx0を50%の濃度で描画し、
その次の点sx0+1から終点ex0までの区間を10
0%の濃度で描画するように、エッジリストを生成す
る。S107において、終点ex0に対応するドットが
1ドットしか存在しないと判定された場合には、S10
8において、始点sx0を50%の濃度で描画し、その
次の点sx0+1から終点の手前の点ex0−1までの
区間を100%の濃度で描画し、さらに、終点ex0を
75%の濃度で描画するように、エッジリストを生成す
る。
【0036】上述のS91乃至S108において、それ
ぞれの場合に応じたエッジリストを生成した後、エッジ
リストセル1のエッジリストセル0よりも長い部分に対
して、スキャンライン2nの他のエッジリストセルとの
関係を検査するため、S109において、エッジリスト
セル1の始点sx1を、エッジリストセル0の終点の次
の点ex0+1とし、この点に対応するドット数を2ド
ット存在するようにsf1を0に設定し、スキャンライ
ン2nの次のエッジリストセルを新たなエッジリストセ
ル0として、図5のS35の処理に移る。
ぞれの場合に応じたエッジリストを生成した後、エッジ
リストセル1のエッジリストセル0よりも長い部分に対
して、スキャンライン2nの他のエッジリストセルとの
関係を検査するため、S109において、エッジリスト
セル1の始点sx1を、エッジリストセル0の終点の次
の点ex0+1とし、この点に対応するドット数を2ド
ット存在するようにsf1を0に設定し、スキャンライ
ン2nの次のエッジリストセルを新たなエッジリストセ
ル0として、図5のS35の処理に移る。
【0037】次に、図15(E)に示したように、エッ
ジリストセル0の終点ex0がエッジリストセルの始点
sx1よりも左側にあり、上下方向に接続していない場
合について説明する。この場合には、エッジリストセル
0が上下方向の端であると判断し、エッジリストセル0
についてグレー処理を行なう。
ジリストセル0の終点ex0がエッジリストセルの始点
sx1よりも左側にあり、上下方向に接続していない場
合について説明する。この場合には、エッジリストセル
0が上下方向の端であると判断し、エッジリストセル0
についてグレー処理を行なう。
【0038】図10のS111において、エッジリスト
セル0の始点sx0、終点ex0とも、対応するドット
が2ドットずつ存在すると判断される場合には、S11
2において、始点sx0、終点ex0の区間を50%の
濃度で描画するように、エッジリストを生成する。S1
13において、エッジリストセル0の終点sx1に対応
するドットは2ドット存在するが、始点ex0に対応す
るドットが1ドットしか存在しないと判断される場合に
は、S114において、始点sx0を25%の濃度で描
画し、始点の次の点sx0+1から終点ex0の区間を
50%の濃度で描画するように、エッジリストを生成す
る。S115において、エッジリストセル0の始点ex
0に対応するドットは2ドット存在するが、終点sx1
に対応するドットが1ドットしか存在しないと判断され
る場合には、S116において、始点sx0から終点の
手前の点ex0−1までの区間を50%の濃度で描画
し、終点ex0を25%の濃度で描画するように、エッ
ジリストを生成する。S117において、エッジリスト
セル0の始点sx0、終点ex0とも、対応するドット
が1ドットずつしか存在しないと判断される場合には、
S118において、始点sx0を25%の濃度で描画
し、始点の次の点sx0+1から終点の手前の点ex0
−1までの区間を50%の濃度で描画し、終点ex0を
25%の濃度で描画するように、エッジリストを生成す
る。上述のエッジリストの生成処理が終了すると、スキ
ャンライン2nのエッジリストセルを次のエッジリスト
セルにして、図5のS35の処理に移る。
セル0の始点sx0、終点ex0とも、対応するドット
が2ドットずつ存在すると判断される場合には、S11
2において、始点sx0、終点ex0の区間を50%の
濃度で描画するように、エッジリストを生成する。S1
13において、エッジリストセル0の終点sx1に対応
するドットは2ドット存在するが、始点ex0に対応す
るドットが1ドットしか存在しないと判断される場合に
は、S114において、始点sx0を25%の濃度で描
画し、始点の次の点sx0+1から終点ex0の区間を
50%の濃度で描画するように、エッジリストを生成す
る。S115において、エッジリストセル0の始点ex
0に対応するドットは2ドット存在するが、終点sx1
に対応するドットが1ドットしか存在しないと判断され
る場合には、S116において、始点sx0から終点の
手前の点ex0−1までの区間を50%の濃度で描画
し、終点ex0を25%の濃度で描画するように、エッ
ジリストを生成する。S117において、エッジリスト
セル0の始点sx0、終点ex0とも、対応するドット
が1ドットずつしか存在しないと判断される場合には、
S118において、始点sx0を25%の濃度で描画
し、始点の次の点sx0+1から終点の手前の点ex0
−1までの区間を50%の濃度で描画し、終点ex0を
25%の濃度で描画するように、エッジリストを生成す
る。上述のエッジリストの生成処理が終了すると、スキ
ャンライン2nのエッジリストセルを次のエッジリスト
セルにして、図5のS35の処理に移る。
【0039】次に、図15(F)に示したように、エッ
ジリストセル0の始点がエッジリストセル1の始点より
左にあって、上下で重なる部分が存在する場合について
説明する。この場合には、エッジリストセル0の、エッ
ジリスト1の始点より左側の部分に関してのみ、まずグ
レー処理を行ない、両方のエッジリストセルの始点を等
しくして、さらにグレー処理を行なう。
ジリストセル0の始点がエッジリストセル1の始点より
左にあって、上下で重なる部分が存在する場合について
説明する。この場合には、エッジリストセル0の、エッ
ジリスト1の始点より左側の部分に関してのみ、まずグ
レー処理を行ない、両方のエッジリストセルの始点を等
しくして、さらにグレー処理を行なう。
【0040】図11のS121において、エッジリスト
セル0の始点sx0に対応するドットが2ドット存在す
ると判断される場合には、S122において、エッジリ
ストセル0の始点sx0から、エッジリストセル1の始
点の手前の点sx1−1までの区間を50%の濃度で描
画するように、エッジリストを生成する。また、それ以
外の場合、すなわち、エッジリストセル0の始点sx0
に対応するドットが1ドットしか存在しない場合には、
S123において、エッジリストセル0の始点sx0を
25%の濃度で描画し、エッジリストセル0の始点の次
の点sx0+1からエッジリストセル1の始点の手前の
点sx1−1までの区間を50%の濃度で描画するよう
に、エッジリストを生成する。これらのエッジリストの
生成処理を行なった後、S124において、エッジリス
トセル0の始点をエッジリストセル1の始点sx1に設
定し、またその点に対応するドットが2ドット存在する
ように、sf0の値を設定して、図5のS35の処理に
移る。
セル0の始点sx0に対応するドットが2ドット存在す
ると判断される場合には、S122において、エッジリ
ストセル0の始点sx0から、エッジリストセル1の始
点の手前の点sx1−1までの区間を50%の濃度で描
画するように、エッジリストを生成する。また、それ以
外の場合、すなわち、エッジリストセル0の始点sx0
に対応するドットが1ドットしか存在しない場合には、
S123において、エッジリストセル0の始点sx0を
25%の濃度で描画し、エッジリストセル0の始点の次
の点sx0+1からエッジリストセル1の始点の手前の
点sx1−1までの区間を50%の濃度で描画するよう
に、エッジリストを生成する。これらのエッジリストの
生成処理を行なった後、S124において、エッジリス
トセル0の始点をエッジリストセル1の始点sx1に設
定し、またその点に対応するドットが2ドット存在する
ように、sf0の値を設定して、図5のS35の処理に
移る。
【0041】次に、図15(G)に示したように、エッ
ジリストセル0の始点がエッジリストセル1の始点より
右にあって、上下で重なる部分が存在する場合について
説明する。この場合には、エッジリストセル1の、エッ
ジリスト0の始点より左側の部分に関してのみ、まずグ
レー処理を行ない、両方のエッジリストセルの始点を等
しくして、さらにグレー処理を行なう。
ジリストセル0の始点がエッジリストセル1の始点より
右にあって、上下で重なる部分が存在する場合について
説明する。この場合には、エッジリストセル1の、エッ
ジリスト0の始点より左側の部分に関してのみ、まずグ
レー処理を行ない、両方のエッジリストセルの始点を等
しくして、さらにグレー処理を行なう。
【0042】図12のS131において、エッジリスト
セル1の始点sx1に対応するドットが2ドット存在す
ると判断される場合には、S132において、エッジリ
ストセル1の始点sx1から、エッジリストセル0の始
点の手前の点sx0−1までの区間を50%の濃度で描
画するように、エッジリストを生成する。また、それ以
外の場合、すなわち、エッジリストセル1の始点sx1
に対応するドットが1ドットしか存在しない場合には、
S133において、エッジリストセル1の始点sx1を
25%の濃度で描画し、エッジリストセル1の始点の次
の点sx1+1からエッジリストセル0の始点の手前の
点sx0−1までの区間を50%の濃度で描画するよう
に、エッジリストを生成する。これらのエッジリストの
生成処理を行なった後、S134において、エッジリス
トセル1の始点をエッジリストセル0の始点sx0に設
定し、またその点に対応するドットが2ドット存在する
ように、sf1の値を設定して、図5のS35の処理に
移る。
セル1の始点sx1に対応するドットが2ドット存在す
ると判断される場合には、S132において、エッジリ
ストセル1の始点sx1から、エッジリストセル0の始
点の手前の点sx0−1までの区間を50%の濃度で描
画するように、エッジリストを生成する。また、それ以
外の場合、すなわち、エッジリストセル1の始点sx1
に対応するドットが1ドットしか存在しない場合には、
S133において、エッジリストセル1の始点sx1を
25%の濃度で描画し、エッジリストセル1の始点の次
の点sx1+1からエッジリストセル0の始点の手前の
点sx0−1までの区間を50%の濃度で描画するよう
に、エッジリストを生成する。これらのエッジリストの
生成処理を行なった後、S134において、エッジリス
トセル1の始点をエッジリストセル0の始点sx0に設
定し、またその点に対応するドットが2ドット存在する
ように、sf1の値を設定して、図5のS35の処理に
移る。
【0043】次に、エッジリストセル0またはエッジリ
ストセル1のどちらか一方しか存在しない場合について
説明する。どちらか一方しか存在しない場合には、存在
するエッジリストセルのみにより、エッジリストを生成
する。この場合、存在しているエッジリストセルは、描
画する図形の上端または下端の場合が考えられるので、
全区間にわたり、ハーフトーンで描画する。
ストセル1のどちらか一方しか存在しない場合について
説明する。どちらか一方しか存在しない場合には、存在
するエッジリストセルのみにより、エッジリストを生成
する。この場合、存在しているエッジリストセルは、描
画する図形の上端または下端の場合が考えられるので、
全区間にわたり、ハーフトーンで描画する。
【0044】まず、図13のS141において、エッジ
リストセルの始点sxおよび終点exに対応するドット
がともに2ドットずつ存在すると判断される場合には、
S142において、始点sxおよび終点exの区間を5
0%の濃度で描画するように、エッジリストを生成す
る。S143において、エッジリストセルの始点に対応
するドットは2ドット存在するが、終点に対応するドッ
トが1ドットしか存在しないと判断される場合には、S
144において、エッジリストセルの始点sxから終点
の手前の点ex−1までの区間を50%の濃度で描画
し、終点exを25%の濃度で描画するように、エッジ
リストを生成する。S145において、エッジリストセ
ルの終点に対応するドットは2ドット存在するが、始点
に対応するドットが1ドットしか存在しないと判断され
る場合には、S146において、エッジリストセルの始
点sxを25%の濃度で描画し、始点の次の点sx+1
から終点exまでの区間を50%の濃度で描画するよう
にエッジリストを生成する。S147において、エッジ
リストの始点、終点とも、対応するドットが1ドットし
か存在しないと判断される場合には、S148におい
て、始点sxを25%の濃度で、始点の次の点sx+1
から終点の手前の点ex−1までの区間を50%の濃度
で、終点exを25%の濃度で描画するように、エッジ
リストを生成する。
リストセルの始点sxおよび終点exに対応するドット
がともに2ドットずつ存在すると判断される場合には、
S142において、始点sxおよび終点exの区間を5
0%の濃度で描画するように、エッジリストを生成す
る。S143において、エッジリストセルの始点に対応
するドットは2ドット存在するが、終点に対応するドッ
トが1ドットしか存在しないと判断される場合には、S
144において、エッジリストセルの始点sxから終点
の手前の点ex−1までの区間を50%の濃度で描画
し、終点exを25%の濃度で描画するように、エッジ
リストを生成する。S145において、エッジリストセ
ルの終点に対応するドットは2ドット存在するが、始点
に対応するドットが1ドットしか存在しないと判断され
る場合には、S146において、エッジリストセルの始
点sxを25%の濃度で描画し、始点の次の点sx+1
から終点exまでの区間を50%の濃度で描画するよう
にエッジリストを生成する。S147において、エッジ
リストの始点、終点とも、対応するドットが1ドットし
か存在しないと判断される場合には、S148におい
て、始点sxを25%の濃度で、始点の次の点sx+1
から終点の手前の点ex−1までの区間を50%の濃度
で、終点exを25%の濃度で描画するように、エッジ
リストを生成する。
【0045】上述のエッジリストの生成は、まず、図1
4のS151において、生成するエッジリストの始点と
終点の大小を比較し、始点が終点と同じ若しくは小さい
値を有しているときのみ、与えられた始点、終点、それ
に描画濃度の割合のデータを出力する。このとき、描画
する図形の色データに濃度割合を掛け合わせ、描画する
色データをエッジリストに登録するように構成すること
もできる。
4のS151において、生成するエッジリストの始点と
終点の大小を比較し、始点が終点と同じ若しくは小さい
値を有しているときのみ、与えられた始点、終点、それ
に描画濃度の割合のデータを出力する。このとき、描画
する図形の色データに濃度割合を掛け合わせ、描画する
色データをエッジリストに登録するように構成すること
もできる。
【0046】上述のエッジリストの生成の際に設定する
描画濃度の割合は、ほぼ、描画する点に対応するドット
数に従って設定したが、各場合の出力状況に応じて適宜
変更可能である。
描画濃度の割合は、ほぼ、描画する点に対応するドット
数に従って設定したが、各場合の出力状況に応じて適宜
変更可能である。
【0047】図16は、グレー処理後のエッジリストの
説明図である。グレースケール処理部15において生成
されたエッジリストは、図16のように、各スキャンラ
インごとに、エッジの始点と終点、それに濃度のデータ
が対になり、格納される。1つのスキャンラインに複数
のエッジリストのデータが存在するときは、ポインタで
次のデータが指示される。このエッジリストのデータ構
造は、リスト構造であっても、また、ポインタを1つの
要素として持つ表形式であってもよい。さらに、ポイン
タを有さず、参照されるべき順にデータが並べられた表
構造としてもよい。図16では、図3(A)に示したベ
クターデータ内を塗り潰したエッジリストを生成した場
合の例である。例えば、図3(A)に示したベクターデ
ータから図3(B)に示したように、2倍に拡大したベ
クターデータを作成し、図3(C)に示したエッジリス
トが作成されて、グレースケール処理部15に入力され
ると、上述のようなグレー処理により、図16に示した
エッジリストが生成される。
説明図である。グレースケール処理部15において生成
されたエッジリストは、図16のように、各スキャンラ
インごとに、エッジの始点と終点、それに濃度のデータ
が対になり、格納される。1つのスキャンラインに複数
のエッジリストのデータが存在するときは、ポインタで
次のデータが指示される。このエッジリストのデータ構
造は、リスト構造であっても、また、ポインタを1つの
要素として持つ表形式であってもよい。さらに、ポイン
タを有さず、参照されるべき順にデータが並べられた表
構造としてもよい。図16では、図3(A)に示したベ
クターデータ内を塗り潰したエッジリストを生成した場
合の例である。例えば、図3(A)に示したベクターデ
ータから図3(B)に示したように、2倍に拡大したベ
クターデータを作成し、図3(C)に示したエッジリス
トが作成されて、グレースケール処理部15に入力され
ると、上述のようなグレー処理により、図16に示した
エッジリストが生成される。
【0048】例えば、スキャンライン9のデータは、図
3(C)におけるスキャンライン18、19のデータか
ら作成される。スキャンライン18におけるエッジリス
トセル0は、始点sx0が15/2=7、sf0=1、
終点ex0が20/2=10、ef0=0となる。ま
た、スキャンライン19におけるエッジリストセル1
は、始点sx1が16/2=8、sf1=0、終点ex
1が20/2=10、ef1=0となる。sx0<sx
1より、図4のS33に該当し、図11に示す処理を行
なう。そして、sf0=1より、S121の条件を満足
せず、S123により、sx0=7の点に25%の濃度
で描画するエッジリストが生成される。このとき、エッ
ジリストセル0の始点の次の点sx0+1とエッジリス
トセル1の始点の手前の点sx1−1の区間に発生させ
る50%の濃度のデータは、sx0+1=8、sx1−
1=7となり、区間の始点、終点の大小が逆転するの
で、このエッジリストデータは、生成されない。その
後、S124において、sx0がsx1、すなわち、8
にセットされ、sf0が0にセットされて、再び、グレ
ー処理を行なう。2度目の処理では、sx0=sx1,
ex0=ex1であるので、S30の条件に該当し、ま
た、sf0=sf1=ef0=ef1=0であるので、
S73の条件に該当して、S74に従ってエッジリスト
を生成する。すなわち、sx0=8から、ex0−1=
9までの区間を100%の濃度で描画し、ex0=10
を50%の濃度で描画されるエッジリストが生成され
る。ほかのスキャンラインについても同様にしてエッジ
リストが作成され、その結果、図16に示すようなエッ
ジリストとなる。
3(C)におけるスキャンライン18、19のデータか
ら作成される。スキャンライン18におけるエッジリス
トセル0は、始点sx0が15/2=7、sf0=1、
終点ex0が20/2=10、ef0=0となる。ま
た、スキャンライン19におけるエッジリストセル1
は、始点sx1が16/2=8、sf1=0、終点ex
1が20/2=10、ef1=0となる。sx0<sx
1より、図4のS33に該当し、図11に示す処理を行
なう。そして、sf0=1より、S121の条件を満足
せず、S123により、sx0=7の点に25%の濃度
で描画するエッジリストが生成される。このとき、エッ
ジリストセル0の始点の次の点sx0+1とエッジリス
トセル1の始点の手前の点sx1−1の区間に発生させ
る50%の濃度のデータは、sx0+1=8、sx1−
1=7となり、区間の始点、終点の大小が逆転するの
で、このエッジリストデータは、生成されない。その
後、S124において、sx0がsx1、すなわち、8
にセットされ、sf0が0にセットされて、再び、グレ
ー処理を行なう。2度目の処理では、sx0=sx1,
ex0=ex1であるので、S30の条件に該当し、ま
た、sf0=sf1=ef0=ef1=0であるので、
S73の条件に該当して、S74に従ってエッジリスト
を生成する。すなわち、sx0=8から、ex0−1=
9までの区間を100%の濃度で描画し、ex0=10
を50%の濃度で描画されるエッジリストが生成され
る。ほかのスキャンラインについても同様にしてエッジ
リストが作成され、その結果、図16に示すようなエッ
ジリストとなる。
【0049】図17は出力画像の説明図である。図17
(A)に示すベクターが描画データ入力部11に入力さ
れた場合の出力結果を、図17(B)に示す。図17
(A)のようなベクターデータが入力されると、図16
に示すようなエッジリストが作成され、これを用いてク
リップ処理部16、エッジリストマージ部17、ラスタ
ライズ部19を経て、ページメモリ20にラスター展開
されてプリンタ21で出力される。このときのドットの
様子は、図17(B)に示すようになり、エッジ部分が
グレー処理され、ジャギーの目だたない高品質の画像を
得ることができる。
(A)に示すベクターが描画データ入力部11に入力さ
れた場合の出力結果を、図17(B)に示す。図17
(A)のようなベクターデータが入力されると、図16
に示すようなエッジリストが作成され、これを用いてク
リップ処理部16、エッジリストマージ部17、ラスタ
ライズ部19を経て、ページメモリ20にラスター展開
されてプリンタ21で出力される。このときのドットの
様子は、図17(B)に示すようになり、エッジ部分が
グレー処理され、ジャギーの目だたない高品質の画像を
得ることができる。
【0050】
【発明の効果】以上の説明から明らかなように、本発明
によれば、ビットマップに変換してから処理するのでは
なく、エッジリストを用いてエッジ部分の階調処理を行
なっているので、大幅なメモリの削減と高速化を可能と
し、ジャギーを低減した高品質のラスター情報を出力す
ることができるという効果がある。
によれば、ビットマップに変換してから処理するのでは
なく、エッジリストを用いてエッジ部分の階調処理を行
なっているので、大幅なメモリの削減と高速化を可能と
し、ジャギーを低減した高品質のラスター情報を出力す
ることができるという効果がある。
【図1】 本発明の描画装置の実施の一形態を示すブロ
ック図である。
ック図である。
【図2】 パラメータの説明図である。
【図3】 2倍に拡大して作成したエッジリストの説明
図である。
図である。
【図4】 グレー処理の一例の説明図である。
【図5】 グレー処理の一例の説明図(続き)である。
【図6】 グレー処理の一例の説明図(続き)である。
【図7】 グレー処理の一例の説明図(続き)である。
【図8】 グレー処理の一例の説明図(続き)である。
【図9】 グレー処理の一例の説明図(続き)である。
【図10】 グレー処理の一例の説明図(続き)であ
る。
る。
【図11】 グレー処理の一例の説明図(続き)であ
る。
る。
【図12】 グレー処理の一例の説明図(続き)であ
る。
る。
【図13】 グレー処理の一例の説明図(続き)であ
る。
る。
【図14】 グレー処理の一例の説明図(続き)であ
る。
る。
【図15】 グレー処理の一例の説明図(続き)であ
る。
る。
【図16】 グレー処理後のエッジリストの説明図であ
る。
る。
【図17】 出力画像の説明図である。
11 描画データ入力部、12 ベクター生成部、13
フォントデータ記憶部、14 グラフィックエッジリ
スト生成部、15 グレースケール処理部、16 クリ
ップ処理部、17 エッジリストマージ部、18 エッ
ジリストメモリ、19 ラスタライズ部、20 ページ
メモリ、21 プリンタ。
フォントデータ記憶部、14 グラフィックエッジリ
スト生成部、15 グレースケール処理部、16 クリ
ップ処理部、17 エッジリストマージ部、18 エッ
ジリストメモリ、19 ラスタライズ部、20 ページ
メモリ、21 プリンタ。
Claims (4)
- 【請求項1】 入力されたエッジリストからラスター情
報に変換して画像を描画する描画装置において、入力さ
れた連続する複数ラインのエッジリストの座標値の位置
関係の違いに応じた濃度情報を有するエッジリストを生
成するグレー処理手段と、該グレー処理手段により生成
されたエッジリストに従い出力処理を行なう出力処理手
段とを有することを特徴とする描画装置。 - 【請求項2】 入力されたデータからラスター情報に変
換して画像を描画する描画装置において、入力されたデ
ータからn倍に拡大したエッジリストを作成するエッジ
リスト生成手段と、連続するnラインのエッジリストの
座標値の位置関係の違いに応じた濃度情報を有する新た
なエッジリストを生成するグレー処理手段と、該グレー
処理手段により生成された新たなエッジリストに従い出
力処理を行なう出力処理手段とを有することを特徴とす
る描画装置。 - 【請求項3】 入力されたエッジリストからラスター情
報に変換して画像を描画する描画方法において、入力さ
れた連続する複数ラインのエッジリストの座標値の位置
関係の違いに応じた濃度情報を有するエッジリストを生
成し、生成されたエッジリストに従い出力処理を行なう
ことを特徴とする描画方法。 - 【請求項4】 入力されたデータからラスター情報に変
換して画像を描画する描画方法において、入力されたデ
ータからn倍に拡大したエッジリストを作成し、連続す
るnラインの前記エッジリストの座標値の位置関係の違
いに応じた濃度情報を有する新たなエッジリストを生成
し、生成された新たなエッジリストに従い出力処理を行
なうことを特徴とする描画方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001084301A JP3452049B2 (ja) | 2001-03-23 | 2001-03-23 | 描画装置及び描画方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001084301A JP3452049B2 (ja) | 2001-03-23 | 2001-03-23 | 描画装置及び描画方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34349692A Division JP3223617B2 (ja) | 1992-11-30 | 1992-11-30 | 描画装置及び描画方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001312735A JP2001312735A (ja) | 2001-11-09 |
JP3452049B2 true JP3452049B2 (ja) | 2003-09-29 |
Family
ID=18939993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001084301A Expired - Fee Related JP3452049B2 (ja) | 2001-03-23 | 2001-03-23 | 描画装置及び描画方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3452049B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6120561B2 (ja) * | 2012-12-26 | 2017-04-26 | 三菱電機株式会社 | 図形描画装置及び図形描画プログラム |
-
2001
- 2001-03-23 JP JP2001084301A patent/JP3452049B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001312735A (ja) | 2001-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3474037B2 (ja) | 文字パターン生成装置 | |
JP3223617B2 (ja) | 描画装置及び描画方法 | |
US5524198A (en) | Character or graphic processing method and apparatus | |
JP2002133428A (ja) | 描画処理装置 | |
JP3452049B2 (ja) | 描画装置及び描画方法 | |
EP0461811A2 (en) | Pattern processing method | |
JP2005111718A (ja) | 画像出力制御方法および装置並びにプログラム | |
JPH0729021A (ja) | 画像出力装置 | |
JP3089906B2 (ja) | 描画装置 | |
JP3514895B2 (ja) | 画像展開処理方法及び装置 | |
JP2000099750A (ja) | 画像処理装置及び画像処理方法 | |
JP2000066658A (ja) | 画像処理装置および記録媒体 | |
JP3645614B2 (ja) | 作画データの最適化手法 | |
JP2001092981A (ja) | 画像処理装置および画像処理方法 | |
JPH0280267A (ja) | ベクトル文字の処理方式 | |
JPH10151815A (ja) | 印刷処理装置 | |
JPH09281947A (ja) | 印刷画像作成方法およびその装置 | |
JP2782752B2 (ja) | 文字パターン出力装置 | |
JPH09154009A (ja) | プリンタ装置 | |
JP2000222569A (ja) | 描画装置 | |
JP2002133431A (ja) | 画像処理装置及び画像処理方法 | |
JPH11110150A (ja) | 画像処理システム及び画像処理方法並びに画像処理制御プログラムが記録されたコンピュータ読み取り可能な記録媒体 | |
JP3567727B2 (ja) | 画像処理方法および装置 | |
JP2000268186A (ja) | 描画処理装置 | |
JPH07162675A (ja) | 画像出力装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080718 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090718 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100718 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110718 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110718 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |