JP3649947B2 - 画像描画装置、画像描画方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents

画像描画装置、画像描画方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
JP3649947B2
JP3649947B2 JP12504599A JP12504599A JP3649947B2 JP 3649947 B2 JP3649947 B2 JP 3649947B2 JP 12504599 A JP12504599 A JP 12504599A JP 12504599 A JP12504599 A JP 12504599A JP 3649947 B2 JP3649947 B2 JP 3649947B2
Authority
JP
Japan
Prior art keywords
pixel
translucency
calculated
inclination
image
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
JP12504599A
Other languages
English (en)
Other versions
JP2000315073A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP12504599A priority Critical patent/JP3649947B2/ja
Priority to DE19950269A priority patent/DE19950269C2/de
Priority to US09/421,006 priority patent/US6882444B1/en
Publication of JP2000315073A publication Critical patent/JP2000315073A/ja
Application granted granted Critical
Publication of JP3649947B2 publication Critical patent/JP3649947B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves

Description

【0001】
【発明の属する技術分野】
この発明は、多角形の画像データを画像メモリに格納しつつ、この画像データを表示出力または印刷出力(以下「出力」と言う。)する出力する際に生ずるエイリアシングを中間色で補完する画像描画装置、画像処理方法および記録媒体に関し、特に、多角形の各辺に現れる画素単位の階段状の境界を滑らかに見せるアンチエイリアシング処理を少ないメモリ容量下で高速におこなうことができる画像描画装置、画像処理方法および記録媒体に関する。
【0002】
【従来の技術】
従来、ディスプレイ装置やスクリーンなどに多角形を表示すると、その境界にエイリアシング(aliasing)と呼ばれる階段状の部分が生ずるため、このエイリアシングを取り除くアンチエイリアシング(anti-aliasing)技術を採用した画像描画装置が知られている。このアンチエイリアシング技術とは、図形の境界部分に中間色を与え、境界部分の輝度差を目立たせないようにする技術である。
【0003】
かかる従来の代表的なアンチエイリアシング技術として、オーバーサンプリング方式、面積比方式および2度描き方式などがある。オーバーサンプリング方式とは、表示画素よりも大きな画像空間に多角形などを描画し、これを縮小して表示する際に、複数の画素を混ぜ合わせて1表示画素とする技術である。
【0004】
また、面積比方式とは、多角形の各辺を形成する直線を画素よりも細かな単位で算出し、境界画素において多角形が本来占める面積の割合を算出し、その割合にしたがって、すでに描画されている画素との間で半透明処理をおこなう技術である。
【0005】
さらに、2度描き方式とは、アンチエイリアシング処理をおこなう直線描画装置を有し、多角形の描画とは別個に多角形の各辺に沿ってアンチエイリアシング処理を施した直線描画をおこなう技術である。
【0006】
【発明が解決しようとする課題】
しかしながら、かかる従来のアンチエイリアシング技術を用いた場合には、大きなメモリ容量を要したり、描画処理が遅延するという問題が生ずる。すなわち、上記オーバーサンプリング方式を用いた場合には、本来表示に必要となるメモリ領域よりも大きなメモリ領域を描画空間用に保持しなければならず、また描画空間を広げた分だけ処理負担が増加して処理遅延が生ずる。
【0007】
また、面積比方式を用いた場合には、境界部分を形成する各画素ごとに面積を算出する処理をおこなう必要があるため、描画処理に時間を要するという問題が生ずる。
【0008】
さらに、2度描き方式を用いた場合には、本来の多角形描画処理のほかに、この多角形描画処理と独立な直線描画処理をおこなわなければならないため、近傍のメモリ領域ほど高速に処理できるというメモリ一般の利点を活かせず、結果的に処理遅延が生ずる。
【0009】
このように、従来のアンチエイリアシング処理では、メモリ容量および処理遅延の観点から見て大きな問題があったため、多角形の各辺に現れる画素単位の階段状の境界を滑らかに見せるアンチエイリアシング処理を少ないメモリ容量下でいかに高速に実現するかが極めて重要な課題となっている。
【0010】
この発明は、上記問題(課題)に鑑みてなされたものであり、多角形の各辺に現れる画素単位の階段状の境界を滑らかに見せるアンチエイリアシング処理を少ないメモリ容量下で高速におこなうことができる画像描画装置、画像描画方法および記録媒体を提供することを目的とする。
【0011】
【課題を解決するための手段】
上記目的を達成するために、発明に係る画像描画装置は、画像メモリに多角形の一部をなす画素の画情報を格納する際に、図2に示す線形補完処理部17が該画素の画素位置と画像メモリに以前に格納した画素の画素位置との差分に基づいて、エイリアシングの補完対象となる画素列を特定し、特定した画素列の画素数に基づいて該画素列を形成する各画素の半透明率を算定し、図2に示す半透明処理部18がこの線形補完処理部17により算定された半透明率に基づいて補完対象となる画素列の半透明処理をおこなうこととしたので、多角形を画像メモリに描画する際に、描画メモリ以外の作業メモリ領域を必要とすることなく、高速にアンチエイリアシング処理をおこなうことができる。
【0012】
また、本発明に係る画像描画装置は、上記の発明において、図2に示す傾き算出部11が多角形の辺の傾きを算定し、算定した傾きが45度をえる場合には、列方向の画素位置と行方向の画素位置を変換して補完対象となる画素列を特定するようにしてもよい。これにより、傾きが45度未満または45度を超えるいずれの場合であっても、効率良くアンチエイリアシング処理をおこなうことができる。
【0013】
また、本発明に係る画像描画装置は、上記の発明において、画像メモリに前回格納した第1の画素の画素位置と、該画像メモリに現在格納する第2の画素の画素位置との間に所在する画素数を算定し、この第1の画素に隣接する当該画素数分の画素列を補完対象となる画素列とするようにしてもよい。これにより、補完対象となる画素列を効率良く特定することができる。
【0014】
また、本発明に係る画像描画装置は、上記の発明において、特定された画素列を形成する各画素の半透明率を線形に増加させるようにしてもよい。これにより、補完対象となる画素列を形成する画素に迅速に半透明率を割り当てることができる。
【0015】
また、本発明に係る画像描画装置は、上記の発明において、特定された画素列の画素数に基づいて半透明率の基準値(補完値差分)を算定し、図3に示すカウンタ17f、半透明率出力部17gおよび加算器17hによりこの基準値を巡回的に加算した値を画素列を形成する各画素の半透明率とするようにしてもよい。これにより、巡回回路を用いて軽易に半透明率を算出することができる。
【0016】
また、発明に係る画像描画装置は、図9に示す傾き算出部11が多角形の辺の傾きを算定し、算定した傾きから算出した補完対象となる画素の座標位置に基づいて図9に示す小数部91、小数部92、選択器93および減算器94が該画素の半透明率を算定し、算定した半透明率に基づいて図9に示す半透明処理部18が補完対象となる画素の半透明処理をおこなうこととしたので、座標の小数部分を用いた極めて単純な演算のみで高速に半透明処理をおこなうことができる。
【0017】
また、本発明に係る画像描画装置は、上記の発明において、算定された傾きが45度未満の場合には列方向の画素位置の小数部分を基準として半透明率を算定し、該傾きが45度を超える場合には行方向の画素位置の小数部分を基準として半透明率を算定するようにしてもよい。これにより、傾きが45度未満または45度を超えるいずれの場合であっても、効率良くアンチエイリアシング処理をおこなうことができる。
【0018】
また、本発明に係る画像描画装置は、上記の発明において、算定された傾きから算出した補完対象となる画素の座標位置の小数部分を1から減算した値を半透明率とするようにしてもよい。これにより、減算という単純な演算のみで半透明率を高速に算定することができる。
【0019】
さらに、本発明に係る画像描画装置は、図9に示す小数部91および小数部92により補完対象となる画素の列方向および行方向の座標位置の小数部分をそれぞれ抽出し、算出された傾きに基づいて抽出したいずれか一方の小数部分を図9に示す選択器93が選択し、図9に示す減算器94を用いて選択された小数部分を1から減算するようにしてもよい。これにより、行および列の小数部のいずれかを1から減算するという極めて単純な演算のみで半透明率を算定することができる。
【0020】
また、発明に係る画像描画装置は、図11に示す傾き算出部11が多角形の辺の傾きを算出し、図11に示す線形補完部17が画像メモリに多角形の一部をなす画素の画情報を格納する際に、該画素の画素位置と画像メモリに以前に格納した画素の画素位置との差分に基づいて、エイリアシングの補完対象となる画素列を特定し、特定した画素列の画素数に基づいて該画素列を形成する各画素の半透明率を算定するか、または図11に示す小数部92および減算器94により傾き算出部11が算出した傾きから補完対象となる画素の座標位置に基づいて該画素の半透明率を算定するかによって半透明率を求め、いずれかで求めた半透明率に基づいて図11に示す半透明処理部18が補完対象となる各画素の半透明処理をおこなうこととしたので、半透明率を2種類の半透明率算定手段の適切な一方を用いて効率良くアンチエイリアシング処理をおこなうことができる。
【0021】
また、本発明に係る画像描画装置は、上記の発明において、算定された傾きが45度未満の場合には、前者の半透明率算定手段により半透明率を算定し、該傾きが45度を超える場合には、後者の半透明率算定手段により半透明率を算定するようにしてもよい。これにより、辺の傾きが45度未満であるか45度を超えるかによってより適切な半透明率算定手段を用いた半透明率の算定をおこなうことができる。
【0022】
また、本発明に係る画像描画装置は、上記の発明において、多角形を形成する画素の画情報を前記半透明率に乗算した値と、半透明率を1から減算した値(1−半透明率)を多角形以外の背景をなす画素の画情報に乗算した値とを加算した加算値を画素列を形成する各画素の画情報とすることとしたので、簡単な演算で効率良く半透明処理をおこなうことができる。
【0023】
また、本発明に係る画像描画装置は、上記の発明において、オン/オフ器19により算定した傾きが45度でない場合には半透明処理を可能とし、該傾きが45度である場合には半透明処理を不能とするようにしてもよい。これにより、エイリアシングが生じない場合の処理をなくし、もって処理をさらに高速化することができる。
【0024】
また、発明に係る画像描画方法は、画像メモリに多角形の一部をなす画素の画情報を格納する際に、該画素の画素位置と画像メモリに以前に格納した画素の画素位置との差分に基づいて、エイリアシングの補完対象となる画素列を特定し、特定した画素列の画素数に基づいて該画素列を形成する各画素の半透明率を算定し、算定した半透明率に基づいて補完対象となる画素列の半透明処理をおこなうこととしたので、多角形を画像メモリに描画する際に、描画メモリ以外の作業メモリ領域を必要とすることなく、高速にアンチエイリアシング処理をおこなうことができる。
【0025】
また、本発明に係る画像描画方法は、上記の発明において、多角形の辺の傾きを算定し、算定した傾きが45度をえる場合には、列方向の画素位置と行方向の画素位置を変換して補完対象となる画素列を特定するようにしてもよい。これにより、傾きが45度未満または45度を超えるいずれの場合であっても、効率良くアンチエイリアシング処理をおこなうことができる。
【0026】
また、本発明に係る画像描画方法は、上記の発明において、画像メモリに前回格納した第1の画素の画素位置と、該画像メモリに現在格納する第2の画素の画素位置との間に所在する画素数を算定し、この第1の画素に隣接する当該画素数分の画素列を補完対象となる画素列とするようにしてもよい。これにより、補完対象となる画素列を効率良く特定することができる。
【0027】
また、本発明に係る画像描画方法は、上記の発明において、特定された画素列を形成する各画素の半透明率を線形に増加させるようにしてもよい。これにより、補完対象となる画素列を形成する画素に迅速に半透明率を割り当てることができる。
【0028】
また、本発明に係る画像描画方法は、上記の発明において、特定された画素列の画素数に基づいて半透明率の基準値(補完値差分)を算定し、算定した基準値を巡回的に加算した値を画素列を形成する各画素の半透明率とするようにしてもよい。これにより、巡回回路を用いて軽易に半透明率を算出することができる。
【0029】
また、発明に係る画像描画方法は、多角形の辺の傾きを算定し、算定された傾きから算出した補完対象となる画素の座標位置に基づいて該画素の半透明率を算定し、算定された半透明率に基づいて補完対象となる画素の半透明処理をおこなうこととしたので、座標の小数部分を用いた極めて単純な演算のみで高速に半透明処理をおこなうことができる。
【0030】
また、本発明に係る画像描画方法は、上記の発明において、算定された傾きが45度未満の場合には列方向の画素位置の小数部分を基準として半透明率を算定し、該傾きが45度を超える場合には行方向の画素位置の小数部分を基準として半透明率を算定するようにしてもよい。これにより、傾きが45度未満または45度を超えるいずれの場合であっても、効率良くアンチエイリアシング処理をおこなうことができる。
【0031】
また、本発明に係る画像描画方法は、上記の発明において、算定された傾きから算出した補完対象となる画素の座標位置の小数部分を1から減算した値を半透明率とすることとしてもよい。これにより、減算という単純な演算のみで半透明率を高速に算定することができる。
【0032】
また、本発明に係る画像描画方法は、さらに、補完対象となる画素の列方向および行方向の座標位置の小数部分をそれぞれ抽出し、算出された傾きに基づいて抽出したいずれか一方の小数部分を選択し、選択された小数部分を1から減算するようにしてもよい。これにより、行および列の小数部のいずれかを1から減算するという極めて単純な演算のみで半透明率を算定することができる。
【0033】
また、発明に係る画像描画方法は、多角形の辺の傾きを算定し、画像メモリに多角形の一部をなす画素の画情報を格納する際に、該画素の画素位置と画像メモリに以前に格納した画素の画素位置との差分に基づいて、エイリアシングの補完対象となる画素列を特定し、特定した画素列の画素数に基づいて該画素列を形成する各画素の半透明率を算定するか、または算定された傾きから算出した補完対象となる画素の座標位置に基づいて該画素の半透明率を算定するかによって半透明率を求め、いずれかで求めた半透明率に基づいて補完対象となる各画素の半透明処理をおこなうこととしたので、辺の傾きが45度未満であるか45度を超えるかによってより適切な半透明率算定手段を用いた半透明率の算定をおこなうことができる。
【0034】
また、本発明に係る画像描画方法は、上記の発明において、多角形を形成する画素の画情報を前記半透明率に乗算した値と、半透明率を1から減算した値(1−半透明率)を多角形以外の背景をなす画素の画情報に乗算した値とを加算した加算値を画素列を形成する各画素の画情報とするようにしてもよい。これにより、簡単な演算で効率良く半透明処理をおこなうことができる。
【0035】
また、本発明に係る画像描画方法は、上記の発明において、オン/オフ器19により算定した傾きが45度でない場合には半透明処理を可能とし、該傾きが45度である場合には半透明処理を不能とするようにしてもよい。これにより、エイリアシングが生じない場合の処理をなくし、もって処理をさらに高速化することができる。
【0036】
また、発明に係る記録媒体は、画像メモリに多角形の一部をなす画素の画情報を格納する際に、該画素の画素位置と画像メモリに以前に格納した画素の画素位置との差分に基づいて、エイリアシングの補完対象となる画素列を特定し、特定した画素列の画素数に基づいて該画素列を形成する各画素の半透明率を算定し、算定した半透明率に基づいて補完対象となる画素列の半透明処理をおこなうこととしたので、多角形を画像メモリに描画する際に、描画メモリ以外の作業メモリ領域を必要とすることなく、高速にアンチエイリアシング処理をおこなう動作をコンピュータによって実現することができる。
【0037】
また、発明に係る記録媒体は、多角形の辺の傾きを算定し、算定した傾きから算出した補完対象となる画素の座標位置に基づいて該画素の半透明率を算定し、算定した半透明率に基づいて補完対象となる画素の半透明処理をおこなうこととしたので、座標の小数部分を用いた極めて単純な演算のみで高速に半透明処理をおこなう動作をコンピュータによって実現することができる。
【0038】
また、発明に係る記録媒体は、多角形の辺の傾きを算定し、画像メモリに多角形の一部をなす画素の画情報を格納する際に、該画素の画素位置と画像メモリに以前に格納した画素の画素位置との差分に基づいて、エイリアシングの補完対象となる画素列を特定し、特定した画素列の画素数に基づいて該画素列を形成する各画素の半透明率を算定するか、または算定された傾きから算出した補完対象となる画素の座標位置に基づいて該画素の半透明率を算定するかによって半透明率を求め、いずれかで求めた半透明率に基づいて補完対象となる各画素の半透明処理をおこなうこととしたので、辺の傾きが45度未満であるか45度を超えるかによってより適切な半透明率算定手段を用いた半透明率の算定をおこなう動作をコンピュータによって実現することができる。
【0039】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係る画像描画装置、画像描画方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体の好適な実施の形態を詳細に説明する。なお以下では、本発明に係わる描画位置差分の線形補完方式を実施の形態1で説明し、描画座標小数部利用方式を実施の形態2で説明し、これらの複合方式を実施の形態3で説明することとする。
【0040】
(実施の形態1)
まず最初に、本実施の形態1で用いる描画位置差分の線形補完方式の概念について説明する。この描画位置差分の線形補完方式は、直前の描画位置を記憶しておき、記憶した直前の描画位置と現在の描画位置とから処理対象となる領域を特定し、特定した領域に含まれる画素にアンチエイリアシング処理を施して画素値を補完するものである。
【0041】
図1は、この実施の形態1で用いる描画位置差分の線形補完方式の概念を示す説明図である。図中の0〜6は行番号を示し、A〜Gは列番号を示し、黒丸で示す画素が多角形の一部を形成する画素とする。なお、ここでは多角形を行単位で分割し、行ごとに描画する場合を示すこととする。
【0042】
同図(a)に示すように、あらかじめ記憶した直前(前回)の描画位置を行1の列F(以下、(F,1)と表記する。)とし、現在の描画位置を(B,2)とすると、図中の破線で囲んだ領域20に含まれる画素(C,1)、(D,1)および(E,1)がアンチエイリアシング処理の処理対象となる。
【0043】
そして、まず最初にこの領域20の両端に位置する描画済みの画素の画素値を用いて領域20に含まれる画素(C,1)、(D,1)および(E,1)の半透明処理の割合(半透明率)を決定する。
【0044】
具体的には、同図(a)に示す場合には、この領域20の右側に位置する画素(F,1)の半透明率を100%とし、また(B,1)の半透明率を0%として、その間の半透明率を一定の割合で変化させる。その結果、画素(C,1)の半透明率が25%となり、画素(D,1)の半透明率が50%となり、画素(E,1)の半透明率が75%となる。なお、この半透明率が100%であるとは、透過しないことを意味し、たとえば背景が白色の白黒画像の場合には、黒画素に相当する。また、半透明率が0%であるとは、完全に透過して背景色そのものとすることを意味し、たとえば背景が白画素の白黒画像の場合には白画素に相当する。
【0045】
ここで、この半透明処理では、領域20の次の行に位置する画素列(C,2)〜(E,2)を描画元とし、領域20に含まれる画素列(C,1)〜(E,1)を描画先とし、描画元の画素と描画先の画素との間で半透明処理をおこなって、その結果を描画先の画素に描画する。たとえば、画素(C,1)については、描画元の画素(C,2)と描画先の画素(C,1)との間で半透明処理をおこない、その結果を画素(C,1)に描画することになる。
【0046】
このように、多角形を行単位で分割して行ごとに描画することとすると、同図(a)に示すように、多角形の辺の傾きが45度未満となる場合には上記処理を適用することができるが、同図(b)に示すように、多角形の辺の傾きが45度を越える場合には、同様の手順で領域21を特定することはできない。このため、かかる場合には、行と列の関係を入れ替えて上記処理をおこなう。なお以下では、xy平面上でx=yまたはx=−yに該当するエイリアシングが生じない場合を傾きが45度であるとする。なお、この場合に、x=0またはy=0の場合も含めて考えるものとする。
【0047】
このように、本実施の形態1に係る描画位置差分の線形補完方式では、直前の描画位置を記憶し、記憶した直前の描画位置と現在の描画位置とから処理対象となる領域を特定し、特定した領域に含まれる画素にアンチエイリアシング処理を施して画素値を補完する。
【0048】
次に、本実施の形態1に係る描画位置差分の線形補完方式を用いた画像描画装置の構成について説明する。なお、ここでは行ごとに画素描画をおこないつつ、その1行前の画素をアンチエイリアシング処理するものとする。
【0049】
図2は、本実施の形態1に係る描画位置差分の線形補完方式を用いた画像描画装置の構成を示すブロック図である。同図に示す画像描画装置10は、傾き算出部11と、列方向座標算出部12と、行方向座標算出部13と、画素描画処理部14と、フレームバッファ15と、描画位置記憶部16と、線形補完処理部17と、半透明処理部18と、オン/オフ器19とを有する。
【0050】
傾き算出部11は、多角形の辺の傾きを算出する処理部であり、算出した傾きを線形補完処理部17およびオン/オフ器19に出力する。算出した傾きを線形補完処理部17に出力する理由は、線形補完部17において傾きが45度未満か否かにより行と列を入れ替えた処理をおこなうためである。また、算出した傾きをオン/オフ器19に出力する理由は、傾きが45度の場合にはこのオン/オフ器19をオフにしてアンチエイリアシング処理自体をおこなわないようにするためである。
【0051】
列方向座標算出部12は、フレームバッファ15に描画する列方向の座標位置を算出する処理部であり、行方向座標算出部13は、フレームバッファ15に描画する行方向の座標位置を算出する処理部である。
【0052】
画素描画処理部14は、列方向座標算出部12が算出した列座標および行方向座標算出部13が算出した行座標で指示されたフレームバッファ15上の座標位置に画素値を付与して画像を描画する処理部である。フレームバッファ15は、多角形の画像データを格納する2次元メモリである。たとえば、このフレームバッファ15としてダイナミックRAM(Random Access Memory)を使用することができる。このダイナミックRAMは、連続領域での処理が最も効率が良いため、かかるダイナミックRAMの特性を活かして、多角形を行単位に分割し、行ごとに描画する。
【0053】
描画位置記憶部16は、直前(前回)の描画位置である列方向の座標と行方向の座標を記憶する記憶部である。行方向の座標を記憶する理由は、傾き算出部11が算出した傾きが45度未満の場合に、行方向の座標と列方向の座標の入れ替えをおこなうためである。
【0054】
線形補完処理部17は、本発明に係る描画位置差分の線形補完処理をおこなう処理部である。具体的には、この線形補完処理部17では、前回の描画位置と今回の描画位置との描画位置差分を求め、求めた描画位置差分に基づいて処理対象領域を特定し、特定した処理対象領域に所在する画素の半透明率(透過率)を求める。
【0055】
半透明処理部18は、線形補完処理部17により算出した半透明率に基づいて、処理対象領域に所在する画素(描画先の画素)と描画元の画素との間で半透明処理をおこなう処理部である。
【0056】
オン/オフ器19は、傾き算出部11が算出した傾きに基づいて半透明処理をおこなうか否かを切り換える切換器であり、具体的には、傾き算出部11が算出した傾きが45度である場合には、階段状のエイリアシングがもともと生じないため、このオン/オフ器19をオフにしてアンチエイリアシング処理をおこなわないようにする。また、この傾きが45度以外であれば、エイリアシングが生じるため、このオン/オフ器19をオンにしてアンチエイリアシング処理をおこなう。
【0057】
上記構成を有する画像描画装置10を用いることにより、上記描画位置差分の線形補完方式を用いたアンチエイリアシング処理をおこないつつ、フレームバッファ15への画像の描画をおこなうことができる。なお、このフレームバッファ15に描画した画像データは、図示しない表示制御部または印刷制御部により表示装置または印刷装置に出力される。
【0058】
すなわち、この画像描画装置10では、多角形の描画情報が入力されると、傾き算出部11が辺の傾きを算出した後、列方向座標算出部12および行方向座標算出部13がそれぞれ列方向座標および行方向座標を算出し、画像描画処理部14がフレームバッファ15の該当する座標位置に画素値を格納する。
【0059】
ここで、描画位置記憶部16には、前回の描画位置が記憶されているので、線形補完処理部17はこの前回の描画位置と今回の描画位置とを用いて半透明率を算出し、算出した半透明率を用いて半透明処理部18が半透明処理をおこなう。なお、この半透明処理部18がおこなう半透明処理には、描画先の画素と描画元の画素の画素値が必要となるため、必要な画素値についてはフレームバッファ15から取り込むことになる。
【0060】
次に、図2に示す線形補完処理部17の具体的な構成について説明する。図3は、図2に示す線形補完処理部17の具体的な構成を示す図である。同図に示すように、この線形補完処理部17は、選択器17aおよび17bと、減算器17cと、除算器17dと、補完値差分保持部17eと、カウンタ17fと、半透明率出力部17gと、加算器17hとを有する。
【0061】
そして、この線形補完処理部17では、傾き算出部11が算出した傾きに基づいて、選択器17aおよび17bを用いて前回位置と今回位置とを選択する。具体的には、この選択器17aでは、傾き算出部11が算出した角度が45度未満であれば、描画位置記憶部16に記憶した列方向の座標を前回位置の列方向の座標として選択し、45度を超える場合には、描画位置記憶部16に記憶した行方向の座標を前回位置の列方向の座標として選択する。
【0062】
また、選択器17bでは、傾き算出部11が算出した傾きが45度未満であれば、列方向座標算出部12が算出した列方向の座標を今回の列方向の座標として選択し、45度を超える場合には、行方向座標算出部13が算出した行方向の座標を今回の列方向の座標として選択する。
【0063】
その後、減算器17cは、前回位置の列方向の座標と今回の列方向の座標の差分を求め、アンチエイリアシング処理の処理対象となる画素の画素数を取得する。ここで、処理対象となる画素数を算出すれば、基準となる前回位置がわかっているので、結果的に処理対象となる画素を特定できる。なお、行方向の座標の差分値を求めていない理由は、ここでは画素描画処理部14が画素を描画する行から1行遅れてアンチエイリアシングを処理をおこなうこととしているためである。
【0064】
具体的には、図1(a)の場合には、前回位置の列方向の座標から今回位置の列方向の座標を減算すると4画素となる。なお、ここでは処理対象を4画素として算定するが、後述する処理で1画素目の半透明率は0%となるため、実質上の処理対象は上述したように画素(C,1)〜(E,1)の3画素となる。
【0065】
その後、除算器17dにおいて「1」を減算器17cの出力値で除算し、補完値差分を取得し、補完値差分保持部17eに保持する。たとえば、減算器17cの出力値が「4」である場合には、かかる補完値差分は0.25となる。
【0066】
一方、減算器17cからの出力値はカウンタ17fに入力され、カウンタ17fのカウント値に画素数が設定される。たとえば、減算器17cからの出力値が「4」であれば、カウンタ17fのカウント値が「4」となる。
【0067】
そして、半透明率出力部17gが、その初期値である「0」を加算器17hおよび半透明処理部18に出力すると、加算器17hがこの半透明率出力部17gからの出力と補完値差分保持部17eが保持した補完値差分とを加算して、半透明率出力部17gに出力する。たとえば、補完値差分保持部17eが保持する補完値差分が0.25の場合には、この0.25が半透明率出力部17gに出力される。
【0068】
同様にして、カウンタ17fが保持する回数だけ半透明率出力部17gが出力すると、たとえば補完値差分が0.25の場合には、この半透明率出力部17gからは、「0」、「0.25」、「0.5」および「0.75」が順次出力されることとなる。
【0069】
このように、かかる線形補完処理部17では、補完する画素を間接的に特定するとともに、補完する各画素の半透明処理に必要となる半透明率を前回位置と今回位置から算定して半透明処理部18に出力している。
【0070】
次に、図2に示す半透明処理部18の具体的な構成について説明する。図4は、図2に示す半透明処理部18の具体的な構成の一例を示す説明図である。同図に示すように、この半透明処理部18は、2つの乗算器18aおよび18bと加算器18cとからなる。
【0071】
乗算器18aは、フレームバッファ15から取得した描画元の画素の描画色と線形補完処理部17から受け取った半透明率とを乗算する回路部であり、乗算器18bは、背景色すなわち描画先の画素の画素値と1−半透明率とを乗算する回路部である。加算器18cは、乗算器18aと乗算器18bの出力を加算して描画先の画素の画素値として出力する回路部である。
【0072】
たとえば、図(a)に示す画素(C,1)を描画先の画素とした場合には、描画元の画素である画素(C,2)の画素値が描画色となり、描画先の画素(C,1)の画素値が背景色となる。そして、この場合の半透明率が25%であるので、描画先の画素(C,1)の画素値は、
(C,2)×0.25+(C,1)×0.75
となる。なお、ここでは乗算器18bに(1−半透明率)を入力することとしたが、実際には「1」から線形補完処理部17の出力を減算する減算器を新たに設けることとなる。
【0073】
図5は、図2に示す半透明処理部18の他の構成の一例を示す図である。同図に示すように、この半透明処理部18は、減算器18dと、乗算器18eと、加算器18fとからなる。
【0074】
減算器18dは、描画元の画素の画素値である描画色から描画先の画素の画素値である背景色を減算して差分を求める回路部であり、乗算器18eは、この減算器18dが求めた差分に半透明率を加算する回路部である。また、加算器18fは、乗算器18eの出力に上記背景色を加算する回路部である。
【0075】
たとえば、図(a)に示す画素(C,1)を描画先の画素とした場合には、画素(C,2)の画素値から画素(C,1)の画素値を減算した値に半透明率である0.25を乗算し、その結果に画素(C,1)の画素値を加算するので、
{(C,2)−(C,1)}×0.25+(C,1) =(C,2)×0.25+(C,1)×0.75
となり、結果的に図4に示すものと同じ計算結果が得られる。
【0076】
このように、かかる半透明処理部18では、描画色、背景色および半透明率を入力パラメータとして、アンチエイリアシング処理の処理対象となる画素の画素値を算定している。
【0077】
ところで、上記一連の説明では、本発明に係る描画位置差分の線形補完方式をハードウエア回路で構築した場合を示したが、本発明はこれに限定されるものではなく、ソフトウエアで実現することもできる。
【0078】
そこで以下では、本発明に係る描画位置差分の線形補完方式をソフトウエアで実現した場合について説明する。ただし、本来の画素の描画を行ごとにおこないつつ、1行遅れでアンチエイリアシング処理をおこなう場合を前提とした場合を説明する。
【0079】
図6は、本発明に係る描画位置差分の線形補完方式をソフトウエアで実現した場合における画像描画装置のハードウエア構成を示すブロック図である。同図において、CPU61は、画像描画装置全体を制御する中央処理装置であり、ROM62から読み出したプログラムを実行して、RAM63上に設けたページメモリ領域(図2のフレームバッファ15に対応する。)に画像データを書き込む処理等をおこなう。なお、このプログラムには、本発明に係わる描画位置差分の線形補完処理をおこなうプロセスが内在されている。
【0080】
ROM62は、オペレーティングシステムの他に、本発明に係わる描画位置差分の線形補完処理をおこなうプロセスを内在した画像描画プログラムを記憶するメモリである。RAM63は、CPU61のワークエリアとして使用されるメモリであり、このRAM63上には、画像描画をおこなうためのページメモリ領域が確保される。
【0081】
また、64はCPU61の制御にしたがってHD(ハードディスク)65に対するデータのリード/ライトを制御するHDD(ハードディスクドライブ)を、65はHDD64の制御で書き込まれたデータを記憶するHDをそれぞれ示している。
【0082】
また、66はCPU61の制御にしたがってFD(フロッピーディスク)67に対するデータのリード/ライトを制御するFDD(フロッピーディスクドライブ)を、67はFDD66の制御で書き込まれたデータを記憶する着脱自在な記憶媒体の一例としてのFDを、68はドキュメント、画像、機能情報等を表示するディスプレイをそれぞれ示している。
【0083】
また、69は通信回線70を介してネットワークに接続され、そのネットワークと内部のインターフェイスを司るインターフェイス(I/F)を、71は文字、数値、各種指示等の入力のためのキーを備えたキーボードを、72はカーソルの移動や範囲選択、あるいは表示画面に表示されたアイコンやボタンの押下やウインドウの移動やサイズの変更等をおこなうマウスをそれぞれ示している。
【0084】
また、73はOCR(Optical Character Reader)機能を備えた画像を光学的に読み取るスキャナを、74は検索結果その他表示画面に表示されたデータの内容等を印刷するプリンタを、75は上記各部を結合するためのバスをそれぞれ示している。
【0085】
次に、図6に示す画像描画装置による描画処理手順について説明する。図7は、図6に示す描画処理装置による描画処理手順を示すフローチャートである。図7のフローチャートに示すように、この画像描画装置では、まず最初に画素描画をおこなう画素の位置座標を示すX座標およびY座標を算出し(ステップS701)、ページメモリ領域の該当する位置に画素を描画するとともに(ステップS702)、本発明に係る描画位置差分の線形補完方式によるアンチエイリアシング処理をおこなう。
【0086】
すなわち、前回の描画位置と今回の描画位置から補完対象となる画素を特定し(ステップS703)、特定した補完対象画素の半透明率を算定する(ステップS704)。具体的には、「1」を補完対象画素列で除算した値を補完値差分とし、前回の描画位置に近づくほど半透明率が線形に増加するようにこの補完値差分を加算する。
【0087】
そして、各補完対象画素の半透明率をそれぞれ求めたならば、描画元の画素と描画先の画素との間で半透明率を用いた半透明処理をおこなって、各補完対象画素の画素値を算定し(ステップS705)、算定した画素値を該当する補完対象画素に書き込む(ステップS706)。具体的には、描画元の画素の画素値に半透明率を乗算した値と、描画先の画素の画素値に(1−半透明率)を乗算した値とを加算して補完対象画素の画素値とする。
【0088】
そして、このステップS701〜S706の処理を未処理の画素がなくなるまで繰り返し(ステップS707肯定)、未処理の画素がなくなった時点で(ステップS707否定)処理を終了する。
【0089】
上記一連の処理をおこなうことにより、描画位置差分の線形補完方式を用いたアンチエイリアシング処理およびページメモリ領域への画像の描画をソフトウエアを用いておこなうことができる。
【0090】
上述してきたように、この実施の形態1では、前回の描画位置を描画位置記憶部16に記憶しておき、線形補完処理部17がこの描画位置記憶部16に記憶した前回の描画位置と今回の描画とから補完対象画素を特定して、特定した補完対象画素の半透明率を算定し、半透明処理部18が半透明率を用いて各補完対象画素の画素値を算定するよう構成したので、アンチエイリアシング処理を少ないメモリで高速におこなうことができる。
【0091】
(実施の形態2)
ところで、上記実施の形態1で示した描画位置差分の線形補完方式では、前回の描画位置と今回の描画位置の差分を用いて半透明率を算定することとしたが、かかる差分を用いなくとも半透明率を算定することができる。そこで、本実施の形態2では、多角形の辺の傾きを利用して直接半透明率を求める描画座標小数部利用方式について説明する。
【0092】
まず最初に、本実施の形態2で用いる描画座標小数部利用方式の概念について説明する。この描画座標小数部利用方式は、多角形の辺の傾きを利用して半透明率を高速に算出し、算出した半透明率を用いて補完対象画素にアンチエイリアシング処理を施して画素値を補完するものである。
【0093】
図8は、この実施の形態2で用いる描画座標小数部利用方式の概念の説明図である。図中の0〜6は行番号を示し、A〜Gは列番号を示し、図中黒丸で示す画素が多角形の一部を形成する画素であるものとする。
【0094】
同図(a)に示すように、C列を現在の描画位置と考えた場合には、画素(B,2)、(B,3)または(B,4)がアンチエイリアシング処理の対象画素となる。
【0095】
ここで、この描画座標小数部利用方式は、辺の傾きから算出した列方向の座標の小数部分を1から減算した値を半透明率とするものであるので、かかる値を半透明率とした理由について説明する。
【0096】
たとえば、この辺の傾きがy=4xとなる場合には、y=1.0(行1)の場合にはx=0.25となり、y=2.0(行2)の場合にはx=0.5となり、y=3.0(行3)の場合にはx=0.75となる。
【0097】
すなわち、辺がy=4xという傾きを有する場合には、本来は1行目の画素は列Aから0.25だけ列B側にずれるべきであり、2行目の画素は列Aから0.5だけ列B側にずれるべきであり、3行目の画素は列Aから0.75だけ列B側にずれるべきである。
【0098】
また、列Aと列Bとを考えた場合に、列B側に大きくずれている場合には列Bの画素がそのずれ分を吸収できるので、この場合の半透明率をさほど大きくする必要はないが、列A側に大きくずれている場合には、列Bの画素がそのずれ分を吸収できないので、この場合の半透明率は大きくする必要がある。
【0099】
このことは、列Aと列Bの間のみならず、列Bと列C、列Cと列Dの間でも成り立つので、本実施の形態2で用いる描画座標小数部利用方式では、辺の傾きから算出した列方向の座標の小数部を1から減算した値を半透明率としている。
【0100】
このようにして、アンチエイリアシング処理の処理対象となる画素(B,2)〜(B,4)の半透明率を求めたならば、上記実施の形態1と同様に、描画元の画素を(C,2)〜(C,4)とし、描画先の画素を(B,2)〜(B,4)として半透明処理をおこない、その結果を画素(B,2)〜(B,4)に格納することになる。なお、同図(b)に示すように、多角形の辺の傾きが45度を越える場合には列座標の小数部ではなく、行座標の小数部を使用する。
【0101】
次に、本実施の形態2に係る描画座標小数部利用方式を用いた画像描画装置の構成について説明する。図9は、本実施の形態2で用いる描画座標小数部利用方式を用いた画像描画装置の構成を示すブロック図である。なお、図2に示す画像描画装置と同様の機能を有する部位には同一の符号を付すこととしてその詳細な説明を省略する。
【0102】
同図に示す画像描画装置90は、傾き算出部11、列方向座標算出部12、行方向座標算出部13、画素描画処理部14、フレームバッファ15、半透明処理部18およびオン/オフ器19と、小数部91および92と、選択器93と、減算器94とを有する。
【0103】
小数部91は、列方向座標算出部12が算出した列方向座標の小数部分のみを抽出する処理部であり、小数部92は、行方向算出部13が算出した行方向座標の小数部分のみを抽出する処理部である。
【0104】
選択器93は、傾き算出部11が算出した傾き角度が45度未満か45度を超えるかによって列座標を用いるか行座標を用いるかを選択する処理部であり、具体的には、45度未満である場合には小数部91の出力を選択し、45度を超える場合には小数部92の出力を選択する。
【0105】
減算器94は、選択器93の出力を1から減じる処理部である。かかる減算をおこなう理由は、選択器93の出力である小数を1から減じたものを半透明率として半透明処理部18に出力するためである。
【0106】
上記構成を有する画像描画装置90を用いることにより、描画座標小数部利用方式を用いたアンチエイリアシング処理をおこないつつ、フレームバッファ15への画像の描画をおこなうことができる。
【0107】
次に、本実施の形態2に係る描画座標小数部利用方式をソフトウエアで実現する場合について説明する。なお、この場合に用いる画像描画装置の構成は、図6に示すものと同様のものとなるので、ここではその処理手順についてのみ説明する。
【0108】
図10は、実施の形態2に係る描画座標小数部利用方式をソフトウエアで実現した場合の処理手順を示すフローチャートである。図10に示すように、まず最初に、画素描画をおこなう画素の位置座標を示すX座標およびY座標を算出し(ステップS801)、ページメモリ領域の該当する位置に画素を描画するとともに(ステップS802)、本発明に係る描画座標小数部利用方式によるアンチエイリアシング処理をおこなう。
【0109】
すなわち、列座標および行座標の小数部分をそれぞれ取得し(ステップS803)、辺の傾きに基づいて取得した小数部分のいずれか一方を選択し、選択した小数部分を「1」から減じて半透明率を算定する(ステップS804)。
【0110】
そして、補完対象画素の半透明率を求めたならば、描画元の画素と描画先の画素との間で半透明率を用いた半透明処理をおこなって、各補完対象画素の画素値を算定し(ステップS805)、算定した画素値を該当する補完対象画素に書き込む(ステップS806)。具体的には、描画元の画素の画素値に半透明率を乗算した値と、描画先の画素の画素値に(1−半透明率)を乗算した値とを加算して補完対象画素の画素値とする。
【0111】
そして、このステップS801〜S806の処理を未処理の画素がなくなるまで繰り返し(ステップS807肯定)、未処理の画素がなくなった時点で(ステップS807否定)処理を終了する。
【0112】
上記一連の処理をおこなうことにより、描画座標小数部利用方式を用いたアンチエイリアシング処理およびページメモリ領域への画像の描画をソフトウエアを用いておこなうことができる。
【0113】
上述してきたように、この実施の形態2では、列座標および行座標の小数部分を小数部91および92で取得し、選択器93が傾き角度に応じて取得した小数部分の一方を選択し、選択した小数部分を1から減算した値を半透明率とし、半透明処理部18がこの半透明率を用いて各補完対象画素の画素値を算定するよう構成したので、アンチエイリアシング処理をより高速におこなうことができる。
【0114】
(実施の形態3)
ところで、上記実施の形態1および実施の形態2では、傾き算出部11が算出した傾き角度が45度未満の場合だけでなく45度を越える場合についても、それぞれ描画位置差分の線形補完方式および描画座標小数部利用方式を適用することとしたが、両方式を併有してアンチエイリアシング処理をおこなうこともできる。そこで、この実施の形態3では、上記描画位置差分の線形補完方式および描画座標小数部利用方式を併有した複合方式について説明する。
【0115】
一般の画像描画装置では、画像格納領域であるフレームバッファ15にダイナミックROMを使用することが多い。その理由は、ダイナミックROMは、連続領域での処理を最も効率良く実行できるからである。このため、かかる連続領域での高速処理を考慮して、通常は多角形を行単位に分割し、行ごとに描画することになる。
【0116】
ここで、上記実施の形態1で説明した描画位置差分の線形補完方式は、傾き角度が45度未満の場合には行単位分割に対応することができるが、この傾き角度が45度を超えると半透明率が列方向に変化するため、その対応が難しい。
【0117】
これに対して、上記実施の形態2で説明した描画座標小数部利用方式は、傾き角度が45度を越える場合にはそのまま行単位分割に対応することができるが、この傾き角度が45度未満の場合には、行単位描画では本来必要のない列方向の座標を計算せねばならない。
【0118】
そこで、本実施の形態3に係る複合方式では、傾き角度が45度未満の場合には描画位置差分の線形補完方式を利用し、この傾き角度が45度を超える場合には描画座標小数部利用方式を利用することとしている。
【0119】
次に、本実施の形態3に係る複合方式を用いた画像描画装置の構成について説明する。図11は、本実施の形態3に係る複合方式を用いた画像描画装置の構成を示すブロック図である。
【0120】
同図に示す画像描画装置110は、傾き算出部11、列方向座標算出部12、行方向座標算出部13、画素描画処理部14、フレームバッファ15、描画位置記憶部16、線形補完処理部17、半透明処理部18およびオン/オフ器19と、小数部92、選択器93および減算器94とを有する。
【0121】
そして、この画像描画装置110は、傾き算出部11が算出した傾きが45度未満の場合には、描画位置記憶部16に記憶した前回の列座標位置と今回の列座標位置とを用いて描画位置差分の線形補完方式のアンチエイリアシング処理をおこなう。具体的には、線形補完装置17が前回位置と今回位置とを用いて半透明率を算定し、半透明処理部18による半透明処理をおこなう。
【0122】
これに対して、傾き算出部11が算出した傾きが45度を越える場合には、行方向座標の小数部分を小数部92が取得し、取得した小数部分を減算器94において1から減算して半透明率を算定し、算定した半透明率を用いて半透明処理部18が半透明処理をおこなう。
【0123】
上述してきたように、本実施の形態3では、傾き算出部11が算出した傾きが45度未満の場合には描画位置差分の線形補完方式の処理をおこない、また傾き算出部11が算出した傾きが45度を越える場合には描画座標小数部利用方式の処理をおこなうよう構成したので、両方式の利点を兼ね備えたアンチエイリアシング処理をおこなうことができる。
【0124】
【発明の効果】
以上説明したように、本発明によれば、画像メモリに多角形の一部をなす画素の画情報を格納する際に、該画素の画素位置と画像メモリに以前に格納した画素の画素位置との差分に基づいて、エイリアシングの補完対象となる画素列を特定し、特定した画素列の画素数に基づいて該画素列を形成する各画素の半透明率を算定し、算定した半透明率に基づいて補完対象となる画素列の半透明処理をおこなうよう構成したので、多角形を画像メモリに描画する際に、描画メモリ以外の作業メモリ領域を必要とすることなく、高速にアンチエイリアシング処理をおこなうことができる。
【0125】
また、本発明によれば、多角形の辺の傾きを算定し、算定した傾きが45度を越える場合には、列方向の画素位置と行方向の画素位置を変換して補完対象となる画素列を特定するよう構成したので、傾きが45度未満または45度を超えるいずれの場合であっても、効率良くアンチエイリアシング処理をおこなうことができる。
【0126】
また、本発明によれば、画像メモリに前回格納した第1の画素の画素位置と、該画像メモリに現在格納する第2の画素の画素位置との間に所在する画素数を算定し、この第1の画素に隣接する当該画素数分の画素列を補完対象となる画素列とするよう構成したので、補完対象となる画素列を効率良く特定することができる。
【0127】
また、本発明によれば、特定された画素列を形成する各画素の半透明率を線形に増加させるよう構成したので、補完対象となる画素列を形成する画素に迅速に半透明率を割り当てることができる。
【0128】
また、本発明によれば、特定された画素列の画素数に基づいて半透明率の基準値(補完値差分)を算定し、算定した基準値を巡回的に加算した値を画素列を形成する各画素の半透明率とするよう構成したので、巡回回路を用いて軽易に半透明率を算出することができる。
【0129】
また、本発明によれば、多角形の辺の傾きを算定し、算定した傾きから算出した補完対象となる画素の座標位置に基づいて該画素の半透明率を算定し、算定した半透明率に基づいて補完対象となる画素の半透明処理をおこなうよう構成したので、座標の小数部分を用いた極めて単純な演算のみで高速に半透明処理をおこなうことができる。
【0130】
また、本発明によれば、算定された傾きが45度未満の場合には列方向の画素位置の小数部分を基準として半透明率を算定し、該傾きが45度を超える場合には行方向の画素位置の小数部分を基準として半透明率を算定するよう構成したので、傾きが45度未満または45度を超えるいずれの場合であっても、効率良くアンチエイリアシング処理をおこなうことができる。
【0131】
また、本発明によれば、算定された傾きから算出した補完対象となる画素の座標位置の小数部分を1から減算した値を半透明率とするよう構成したので、減算という単純な演算のみで半透明率を高速に算定することができる。
【0132】
また、本発明によれば、補完対象となる画素の列方向および行方向の座標位置の小数部分をそれぞれ抽出し、算出された傾きに基づいて抽出したいずれか一方の小数部分を選択し、選択した小数部分を1から減算するよう構成したので、行および列の小数部のいずれかを1から減算するという極めて単純な演算のみで半透明率を算定することができる。
【0133】
また、本発明によれば、多角形の辺の傾きを算定し、画像メモリに多角形の一部をなす画素の画情報を格納する際に、該画素の画素位置と画像メモリに以前に格納した画素の画素位置との差分に基づいて、エイリアシングの補完対象となる画素列を特定し、特定した画素列の画素数に基づいて該画素列を形成する各画素の半透明率を算定するか、または算定された傾きから算出した補完対象となる画素の座標位置に基づいて該画素の半透明率を算定するかによって半透明率を求め、いずれかで求めた半透明率に基づいて補完対象となる各画素の半透明処理をおこなうよう構成したので、半透明率を2種類の半透明率算定手段の適切な一方を用いて効率良くアンチエイリアシング処理をおこなうことができる。
【0134】
また、本発明によれば、算定された傾きが45度未満の場合には、前者の半透明率算定手段により半透明率を算定し、該傾きが45度を超える場合には、後者の半透明率算定手段により半透明率を算定するよう構成したので、辺の傾きが45度未満であるか45度を超えるかによってより適切な半透明率算定手段を用いた半透明率の算定をおこなうことができる。
【0135】
また、本発明によれば、多角形を形成する画素の画情報を前記半透明率に乗算した値と、半透明率を1から減算した値(1−半透明率)を多角形以外の背景をなす画素の画情報に乗算した値とを加算した加算値を画素列を形成する各画素の画情報とするよう構成したので、簡単な演算で効率良く半透明処理をおこなうことができる。
【0136】
また、本発明によれば、算定した傾きが45度でない場合には半透明処理を可能とし、該傾きが45度である場合には半透明処理を不能とするよう構成したので、エイリアシングが生じない場合の処理をなくし、もって処理をさらに高速化することができる。
【図面の簡単な説明】
【図1】実施の形態1で用いる描画位置差分の線形補完方式の概念を示す説明図である。
【図2】実施の形態1に係る描画位置差分の線形補完方式を用いた画像描画装置の構成を示すブロック図である。
【図3】図2に示す線形補完処理部の具体的な構成を示す説明図である。
【図4】図2に示す半透明処理部の具体的な構成の一例を示す説明図である。
【図5】図2に示す半透明処理部の他の構成の一例を示す説明図である。
【図6】実施の形態1で用いる描画位置差分の線形補完方式をソフトウエアで実現した場合の画像描画装置のハードウエア構成を示すブロック図である。
【図7】図6に示す画像描画装置による描画処理手順を示すフローチャートである。
【図8】実施の形態2で用いる描画座標小数部利用方式の概念の説明図である。
【図9】実施の形態2で用いる描画座標小数部利用方式を用いた画像描画装置の構成を示すブロック図である。
【図10】実施の形態2に係る描画座標小数部利用方式をソフトウエアで実現した場合の処理手順を示すフローチャートである。
【図11】本実施の形態3に係る複合方式を用いた画像描画装置の構成を示すブロック図である。
【符号の説明】
10 画像描画装置
11 傾き算出部
12 列方向座標算出部
13 行方向座標算出部
14 画素描画処理部
15 フレームバッファ
16 描画位置記憶部
17 線形補完処理部
17a,17b 選択器
17c 減算器
17d 除算器
17e 補完値差分保持部
17f カウンタ
17g 半透明率出力部
17h 加算器
18 半透明処理部
18a,18b 乗算器
18c 加算器
18d 減算器
18e 乗算器
18f 加算器
19 オン/オフ器
20,21 アンチエイリアシング処理の対象領域
90 画像描画装置
91,92 小数部
93 選択器
94 減算器

Claims (6)

  1. 多角形の画像データを、行(もしくは列)単位で分割し、行(もしくは列)ごとに描画するように、画像メモリに格納しつつ、前記画像データを出力する際に生ずるエイリアシングを中間色で補完する画像描画装置において、
    前記画像メモリに前記多角形の一部をなす画素の画情報を格納する際に、該画素の画素位置と直前の行(もしくは列)における描画開始(もしくは描画終了)にかかる画素位置との差分に基づいて、前記エイリアシングの補完対象となる一連の画素群を特定する特定手段と、
    前記特定手段により特定された一連の画素群の画素数に基づいて該一連の画素群を形成する各画素の半透明率を算定する半透明率算定手段と、
    前記半透明率算定手段により算定された半透明率に基づいて前記補完対象となる一連の画素群の半透明処理をおこなう処理手段と、
    を備えたことを特徴とする画像描画装置。
  2. 多角形の画像データを、行(もしくは列)単位で分割し、行(もしくは列)ごとに描画するように、画像メモリに格納しつつ、前記画像データを出力する際に生ずるエイリアシングを中間色で補完する画像描画装置において、
    前記多角形の辺の傾きを算定する傾き算定手段と、
    前記画像メモリに前記多角形の一部をなす画素の画情報を格納する際に、該画素の画素位置と直前の行(もしくは列)における描画開始(もしくは描画終了)にかかる画素位置との差分に基づいて、前記エイリアシングの補完対象となる一連の画素群を特定する特定手段と、
    前記特定手段により特定された一連の画素群の画素数に基づいて該一連の画素群を形成する各画素の半透明率を算定する第1の半透明率算定手段と、
    前記傾き算定手段により算定された傾きから算出した補完対象となる画素の座標位置に基づいて該画素の半透明率を算定する第2の半透明率算定手段と、
    前記第1の半透明率算定手段または前記第2の半透明率算定手段により算定された半透明率に基づいて補完対象となる各画素の半透明処理をおこなう処理手段と、
    を備えたことを特徴とする画像描画装置。
  3. 多角形の画像データを、行(もしくは列)単位で分割し、行(もしくは列)ごとに描画するように、画像メモリに格納しつつ、前記画像データを出力する際に生ずるエイリアシングを中間色で補完する画像描画方法において、
    前記画像メモリに前記多角形の一部をなす画素の画情報を格納する際に、該画素の画素位置と直前の行(もしくは列)における描画開始(もしくは描画終了)にかかる画素位置との差分に基づいて、前記エイリアシングの補完対象となる一連の画素群を特定する特定工程と、
    前記特定工程により特定された一連の画素群の画素数に基づいて該一連の画素群を形成する各画素の半透明率を算定する半透明率算定工程と、
    前記半透明率算定工程により算定された半透明率に基づいて前記補完対象となる一連の画素群の半透明処理をおこなう処理工程と、
    を含んだことを特徴とする画像描画方法。
  4. 多角形の画像データを、行(もしくは列)単位で分割し、行(もしくは列)ごとに描画するように、画像メモリに格納しつつ、前記画像データを出力する際に生ずるエイリアシングを中間色で補完する画像描画方法において、
    前記多角形の辺の傾きを算定する傾き算定工程と、
    前記傾き算定工程により算定した傾きが45度未満の場合には、前記画像メモリに前記多角形の一部をなす画素の画情報を格納する際に、該画素の画素位置と直前の行(もしくは列)における描画開始(もしくは描画終了)にかかる画素位置との差分に基づいて、前記エイリアシングの補完対象となる一連の画素群を特定し、特定した一連の画素群の画素数に基づいて該一連の画素群を形成する各画素の半透明率を算定し、前記傾き算定工程により算定した傾きが45度を超える場合には、該傾き算定工程により算定された傾きから算出した補完対象となる画素の座標位置に基づいて該画素の半透明率を算定する半透明率算定工程と、
    前記半透明率算定工程により算定された半透明率に基づいて補完対象となる各画素の半透明処理をおこなう処理工程と、
    を含んだことを特徴とする画像描画方法。
  5. 多角形の画像データを、行(もしくは列)単位で分割し、行(もしくは列)ごとに描画するように、画像メモリに格納しつつ、前記画像データを出力する際に生ずるエイリアシングを中間色で補完する画像描画方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体において、
    前記画像メモリに前記多角形の一部をなす画素の画情報を格納する際に、該画素の画素位置と直前の行(もしくは列)における描画開始(もしくは描画終了)にかかる画素位置との差分に基づいて、前記エイリアシングの補完対象となる一連の画素群を特定させる特定工程と、
    前記特定工程により特定された一連の画素群の画素数に基づいて該一連の画素群を形成する各画素の半透明率を算定させる半透明率算定工程と、
    前記半透明率算定工程により算定された半透明率に基づいて前記補完対象となる一連の画素群の半透明処理をおこなわせる処理工程と、
    を実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
  6. 多角形の画像データを、行(もしくは列)単位で分割し、行(もしくは列)ごとに描画するように、画像メモリに格納しつつ、前記画像データを出力する際に生ずるエイリアシングを中間色で補完する画像描画方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体において、
    前記多角形の辺の傾きを算定させる傾き算定工程と、
    前記傾き算定工程により算定した傾きが45度未満の場合には、前記画像メモリに前記多角形の一部をなす画素の画情報を格納する際に、該画素の画素位置と直前の行(もしくは列)における描画開始(もしくは描画終了)にかかる画素位置との差分に基づいて、前記エイリアシングの補完対象となる一連の画素群を特定させ、特定された一連の画素群の画素数に基づいて該一連の画素群を形成する各画素の半透明率を算定させ、前記傾き算定工程により算定された傾きが45度を超える場合には、該傾き算定工程により算定された傾きから算出した補完対象となる画素の座標位置に基づいて該画素の半透明率を算定させる半透明率算定工程と、
    前記半透明率算定工程により算定された半透明率に基づいて補完対象となる各画素の半透明処理をおこなわせる処理工程と、
    を実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
JP12504599A 1999-04-30 1999-04-30 画像描画装置、画像描画方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 Expired - Fee Related JP3649947B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP12504599A JP3649947B2 (ja) 1999-04-30 1999-04-30 画像描画装置、画像描画方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
DE19950269A DE19950269C2 (de) 1999-04-30 1999-10-18 Bildzeichnen-Gerät, Bildzeichnen-Verfahren und computerlesbares Aufzeichnungsmedium, aufgezeichnet mit einem Programm, um einen Computer ein Bildzeichnen-Verfahren ausführen zu lassen
US09/421,006 US6882444B1 (en) 1999-04-30 1999-10-20 Image drawing apparatus, image drawing method, and computer-readable recording medium recorded with program for making computer execute image drawing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12504599A JP3649947B2 (ja) 1999-04-30 1999-04-30 画像描画装置、画像描画方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JP2000315073A JP2000315073A (ja) 2000-11-14
JP3649947B2 true JP3649947B2 (ja) 2005-05-18

Family

ID=14900482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12504599A Expired - Fee Related JP3649947B2 (ja) 1999-04-30 1999-04-30 画像描画装置、画像描画方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体

Country Status (3)

Country Link
US (1) US6882444B1 (ja)
JP (1) JP3649947B2 (ja)
DE (1) DE19950269C2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4387611B2 (ja) * 2001-06-07 2009-12-16 富士通マイクロエレクトロニクス株式会社 描画装置及び描画方法
JP2003179738A (ja) * 2001-12-11 2003-06-27 Minolta Co Ltd 画像処理装置
US7551173B2 (en) * 2003-11-25 2009-06-23 Canon Kabushiki Kaisha Pixel accurate edges for scanline rendering system
JP2005193384A (ja) * 2003-12-26 2005-07-21 Ricoh Co Ltd 画像処理方法、装置、および画像形成装置
JP2008257456A (ja) * 2007-04-04 2008-10-23 Matsushita Electric Ind Co Ltd アンチエイリアス描画装置及びアンチエイリアス描画方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4843380A (en) * 1987-07-13 1989-06-27 Megatek Corporation Anti-aliasing raster scan display system
US5351315A (en) * 1990-02-21 1994-09-27 Ricoh Company, Ltd. Apparatus for smoothing outlines of images
JPH06274641A (ja) * 1993-03-19 1994-09-30 Fujitsu Ltd アンチエイリアシング直線表示装置
GB2278524B (en) * 1993-05-28 1997-12-10 Nihon Unisys Ltd Method and apparatus for rendering visual images employing area calculation and blending of fractional pixel lists for anti-aliasing and transparency
US5502795A (en) * 1993-08-31 1996-03-26 Matsushita Electric Industrial Co., Ltd. Antialias line generating method and antialias line generator
US5684941A (en) * 1994-09-01 1997-11-04 Cirrus Logic, Inc. Interpolation rendering of polygons into a pixel grid
JPH08249479A (ja) * 1995-03-09 1996-09-27 Namco Ltd 画像合成装置及び画像合成方法
JP3609189B2 (ja) * 1995-03-14 2005-01-12 株式会社リコー アンチエイリアシング機能を有する画像生成装置
AU6600496A (en) * 1995-07-26 1997-02-26 Raycer, Incorporated Method and apparatus for span sorting rendering system
JP3547250B2 (ja) * 1996-03-22 2004-07-28 株式会社ソニー・コンピュータエンタテインメント 描画方法
US5818456A (en) * 1996-04-30 1998-10-06 Evans & Sutherland Computer Corporation Computer graphics system with adaptive pixel multisampler
JPH10334250A (ja) * 1997-05-28 1998-12-18 Nec Corp アンチエイリアスプロセッサ及び画像処理装置
US7142224B2 (en) * 1997-07-10 2006-11-28 Yamaha Corporation Polygon drawing apparatus and method, and storage medium for implementing the same method
US6034700A (en) * 1998-01-23 2000-03-07 Xerox Corporation Efficient run-based anti-aliasing
US6480201B1 (en) * 1999-08-24 2002-11-12 Microsoft Corporation Alpha regions
US6486888B1 (en) * 1999-08-24 2002-11-26 Microsoft Corporation Alpha regions

Also Published As

Publication number Publication date
DE19950269A1 (de) 2000-11-02
US6882444B1 (en) 2005-04-19
DE19950269C2 (de) 2003-02-27
JP2000315073A (ja) 2000-11-14

Similar Documents

Publication Publication Date Title
US5982381A (en) Method and apparatus for modifying a cutout image for compositing
JP2005301902A (ja) 画像処理装置および画像処理システム
JP3725368B2 (ja) 画像の表示択方法、コンピュータ・システムおよび記録媒体
US6741243B2 (en) Method and system for reducing overflows in a computer graphics system
US5175805A (en) Method and apparatus for sequencing composite operations of pixels
JPH0660173A (ja) 画像を縮小する方法および装置
JP3649947B2 (ja) 画像描画装置、画像描画方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2011188291A (ja) 画像処理装置及び画像処理プログラム
JP2006139727A (ja) 3次元図形描画処理装置、画像表示装置、3次元図形描画処理方法、これをコンピュータに実行させるための制御プログラムおよび、これを記録したコンピュータ読み取り可能な可読記録媒体
JP3066596B2 (ja) アドレス変換装置
JPH10275241A (ja) グラフィック処理装置
JP4143613B2 (ja) 描画方法、描画装置
JP6904717B2 (ja) 画像処理装置、その制御方法、およびプログラム
JP2008052595A (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
US10552717B2 (en) Image processing apparatus, control method thereof, and storage medium
JPH07334648A (ja) 画像処理方法及びその装置
CN111951367B (zh) 一种字符渲染方法、字符处理方法及装置
JP4125245B2 (ja) 文書表示方法および文書表示装置
JP4313863B2 (ja) 画像処理装置
JPH0256874B2 (ja)
JP2018019212A (ja) 情報処理装置及び描画処理方法、コンピュータプログラム
JP3517982B2 (ja) 図形描画装置
JP2024024863A (ja) 画像解析装置、画像解析装置の制御方法、プログラム、及び画像解析システム。
JP2012133765A (ja) 画像処理装置、および画像処理方法
JP2013225756A (ja) 情報処理装置および情報処理方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040622

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040722

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040820

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: 20050208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050216

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080225

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090225

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20090225

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090225

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100225

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110225

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110225

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20110225

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120225

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130225

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140225

Year of fee payment: 9

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees