




已阅读5页,还剩46页未读, 继续免费阅读
(计算机软件与理论专业论文)基于amd64位技术的avs视频解码器的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于a m d 6 4 位技术的a v s 视频解码器的研究与实现 摘要 a v s 标准是新一代的视频编解码标准,采用了当前国际主流的技术方 案,并加入了我国自主创新的技术成果,是我们国家第一个具有自主知识 产权的视频标准,应用前景非常广阔。a m d 6 4 技术是2 0 0 0 年以后迅速发展 起来的技术,也是通用处理器平台从3 2 位过渡到6 4 位过程中最重要的技 术,目前基于a m d 6 4 技术的6 4 位软件正在逐渐发展起来。 为了推广我们国家具有自主知识产权的a v s 标准,同时也为了跟上终 端技术的发展,鉴于目前还没有6 4 位a v s 视频解码器的状况,本论文把6 4 位技术和a v s 标准相结合,首次对6 4 位a v s 解码器的开发进行了初步研究, 完成了以下工作: ( 1 ) 对国内外视频编解码标准的发展进行了研究,简要分析了国际标 准目前面临的困境,以及a v s 标准的机遇。重点研究了a v s 视频编解码的 算法和流程。 , ( 2 ) 对x 6 4 体系结构下6 4 位应用程序的开发和移植进行了研究,然 后将a v s 的参考解码器移植到6 4 位平台,并针对6 4 位平台对解码器重新 设计了数据结构,修改了解码流程,然后对图像插值模块进行了算法优化。 ( 3 ) 对x 6 4 体系结构下的多媒体指令编程技术进行了研究,并使用这 些技术对解码器进行了优化,主要是对整数反变换模块和图像重建模块优 化。在编译器层利用6 4 位的编译器工具对解码器进行代码级的优化。最后 对得到的解码器进行了实验分析,取得了较好的效果。 i 本论文的研究成果有广泛的实用价值,可以应用于数字电视、流媒体 等多媒体应用系统。 关键词:a v s 标准6 4 位技术移植多媒体指令 r e s e a r c ha n di m p l e n m e n to fa v sv i d e od e c o d e r b a s e do na m d 6 4t e c h o n l o g y a b s t r a c t a v ss t a n d a r di saf l e wg e n e r a t i o nv i d e oc o d i n go n e ,w h i c he m p l o y s c h i n e s eo w nf r u i t so fc o d e ci na d d i t i o nt o m a i n s t r e a mi n t e r n a t i o n a lt e c h n o l o g y a st h ef i r s tc h i n e s ei n t e l l e c t u a l p r o p e r t y v i d e os t a n d a r d ,a v sh a sb r i g h t p r o s p e c t s a m d 6 4t e c h n o l o g yi sd e v e l o p e dd r a m a t i c a l l ya f t e r2 0 0 0y e a ra n d p l a y sa nv e r yi m p o r t a n tr o l ed u r i n g t h ec p u st r a n s i t i o nf r o m3 2t o6 4 t h e6 4 - b i t s o f t w a r eb a s e do na m d 6 4t e c h n o l o g yh a sb e e nd e v e l o p i n gg r a d u a l l y i no r d e rt op o p u l a r i z ea v ss t a n d a r da n dk e 印u pw i t ht h ed e v e l o p m e n to f t e r m i n a lt e c h n o l o g ya n db e c a u s et h e r ei sn oa v sv i d e od e c o d e rb a s e do n6 4 - b i t t e c h n o l o g yh i t h e r t o ,t h et h e s i sp r e l i m i n a r ys t u d i e st h ea v s v i d e od e c o d e rb a s e d 0 1 16 4 - b i tt e c h n o l o g yb yc o m b i n i n gx 6 4t e c h n o l o g ya n da v ss t a n d a r d t h em a i n c o n t e n t sa r es u m m a r i z e da sb e l o w : ( 1 ) t h ed e v e l o p m e n to fv i d e oc o d e cs t a n d a r d sa th o m ea n da b r o a di s s t u d i e d t h ed i l e m m ao fi n t e r n a t i o n a ls t a n d a r d sa n dt h eo p p o r t u n i t yo fa v s s t a n d a r da r ea n a l y z e d , a n dt h ev i d e oc o d e ca l g o r i t h ma n di t sp r o c e s sa r e f o c u s e do n ( 2 ) t h ed e v e l o p m e n ta n dt r a n s p l a n t a t i o no f6 4 - b i ta p p l i c a t i o ns o r w a r e b a s e do nx 6 4a r c h i t e c t u r ea r es t u d i e d ,a n dt h e nt h ea v sd e c o d e ri st r a n s p l a n t e d m t o ( m - b i tp l a t f o r m d a t as t r u c t u r ea n dd e c o d i n gp r o c e s so fr e f e r e n c ed e c o d e ra r e m o d i f i e do n ( m - b i tp l a t f o r m , f i n a l l yt h ei m a g ei n t e r p o l a t i o nm o d u l e i s o p t i m i z e d 0 ) m u l t i m e d i ai n s t r u c t i o n sp r o g r a n u n i n gt e c h n o l o g yi ss t u d i e d ,a n dt h e n t h e ( m - b i td e c o d e ri n c l u d i n gi n t e g e ri n v e r s et r a n s f o r mm o d u l ea n di m a g e r e c o n s t r u c t i o nm o d u l ei so p t i m i z e du s i n gm u l t i m e d i ai n s t r u c t i o n s i nc o m p i l e r l a y e r , t h et h e s i su s e s ( m - b i tc o m p i l e rt o o l f o rt h ed e c o d e ri n c o d e l e v e l o p t i m i z a t i o n f i n a l l y , t h ee x p e r i m e n ts h o w st h a tt h ed e c o d e rh a sag o o ds p e e d t h er e s e a r c hr e s u l t so ft h i st h e s i sh a v ee x t e n s i v e p r a c t i c a l v a l u ei n m u l t i m e d i aa p p l i c a t i o ns y s t e m ss u c ha sd i g j t a lt v , s t r e a m m e d i a , a n ds oo n k e yw o r d s :a v ss t a n d a r d ;6 4t e c h n o l o g y ;t r a n s p l a n t ;m u l t i m e d i a i n s t r u c t i o n s 广西大学学位论文原创性声明和使用授权说明 原创性声明 本人声明:所呈交的学位论文是在导师指导下完成的,研究工作所取得的成果和相 关知识产权属广西大学所有,本人保证不以其它单位为第一署名单位发表或使用本论文 的研究内容。除已注明部分外,论文中不包含其他人已经发表过的研究成果,也不包含 本人为获得其它学位而使用过的内容。对本文的研究工作提供过重要帮助的个人和集 体,均已在论文中明确说明并致谢。 论文作者签名: 洳君劳 i 学位论文使用授权说明 伽订年月1 日 f i 本人完全了解广西大学关于收集、保存、使用学位论文的规定,即: 按照学校要求提交学位论文的印刷本和电子版本: 学校有权保存学位论文的印刷本和电子版,并提供目录检索与阅览服务; 学校可以采用影印、缩印、数字化或其它复制手段保存论文; 在不以赢利为目的的前提下,学校可以公布论文的部分或全部内容。 请选择发布时间: 口即时发布口解密后发布 ( 保密论文需注明,并在解密后遵守此规定) 黼一嘞”嗽:嗡w 少 | i 于 l 阱4 位舅沸的 v s 矗l 曩蓐码i 的研,哪l 1 1 课题研究的背景和意义 第一章绪论 1 1 视频编解码技术的背景和研究的意义 近二十多年来电子信息技术迅猛发展,由此推动了数字视频的快速发展。数字视频 的数据量巨大,在存储和传输之前需要先进行压缩,播放之前再进行解压缩还原,这种 压缩和解压缩的技术称为数字视频编解码技术。数字视频编解码处于信号处理的信源 端,是数字信息传输、存储、播放等环节的前提和基础,是数字音视频产业的共性基础 技术和关键技术,因此成为近2 0 年来整个数字视频领域国际竞争的热点。为了协调不 同国家和地区视频编解码技术的兼容性,同时也为制造行业提供技术解决方案,国际标 准化组织和国际电工委员会第一联合技术组( i s o i e cj t c l ) 和国际电信联盟( i t u ) 从1 9 8 4 年起至今相继制定了一系列视频编解码国际标准。i s o i e cj t c l 制定了肝阱 系列标准,用于数字电视等广播应用;国际电信联盟( i t u ) 针对多媒体通信制定的h 2 6 x 系列视频编码标准,用于视频会议等通信领域的应用。 视频编解码技术不断发展进步,1 9 9 4 年完成了第一代信源编解码技术标准m p g e - 1 ( f f 和m p e g - 2 圆,压缩能力为5 0 - 7 5 倍。2 0 0 0 年以来,第二代信源编解码技术标准相继出台, 压缩效率可达1 0 0 - 1 5 0 倍。但是随着第二代视频编解码技术时代的到来,国际标准背卮 存在严重的专利授权问题开始逐渐凸现出来,成为一个解决的难题,在短时间内难以解 决啪哪。与此同时,一些企业和其他标准化组织开始纷纷研究和提出自己的标准,世界 视频产业格局正在发生新的变化。来自企业的竞争者以微软提出的w m v 9 为代表。目前 占据市场巨大份额的m e d i a 系列产品的核心就是视音频编解码技术删v 和眦,w m a - 1 l 是目前视频编解码的最新版本。 我们国家是一个视频产业的大国,为了不再重蹈2 0 0 2 年d v d 产业的覆辙( d v d 产业 因没有自主的知识产权在国际厂商开始征收专利费后迅速衰落,品牌和制造业都陷入谷 底) ,也为了抓住这次格局调整的机会,在进行了客观深入的分析之后,决定综合自身 在技术、标准、知识产权和产业方面的相对优势,制定自己的标准嘲蛳。国家信息产业 部科学技术司于2 0 0 2 年6 月批准成立了数字音视频编解码技术标准工作组( 简称a v s 工作组”1 ) ,这个工作组致力于制定我们国家具有自主知识产权的音视频编解码标准, 称为a v s ( a u d i ov i d e oc o d i n gs t a n d a r df o rc h i n a ) 标准。a v s 标准是我国正在制定 中的新一代音视频编码标准,包含了各种先进的编解码技术,标志着视频压缩技术的最 新发展方向。 目前,a v s 标准中涉及视频编解码的有两个独立的部分:a v s 第二部分( a v s l - p 2 ) , 骨 埘) 6 4 位童诛的a v $ 曩u 曩_ 码l 的研竞 r 蜜i l 主要针对高清标清的数字电视广播和高密度存储媒体的应用,这一部分于2 0 0 6 年3 月1 日起实施;a v s 第七部分( v s l 一p t ) ,主要针对低码率、低复杂度、较低图像分辨率的 移动媒体应用,这一部分标准正在制定过程中。在( 2 0 0 6 年电子信息产业发展基金项目 指南中,a v s 研发和产业化作为专项被列在“重点产业领域与信息技术应用专项”部 分中。其中,基于a v s 标准的数字媒体播放软件是a v s 研发和产业化专项的重要一部分 目前,a y s 标准处于先期推广时期,软件因为易于传播和修改,成为标准推广时期实验、 验证的最好方案,并且纵观国际上大部分标准的推广都是从网络应用逐渐推广开来的, 因此,研究设计应用于终端的软件解码器会极大地促进标准的推广,推进a v s 产业化的 进程。 1 1 26 4 位应用研究的背景和意义 自2 0 世纪7 0 年代以来,通用处理器经历了4 位、8 位、1 6 位、3 2 位的飞速发展, 现在已经发展到了6 4 位。2 0 0 4 年之前,6 4 位应用主要面向于高端市场,应用于工作站 和服务器。2 0 0 4 年之后,面向低端的6 4 位应用也逐渐发展起来,从芯片,到操作系统, 再到6 4 位应用程序开发工具都提供了一系列的支持,在娱乐制造业、游戏领域、高性 能计算和渊a m 上已经开发出了一些产品旧,但是相对于广泛的应用来说,6 4 位应用 程序目前还是非常匮乏 6 4 位应用的开发主要有两种平台,一个是基于a 如技术的x 6 4 平台,另一个是i n t e l 的i p f 平台( 也称为安藤架构) i p f 架构不兼容现有的3 2 位应用,目前在低端市场应 用很少,主要应用于高端领域。x 6 4 架构是在原有的x 8 6 架构上进行扩展,兼容原有的 x 8 6 架构,同时也支持6 4 位计算,这样既保护了原有的投资,也支持更高性能的应用, 因此广泛应用于低端市场。 6 4 位计算主要有两大优点:一、可以进行更大范围的整数运算;二、取消了每流程 4 g b 固定内存寻址的硬性限制,理论上支持无限大的内存。并且x 6 4 架构上提供了更多 的通用寄存器和多媒体寄存器,这些硬件性能的提升可以更好的支持多媒体技术的应 用。 在这样的背景之下,本论文决定把x 6 4 技术和a v s 标准相结合,开发出跟上市场应 用前景并且具有自主知识产权的视频解码器。 1 2 国内外研究现状及成果 1 z1 视频编解码技术的研究现状和成果 从m p e g - i 开始,已经有国内外许多大学和研究所在算法和并行处理等方面对视频 编解码过程进行了研究,取得了很多成果。视频编解码的并行处理的灵活性,实时性等 优点必然会引起越来越多的关注。目前,除了进行算法上的改进优化之外,提高编解码 2 于 6 4 位囊术 v s u 喝i 的研,p 可t 嚏 器运算速度的主要途径是使用多媒体扩展指令集进行并行运算。 文献 9 中给出了一种对h 2 6 4 编解码过程进行性能和复杂度联合优化的方案,在 运动补偿过程中应用m e m o r ym o t i o nc o m p e n s a t i o n ( m m c ) 方法来加速插值操作,这些 方法对编解码速度的提高有很大的贡献。 文献 1 0 - 1 3 中介绍了芬兰n o k i a 研究中心的v i l l el a p p a l a i n e n ,h n t t i h a l l a p u r o 等人一直致力于h 2 6 x 系列编解码器的开发优化工作,并且取得了很好的实 验效果,提升了编解码器的效率和速度。v i l l el a p p a l a i n e n 同时在文献 1 4 卜v 1 6 中 总结了使用多媒体扩展指令集进行优化的一般性方法,对于开发者如何使用s i m d 等指 令集进行优化工作具有很好的指导意义。 此外,很多公司也致力于音视频编解码器的开发优化。2 0 0 2 年1 1 月,u b v i d e o 公 司在j ”第六次会议上演示了一个在t it m s 3 2 06 4d s p 处理器上实现的基于m a i n p r o f i l e 的h 2 6 4 解码解决方案;v s o f t 公司2 0 0 3 年在p 43 o g 的机器上实现了标清视 频( s d t v ) 的实时编解码;2 0 0 4 年北京世纪鼎点公司开发出纯软件视频会议系统 一p o w e r c o n ,该系统的m c u 和终端都是利用高性能p c 与服务器结合的软件来实现的,视 频编解码大部分采用咿e g _ 4 标准。以上这些各个方面的工作对音视频标准的制定和推 广应用起到了极大的作用。 a v s 标准的研究目前主要是在国内开展,也包括一些国外的a v s 会员单位,如a m d 、 s u n 、索尼、三星等,从a v s 工作组成立到现在,各高校、研究所和相关企业都投入到 这个产业当中,取得了很多成果。2 0 0 5 年3 月2 日,a v s l 0 1 高清解码芯片科技成果鉴 定会在北京召开,我们国家开发出第一个矗v s 芯片;2 0 0 5 年1 2 月6 日,“基于a y s 标 准的数字视频广播编码播出与接收系统”通过鉴定,第一个a v s 实施编码起完成。在产 业化进程中,2 0 0 6 年9 月,中国网通开始进行a v s - i p t v 的商用实验,2 0 0 7 年2 月, a v s i p t v 用户体验实验在大连完成。2 0 0 6 年6 月,联合信源数字音视频技术( 北京) 有限公司开发出a v s 标准的软件编码器和播放器,编码器可以支持实时编码和离线编码 两种方式,解码器实现了基于p c 端播放a v s 视频图像的功能。 1 2 26 4 位应用程序开发的现状 在芯片方面,2 0 0 4 年9 月2 6 日,a m d 正式推出世界上第一款面向个人电脑和笔记 本的6 4 位处理器a t h l o n 6 4 ,随后各大芯片厂商也纷纷推出了面向个人电脑的6 4 位处理 器”。操作系统方面,w n d o w s 是世界范围内应用最广泛的客户端操作系统,微软于2 0 0 5 年4 月2 5 日正式推出面向桌面的6 4 位的操作系统w i n d o w sx pp r o f e s s i o n a lx 6 4 e d i t i o n ,2 0 0 7 年1 月推出新一代桌面操作系统v i s t a6 4 。6 4 位应用程序开发方面,目 前已经有支持6 4 位应用程序开发的编译器、调试器、类库以及汇编语言等开发工具。 在w i n d o w s 平台上,微软已经提供了支持6 4 位应用开发的大部分工具“8 ,在l i n u x 平 台上也有相应的开发工具。 3 t 于删位拉术的 v s 鲁_ 辩码l 曲研竞茸h t 在6 4 位应用开发上,驱动器厂商和杀毒软件厂商走在前列,另外在娱乐制造业、 游戏领域、高性能计算和c a d c a m 上也已经开发了一些产品,但是相对于广泛的应用来 说,6 4 位应用程序目前仍然非常匮乏。 1 3 课题研究内容及论文结构安排 1 3 1 课题研究内容 本论文以开发一个6 4 位的a v s 软件解码器为目的,对6 4 位应用程序的移植开发和 a v s 标准的应用进行深入研究,主要的工作有: ( 1 ) 研究a v s 视频编解码的算法和流程,为在a v s 标准上开发视频解码器做基础。 ( 2 ) 研究x 6 4 体系结构下6 4 位应用的开发和移植,将参考解码器移植到6 4 位平 台,并修改了解码器的数据结构和解码流程。 ( 3 ) 研究x 6 4 体系结构下的多媒体指令编程技术,并使用这些技术对解码器进行 优化。 ( 4 ) 对以上的移植和优化进行实验分析,比较分析实验结果。 1 3 2 论文结构安捧 本论文的章节安排如下: 第一章:绪论,主要是对课题研究背景,国内外研究现状及本论文主要内容作简要 介绍。 第二章:介绍a i v i d 6 4 位技术以及在6 4 位体系结构下的w m d o w s6 4 位应用移植开 发技术。 第三章:介绍a v s 标准及其主要编解码算法 第四章:对参考代码进行性能测试,然后应用移植技术将参考代码移植到6 4 位平 台。 第五章:对移植后的代码进行瓶颈分析,然后针对解码器的瓶颈模块进行优化,最 后是性能对比实验。 第六章:全文的总结与展望。 4 t 于a 埘) 6 4 位冀术 v s 舞暇嚼i 的习h 晴囊 i 第二章a m d 6 4 位技术及w in d o w s6 4 上c c + + 开发概述 2 1a m d 6 4 位技术 什么是6 4 位技术? 6 4 位技术是相对于3 2 位而言的,这个位数指的是c p u 通用寄存 器( g e n e r a l - p u r p o s er e g i s t e r s ,g p r s ) 的数据宽度为6 4 位,即处理器一次可以运行 6 4 位长度的数据。6 4 位计算主要有两大优点:可以进行更大范围的整数运算;可以支 持更大容量的内存。 6 4 位处理器并非现在才有的,在高端的精简指令集计算机上( r e d u c e di n s t r u c t i o n s e tc o m p u t i n g ,r i s c ) 很早就有6 4 位处理器了,比如s u n 公司的u l t r a s p a r ci l l 、i b m 公司的p o w e r 5 、咿公司的a l p h a 等。 目前主流c p u 使用的6 4 位技术主要有a m d 公司的a m d 6 4 位技术、i n t e l 公司的e m 6 4 t 技术、和i n t e l 公司的i a - 6 4 技术。 什么是a m d 6 4 位技术? a m d 6 4 位技术是在原始3 2 位x 8 6 指令集的基础上加入了 x 8 6 - 6 4 扩展( t g 称x 6 4 扩展) ,将原来的3 2 位指令集扩展为6 4 位的指令集,芯片在硬 件上兼容原来的3 2 位x 8 6 软件,并同时支持x 6 4 扩展的6 4 位计算。 2 1 x 6 4 体系结构的寄存器 g h e h 、m 鱼嘟n 5 瞳_ k 韵i 融融畴,哺1 嘣n n 脚融豳 口圆眦 o - b t h - 触r = 田- 功嘲捌_ 船蛳 基o叠o当 口传统的曲暗存鲁,在所有覆式下郡支持 e :盈寄存嚣扩晨在b 位梗| r f 支持 图2 - 1 寄存器的扩展 f i g l 鹏2 - 1e x t e n d e d 他g i 啦 5 嚣裟裟i|裟黜裟裟 糯哪豫粥糯辩端阳麓瓣鼢 嬲罂端嬲 雌哦盯旺哪四哪即_霸哪刚睫眵聃m l 于 岫6 4 位簋丰曲i t y s 曩囊棚- 峥研完囊曩 x 6 4 体系结构对x 8 6 原有的寄存器进行了扩展“日,如图2 - 1 所示。传统的x 8 6 体系 结构支持8 个g p r 。然而,实际上至少4 个寄存器( e b p 、e s i 、e d i 、e s p ) 的通用性是 有限制的,因为当执行许多指令时,他们作为特殊目的寄存器使用。x 6 4 体系结构在x 8 6 体系结构的基础上增加了8 个新的g p r ,更多的g p r 使编译者能够充分改进软件的性能。 编译者在g p r 寄存器内工作也能使内存开销最小化,因此增加了性能。另外,x 6 4 体系 结构对1 2 8 位多媒体寄存器进行了扩展,由x 8 6 体系结构下的8 个寄存器扩展为了1 6 个,又添加的8 个1 2 8 位多媒体寄存器可以增加多媒体处理的能力。 2 1 2x 6 4 体系结构的指令集 1 、通用指令( g e n e r a l - p u r l m s ei n s t r u c t i o n s ) 洲 这些是基本的x 8 6 整数指令,在所有程序中都可用。大多数通用指令( 装入,存储 或操作) 使用存放在通用寄存器( g p r ) 或内存中的数据。某些指令的作用是从分支跳 转至其他程序单元以改变程序的顺序流。 2 、1 2 8 位媒体指令 这些是流s i m de x t e n s i o n ( s s e 和s s e 2 ) 指令,他们装入、存储或操作的数据主要 定位在1 2 8 位x 删寄存器中。他们对向量( 组合的) 和标量数据类型执行整数和浮点数 操作。因为向量指令能在数据的多个集上独立、并行执行单个操作,因而他们被称为单 指令多数据( s i 如) 指令。他们对于在数据块上操作的高性能多媒体和科学的应用程序 是有用的。 3 、6 4 位媒体指令 这些是多媒体扩展( m u l t i m e d i ae x t e n s i o n ( 删矿技术) ) 和a m d 3 d n o w ! ”技术指 令。他们装入、存储和操作的数据主要定位在6 4 位m m ) 【寄存器中。他们在向量( 组合 的) 和标量数据类型上执行整数和浮点运算。因此,他们也是s i m i ) 指令,对于在数据 块上操作的多媒体应用程序是有用的。 4 、x 8 7 指令 这些是在传统的x 8 7 应用程序中使用的浮点指令。他们装入、存储和操作的数据定 位在x 8 7 寄存器中。 2 1 3 媒体指令 x 6 4 体系结构支持多媒体指令矧,即3 d n o ,! , b s s e 和s s e 2 技术,并且提供了 比x 8 6 体系结构更多的多媒体寄存器来供开发者使用。本论文中主要使用了指令集中的 媒体指令,1 2 8 位媒体指令和6 4 位媒体指令统称为媒体指令。 多媒体应用程序,例如图像处理、音乐合成、语音识别和视频,具有以下特征:一、 处理大量的数据:二、常常要对大量数据重复执行相同的操作序列;三、数据常常用小 的量表示,例如,对于像素采样用8 位表示,对于音频采样用1 6 位表示基于这些特 6 汗 加) 6 4 位怫的a 、r s 善u i 葺- 的习 晴囊,l 征的分析,处理器设计专家和软件开发专家协同努力,依据以单一指令实现对多数据并 行处理的s i m i ) 原则,开发了以多媒体信息处理为应用对象的多媒体指令集技术,显著 的提高了对大量数据做复杂处理的速度,大大改进了多媒体应用软件的性能。1 2 8 位媒 体指令和6 4 位媒体指令就是这样的指令集,它们用于单指令多数据的处理,用于向量 的并行处理。这样的向量技术具有以下特征:一、单个寄存器能保持数据的多个独立片。 例如,一个1 2 8 位x 删寄存器能保持1 6 个8 位整型数据元素或4 个3 2 位单精度浮点数 据元素;二、向量指令能在一个寄存器中的所有数据元素上独立的同时进行操作。例如, 在1 2 8 位x m m 寄存器的两个向量操作数的一个p a d d b 指令,它同时执行1 6 个加法并返 回单个操作内的1 6 个独立的结果 = 二二二二二工二= 二二二二 怒漱畿簿淼 伢e0 工匝卫匝皿一呐一 埘0 工i 二田一蛔 协0 亡= = 丁二= 二工二二二 蹦蝥一 馏0 二二= 二二 二二二二 器紫蒯触删 i z 7 o 图2 - 2s s e 2 支持的数据格式 一f i g u r e2 - 2t h ed a m 孵o f s s e 2s u p p o r t i n g 下面简要介绍本论文优化中重点使用的s s e 2 嘲指令集。s s e 2 是在s s e 的基础上又 引入了新的数据类型,增加了新的指令,用于处理整型数据。它使用1 2 8 位的寄存器, 这些寄存器可以保存紧缩的1 2 8 位数据,每一个寄存器都可以直接被s s e 2 指令所访问, 不再像浮点指令那样借助堆栈来管理。在x 6 4 体系结构下s s e 2 有1 6 个寄存器可以使用, 比x 8 6 体系结构多了8 个寄存器,这些更多的寄存器可以让开发人员有更大的发挥空间。 此外,增加的寄存器也使c p u 能够处理更高的工作量。s s e 2 由两个不同的部分组成,s s e 部分和m m x 部分,前者主要负责处理浮点数,后者专门处理整数。s s e 2 寄存器是眦 寄存器容量和数量的两倍,在指令处理速度保持不变的情况下,通过s s e 2 优化的应用 软件运行速度也将提高2 倍。由于s s e 2 指令兼容于m 眦,因此被m m ) 【优化过的程序很容 易被s s e 2 再一次深层次的优化。图2 _ 2 给出了s s e 2 支持的数据格式。 s s e 2 新增加的数据类型包括:1 2 8 位紧缩双精度浮点数类型、1 2 8 位紧缩字节整数 类型、1 2 8 位紧缩字整数类型、1 2 8 位紧缩双字整数类型和1 2 8 位紧缩四字整数类型。 s s e 2 新增加的指令包括:紧缩和标量双精度浮点处理指令、增加的6 4 位和1 2 8 位 7 一舳6 4 位皇滦由 v s 锻l 码l 的研,i 与 i s i m d 整数处理指令、对埘x 和s s e 中指令的1 2 8 位扩展以及增加的缓存控制和指令排序 指令。它们可以根据需要被分为1 6 个紧缩字节( p a c k e db y t e s ) ,8 个紧缩字( p a c k e d w o r d s ) ,4 个紧缩双字( p a c k e dd o u b l e - w o r d s ) ,或2 个紧缩四字( p a c k e dq u a d - w o r d s ) 进行运算。 开发人员使用s i m d 指令集优化程序的方法有许多种:一种是直接用手工代码优化, 虽然这是最困难的一种方式,但也是最有效率的一种方式。另一种方法是使用指令集的 i n t r i n s i c s 函数优化,它是外表类似普通函数,但编译方法特殊的一种中间函数,可以 被编译器直接编译成s i m d 指令的集合,有关指令集和i n t r i n s i c s 函数的使用可以参考 文献嘲中的相关内容。 2 2w i n d o w s6 4 上c ,c + + 开发 2 2 16 4 位操作系统概述 1 、6 4 位操作系统 6 4 位操作系统是指为6 4 位架构计算机系统设计的操作系统。6 4 位的操作系统最早 在中小型计算机上实现,用于工作站和服务器,目前6 4 位的操作系统已经逐渐走向低 端,开始应用于个人电脑上。 2 、6 4 位w i n d o w s 客户端操作系统 w i n d o w s 操作系统是世界范围内应用最广泛的客户端操作系统,目前主流的6 4 位客 户端操作系统有:w i n d o w sx px 6 4 ,w i n d o w sv i s t a6 4 咖。他们支持x 6 4 扩展体系结构, 为性能关键的应用程序提供通用的平台。 为了兼容3 2 位应用程序,6 4 位w i n d o w s 中设计了一个新的子系统,称为w o w 6 4 ( w i n d o w s 一3 2 - o n - w i n d o w s - 6 4 ) 它为现有的3 2 位应用程序提供了3 2 位的模拟,可以 使大多数3 2 位应用程序在无需修改的情况下运行在w i n d o w s6 4 位版本上。但是它并不 是为要求高性能的应用程序而设计的。w o w 6 4 予系统需要将3 2 位参数扩展到6 4 位,并 且需要将6 4 位的返回值截断为3 2 位。对于3 2 位应用程序而言,先在w o w 6 4 下测试它 们,如果性能不能满足实际的期望,就需要考虑将应用程序迁移到6 4 位。 2 2 26 4 位w i - d 州。应用程序的开发 1 ,3 2 位和6 4 位应用软件的区别 3 2 位应用程序是按照内存地址的大小为3 2 位来编译的,它可以直接使用至多4 g b 的虚拟内存。6 4 位应用程序按照内存为6 4 位来编译,可以使用多于4 g b 的虚拟内存。 2 、6 4 位应用的开发环境和a p i 6 4 位w i n d o w s 操作系统没有引入任何新的a p i 嘲嘲。3 2 位和6 4 位上有一个单独的 w i n d o w sa p i 。m i c r o s o f t 只调整了为数不多的a p i 调用( 例如,允许6 4 位指针作为参 8 i l ,l 蛐6 4 位拉术的 v si 一蓐冯l 的研竞_ 蜜曩 数) ,以支持3 2 位和6 4 位w i n d o w s 除此之外,w i n d o w s6 4 引入了新的6 4 位数字数 据类型,允许在6 4 位和3 2 位计算中显的使用6 4 位数据类型。也引入了其他数据类型 ( 所谓的多态类型) 允许源代码兼容性。 3 、新的数据类型 w i n d o w s6 4 位版本使用l l p 6 4 数据模型。也就是说标准c 类型i n t 和l o n g 保持为 3 2 位整数。数据类型s i z et 将映射到处理器词大小( x 8 6 下为3 2 位,x 6 4 下位6 4 位) , 并且一i n t 6 4 是6 4 位整数。 4 、多态数据类型 这种数据类型的精度随着处理器词大小变化,所以称为“多态”数据类型,也称指 针精度数据类型口钉嘲。这些类型通常以r 后缀结尾。通过整数参数传递参数或上下文 信息的所有w i n 3 2a p i 都更改为使用这些新的类型,这些类型如表2 一l 所示。 表2 - 1 多态数据类型 f i g u r e2 - 1p o l y m o r p h i c 类型 定义 d w o r d _ p t r指针精度的无符号长类型 h a l fp t r指针大小的一半。用于包含一个指针和两个小型字段的结构中 i n tp r r r指针精度的有符号整型 l c l n gp r r r指针精度的有符号长类型 s i z et指针可以引用的最大字节数。用于必须跨指针的整个范围的计数 s s i z et有符号s i z e _ t u h a l fp t r无符号h a l f _ 盯r u i n tp t r无符号i m r u l o n g 盯r无符号l o n gp t r l p a r a m 与l o n g _ p t r 为同义词,在( w t y p e s h 中定义) w p a r a m与o i n t _ p t r 为同义词,在( w t y p e s h 中定义) 2 3 小结 a m d 6 4 位技术是新一代的高性能技术,6 4 位计算相对于3 2 位而言提供了更大的计 算带宽,6 4 位寻址提供了对更大内存的支持,因此带来更高的性能。随着6 4 位硬件平 台的推出,相应的软件支持也随之出现并且不断发展,例如支持6 4 位平台的操作系统 的不断发布,6 4 位平台上软件开发工具的出现等。本章主要讨论了x 6 4 技术以及在此平 台上6 4 位应用软件的开发。首先介绍了6 4 位技术的相关内容,然后介绍在6 4 位w i n d o w s 平台上开发6 4 位软件与3 2 位软件的不同,并且阐述了开发6 4 位软件需要注意的关键 9 哥_ l 嗽位封沸的 v s 曩蕞喝- 的研鼻冉囊 l 问题,为后续针对解码器的开发打下基础。 1 0 4 r r p l 6 4 位,沸 a v s 善h 膏嚼l 的研,宵摹 ,l 第三章a v s - p 2 视频标准及算法分析 3 1 视频编解码的基本原理 3 1 1 视频编码的必要性和可能性 数字视频等多媒体信息具有海量性,而当前硬件技术所能提供的计算机存储资源和 网络带宽资源非常有限,因此有限的资源对视频信息的存储和传输造成了很大困难,成 为阻碍人们有效获取和利用信息的一个瓶颈问题。把视频数据压缩之后再存储和传输是 个有效的方法,这样既节约了存储空间,又提高了通信干线的传输效率,在播放时候再 将压缩的数据还原播放。 视频数据本身存在着压缩的可能性,视频数据本身存在着大量的冗余信息嘲嘲,如 空间冗余、时间冗余、结构冗余、纹理的统计冗余等可以除去这些冗余数据使得原始 视频数据极大的减少。视频压缩技术( 也称为视频编码技术) 正是研究如何利用视频数 据的冗余来减少视频数据量的方法。 3 1 2 视频编解码的基本原理 概括的讲,视频编码的目的就是在保证一定重构质量的前提下,以尽量少的比特数 来表征视频信息,尽量大的去除视频序列中存在的冗余信息。例如,视频数据中存在大 量的时阃冗余,后一帧的数据与前一帧的数据有许多共同的地方,于是可以采用帧阋预 测编码方法来除去这种类型的冗余从而达至0 压缩的目的。视频编码的最终结果实际上就 是利用各种冗余,采用具有针对性的技术,再加上其他一些工具来实现的。解码的目的 就是能够根据编码比特流按要求还原出原始的视频数据,解码是编码的逆过程。 3 1 3 视频编码畚和解码器模型 视频编解码的基本结构如图3 _ l 所示。目前的视频编解码方法大都采用两种信源模 型。“,一种采用“一幅图像由许多像素构成”的信源模型,这种模型的参数是每个像素 的亮度和色度的幅度值;另一种采用一个分量有几个物体构成的信源模型,这种模型的 参数是各个物体的形状、纹理和运动。根据采用的信源模型的不同,视频编码可以分为 两大类:基于波形的编码和基于内容的编码。它们利用不同的压缩编码方法,得到相应 的量化前的参数;再对这些参数进行量化,用二进制码表示其量化值;最后,进行无损 熵编码进一步压缩码率。解码则为编码的逆过程。 本论文中讨论的a v $ 标准属于基于波形的编码,因此下面本论文着重论述基于波形 的视频编解码中应用到的主要技术。 t 子删d 6 4 位茸术的 v s 棚算码l 的研完1 蜜l i :解码器一j 图3 - 1 蝙解码器结构图 f i g u r e3 - 1t h es i r i l c h 】o f c o d c c 3 1 4 基于波形的视频编解码中的主要技术 l 、预测编码一 在一幅图像或者一帧视频中相邻的像素点一般具有很高的相关性,在视频序列中, 相邻各帧之间也有着很强的相关性,因此,当前像素点可以通过相邻的像素点预测得到, 当前帧可以通过相邻帧预测得到。预测法是最实用的视频压缩编码方法,经过预测编码 后传输的并不是像素本身的取样值,而是该取样的预测值和实际值之差。常用的预测编 码方法有:帧内编码和帧间编码。 2 、变换编码 绝大多数图像都有一个共同的特征:平坦区域和内容缓慢变化区域占据一幅图像的 大部分,而细节区域和内容突变区域则占小部分。因此可以利用这个特性,将空间域的 图像变换到频域,产生相关性很小的一些变换系数,这就是所谓的变换编码。 应用于图像的变换编码主要是正交变换。自1 9 6 8 年利用快速傅里叶变换( f f r ) 进 行图像编码以来,出现了多种正交交换编码方法,如k - l 变换、离散余弦变换( d c t ) 嘲 等等。其中,编码性能以k - l 变换最理想,但缺乏快速算法,并且变换矩阵随图像而异, 不同图像需计算不同的变换矩阵,因而只用来做参考比较。d c t 编码性能最接近于k - l 变换,略次而已,他具有快速算法,即蝶型算法,被广泛应用于图像编码。 早期的视频编码一般采用快速浮点d o t 变换,在逆变换时会出现不匹配问题,图像 视频处理领域的专家针对整数变换做了不少研究嘲b 盯。新一代的视频标准中采用了整 数变换( i c t ,i n t e g e r c o s i n e t r a n s f o r m ) ,如 1 2 6 4 、a v s 中都使用了这种变换方法, 整数变换消除了浮点运算,减少运算量,同时降低了编码误差,提高了信嗓比,并且精 确的整数运算排除了编码器变换与解码器逆变换之间的数据不匹配问题。 3 、熵编码 利用信源的统计特性进行码率压缩的编码方式称为熵编码,也叫统计编码,这种编 l 于 m ) 6 4 位美术的 y s 辊曩田l 曲_ 完与蜜曩 码技术是建立在香农信息论伽的基础上。现代视频编码中主要使用变长编码( v a r i a b l e l e n g t hc o d i n g ,也称为哈夫曼编码) 和算术编码( a r i t h m e t i cc o d i n g ) 两种编码技术。 交长编码的思想是:对出现概率大的符号分配短字长的二进制码,对出现概率小的 符号分配长字长的二进制码,从而得到符号平均码长最短的码。代表性的h u f f m a n 码是 变长码,对于给定的信源及其概率分布,h u f f m a n 码是最佳码。 算术编码的思想是:采用一个浮点数来代替一串输入符号,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年农业系统职称考试考前冲刺练习题及答案详解(历年真题)
- 2025年美容美发店长面试预测题与经营策略
- 2025年机关单位招聘面试热点解析及模拟题集
- 2026届四川省宜宾市六中高高一化学第一学期期中质量检测模拟试题含解析
- 2025年本科院校基建处招聘考试备考指南与模拟题
- 公务员面试题及答案解读
- 2025年快递行业职业技能鉴定高级模拟题集
- 2025年数据分析师技能进阶教程与模拟题解析
- 2025年内科学专业知识初级考试题库及答案详解
- 2025年农业智能装备应用与管理人才选拔考试指南及解析
- 2025年本科院校基建处招聘考试备考指南与模拟题
- 小学教师个人专业发展三年规划
- 2023年度保安员考试检测卷【研优卷】附答案详解
- 热电厂巡检工培训课件
- 2025年农业面源污染治理农业面源污染治理技术手册报告
- 中国黄金知识培训课件
- 人教PEP版(一起)一年级上册英语全册教案
- 光伏施工基本知识培训课件
- 2025贵州毕节市赫章县招聘事业单位工作人员123人笔试备考题库及参考答案详解
- GB 21256-2025粗钢生产主要工序单位产品能源消耗限额
- 2025AI办公发展现状软件市场竞争格局及未来发展前景分析报告
评论
0/150
提交评论