(通信与信息系统专业论文)h264avc解码器的软件实现及优化.pdf_第1页
(通信与信息系统专业论文)h264avc解码器的软件实现及优化.pdf_第2页
(通信与信息系统专业论文)h264avc解码器的软件实现及优化.pdf_第3页
(通信与信息系统专业论文)h264avc解码器的软件实现及优化.pdf_第4页
(通信与信息系统专业论文)h264avc解码器的软件实现及优化.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(通信与信息系统专业论文)h264avc解码器的软件实现及优化.pdf.pdf 免费下载

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

文档简介

! :! ! ! 坐! 坚旦矍墼墼生壅翌墨! ! 些 h 2 6 4 a v c 解码器的软件实现及优化 摘要 h 2 6 4 是开放统一的视频编解码标准,对于解码兼容性有明确的规 定,它能够把提高视频图像的传输效率和为用户提供更高质_ 晕的画面两 个日标结合起来,所以该标准被认为技术先进,代表未来发展的方向。 特别是i p t v 成为中国通信产业发展的一个新的热点, l 2 6 4 以其各方面 的优势成为业界看好的标准之一。这就必然要求解码端能够支持各方面 的应用,特别是在h 2 6 4 的高压缩性能是以高复杂度为代价的,为满足 视频通信终端的应用要求必须对其进行性能上的优化。而以t 推出的 j m 模型是开放的最具有代表性的软件模型,对其的研究和优化具有实际 的意义。 本文围绕h2 6 4 a v c 标准展开,首先介绍了h 2 6 4 a v c 编解码原理, 着重对其新发展f r e x t 和s v c 扩展集分别进行了详细说明。 其次对h 2 6 4 a v c 基类解码器实现的空间复杂度和关键子函数实现 的时间复杂度分别进行了理论分析,并且讨论了硬件实现时影响解码子 函数时间复杂度的因素。存储复杂度由实现一个算法需要的近似内存的 大小来测量,时间复杂度由执行一个算法的特定实现需要的近似基本操 作数目来评估。在分析结果中给出了在p h i l i p s t r i m e d i a p n x l 5 0 2 为核 心的硬件平台上进行软件实现的可行性分析及影响各子函数设计的因 素。 最后,针对j m 9 6 模型软件解码器进行优化。优化过程主要分为算 法的优化和程序级的优化。算法的优化是分别针对解码器实现的各个模 块,如宏块解码、环路滤波等,分别进行解码流程和算法实现的优化。 而程序级别的优化主要是利用通用的程序优化方法,如用和移位来分剐 代替取模和乘除运算,循环展开等。同时给出了优化后各个函数模块占 用时间百分比,并且与优化前相比,性能有明显提高。 关键词:h 2 6 4 a v c 解码器存储复杂度时间复杂度解码优化 t h ei m p l e m e n t a t i o n & o p t i m i z a t 0 no fh2 6 4 1 a v cd e c o d e rs o f t w a r e t h ei m p l e 匝n t a t i o na n do p t i m i z a t i o n o fh 2 6 4 ,a v cd e c o d e r a b s t r a c t n o w a d a y s ,g r e a tc h a n g e sh a v et a k e np l a c ei nt h en e t w o r ke v e r y d a y i p t vi sh a v i n gb e e na h o t s p o ti nc h i n a w h i c ho fs t a n d a r di st ob ec h o o s e d ? h 2 6 4i so n eo f t h ec h o i c e sb e c a u s eo f i t sh i g hc o m p r e s s i o ne f f i c i e n c y i nt h i sp a p e r , w es t u d ya n da n a l y z et h ec o m p u t a t i o n a lc o m p l e x i t yo fa s o f t w a r e b a s e dh 2 6 4 a v cb a s e l i n ep r o f i l ed e c o d e r o u ra n a l y s i si sb a s e do n d e t e r m i n i n gt h en u m b e ro fb a s i cd e c o d i n gs u b f f m c t i o n s u s i n gt h em e a s u r e d f r e q u e n c i e s ,e s t i m a t e so f t h ed e c o d e rf o rt h es p e c i f i e dh a r d w a r ep l a t f o r m sc a n b ed e t e r m i n e d t oe s t i m a t et h ec o m p u t a t i o n a lc o m p l e x i t y , i ti s i m p o r t a n tt o u n d e r s t a n di t st w om a j o rc o m p o n e n t s :t i m ec o m p l e x i t ya n ds p a c e ( o rs t o r a g e ) c o m p l e x i t y t i m ec o m p l e x i t yi sm e a s u r e db yt h ea p p r o x i m a t en u m b e ro f o p e r a t i o n sr e q u i r e dt oe x e c u t eas p e c i f i ci m p l e m e n t a t i o no fa na l g o r i t h m s t o r a g ec o m p l e x i t yi sm e a s u r e db yt h ea p p r o x i m a t ea m o u n to fm e m o r y r e q u i r e d t o i m p l e m e n ta na l g o r i t h m t h e n ,f o re a c ho ft h em o s t c o m p u t a t i o n a l l yi n t e n s i v es u b f u n c t i o n so f t h ed e c o d e r , w ep r e s e n ta na n a l y s i s o f t h ef a c t o r st h a ta f f e c tt h e i rc o m p l e x i t y a tl a s t ,t h ep a p e rp r e s e n ts o m em e t h o d st oo p t i m i z et h ed e c o d e rb a s e d t h e i m p l e m e n t a t i o n & o p t i m i z a t i o n o f h2 m a v c d e c o d e rs o t 。1 w a r e o nj mm o d e l j mi ss u c hat y p i c a ls o f t w a r et h a ti ti sw o r t h w h i l et oa n a l y z e u s i n gp r o f i l et o o l st oa n a l y z et h ep e r f o r m a n c ee f f i c i e n c yo ft h es o f t w a r ei n o r d e rt of i n do u tt h em o s tt i m ec o n s u m i n gp a r to fi t o p t i m i z et h e s ep a r t s u s i n gt h em e t h o d sp r e s e n t e di n t h ef r o n tf i n a l l yt h ep e r f o r m a n c ee f f i c i e n c y o f t h ed e c o d e ri si m p r o v e dn o t i c e a b l e k e yw o r d :h 2 6 4 a v cd e c o d e r s t o r a g ec o m p l e x i t y t i m ec o m p l e x i t y s o f t w a r eo p t i m i z a t i o n 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:试弗跫! 日期:! 多:圣:f 兰 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 注释:本学位论文不属于保密范围,适用本授权书。 本人签名:亟堕垫!日期:垒么:主:竖 导师签名: 第一章绪论 第一章绪论 1 1 研究背景 i p t v 现在已经成为中国通信产业发展的一个新的热点,1 3 亿的人口和巨大稳定 的电视收视人群使中国具备了发展i p t v 的优良条件。它是一种全新的业务形态,在 全世界也才刚刚起步,而在中国尤其具有发展潜力。它的诞生将从根本上彻底颠覆了 传统电视固定时间、固定频道的概念,大大加强节目资源的反复利用,使中国的电视 节目资源得到放大,提高资源的使用效率。 i p t v 是一种用互联网技术来传播电视画面的新技术,其中间的媒介可以是电信 电话网络。而在其产业化推进过程中,h 2 6 4 是被业界看好的标准之一,它是v c e g ( 视频编码专家组) 和i s o i e c 的m p e g 共同成立的t ( 联合视频工作组) 联合 开发的视频编解码标准,所以既是i t u t 的h 2 6 4 ,也是i s o i e c 的m p e g 4 的a v c ( 高级视频编码部分) 。 h 2 6 4 是开放统一的视频编解码标准,对于解码兼容性有明确的规定,它能够把 提高视频图像的传输效率和为用户提供更高质量的画面两个目标结合起来,所以该标 准被认为技术先进,代表未来发展的方向。 1 2h 2 6 4 介绍 1 2 1 概述 从可视电话、会议电视、d v d 、流媒体到数字电视广播,数字视频应用已同益 广泛,其中标准的制定起到了重要的推动作用。由iso iec 制定的m p e g x 和由 i t u t 制定的h 2 6 x 是当前视频压缩领域的两大标准体系,前者在广播电视业界成 为当然的标准,后者在会议电视、可视电话等领域获得广泛应用。然而,随着i t 技 术的迅猛发展,网络应用日益普及,视频业务呈现日益多样化的特点,基于原有技术、 原有业务的视频压缩标准的不足便开始显现,如何利用最新技术开发新的标准,满足 新的业务需求成为当务之急。为此,在以往h 2 6 2 mp eg 2 曾有良好合作的情况下, i s o i e c 和i t u t 两大标准组织再次联手制定新的视频编码标准 h 2 6 4 m p e g 4p a r t1o 。 h 2 6 4 视频编码标准并不是开发指南,而是为不同制造商的编解码器提供兼容性。 比如,任何编码器产生的符合h 2 6 4 标准的比特流能被符合h 2 6 4 标准的解码器所处 理。 h 2 6 4 标准的主要用于矩形视频的高效编码和传输。它的本来目标是提供诸如 北京邮电大学硕上学位论文h 2 6 4 a v c 解码器软件实现及优化 h 2 6 3 + 3 1m p e g 视频( 简单档次) 标准相类似的功能,但它能提供更好的压缩性能 并可靠传输。应用目标包括双向视频通信( 视频会议和可视电话) 、广播和高品质视 频编码、包交换网络的视频流传输等。标准支持视频流在网络上的可靠传输,同时对 在不同的处理平台上的实现提供了支持。 1 2 2 新的应用领域和商业模式【1 】 h 2 6 4 a v c 的高压缩效率提供了新的应用和商业机会。现在可以在x d s l 上以 1 m b i t s 的速率传输t v ( p a l ) 质量的视频流。另外一个商业应用领域是卫星电视传 输。选择8 - p s k 和t u r b o 编码( 如现在正讨论的d v b s 2 ) ,并采用h 2 6 4 a v c ,每个 卫星的节目数量是现有使用m p e g 2 的d v b s 系统的3 倍。因为提供了如此大的额 外传输容量,使替换现有机顶盒成为可考虑的选择。 对d v b t 来说,h 2 6 4 a v c 也是一个有利的选择。如在德国选择的传输参数的 条件下( 8 km o d e ,1 6 - q a m ,码率2 3 ,和1 4g u a r di n t e r v a l ) ,每8 m h z 信道上允许 的比特率为1 3 2 7 m b i t s 。采用m p e g 一2 编码,每个信道的t v 节目限制在4 个,而采 用h 2 6 4 a v c ,节目数量可增加到1 0 或1 1 个,甚至更多。这不仅是因为编码效率的 提高,还由于大量不同节目的不同比特速率下的统计复用增益也提高了。另外一个有 效的选择与“e l e c t r o s m o g ”有关,即将q p s k ,码率1 2 与h 2 6 4 a v c 联合使用。这样 每个信道保留4 个节目,但是与上面提到的发送模式( 1 6q a m ,2 3 ) 相比,发送功 率较少了1 5 。 更进一步有利的商用领域是h d 传输和存储。现在可以以大约8 m b i t s 的速率编 码h d 信号,符合d v d 标准。这样势必刺激和加速家庭影院市场的发展,因为不再 需要等待更昂贵却不可靠的d v d 蓝激光了。每个卫星或电缆信道可以传输4 h d 节目, 这样对广播运营商来说更有吸引力,因为比m p e g 2 的传输成本更低。 另外,在移动通信领域,h 2 6 4 a v c 也发挥重要的作用,因为与3 g p p 指定的编 码机制比较h 2 6 3 基类、h 2 6 3 + 3 1m p e g 4 简单类,编码效率可以提高一倍。 在3 g 系统中可用数据速率代价较高,所以这点尤为重要。 h 2 6 4 a v c 代表了视频编码标准向前发展重要的一步。它比现有的标准的性能提 高2 倍,特别是与全球范围的数字电视系统采用的m p e g 2 相比由2 2 5 2 5 倍的提 高。这样使开发新的应用和商用机会成为可能。尽管h 2 6 4 a v c 的解码器复杂度是 m p e g 一2 的2 3 倍,编码器复杂度4 5 倍,但是由于技术有了大幅度的发展,它的 外部设备的复杂度比m p e g 2 相对要小。 另外,h 2 6 4 a v c 是公共和开发的标准。每个制造商都可以在竞争的环境中开发 自己的编码器和解码器。这样迅速降低了价格,使这项技术对每个人来说都是可承受 的。没有固定的专利形式,对今天网络时代来说,这点对广播通信是最重要的。 第一章绪论 新一代视频压缩编码标准h 2 6 4 a v c 的新进展f r e x t ,相对于第一版标准扩展了 视频源的采样格式与比特深度,加入了一些提高编码效率的工具。从而h 2 6 4 a v c 进一步提高了编码效率,扩大了应用范围。 目前,高类已经代替主类而成为广播和其他娱乐应用的首选。主要原因是,它比 起先前的主类只增加了极小的算法复杂度,却大大提高了压缩性能且编码器控制灵 活。其中,h 4 2 2 p 类可望在演播室环境中得以应用。在补充了f r e x t 之后,h 2 6 4 a v c 被迅速推广到各种应用中,主要包括:欧洲数字视频广播标准d v b ;美国先进电视 系统委员会a t s c ;d v d 论坛的h d d v d 规范;蓝光光碟协会( b d a ) 的b d r o m 规 范。 1 3 论文介绍 本篇论文围绕h 2 6 4 a v c 解码器的软件实现与优化展开。 论文中首先介绍了h 2 6 4 a v c 编解码原理,描述其系统结构及技术特点,并且 对它的新发展高保真扩展集f r e x t 和可伸缩扩展集s v c 分别进行详细说明。 其次,分析了h 2 6 4 a v c 基于b a s e l i n e 的解码器实现c c i r 6 0 1 格式图像家解码 的复杂度,并将其与硬件实现时的情况进行比较分析。实验中针对j m 9 6 模型编码的 c c i r 6 0 1 格式( 7 2 0 5 7 6 ) 量化参数为2 8 的m o b i l e & c a l e n d a r 压缩码流来分析解码器 的复杂度。 然后介绍软件优化的思想,再以j m 9 6 软件解码模型为基础,对h 2 6 4 的软件解 码器进行结构调整和优化,使其能实现标清格式视频压缩码流的快速解码。 最后对论文及工作成果进行总结,提出了下一步可行性建议。 1 4 小节 综上所述,在当前的网络时代,视频编码的目标从面向存储转到了面向传输。在 对视频压缩提出传统的高压缩效率的同时,还要求压缩后的视频流具有峰值信噪比 ( 质量) 、时域、空域和复杂度全面的可伸缩性,来最大限度地适应网络的异构特性。 同时,要求视频流具有一定的容错性以抵抗传输错误的影响。在网络上传输视频数据 是一个挑战,h 2 6 4 a v c 向人们展示了广泛的应用前景。 北京邮电人学硕i :学位论文h 2 6 4 a v c 解码器软件实现及优化 第二章h 2 6 4 a v c 系统及其新发展 h 2 6 4 a v c 项目最初的目标是希望新的编解码器能够在比以前的视频编码标准 ( 如m p e g 2 或h 2 6 3 ) 在低很多的码率下( 如一半或更少) 提供很好的视频质量; 同时,并不增加很多复杂的编码工具,使得硬件难以实现。另外一个目标是可适应性, 即该编解码器能够在一个很广的范围内使用,比如说既包含高码率也包含低码率,以 及不同的视频分辨率;并且能在各种网络和系统上( 如组播、d v d 存储、r t p f i p 包 网络,i t u t 多媒体电话系统) 工作。该标准第一阶段的正式版本已于2 0 0 3 年5 月 发布。 2 0 0 4 年9 月t 完成了一个对原标准的拓展,被成为高精度拓展( f i d e l i t yr a n g e e x t e n s i o n s ,f i 砸x t ) 。该拓展通过支持更高的像素精度( 包括1 0 比特和1 2 比特像素 精度) 和支持更高的色度精度( 包括4 :2 :2 和y u v4 :4 :4 ) 来支持更高精度的视 频编码。同时加入了一些新的特性( 比如自适应的4 x 4 和8 x 8 的整数变化,用户自 定义量化加权矩阵、高效的帧间无失真编码,支持新增的色度空间和色度参差变化) 。 可伸缩视频编码是目前国际上研究的热点。联合视频组( j v t ) 在过去的一年中 围绕s v c 展开了大量的研究工作,提出了作为h 2 6 4 a v c 扩展集的s v c 方案,实 现了时间、空间和质量( s n r ) 的可伸缩性。 2 1h 2 6 4 系统介绍 h2 6 4 a v c v l cv l c 编码器解码器 k ,一卜兰唑喽旦 1 n a l n a l n a l 编码器 解码器 n a l 解码器棒口 r 传输层 h3 2 0 m p 系e 统g 。2 l l 媒景呈件l r t p l 图2 1h 2 6 4 a v c 传输结构 h 2 6 4 a v c 将图像压缩系统分成了网络抽象层和视频编码层,结构如图2 1 所示。 前者将与网络相关的信息从视频压缩系统中抽象出来,使网络对于视频编码层是透明 的。而视频编码层则通过时域、空域预测和变换编码来完成对视频信息的压缩。采用 第二章h 2 6 4 a v c 系统及其新发展 分层结构有利于压缩编码与网络传输之间的分离,使编码层可以与移植到不同的网络 结构中,适应不同网络的传输。 2 1 i 网络抽象层 n a l 定义了数据封装的格式和统一的网络接口。数据承载在网络抽象层单元 ( n a l u ) 中,这有利于数据经打包后在网络中传输。对于面向比特流和面向数据 包的传输,n a l u 采用统一的数据格式,每个n a l u 包含单个字节的包头信息和多 个字节的数据。包头信息包含存储标志和类型标志。存储标志用于指示当前数据不属 于被参考的帧,从而便于服务器根据网络的拥塞情况进行丢弃;类型标志用于指示图 像数据的类型。 网络提取层( n a l ) 负责使用下层网络的分段格式来封装数据,包括组帧、逻辑 信道的信令、定时信息的利用或发序列结束信号等。n a l 支持视频在电路交换信道 的传输格式,支持视频在i n t e m e t 上利用r t p 舢d p i p 传输的格式。n a l 包括自己的 头部信息、段结构信息和实际载荷信息( 如果采用数据分割技术,数据可能由几个部 分组成) 。n a l 的任务是提供适当的映射方法将头部信息和数据映射到传输协议上。 这样,在分组传输中可以消除组帧和重同步开销。 为了提高h 2 6 4 的n a l 在不同特性的网络上定制v c l 数据格式的能力,在v c l 和n a l 之间定义的基于分组的接口、打包( 即上述n a l 对v c l 数据的承载过程) 和相应的信令也属于n a l 的一部分。这样,高编码效率和网络友好性的任务分别由 v c l 和n a l 来完成。 2 1 2 视频编码层 h 2 6 4 a v c 的视频编码也采用与m p e g 4 和h 2 6 3 类似的基于块的混杂编码方 法,通过复杂的帧间预测来减少运动图像时域上的相关信息,通过对预测残差进行 d c t 转换来减少运动图像空间上的相关信息。另外,还使用多种优于以往压缩算法 的方法来提高整体的压缩性能。与以前的视频编码标准一样,h 2 6 4 a v c 没有将前处 理和后处理等功能包括在草案中,这样可以增加标准的灵活性。 2 2 h 2 6 4 编解码原理【3 1 图像压缩系统的编解码过程如图2 2 ,其中灰色框内为解码部分。第一幅原始图 像数据经分块后使用帧内预测方式进行变换量化,此后的预测方法采用帧间预测方 式,将先前经运动补偿和运动估计编码的帧进行解码而得到的重构帧作为参考帧。两 种预测方式下都是将原始信息与参考信息的差值变换量化后进行传输。结果经逆量 北京邮电大学坝士学位论文 h2 6 4 a v c 解码器软件实现及优化 化、逆变换后通过滤波器得到输出视频信息。 图2 - 2h 2 6 4 解码器框图”1 和早前的标准( m p e g l ,m p e g 2 和m p e g 4 ) 一样,h 2 6 4 标准中没有直接定义 编解码器c o d e c ( e n c o d e r d e c d e r 组) ,而是定义了编码视频流的语法和对码流进 行解码的方法。实际上,编解码器应具备下图所示的编解码模块。尽管图示的功能模 块需要遵从,然而编解码结构的可选变化范围很大。c o d e c 基本功能模块( 预测、 转换、量化和熵编码) 与前面的标准都有一些变化,h 2 6 4 中重要的改变出现在各个 功能模块中。 22 1 帧内预测 如果图像中的一个块或者宏块选用帧内预测模式,预测块p 是当前帧中已编码块 的重建块。利用图像中相邻块的相关性,用当前块减去预测块p 去除相关信息,获得 预测残差。通常预测残差的能量很小,再将残差数据进行量化编码,己得到压缩的目 的。 对于亮度值,预测块p 有基于4 x 4 子块或者基于1 6 x 1 6 的宏块两种。对于每个4 x 4 亮度块总共有9 种预测模式,而对1 6 x 1 6 的亮度块有4 种可选模式:对于4 x 4 的色 度块预测模式通常只用一种。 图2 3 是4 x 4 亮度块的9 种预测模式,箭头表示每种模式的预测方向。对于模式 3 8 ,预测值由预测像素的加权平均值获得。编码器将选择使得当前块预测残差最小 的预测模式。 第二章h 2 6 4 a v c 系统及其新发展 舻萨萨缈群 酽r f 图2 34 x 4 亮度块预测模式 2 1 6 x 1 6 亮度块预测模式 除了4 x 4 亮度块的9 种预测模式外,亮度块的预测还可以对整个1 6 x 1 6 宏块进 行亮度预测,1 6 x 1 6 亮度块的预测模式有四种,如图2 4 所示。 0 ( v o r t i c a l )1e h t r i z o n t a l ) 2 ( o c ) 蒇藤蘸 图2 4帧内1 6 1 6 亮度块的预测 模式0 ( 垂直) :用上边的样值推断( h ) 模式1 ( 水平) :用左边的样值推断( v ) 模式2 ( d c ) :左边和上边样值( h + v ) 的均值 模式3 ( 平面) :线性函数采用左边和上边的样点h 和v 。这种模式适用于亮度 平缓变化的区域。 3 8 x 8 色度块预测模式 h 2 6 4 的原图像采用4 :2 :0 的采样模式,每个宏块中包含一个8 x 8 的色度块。宏 块中色度块的预测也是通过对上边和左边已编码重建的样点进行计算产生的。色度预 测的四种模式和1 6 1 6 亮度块的预测模式非常相似,只是顺序上有所差别:d c ( 模 式o ) 、水平( 模式1 ) 、垂直( 模式2 ) 和平面( 模式3 ) 。通常两个色度块( u 和v ) 采用的预测模式相同。 色度块的预测模式和当前块的亮度预测模式相同,也就是说,如果当前块的亮度 成分是用帧内模式编码的,那么两个8 x 8 色度块也要采用帧内模式编码。 4 帧内预测模式编码 4 x 4 块选用的帧内预测模式需要进行标记,传送给解码器。用于标识帧内预测模 式的标记本身就需要一定数量的比特。通常,帧内模式邻近的4 4 块具有很高的相关 北京邮电大学硕士学位论文h 2 6 4 a v c 解码器软件实现及优化 性,如下图2 5 所示。 a be 图2 5相邻4 x 4 块的帧内预测 对于每个当前块c ,编解码器都计算最可能模式( m o s t _ p r o b a b l e _ m o d e ) 。如果a 和b 都是采用4 x 4 模式,而且a 、b 、c 都在同一条块内,c 块的m o s t _ p r o b a b l e _ m o d e 就是a 和b 预测模式的最小值,否则m o s t _ p r o b a b l e _ m o d e 将设为默认值:模式2 ( d c 预测) 。 2 2 2 帧间预测 帧间预测是通过先前已编码的一帧或多帧图象对当前帧进行预测的一种模式,该 模式的参考块p 是在参考帧图像中当前位置平移样点获得的,即运动预测补偿。h 2 6 4 编解码器中的运动补偿的基本单元也是块。h 2 6 4 的帧间编码和以前的标准主要不同 点在于:预测块的大小可变范围很大,并且采用了更精确的运动矢量1 4 像素搜 索。 1 树型结构的运动补偿 h 2 6 4 运动补偿支持的亮度块大小范围从1 6 1 6 像素到4 x 4 像素,而且切割方式 很灵活。对于宏块( 1 6 x 1 6 大小的样点) 可以被分为以下四种方式:1 6 1 6 ,8 1 6 , 1 6 x 8 ,8 x 8 ,这种划分方式属于宏块的切割。如果选择8 x 8 模式,每个宏块可分为4 个8 x 8 的切割块,对于每个8 x 8 块还可以进一步细分为4 种模式:8 x 8 ,8 x 4 ,4 x 8 , 4 x 4 ,这种划分方式称为宏块的子切割。切割和子切割增加了宏块的组合形式。这种 将宏块分割成各种不同大小的块的方法就叫做树型结构的运动补偿。 宏块的每个切割和子切割都需要一个独立的运动矢量。每个运动矢量都要进行编 码和传送,同时宏块的分割模式也要进行编码和传送。通常,对于缓慢变化的区域选 择较大的切割模式,而图像的细节部分选用较小的切割模式则更有效。 宏块中色度块( c b 和c ,) 的大小是亮度块的一半,色度块的划分结构和亮度块 一样,只是水平和垂直方向的像素大小刚好是亮度块的一半。亮度块的8 1 6 块对应 色度块的4 x 8 ;亮度块8 x 4 的划分对应色度块的4 x 2 块,依此类推。其分割的水平和 垂直方向上运动矢量应用到色度块时也要减半。 h 2 6 4 参考编码器对图象区域进行了最佳分割,也就是使得编码残差和运动矢量 综合指标最小的分割方式。 2 像素运动矢量 第二章h 2 6 4 a v c 系统及其新发展 帧间编码的宏块每个分块在参考图象相同大小的区域进行预测。两个区域间的偏 移( 运动矢量) 精确到次像素( 对于亮度信号而言) 。在参考图象中并不存在次像素 位置的亮度或色度样值,所以有必要通过邻近像素进行插值。如图2 - 6 所示:( a ) 图 是当前帧中的一个4 x 4 子切割,该块要从参考图象的邻近区域进行预测;( b ) 图如果 运动矢量的垂直和水平分量都是整数,则参考块相应的样点是实际存在的( 灰点) ; ( c ) 如果分量中的一个或者两个都是分数,预测样点( 灰点) 将通过参考帧中邻近 证书像素( 白点) 的插值产生。 当前块样点 参考样点m y 0 ,1 )考样点m y ( 0 7 5 ,0 5 ) o o d o o do o d0doo d d ood o o o d o do o poo0oo o o o o 0 0 o o o oo o p0 0 0o 0 o o0o o四oo o o oo 00 0 o0o 000 o oo0o0 0 0o o0o0 厂嗣0o o ooo 0 o oo o o0 0 0o0 o 000 图2 - 6整数和次像素位置的样值 与整像素运动补偿相比,次像素运动补偿可以得到更好的压缩性能,但是代价是 运算的复杂度增加。同样,1 4 像素的精确度高于1 2 像素。 当视频源的采样格式采用4 :2 :0 的时候,色度信号的预测需要1 8 像素位置的色 度值( 对应亮度信号1 4 位置的样值) 。这些样值是通过色度信号整像素位置的样值 进行双线性插值得到的。 3 运动矢量预测 对每个切割的运动矢量进行编码需要用一定量的比特表示,切割块越小,需要的 运动矢量越多,用于编码该矢量的比特数也就越多。和帧内预测相似,邻近切割块很 可能具有和相邻块相似的运动趋势,它们之间的运动矢量相关性很大,所以当前块的 运动矢量可以从相邻已编码切割块的矢量中预测获得。m v p 是运动矢量预测值。m v d 是当前块实际运动矢量和运动矢量预测值之间的差值,对m v d 进行编码和传输可以 得到更好的压缩效果。如果当前宏块编码方式是s k i p p e d ( 没有传送任何参数) ,当前 宏块的预测模式默认值是1 6 x 1 6 模式。 解码器端,运动矢量预测m v p 的形成和编码器端相同,与解码后的m v d 运动 矢量残差相加后获得运动矢量m v 。在s k i p p e d 宏块中,没有关于当前宏块的运动矢 量参数的相关信息,当前宏块的运动矢量就是运动矢量预测值m v p 的拷贝。 2 2 3 变换和量化 宏块预测之后,要对残差进行转换、量化和编码。早期的图像压缩标准均采用8 8 的离散余弦变换( d c t 变换) 。h 2 6 4 标准采用了4 x 4 块的整数变换编码算法取代传 北京邮电大学硕士学位论文 h 2 6 4 a v c 解码器软件实现及优化 统的d c t 变换,使得整数变换和量化可以通过1 6 位算术运算完成,避免了乘法运算。 在不影响编码性能的前提下,有效的降低了编解码的运算量,且不存在反变换的匹配 误差,精度更高,也更便于硬件实现。 h 2 6 4 根据要编码的残差信息的内容采用三种变换【5 】:1 6 x 1 6 模式预测的帧内宏 块的4 x 4 亮度d c 系数的变换;宏块的2 x 2 色度d c 系数的变换;其它残差系数的4 x 4 块的变换。 4 x 4 残差的变换和量化对帧间运动预测补偿或者帧内预测后的4 x 4 块的残差信号 进行操作。整数变换的基础是d c t ,但是有一些本质的不同。 1 ) 它是整数变换,所有操作可以通过整数运算获得,没有引入精度损失 2 ) 反变换过程由h 2 6 4 标准完全定义,编码器和解码器之间将不会产生失配; 3 ) 变换的核心部分没有乘法运算,也就是说整个过程可以通过加法和移位得到; 4 ) 乘法的放大( 转换的一部分) 移至量化器进行,从总体上减少了乘方运算。 整个变换和编码过程只需要使用1 6 位整数运算和对每个系数进行一次乘法运 算,没有任何精度损失。 3 量化 h 2 6 4 使用尺度量化器,正反量化器的机制为了满足下列要求而变得复杂:( a ) 避免除法和或浮点算术;( b ) 把加速尺度变换和预尺度变换结合到一起。 该标准中支持的q s t e p 值共有5 2 个,每个量化阶数对应一个量化参数q p ,q s t e p 和q p 的对应关系如表2 - 1 所示。q p 每增加6 ,q s t e p 增加一倍;q p 每增加1 ,q s t e p 增加1 2 5 。增加量化步长的范围可以使得编码器能够在比特率和图象质量间获得均 衡。通过初始化参数设置,亮度和色度的量化参数可以不同。详细过程不再介绍,请 参考文献 4 1 。 2 2 4 熵编码 1 编码元素 要进行编码和传输的参数如下表2 1 所示: 表2 1编码参数说明表 参数说明 序列、图像及s l i c e 的语法元素头和参数 宏块类型m b _ t y p e 编码宏块的预测模式 编码块模式指示宏块中那些块包含编码系数 量化参数 传输与前一个q p 值的差值 参考帧标号指示帧间预测的参考帧 运动矢量传输与前一个运动矢量的差值( m v d ) 第二章h 2 6 4 a v c 系统及其新发展 残差信息 i 4 x 4 块或2 x 2 块的系数信息 在s l i c e 层以上,语法元素被编码成定长的或者可变长度的二进制码字。在s l i c e 及以下的层,编码元素时或者使用变长编码( v l c ) 或者使用内容自适应的算术编码 ( c a b a c ) ,都取决于熵编码的模式。当e n t r o p y _ c o d i n g _ m o d e 被设置为0 时,残差 块数据使用基于内容的变长编码方式进行编码,其他变长编码单元采用e x p g o l o m b 编码方式进行编码。 2 e x p g o l o m b 熵编码 e x p g o l o m b 码是具有规则结构的可变长编码,它的码字按照一定的逻辑结构, 每个码字的结构如下: mz e r o s 1 i n f o 】 其中i n f o 是m 比特的有效信息,第一个码字没有头部的0 信息也没有随后的 尾随信息;码字1 和2 只有1 比特尾随信息;码字3 到6 有2 比特i n f o 信息;依此 类推。码字的长度为( 2 m + 1 ) 。 3 基于内容自适应的可变长编码( c a v l c ) c a v l c 用于对按之字型扫描后的4 x 4 和2 x 2 块残差信号转换系数进行编码。 c a v l c 的设计利用了量化后4 x 4 块的以下特征。 1 经过预测,转换和量化,块的系数通常很稀少,包含大量的零系数。c a v l c 使用游程编码,高效的表示连零; 2 之字型扫描后的非零系数通常是1 的序列,c a v l c 用简洁的方式标记高频 率出现的l 的个数; 3 相邻块的非零系数有很大的相关性,系数出现的数目可以用查表的方式进行 编码,表的选择取决于邻近块中非零系数的数目; 4 扫描后的系数开始处的数值一般较大,而高频处的系数较小。c a v l c 利用这 一点,对v l c 表的选择依据一个由最近编码的量级得到的级别( l e v e l ”) 参 数。 c a v l c 对块的传输系数的编码过程如下: 1 ) 对系数的个数和尾随的1 进行编码( c o e f ft o k e n ) v l c 编码的第一步对块中的非零系数个数( t o t t a l c o e f f ) 和尾随的1 个数( t 1 ) 进行编码。对于4 x 4 的块,t o t a l c o e f f 的个数可以从0 到1 6 ,t 1 从0 到3 ;当块中存 在3 个以上1 时,只有最后的3 个作为特殊系数处理,其它的作为普通系数进行编 码 对c o e f ft o k e n 编码的查表有4 种,分别为n u m 。v l c o ,n u m v l c l ,n u m v l c 3 和n u mf l c ( 三个变长码和一个定长码) 。表的选择由上边和左边先前已编码块中非 零系数的个数决定。 北京邮电大学硕士学位论文h 2 6 4 a v c 解码器软件实现及优化 2 ) 对每个t 1 编码 对于c o e f ft o k e n 标记的t 1 ,1 比特标记符号( 0 = + ,1 = 一) 。编码的顺序是逆向 的,从最高频的t 1 开始。 3 ) 对残留的非零系数编码 块中残留的非零系数的级别( 包括符号和幅值) 的编码顺序也是逆向的,从高频 开始直到直流系数。v l c 表的选择也是自适应的,由前面已经编码的级别的幅值决 定。v l c 表有7 种,l e v e lv l c 0 到l e v e lv l c 6 。l e v e lv l c 0 趋向于小幅度的系数, l e v e lv l c l 趋向于稍大的值,依此类推。码表采取自适应方法进行选择。这样,量 级的选择就可以和新近编码的系数幅值相匹配。编码最后一个系数之前的零的总个数 t o t a l z e r o s 是扫描后最高位非零系数之前零的总数。使用v l c 编码。用一个独立 的v l c 表示t o t a l z e r o s 的原因是,许多块开头处包含一定数量的非零系数,如果块 的开始就是连零则这些零系数不需要进行编码。 4 基于内容的自适应算术编码c a b a c c a b a c 将自适应二进制算术编码与h 2 6 4 a v c 中宏块之间语法元素的关联性相 结合,有效地减少了编码的比特数。 算术编码的符号概率p 可以通过两种途径得到:一种是在编码之前对信源进行统 计,得到每个符号在序列中出现的概率,在编码过程中不再改变,对应的编码称为静 态算术编码;但在实时通信中,我们无法提前对信源进行统计,这时可以采用另外一 种方法,在编码过程中对已编码的序列进行统计并更新之前的统计结果,随着编码的 不断进行,编码器内的p 将趋于整个序列的统计结果,这样的编码过程称为自适应 算术编码。 当e n t r o p y _ c o d i n g _ m o d e 设为1 的时候,h 2 6 4 中的句法元素的编解码将使用算 数编码系统。h 2 6 4 中使用的算数编码框架是基于内容的自适应算数编码( c a b a c ) , 它通过以下技术获得良好的压缩效果 1 ) 上下文建模 利用相邻已编码符号所提供的相关性,为所要编码的符号选择最合适的上下 文模型,这个模型提供了对当前待编码符号的条件概率估计。利用合适的上 下文模型,就可以大大降低符号间的冗余度。 2 ) 算术编码 它实现了用非整数比特表示符号,从而提高了编码效率。其次,算术编码具 有递归性,即对长度为n + 1 二进制序列的编码只需在长度为n 的编码基础上 作一些修正,这对实时视频编码十分重要。 3 )自适应特性 4 ) 这一特性保证了各个上下文概率模型的概率估计并不是一成不变的。对于不 第二章h 2 6 4 a v c 系统及其新发展 同码率或不同的图像序列,符号之间的相关特性是不同的。这就要求上下文 模型的概率估计能根据环境的不同而改变。 自适应编码器每完成对某一位的编码都将根据已编码位的信息来更新所用的 上下文模型的概率估计,从而实现对视频流实时统计特性的跟踪。如某一上 下文模型中1 的概率为p ,0 的概率为1 - p ,当刚完成编码的那一位是1 时, p 就会相应增加。 h 2 6 4 标准中对算术编码器进行了详细的描述,与v l c 相比,c a b a c 提高了 编码效率,代价是计算复杂度大大提高。 2 2 5 去块效应滤波【1 0 】 h 2 6 4 编码器是以块为基本单位进行的,和以往的压缩编码标准一样,重建图像 存在块效应。为了去除块效应的影响,h 2 6 4 引入了去块效应滤波器。滤波器对每个 解码宏块进行滤波以消除块效应。编码器端,去块效应滤波器用在反变换之后,在重 建存储图象用于帧内预测之前;解码器端,滤波器放在重建显示图象之前。使用滤波 器有两点好处:( 1 ) 使图象边缘平滑,提高解码图象的质量,尤其是在压缩率很高的 情况下;( 2 ) 编码器端滤波宏块用于帧间运动预测补偿, 可以得到更小的预测残差。 帧内宏块在存储前也要进行滤波,但是帧内预测使用的是没有经过滤波的重建图 象进行预测的。图象的边缘没有滤波。每个滤波器操作影响任意边缘的3 个像素。图 2 7 显示了相邻块p 和q 的水平和垂直边缘上的4 个像素。由于采用的量化器,相邻 块的编码模式,以及边缘像素样值梯度不同,滤波的结果也不同,( a ) 所有像素都没

温馨提示

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

评论

0/150

提交评论