《【硕士论文】H.264AVC视频编码算法及其DSP实现研究.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
西北工业大学硕士学位论文H.264/AVC视频编码算法及其DSP实现研究姓名:葛晛晛申请学位级别:硕士专业:信号与信息处理指导教师:郝重阳20060201 摘要H.264/AVC是目f{{f大力发展研究的、适应于低码率传输的新一代视频压缩标准,它具有更高的压缩比、更好的IP和无线网络信道的适应性,在数字视频通信和存储领域得到越来越广泛的应用。另外,近几十年;}乏DSP技术的高速发展可为实现复杂的新一代视频编解码系统提供平台。因此,H.264/AVC视频编码算法及其DSP实现的研究已经成为目前视讯行业研究的热点和难点。本文对H.264/AVC的关键技术进行了较系统的研究,完成的主要,【+作是:算法研究方面:对照JM参考代码对H.2641AVC的率失真优化策略、帧内预测、帧间多尺寸块模式、整数核变换量化、码流封装等部分进行深入研究。在总结已有方法优缺点的基础上,提出了一种基于混合特征的H。264/AVC快速帧内预测模式决策方法,该方法利用联合特征信息对已有预测模式进行预先筛选,从而加快决策速度,实验证明该方法在保证编码性能的基础一卜,可以使帧内编码时问相对原RDO全搜索方法降低近50%提出了一种基于合并分裂合并思想的H.2641AVC快速帧间预测块模式决策方法。该方法构造了块合并和块分裂准则,并从8x8尺寸块出发,代入准则依次进行判决,从而剔除了部分块尺寸模式,实验结果表明,该方法相对于原全搜索方法,能将帧间编码时间减少近70%,而对编码性能参数影响甚微。DSP实现研究方面:研究了DSPTMS320DM642EVM的开发原理以及DSP代码的优化方法。在VC++中用DrawDib视频函数组实现了视频显示界面,并通过PCIAPI函数实现了PC和DSP之间的视频通信。在CCS环境下实现了H.264,AVC基本层的I帧编码嚣,并用DM642EVM进行了硬件仿真。针对所‘耍现编码器的DSP代码提出了数据类型、存储器、C语言、汇编等级别的有效优化方法,优化后编码速度提高4倍多。用PCj二豹14.264/AVC解码器对编码后的吗流文件进行解码,测试结果表明编解码性能参数完全符合H.264/AVC标准的要求。关键词:H.264/AVC率失真优化策略帧内预测帧间预测模式决策TMS320DM642视频显示界面I帧编码器 AbstractNewgenerationvideocompressionstandardIi.264/AvC,whichissuitablefor10wbitratetransmission.isdevelopedstronglynovv.IthashighercompressionratioandbetteradaptabilityforIPandwirelessnetwork。whichmakeitusedwidelyinfieldsofdigitalvideocommunicationandstorage.Inaddition,DSPtechnology,whichdevelopssoquicklyrecently,couldprovideaplatformforthecomplicatednewgenerationvideocodingsystem.Consequently,researchonH.264/AVCvideocodingalgorithmsanditsrealizationwithDSPhasbecomeahotanddimcultsubjectinvideocommunicationindustry.ThekeytechnologyofH.264/AVCwasstudiedsystematicallyinthispaper.andthemainachievementsofworkwere】istedasfollows:ResearchachievementsonAlgorithms:RatedistortionoptimizedstrategvIintraprediction,variable—sizedblockinterpredictionmodedecision,integercoretransformationandquantization,andcodeencapsulationwerestudieddeeplybythereferenceJMcodeinthisPaper.Accordingtotheanalysisonoldmethods.amixcdfeatures-lzlasedfastintrapredictionmodedecisionmethodforH.264/AVCwasproposedInthismethodmodeswerefilteredbymixedfeaturesinadvance.andthedeciskmapproachwasspeededup.Theexperimentresultsshowedthatthenewschemewasabletoachieveareductionofupto50%timeforintraencoding.withsimilarencodingperformancetotheoriginalRDOfullresearchmethodinI-I.264/AVCreferencesoftwareFurthermore.afastinterblockmodedecisionmethodforH.264/AVCwasproposediuthispaF)er.Withtheinitialblocksize8x8.alltheblocksizemodeswerefilteredbycertainmergingandspliRingstandards,whichwereconstructedatthebeginning.Theexperimentsresultsshowedthat,comparedwiththeoriginalfullresearchmethod.thisfastmethodcouldreduceinterencodingtimeby70%withlittleinfluenceonencodingpertormance.ResearchachievementsonDSPrealization:TheexploreprincipleofDSPTM$320DM642EVMandtheoptimizationmeansforDSPcodewerestudiedAvideodisplayGUlwasmadebyuseofDrawDibvideofunctionsinVC++.andthecommunicationbetweenPCandDSPwererealizedthroughPCIAPlfunctions.H.264/AVCIfraineencoderofbasicprofilewasrealizedinCCS.anditwasemulatedonDM642EVM?Efiectiveoptimizedmethodsofdatatype÷memor}:Ccode?andassemblerwereproposedforDSPcodeoftheencoder,andbythemtheencodingspeedcouldbeacceleratedtomorethan4timescomparedwithoriginalcode.ThenthecodedocumentsweredecodedbvthedecoderonPC,andthetestdatashowedthattheperfoiTnaneeaccordedwit}lH.264,AVCstandardwell.Keywords:H.264/AVCRatedistortionoptimizedstrategyIntrapredictionInterpredictionModedecisionTMS320DM642VideodisplayGUIIframeencoder 加北1:业大学硕十学位论文第一章的青第一章前言弟一旱日Ij商1.1本论文的研究背景及意义图象压缩编码从1948年电视信号数字化提出以来,已有五十多年的历史,小仅在理论研究上取得了重大进步,而且在实际应用中也获得了很大成果。近十年来,图象编码技术得到了迅速发展和广泛应用,并且H臻成熟.其标志就是多个关于图象编码的国际标准的制定,即国际标准化组织ISO和国际电工委员会IEC关于静止图象的编码标准JPEG/jPEG2000,关于活动图象的编码标准MPEG—l、MPEG,2、MPEG.4等,以及国际电信联盟ITU.T制定的视频编码标准H.26X系列。这些标准采用的图象编码算法融合了各种性能优良的图象编码方法,代表了目前图象编码的发展水平。H.264/AVC[1J是由ISO/IEC与ITU.T组成的联合视频组(ⅣT)制定并=j;二2003年3月正式获得通过的新一代视频压缩编码标准。1996年制定H.263标准后,[TU—T的视频编码专家组(VCEG)开始了两个方瓤的研究:一个是短期研究计划,在H.263基础上增加选项(之后产生了H.263+与H.263++):另一个是长期研究计划,制定一种新标准以支持低码率的视频通信。长期研究计划产生了H.26L标准草寨,在压缩效率方面与先期的ITU.T视频压缩标准相比,具有明显的优越性。2001年,ISO的MPEG组织认识到H.26L潜在的优势,随后ISO与ITU开始组建包括柬自ISO/IECMPEG与IH』.TVCEG的联合视频组(JVT),JVT的主要任务就是将H.26I,草案发展为一个国际性标准。于是,在ISOflEC中浚标准命名为AVC(AdvancedVideoCoding),作为MPEG.4标准的第10个部分;在ITU-T中IF式命名为H.264标准。H.264的主要优点如下【2j:在相同的熏建图象质量下,H.264比H.263+和MPEG-4减小了约50%的码率。对信道时延的适应性较强,既可工作于低时延模式以满足实时业务。如会议电视等:又可工作于无时延限制的场合,如视频存储等。提高网络适应性,采用“网络友好”的结构和语法,加强对误码和丢包的处理,提高解码器的差错恢复能力。在编/解码器中采用复杂度可分级设计,在图象质量和编码处理之间可分级,以适应不同复杂度的应用。相对于先期的视频压缩标准,H,264引入了很多先进的技术,包括4x4整数变换、空城内的帧内预测、1/4象素精度的运动估计、多参考帧与多种大小块的帧删预测技术等。虽然H.264/AVC的编码效率远比以先静的视频编码标准高,但出_】二其具有相当复杂的编码技术及模式选择,使得其运算复杂度也远高F先前的编码标准。根 曲北。I:业大学硕士学位论文第一蘑河苦_-■-___-_-■●■___■_●_●■__-_■l-_-■●—-●__l__-一II_■●●-■-●-■_____—_●_●■_-_-_--_一据JVT会议文件的评估结果,H.264/AVC参考编解码软件JM2.1,相较于MPEG.4MoMuSysFPDAMl—020414,其编码器复杂度约为10倍以上,而解髑器复杂度则为3倍以』_:。如此高的复杂度将使得H.264/AVC难以使用在具有即时需求的应用J:。因此如何在不致牺牲H.264/AVC的编码效率之前提下,降低其运算复杂度使其适于实用化的程度,成为目前相当重要的研究方向。另一方面,多媒体终端设备具有广泛的应蒯6U景,可以应用于视频会议、可视电话、视频监控、PDA、数字电视等各个领域,尤其足在3G时代,高效、使用的多媒体终端设备一直是通信领域研究和丌发的主要方向之一。多媒体通信终端的实现主要有两点:一方面需要快速、稳定的处理器作为媒体信号处理的;严台,’j~方面需要适合多媒体通信协议标准的软件算法.尤其是对音视频信号的压缩处理算法。两者的结合才能产生高效的多媒体通信设备。H.264/AVC的出台握供了适合通信的视频标准和算法指导,而数字信号处理器(DSP)的高速发展为实现高效的音视频信号处理提供了可能性。因此,将两者集合,把H.264/AVC算法在DSP}:实现,对于多媒体通信的研究具有一定的意义和价值。1.2国内外的研究现状【.2.1H.264/AVC热点技术的研究现状H.264/AVC标准中的关键技术包括:多种更好的运动估汁(小数像豢、多模式、多参考帧)、4×4小尺寸块的整数变换、更精确的帧内颈测、熵编码等。其中针对帧内(Intra)和帧间(Inter)宏块的精确快速的预测模式决策算法、快速的高精度运动估计算法、高效率的熵编码算法是研究的热点和难点,其研究现状如下:多模式决策算法:由于多种预测模式的存在,这就要求在编码时对这些模式进行择优,而择优的方法很多,存必要对其进行研究。择优过程中,ff264/AVC将基于T.Wiegand提出的率失真优化策略(RDO)p1作为重要可选模式。对j‘}陋内预测,目前参考代码中用的是全搜索的方法.这种方法的计算量比较犬,因此可以对决策步骤进行优化,形成一些快速帧内模式决策方法,所了解到的快速方法有FengPAN等在JVT会议中提出的基于边缘方向宜方图的方法H啪BojunMeng等提出的基于分组像素点的方法铲’等,它们在不同程度上优化了原全搜索方法。埘于帧间预测,目前有D.Wu等提出的旗于均匀区域的快速帧间预测模式决策f6】、PengYin等提出的基于误差表面单调性的快速帧间预测模式决镣【71等。运动搜索算法:二维运动估计算法中以块匹配算法最为常用。其中全搜索算法可以提供给定失真准煲I下的最优解,但计算复杂度太高。许多快速匹配算法可以提供较快的搜索速度,但预测性能不太好。因此,为了在低计算复杂性视频编 两-IL:1:业大学硕叶:学位论文第一章前?j_____-__●●__●_■■●--_■■■●_-■____●---●_囊---__l___I_lU码算法中应用运动补偿来消除视频信号的时间冗余,必须研究速度快且性能好的运动估计算法。针对较早的编码标准如H263、MPEG.4等提出的优化算法有ji步搜索法、对数搜索法、梯度搜索法、四步搜索法,六边行搜索法、钻石搜索法以及带状搜索法等。新的快速运动估计算法UMHexagonS(中固专利)是一种运算量相对于H.264/AVC中原有的快速全搜索算法可节约90%以上的新算法,仝名叫“非对称十字型多层次六边形格点搜索算法”(Unsymmetrical,CrossMuti.HexagonSearch)【8】,这是一种整像素运动估值算法。由于它在高码率大运动冈象序列编码时,在保持较好率失真性能的条件下,运算量十分低,已被H.264/AVC标准惟式采纳。熵编码算法:H.264/AVC标准中使用了CAVLC【9I和CABACimj两种熵编码算法。基于内容的自适应二进制算术编码(CABAC)与自适应可变长度编码(CAVLC)相比较有3个优点:1)内容建模提供编码符号条件概率的估计,利用恰当的内容模型,根据在当前要编码的符号附近已经编码符号的不同概率模型之删转换可去掉符号间冗余;2)算术编码为每个字母符号分配非整数位,因此符号几乎以他们的熵速率编码,对概率>O.5的符号很奄效。相比huffman编码,算术编码可以‘史现小数码长的分配,更符合香农的信息论,使压缩率大大提高:3)自适应算术编码允许熵编码器适应变化的符号的统计性,即对每个帧f-目J宏块源图象和低质量的预测之问的差值编码。通常,大量的运动向量、不同序列和位速率的统计性在时间和空间上发生变化,因此采用考虑已经编码的运动向量的累进概率的自适应模型可以使算术编码器更好的适应当前符号的统计性。除了上述热点技术之外,视频数据在网络传输中的差错控制投术【“q21、变尺寸整数DCT变换、可变步长的量化机制、自适应的码率控制以及去除方块效应的环路滤波技术也是视频编码中的重要技术。具有更高压缩能力但是运算量巨大的小波视频压缩、分形视频压缩以及面向存储检索的基于视频对象的压缩技术,n:在受到更多的研究与关注。1.2.2DSP实现的现状近几年来数字多媒体处理系统已经逐步取代传统的模拟系统.而今年基于MPEG.4的数字系统又全面取代MPEG。I系统,国内已经有领先厂商应用DSP推出基于H264/AVC的数字系统并投入市场。在早期的MPEG-1类产品中,视频有专用芯片,DSP只处理语音。在MPEG.4及H.264/AVc类产品中DSP全面完成视频和语音处理工作。相比较ASIC而言,数字监控行业在DSP平台上进行视频产品开发有以下几方面的优势:第一,用户丌发自出度更大,支持多种个性化丌发,可以满足市场不断提出的新的要求,在第一时问提升产品性能,增强产品的竞争 坩北i:业人学硕十学位论文第一章前言能力;第二,DSP处理能力强,可以在一个DSP上同时实现多路音视频信号的日i缩处理,同时为了及时满足应用的需要、还提供了很多视频争用功能,比如视频滤波、De—interlace处理、高分辨显示输出、OSD功能等,甚至象网络接口、IDE接口都成为了视频DSP的主要功能,这样使进一步大幅度降低产品的成本成为叮能(这一点很重要);第三,开发周期短,实现快速技术更新和产品换代;第四.:芷=片功耗低,对提高产品的稳定性提供可靠保障。TI公司于2003年1月推出了数字媒体处理器,IMS320DM642II3I,该器件适用FVoIP、视频点播(VOD)、多通道数字录像应用,以及需要高质量的音视频编解码领域,该器件一经推出便受到了业界的普遍关注,Tl为方便广大客户对DM642的开发,推出了DM642的EVM板(评估板),极大的方便和简化了人们对DM642的应用。因此,用DM642EVM实现H.264,AVC己成为当今视讯行业的热点技术。而目前用DM642实现实时的H.264/AVC时主要存在以下难点,一是算法的优化:二是C代码的实现和优化;三是存储器的优化。这三方面因素也成为目前受关注度最高,研究力度最大,并有待进一步有效解决的问题。1.3论文的主要工作本论文对视频编码原理及当今流行的视频编码标准进行了研究,针刑H.264/AVC标准的新特性.深入学习和理解其关键算法及其编解码系统原理,分析H.264/AVC编解码器的运算瓶颈所在,优化部分算法,并利用DSP刀发平台实现和优化了H.264/AVCI帧的编码器。其具体内容有:1.熟悉视频编码的基本原理,了解各类视频编码标准及其适用领域。2.理解了H.264/AVC高级视频编码标准中各类关键技术的原理,掌握其编解码系统原理;对关键技术和热点技术,如整数核变换量化、更精确的帧内预测编码、多种更好的运动估计、熵编码等进行深入研究。3.通过对JM参考代码的分析,理清了率失真优化策略、多模式决策策略、整数核变换量化等复杂算法的代码实现思路。4.针对帧内、帧问预测模式决策方法进行深入研究,对现有各类方法的性能进行分析和比较,引入新思路或者融合已有方法的优点,形成快速决策方法。5.熟悉DSPDM642EVM的结构和应用,深入学习了DSPC6000系列的丌发原理,对DSP程序的优化方法进行研究。6.用VC++实现了视频显示界面,深入理解DSPPCIAPI函数,实现了PC与DSP问的视频通信。7.利用DSPTMS320DM642EVM实现和优化了H.264/AVC基木层的I帧编隹5器,并用PC机上的解码器正确进行解码。 矾北一L:业人学硕士学位论文第一章H.264/AVC概述及芙键技术介纠第二章H.264/AVC概述及关键技术介绍2.1H.264/AVC编解码系统H.264标准压缩系统由视频编码层(VCL)和网络提取层(NAL)114J两部分组成。VCL中包括VCL编码器与VCL解码器,主要功能是视频数据压缩编码和解码,它包括运动补偿、变换编码、熵编码等压缩单元。NAL则用于为VCL提供一个与网络无关的统一接口,它负责对视频数据进行封装打包后使其在网络中传送,采用统一的数据格式。NAL层可以使H.264的VCL层和其他一些多媒体传输层灾现映射,并通过这些层实现传输编码得到的数据功能,如图2.1所示。例如:1.RTP/IP层,用束提供任何实时的有线或无线的网络服务。2.文件格式,例如ISO用于存储的MP4和MMS服务。3.H.32x协议,可以提供有线和无线的传统服务以及MPEG一2系统的广播服务等。图2-1H.264标准压缩系统I竺羔曼竺!l_(巫田—o匿咽.■*b*f,aN悴莆弋田一年疆学惠疆弹?一叫去高二,≮翻2-2H.264视频编码层fi臼绷解码系统摧崮H.264视频编码层的编解码系统框图如图2.2所示。其中,摄像头采集和采集数据处理部分为预处理环节,为编解码器提供源图象。编码器采用变换和预测的混台编码方法。将帧内预测、运动估计后的残差数据进行变换量化,然后再进行熵编码,编码后的码流与其他所需信息一起封装成NAL单元供网络传输。解码器对NAL单元进行解码,解出头信息,得到参考预;j8|l数据,然后将其与解出的预测残差数据相加,便可得到解码重构图象。最后通过显示设备输出解码图象。2.2H.264/AVC的系统层次划分及码流封装H.264协议可以分为34--7.集t11,即基本层、主要层和扩展层,如图2-3。基本层只包含了实现/4.264协议的最基本的模块,主要包含有1帧编码、P帧编码、CAVLC、Slice(片)结构划分以及冗余帧编码4个大的模块,基本层主要用于视 陌北.【:业大学硕士学搬论文第二章H.264/AVC概述及芙键技术介}f{颂会议。为了提高编码系统的适应性和码流的鲁棒性,协议标准又在基本层之上定义了主要层和扩展层。主要层在基本层的基础上去掉了Slice结构划分及冗余帧编码部分,而添加了B帧编码、权重预测、场图象/场宏块的编码以及CABAC等馍块,主要用于网络的视频流。而扩展层则是在基本层的基础上添加了B帧编码、权重预测sP与SI帧编码和对Slice进行分区编码与差等保护等模块,主要用于消费电予应用。本文主要研究的是基本层。扩晨昱,一⋯““\/。\}}层?sP与s¨、一BHj拨1}t#槲{-1-,-i!⋯’枉审孙删二CAB,a,L图2.3H.264的系统层次划分H.264采用基于网络适应层单元NALU的码流结构,使码流具有很大的灵活性和鲁棒性。根据JM8.4l”J定义的码流格式,H.264码流结构投传输层协议及码流的应用环境不同可以分为两种:RTP封装(图2-4)与能高效检测出NAL}!Il元边界的附录B字节流格式封装(图2-5)。对于附录B字节流格式,每个NAI。单元前面放三或四个特定的被称为前导码(startcode)的字节,JM8.4中均取4个字=符00oo01。NAL的边界可以通过搜索这3或4个特定的前导码来确定,并通过使用预防码来防l七前导码竞争。通常,H.264中各种语法单元经过CAVl。C或CABAC编码得到的码字写入缓存形成最原始的数据位串(SODB),丽最终要写入码流文件的附录B字节流是由原始数据位串经过4层封装得到的(如图2.6)。NALUlNALU2NALU3NALU4L、厂—L二二二二二二、广二二二二/RTP乜★业12十}竹t口Trfi"浊找荷陶2-4RTP封装格式一⋯⋯~‘stallctxleNALUIstarte.ode:NALU2mattetxle·NALU3L—一:二—二/⋯一‘一一附录B‘#节汛图2-5附录B字节流封装格式图2-6附录B字宵流封鼗屡次通常,对于一个图象序列按附录B格式进行编码后,如果插入B桢,丽且允订bP.PUm一,一r一一~+一 荫北1:业大学硕十学位论文第二章H.264/AVC概述及关键技术介2一帧划分成多个slice,则不同类型的NAL单元排列次序应如下图醐2—7不同类l'!NALU的排列次序其中,参数集是用柬给解码器提供信息束进行大量的VCLNAL单元解码的。两种典型的参数集的作用是:1)序列参数集,对一系列顺序的图象编码时所用的参数。2)图象参数集,对一个视频序列中编码过的图象解码时所用的参数。而每个sliceNAL单元的封装结构又如图2-8和图2—9所示(其中partition为数据分区):In时}悒,sP悄:£!‘二一、,注:填充位足有盘CASAC摸式r才斋望:对]:IDR耐象只乜奢一"flshce,H只自十外M酗2—8IDR帧及WB/SP帧sliceNALU结构(不对slice进行分区,邑一帧只划分一个slice)肝毋尽P舳,‘■⋯一⋯、,shcelslI。c2sIlc心⋯蚪:1网牛体前译码2:一。7-商NALU★3‘#节时弃地光惶,仅仡cABAc时才☆【"l仅nm们数撕图2—9l/P/B/SP0贞slice/partitionNALU结构(对slice进行分区,并采用差等保护,且~帧可划分为多个slice)2.3H.264/AVC编解码的视频格式本文中所研究的H.264视频编码器接收的视频格、,\一、’式为YCbCr描述,采样格式为4:2:0,即指在图象.、一、、、水平和垂直方向上每2个连续的采样点上取2个Y样,、.本,1个红色色差Cr样本,1个蓝色色差cb样本,相i、’-'Z.‘、当于每个像素用1.5个样本表示.可用图2-10描述,图2-104:2:0幽象采样格式黜酱筒觜简辫筒霹黼蕊 曲北L:业人学硕士学位论文第二章l{.264/AVC概述及天键技术介纠其中“×’,表示亮度Y采样,“0”表示色差。此外,H264中定义了5种标准图象尺寸:sub.QCIF、QCIF、C1F、4CIF、16C1F,其中QCIF(176×144)和CIF(352×288)是/、i用最为广泛的标准尺寸格式。2.4H.264/AVC的关键技术介绍2.4.1帧内预测通过实验发现,帧内相邻宏块通常具有很类似的性质,因此,It.264利用相邻宏块的空间相关性来进行帧内预测编码,以提高帧内编码的效率。对于一个给定的宏块,首先利用相邻的周围宏块对此宏块避行预测(通常利用此宏块左边和卜边的宏块来预测,因为它们已经被编码并重建过),然后对实际宏块和预测宏块对应像素做差值,并对差值变换编码,从而可以在一定程度上减少一个I帧的数掂量。H.264的帧内预测编码方法一个显著的特征就是帧内预测在空间域进行,丽不像其他视频编码标准(如H.263+、MPEG。4)一样在变换域。为进一步提高预测编码效率,对于亮度分量,H.264对含有较多空域细肖信息的宏块采用4x4预测(9种模式),而对于较平坦的区域采用16×16的预测模式(4种模式),另外还提供了不经预测和变换量化的步骤I-PCM模式。对于4x4的亮度块预测,如图2.1l所示,把16x16的亮度宠块划分成16个4x4的子块,每个子块的像素点a-p用与其MABCDEFGI,I相邻的上面和左面已经编码并重建的像,I一-a:b..cl?素采样点A.M进行帧内预测。图2.12中Kik’I说明了各模式的预测方向。对于模式o⋯“:oP3~8,待预测像素的值由采样点4.M的图2-114x4帧内颅测的各像素点分布加权平均得到。编码器根据预测块P和当前块的最小残差为每个块选择预测模式。图2.124x4亮度块的9种预测方向对于16x16的亮度预测,类似于4x4亮度预测,用与每个宏块相邻的已编码重建的像素采样点值对宏块像素值进行预测,其预测方向如图2一13所示。对于8x8的色度预测,其4种预测模式和16×16亮度预测模式相似。只是模 蹦北j:业大学硕十学位论文第一二章H.264/AVC概述及关键技术介鲥_--●III——I_-_--El式标号不同,DC(模式O),水平(模式1),垂直(模式2),平面(模式3)。通常两色度块采用同种模式预测。0(td)I(,K、:‘)2(DCj3lym、幽2—1316x16亮度块的4种预测方向对于一些很不规则的图象,可以对其采用I-PCM模式进行直接编码。IIpCM模式不经过预测和变化量化步骤,真接编码采样点的值并传送。2.4.2帧问预测H.264的帧间预测是基于块的预测,它利用已编码重建的帧/场对当莳帧/场进行运动补偿,它与先前视频编码标准不同的地方是:可变块尺寸、多参考帧以及小数像素。下面分别介绍这三个特点:1.多尺寸块模式H.264采用如图2.14所示的可变尺寸块进行帧问预测,其中,一个16×16的亮度宏块可以划分为16x16,16×8,8×16和8×8四种模式(图2.14(a)),每个划分区域都是一个宏块分区;如果选择8x8模式,那么宏块中的8×8分区还可以再细分为8x8,8x4,4x8和4×4四种模式(图2-14(b)),称为宏块子分区。这些块尺寸模式可以形象地表示成树形结构,如图2.15所示。其中,大的分割尺寸适合于平坦区域,而小尺寸适合于多细节区域。论文的3.4节将就如何选择合适的尺、j_模式进行深入研究。㈡:!}下一;},23图2.14(a)宏块分区16x16、8x16、16x8、8x8模式(b)宏块子分医8x8、4×8、8x4、4x4模式2.双向、多参考帧一一——j二一~,t卜11ili广、-iJ。l薯“卜l—一i7、一】~I一一,_、。11IsI图2-15变尺寸块模式的树形结构在H.264中,可采用多个参数帧的运动估计,即在编码器的缓存中存有多个刚刚编码好的参数帧,编码器从其中选择一个给出更好的编码效果的作为参数帧,并指出是哪个帧被用于预测,这样就可获得比只用上一个刚编码好的I陵作为预测 隋J£f:业大学硕七学位论文第二章H.264/AVC概述及戈踺技术介}“-l_●●●__●--__I——I_-___-__●_●●-__-_●-_-----_-----__●_帧的更好的编码效果。H.264帧间预测环节中包含双向的多个参考帧,每个方向f:最多可以有15个参考图象。3.小数像素在H.263中采用了半像素估计,在1t.264中则进一步采月j1/4像素,以提高运动矢量位移的精度,降低码率。H.264中采用了6阶FIR滤波器的内插获得1./2像素位臀的值。当1/2像素值获得后.1/4像素值可通过线性内插获得。列r4:2:0的视频格式,亮度信号的1/4像素精度对应予色度部分的1/8像素的运动矢鼍.因此需要对色度信号进行l/8像素的内插运算。理论上,如果将运动补偿的精度增加一倍可有O.5bit/Sample的编码增益,但实际验汪发现在运动矢量精度超过l/8像紊后,系统基本上就没有明显增益了,因此,在H.264中,只采用了l/4像豢精度的运动矢量模式,而不是采用1/8像素的精度。2.4.3整数核变换量化视频压缩编码中以往的常用单位为8x8块。在H.264中却采用小尺寸的4×4块.由于变换块的尺寸变小了,运动物体的划分就更为精确。这种情况F,图象变换过程中的计算量小了,而且在运动物体边缘的衔接误差也大为减少。当图象中有较大面积的平滑区域时,为了不产生因小尺寸变换带柬的块州扶度差异,H.264可对帧内宏块亮度数据的16个4x4块的DCql系数进行第二次4x4块的变换,对色度数据的4个4×4块的DC系数(每个小块~个,挺4个DC系数)进行2x2块的变换。H.264不仅使图象变换块尺寸变小,而且改用整数“核”变换,并用蝶形运算实现,这样避免了乘法运算,且能够在不影响编码性能的前提下,有效地降低计算复杂度,也更有利于硬件实现。出于编码器和解码器的变换和反变换的精度相同,可以有效地消除“反变换误差”。整数核变换量化的具体过程见论文的3.5节。2.4.4熵编码多媒体数据压缩的方法可分为有损压缩和无损压缩两种,而无损压缩编码义可称为熵编码或者冗余编码,这种编码是利用信源的统计特性进行压缩编码的,也称统计编码。视频编码中常用|!}辱是熵编码中的变氏编码(也称huffman编码)和算术编码。H.264中所要编码的参数包括:序列层、图象层和片层(Slice)的语法单元,宏块类型,已编码块类型,量化参数,参考帧索引,运动矢量以及残莲数摄。片层以上的语法单元用定长或者变长的直接二进制编码方式,片层及片层以F的语法单元及编码参数用变长编码(VLC)或者基于.}下文的二进制算术编码 辑J£I:业大学硕士学位论文第二章H.264/AVC概述及关键技术介}“-●-l_--_●●_----_●●-_--_-_I--_l_____-_--___-__-___●________-__-_-_-_●-__●一(CABAC)。而VLC又包括统一的变长编码(UVLC)和基于上下文的变长编码(CAVLC)。2.4.5去块效应滤波运动估计和整数核变换都以方块为单位,这种人为的分割造成了方块边界的1i连贯性,会产生明显的方块效应,这对重建图象的主观质量有很大损伤。H264通过在方块边界使用滤波器来消除方块效应。有条件的滤波用于图象的所有4x4块的边界,除了图象的边界和特别指出_i进行滤波的某些边界。滤波过程以宏块地址增加的顺序进行。在对每个宏块滤波时,可以使用当前宏块上方或左方己滤波的宏块值。去块效应滤波分别用于亮度和色度分量。滤波过程中垂直边界的已改变的值作为同一宏块水平边界滤波的输入。去块效应滤波器用于编码器的反变换之后(蕈建和存储宏块做进一步预测之前)和解码器中(重建和显示宏块之阿)。2.4.6码率控制对视频通信而言,由于通信信道带宽有限,需对视频编码码率进行控制,来保证编码码流的顺利传输和信道带宽的充分利用。针对不同的应用场合,学者们提出了多种码率控制(RateContr01)策略。码率控制有两种模式¨71:VBR和CBR,即可变比特控制和固定比特控制。VBR模式是一种开环处理,输入为视频源和~个量化系数QP值。CBR模式是一种闭环处理,输入为视频源和目标比特,它根据对源复杂度估计、解码缓冲的大小及网络带宽估计动态调整Qe,得到符合要求的码率,这也是真『E意义上的码率控制。H.264码率控制方法的提案主要有两个:ⅣT.F086中MPEG.2TM5改进版本[18】及JVT—G012中提出用流量往返模型119l来分配每个基本单元目标比特数,并在宏块层编码采用二次率失真函数计算量化参数的算法。JVT.G012还比较了这两种算法.认为其算法优于F086算法。2.4.7SP/SI帧SP/SI帧【20l是H.264的特定编码帧,用于在视频流间高效切换,以便在解码时可以随意跳至某一时刻图象或同一视频内容在多码率传输过程中做流切换。当视频流的内容相同,编码参数不同时,采用sP帧;而当视频流的内容相差很大时,则采用SI帧将更加有效,它采用4×4帧内预测编码。 阳北】:业人学硕士学位论文第二章H.264/AVC部分关键算法_【jj}究第三章H.264/AVC部分关键算法研究3.1视频压缩质量评价标准目前多采用峰值信噪比PSNR(PeakSignal.NoiseRatio)和码率Bitrate两个指标来衡量视频压缩的质量,PSNR主要衡量图象的失真度,Bitrate则用来衡量编码后的码流大小。当评价视频压缩算法时,我们通常要综合考虑这两方面凼素,硎出表格进行比较,或者画出R-D对应曲线进行更直观的分析。Bitrate是指每秒钟传输的码流位数(即biI数),以bps(bitspersecond)为啦位,当固定帧速率后,Bitrate仅由编码后的码流长度决定。PSNR是一种衡量图象失真度的参数标准.它是目前衡量图象失真度时常用的指标之一,定义为信号功率与噪声功率之比,单位为分贝(dB)。在图象处理的过程中,将图象峰值像素值的平方视为信号功率,而噪声功率可认为是图象的均方误差。实验中,我们对PSNR的定义如下【4J,假设图象的尺寸为MxN:图象的均方误差:M姬。面÷万善莓嘲,xdif/i,(3-1)其中,嘲,为处理后的恢复图象与原图象对应像素值的差值。厂,‘‘2、图象的峰值信噪比:删=1叭。g,。【荔蠢j‘3_2’由公式(3.2)可得:MSE:三黑:面65025lO1¨lO10因此,对于亮度分量Y,MSEy:兰罢粢10对于色度分量u,MSEr.:至器嘉10对于色度分量v,MSE,:至翼熹三个分量的平均均方误差为:M—S—E一4xMSEr+MSE.+MSE—v(3.7)o粥M"如 两北L业大学硕士学能论文筘三章l-t.264/,4VC部分戈键筇法研究__-_■■__●_■●-IIIIIIIullIIII—__■_—-■--赢厂1c(2、因此,三个分量的平均峰值信噪比为:PSNR=10log.。l兰:二l(3-8)LMSE/实验中作为图象压缩质量评价指标的PSNR均为三个分量的平均峰值信噪比,即PSNR,如果是图象序列的PSNR,则为序列中所有图象PSNR的平均值。3_2H.264/AVC中的率失真优化策略(RDO)率失真优化(RateDistortionOptimized)策略【31是在率失真理论【211的嫠础卜提出的一种代价函数方案,它在网络传输和编码技术中有着』、泛的应用。H264引入了这种代价函数策略,并将其合理地运用于运动搜索、参考帧择优和模式决簸r{],相对于运用传统代价函数的编码方法,编码效果有了大幅度提高。RDO的主要思想是,在计算代价函数时,同时考虑码率和失真度两方面吲索的制约,在保证低失真度的同时保证低码率,这样更加有利于视频流的传输。H.264在运动搜索、参考帧择优、模式决策三个方面运用了不同的RDO代价函数.也将非RDO代价函数列为可选模式,以满足不同的需要。3.2.1率失真理论及率失真优化模型在视频传输过程中,为了在目标数据率的限制下使得传输的视频信号的失真达到最小,需要用到信息论中的率失真问题,即在编码比特率和图象失真之渊必需选择一个恰当的折衷。可描述如下:在保证比特率月不超过最大比特率矗一的条件下,使失真D达到最小,即min{D}限制条件:RsR。。(3-9)可以通过选择最优的编码参数给出“最好”的图象、质量(最低的失真),并不超过目标比特率。在实际中,用一套编码参数(量化系数、块模式选择等)对视频\n^R序列进行编码,得到相应的编码比特率(R)和解码图\,一*%象质量(或失真D),两者结合即形成~个R—D工作点。o~~o用不同套的编码参数重复上述编码过程,获得不同的幽3q1理想的率必真曲线尺一D工作点(如图3.1)。率失真理论指出,理想的率失真曲线(R—一D■,。曲线)位于众多工作点的凸边上(图3—1标出)。而率失真优化的目标就是寻找一套编码参数,使其代表的工作点尽可能地位于或接近这条曲线。等式(3-9)很难直接最小化,目前常用的优化模型是拉各朗目优化法【2“,具体如下:min{J=D+;tRl(3-10),是包含D、R以及拉各朗只乘数^的~个新函数。J=D4加表示了一条直线,^代表它的斜率。对于每个可能的乘数A等式(3-10)都有一个解,每个解就是和理想的率失真曲线相切(或接近相切)的直线。 婀北【:业人学硕十学位论文第三章H.264/Avc部分火键算法研究3.2.2H.264/AVC代价函数分析H.264中所用到的代价共有三种:运动矢量(MV)代价MVCOST;参考帧(REF)代价REF_COST;模式(MODE)代价MODECOS]1。求每种代价的代价函数大体可以分为RDO和非RDO两种,可以依据不同情况进行选择。I.拉各朗F1乘数A的定义H.264中用到了三种拉各朗同乘数,分别为用于运动搜索的拉各朗同乘数^一。及其移位变形^。。脚。;用于模式择优的拉各朗R乘数l。柏。RDO方式卜,三种^的值均与量化系数QP、帧类型有关,且^,。。,=√ji=:而非RDO方式下,厶“。。《。础,它们的值仅和Q.P有关。2.运动矢量代价MVCOST运动矢量代价主要运用于运动搜索模块中,为搜索点的择优提供了代价依据。H.264直接运用了RDO运动搜索代价函数,其主要构成如F:MV_COST=SAD+2M,。栅,。,×运动矢量码流位数(MVbits)相关量(3.11)其中,SAD是当前块和参考帧搜索位置块的绝对误差,如果用了哈达马变换则SAD转化为SATD;MVbits是编码运动矢量差MVD的比特数,d{MVbits列表给出。,3.参考帧代价REFCOST参考帧代价_}{jI于多参考帧的择优,采用RDO或非RDO代价时定义有所差别:非RDO方式:REF_COST=SAD+2x2。。×参考帧争}^。。佑。×运动矢量码流1矿数(MVbits)相关量(3-12)其中,参考帧号为参考帧的编号,其他各变量的定义与MVCOST中一致。RDO方式:REF—COST=SAD+2=“。。向m×参考帧码流位数(REFbits)相关量“。“。[actor×运动矢量码流位数(MVbits)相关量(3-13)其中,REFbits是编码参考帧号的比特数,由REFbits列表给出,其他变量与卜述定义~致。4.模式代价MODECOST模式代价用于块模式的择优中,在帧内预测块和帧间预测块的各模式选择过程中定义有所不同:对于亮度分量帧内预测模式择优,非RDO方式:MODE_COST=SAD+4x厶,。出(3-14)其中,SAD为当前块与预测块的差值,同样,如果用了哈达马变换则转化为SATD。RDO方式:MODtCOST=SSD+2,.oaC块编码比特数(BLOCKbits)(3.15)其中,SSD为当前块与重构块的均方误差,定义如式(3-24):BLOCKbits为某种预测模式下的残差块编码比特数,由熵编码结果给出。 两北J:业大学项_十学位论文第二章H.264/Avc部分关键算法研究对于亮度分量帧间预测块模式择优,非RDO方式:MODE—COST=MV—COST+REF—COST+2mode×模式比特(MODEbits)(3—16)其中,MV—COST、REF—COST分别为运动搜索、参考帧择优后的最佳代价;MODEbits为编码模式号的比特数,由列表给出。RDO方式:MODE_COST=SSD+2.,础×块编码比特数(BLOCKbits)t3-17)其中,SSD为当前块与重构块的差值iBLOCKbits为某种块模式F的块编码比特数,由熵编码结果给出,包括残差块、运动矢量和参考帧编码比特数。对于P帧亮度分量的特殊模式SKIP模式和B帧亮度分量的特殊模式SKIP、DIRECT模式,其非RDO代价:SKIP_COST=SAD-8×2。。(P帧)(3一18)DIRECT—COST=SAD-16xk。ode(B帧)(3-19)SAD为当前块与参考帧相应位置块的差值,如果用了哈达马变换则转化为SATD。对于色度分量帧内预测模式择优(色度分量只有帧内预测),MODE—COST。SAD(3-20)翩D为当前块与预测块的差值,用了哈达马变换则转化为跗rD。3.2.3H.264/AVC编码过程中RDO代价函数的运用H。264编码一个宏块时代价函数的使用过程如下:ste.)1帧间三种帧间大块模式(16×16,16x8,8x16)循环,进行择优:ste.)1.1运动搜索,代价函数用MV—COST(包含对非RDOP帧SKIP模式的择优)。ste.,1.2参考帧择优,代价函数用REFCOST。ste.)1.3非RDO块模式择优,代价函数用MODECOST。ste.)2帧间小块模式(P8模式)循环。进行择优:ste.)2.1运动搜索,代价函数用MVCOST(包含对非RDOP帧SKIP模式的择优)。ste.)2.2参考帧择优,代价函数用REFCOST。step2.3块模式择优,代价函数用MODECOST。step2.4对于非RDO方式,将step2.3的择优结果与stepl中的最佳大模式进行比较决策,选出最优模式。step3所有模式择优:step3.1RDO方式下,对三种帧l’日J大块模式、最佳P8模式、两种帧内预测模式以及SKIP、DIRECT模式进行RDO模式代价MODECOST的比较择优:step3.1.1四种色度块帧内预测模式循环。step3.1.2设簧运动预测和参考帧模式。step3.1|3计算七种模式的RDO模式代价MODECOST,进行比较决策。15 V1=i-IL;[业大学硕士学位论文第二帮H.264/AVC部分天键算法Iij}究■●■■■■■■■■■■●■■■■■■■■■■●■■■■■■■■■■■●■■●■●■■■●■■■■■■■●●■■■■■■●■■■●■■■■■■■■■■■■■■■■|■一II嗽step3.2非RDO方式下,将step2的择优结果与DIRECT模式、帧内预测模式进行比较择优:step3.2.1获得DIRECT模式下的代价MODECOST,进行比较择优。step3.2,2进行4x4和16x16的帧内预测,用MODECOST对预测模式择优。以上步骤中,如果用RDO代价函数,因为计算代价时已经编码,择优后仪篱对编码参数进行存储;如果用非RDO代价函数,则择优后还要进行编码过程,编码后存储参数。3_2.4实验及结果分析对JM8.4代码的RDO性能进行测试,选取六种QCIF格式的图象序列,其中包括快运动序列foreman,coastguard和news,慢运动序列claire,akiyo和container。!实验中采用I帧和P帧编码,编码方式为IPPPP,帧速率为30Hz,测试帧数为1帧I帧、49帧P帧,共50帧。将foreman和claire两序列的性能参数和决策时n】j的变化记录如表3.1。其中,QJP为编码量化系数,PSNR(dB)为RDO代价与非RDO代价相比图象序列峰值信噪比的变化量,Bitrate(%)为序列比特率的变化白分比,Time(%)为编码时间的变化酉分比。还可以通过序列的R.D曲线更直观地分析算法的性能参数,如图3.2。表3.1测试幽象序列的性能参数(a)foreman.qcif图象序列(b)claire.qcif幽琢序列‘)PPSNR(dB)Bitrate(%)Time(%)120。09.2.6436.8416O.03_4.1232.1220O.16.6.4227.64240.17.6.9223.83280.06.12.4520.72320.07.14.4018.50Q|pPSNR(dB)Bitrate(%)Time(%J120.04.14.4526.5516O14-12.7624.19200,27.8.1321.78240.27.7.031980280.10一5.1718.1832O.11.5.621651(a)foreman.qcif图象序列(b)claire.qcif幽象序列图3-2测试图象帝列的R-D曲线虱霸一一彩一一一⋯一一。.一卜够一 西北.i业丈学硕十学位论文第三章H264/AVC部分关键算法研究出图表信息司知,引入RDO代价函数后,H264的图象序列编码性能有了大幅度提高,其中PSNR平均增加了013dB,Bitrate平均减少了8.40%,这火大提高了视频传输的质量。当然,RDO也有缺陷,}l;{表格数掘可以看出.其编码效率较低,编码耗时较大,因此可以进步优化和改进tt264中的率失真优化策略。33H.264/Avc帧内预测模式决策由2.4.1节的介绍,H264有多种可供选择的帧内预测模式,而如何选择模式也就是模式决策的方法是值得深入研究的。3.3.1现有决策方法1.全搜索的帧内预测模式决策方法JM8.4程序中采用叠搜索的方法来进行帧内预测模式的决策。步骤为:slepl根据种预测模式产生4×4的亮度预测块,计算原始块和预测块的残羞块..step2计算代价函数:1)非RDO:卫Cost⋯=∑CO够ISATD(d(ff)I+4_PA(gP)(3—21)i=l其中,碱萨原始块一预测块,SATD为对残差块diff做哈达马变换后变换系数的绝对值之和,也可不选择做哈达马变换,这时SATD转化为SAD,SAD是对diff块备像素点绝对值的直接求和。将SATD值与4P2(QP)相加为代价函数Cost。。ltQn是量化系数量lP的指数函数的近似:A(QP)。z。m。=0.852‘⋯。2’”(3—22)对于最可能模式(当前块的左邻和上邻块最佳预测模式中的较小模式),P。-0+对于其他模式,P=I。2)若选用RDO,可通过计算帧内4x4亮度块的RDO作为代价函数进行择优:Cost¨=RDO=厶Ⅲ。(s,c.MODEI^㈣)=SSD(s,c,MODE)+zmR(S,f,2l_[ODE)(3—23)其中SSD=∑№,n,)一s’(一Y,f)11(3-24){xvlE月为原始块S与重构块5’的均方残差,R(s,c,MODE)为残差块编码后的玛流位数=step3对所有9种4×4模式重复stepl~2,然后选择最小的Cost。,。。step4对宏块内的16个4x4块重复stepl~3,对所有Cost。。。求和。step5根据一种16×16的预测模式产生一个预测宏块,对残差宏块的每个4x4块进行哈达马变换。step6从16个4x4块中提取每个I)C系数的l,4形成男一个4×4块,对DC系数块step6从16个4×4块中提取每个DC系数的1/4形成男一个4x4块,对DC系数块 两北1:业大学硕士学位论文第二章H.2641AVC部分关键算法研究进行哈达马变换。step7对所有哈达马变换系数的绝对值求和(除step5巾的DC系数),墩和的l/:作为代价函数值。step8对4种16×16模式重复step5-7,选择最小的代价豳数值Costm:6。step9检测步骤4-8的代价函数值,如果o“。。≥∑(10盯。,+24A(QP)(3-25),=l则当前块选取4×4的intra预测模式,否则,选取16×16的预测模式。stepl0对于色度块,先做4种8x8模式的预测,然后用4x4亮度块的第一种代价函数进行模式决策。由此可见.一个宏块内的模式组合数为:M8x(M4x16+M16)(3-26)其中M8=4、M4=9、M16=4,分别代表8×8色度块、4×4亮度块和16×16亮度块的帧内预测模式个数,所以将要计算592个不同的代价函数以选择最佳摸式,汁簿复杂度很大,尤其是在运用RDO后,虽然保真度火幅度提高了,但耗时过大,需要采用一些快速算法,在保证其编码精确度的基础上对其进行优化。2.基于边缘方向直方图的快速帧内预测模式决策方法通过观察发现沿着局部边缘方向的像素通常有相似的值。这对亮度和色度均有效,因此FengPAN等人在JVT会议|41中提出了一种基f边缘方向直方阁的快速决策算法,这种方法选用sobet算子映射出的边缘方向直方图来提取边缘方向信息,然后使用局部边缘方向上的采样点对当前像素进行预测。该方法通过边缘方向来确定候选模式,从而减少候选模式数,降低了运算量。3.基于分组像素点的快速帧内预测模式决策方法由于4x4的尺寸比较小,所以块内纹理比较平滑,130junMeng等人根据这⋯特点,在文献[5】中提出了一种基于分组像素点的快速决策算法。该方法用分组像素点来代表一个块,在决策的每个步骤中仅计锌一组像素点的代价函数,以此减少计算点数,简化了运算。4.空域和变换域联合的快速帧内预测模式决策方法ChangsungKim等人提出了⋯种基于空域、变换域的决策疗法【22|该方法通过对二蕾域、变换域特性的统计,以空域、变换域最佳模式来近似RDO最佳模式,以此省去RDO的计算时间,从而加快决策速度。3.3.2基于混合特征的H.264/AVC快速帧内预测模式决策方法原全搜索的决策方法计算复杂度相当高,有必要对其进行优化和改进,以形成相应的快速决策方法。基于边缘向量直方图的快速方法运算较为复杂,因此决策速度提高的幅度不是很大,相对原RDO全搜索方法编码时间大约仅减少30%/,: 西北J二业大学硕十学位论文籀二=章H.264/AVC部分关键算法研究右;基于分组像素点的快速方法在运用了RDO优化后效果并不明显;空域和变换域联合的快速方法是比较简单可行的方法,但是其准确度和决策效率还有待提岛。本文提出的基于混合特征的快速帧内预测模式决策方法主要针对关键的4x4亮度块的9种预测模式,突出了DC模式的重要性,并将其与最可能模式特性,空域、变换域特征以及预测方向相邻模式特征相结台,形成了联合特征信息遴行决策。3.3.2.1特征提取由2.4.1节,4×4亮度块帧内预测模式的方向可归纳如图3—3所永。t87/瓠’/?r\、63/j-47’6、图3-34x4亮度块帧内预测模式(9种)对三个QCIF图象序列的500帧进行测试,针对4x4亮度块得出以下,结论:1.宏块位于帧的最顶部时,只需检测DC模式(模式2)和水乎模式(模式1);宏块位于帧的最左部时,只需检测DC模式和垂直模式(模式0)。2.当最可能模式代价SATD小于某一闽值时,RDO最佳模式为最可能模式。3.以4x4亮度块的9种模式的剐D和SATD幅度等级为X轴和Y轴,建立图象序列的RDO最佳模式的直方图。发现大部分最佳模式落在(剐D,删丁D)的3×3窗内,如图3-4所示。蹦3-4RDO擐佳模式直方图盼‘≯j%:,、晶:{l’『;Ⅳ南、J引。)+.一;囊酗3-5再幅度等级(SAD,SATD)的平均鸲率(R)灾真(D)芙系4.由(1,1)~(3,3)各等级模式的R.D关系,如图3.5,发现模式(1,1)近似于RDO的最佳模式,其次为模式(2,1),(3,1)..5.不在这个3x3窗范围内的RDO最佳模式有60%为DC模式。6.DC模式为SATD或者SAD的次小模式或第三小模式时,选择DC模式。7.SATD或者删D的三个较小模式的幅值相等时选择DC模式。 两北【:业人学硕_:学位论文籀三章l{.264/AVC部分咒键弹法研究--__--●_-_-_--●_■__----●■--●____-●●●_--____-__■●-●__II_■--____■-■■■--●●_-■■-_●_-一8.除了最小模式以外,与SATD或者SAD最小模式预测方向相邻的两模式为RDO最佳模式的概率最大。由以上结论建立如下的决策思路:定义阈值变量五,疋,l’和疋’:。sATD,一SATD』t一一一SATDIF,:—SAD2-—SAD,SAD.(3-29)墅翌[竺婴SATD,只:—SA—Di3I-_SA—D’(3-30)7:。—1矿其中,SATDl和SADl分别为SATD和SAD的最小值,SATD2卸s0伤分别为SATD和SAD的次小值,SATD3和蹦cb分别为SATD和SAD的第:刊、值。以错误判决率为依据。分别选取SATD和SAD的闽值r和z_’,如图3-6所示,以实验中的foreman.qcif图象序列为例:T≈O.43,T’≈0.4。(a)SATD的闽值T(b)SAD的闽值717图3-6闽值的选取先对SATD,再对SAD进行闽值检测。若五火_F闽值丁则直接选取SATDI模式和DC模式为候选模式,其余若t’大于丁7则选取SADl模式和DC模式为供选模式。由结论6和7,为保证决策精度,对于通过的上述检测步骤的块.若其SATD或SAD的三个较小模式的幅值相同,即z=L=0或7:7=F=0,则直接选择DC模式;对于不满足的块,若其SATD或SAD的三个较小模式中有Dc模式,则选择DC模式。由结论8,通过上述所有步骤豹块,仅选取剐7_D和SAD最小模式、与最小模式预测方向相邻的两模式以及DC模式为候选模式进行RDO检测。例如若最小模式为模式0,相邻两模式为5和7:若最小模式为模式1,相邻两模式6和8;糟最小模式为模式3,相邻两模式为7和8。3.3.2.2决策系统模型按照上述决策思路,搭建4×4亮度块帧内预测模式决策系统框图,如躅3.7:厂n卜 州北i:业大学硕十学位论文第二章Iu{.264/AVCN',分关键算法研究图3.7模式决策系统框幽3.3.2.3决策步骤stepl根据一种预测模式产生4×4亮度预测块,汁算原始块和预测块问的残差块。step2检测当前宏块位置,如果在当前帧的最顶部,则候选模式为DC模式和水平模式(模式1):如果在当前帧的最左部,则候选模式为DC模式和垂直模式(模式0),比较候选模式的RDO代价值,选出最佳模式,到stepl0。step3计算最可能模式的SATD,若小于闽值瓦,则选择最可能模式为最佳模式,到stepl0。step4计算4×4块9种帧内预测模式的SATD值。对9种模式的SATD进行排序,提取SATD值较小的3种模式。step5计算SATD闽值变量正和瓦,若I大于训练闽值r,则直接选取SATD最小模式和DC模式为候选模式,再计算两种模式的RDO值(公式(3-23)),进行比较判断,选取最终的最佳预测模式,到stepl0。step6计算SAD阚值变量正’和巧,按步骤对SAD较小模式进行检测.若‘’大于二r,则将SAD最小模式与DC模式进行比较决策,到stepl0。step7若闽值变量不满足step5和step6的条件,则比较正和疋以及正研口《,若两者相等且均为0,则表示至少有3种模式的剐rD或者删D值一致,选择DC模式为最佳模式,到stepl0。step8若SATD或剐D的较小模式中有DC模式,则选取DC模式为最佳模式,到stepl0astep9计算SATD和SAD最小模式、与最小模式预测方向相邻的两模式以及DC模式的RDO代价值,进行比较决策.到stepl0。steplO模式决策结束,输出最佳4x4亮度块帧内预测模式,然后进行帧内预测。3.3.2.4实验结果及分析用本文提出的基于混合特征的快速帧内预测模式决策方法对六种QCIF格式的图象序列进行测试,其中包括快运动序列tbreman,coastguard和llews,慢运动序列claire,Akiyo和container。实验中采用全I帧编码,测试帧数50帧,帧速奉 婀北I:业大学硕_f=学位论文第=章H.264/AVC部分天键算法研究为30Hz。将forelllarl和claire两序歹0的决策时问和性能参数的交化记录如表3.2(与原RDO全搜索方法进行比较)。其中,QP为编码量化系数,PSNR(dB)为本文方法与原全搜索方法相比图象序列峰值信噪比f{勺变化量,Bitrate(%)为序列比特率的变化百分比,Time(%)为I帧编码时间的变化百分比。由表格数据可知,与原RDO全搜索方法相比,本文方法对快速和慢速运动嘲象序列均有很好的优化效果。I帧编码时间减少量接近50%:PSNR的降低兰O.10dB,可以忽略:比特率的增加<6%,也可以忽略。还可以通过序列的R.D曲线更直观地分析算法的性能参数,仍以foreman和claire两图象序列为例,如图3.8所j÷。由图,本文方法和原全搜索方法的R.D曲线非常接近。由此可见,本文方法较大幅度地提高了I帧编码速度,对图象序列性能的影响却微乎其微,因此,本文提出的基于混合特征快速帧内预测模式决策方法对原全搜索方法的优化效果是非常显著的。表3-2测试图象序列的性能参数(a)foreman.qcif图象序列(b)claireqcif图象序州QPPSNR(dB)Bitrate(%)Time(%)12.O.102.09.45.316.O.092.92.42.620.O.083.74.42.924.0.084.9l-44.728.0.075.31.42.332.0.055.71.43.3QPPSNR(d13)Bitrate(%)Time(%)12,0.093.42—51.416,0.082.77—49.【20一O.102.37.48424m.10379.5l728-0,074.08.52.032.0.064.33,49、2(a)foreman.qcif图象序列(b)claire.qcif图象序列图3-8测试图象序列的R。D曲线3.4H.264/AVC帧问预测块模式决策在2r4.2节中我们已经介绍过H.264/AVC采用了一种可变块尺寸的运动预测模式,亮度块尺寸的范围从16×16变化到4×4,其中包含很多可选模式,形成了~种树形结构的运动预测,同时还为P帧和B帧提供了特殊的SKIP模式和DIRECT模式(不用运动搜索的跳过模式,MV=0或者是预测值,如架MV=0,则直接用参22 撕北l:业人学硕1:学位论文第二三章H.2641AVC部分关键算法研究■-■■一III■■■■■■■■■●■■■■■_■■■■●■■■■●●■■■_■■■■■■_■■■■■●■■■■■■■■■■■■■■■■■■■■■■■■■■■●■■■■■—■考帧相应块代替当前块,无需残差编码)和可选的帧内4×4模式、帧内16×16模式,总共11种模式。这些可选模式的存在使得编码方式更加灵活,通过实验数据表明12“”J,编码精度相对于固定尺寸块预测要高很多。然而,可选的帧问预测馍式增加了,必然会使得运算复杂度增加,因此有必要采用一种高敬的决策方法来选取块尺寸组合方式,使得编码效率和编码质量俱佳。JM8.4中采用了全搜索的帧间模式决策方法,这种方法虽然使得编码精度毒【{肖高,但运算量太大,编码效率很低。为了提高编码效率,目村已形成r一些快速的块尺寸决策方法。这些方法总的来说可以分为三类,“顶到底”方法,即分裂方法;“底到顶”方法,即合并方法;合并、分裂结合法。3.4.1现有决策方法1.全搜索的帧间预测块模式决策方法stepl进行相关设置,包括有效模式、RDO模式、拉格朗日系数。step2在16×16,16x8,8x16三种模式中择优。step2.1按某种块尺寸进行分区运动搜索。step2.2前、后向参考帧择优。step2.3对三种模式择优,并进行模式存储。step38×8块择优(B帧8×8DIRECT模式和P8模式(8x8、8×4、4×8和4x4模式))。step3.1计算B帧DIRECT模式的代价。step3.2分区运动搜索。step3‘3前、后向参考帧择优。step3.4计算8×8模式的代价函数值(非RDO和RDO),进行择优,并累积得到16x16块在P8模式下的最小代价值。step4对于非RDO模式决策,比较P8模式和非P8模式的代价函数值进行择优。step5对于RDO模式决策,进行七种模式(SKIP、16x16、16x8、8×16、P8、帧内16×16和帧内4x4)择优(考虑色度影响)。step6对于非RDO模式决策,在step4的基础上和DIRECT、帧内4x4模式、帧内16×16模式一起进行择优。step7进行数据存储和码率控制。由此可见,如果选择了8x8模式,每个宏块需要进行7种变尺寸帧I剐块的运动搜索,还要对总共11种模式的代价函数进行比较择优,运算复杂度相当高。如果选用RDO代价函数,编码精度会有大幅度提高,但计算量就更大了。所以,自‘必要对全搜索的模式决策方法进行改进。 荫北I:业人学硕士学能论文第二章H.264/AVC部分芙键算}去研究2.“顶到底”的快速帧间预测块模式决策方法(分裂法)文献[23】[24】【25】最早提出了将可变尺寸块用于运动预测的思想。他们的块组合思路为:先用大块匹配,如果最佳块的误差大于给定闽值.则将此块分裂为四个小块,即“预到底”的思想,这个过程重复到得到最小误差;然后进行反台并,将对图象质量无影响的小块进行合并。他们的实验结果表明,对于低速率编码,tU变块尺寸的运动预测后的编码质量相对于固定块尺寸编码有大幅度的提高。然而,上述的分裂思想只是一个最初的、简单的构思,因此在组合过程r11进行了重复的工作,灵活性和实用性还不够。近年来,尤其是在II.264标准出现后.在其基础上又形成了一些有针对性的“顶到底”方法,柬满足H.264的编码需要。D.Wu等人在文献[6】中提出了一种基于均匀区域的方法。其思想为:视频序列里的均匀区域一般属于同一个视频对象,因此应一起运动。所以一帧内的均匀块应有相似的运动,不需再分子块。采用边缘检测的方法来检测均匀区域。PengYin等人在文献【7】中提出了基于误差表面单调性的方法。将16×16,8xg,4x4三种模式作为初始化模式,。,。。。表示模式误筹。若‘,。m(16x16)‘厶。(8x8)<‘,。。。(4x4)或者Jmoa。(16x16)>3mode(gx8)>,m州。(4×4)则误差表面是单调的。若单调,则只检验两种最佳模式之间的模式。3.“底到顶”的快速帧间预测块模式决策方法(合并法)tnjongRhee等在文献[26仲首先提出了基于合并思想的快速决策方法。其慰路依据是缝隙问题:通过不同的观测窗看一个运动物体,观察到的MV是不同的,不同窗内可选MV的重合矢量即为运动物体真『E的Mv。因此,大体的合并思路为:首先从4x4的小块出发,对每个小块做运动预测,得到MV,如朵个8×8块内的四个小块有重合的MV,则合并为8x8的块,且合并后块的MV为童合MV的最佳值;同样,对于16x16块内的4个8×8块,如果满足MV条件也可合并为16×16的块。由于这种合并思路的可变尺寸仅为方形树,即一个16x】6块可分为4个8×8块,一个8x8块可分为4个4x4块,对于H.264帧间预测块模式的决策问题只能借鉴其分裂思想,有针对性的进行应用。Yu.KuangTu等人在文献【27】中针对H.264对文献[26】1|。的合并方法进行了改进,形成了一种的基于自适应阀值的块合并决策方法。该方法主要是对8×8块的一种合并,定义了楣邻块MV距离闽值D纽(x。x。),其中x。x。为两相邻块图3-98。8相邻块对应的MV(图3-9),用量化系数和代价函数麸同确定闽值7H,如聚Dist(x。,X。)≤TH,即Merge(a,6)=1,则将两相邻块合并。合并过程为:从8×8的中等块尺寸块出发,1)如果Merge(a,6)=1且Merge(c,d)=1,则使用16"8尺寸块: 阳北l:业人学硕士学位论文第二章H.2641AVC部分关键算法讲究●_■_■■_IIIII■■■■■●■●■■●■■■■●■■■■●●■●■●■●■●_●__■●_●■●■■■-■■■■■■■●■■■■■■●_■■■■_■_■■●■●●●■●●■●-一2)如果Merge(a,c)=t且Merge(b,e1)=1,则使用8×16尺寸块:如果1)、2)都成移,则用16x16尺寸块。4.合并分裂法近年来,围绕着H。264的帧瞄预测块模式决策阚题,又出现了一蝼新fj勺快速决策方法,其中很多都是将上述两种思想(分裂和合并)相融合,并引入快速运动搜索方法以得到最佳的模式决策方式。文献128I提出了一种基于ADSS和SDSP的合并分裂法。该方法主要从快速运动搜索方法出发,以MV判断模式可选性,并用相应的快速搜索来降低搜索点数.从而加快模式决策。W,Konzali等人在文献[291中提出了基于APRS的合并分裂快速帧间预测块模式决策方法。方法思路为:首先进行分裂,从16×16尺寸块开始.判断其与川磺相应宏块差值块的SAD,如果小于闽值,则可以认为是静止宏块,无需再分裂,否则用ARPS对16x8、8x16和gx8模式进行比较决策选出最佳模式.如果最佳模式为8x8,则重复上述步骤进行分裂判断;然后是合并过程,判断分裂后的最小相邻块,如果为均匀的,则将其合并,重复此过程直到最大尺寸块。3.4.2基于合并分裂合并思想的快速帧闻块模式决策方法通过以上对~些比较典型的H.264帧问预测模式决策方法的介绍,lq以看出全搜索的决策方法效率太低,而目前出现的抉速决策方法从总体框架上说可以归结为:分裂法、合并法和合并分裂法。就改进性能束说,对于将大块分裂成小块的大多数方法,小块仍要进行MV搜索来确定其MV,所以比较耗时;相反对于合并方法,如果相邻小块的MV满足某些条件,则可直接用其表示合并后大块的MV,无需重新搜索,所以比较节省时间。当然,步骤减少了,必然会影响编码稽确度,所以大多数单独的分裂方法的PSNR和Bitrate性能要稍低于合并方法。对总的性能参数进行分析,合并分裂方法是最佳的,尤其是运用了快速运动搜索策略螽,总体性能有大幅度提高。就目前已存在的快速方法而言,采用从8x8块出发的合并分裂方法的实验效果最好。3.4.2.1决策方法的思路通过上述分析,结合各类方法的优缺点,提出以下合并.分裂.合并的改进思路:从8×8尺寸块出发,先与参考帧相应块比较,差值块的SAD满足~定的阈值条件,则使用SKIP模式;第一次合并过程:构造一定的判决准则,若8×8的块满足准则则进行块合并,继续对16×8、8x16和16x16的模式进行判断:分裂过程:构造棚应的判决准则,若8×8的块满足准则则分裂成4×4的块;第二次合并过程:检测 坷北L业人学硕士学位论文第三章H.264/AVCN;分梵键算法彤}究合并准则,若满足条件则将4×4的块合并为8×4、4x8的块进行进⋯步决策。1.SKIP模式阈值选取SAD作为SKIP模式的阚值代价,若SA‰=∑Is(x,Y,f)一3’(x,Y,,一△叫<"to(3-31)fj,,沁』则直接选取SKIP模式,不需再进行运动搜索和模式决策。其中,S为当酶宏块缘藜,s‘为参考帧对应位鼹宏块像素,r0为训练得出的闽值。2.合并准则根据基本合并理论,若相邻两小块的运动矢量MV相似,则可进行合并。而若需进行合并,必然要满足模式代价函数值条件:J。,
此文档下载收益归作者所有