(信号与信息处理专业论文)h264avc实时编码器的pc实现与dsp优化.pdf_第1页
(信号与信息处理专业论文)h264avc实时编码器的pc实现与dsp优化.pdf_第2页
(信号与信息处理专业论文)h264avc实时编码器的pc实现与dsp优化.pdf_第3页
(信号与信息处理专业论文)h264avc实时编码器的pc实现与dsp优化.pdf_第4页
(信号与信息处理专业论文)h264avc实时编码器的pc实现与dsp优化.pdf_第5页
已阅读5页,还剩74页未读 继续免费阅读

(信号与信息处理专业论文)h264avc实时编码器的pc实现与dsp优化.pdf.pdf 免费下载

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

文档简介

上簿大学砸:l 学位| 文h2 6 4 a v c 实时编码器的p c 实现与d s p 优化 摘要 h 2 6 4 a v c 是i t u t 干l 1 1 s o 联合推出的新标准,采用了近几年视频编码方面的 先进技术,以较高编码效率和网络友好性成为新一代国际视频编码标准。 h 2 6 4 a v c 仍基于以前视频编码标准的运动补偿混合编码方案,主要不同 有:增强的运动预测能力:准确匹配的较小块变换;自适应环内滤波器;增强的 熵编码。测试结果表明这些新特征使h 2 6 4 a v c 编码器提高5 0 编码效率的同 时,增加了一个数量级的复杂度。实际中恰当地使用h 2 6 4 a v c 编码工具可以 较低的实现复杂度性得到与复杂配置相同的编码效率。故实际编码系统开发需要 在运算复杂性和编码效率之间进行折衷,兼顾考虑。 本课题以实现不同平台( p c 与d m 6 4 2 ) 上的基于h 2 6 4 a v c 的实时编码器 为目标。工作可以分成以下两个阶段: 第一、编码器c 代码的设计与优化。这部分工作在p c 平台上实现,主要包 括重新设计程序框架、数据结构,采用快速而有效的算法,牺牲少量的性能换取 大幅速度的提升,以及针对p c 平台的指令集优化。其中作者负责程序框架、数 据结构的设计,各个模块的整合,以及程序的调试。这一阶段的工作作为后续工 作的基础,要求代码不但运行快速,而且需要有较好的稳定性以及可移植性。本 文第三章主要讨论这阶段的工作。 第二阶段为基于t m s 3 2 0 d m 6 4 2d s p 的编码系统实现。这一阶段将实现一 个简单的基于t id s p 的编码演示系统,该系统包括视频的采集,编码,以及重 建图像的回放。工作主要集中在p c 编码核的移植,演示系统的软件构建,以及 d s p 平台下代码的优化。作者采用t i 的建议,利用r f 5 ( r e f e r e n c ef r a m e w o r k5 ) 对编码核以及外围采集、显示模块进行整合,并对p c 编码核进行了一定的修改。 最后采用线性汇编,针对某些模块进行改写,以提高运行效率。本文第四章将着 重讨论d s p 的实现与优化。 关键词:h ,2 6 4 a v c ,实时编码器,t m s 3 2 0 d m 6 4 2 匕海大学6 i :1 :学位论文h2 6 4 a v c 实时编码器的p c 实现与d s p 优化 a b s t r a c t h 2 6 4 a v ci st h en e w e s tv i d e oc o d i n gs t a n d a r do ft h ei t u tv i d e oc o d i n g e x p e r t sg r o u pa n dt h ei s o i e cm o v i n gp i c t u r ee x p e r t sg r o u p i th a sa c h i e v e da s i g n i f i c a n ti m p r o v e m e n ti nr a t e - d i s t o r t i o ne f f i c i e n c yr e l a t i v et oe x i s t i n gs t a n d a r d s b u tt h ec o m p l e x i t ym a k e st h er e a l t i m ea p p l i c a t i o n sh a r d e rb ei m p l e m e n t e d t h ep r o j e c tf o c u s e so nt h es i n g l e - c h i ps o l u t i o no fh 2 6 4 a v cr e a l t i m ee n c o d e r at r a d eo f f b e t w e e ns p e e da n dp e r f o r m a n c em u s tb ef o u n d t w op a r to f j o bw e r ed o n e h e r e i nt h ef i r s tp h a s e ,a ne n c e d e rw r i t t e ni ncl a n g u a g ew a sc o n s t r u c t e do np c p l a t f o r m t h ef r a m e w o r ka n dd a t as t r u c t u r eo fe n c o d e rh a v eb e e nr e d e s i g n e d ,s o m e f a s t a l g o r i t h m sh a v eb e e ne m b e d d e d ,a n ds o m ep a r t i c u l a rm o d u l e sh a v eb e e n r e w r i t t e nu s i n gm m x t e c h n o l o g y , i no r d e rt of a s t e nt h ec n c o d e r t h ea u t h o rf o c u s e d o nf r a m e w o r k ,d a t as t r u c t u r e ,t h ec o m b i n a t i o no f a l g o r i t h m sa n dm o d u l e s ,d e b u g g i n g , a n dt e s t i n g t h ec o d em u s tb ef a s ta sw e l la sr o b u s t ,w h i c hm a k e st h et r a n s p l a n ti n p h a s et ? , v ob ee a s i e rs e c t i o ni i id e s c r i b e st h er e a l i z a t i o no fh2 6 4r e a l t i m ee n c o d e r o np cp l a t f o r m i nt h es e c o n dp h a s e ,ae n c o d e rd e m os y s t e mb a s e do nt m s 3 2 0 d m 6 4 2d s p , i n c l u d i n gv i d e oc a p t u r e ,e n c o d i n g ,a n dr e c o n s t r u c t e df r a m ed i s p l a y , h a sb e e nd o n e t h er e f e r e n c ef r a m e w o r k5 ( r f 5 ) h a sb e e nu s e d ,a st i ss u g g e s t i o n ,t oi n t e g r a t et h e h2 6 4e n c o d e rc o r ea n do t h e rt a s k sl i k ec a p t u r ea n dd i s p l a y t h ee n c o d e rc o r eo np c h a sb e e nt r a n s p l a n t e do nd s pw i t haf e wc h a n g e s f i n a l l y , s o m eo p t i m i z a t i o nw o r k s h a v e b e e nd o n eb yu s i n gl i n e ra s s e m b l el a n g u a g e t h em e t h o d sa n dk e y n o t e si n t r a n s p l a n t i n ga r ed e s c r i b e si ns e c t i o ni v _ k e y w o r d s :h 2 6 4 a v c ,r e a l t i m ee n c o d e lt m s 3 2 0 d m 6 4 2 h2 6 4 a v c 实时编码器的p c 实现与d s p 优化 原创性声明 本人声明:所呈交的论文是本人在导师指导下进行的研究工作。 除了文中特别加以标注和致谢的地方外,论文中不包含其他人已发表 或撰写过的研究成果。参与同一工作的其他同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 签名:日期:塑2 ) 本论文使用授权说明 本人完全了解上海大学有关保留、使用学位论文的规定,即:学 校有权保留论文及送交论文复印件,允许论文被查阅和借阅;学校可 以公布论文的全部或部分内容。 ( 保密的论文在解密后应遵守此规定) 签名导师签名:z 幽l 日期: 导师签名:么近型鹜粤日期: 上海大学硕:l 学位论文h2 6 4 a v c 实时编码器的p c 实现与d s p 优化 第一章绪论 1 1 视频编码标准发展历程 未经处理的视频数据包涵大量的冗余信息,这使视频压缩成为可能。视频压 缩的主要目的就是去除视频序列中的冗余信息。统计学与视觉心理学是视频压缩 中的两大技术。统计学主要用于去除视频序列时间域与空间域中的冗余信息,而 视觉心理学则用于确定时间空间域的带宽,色度亮度的比例等“。 对于视频压缩的研究早在2 0 世纪5 0 年代就已经开始,到8 0 年代已经形成了 套基于块的混合视频编码方法。其中分块变换编码可以去除空间域的信息冗余, 而基于运动补偿的d p c m 编码可以去除时间上冗余,最后通过熵编码去除混合编 码过程中码字统计上的冗余。自h 2 6 1 之后的各种视频编码标准几乎都沿用了这 种编码框架。 自1 9 8 9 年i t u t 的前身c c i t t 发布了第一个数字视频编码标准h 2 6 1 ( 草 案) 后,迄今为止已推出了包括h 2 6 1 、h 2 6 3 、h 2 6 4 在内的视频编码标准。 i s o i e c 下属的联合技术委员会( j t c l ) 也成功推出了音视频编码标准m p e g 一1 、 m p e g 一2 和m p e g 一4 。图1 1 给出了i t u t 与m p e g 两个标准化组织制定视频编 码标准的发展过程。 图1 1i t u t 与m p e g 视频标准发展框图 h 2 6 4 a v c 是首先由i t u t 开始制定,并在2 0 0 1 年底与i s o m p e g 联合制 定的新一代国际视频编码标准,目前己被i t u t 接纳为h 2 6 4 建议,并同时被 i s o i e c 接纳为国际标准1 4 4 9 6 1 0 ( m p e g - 4 第1 0 部分,高级视频编码( a v c ) ) 。 海大学i c ; = 学位论文h2 6 4 1 a v c 实时编码器的p c 实现亏d s p 优化 大约十年前制定的m p e g 2 己在标清( s d ) 和高清( i q d ) 能j 数字视频领域获得广泛 应用,如卫星电视信号、有线电视信号、地面发射电视信弓,以及d v d 光盘存 储。随着对高清晰视频服务要求的不断增长,要求更高的视频压缩效率。另外, 由于其它传输媒介的兴起,如c a b l em o d e m ,x d s l 或u m t s 等比广播信道带宽 更窄的传输媒介,要求以有限的传输码率获得相对更高清晰度的视频图像。近年 来,硬件处理能力的高速发展和视频编码技术的提高,导致了l l 2 6 4 标准的制定。 目前h 2 6 4 的高效编码技术已被世界专家们所肯定,预计在不久的将来,可能在 相关领域获得广泛应用。 1 2h 2 6 4 a v c 的优越性 相对于h 2 6 3 + ( h 2 6 3 v 2 ) 或m p e g 一4s p ( s i m p l ep r o f i l e ) ,h 2 6 4 同等程度的编 码器可节省5 0 的码流量。h 2 6 4 a v c 之所以能成为下一代的视频编码国际标 准,是因为其具有以下的优越性2 1 。 1 使用参数集来提高视频传输的鲁棒性 传统的视频编码标准中一个明显的缺点是它的分层特性,这导致视频传输在 容易丢包的环境下缺乏鲁棒性。这些编码标准通常在开始传递每个s l i c e 、p i c t u r e 、 g o p 1 3s e q u e n c e 之前都要先传递与它们对应的头信息。这些头信息包的丢失往往 使那些与之有关的数据变成无效。h 2 6 4 a v c 克服了这个缺点,使在一个实时多 媒体环境下同步传递的包变得相互独立,即每个包不依赖其它包能够独立重建。 所有高层的信息依赖于系统,而不依赖具体内容,因此可以异步传输。它将那些 经常变化的参数放入s l i c e 层。而将其他参数集中起来构成参数集。另外, h 2 6 4 a v c 还采用一种特殊n a l 单元来传送参数集。它可以在传递v c l n a l 单元 的信道内传递,在一些特殊应用场合下,也可以使用一种比视频通道更加可靠的 传输机制来优先传递参数集 。 2 具有网络友好性 传统的视频编码标准通常为某种特殊应用场合而设计的,通常使用开关电路 或直接面向比特流环境。而j v t 专家组在开始设计时考虑到在固定和无线网络传 输中包传递的重要性,加强了这方面的设计。这种传输通用的测试环境包括固定 一i z 海大学砸= e 学位论文 h2 6 4 a v c 实时编码器的p c 实现与d s p 优化 网络中的会话服务,以及3 g l e n 络中基于包交换的会话服务和流服务。对于口网络 通常在网络层采用口协议,在传输层采用u d p 协议,在应用层采用r t p 协议。1 p n u d p 只能提供一种不可靠的传输包服务,而r t p 使媒体传输成为可能。序号通 常可以用来恢复无序的工p 包。r t p 负载并没有增加比特流,但是可以定义如何解 释媒体信息。 3 可支持不同的码率、缓冲区尺寸和缓冲的启动延迟 在许多视频应用中,峰值比特率随网络路径变化或网络环境随时波动。此外, 视频比特流被传递给各种拥有不同缓冲能力的设备。因此,h 2 6 4 a v c 提供了一 种灵活的解码器缓冲模型,可支持各种视频应用环境( 包括码率、缓冲器大小和 缓冲器的起始延迟) 的广泛变化。h2 6 4 a v c 要求被传输的比特流能够被h r d ( h y p o t h e t i c a lr e f e r e n c ed e c o d e r ) 在参考缓冲器无上溢或下溢情况下解码。具体分 析可参照文献f 5 1 ,其目的为了支持不同码率。 4 小块的混合编码 h 2 6 4 帧内预测采用了更小的4 x 4 块【6 】;帧间运动估计时,块的尺寸最小也达 至l j 4 x 4 t 7 ;采用更小的4 x 4 整数变换代替以往的8 x 8 块的d c t 变换【8 1 。小块的混合编 码方式可以提高预测的精度,同时简化变换过程的计算量。 5 改进的帧间预测 传统的标准中最多使用两个预测帧。对于双向预测帧( b 帧) ,通常一个为 当前帧的前面帧,另一个采用它的后面一帧。而 l 2 6 4 a v c 允许多个参考帧预测, 通常可以采用5 个参考帧。尽管增加了编码器的复杂度,但能够显著改善预测性 能。文献 9 给出了多种b 帧情况,其中也可以全都是两个前向预测。实验表明多 参考帧能够提供较好的性能,在低比特率( 如0 5 m b p s ) 情况下,可以提高大约 0 5 d b ,在高比特率( 如2 5 m b p s ) 的情况下,可提高l d b 左右。 6 提高的亚像素精度 亚像素精度可以显著提高重建图像的精确性。这些像素点是被假设存在于实 际整像素点之间。它们的值可通过内插滤波器估计得到。传统的标准也使用了半 像素或1 4 像素精度,而h 2 6 4 a v c 着重通过1 4 或1 8 像素精度预测来改善编码能 力。它可以在高码率和高视频分辨率的情况下显著提高编码效率。 上海大学t i j i :t :学位论文 h2 6 4 a v c 实时编码器的p c 实现与d s p 优化 7 显著的数据压缩效率 早期的编码标准常用固定的量化表或以固定值增加量化步长。h 2 6 4 a v c 采 用了分级的量化器,量化尺寸以1 2 5 的比例增长,而色度值有更精细的量化步 长,显著提高了数据压缩效率。 8 较高的熵编码效率 h 2 6 4 a v c 采用u v l c ( u n i v e r s a lv a r i a b l el e n g t hc o d i n g ) n c a v l c r c o n t e x t - b a s e dv a r i a b l el e n g t hc o d i n g ) 和c a b a c ( c o n t e x t b a s e da d a p t i v eb i n a r y a r i t h m e t i c ) ,能够有效提高熵编码效率”】。相对于m p e g 一2 ,c a s a c 能够提高两 倍多。 9 较好的视频质量 h 2 6 4 a v c 使用了不同尺寸和形状的块模式、高精度的亚像素运动估计和多 参考帧选择。这些特征能够提供较好的运动补偿。同时还采用了近 以d c t 的整数 变换,可以消除反变换时不匹配的问题。因此,相对于传统的标准能够得到更好 的质量。 1 0 较强的分类能力 h 2 6 4 a v c 根据其编码能力划分了类( p r o f i l e ) 矛 等级( l e v e l ) 。类包括b a s e l i n e 、 m a i n 乖l e x t e n d e d = - - 类。每个类是由语法定义的一个子集,子集中又定义了若干等 级。每个等级规定了比特流中受限制参数的集合”i 。这种划分可以让h 2 6 4 a v c 适合不同领域的应用。 1 3 课题研究的必要性 图1 - 2 为h 2 6 4 与先前标准的率失真曲线图【”1 。其中 l 2 6 l 是 l 2 6 4 1 拘前身,在 i t u 与m p e g 成x ) :j v t 后,h 2 6 l 便改名为h 2 6 4 a v c 。从图中可以看到在相同信 噪比的情况下h 2 6 l l l m p e g 2 有5 0 以上的码率节省;比m p e g 一4 5 f w h 2 6 3 有3 5 以上的码率节省 。 h 2 6 4 虽在图像压缩性能上有较好的表现,但其复杂度也大大超过了以往的 标准。图l 一3 给出t h 2 6 4 参考模型j m 与m p e g 一4 参考模型v m 复杂度的比较【1 2 】。 4 上海大学坝1 :学位论文 h2 6 4 a v c 实时编峭器的p c 实现与d s p 优化 t o m p e t ec j f1 5 h z 02 5 65 1 27 6 81 0 2 41 2 8 01 5 3 617 啦 b i t - t a r o 【i 【b l t 8 】 图1 :2 不同标准性能比较图 图l 一3h 2 6 4 与m p e g 一4 复杂度比较 其中测试序列分别为c a l e n d a r & m o b i l e 、f o r e m a n 、m o t h e r & d a u g h t e r 。可 以看到即使是j m 的简单版本,其复杂度也是m p e g 一4 的两倍以上。 本课题旨在实现基于p c 年d d s p 的实时h 2 6 4 b a s e l i n e 编码器,满足实时要求是 本课题的首要任务。要解决这个问题,必需从三个方面来考虑,一个是从程序的 总体架构出发,优化设计程序框架,减少程序中的重复判断,提高代码执行效率: 舱”弘n站孙曲龃盯笱;。“ 富已芷zn,卜 i z 海大学颂:l 学位论义 h2 6 4 1 a v c 实时编码器的p c 实现与d s p 优化 第二就是从算法的角度考虑,从根本上减小计算量,从而提高编码与解码的速度; 其三,针对不同平台,采用特殊的指令进行优化。本论文主要从这三方面进行阐 述,探讨如何完成基于p c 和d s p 的实时h 2 6 4 编码器。 1 4 论文的内容安排 论文主要研究了h 2 6 4b a s e l i n ep c 编码核的设计、优化和实时实现技术,在 此基础上主要研究基于d m 6 4 2 的算法移植、优化技术,并设计和实现了基于 d m 6 4 2 的编码演示系统。本文共分为五章,具体内容安排如下: 第一章绪论。主要总结了国际视频编码标准发展的概况和h 2 6 4 a v c 的新特 点和优势,并由此说明了本课题研究的必要性。 第二章探讨了h 2 6 4 a v c 视频压缩编码标准的核心技术,按照h 2 6 4 a v c 视 频编码标准的归类原则,分别探讨t b a s e l i n e 年d m a i n p r o f i l er 中所涵盖的核心技术。 为编码核的p c 实现和优化提供理论依据。 第三章h 2 6 4 实时编码核的p c 实现。本章主要完成对整个h 2 6 4 a v cb a s e l i n e 编码器的设计、编写,洋细分析了编写过程中所提出的观点和方法,包括编码核 框架设计、数据结构的选用、内存的安排、算法的选用、指令集模块的接口和实 现,并对测试结果进行分析和总结,包括不同算法的性能比较、编译器对程序的 影响、编码核的性能等。 第四章基于d m 6 4 2 的h 2 6 4 编码演示系统的实现及优化。本章首先对演示系 统组成部分以及功能进行了论述,然后给出了编码系统的整体软件框架,接着就 移植过程中的技术要点和注意事项进行了阐述,其中线性汇编优化部分给出了关 键模块汇编优化的具体方法。测试部分包括代码复杂度分析、汇编优化模块性能 比较以及编码系统性能分析。 第五章结束语和展望。 卜海人学碳一卜学位沦文 h2 6 4 a v c 实时编码器的p c 实现与d s p 优化 第二章h 2 6 4 a v c 视频编码标准概述 2 1 h 2 6 4 a v c 编码标准的特点 m p e g ( m o v i n gp i c t u r ee x p e r t sg r o u p ) 和v c e g ( v i d e oc o d i n ge x p e r t sg r o u p 、 已经联合开发了一个比早期研发的m p e g 和 l 2 6 3 性能更好的视频压缩编码标 准,这就是被名为a v c ( a d v a n c e dv i d e oc o d i n g ),也被称为i t u - th 2 6 4 建议 和m p e g 一4 的第l o 部分的标准。简称h 2 6 4 a v c 或h 2 6 4 ,于2 0 0 3 3 正式被u t 通过并颁布。 h 2 6 4 优异的压缩性能必将在数字电视广播、视频实时通信、网络视频流媒 体传递以及多媒体短信等各个方面发挥重要作用。以数字电视为例,采用 m p e g 2 压缩一路高清晰度电视( h d t v ) ,约需2 0 m b w s 的带宽,利用h 2 6 4 进行一路h d t v 的压缩,大概只需5 m b i t s 的带宽。 1 3 1 h 2 6 4 不仅具有优异的压缩性能,而且具有良好的网络亲和性,这对实时的 视频通信是十分重要的。h 2 6 4 支持三个不同档次,分别针对不同的应用。 基本档次( b a s e l i n e p r o f i l e ) 主要用于“视频会话”,如会议电视、可视电话、 远程医疗、远程教学等。 扩展档次( e x t e n d e d p r o f i l e ) 主要用于网络的视频流,如视频点播。 主要档次( m a i n p r o f i l e ) 主要用于消费类电子应用,如数字电视广播、数字 视频存储等。 h 2 6 4 a v c 编码分为两层:视频编码层( v c l ) 和网络抽象层( n a l ) 。v c l 数 据即编码处理后的输出,它表示被压缩编码后的视频数据序列。网络抽象层则包 括解码v c l 所需要的一些重要头信息( 如图2 1 所示) ,并将v c l 数据封装进n a l 单元中。 ,i :i h 大学吼二i 学位睑义h2 6 4 a v c 实时编码器的p c 实现。od s p 优化 图2 1h 2 6 4 a v c 视频编码器结构 2 2 h 2 6 4 网络抽象层( n a l ) n a l 单元针对字节流传输( b y t es t r e a i l l ) 和包传输( p a c k e t t m n s p o n ) 两种不同 的特殊应用,分别采用两种不同的格式。用于字节流传输( 如d v d 等) 时,采用3 字节( o o0 00 1 ) 和4 字节( 0 0o o0 00 1 ) 的起始码作为同步标记;用于包传输( 如p 网络传输等) 时,无须采用起始码,而直接采用r t p 协议对码流进行打包传输。 e ! 工二二 乏黜翟嚣鉴训。 01 38 t :n a l u n i _ t y p e 图2 2 n a l 单元字节格式 图2 2 是表示起始码( 或r t p 报头) 之后一个字节的语义。其中第一个比特 为o ;n a lr e f e r e n c ei d c 主要用来表示该n a l 单元对应码流是否被其它n a l 参 考:n a l u n i t t y p e 则指示该n a l 单元对应r b s p ( r a w b y t es e q u e n c e p a y l o a d ) 数 据类型,主要包括序列参数集( s e q u e n c ep a r a m e t e rs e t ) 、图像帧参数集( p i c t u r e p a r a m e t e rs e t ) 、i d r 图像的已编码s l i c e 和n o nl - d r 图像已编码s l i c e 等( 详见 文献 3 ) 。 n a l 参数集主要包括序列参数集( s p s ) 和图像帧参数集( p p s ) 。序列参 数集主要包括一系列图像所需要定义的参数集合。图像帧参数集则主要包括某 帧或几帧图像所需要定义的参数集合。 由于序列参数集和图像帧参数集的应用,一些如图像大小等不经常改变的参 一卜海大学硕二b 学位论文 h2 6 4 a v c 实时编码器的p c 实现与d s p 优化 数信息不需要重复传输。每个v c l n a l 单元包含一个标识,标志相关图像参数 集;另外每个图像参数集包含一个标以,标志相关序列参数集。以这种方式,用 少量数据标识大量的信息,可避免在编码层重复传输大量的信息。序列与图像参 数集在v c l 层之前传输,并可重复传输参数以增强其差错鲁棒性”。 2 3 h 2 6 4 视频编码层( v c l ) h2 6 4 并不明确地规定一个编解码器如何实现,而是规定了一个编了码的视 频比特流的句法,和该比特流的解码方法,各个厂商的编码器和解码器在此框架 下能够互通,在实现上具有较大的灵活性,而且有利于相互竞争。 h 2 6 4 编码器的功能组成如图2 3 所示。 图2 3h 2 6 4 宏块编码基本框架 从图2 3 中可见,h 2 6 4 和基于以前的标准( h 2 6 1 、h2 6 3 、m p e g 一1 、m p e g 4 ) 中的编码器功能块的组成并没有本质的区别,主要的不同在于各个功能模块的细 节。 编码器采用的仍然是变换和预测混合编码的方法。经过帧内或帧问预测的宏 块,与原始块差分后,产生一个残差块,经过变换、量化后,进行熵编码,并加 入必要解码信息,进行传输或存储。同h 一通过反量化与反变换,并加上预测图像, h2 6 4 a v c 实时编码器的p c 实现与d s p 优化 经过滤波获得重建图像,用作下一帧的参考图像。 2 31 b a s e ln e 所包含的主要视频编码技术 231 1 帧内预测 h 2 6 4 标准中采用了更小的帧内预洲块分割方法,帧内亮度块可以采用4 x 4 或1 6 x 1 6 的预测方式。图2 - 4 表示了9 种4 x 4 亮度预测过程。 圈2 - 44 x 4 亮度块预测模式 图中4 x 4 亮度块的上方和左方像素a m 为已编码并重构的像素,用作编码 中的预测参考像素。利用a m 值和9 种预测模式,实现对图中灰色区域像素点 的预测。以预测模式0 ( 垂直预测) 为例,预测块是通过将a 、b 、c 、d 四个像 素点垂直复制获得的。模式2 为d c 预测,而模式3 8 则通过不同方向的内插获 得相应像素值。 亮度块同样可以采用1 6 x 1 6 的预测模式。l u m a l 6 x 1 6 共有4 种预测模式: 模式0 ( 垂直) :由上边像素推出相应像素值 模式1 ( 水平) :由左边像素推出相应像素值 模式2 ( d c ) :由上边和左边像素的平均值推出相应像素值 模式3 ( 平面) :利用线性“p l a n e ”函数【纠及左、上像素推出相应像素值, 适用于渐进亮度变化区域的预测。 每个帧内编码宏块的8 x 8 色度成分由已编码左方和上方色度像素的预测而 上海大学硕:1 学位论文 h2 6 4 a v c 实时编码器的p c 实现与d s p 优化 得,两种色度成分用同一种预测模式。8 x 8c h r o m a 共有4 利喑耍测模式,类似于 l u m a1 6 x 1 6 ,只是采用了不同的编号。其中d c 为模式0 、水平为模式1 、垂直 为模式2 、平面为模式3 。6 l 2 3 12帧间预测 h 2 6 4 帧间预测是利用己编码视频帧和基于块的运动补偿进行预测。与以往 标准帧间预测的区别在于块尺寸范围更广泛3 口1 、亚像素运动矢量的使用 1 4 】、及 多参考帧的运用旧。本节将介绍p 帧编码的主要技术。 h2 6 4 中每个宏块( 1 6 x 1 6 ) 可以按4 种方式进行分割:1 个1 6 x 1 6 ,或2 个 1 6 x 8 ,或2 个8 x 1 6 ,或4 个8 x 8 。其运动补偿也相应有4 种。而8 x 8 模式的每个 子宏块开可以进一步以4 种方式进行分割:1 个8 x 8 ,2 个4 x 8 ,2 个8 x 4 ,或4 个4 x 4 。这些分割和子宏块大大提高了各宏块之间的关联性。这种分割下的运动 补偿则称为树状结构的运动补偿,如图2 - 5 所示。 m 。- l c l + o b l o c k 1 ) a i l i t i o a s 。瀑高躲盎;e 图2 5 宏块及子宏块分割 每各分割块或子宏块都有一个独立的运动补偿。每个运动矢量( m v ) 必须 被编码,分割的选择也需编码压缩到比特流种。对大的分割尺寸而言,m v 选择 和分割类型只需要少量的比特,但运动补偿残差在多细节区域中则需大量比特。 小尺寸则相反。整体而言,大的分割尺寸适合于简单、整体的运动,而小尺寸则 适合复杂的运动( 一个宏块中包含多个物体不同方向的运动) 。 h 2 6 4 标准中采用了l 4 精度的运动矢量,这一技术进一步提高了运动估 计的精确度。由于参考块中并不存在l 4 精度像素点,需利用邻近整像素点内插 田田目目 海大学形! i 二学位论文 h2 6 4 1 a v c 实时编码器的p c 实现与d s p 优化 获得。图2 - 6 为亮度像素点内插示意图。 口口固园囝口口 口口回回回口口 国 园 圈 曰 四 口 田 园 回 口 圈 回 口口曰固圈口口 口口圃回囝口口 图2 - 6 亮度像素点内插 图中大写字母为整像素点。首先利用整像素点的线性内插获得半像素点( 如 b ,h ,m ) ,以半像素点b 为例,通过6 阶的线性滤波器可以获得( 式2 ,1 ) 。 b = r o u n d ( ( e 一5 f + 2 0 g + 2 0 h 一5 1 + j ) 3 2 ) ( 2 1 ) 其中r o u n d ( ) 为取整函数。e 、f 、g 、h 、i 、j 为整像素值。 类似地,h 由a 、c 、g 、m 、r 、t 内插获得。当获得c c 、d d 、h 、m 、e e 、 f r 后,再次滤波就可以获得半像素点j 。虽然6 阶的线性滤波器计算过程较为复 杂,但是它能够较准确地恢复出亚精度像素点,明显改善运动补偿的性能。 当获得半像素点后,1 4 像素点便可以通过邻近像素点的内插获得。例如1 4 像素点a ,可以通过公式2 2 获得。 以= r o u n d ( ( g + b ) 2 ) ( 2 2 ) 同样,1 4 精度像素点d 、e 则分别由像素点g 、h 和g 、j 内插获得。 由于色度块的采样精度是亮度块的一半,故需要1 8 精度的像素点内插。如 图2 7 所示。 h2 6 4 a v c 实时编码器的p c 实现与d s p 优化 【a b d y d 8 - d 、 8 一 d y c 壤 图2 7 色度1 8 像素内插 图中1 1 8 精度点a 可以通过式2 3 获得。 j = r 。u n d ( ( 8 一d ,) ( 8 一d ,a + d ,( 8 一d ,) b + ( 8 一( ? 。) ( f ,c + d ,d ,d 6 4 ) ( 2 3 ) 2 3 13 整数变换与量化 以前的标准都采用8 x 8 的d c t 变换来减少预测残差的空间冗余。而 h 2 6 4 a v c 则采用整数变换来代替d c t 变换”1 ,且变换尺寸变为4 x 4 ,特殊 情况下可以为2 x 2 。这种较小块尺寸可以使编码器更好地适应运动对象边界的预 测残差编码,使变换块尺寸与最小的运动补偿块相匹配,通常能很好地适应局部 预测残差信号。 耻h 图2 8h 2 6 4 a v c 中三个不同的变换矩阵 可使用三种不同的变换矩阵,如图2 8 所示。第一种适用于所有亮度和色度 的预测残差块,包括运动补偿和帧内预测,块的尺寸为4 x 4 ,如图2 8 中h 。所示。 如果宏块采用i n t r a l 6 x 1 6 模式编码,除了第一个变换外,对它的1 6 个亮度d c 系数采用哈达玛矩阵h 2 变换,变换尺寸为4 x 4 。第三个矩阵也是哈达玛矩阵, 1 1 l l l 1 一 一 21 , 1 1 一 一 1 1 l 1 i - 12 6 4 a v c 实时编码器的p c 实现与d s p 优化 尺寸为2 x 2 ,用于每个色度块的4 个d c 系数变换。 相对于d c t 变换,所有整数变换矩阵中的元素的值分布于 一2 ,2 。因此, 变换和反变换只需要16 位运算,通过低复杂的移位、加法和减法操作就可以完 成。而在哈达玛变换中仅需加法和减法操作即可。由于运算都是整数操作,因此 可以完全避免因d c t 变换中浮点数舍入误差造成的反变换后不匹配。但整数变 换需要利用矩阵行向量的归一化因子对系数进行缩放,h 2 6 4 a v c 将系数缩放和 量化结合起来,可进一步减少运算复杂性。 所有的变换系数可以通过一个分级的量化因子来进行量化。其量化步长尺寸 可以通过量化参数( q p ) 来选择,共5 2 个不同的q p 值。q p 值每增加6 ,其量化 步长增加一倍。q p 每增加1 ,所需的码流减少约1 2 5 。 这种量化方法仅需进行一次乘法与移位运算,避免了除法运算,同时还实现 了系数缩放和量化两个过程。量化公式 【6 如下: 刖:咖) 匮业缎丛生 ( 2 。) 其中x 。( i ,j ) 是量化后的值,x ( i ,j ) 是残差系数,s i g n x 取x 符号,q p 为量化参 数,q m = q p 6 ,q e = q p 6 ,f 用来四舍五入,a ( q m ,i ,j ) 可通过查表得到。 反量化公式如下: 置( f ,) = 疋( f ,j ) b ( 锄,f ,j ) 1 0 为拉格 l 海人学颂二h 学位论文h 2 6 4 1 a v c 实时编码器l 勺p c 实现与d s p 优化 朗日参数。通过确定编码选择项 ,使编码后的失真和码率总和最小。图像的失 真度由式3 2 给出: s s d = :ls ( 工,y ,t ) 一s ( x ,y ,f ) 1 2 ( 3 2 ) ( t ,y ) 式中,s 为原始块像素,s 为重建块像素。码长r 。包括宏块类型、子块帧内预 测模式( i n t r a 4 x 4 情况下) 和残差的编码比特。 在判决最佳帧内预测模式时,首先确定一种预测模式,可以计算出这种预测 模式所导致的图像失真,以及最终的码率,通过式3 1 便可以计算出该模式对应 的代价 彻。s 。遍历所有模式后,最小代价j 砌。e 所对应的为最佳预测模式。 校验模型j m 2 2 1 便采用了这种全搜索的算法,对所有模式进行检验,包括4 种8 x 8 色度块模式、4 种1 6 x 1 6 亮度块模式和9 种4 x 4 亮度块模式。它将宏块的 色度与亮度统一起来计算代价,首先选择一个色度模式,以s a t d 作为失真度的 度量对i n t r a l 6 x 1 6 模式和1 6 个4 x 4 块进行最优模式的选择,将最优亮度模式的 代价五。与色度模式的代价如一。,。相加后得到最后宏块的代价,。经过对四种色 度预测模式的遍历后,最终得到最优色度模式和最优的亮度宏块模式的组合。 这种全搜索算法能够扫描到所有的模式,编码质量最高,运算量电是最大。 其搜索的模式总数为4 x ( 1 6 x9 十4 ) ,共5 9 2 个。这意味着为了得到一个宏块的 最佳模式,需要计算5 9 2 个不同的j m o d e ,计算量相当的大。在下节中将论述本 编码核所采用的快速帧内模式选择算法。 33 12 快速帧内模式选择算法 图3 7 中所示为本编码核所采用的快速帧内模式选择算法 2 3 】。本算法和校验 模型所采用的全搜索算法相比主要有以下三个特点:将色度和亮度块分开考虑、 采用了简化的r d o 判决准则、提前对亮度块的块分割模式进行预判。模式搜索 的总数最多为4 0 次( 色度4 次,1 4 x 4 模式3 6 次) ,因此大大缩短了帧内模式搜 索的时间,且几乎没有性能损失。 h2 6 4 a v c 实时编码器的p c 实现与d s p 优化 4 块 图3 7 快速帧内模式选择算法流程 宏块的代价函数为 。和上 。之和。由于亮度代价与色度代价的计算 过程中并没有直接的制约关系,所以j m 8 的最小值必定为山。和如。n 的最小值 之和。图3 - 7 中将亮度与色度分开考虑,首先完成亮度的最佳模式判定,然后进 行色度预测。 由于r d o 的计算公式中需要用到最终的码长,这是的在预测之后必须经过 变换量化与熵编码。简化的r d o 采用宏块头信息的长度代替了宏块的实际码长, 宏块经过预测后便可以直接计算其j 值,不必进行繁琐的编码过程,大大简化了 模式搜索的时间。式3 3 为简化r d o 判决准则。 ,。d 。= s a t d m 。d 。+ 丸0 d e r ( 33 ) 其中s a t d 为预测块与原始块差值,经h a d a m a r d 变换后绝对值的和。r 1 为宏块 头信息码流睦度。 上海大学砸: + 学位论文h2 6 4 a v c 实时编码器的p c 实现与d s p 优化 图3 8 亮度帧内模式判定 本编码核在亮度块模式搜索前进行了模式选择,确定是采用1 4 x 4 模式还是 1 1 6 x 1 6 模式。图3 8 为亮度帧内模式预判流程。选择1 1 6 x 1 6 模式的条件有:当 前编码亮度块纹理平坦、有明显的水平纹理或垂直纹理、符合p l a n e 预测的特征。 提前预判采用计算m a d ( m e a na b s o l u t ed i f f e r e n c e ) 值的方法来表征宏块的纹 理特征,分别计算亮度块整体,水平垂直和斜向的m a d 值,当m a d 值小于一 定的阈值t h ,便可以判定采用1 1 6 x 1 6 要优于1 4 x 4 模式。式3 4 为m a d 的计算 公式: m a g - - e l x ( i ,) 一卅1 ( 3 4 ) e j 其中x ( i j ) 为第j 行第j 列像素值,m 为均值。计算d c 模式下的m a d 值时,m 为整个块像素的平均值,当m a d 值足够小时,我们就可以认为块很平坦,比较 适于d c 预测。在训算水平和垂直模式下的m a d 值,1 1 1 分别为行和列均值,当 m a d 较小时,可以认为块具有水平或垂直纹理。计算p l a n e 模式下m a d 值时, m 为p l a n e 预测后的平均值,当m a d 值较小时,便认定块符合渐进变化,可以 用p l a n e 预测。 :! 塑查堂里= ! ! ;兰些篓兰生堑竺竺竺皇里望型旦堕塑旦王墨翌皇旦! ! 旦韭 3 32 帧间模式快速判决 帧间预测模式判决主要用于确定最佳的宏块分割方式。如第二章中所述, h 2 6 4 采用树状的块分割形式,不同的排列组合众多,而校验模型采用遍历所有 可能的全搜索算法,大大增加了帧间预测的时间。图3 - 9 为帧内模式快速判决的 流程图。与全搜索模式不同的是,快速判决方式加入了许多提前判决,用于提前 结束搜索。快速s k i p 模式判决,1 6 x 1 6 模式判

温馨提示

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

评论

0/150

提交评论