反走样技术的研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
反走样技术的研究
摘要
反走样技术是提高光栅图形显示质量的重要技术之一。研究如何消除或减缓走样现象,给人视觉上产生更舒适光滑的图形,在图形界面已成为人机交互主流方式的今天,具有一定的应用价值。
在查阅了大量文献资料的基础上,本文从现有的反走样技术(如普通区域取样、普通过取样、加权过取样)入手,对反走样的理论基础和实现技术进行了分析研究。普通区域取样是将直线看成具有一定宽度的狭小矩形,当直线与像素相交时,求出两者相交区域的面积,然后根据相交区域的面积来确定像素的亮度值,从而达到反走样效果。而过取样是在提高分辨率下用点取样方法计算,然后对几个像素的属性进行平均得到较低分辨率下的像素属性。由于需要对每个像素进行处理,因此速度比区域取样明显慢了很多。普通区域取样和过取样都是在整数坐标上进行的,而WU像素反走样算法采用了非整数坐标改进,视觉效果比前两者更好。
本文的研究重点在直线段反走样、曲线反走样和图像处理速度方面进行了研究和改进。为了提高过取样的速度,充分利用直线段像素可能存在的多段相似性,算法对其中的一段进行反走样处理后,其余各段只要简单地复制即可,比普通过取样算法明显具有优势,速度提高了很多,也为并行处理提供了可能。在现有的反走样文献中,对曲线反走样提及较少,本文对圆的反走样算法及实现进行了分析探讨,充分利用圆的八对称性,以加权过取样算法为基础在画圆的同时进行反走样。第三方面的工作是如何提高编程实现速度,常用的一种技术是利用Pixels[]方法,它通过对像素点逐个进行处理,分别对红色、绿色、蓝色分量进行处理来实现图形的反走样。这个方法虽然简单、直观,但处理速度缓慢。通过对Delphi图像处理机制的分析及实验,提出了利用Scnaline方法的改进方案,使处理速度提高到Pixels[]方法的50倍左右。
关键词:反走样,区域取样,过取样
本文由天空乐园大学生旅游网整理分享
一、研究背景
光栅图形显示器是目前使用最广泛的图形显示器,因为它具有以下优点:光栅扫描显示器具有固定的刷新顺序,扫描从屏幕的左上角开始,从左到右,从上到下的顺序进行刷新,从而刷新控制部件得以简化,节约了成本。在光栅显示系统中,构成图形的最小图形元素是像素,这样只要计算屏幕上位于给定区域以内的所有像素,并且赋予一定的颜色,就完成了图形的绘制。光栅显示器中的图形由像素构成,而每一个像素又可呈现出多级灰度或不同的颜色值,颜色丰富,显示出来的图形具有更好的视觉效果。光栅扫描显示器是一个画点设备,与图形的复杂度无关,刷新频率固定,因此不会象随机扫描显示器那样出现闪烁现象,人眼看上去更舒服。
但光栅显示器也有它的缺陷,图形信号是连续的,而光栅显示系统中用来表示图形的却是一个个离散的像素。用离散的像素来表示连续的图形时会出现失真,也就称为走样,如图1.1所示。
图1.1锯齿状边界
光栅显示系统为何会出现走样呢?光栅图形显示器是一个画点设备,被显示的线段、字符、图形及背景色都按像素点一一存储在帧缓冲存储器中。当我们要画一条直线时,它通常不可能完全精确地从一个可编址的像素点画一条直线到另一个可编址的像素点,只可能用尽可能靠近这条直线路径的像素点集来近似地表示这条直线。显然只有画水平线、垂直线时,像素点集在直线路径上的位置才是准确的,其他情况下的直线均或多或少地存在阶梯状(锯齿状)的现象。
光栅图形的走样现象除了上述锯齿状边界外,还有图形细节失真,狭小图形遗失等现象。
图1.2 图形细节失真
在光栅显示器上显示如图1.2(a)所示的细长矩形时,出现了图形细节失真,其结果如图1.2(b)所示,原细长的矩形被显示成了加宽的矩形。
图1.3 狭小图形的遗失
由于光栅系统中表示图形的最小单位是一个像素,图形中那些比像素更窄的细节丢失了,这就出现了图形细节失真现象。在图1.3中,一些狭小的图形分布在两条扫描线之间,由于它不覆盖任何一个像素中心,故不会被显示出来。当这些狭小的图形进行运动时,覆盖像素中心时被显示出来,不覆盖像素中心时不被显示出来。这样在运动的过程中时隐时现,产生闪烁。
为了提高图形的显示质量,需要减少或消除上述走样现象。用于减少或消除这种走样现象的技术,称为反走样(Antialiasing)。
研究如何消除或减缓这类走样现象,给人视觉上产生更舒适光滑的图形,在图形界面已成为人机交互主流方式的今天,具有一定的应用价值。
反走样技术能提高图形的显示质量,因此在很多画图软件中也采用了这种技术。优软电脑有限公司设计推出的新一代绘画程序---优软精灵画笔 2.0,在原有的各种绘画功能上,添加了一系列全新设计的绘画工具;可以打开外来JPG,TAG,TIFF,GIF,BMP文件;更新三维立体窗口系统;对压力感应笔高效率支持,速度和流畅度达到专业软件水准,让用户的体会更加细腻逼真。它的精妙之处在于具有细笔尖反走样功能,所以使细笔画更细致更漂亮。
反走样技术不仅能提高图形显示质量,而且在反走样汉字方面也有很好的效果。由于汉字的笔画很多,而且大多数非水平非垂直,也会产生较严重的走样现象。图1.4中第1 个字为追踪出的轮廓,第2 个为显示的原始矢量字符。第3 个为反走样处理后的矢量字符。
图1.4矢量字体轮廓的反走样
由此可见,反走样技术在实际应用中有十分重要的意义。另外, 在处理纹理图形, 以及在动画中闪烁的细小物体图形等问题中反走样技术都得到了广泛运用。
二、反走样技术概述
在光栅显示器上显示图形时,直线段或图形边界或多或少会呈锯齿状。原因是图形信号是连续的,而在光栅显示系统中,用来表示图形的却是一个个离散的象素。这种用离散量表示连续量引起的失真现象称之为走样(aliasing),走样是伴随着光栅显示系统而出现的,也是数字化的必然产物。用于减少或消除这种效果的技术称为反走样(antialiasing)。
第一章中已经介绍了光栅图形的走样现象除了阶梯状的边界外,还有图形细节失真(图形中的那些比象素更窄的细节变宽),狭小图形遗失等现象。常用的反走样方法主要有:提高分辨率、区域采样和加权区域采样等。下面将对他们进行介绍。
2.1 过取样技术
反走样的方法很多,一种简单的反走样方法是以较高的分辨率显示对象,如