基于openvg的二维图像处理器设计与cmodel实现-软件工程专业论文.docx
- 文档编号:18830041
- 上传时间:2023-12-20
- 格式:DOCX
- 页数:81
- 大小:953.31KB
基于openvg的二维图像处理器设计与cmodel实现-软件工程专业论文.docx
《基于openvg的二维图像处理器设计与cmodel实现-软件工程专业论文.docx》由会员分享,可在线阅读,更多相关《基于openvg的二维图像处理器设计与cmodel实现-软件工程专业论文.docx(81页珍藏版)》请在冰点文库上搜索。
2DENGINEDESIGNBASEDONOPENVGANDIMPLEMENTEDBYCMODEL
AMasterThesisSubmittedto
UniversityofElectronicScienceandTechnologyofChina
Major:
SoftwareEngineering Author:
DuanFangbing Advisor:
Prof.WangYiwen
School:
MicroelectronicsandSolid-StateElectronic
万方数据
独创性声明
本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。
据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。
与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。
作者签名:
日期:
年 月 日
论文使用授权
本学位论文作者完全了解电子科技大学有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。
本人授权电子科技大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。
(保密的学位论文在解密后应遵守此规定)
作者签名:
导师签名:
日期:
年 月 日
摘要
摘 要
近年来因为智能手机、平板电脑、多媒体播放器等便携式设备的兴起,对高分辨率下绚丽的用户界面及流畅的多媒体内容体验的要求越来越高。
如何在嵌入式处理器有限运算力,有限的存储空间下满足用户需求,并且提高有限电池容量的续航能力的问题越来越凸显出来。
由于矢量图形在对存储空间的需求较小,以及缩放、旋转等各种操作对图像的质量几乎没有影响,在不同分辨率下均可以实现很好的显示效果,在便携式产品的多媒体应用中得到青睐。
本文以Khronos发布的OpenVG1.1的规格为最主要的理论指导,在OpenVG标准中定义的功能管线之上,用软硬件协同设计的方法,来实现一个高效能、低成本、可重复使用的符合OpenVG1.1的规范的2D矢量图形处理器。
本设计采用硬件单元来处理矢量图形处理所需的大量算术运算,并透过对OpenVG标准程序接口的支持,为各种不同的嵌入式系统提供顺畅地运行用户界面和丰富的多媒体内容。
本设计的硬件加速器单元主要是针对OpenVG定义的功能管线中对路径的处理(包含各种曲线路径的标准化,路径的描绘与填充等),用户坐标到矢量图形坐标的转换以及反走样渲染等。
通过将曲线路径统一采用三阶贝赛尔曲线拟合,再将三阶贝塞尔曲线用deCastlejau算法进行分解的方式将所有曲线用小的直线段来实现;对需要填充区域进行多边形分解,通过梯形填充的方式来实现。
反走样渲染则采用过采样的方式,用更高的精度去采样每个像素点的色彩分量,将每个点的色彩分散在附近多个像素点上来实现平滑过渡,减小图形边缘的锯齿状走样图形。
在对OpenVG定义的API接口及相应的功能管线的研究和归纳后定义和划分各功能模块,在实现的过程中通过优化相关算法来提高处理效率,减少对内部缓存的消耗,提高图形渲染的处理速度。
通过C语言的编程,得到一个可用于转换成硬件描述语言(HDL)RTL的2D矢量图形处理C语言模型。
经过最后的根据设计特性编写的测试程序及各种benchmark测试证明了本设计功能上的正确性和对OpenVG标准的兼容性。
关键词:
OpenVG,矢量图形,贝赛尔曲线,反走样算法,C模型
I
ABSTRACT
ABSTRACT
Thefastriseofsmartphone,multimediaplayerandotherportableequipmentmarketmakesincreasingrequirementforbestbrilliantuserinterfaceandsmoothermultimediacontent.Withthefeaturesofsmallerstoragespacerequirements,imagequalitylosslessafterrotation,scalingorotheroperations,thevectorgraphicsusedinembeddedsystemofportableequipmentmoreandmorecommon.
AccordingtoOpenVG1.1definedrenderingpipeline,thispaperachievesahighperformanceandlow-cost2Dvectorgraphicprocesserwhichisimplementedbyhardwareandsoftwareco-operationandcompletelycompatiblewithOpenVG1.1.Itusesahardwareunittohandlethearithmeticoperationssuchas“Path”relatedalgorithms,stroke/fillpathgeneration,trapezoidanti-aliasingrasterization,etc.ItcanbeusedundervarietyofembeddedsystemstoacceleratethevectorgraphicUIandmultimediacontentwithOpenVGAPIsupporting.
Thedesignofthehardwareacceleratorunitisprimarilytargetedat“Path”inOpenVGprocessingpipeline,coordinateconversion,andrenderinganti-aliasing.AlltypesofcurvepathareunifiedbycubicBeziercurve,whichisde-compositedtostraightlinesegmentsbydeCastlejaualgorithm.Anti-aliasingisrenderedbyover-sampling,whichusesgreaterprecisiontoover-samplethecolorcomponentsofeachpixel,andspreadthecolorinformationtothepixelsnearbytoachieveasmoothtransitionandreducethejaggededgesofaliasinggraphics.
AfterresearchingandsummarizingtheOpenVGAPIandpipelinedefinition,eachfunctionalmoduleisimplementedbyoptimizedalgorithm,toreducetheconsumptionofinternalSRAMandimprovethegraphicsrenderingperformance.ThegraphicprocesserfinallyimplementedasaC-languagebehaviormodel,whichcanbeeasilytransfertohardwaredescriptionlanguage(HDL)2Dvectorgraphicprocesser.Throughthetestofusertestprogramandbenchmark,thecorrectnessofthedesignfeaturesandthecompatibilityofOpenVGspecificationhavebeenproved.
Keywords:
OpenVG,VectorGraphic,BezierCurve,Anti-aliasing,CModel
II
目录
目 录
第一章 绪论...................................................................................................................1
1.1引言........................................................................................................................1
1.2选题来源和依据....................................................................................................2
1.3研究的目的与意义................................................................................................4
1.3.1OpenVG硬件加速的意义 4
1.3.2OpenVG硬件加速器的设计目的 4
1.4文本的内容安排和主要的研究成果....................................................................5
第二章 OPENVG的标准体系与功能模块划分 7
2.1OPENVG的标准体系 7
2.2OPENVG标准中的流水线模块划分 8
2.3OPENVG中的路径 10
2.3.1OpenVG标准中涉及到的路径片段 10
2.3.2OpenVG标准对路径填充的定义 12
2.3.3OpenVG标准对路径描绘的定义 13
2.3.4路径的填充和描绘路径之间的区别与联系..............................................15
第三章 OPENVG硬件加速引擎的系统架构及实现 17
3.1OPENVG硬件加速引擎的系统架构 17
3.2描绘、填充路径的生成......................................................................................18
3.2.1对OpenVG中路径/子路径的分级实现 19
3.2.2用户数据的标准化处理...............................................................................20
3.2.2.1用三阶贝赛尔曲线拟合二阶贝赛尔曲线...........................................20
3.2.2.2用三阶贝塞尔曲线拟合椭圆曲线......................................................21
3.2.2.3圆弧的贝赛尔曲线拟合......................................................................24
3.3路径的填充和描绘过程......................................................................................25
III
目录
3.3.1路径的填充流程..........................................................................................25
3.3.2路径的描绘流程..........................................................................................26
3.4填充和描绘路径的算法及实现流程..................................................................27
3.4.1路径填充和描绘过程中的内存管理...........................................................28
3.4.2描绘路径的内外轮廓生成...........................................................................28
3.4.2.1描绘路径的画笔样式..........................................................................29
3.4.2.2生成描绘路径的画笔..........................................................................30
3.4.2.3用“画笔”生成内外轮廓图形..............................................................31
3.4.3端点和子路径连接点图形的生成..............................................................34
3.4.3.1路径描绘端点图形的样式..................................................................34
3.4.3.2端点图形模板生成过程......................................................................35
3.4.3.3生成连接点图形的过程......................................................................36
3.5本章小结..............................................................................................................38
第四章 相关算法的选取、实现与优化.....................................................................39
4.1路径的生成与分解..............................................................................................39
4.2BRESENHAM直线段生成算法 40
4.3三阶贝塞尔曲线分解算法的研究与实现..........................................................41
4.3.1deCastlejau算法 42
4.3.2逼近误差容限..............................................................................................43
4.3.3直线段拟合三阶贝赛尔曲线的误差计算..................................................44
4.3.4用B-Splines表示贝赛尔曲线 44
4.4图像渲染时的仿射坐标变换..............................................................................46
4.5多边形填充的实现算法......................................................................................48
4.5.1标记填充......................................................................................................48
4.5.1边缘填充的实现..........................................................................................48
4.5.1.1边缘填充的实现..................................................................................49
4.5.1.2边缘填充的算法优化..........................................................................50
4.5.1.3边缘填充算法对存储空间的需求......................................................51
4.6多边形的光栅化算法..........................................................................................51
IV
目录
4.6.1多边形的特征参数.......................................................................................51
4.6.2多边形光栅化算法流程..............................................................................52
4.7反走样渲染算法实现..........................................................................................53
4.7.1直线的反走样算法简介..............................................................................55
4.8本章小结..............................................................................................................57
第五章 OPENVG硬件加速器的测试 58
5.1OPENVG硬件加速器的测试环境 59
5.1.1测试系统头文件定义..................................................................................60
5.1.1.1用于存储测试程序运行环境的结构体..............................................60
5.1.1.2用于存储各测试程序的特定信息......................................................61
5.1.1.3参数设置的宏定义..............................................................................62
5.1.2测试平台主函数定义..................................................................................62
5.1.3测试用例主函数定义..................................................................................63
5.1.4测试文件......................................................................................................64
5.2测试结果分析......................................................................................................64
5.3本章小结..............................................................................................................68
第六章 总结与结论.....................................................................................................69
6.1本设计所研究的主要内容..............................................................................
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 openvg 二维 图像 处理器 设计 cmodel 实现 软件工程 专业 论文