(信号与信息处理专业论文)h264编码器的优化设计与码流显示.pdf_第1页
(信号与信息处理专业论文)h264编码器的优化设计与码流显示.pdf_第2页
(信号与信息处理专业论文)h264编码器的优化设计与码流显示.pdf_第3页
(信号与信息处理专业论文)h264编码器的优化设计与码流显示.pdf_第4页
(信号与信息处理专业论文)h264编码器的优化设计与码流显示.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(信号与信息处理专业论文)h264编码器的优化设计与码流显示.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

上海大学硕士学位论文 摘要 国际视频编码标准从开始制定到现在,已经有十几年的历史了。其中,国 际电信联盟i t u - t 组织制订的标准主要包括:h 2 6 1 、h 2 6 3 、h 2 6 3 + 和h 2 6 3 + + 等;国际标准化组织i s o 制定的标准主要包括m p e gl 、m p e g 一2 及m p e g 一4 等。 而h 2 6 4 是i t u t 和i s o 联合推出的新标准,具备的新特征有:增强的运动预 测能力;准确匹配的较小块变换;自适应环内滤波器;增强的熵编码。测试结 果表明这些新特征使h 2 6 4 a v c 编码器提高5 0 编码效率的同时,增加了一个 数量级的复杂度。故开发实际编码系统时必须进行优化。 本文分层次对h 2 6 4 编码器进行了优化:在对编码器框架结构改进的基础 上,对于某些模块采用快速算法来提高编码速度;对于基本模块使用多媒体指 令结合汇编语言工具来优化。基于对整个编解码系统的统筹考虑,本文还设计 了解码器后端的码流转换播放器,使得终端图像显示能适应不同应用要求。本 文的具体工作主要包括: 首先,基于对b a s e l i n ep r o f i l e 编码器的研究,本文以简化r d o ( 率失真 优化) 为模式判决依据,对h 2 6 4 编码器数据结构重新设计,使其模块化,方便 后续指令集优化时模块间的连接。其次,针对帧内编码模式的复杂性,采用了 一种快速帧内模式判决算法。本文还对已经进行过数据结构和算法优化的编码 器基本模块进行分析,对比较耗时的s a d ( s u mo fa b s o l u t ed i f f e r e n c e ) 、s a t d ( s u mo fa b s o l u t et r a n s f o r m e dd i f f e r e n c e ) 、整数变换和亚像素内插等模块 采用i n t e l 指令集结合汇编语言进行优化,进一步提高了编码速度。 实验结果表明,本文优化的h + 2 6 4 编码器较大程度提高了编码器编码速度, 与j m 7 2 相比编码速度提高了1 8 0 倍左右。在普通p c 机上就实现了实时编码。 本文还设计了h 2 6 4 码流播放器,该播放器位于解码器后端,实现了y u v 格式到r g b 格式的码流转换,可任意调整播放图像尺寸和播放速度,满足多用 途的播放要求。 关键词:h 2 6 4 ,i n t e l 指令集,优化,实时,播放器 v 上海大学硕士学位论文 a b s t r a c t t h e r eh a v eb e e nm o r et h a nt e ny e a r ss i n c et h ef i r s ti n t e r n a t i o n a lv i d e os t a n d a r d i sd r a w nu p h 2 6 4i st h en e w e s ts t a n d a r da p p r o v e db yt h ei t u - ta n di s o i e c o r g a n i z a t i o n s ,w h i c hr e p r e s e n t san u m b e ro fe d v a n c c si nv i d e oc o d i n gt e c h n o l o g y a n db e c o m e st h en e w e s ti n t e r n a t i o n a lv i d e oc o d i n gs t a n d a r db e c a u s eo fb o t hh i g h c o d i n ge f f i c i e n c ya n dn e t w o r kf r i e n d l i n e s s i tc o n s i s t so f m a n yn e wf e a t u r e ss u c ha s e n h a n c e dm o t i o n - p r e d i c t i o nc a p a b i l i t y ;as m a l lb l o c k - s i z ee x a c t - m a t c ht r a n s f o r m ; a d a p t i v ei n l o o pd e b l o c k i n gf i l t e r ;e n h a n c e de n t r o p yc o d i n gm e t h o d s t h e e x p e r i m e n tr e s u l t ss h o wt h a tt h ei m p r o v e dc o d i n ge f f i c i e n c y , u pt o5 0 ,c o m e sw i t h ac o m p l e x i t yi n c r e a s eo fm o r et h a no n eo r d e ro fm a g n i t u d ea tt h ee n c o d e r d u r i n g t h ec o u r s eo fd e v e l o p m e n tf o rp r a c t i c a le n c o d e r , t h ee n c o d e ri sb o u n dt ob e o p t i m i z e d t h i sa r t i c l ea l s od e s i g n sh 2 6 4p l a y e rb a s e do nb e n e f i t i n gt h ew h o l ec o d e c s y s t e mi no r d e rt os a t i s f yl o t so fn e e d sf o rt h eq u a l i t yo ft h ep i c t u r ef r o ms e v e r a l a s p e c t si n c l u d i n gf a s ta l g o r i t h m s ,b a s i cm o d u l e s 丽mi n t e li n s t r u c t i o n s ,e t c m a j o r r e s e a r c h e si nt h i sd i s s e r r a t i o na r ea sf o l l o w s t h i sd i s s e r t a t i o ns t u d i e st h eb a s e l i n ep r o f i l ee n c o d e rb a s e dh 2 6 4 i tu s e st h e s i m p l i f i e dr d o a st h em o d ed e c i s i o nc r i t e r i o na n dr e d e s i g n sar e a l t i m es t n j c 嘶o f e n c o d e r af a s tm o d ed e c i s i o na l g o r i t h mi sa d o p t e da g a i n s tt h ec o m p l i c a t i o no fi n t r a c o d i n gm o d e s t h eb a s i cm o d u l e so ft h eo p t i m i z e de n c o d e ra r ea n a l y z e d t h er e l a t i v e l y t i m e - c o n s u m i n gm o d u l e ss u c ha ss a d ,s a t d ,i n t e g e rt r a n s f o r ma n ds u b p i x e l i n t e r p o l a t i o na r eo p t i m i z e dt h r o u g ht h ei n t e lm u l t i m e d i ai n s t r u c t i o ns e tt o g e t h e rw i t h a s s e m b l yl a n g u a g e , w h i c hc a nf u r t h e ri m p r o v et h ee n c o d i n gr a t ep e rs e c o n d t h ee x p e r i e n c er e s u l t ss h o wt h a tt h ea p p r o a c h e si nt h i sa r t i c l ec a ne n h a n c et h e f l a m er a t eo ft h ee n c o d e rg r e a t l y i t sf r a m er a t ep e rs e c o n di s18 0t i m e st h a n j m 7 2 t h eo p t i m i z e de n c o d e rc a nr e a l i z et h er e a l t i m ee n c o d i n go nt h ec o m m o np c v 上海大学硕士学位论文 b e s i d e st h i s ,am e d i ap l a y e rf o rh 2 6 4i sa c c o m p l i s h e dl o c a t e di nt h eo u t p u to f t h ed e c o d e r i tc a l lc o n v e r ty u vt or g b ,a d j u s tt h es e q u e n c es i z e sa n df l a m e sp e r s e c o n df r o m1t o6 0 i nt h a tc a s e ,i ti sf i tf o rt h ed i v e r s i t yo f a p p l i c a t i o n s k e y w o r d s :h 2 6 4 ,i n t e li n s t r u c t i o n s ,o p t i m i z a t i o n ,r e a lt i m e ,p l a y e r v i i 上海大学硕士学位论文 第一章绪论 1 1 问题背景 自从i t u t 颁布了h 2 6 1 f 1 1 后,基于块的混合编码方法作为框架被普遍采用 并不断发展。m p e g 一2 t 2 1 作为m p e g 一1 的扩展,广泛用于标清( s d ) 和高清( h d ) 信号的卫星、电缆、地面广播和高质量d v d 存储。h 2 6 3 【3 】b a s e l i n e 扩展a n n e x e s a x ,广泛用于低码率传输。m p e g 4 1 4 的分级量化、1 4 像素精度运动估计、 p o s t f i l e r 等特性,有效地提高了编码效率。然而,随着新服务的大量增加和高 清电视的普及,以及现有传输媒体如c a b l em o d e m 、x d s l 、u m t s 较低的传输 码率,迫切需要提高编码效率,同时还要求视频编码标准能够适应现在及未来 的网络。这些问题为新视频编码标准的产生提供了切实的依据。 早在1 9 9 8 年,r r u tq 6 s g l 6 ( v c e gv i d e oc o d i n ge x p e r t sg r o u p ) 提出研 究新一代编码标准( h 2 6 l ) ,其目的就是与已存在的视频编码标准相比能够成 倍提高编码效率并应用到更广阔的领域。1 9 9 9 年8 月b e r l i n 会议,推出了第一 个校验模型t m l i ( t e s tm o d e ll o n g - t e r mo 在随后的几年间不断改进该模型, 2 0 0 1 年6 月通过i s o 1 e cm p e g 测试,被认为是当前最先进的视频压缩编码方 法。 2 0 0 1 年1 2 月,v c e g 和i s o i e cj t c l s c 2 9 w g l l ( m p e g ”) 组成了一个联 合视频组( j v t - j o i n tv i d e ot e a m ) 联合开发新一代视频编码标准,以i t u t h 2 6 l 为基础,进一步提高编码效率和图像质量,将其命名为j v t 5 】,被m p e g 收入 m p e g - 4 标准的第1 0 部分,b p m p e g 一4a v c ( a d v a n c e dv i d e oc o d i n g ) 。2 0 0 2 年1 2 月,在p a t t a y a 会议通过t m p e g 和v c e g 共同制订的校验模型j m i ( j o i n tm o d e l ) 。 在2 0 0 3 年3 月,通过了最终视频编码标准草案,正式定为h 2 6 4 a v c 。到目 前为止已经发展到3 m 1 0 1 。h 2 6 4 的高编码效率和网络友好性使它成为新一代的 国际视频编码标准。 由于h 2 6 4 编码的高效性,从提出到现在已经在诸多领域得到了广泛的认 可。比如:竞争下一代d v d 格式的两种主要技术( d v d 论坛制订的h d d v d 格式、蓝光协会( b d a ) 制订的蓝光光盘b l u r a y d i s c 格式) 都选用h 2 6 4 标准; 上海大学硕士学位论文 欧洲的数字电视广播( d v b ) 标准组织已在2 0 0 4 下半年通过了采用h 2 6 4 在欧洲 进行电视广播美国的a t s c 标准组织也在考虑在美国的电视广播采用h 2 6 4 。 韩国的数字多媒体广播( d m b ) 服务将采用h 2 6 4 。日本数字广播集成服务 i s d b t 提供的移动分区地上广播服务将使用h 2 6 4 编解码器。直接卫星广播 ( d i r e c tb r o a d c a ss a t e l l i t e ) 服务也将使用该标准。第三代移动通信合作组织 ( 3 g p p ) 已经在第六次发布中批准h 2 6 4 作为其移动多媒体电话服务标准的可选 技术。美国国防部直属的运动图像标准协会已经接受h 2 6 4 a v c 为其核心应用 的视频编解码器互联网流媒体协会已经接受h 2 6 4 作为i s m a 2 0 的技术规范 m p e g 组织将h 2 6 4 完全集成进了它的系统协议( 例如m p e g 2 和m p e g 一4 系 统) 和1 s o 媒体格式协议。i t u t 标准组织已经采纳h 2 6 4 作为其h 3 2 x 系列 的多媒体电话系统规范的一部分。u t 的采纳使得h 2 6 4 已经被广泛使用在 视频会议系统中。h 2 6 4 将很可能被各种视频点播服务使用,届时互联网上提 供的电影和电视节目,可直接用到个人电脑的点播系统中。 现在,h 2 6 4 的最终草案已经确定,其提高的压缩效率和增加的运算复杂 度也是有目共睹的1 7 , 8 。为了能在实际系统中得到更好的应用,针对它的运算复 杂性,我们必须对其进行优化,以适应编码器在当今视频会议,视频监控应用 及今后一系列应用领域的实时化要求。 1 2h 2 6 4 编码器设计问题研究概述 1 2 1h 2 6 4 编码器优化设计简析 我们知道,h 2 6 4 编码器的复杂性包括时间复杂性和空间( 存储) 复杂性 两方面 9 1 。因此,对h 2 6 4 编码器的优化需要将二者综合考虑。 具体优化过程可大致分为三个阶段:1 ) 重新设计数据结构;2 ) 采用新的 快速算法来降低编码时间消耗;3 ) 对主要耗时模块进行i n t e l 指令集和汇编级 的优化。其中,第一阶段主要是使编码器模块化,以降低编码的时间复杂性, 第二阶段可同时降低时间和空间两方面的复杂性。第三阶段利用指令集的并行 性,从而降低了编码的时间复杂度。 最终,使得优化后的h 2 6 4 编码器比j m 模型的编码速度有一个飞跃。 上海大学硕士学位论文 1 2 2h 2 6 4 编码器研究现状 1 、u b - v i d e o 公司方案 2 0 0 2 年5 月,u b - v i d e o 公司发布基于t i 公司t m s 3 2 0 c 6 4 xd s p 的h 2 6 l 实时解决方案u b l i v e 一2 6 l c 6 4 ,如图卜i 。 摄像机捕获标度源图像编码解码 y u v 到r g b 解码后的阻像 图像转换 图l _ 1u b l i v e 一2 6 l c 6 4 演示框图 u b l i v e - 2 6 l - c 6 4 主要特征是:( 1 ) 高效的算法,能充分减小h 2 6 4 的复 杂性:( 2 ) c 6 4 x 的优化,能充分利用c 6 4 x 的结构;( 3 ) 智能的预处理,能提 高视频质量。与基于n 2 6 3 的解决方案相比,u b l i v e 一2 6 l c 6 4 的编码效率提高 5 0 。 随后该公司提出以t m s 3 2 0 d m 6 4 2 为平台的基于h 2 6 4m a i np r o f i l e 视 频广播解决方案u b l i v e 一2 6 4 m p 。u b v i d e o 主要研究了基于r d o ( r a t e d i s t o r t i o n o p t i m i z e d ) 的运动估计和模式判决算法,能够获得较好的编解码质量并在一定 程度上降低了复杂性。这是当时世界上唯一的嵌入式实时广播级标清( s d ) 编 解码方案。 该公司除了给出上述基于d s p 平台的方案之外,还提供了优化后的基于p c 平台的j v t 编码器,其在p e n t i u mi i i8 0 0m h z 平台上对c i f 格式视频序列编解 码获得了接近实时的效果,同时支持所有的b a s e l i n e 语法和编码特征。其速度 提高的主要原因在于高效的程序设计、有效的运动估计和模式判决算法。随着 草案的完善和r d o 的改进,编码器在客观和主观质量上均得到了明显的提高。 2 、v i d e o l o c u s 公司方案 2 0 0 2 年7 月,在k l a g c n f u r t 会议上,v i d e o l o c u s 展示了实时s d 编码器。 通过软硬件结合的方式实现系统设计:将复杂耗时的运动估计( 包括s k i p 模 式) 、帧内估计、模式判决由f p g a 硬件实现;而变换和反变换、量化与反量化、 运动补偿、环内滤波、变长编码、码率控制( v b r ) 和帧类型判决通过软件实现。 上海大学硕士学位论文 浚编码器仅实现了i 、p 帧编码,运动估计精度达到1 4 像素,v l c 编码。采用 标清7 2 0 x 4 8 0 序列测试,帧率为3 0 f s ,码率接近1 m b p s 。 该编码器需要进一步完善,待改进的内容主要包括c a b a c 实现,b 帧编码、 扩展运动估计、提高码率控制、熵编码的硬件实现、系统层打包和音频复用, 前后处理滤波以及低于实时的h d 编码器 1 1 , 1 2 1 。 3 、其他发展情况 h h i 研究所在p e n t i u m 4 平台上软件实现实时t v 序列的解码和2 0 h zc i f 格 式的编码,在a p d 9 2 2 上实现了6 f p sc i f 和2 5 f p so c i f 解码 1 3 1 。 i n t e l 公司在通用处理器上使用多媒体指令实现7 2 0 x 4 8 0 序列的解码,可 达到4 8 帧秒;并采取同样的技术进行编码器设计,展示优化后关键模块的耗 时情况【1 4 】。 n o k i a 公司的v il l e 等人1 5 1 也从事这方面的工作,用c 语言完成中等程度 的优化,在高等程度的优化中使用m m x ( m u i t im e d i a e x t e n s i o n s ) 完成一些关 键核的设计,如s a t d 。 有几家公司e 在制作能够对h 2 6 4 a v c 视频进行解码的可编程芯片。2 0 0 5 年1 月,b r o a d e o m ( t h eb c m 7 4 11 ) ,c o n e x a n t ( t h ec x 2 4 18 x ) ,n e o m a g i e ( m i m a 百e 6 1 和s t m i c r o e l e c t r o n i c s ( t h es t b 7 1 0 0 ) 几家公司都提供了可供测试的样片。这些 芯片的出现将极大地推动低成本的能够播放标清和高清分辨率的h 2 6 4 a v c 视 频的快速推广。这5 种芯片中的4 种( 除了n e o m a g i c 的芯片,它是针对低能耗 应用的) 都具有播放高清分辨率视频的能力。 苹果公司已经将h 2 6 4 集成进入m a c0 sx 版本v 1 0 4 ( 呢称老虎:t i g e r ) , 并于2 0 0 5 年5 月发布了支持h 2 6 4q u i c k t i m e 版本7 0 。2 0 0 5 年4 月苹果公司 升级了软件d v ds t u d i op r o 以支持授权的高清格式的内容。该软件支持将 h d d v d 格式的内容刻录到标准d v d 或者h d d v d 媒体( 虽然现在还没有对应的刻 录机) 上。为了播放刻录在标准d v d 上的h d d v d 内容所需要的硬件是p o w e r p c g 5 ,软件是a p p l ed v dp l a y e rv 4 6 ,以及m a co sx v1 0 4 。 4 上海大学硕士学位论文 1 3 论文内容安排与研究成果 1 3 1 论文的主要研究内容及其编排 本论文针对目日口研究现状中存在的不足,将最新的视频编码标准h 2 6 4 编 码器作了比较全面而深入的优化。 首先为了使得编码器速度能有一个质的飞跃,从数据结构上作了重新设计, 使其模块化,算法方面采用了快速帧内模式判决等算法,重点研究了利用i n t e l 指令集( 包括m m x ,s s e ,s s e 2 ) 结合汇编语言对编码器中的主要耗时模块如: s a d s a t d ,整数变换,亚像素内插等进行了优化,优化效果非常明显,显著提 高了编码器速度,使得本编码器达到了实时要求。 为了使解码之后的码流能够更好地显示和播放,本论文还对h 2 6 4 码流播 放器设计提出了一些建议,并成功设计出可以调节播放速度,适合c i f ,q c i f 等多种图像尺寸的码流播放器。 论文共分六章,主要内容安排如下: 第一章主要包括针对h 2 6 4 - i 际准的广泛应用,阐述了h 2 6 4 编码器优 化的必要性以及当前主要的研究现状。 第二章h 2 6 4 编码器。本章简要分析了h 2 6 4 编码器的性能及特点, 并和h 2 6 3 ,m p e g 4 等编码器进行简单比较,得出h 2 6 4 编码器优化的必要性。 第三章i n t e l 指令集及汇编语言。本章介绍了i n t e l 指令集及汇编语言的 主要特点,并指出了利用这两个工具对h 2 6 4 编码器优化的可行性。 第四章h 2 6 4 编码器的优化设计。首先从数据结构方面简要介绍了 h 2 6 4 编码器框架的设计,然后将快速帧内模式判决算法应用到该编码器中, 最后提出了利用i n t e l 指令集及汇编语言优化的思路及具体步骤。并在本章的最 后进行了测试及分析比较。 第五章h 2 6 4 码流播放器设计。首先说明了码流播放器设计的意义, 然后介绍了y u v 转换为r g b 的公式,接着详细阐述了播放器的设计过程,最 后简要交待了播放器的使用说明。 第六章在对所做工作总结的基础上,对今后的工作做了展望。 上海夭攀颧士学擅论文 1 3 2 研究生期间研究成果 1 、幂用i n t e l 指令祭,提出了对h 2 6 4 编码器主要模块s a d s a t d ,整数 交换与爱交接,妥像素痰矮豹其镕霞壬乏方法,并终凌速蔟瘤摸式逸箨箕法运焉 到该编码器中。 2 、实现了利用汇编语言的特性,与i n t e l 指令集结合起来对h 2 6 4 编码器 优化,在普通p c 平台上编码速度达到了实时。 3 、实现了h 。2 6 4 褥溅矮蔽器验设诗。奁勰褥嚣蜃端对解磷簸懿v u v 格式 鹞流避 亍螽处理,将萁转换为r g b 藉式。该撵敖器可根据需要疆熬搔救速度( 1 帧每秒一6 0 帧每秒) ,能邋应多种图像如c i f ( 3 5 2 x 2 8 8 ) ,q c i f ( 1 7 6 x 1 4 4 ) 等。 第二章h 。2 6 4 编码器 2 1 前言 由于本论文是基于最新视频编码标准h 2 6 4 基础之上研究的,所以本章首 先对1 t 2 6 4 的特点及性能作简要介绍。 瓣2 6 4 耧驳薅戆拣潦疆,篷莛0 麟( 差分敷渖续殛穰麓) 豢变换续秀静 混合编码模式。但它采用“回归基本”的简滔设计,不用众多的邈项,获得比 h 2 6 3 + + 好得多的压缩性能:加强了对各种信j 篦的适应能力,采用“网络友好” 的结构和语法,有利于对议码和丢包的处理;鹿用目标范围较宽,以满足不同 速率、不霹解析度澄及不阉健竣( 存储) 场合豹霭求。 焱缓术上,它集中了以往标准兹饶煮,并暇收了标准裁定中稷累静经验。 与h 2 6 3 ( h 2 6 3 + ) 或m p e g 一4 简单类( s i m p l ep r o f i l e ) 相比,h 2 6 4 在使用与上 述编码方法类似的最佳编码器时,在大多数码率下最多可节省5 0 的码率。h 2 6 4 在掰肖硒率下都能持续提供较高的视频质量。h 。2 6 4 能工作在低殛时模式以适 应实瓣i 覆嫠夔应焉( 魏援鬏会议) ,蘑时又戆缀好缝工薅在援舂筵辩辗裁懿瘟弼, 如视频存储和以服务器为蒸础的视频流式成嗣。 6 上海大学硕士学位论文 2 2h 2 6 4 编码器 2 2 1h 2 6 4 编码器主要特点 尽管h 2 6 4 的设计思想仍遵从基于块的混合编码方案,结构与以前的编码 标准m p e g 一2 、h 2 6 3 和m p e g 4 类似。但它包含了许多新特征,能够显著提 高编码效率。其主要特点是: 1 1 帧内预测编码的多种模式 亮度的帧内编码块尺寸分4 x 4 和1 6 x 1 6 两种。4 x 4 块的9 种预测模式适用 于有丰富细节内容的区域,其中的8 种模式如图2 - 1 所示,还包括直接预测模 式。1 6 x 1 6 块的4 种预测模式 ”1 ( 包括水平预测,垂直预测,直接预测和平面 预测) 适用于变化较缓和区域。色度的帧内预测编码只有8 x 8 一种,共4 种预 测模式,类似于亮度帧的1 6 x 1 6 模式。 易 7 图2 - 14 x 4 块的8 种预测模式 2 1 多种块大小 运动补偿过程中,块大小由以前标准的1 6 x 1 6 和8 x 8 模式,扩展为7 种模 式:1 6 x 1 6 、1 6 x 8 、8 x 1 6 、8 x 8 、8 x 4 、4 x 8 、4 x 4 。如图2 2 所示。 ( a ) 泓圈由酋一团 上海大学硕士学位论文 曲苜函豳 ( b ) 图2 2 运动补偿中的块分割模式 ( a ) 1 6 x 1 6 宏块分割模式( b ) 8 x 8 子块分割模式 3 ) 高精度的运动估计 在h 2 6 4 中,运动矢量精度由以前标准的1 2 像素提高到1 4 像素,色度 块提高到1 8 像素。非整像素值通过自适应内插滤波器获得,半像素位置上的 值采用6 - t a pw i e n e r 滤波器分别在水平和垂直方向滤波而得,1 4 像素的值由 整像素或半像素值平均得到。 相比于h 2 6 3 和m p e g 一2 所使用的1 2 像素精度,其p s n r 可以提高约2 d b 。 同时h 2 6 4 还支持非限制运动矢量模式,当运动矢量指向图像外面时,可以对 参考图像进行边界扩展。 4 ) 多参考帧 相比于以前标准只有1 个参考帧,h 2 6 4 通常可支持5 个参考帧。允许b 帧作为其它帧的参考帧”。对于宏块模式中的每一个子块都可以任意选择参考 帧,但每个8 x 8 模式子块的参考帧相同。这可以使编码宏块在三维空间找到最 佳参考帧,避免运动预测在时间轴上陷入局部最小1 8 】,。 多参考帧运动估计既可以提高编码效率,还可提高抗误码性能。采用5 个 参考帧比一个参考帧平均可提高亮度p s n r 约0 1 0 d b ,比特率下降1 6 6 7 ,编 码时间增加约1 0 9 5 1 i ”i 。 5 ) 变换与量化 在h 2 6 4 之前的图像压缩标准都采用8 x 8 的d c t 变换来减少预测残差的冗 余度。而h 2 6 4 则采用整数变换来代替d c t 变换,且变换尺寸变为4 x 4 ,特殊 情况下可以为2 x 2 【2 0 2 ”。这种较小块尺寸可以使编码器更好地适应运动对象边界 的预测残差编码,使变换块尺寸与最小的运动补偿块相匹配,通常能很好地适 应局部预测残差信号。 h 2 6 4 采用低复杂性4 x 4 整数变换和量化。新的变换通过对d c t 变换矩 阵的因子整数化,仅使用加法和移位就可实现,消除了反变换的不匹配。新的 上海大学硕士学位论文 量化方法仅使用乘法运算,将最终量化值保证在1 6 b i t 范围内。 相对于小的变换块,大的变换块一方面提供更好的能量集中性和细节保持, 另一方面导致更多的“振铃( r i n g i n g ) 效应”。因此,根据信号性质,自适应 选取变换块尺寸( a b t ) 折衷考虑这两方面因素,具有提高主客观质量和降低 比特率的优点。 可使用三种不同的变换矩阵,如图2 - 3 所示。 耳= 11 2l 1一l 12 ll 一1 2 一l1 21 马= 只= 图2 3h 2 6 4 中三个不同的变换矩阵 第一种适用于所有亮度和色度的预测残差块,包括运动补偿和帧内预测, 块的尺寸为4 x 4 ,如图中h ,所示。如果宏块采用i n t r a l 6 x 1 6 模式编码,除了 第一个变换外,对它的1 6 个亮度d c 系数采用哈达玛矩阵h 2 变换,变换尺寸为 4 x 4 。第三个矩阵也是哈达玛矩阵,尺寸为2 x 2 ,用于每个色度块的4 个d c 系 数变换。 相对于d c t 变换,所有整数变换矩阵中的元索值分布于 一2 ,2 。因此,变 换和反变换只需要1 6 位运算,通过低复杂的移位、加法和减法操作就可以完成。 而在哈达玛变换中仅需加法和减法操作即可。由于运算都是整数操作,因此可 以完全避免因d c t 变换中浮点数舍入误差造成的反变换后不匹配。但整数变换 需要利用矩阵行向量的归一化因子对系数进行缩放,h 2 6 4 将系数缩放和量化 结合起来,可进一步减少运算复杂性。 所有的变换系数可以通过一个分级的量化因子来进行量化。其量化步长尺 寸可以通过量化参数( o p ) 来选择,共有5 2 个不同的q p 值。q p 值每增加6 ,其 量化步长增加一倍。q p 每增加1 ,所需的码流减少约1 2 5 。 这种量化方法仅需进行一次乘法与移位运算,避免了除法运算,同时还实 现了系数缩放和量化两个过程。量化公式如2 - 1 : x q ( i , j ) :姆瞰砌) 匦雩警业 。, 上海大学硕士学位论立 其中j l ( f ,) 是量化后的值,x ( i ,) 是残差系数,s 堙嘣x ) 取x 符号,q 0 ( q p x 6 ,呸= q p 6 ( q p 为量化参数) ,用来四舍五入,一( q 0 ,f ,) 可通过 查表得到。 反量化公式如2 2 : x r ( f ,) = x q ( f ,) 域鳓,f ,力 5 h = ( h l + 1 6 、 5 ( 4 - 3 ) ( 4 4 ) ( 4 - 5 ) ( 4 6 ) ( 4 - 7 ) 上海大掌磺士掌链论文 a = ( g + b + 1 ) 1 铲( b 喃+ 1 :) l ( 4 - 8 ) ( 4 - 9 ) 图4 - 1 3 亚像素插德框图 将上述公式逶行合并阕类硬之詹,可褥到拳像素插值款其 奉诗蘸公式,如 公式( 4 1 0 ) 嚣( 41 7 ) : d s t o = c l i p ( ( ( ( s r c _ 2 + s r c 3 ) + 54 ( ( ( 3 1 口o + 8 。1 ) 5 ) ,0 ,2 5 5 ) d 8 瞄谢d e 】= c l i p ( ( ( ( s r c _ l 十8 r c 4 ) + 5 s r c l + s r c 2 ) “2 ) ( 4 - 11 、 一( s r c 0 十s r e 3 ) ) + r o u n da d d ) 5 ) ,0 ,2 5 5 ) d s f 2 毒s t r i d e = c l l p ( ( ( ( s r c 0 + s r c 5 ) + 5 + “( 8 r c 2 + 8 r c 3 ) 5 ) ,0 ,2 5 5 ) d s 哇48 赚d e 】。c l 狰“8 f c 2 十8 f c 7 ) + 54 s r c 4 十8 r c 5 ) 5 ) ,0 ,2 5 5 ) j 二海大学硕士学位论文 d s t 5 + s t r i d e = c l i p ( ( ( ( s r c 3 + s r c s ) + 5 牛( ( ( 8 r c 5 + 8 r c 6 ) 5 ) ,0 ,2 5 5 ) d s t 6 + s t r i d e = c l i p ( ( ( ( 8 r c 4 + 8 r c 9 ) + 5 + ( ( ( 8 r c 6 + 8 r c 7 ) 5 ) ,0 ,2 5 5 ) d s t 7 + s t r i d e = c l i p ( ( ( ( s r c 5 + s r c l o ) + 5 + ( “8 r c 7 + 8 r c 8 ) 2 ) ( 4 1 7 ) 其中d s t 0 1 表示一个8 x 8 块中第一行第一个整像素和第二个整像素间的半 像素,d s t 【s t r i d e 表示第二个整像素和第三个整像素问的半像素,s t r i d e 为一个整 像素的宽度。依此类推。c l i p 表示对最后得到的值进行饱和处理,即:当值 小于零时当作零处理,超过2 5 5 时就等于2 5 5 。 因为6 - t a p 滤波中有6 个象素参与运算,其中间过程的值会超过o - 2 5 5 , 所以m m x 优化时先把8 位数据表示的象素扩展到1 6 位的大小,扩展后一个m m x 寄存器一次只能放4 个象素的有效值。所以对一行8 个象素就需要两个m m x 寄 存器来存放。访问这些寄存器的速度与c p o 运行速度相同,大大高于外部r a m , 从而节省了内存带宽,c p u 的处理效率也得到了提高。 下面具体阐述运动补偿过程中半像素插值的优化策略。 由于h 2 6 4 共有七种块模式,由小到大分别为4 x 4 、4 x 8 、8 x 4 、8 x 8 、8 x 1 6 、 1 6 x 8 、1 6 x 1 6 ,如果对每种块模式分别做内插,则需重复计算,造成极大浪费。 可以选择一些子块作为基本优化块,对它们进行指令集优化,而其余块模式的 优化可直接调用这些子块就可完成。 因为h 2 6 4 是以4 x 4 为基本处理单元,故可将它选为一个基本优化块。尽 管4 x 4 块m m x 优化的资源利用率不高,但这个基本模块可以为4 x 8 和8 x 4 子块 直接利用,便于程序的结构化设计,可节省大量的重复计算。另外可将8 x 8 块 也作为一个基本优化块,以充分利用m m x 的6 4 b i t 数据结构。而8 x 1 6 、1 6 x 8 和 1 6 x 1 6 子块的内插可以利用8 x 8 的结果,避免了重复计算。本文以8 * 8 块为例 来说明指令集优化的主要过程。依据公式( 41 0 ) 到( 4 1 7 ) 并利用指令集的 特性,给出8 * 8 块水平方向对其中一行插值的指令集优化主要过程框图如图 4 1 4 和图4 一1 5 所示。 上海大学硕士学位论文 图4 1 4 并行完成了s r c o + s r c 1 】 2 ,s r c 1 + s r c 2 2 一直到 s r c 7 + s r c 8 q 这八个计算过程。这里,s r c o 】表示源8 * 8 块中一行的第1 个像素( 零位置像素) ,s r c 1 表示位于该行的第2 个像素( 一位置像素) ,s r c 1 】 表示s r c o 】左边的第1 个像素( 负一位置像素) ,依此类推。以第一行为例来说 明。首先,将第一行零位置起8 个像素( s r c o j 至f j s r c 7 】) 和一位置起8 个像素 ( s r c 1 】至u s r c 8 】) 的亮度值分别放置到m m o 和m m 2 寄存器中。为了有效发挥m m x 指令并行计算的优势,完成高低位字节同时计算,分别将m m o ,m m 2 复制到 m m l ,m m 3 中,然后利用指令p u n p c k h b w 把高低位字节分别扩展成字,这样就能 避免结果溢出,保证运算的准确度。接着分别对高低字节做加法,逻辑左移2 位,即乘以4 ,这就完成了过程一。 图4 1 48 * 8 块插值指令集优化过程一 图4 1 5 的指令集优化过程二并行完成了计算5 + ( ( s r c 0 1 + s r c 【1 】) 2 ) 量海大学磺壹学位论文 ( s i c 【一1 1 + s r e 2 ) ) 一直到54 ( ( s r c 【7 】+ s r c 8 】) 2 ) 一( s i c 6 】+ s r c 9 ) ) 这八个 过程。 程宠戚图4 一1 4 、謦4 一i 5 掰示步骤之螽,恕受二往置起8 个豫豢( s r e - 2 】虱 s r c 5 】) 和三位置起8 个像漆( s r c 3 到s r e 1 0 】) 的亮度值相加,将所得结果与 前面两个过程各自得到的结果加起来,再加上r o u n d ( 舍入误差) ,最后算术右 移5 袋,褶当予除以3 2 ,这糕裁完成了第一行懿攀象素疆僮过程。姆本过程键 环8 次帮完成8 * 8 块水平方淘的半象素捶毽。 i 负一位置起8 个象 素l o a d l l j m m 2 毒 c o p ym 2 到m m 3 | 中闷道穗同过程一一直| 到究成加法过程1 i 二位置起8 个象素 l o a d j f j m m 4 上 【c o p ym 4 到5 黼4 - 158 * 8 块插值指令袋优耽过程二 攀窟方向的优化与水平方向类似。此时,s r e o l 表示一列第行的像素, s i c 1 】液示该y , j s r c 0 上一行的像素,依此类推。优化思路与水平方向完全相 弱。 出公式( 4 8 ) ,( 4 - 9 ) 可知,得到半豫索假之后,1 4 豫素傲豳两个半像 素值取均值即可得到,正好可以直接用m m x 指令中的p a v g w 指令完成。 应注意的是:在内插的具体实现过程中,可煎新开辟一个帧存,把原始像 素德莱以5 蜃懿结果放入该峻存的对应位置,以减少对犀一像素的壤复乘法。 并虽可以通过对乘以5 静络袋进行移位褥到藜戳2 0 的揉佟。 4 5 汇编级的优化 指令集的优化方式主要分为两种,一种是瓶接在c 程序中嵌套指令集进行 4 0 上海大学硕士学位论文 优化,另一种是将汇编与指令集直接结合起来共同执行优化。前者由于编译起 来不方便,所以本优化采用第二种方法该方法在优化过程中可以分模块编译和 调试,并且在编译完成之后与相应的c 语言模块相连接即可。 具体步骤如下: 第一步:在使用指令集之前仔细分析各模块中有哪些部分是需多次调用的, 哪些部分是计算的中间过程,分析完以后记下来; 第二步:根据汇编语言宏定义,将需要多次调用的部分和某些中间过程定 义为宏。宏是一段指令,可以插在源程序中。宏必须事先定义好,宏之间可以 互相凋用,也可以自己递归调用。宏定义本身不会产生代码,只是在调用它时 把宏体插入到源程序,它主要的好处是令程序书写简洁明了。如4 3 1 中所用 到的整数变换中的矩阵转置宏,计算s a d 时的一些中间值等分别定义为宏。 第三步:结合指令集完成各个模块的优化; 第四步:对各个模块分别编译成o

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论