论文部分内容阅读
OpenVGTM是Khronos组织于2005年发布的,针对诸如Flash和SVG等矢量图形库应用提供的底层硬件加速引擎,是一个开放性的、跨平台应用程序接口函数库。
OpenVG现仍处于发展阶段,本文的研究目标是面向需要高质量矢量图形算法加速技术的便携式手持设备,提供小屏幕设备上高质量的2D矢量图形,支持硬件加速以在极低水平的处理器功率级别下实现流畅的交互性能。
本文以OpenVG标准所定义的功能管道为依据,主要针对作为矢量图形区别于点阵图的特征一“路径"的有关算法,从描绘和填充路径的生成、曲线路径的分解到梯形的反走样渲染,提出了符合OpenVG设计原则的图形算法和实现方案。
本文提出路径的分层实现方案,将路径有关的操作分为三个层次:路径片断的定义、类型的标准化、以及路径的分解和反走样渲染。在路径标准化的过程中,实现了将椭圆曲线转化为贝赛尔曲线的算法。
本文将描绘路径作为独立的处理模块,以路径片断作为处理单元,通过引入画笔和笔端的概念分别解决了具有一定线宽的描绘路径内外轮廓、以及不同类型的端点和连接点处图形的生成算法。
OpenVG以贝塞尔曲线为基本的处理元素,本文采用deCastleiau算法实现了贝塞尔曲线的Spline分解算法,从而将曲线分解为多边形。接着,对于奇偶填充和非零填充两种填充方式分别考虑,提出了任意多边形的Tessellation算法,将多边形转化为梯形,同时实现了多边形在屏幕范围内的裁剪。
梯形的反走样渲染是本文的研究重点,本文提出了一种自适应的沿边扫描过程实现编码,作为查表的地址,并且通过压缩查找表来提高内存的使用率,结合快速各向异性滤波器算法,使得图形的边缘在不引入模糊的情况下更加平滑。通过手持设备上的实验证明,与传统的过采样方式相比,在不影响图像质量的前提下,性能提高了50%,与Walter的编码滤波器相比,查找表的大小缩减到了原来的10%左右,从而证明了此方案的可行性和高效性。
最后,依据上述算法进行软件实现,并通过包括SVG播放器,可缩放桌面和便携式电子地图等在内的基于嵌入式设备上的应用实例说明此研究的重要意义和市场价值。