python 编码类型是先确定宏块类型还是确定片类型

当前位置: >>
基于DM642的H.264视频编码器优化和实现
长春工业大学 硕士学位论文 基于DM642的H.264视频编码器优化和实现 姓名:于宏伟 申请学位级别:硕士 专业:信号与信息处理 指导教师:宋宇
长春工业大学硕士学位论文摘要随着数字视频编码技术的发展和成熟,许多视频编码方案不断被提出和应用。在 众多的编码方案中,H.264是目前最有效的编解码标准。H.264标准是由视频图像编码 组和运动图像编码组共同开发的新一代视频编码标准。在相同的编码图像质量下, H.264与I{.263、MPEp4标准相比,分别能节约50%和20%的码流,而且加强了对f网络 和流媒体应用的支持。作为目前最高效的视频编码标准,H.264的技术特点决定它必然 将在视频传播和视频存储领域赢得更多的应用和商机。但是H.264的优越性能是以实 现的高复杂度为代价的,这给其嵌入式应用带来了巨大障碍。DSP芯片以其超强的处理 速度和较低的资源消耗,在许多应用领域有非常出色的表现。TI公司的DM642芯片是 专门为图像视频处理应用设计的,是实现H.264编解码的理想平台。因此研究利用DSP芯片实现H.264标准的实时编解码算法具有实用价值。本文详细分析了H.264视频编码标准,对标准中使用的一些新技术做了比较详尽 的探讨。例如帧内预测、帧间预测、变换编码、环路滤波、熵编码等编码技术,其中运动估计是帧间预测技术的重要内容,也是H.264编码器的核心内容之一。运动估计是在参考帧中搜索最佳匹配块,确定运动矢量。主要的搜索方法有全搜索法、二维对数搜索法、三步搜索法、对偶搜索法、非对称十字形多层次六边形格点搜索法和增强 预测性区域搜索算法(EPZS),其中EPZS算法的性能最优。在分析和研究增强预测性区域搜索算法的基础上,结合分级搜索策略,在低分辨率图像帧中根据分割模式的特点 来选用恰当的搜索模板,寻找最佳匹配点确定运动矢量,以该运动矢量作为原图像块的运动矢量预测值之一,然后进行区域搜索。编码实验显示,该方法与EPZS算法相比,在压缩编码图像质量不下降的同时可显著减少编码时间。 同时本文研究了DM642图像处理平台,结合TI的Reference Framework软件框架, 以回放显示应用程序为例,建立软件功能框图。在该软件框架下,编写H.264基本档 次编码算法库函数,由应用程序调用来完成编码功能。这样的编码算法函数更具有通 用性,可以在同系列不同DSP芯片上应用。根据对H.264基本档次编码算法的研究和 分析,确定编码流程和编码参数,将编码库函数移植到DM642芯片上实现了低帧率时 对图像序列的实时编码。关键词:视频编码,H.264/AVC,运动估计,EPZS,DM642 长春1=业大学硕士学位论文Abstract黝thedevelopment of digital video coding technology,many coding standards havebeen provided to the market.Among them,H.264/AVC is the most efficient codec standard until now.Video Coding Experts Group and Moving Picture Experts Group developed the H.264 standardsavejointly.Under thesRnlereconstruction video quality,H.264/AVC H.263can50%and20%bit―stream,compared withand MPEG一4respectively.H.264/AVC improves the ability to support the network application and the video stream application.As the most the video lransmitionefficientvideo compression standard,H.264 will be widely used inandvideo compression.But it comes wi也the cost of high complexity.And this is the obstacle for frequence and lowresourceembedded印plications wimcostareH.264.DSPchips谢m theirhighused in manyareas.DM642was designed for digitalvideoprocessing byTI,andit is the optimal platform for H.264 codec. the encoding principle ofThisdissertation introducedanalyses byH.264,anddescribessometechnologyH.264.Such嬲intra prediction,interprediction,transformencoding,loop-filter,entropy encoding.And motion estimation is the keytechnology ofinterprediction.nle aim of motion estimation isto fmdthe best match point and the the bestasmotion vector.There are some search algorithms,suchfullsearch,2D?log search,zonalthree―step search,conjugate search,center based three-step search and enhanced predictionsearch(EPZS).And EPZS is the most efficient search algorithm.By analyzing the EPZS Algorithm,we improve the search algorithm with level―search strategy,and fund the mostmatch point in the coarseimage.Thenonby the zonal search algorithm,wecallfend the bestcan savemotion vector.Simluation results show that the new method compared with EPZS encoding time without degradation image quality.Meanwhile,this Framework.With thedissertation makesthe researchonDM642 andTI’SReference weloop-back application we develop the softwareasframework.Thenusedonbuild the encoder programthe library function.Generally itcanbedifferent DSP encoderplatforms.And then according to the baseline profile of H.264,wetransplant thealgorithmonDM642platform.KeyWords:Video Coding,H.264/AVC,Motion Estimation,EPZS,DM642 长春工业大学硕士学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得 的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体己经发表或撰写过 的作品或成果。对本文的研究做出重要贡献的个人和集体,均己在文中以明确方式标明。本 声明的法律结果由本人承担。论文作者签名:孑瓣岫年乒月7日日期: 长春工业大学硕士学位论文第一章绪1.1引言论数字视频技术在通信和广播领域获得了日益广泛的应用,随着宽带技术和移动通信的迅 猛发展,视频信息和多媒体信息在Internet和移动网络中的处理和传输技术成为了当前我国信息化的热点。视频信息具有一系列优点,如直观性、确切性、高效性、广泛性等等。但是视频信息的 信息量太大,例如,一路可视电话或会议电视信号,由于其活动内容较少,所需带宽较窄, 但要达到良好质量,不压缩约需要若干Mbit/s;又如,一路高清数字电视信号,不压缩约 需1Gbit/s,利用MPEG-2压缩后尚需20Mbit/s。因此要使视频得到有效的应用,必须首先解 决视频压缩编码问题,其次解决压缩后视频质量保证的问题。这两者是相互矛盾的,是矛盾 的两个方面。既要有较大的压缩比,又要保证一定的视频质量。 H.264/AVC是视频编码专家组(ITU―T VCEG)和运动图像专家组(ISo/IEC MPEG)共 同开发的新一代视频编码标准。与以前的编码方法相比,H.264具有更高的压缩性能,提高 了存储空间利用率,加强了对网络的支持,面向数据包的编码能更好的支持流媒体的应用。 它具有很强的抗干扰能力,大大提高了视频传输的可靠性;对不同传输环境有适应性,提高 了信道利用率。H.264以其良好的网络适应性和高编码压缩效率,灵活的语法配簧,在视频处 理领域较之以往的视频编码标准更加适合视频处理的发展方向,更加适合不同应用环境的对 象。作为目前最高效的视频编码标准,H.264的技术特点决定它必然在视频传播和视频存储 领域赢得更多的应用和商机。 H.264具有较高的复杂度,在编码端计算的复杂度约是H.263的3倍,约是MPEG-4的 4-5倍;在解码端计算的复杂度约是H.263的2倍,约是MPEG-4的2-3倍“。。可以说H.264 的高性能是以实现的高复杂度为代价的。但是随着芯片处理能力的不断增强,H.264的计算 复杂程度在可以接受的范围之内,使得H.264标准的应用越来越广泛。1-2视频编码原理视频编码的主要目的是去除相关性,在允许一定图像失真条件下,以尽可能少的比特数 来表征视频信息。虽然高质量视频信源的信息量巨大,但由于视频序列中包含有大量高度相 关的冗余信息,这就给应用先进技术去除信息冗余以实现对视频数据的大量压缩带来可能,这些冗余包括:1)空间和时间冗余。图像的空间冗余指的就是图像中相邻像素之间的相关性,而视频 序列中的图像在时间轴上又有极强的相关性。视频压缩的目标就是在保证重构图像质量的前 提下尽量去除图像本身存在的空问相关性和序列间的时间相关性。 长春f工业大学硕士学位论文2)信息熵冗余。由信息论的相关原理可知,它为表示图像数据的一个像素点,只要按 其信息熵的大小分配相应比特数即可。然而对于实际图像数据的每个像素,很难得到它的信 息熵,在数字化一幅图像时,由于每个像素是用相同的比特数表示,这样必然存在冗余。信 息熵冗余、空间冗余和时间冗余统称为统计冗余,因为它们都决定于图像数据的统计特性。 3)心理视觉冗余。眼睛所感受到的图像区域亮度不仅仅与区域的反射光有关,这种现 象的产生是由于眼睛并不是对所有视觉信息有相同的敏感度。有些信息在通常的视觉过程中 相对来说不那么重要,这些信息可以认为是心理视觉冗余的。心理视觉冗余的存在与人观察 图像的方式有关,人在观察图像是主要寻找某些比较明显的物体特征,而不是定量的分析图 像中每一个像素的亮度。入通过脑子里分析这些特征与先验知识结合以完成对图像的解释过 程。正是由于以上的原因,图像的数据压缩是可能的。图像数据压缩技术是多媒体技术中十 分重要的组成部分。如果不进行数据压缩,则无论传输还是存储都很难实用化。而采用数据 压缩的好处就在于: (1)能很快传输各种媒体的信息源,降低信道占用费用和提高设备吞吐量 (2)压缩数据存储容量,降低存储费用 (3)可以降低发射机功率,对于多媒体移动通信系统尤为重要,如目前流行的WAP手 机上网及未来将要开通的3G业务等. 从图像恢复的角度上,信源编码方式可以分成两大类:无损编码和有损编码“1。在无损 编码中,原始的信息和信号可以精确地重构,因而信息可以进行任意多次无损编码而不会有 任何退化,但其压缩率有限。有损编码系统依靠量化实现,它的压缩是靠丢弃图像中的一些 有用信息而达到的,由量化去掉的图像细节信息是不可逆的,称为失真。因此在视频编码中 都是将无损编码和有损编码结合使用。 从编码方法上来说,可以把图像/视频编码方法划分为熵编码、源编码和混合编码”。等。 熵指的是具体数据的平均信息量,定义为在不丢失信息的前提下,描述该信息内容所需的最 小比特数。熵编码(entropy coding)是纯粹基于信号统计特性的编码方法,它是一种无损编 码,解码后能无失真的恢复原图像。熵编码的基本原理是分配给出现概率较大的符号一个短 码字,而给出现概率较小的符号一个长码字,这样使得最终的平均码长很小。一个精心设计 的熵编码器,其输出的平均码长接近信源的信息熵,即码长的下限。熵编码把己压缩的数据 流看作是简单的数字序列,而不关心这些数据具体的语义。源编码用于能够把原始数据中的 相关数据与不相关数据区分开的场合。该方法要考虑原始数据的语义,通过消除不相关数据 以达到对原始数据流的压缩。与熵编码不同,源编码常常是有损编码。在有损压缩方法中, 原始数据流与已编码的数据流相似但不相同。混合编码是熵编码和源编码方法的组合。通常 是几种不同的熵编码和源编码方法组织在一起构成一种新的混合编码方法。1.3视频编码标准视频编码国际标准的制定主要由IT叶T(InternationalTelecommunication2 长春工业大学硕士学位论文1-3视频编码标准视频编码国际标准的制定主要由ITU_T(International Telecomunication Union―Telecomunication)和ISO/IEC(InternationalOrganizationforStandardization/InternationalElectrotechnicalCommission)负责。ITU―T相继发布Picture Experts了H.26x系列标准,而IsO/IEC推出了MPEG(Moving 2003年MPEG和VCEG(VideoCoding ExpertsGroup)系列标准。Group)联合公布H.264/AVC标准。与传统的视频编码器一样,H.264/Avc也采用的是混合编码器方案,它仍然采用基于像 素块的编码技术,从视频技术发展上来说,它是属于第一代的视频编码方法。但是所谓的基 于语义的第二代视频编码方法(如MPEG-4上的应用)由于其算法的复杂性,不易实现,尤 其在低码率传输情况下,无法达到满意的性能指标。基于传统视频编码器框架,H.264对各 功能模块的基本算法都进行了重大改进,使其编码效率可比现有的视频标准提高5096,支持 广播视频能在互联网上以小于1Mbit/s的码率进行高质量传输,因此将使得计划采用H.264 技术的MPEG-4在低码率视频传输上取得突破性进展,其优异的压缩性能也将在数字电视广 播、视频实时通信、网络视频流媒体传递以及多媒体短信等各个方面发挥重要作用。1.4论文结构安排第一章绪论部分简要介绍了视频编码的原理和标准。 第二章首先介绍了H.264编码标准的制定发展过程,然后对标准中的主要技术,如帧内 预测编码、帧间预测编码、变换量化、环路滤波、熵编码进行了详细的介绍。 第三章针对编码环节中最耗时的运动估计部分进行了详细分析,介绍了全搜索、二维对 数搜索法、三步搜索法、对偶搜索法、基于中心的三步搜索法。运动估计的块匹配算法是目 前最成功和应用最广泛的帧问预测技术,也是H.264编码器的核心内容之一。但对图像块进 行匹配搜索的计算量是巨大的,因此如何在保证一定图像质量条件下进行算法优化,在主客 观质量损伤很小的情况下降低复杂度,以达到处理器的实时编解码,使其具有更强的实用性, 具有重要的研究价值。然后介绍已经被标准采纳的EPZS算法,并自此基础上进行了改进,取得了一定的效果。第四章介绍了TI公司的适合图像信息处理的DSP芯片TMS320DM642及数字图像处理平 台,分析了Framework程序框架。 最后结合DM642图像处理平台的特点,提出针对实现H.264基本档次编码的移植实现方法。 长春工业大学硕士学位论文第二章H.264编码标准概述2.1H.264编码标准简介H.264标准制定和发展过程2.1.11995年ITU-T推出了针对甚低比特率的压缩标准H.263建议…。H.263最初是针对 10―30kbit/s范围的甚低比特率应用设计的,但实验结果表明,在低速率范围内,H.263都 取得了惊入的压缩效果,成为当时最成功的数字视频压缩标准。在比特率(bitrate)低于 30kbit/s的应用中,同样的视频质量前提下,H.263的输出码率仅为H.261的一半甚至更少。 H,263采用了诸如可变尺寸块运动补偿技术、重叠块运动补偿技术、无限制运动矢量技术和 运动矢量预测技术等一系列新的视频编码技术,为混合编码框架的进一步发展奠定了基础。 VCEG在H.263建议推出之后继续对其进行改进,将各种新技术以附件的形式加入到H.263 中,并提供相应的测试模型(Test Model),使H.263不断得到完善。1998年公布的H.263+ 和其后的H.263++分别是改进后的版本,两者也是H.264标准的前身。 早在1995年,在完成H.263标准的最初版本后VCEG就已经开始着弓三‘‘短期(shortterm)”和“长期(10ng term)”的研究工作。短期的工作结果是产生了H.263+标准,而长期的工 作目的是形成一个在性能方面与已经存在的视频编解码标准有较大区别的视频编码标准。在 标准的初期制定过程中形成的草案被称为H.26L。2001年7月MPEG对AdvancedVideoCoding进行招标。同年底在目睹了基于H.26L标 Coding)小组来共同研究准的软件编码后的视频流质量远远优于当时基于MPEG-4标准编码后的视频流质量后,ISO/IEC的MPEG就与ITU-T的VCEG联合形成J、『C(JointVideo这个标准。 2002年5月,J、rT形成委员会草案CD(CommitteeDraft)。2002年7月,JvT形成了最终委员会草案(Final Committee Draft)。 2002年12月,JvT形成了最终国际标准草案FDIS(FinalStandard)。 Draft International2003年3月,标准的最终草案公布,称作H.264/AVC或MPEG-4 VisuM,Part 2005年3月,ITU-T公布视频编码标准H.264建议。 H.264标准与以往其他视频标准的比较10.2.1.22003年ITU-T在国际上正式公布H.264/AVC视频编码标准,其目标是为视频编码应用 提供“下一代”的解决方案,提供显著增强的编码效率,同时具有良好的网络亲和性,即可 适用于各种传输网络。一H.264规定了四个档次,每个档次支持一组特定的编码功能,并支持一类特定的应用。4 长春工业大学硕士学位论文这四个档次的关系和主要编码工具如图2一l所示:应竣交换 化矩簿图2-1H.264标准的四个档次和主要编码工具(1)基本档次(baseline)主要用于“视频会话”,如会议电视、可视电话、远程医疗、 远程教学等,利用I片和P片,支持帧内、帧间编码,支持利用基于上下文的自适应变长熵 编码(cAVLC,context―basedadaptive variable lengthcoding)。(2)主要档次(mainline)主要用于消费电子应用,如数字电视广播、数字视频存储 等。支持隔行视频,采用B片的帧间编码和加权预测的帧内编码;支持基于上下文的自适应 算术编码(CABAC,context―basedadaptive binary arithmetic coding)。(3)扩展档次(extended)主要用于网络视频流,如视频点播。支持码流之间有效的 切换(SP和SI片)、改进误码性能(数据分割),但不支持隔行视频和CABAC。 (4)高级档次,即新近扩展的FRExt(Fidelity 为四个档次:highRangeExtensions)部分,具体细分profile,highlO profite,high4:2:2 profile,high4:4:4 profile。主要用于专业级的视频应用、高分辨率/高保真的视频压缩等。FRExt对H.264/hvc的改善主要在:①进一步引入一些先进的编码工具,提高了压缩效率;②视频源的每个像素的位长 均可超过8b,最高可达12b:③增加了4:2:2与4:4:4的采样格式;④更高的比特率, 更高的图像分辨率:⑤可达到图像高保真的要求,支持无损压缩;⑥支持RGB格式的压缩,同时避免了色度空间转换的舍入误差。如图2-2所示为高级档次的主要编码工具,有关FRExt部分的特点和详细介绍请参阅文献[5]o 长春工业大学硕士学位论文蘸蠢◇悯豢 戮瓣户声)翳 §芒竺―/‘)IOP鲥422_彳艏4P/图2-2高级档次的主要编码工具2.1.3H.264码流结构及主要的技术改进 Layer)。视频为了更加灵活的适应不同应用领域的要求,H.264在设计概念上可以分为两层:视频编码层(VCL:VideoCodingLayer)和网络提取层(NAL:NetworkAbstraction编码层负责高效的视频内容表示,网络提取层负责以网络所要求的恰当的方式对数据进行打 包和传送。在VCL和NAL之间定义了一个基于分组方式的接口,打包和相应的信令属于 NAL的一部分。这样,高编码效率和网络友好性的任务分别由VCL和NAL来完成。VCL层 包括基于块的运动补偿混合编码和一些新特性。与前面的视频编码标准一样,H.264没有把 前处理和后处理等功能包括在草案”1中,这样可以增加标准的灵活性。NAL负责使用下层网 络的分段格式来封装数据,包括组帧、逻辑信道的信令、定时信息的利用或序列结束信号等。 例如,NAL支持视频在电路交换信道上的传输格式,支持视频在Internet上利用 RTP/UDP/IP传输的格式。NAL单元包括自己的头部信息、段结构信息和实际载荷信息(即 上层的VCL数据)。如果采用数据分割技术,数据可能由几个部分组成。这些编码的VCL 数据,先被映射或封装进NAL单元中。每个NAL单元包括一个原始字节序列负荷(RBSP,Raw Byte SequencePayload)和一组对应于视频编码数据的NAL头信息。NAL单元序列的结构如图2.3所示:H.264/Avc编码器的主体结构如图2-4所示:6 长春工业大学硕士学位论文图2-4H.264/AVC编码器主体结构其中Fn为当前要编码的帧,它是以宏块为单位进行编码处理的,每个宏块是以帧内或 帧问模式进行编码。F。是指前面已解码的多个参考帧,在帧间模式下宏块根据参考帧F。进行运动估计ME(Motion Estimation)和运动补偿MC(Motion Compensation)得到预测值P,预测值与当前帧Fn相减得到残差值,再对该残差值进行变换编码T与量化Q,得到变换 量化系数;最后经熵编码输出到网络提取层NAL(NetworkAbstractionLayer)。Fn’为经过滤波得到的重构图像,它将被放入参考帧存储器作为下一帧或几帧编码的参考帧之一。 从图2―4的结构来看,H.264编码器在总体结构上与以往的编码器并没有太多的变化, 但是在一些局部的编码策略上,H.264引入了一些新的算法与特性,从而增强了压缩能力, 也提高了对传输错误的抵抗力,更加适用于现在的无线多媒体和网络多媒体应用。例如:从 过去的DCT变换发展为整数变换,减少了精度损失;从传统的单一的帧内编码,发展为更 加高效、模式更加多样的帧内预测编码,进一步减少了帧内编码的比特数,等等。这些新技 术都大大提高了H.264编码器的图像的压缩效果。另一方面,H.264协议从过去的单一的 参考帧,发展为多个参考帧进行帧问编码;以过去使用的I帧、P帧、B帧为基础,扩展引 入了sP帧、sI帧等新的编码类型,这些技术都大大提高了H.264的压缩码流在信道中传输的可靠性。2.2帧内预测一个像素块的帧内预测编码主要是基于同一图片内其它相邻已编码重构的像素块,不需 要利用图像序列时间轴上的相关性。与其他标准不同的是,H.264的帧内编码充分利用了图 像空间上的相关性,利用周围块的像素值来预测本块的像素值,然后对预测后的残差量进行 编码来减小帧内编码的数据量。相对于只有帧间预测的H.263初级版本,H.264引入帧内预 测编码算法显著的提高了对视频图像的编码效率。H.264中提出了三种帧内编码(INTRA)7 长春工业大学硕士学位论文方式:4X4块的帧内编码,8X8块的帧内编码和16X 16宏块的帧内编码。其中对于4X 4块的帧内编码,总共有9种可选预测编码模式。这些模式都是根据相邻4X4像素块的 可用性和相关性来预测当前4×4中各像素的值,适用于带有大量细节的图像编码。对于 16×16像素宏块的帧内编码,共有4种可选预测编码模式,适用于平坦区域图像编码。8× 8块的帧内编码是在2005年标准的建议版中针对FRExt部分提出的,共有9种可选预测编 码模式,与4X4块的预测模式相似,这些模式也是根据相邻的块来预测当前块各像素的值。 色度块也有4种预测模式,类似于16X16亮度块预测模式。编码器通常选择使预测块与编码块之间差异最小的预测模式。此外,还有一种帧内编码模式称为I PCM,在该模式下,编 码器直接传输图像的像素值,而不经过预测和变换。在一些特殊的情况下,特别是图像内容 不规则或量化参数非常低时,该模式比“常规操作”(帧内预测.变换一量化.熵编码)效率更高。2.2.1亮度信号的4X4块帧内预测『斧酽 矽黔殿 辩劳 劳3傩boo憎Ido嘲n?Ie骞'●租轴gon■d蝴qi嘲'图2-54X4块的9种帧内预测模式上图显示了4X4根据周围像素点进行预测的9种预测方向,A~M是当前4×4块 相邻的像素点。在9种预测模式中,模式2(DC模式)根据A-^矗“中已编码像素进行预测, 而其余模式只有在所需预测像素全部提供后才能使用。表2.1给出了这9种模式的描述。 用pred4x4[x,y】,葛y=O…3表示4X4亮度块的像素值,以Intra4x4PredMode[1uma4x4Blkldx]。2, DC模式为例,当―bD、¨的像素值均为有效可用时:Pred4x4[x,y】=(A+B十C+D。卜I+J+K+L+4)>>3(式2-1)当只有A加l的像素值为有效可用时:8 长春工业大学硕士学位论文Pred4x4[x,y]2(A}B+C+IH2)>>2 当只有I ̄J的像素值为有效可用时:Pred4x4【x,y】=(I+J+K+L+2)>>2(式2-2)(式2.3)当』kD、H的像素值均无效时:Pred4x4[x,y】=(1<<(BitDepth-1))BitDepth为像素的分辨率(如gbit/pixel)(式2-4)表2-14x4预测模式描述 Name ofIntra4x4PredMode[1uma4x4Blkldx]Intra4x4 vertical Inlra4x4 orizontal Intra4x4 DC Intra4x4 diagonal down-left Intra4x4 diagonal down―right Inlra4x4 vertical―right Intra4x4Intra4x4PredMode[1uma4x4Blkldx】O 1 2 3 4 5 67horizonal.downIntra4x4 vertieal-1eR Intra4x4 horizontal-up82.2.2亮度信号的16×16宏块的帧内预测模式对于16X 16块的帧内编码,有4种帧内预测模式,分别为:垂直、水平、DC(均值)和平面预测模式,如图2-6所示。表2-2给出了这4种模式的描述。0(vertiealJ1CtⅢizaata0V6预测模式9 长春工业大学硕士学位论文模式描述模式0(垂直)模式1(水平) 模式2(DC)由上边像素推出相应像素值由左边像素推出相应像素值由上边和左边像素平均值推出相应像素值 利用线形“plane”函数及左、上像素推出相应像素模式3(平面)2.2.3色度信号的8×8块的帧内预测模式 上面预测模式都是针对图像块的亮度分量,而对于宏块的两个8×8色度分量所采用的 预测模式与16×16亮度块类似,且两种色度分量常采用同一种预测模式。4种预测模式类 似于帧内16X 16预测的4种预测模式,只是模式编号不同。其中DC模式为模式0、水平为 模式1、垂直为模式2、平面为模式3。2.3帧间预测H.264帧问预测编码是基于像素块的运动补偿技术,是利用前面已重构的图像作为运动 估计的参考帧,支持多参考帧应用,支持更灵活的块尺寸运动估计和更精确的运动矢量(1/4像素精度)。2.3.1多种模式的帧间预测 H.264支持宏块的8种分割模式:1个16×16,或2个16×8,或2个8×16,或4个 8×8;每个8×8模式子宏块又可以分为:1个8×8,或2个8×4,或2个4×8,或4个4 X4。这些分割和子宏块大大提高了各宏块之间的关联性。这种分割下的运动补偿称为树状 结构运动补偿,如图2.7所示:口圉田田Eode=l 8x8 mode=2 8×4 lode=3 4X8口目田田m×ie=4 mode=51rode=8∞de=7图2.7宏块及子宏块分割10 长春工业大学硕士学位论文每种分割模式下有不同尺寸的块,每个块都需要依据参考帧进行运动估计,运动估计得 到的每个块的运动矢量都需要传送到解码端,这样分割的块越多需要传输的矢量就越多。通常,对于一幅图像中运动平缓、纹理不明显的区域如屏幕背景等应选用尺寸较大的块,以减少编码比特率;对于运动幅度较大及需要精细描述的细节区域,应使用小尺寸块进行更精确 的运动估计,但是用过多的小尺寸块又会增加传输运动矢量的比特数,必然使码率增加。因 此如何进行适当的选择,就成为编码器实现中需要解决的一个重要问题。利用参考软件模型JMl0.2在2.8GHz CPU,1GB内存,Windows2000 ServieePack5操作系统下对120帧eif序列foreman进行编码测试,码率为15帧/秒,QP为32。表2-3帧间预测不同分割的比较only 16 Interl6× Inter8×g,4×4 only Intex8X8 Interl6×8,8×16.8 ×8 247.563 34.16 39.61 41.14 214.03 229.373 34.12 39.59 41.12 217.26 259.644 34.2 39.62 41.15 205.99totaltime(see)208.95434.03 39.56 41.04 224.87PSNR―Y PSNR―U PSNR.VBitRate(kbit/s)由上表可以看出,针对foreman序列仅采用16×16宏块进行预测,虽然编码时间最少, 但图像的信噪比最低,输出码流最大。预测编码可选模式增加,相应需要的编码时间也增加,信噪比增大,码流减小。宏块的色度分量(Cb和Cr)为相应亮度分量的一半(水平和垂直各一半)。色度块采用 和亮度块同样的分割模式,只是尺寸减半(水平和垂直方向都减半)。例如,对于8×16亮 度块,其相应的色度块的尺寸为4×8;对于8x4亮度块,其相应的色度块尺寸为4x2。色 度块的运动矢量也是通过相应的亮度块的运动矢量的水平和垂直分量减半得到的。2.3.2运动补偿的内插算法 相对于H.263、MPEG.2等标准使用l/2像素单位的运动估计,H.264支持更为精确 的亮度分量1/4像素精度的运动矢量和色度分量1/8像素精度的运动矢量,在运动搜索时 1/2、1/4等分数位置上的像素值是由周围整数位置上的像素值经内插滤波器的计算得到。 亮度分量半像素精度的内插像素生成方法如图2-8所示。 长春工业大学硕士学位论文口口 口口嚣 国曰 田 目目 口口圆口口口口U UM I II.......J.......1.._JI l Ns口口首先生成参考图像亮度分量半像素位置像素。半像素点(如b,h,m)通过对相应整像 素点进行6抽头滤波得出,权重为(1/32,一5/32,5/8,5/8,一5/32,1/32)。例如b的计算如下:b=round((E-5F+20G+20H一51+n/32)(式2-5)类似地,h由A、C、G、M、R、T滤波得出。如果邻近(垂直或水平方向)整像素点的所 有像素都已经计算得到,剩余的半像素点便可以通过对6个垂直或水平方向的半像素点滤波 得到。例如,j由CC,dd,h,m,ee,ff滤波得出。这里6抽头滤波器比较复杂,但可明显改善运动补偿性能。半像素点计算出来以后,1/4像素点就可以通过线性内插得到,如图2-9所示。蔫所示。I l IG誓 e■biHg_一#h■I■ rmp_MS―N图2-9亮度1/4像素内插1/4像素点(如a,c,i,k,d,f,n,q)由邻近像素内插而得,如4=round((G+b)/2)(式2-6)剩余1/4像素点(p,r)由两个对角线半像素点线性内插得出,如e由b和h获得。 相应的,色度像素的1/8精度的运动矢量,也同样由整像素线性内插得出,如图2一1012 长春工业大学硕士学位论文圆}?I由二_”’m r=]__ ;一 T晕T 1il圜一‘上;R.一I lls一。一l|{:i |{|i8-dy圉其中.1刨图2.10色度1/8像素内插a=round([(8一dx)?(8一dy)一+dx?(8一dy)B+(8一以)+dyC+dx‘或D]/64)当d,=2,dy=3时, a=round[(30A+10B+18C+6D)/64](式2-7)(式2-8)在同等条件下对QCIF格式的foreman序列进行1/4像素精度的内插与1/2像素精度的内插所得数据进行比较,如图2-11所示。forernanQClF懈:15编码较I100BitRate(kbit/s)图2-11两种搜索精度的性能比较【71从图中可以看到更高像素精度的内插算法使运动搜索更加精确,搜索的像素块之间更 加匹配,从而使要进行变换编码的图像残差更小,降低了比特率的同时还提高了帧间预测编13 长春工业大学硕士学位论文码的性能。 2.3.3运动矢量的预测 每个分割运动矢量的编码需要相当数目的比特,特别是使用小尺寸的分割时。为减少传 输比特数,可利用邻近分割较强的相关性,运动矢量(MV)可由邻近已编码分割的MV预 测而得。预测矢量IVIVp基于已计算的MV和IvlVD(预测与当前的差异),并被编码传送。 MVp则取决于运动补偿尺寸和邻近MV的有无。 设E为当前宏块或宏块分割子宏块。A、B、C分别为E的左、上、右上方的三个相应 块。如果E的左边不止一个分割,取其中最上的一个为A;上方不止一个分割时,取最左边 的一个为B。如图2.12所示为所有分割具有相同尺寸时的邻近分割选择。图2.13所示为不 同尺寸时的邻近分割的选择。BCI^其中:E图2.12当前和邻近分割(相同尺寸)图2-13当前和邻近分割(不同尺寸)(1)传输分割不包括16×8和8×16时,MYp为A、B、C分割耐的中值; (2)对于16×8分割,上面部分MVp由B预测,下面部分MVp由A预测; (3)对于8×16分割,左面部分MYp由A预测,右面部分淅p由c预测;(4)跳跃宏块(Skipped MB),同(1)。如果图2―12所示的已传送块不存在时(例如块在当前片外),埘p的选择需重新进行调 整。在解码端,MVp以相同的方式形成并加到MVD上。对于跳跃宏块而言,由于不存在MVD, 其运动补偿宏块也由Mv直接生成“1。 2.3.4多参考帧预测 目前应用的大多数视频编码器在进行帧间预测时,一般只是使用前面一帧刚解码的图像 作为参考帧,这样虽然算法简单、对硬件要求不高,但会导致图像传输时出现的干扰错误在 时间轴上的扩散,而且对某些有规律的场景画面无法进一步提高压缩效率。为解决这一问题, H.264引入了多参考帧预测的概念,即当前欲编码帧上的宏块可以在多个参考帧上进行运动 搜索,选择最佳参考帧,如图2-14所示。H.264支持最多15个参考帧。14 长春工业大学硕士学位论文图2―14帧间预测使用多个参考帧H.264中每个宏块可以以不同的图片作为参考从而增强了对传输中错误的抵抗力,提高 了运动估计的性能,尤其对视频画面为周期性内容或运动和场景的转换及改变摄像镜头的角 度在前后两个不同场景之间进行切换等场合,使用多参考帧预测技术对视频压缩效率的提高 更为显著;还可以阻止解码错误的时间延伸并解决了未覆盖背景问题,但增加了编解码的复 杂性并且由于要存储多个参考帧增加了参考缓冲区的大小。 实验:对CIF格式的foreman序列进行多参考帧编码测试,分别取1、2、3、4、5个 参考帧,每次编码120帧,帧率15帧/秒,QP为32,结果如表2―4所示。表2-4多参考帧预测编码比较1个参考帧 2个参考帧3.4253个参考帧3.94l4个参考帧4.25l5个参考帧4.765每帧编码时间2.682(sec)PSNR-y PSNR-U PSNR―V 34.23 39.65 41.17 34.35 39.63 41.22 202.39 34.37 39.66 41.17 200.91 34.39 39.67 41.24 199.08 34.14 39.7l 41-25 198.19码率203.34(kbit/s@15Hz)由上表可以看出,增加参考帧数可以提高信噪比,减少码流,但搜索次数要增加,相 应的编码时问增加。在本文编码软件中只使用一个参考帧。2.4变换编码H.264变换是建立在DCT变换的基础上,但是与DCT变换却完全不同,主要表现在: (1)它是整数变换,其中所有运算都是整数运算; (2)如按照标准进行反变换,在解码端和编码端不会产生误匹配问题。 (3)变换的核心运算部分只用到加法和移位操作,不需要乘除运算;. 长春工业大学硕士学位论文(4)变换中系数的缩放被融入到量化器中。 根据宏块残差数据的不同类型,标准采用了三种不同的变换编码方案并分别对应三种变换矩阵凹:(1)针对宏块所有残差4X4块的整数变换(integertransform),使用普通残差变换矩阵;(2)在16X 16帧内编码模式下,(在步骤l后)提取各4X4块的亮度DC系数进行哈德曼变换(hadamard transform),使用亮度块直流变换矩阵; (3)针对色度DC系数2X2块的交换,使用色度块直流变换矩阵。 这三种变换矩阵如图2―15所示:㈦1 11习㈦-1习睇]普通残差变换矩阵亮度块l漉变换矩阵色度块苴漉变换矩阵‰tll文19&U V图2。16宏块内个残差块的扫描顺序图2.16表示了一个宏块各类型像素块组织顺序,从一l到25,其中“一l”指从各个4 X4亮度块中提取出来的DC残差系数,16和17为从色度4X4中提取出的DC残差 系数。如果宏块以16X 16帧内模式被编码,那么标为“一1”的块(它包含每个4X4亮度 分量块的直流系数)首先被传输。然后亮度分量残差块0---15以上图所示的顺序被传输。块 16和17包含一个分别来自cb和Cr色度分量的直流系数。最后色度分量残差块18--,25被传 输。 帧模式下,一个4X4块内,系数的扫描顺序采用zig-zag扫描顺序,如图2-17:16 长春工业大学硕士学位论文85/, >? // /, /4图2.174X4内系数的扫描顺序2.4.1整数变换对所有4X4残差数据,H.264/AVC变换编码的基本算法采用整数变换,这种变换编码来源于DCT变换但也有很多的不同,它完全只涉及整数的计算而没有精度的损失。其中:r-删=『| 三 i-b][xl匡"b―6二::口l l口二::|6一cII口三b÷i一 4(式2.9)一c口=≯压cos◇=压酬争将系数矩阵中的a和b提取出来,上式经修改得到口21 y=ca簖7,。E=I三÷i]防-Ii-]iH∞∞E=|:三二;。时【d―了修改: 霄ab b2 ab b2d2ab b2 ab b2。口2 口2abab11-d 1_,_1-,l l 1 1。 口b ―dJL1ab(式2―10)其中d=c/b,CXC7是核心的二维变换,E为提取出来的对应位置上的系数矩阵。o为对应位置上的点乘。为简化变换的实现,将d近似为1/2,为保证变换的正交性,b也进行62√詈,则式(2―10)被修改为式(2―11).『11 1 11『1211]口2ab/2 b2/4 ab/2 b2/4口2ab/2 b2/4 ab/2 62/4r-(啊叫;1蚓2 2州1一一lI1:量2一 171到1。一l曲/2口2ab/2∥ab/2ab/2 长春工业大学硕士学位论文其中。蟛为核心的整数变换,这种变换与DCT相比有几乎相同的压缩性能且有很多优势,其计算只以整数进行加减和移位而没有精度的损失。B为提取出来的变换矩阵对应位 置上的乘数因子,该矩阵系数将被整合到量化器中。 2.4.2量化 H.264使用比例量化器,其基本操作如式: Z,j=round(Y,,|Qm0(式2-12)其中Y,j为经过整数变换后得到的变换系数(见式2?11),Q_。称为量化步长,乙称为量 化系数。round()为向前取整。 量化步长有52级,使用时被QP值索引,QP值每增加6,量化步长Qstep就加倍。 量化步长范围的扩大使得编码器能够进行更灵活和精确地控制,在比特率和图像质量之间达 到折中。详细的量化步长表请参阅文献【101。由式(2-3)可知Y=(CXC7)oE=woE,则L=形,?巨,其中(式2-13)彬,与E。皆为各矩阵对应位置上的系数,式(2.12)可改为:Z,j2round(W,j?胛/%)表2-5 4X4块中各点位置 PF值对应位置分布PFa2PF就是E。的对应分布,见表2-5:(O,o),(2,0),(O,2),(2,2) (1,1),(1,3),(3,1),(3,3)其他位置b2/4 ab/2在H.264标准中,将变换和量化结合在一起同时实现,这样可以最大限度地减少由于不可避免的小数运算而带来的误差。2.5环路滤波基于像素块的编码特性之一是它的块结构。在重建图像块时,往往由于块边界象素值的 量化误差而形成影响图像主观质量的“块效应”。为改善图像主观质量,H.264标准采纳了 去块效应滤波器技术。它的基本思想是:当块边界上两边差异较小则使用滤波器使差别“平 滑”掉,若边界上图像特征明显就不使用滤波。这样既减弱了“块效应”的影响又避免滤掉 图像的客观特征,同时在相同主观质量下能使比特率减少5―10%【11】。18 长春工业大学硕士学位论文D3D2p1DOHorizontal boundary Ve『tJcal boundan/aOq1IP3p2p1po∞q’n2a3q2q3图2.18相邻4x4块的垂直边界和水平边界如图2―18所示,相邻4×4边界两边的像素p0~p3与q0~q3之间要进行差 值计算,再与标准中定义的阈值a与13,11与B决定于相邻块使用的量化参数QP,随着QP 的变化而变化。对边界进行量化判决还依靠标准中定义的边界强度值Bs(Boundary strength),在满足以下条件时Bs=0:相邻块P与q均为帧内编码;q与P的预测误差编码为零或是处于Skipped模式; P与q有相同的参考帧和相同运动矢量,在Bs>0 Ij lp0.qol,Ipl―pol和lql?qof都小于阈值a或B时,开始对块边界两边像素进行滤波处理。若边界有显著差异,即图像本身特征明显,高于阈值限定,则判决滤波不会发生。由于 阈值受QP影响,QP大时意味着边界两边的差异主要是由量化引起的,块效应明显,a与 13的值就大,所以滤波发生的可能性就大;反之,QP值小意味着由量化引起的边界差异就 小,其显著的差异很可能是图像的本身特征,a与P的值随QP减小则滤波发生的可能性 就小。这样的设计即考虑到保留图像本身纹理特征,减少滤波失真,又可平滑掉块之间的量 化差异,减少块效应。使用滤波器对图像的客观质量评价影响不大,但从视觉上来说块效应 的减弱可以使图像的主观质量得到显著的提高。2.6熵编码H.264中,熵编码是针对控制信息以及前面步骤的结果数据(如运动矢量、残差变化量 化结果等)进行处理。由于这些数据理论上是不允许有失真的,尤其是控制信息,否则,解 码端无法正确恢复数据。所以,对这类数据只能采用无失真的熵编码方法来进行压缩。19 长春工业大学硕士学位论文H.264中的熵编码有两种:(1)采用基于指数Golomb码的统一变字长编码(universalvariable lengthcoding)对除了变换系数之外的所有语法流元素进行编码。扫描变换系数采用更灵活的基于上下文的变长编码(CAVLC)。 (2)采用基于上下文的自适应二进制算术编码(CABAC),这种熵编码方法的复杂度 高,压缩效率也更优,是主要档次(main profile)中使用的熵编码方法。更 详尽的介绍请参阅文献‘121‘1朝2.6.1基于指数型Golomb码的统一变长编码(uVLc) 统一变长编码具有简洁规范的特点,编码可以实时完成而无需浪费空间来存储映射码 表。这种设计避免了对每种语法元素定义不同的变长编码表。 指数型Golomb编码码字的构造如下:code_word=【M个0】+【1】+[Info】 (式2-14)其中,Into是一个Mb“的数据。其编解码过程如下: 编码,输入为待编码的码字codeM=l092(code―num+1)Info=code―num+1-2”nuln:(式2-15)(式2-16)code_word=[M个0】+【1】+[Info】 解码:(式2-17)读入M个以“1”为结尾的0; 根据得到的M,读入接下来的M个Irffo数据;还原code―numcode―num=2”+Info一1(式2-18)关于各种语法元素采用的具体编码方式的详细说明参见文献【14I。 2.6.2基于上下文的自适应变长编码(CAVLc) 基于上下文的自适应交长编码是用于对变换系数的编解码。变换和扫描后的系数有以下 几个特点: (1)变换矩阵中有很多0存在,因此通过游程编码(run-level)可以压缩这些信息。 (2)按扫描顺序输出的非0变换系数中有很大一部分是连续的±1的序列。 CAVLC中采用了一种特殊的方式来表示这些频繁出现的±1序列(trailing ls)。 (3)相邻子块中的非0系数的个数往往具有一定的相关性。非0系数的个数使用查找表 来编码,该查找表是根据相邻块的非0系数的个数来选择的。 (4)越靠近直流系数的系数值往往越大。CAVLC中利用这个特性实现了根据最近编码的 长春工业大学硕士学位论文系数幅度值来自适应选择不同的查找表来对相应的数据进行编码。总的来说cAVLC中与编码信息相关的参数有3部分:(1)num trail代表了trailing ls(O.3)以及4X4块中的非0系数的个数;(2)除了trailing ls信息以外的所有其他非0系数的幅度: (3)行程信息。采用CAVLC对一个变换系数块进行编码的过程如下: (1)对非0系数的个数以及连续的±l序列的个数进行编码;(2)对trailing ls的符号进行编码;(3)对其他的非0系数进行编码; (4)对按逆序扫描的第一个非0系数到最后一个系数之问的0的个数进行编码。 (5)对每一个非0系数的行程进行编码。 具体关于CAVLC的详细说明和举例请参阅文献m1【1“。 基于上下文的自适应二进制算术熵编码是主要档次中使用的熵编码方法,在此不做详细 介绍,请参阅文献邮1和H.264标准建议‘”1。2.7码率控制在H.264视频编码标准中仅仅规定了编码后比特流的句法结构和解码器的结构,而对于 编码器的结构和实现模式没有具体的规定。然而无论编码器的结构如何,相应的视频编码的 控制都是编码实现的核心问题。在对数字视频信号进行压缩编码时,编码器通过相应的编码 控制算法以确定各种编码模式,如宏块的划分类型、运动矢量以及量化参数等,已选定的各 种编码模式进一步确定了编码器输出比特流的比特率和失真度。 H.264编码器采用了基于Lagrangian优化算法【191的编码模式控制模型,其编码性能相 对于以往的所有编码标准有了重大提高。2.7.1Lagrangian优化算法考虑K个信源样本值的集合S=(S1,...,S。),其中S。可以是矢量或标量。每一个样本值 &可以通过选取编码模式集q=(ok。..,q。)中的某些编码模式,。(1k∈ok)进行压缩编码。 因此对应于样本值集合s,存在相应的编码模式集合I=(11,...,,。)在给定的限定码率R。下, 对于给定信源样本序列所选的编码模式,应使编码后的失真度最小,如式2一19所示。 minD(S,OR(s,,)≤疋 模式I对样本S进行编码并变换量化后输出。 在实际应用中,通常采用下式来选取编码模式。(式2―19)式中,D(s,I)与R(S,I)分别表示输出比特流的失真度和码率。其中,比特流采用编码2I 长春工业大学硕士学位论文,’=argnfmJ(S,I I旯)(式2-20) (式2―21)其中,以S,,J五)=D(S,I)+itxR(S,D式(2―20)中的五是Lagrange参数。对于样本s及其选定的编码模式I,当其编码后 得到的比特率和失真度的线性组合J(S,I I五)(Lagrangian代价函数)最小时,此时的编码 模式是最优的。 考虑某一样本&,可认为其编码后的比特率和失真度仅与相应的编码模式,。有关,因 此有下面的式子成立: .,(最,,lit)=,(墨,厶J五)K r(式2-22)中荟嘏,小)2荟叩,(瓯,厶l A)的最小值,从而实现相应的编码控制。 2.7.2编码控制模型(式2-23)因此,只要分别对每一个样本sx∈S选择最优的编码模式,便可以容易的得到d(s,I f A)由于编码后比特流的比特率和失真度与空间和时间的关系密切,基于Lagrangian优化 算法的编码控制方法不可能在混合视频编码器中简单地实现。假设图像序列S被分割为K个 不同的块A。,相应的像素用最表示,编码&所选择的编码模式仇分为帧内模式和帧间模式 两类。每种模式均包括预测编码的模式以及相应的编码参数。其中,编码参数为变换系数和 量化参数等。对于帧问模式,编码参数还应包括一个或多个运动矢量。在对图像序列S进行 基于块的混合视频编码时,对于每块&所选定的编码模式应当使编码后的Lagrangian代价 函数最小,当且仅当此时认为基于块的混合视频编码器达到最优化。 对帧间模式,其运动矢量应使代价函数最小,并作为编码参数被编码传输。因此在编码 控制模型中,宏块分割模式的判决与帧间模式运动估计的最佳比特分配这两个问题被分别处理。在Lagrange参数旯mDF与量化参数Q选定后,H.264的编码器通过最小化Langrangian 代价函数实现对每一个宏块的编码模式的选定。宏块&的Langrangian代价函数如下式:‰(Sk,Ik lQ,k)=D肛c(瓯,厶Ig)+k XR艇c(墨,厶IQ)其中,^为相应宏块的编码模式。,(式2-24)在不同的编码模式下,。编码后的比特率R脚与失真度D。。的计算方法并不完全相同。 在帧内模式下,月艇c(Sk,INTRAIg)为熵编码后的比特率,失真度D。(瓯,INTREAl9则由宏块的原始像素和重建像素决定,且有2种计算方式,如下:鼹D=∑bIx,Y,明一s’【x,y,印t#J)∈一(式2―25) 长春工业大学硕士学位论文SAD=∑I札弘,】一s’B,Y,fl{J,,擎彳(式2―26)其中,A为当前宏块。对于SKIP模式,由于无需残差信号,比特率RⅨ(S,INTRM Jg)与失真度D艇c(S女,INTREA l Q)与量化参数无关。D雎c(墨,INTREA Q)由宏块的原始像素值和预测像素值决定,而R肚c(Sk,INTRA f Q)N在H.264中被近似为lbit/MB。 在帧间模式下,由于采用了基于块的运动估计,Lagrangian代价函数的计算与帧内模 式或SKIP模式更复杂。对于采用帧问模式的AXB大小的块墨,在给定的Lagrange参数 _。。。参考图像s’的情况下,通过最小化Lagraagian代价函数来实现块墨的运动估计,如式所示;mi=argmia{D∞(墨,岫+^m口Ⅻ置^舢Ⅳ(墨,功}(式2-27)其中,M为可能的编码模式的集合,R。(S,埘)为传输运动矢量(所,,m,,m,)所需的比特数,失真度D。。由以下式子计算:SSD=∑pIx,Y,t]--8’【x―m,,Y一所,,r―m,12(J,y)E4(式2-28)SAD=∑№y,t]-s'IX--m,,Y―m,,t―m,】I(J,y)E4(式2-20)在进行运动估计时,水平与垂直方向的搜索范围为±32个整像素,并采用一帧或多参考帧图像。为寻找满足式2-27要求的运动矢量m,,首先在整像素位置进行运动估计的运算,求得 满足式(2―27)要求的运动矢量后,需要进一步确定周围半像素位置的运动矢量是否可使 Lagrangian代价函数的值进一步降低。由于在H.264中采用了1/4像素的运动估计精度, 之前确定的半像素周围1/4像素位置的运动矢量被进一步考察,以确定当采用此1/4像素精 度的运动矢量后,Lagrangian代价函数是否可获得进一步的降低。通过以上分析可知,最 终选定使得Lagrangian代价函数值最小的运动矢量具有1/4像素精度。 在n.264视频编码控制模型中,九nn。由量化参数确定,由式2―30计算:另一个Lagrangian参数九卯nⅣ与k有关,由下式确定:‰nDⅣ=钆∽ ‰770N=√钆m(SSD) (SAD)kM=O.85x2‘叫’”(式2-30)(式2―31)(式2-32)在H.264中,通常通过速率控制相关算法选择合适的量化参数,并通过相应的Lagrangian参数进行视频编码控制。在这方面Gary J.Sullivan、ThomasWiegand、HeikoSchwarz等人做了大量的研究工作Ⅲ】【2”。 长春工业大学硕士学位论文第三章运动估计算法基于运动补偿的变换编码方案是视频压缩算法中非常成功的方案,几乎被现存所有视频 压缩的国际标准所采用。其中实现运动估计的块匹配法,是目前最成功和应用广泛的帧间预 测技术,也是H.264/AvC编码器的核心内容之一。其中运动估计的准确性和时间性是影响 编码器整体性能的主要因素之一,如H.263中引入的半像素精度运动补偿算法使得H.263 比H.261整整提高了一倍的压缩性能,而H.264/AVC则更引入了1/4像素精度的运动补偿算法。对图像块进行匹配搜索的计算量是巨大的,它和模式选择部分的处理共占整个编码器运 算量的60%左右。所以如何在保证一定图像质量条件下,尽量减少对运动估计的计算,成 为对实时性要求严格的某些应用如算法程序到DSP上的移植过程中必须面对的问题。因此, 很多针对块匹配的快速运动估计和搜索算法被提出来。 运动估计技术本质上仍是一种预测技术,它是利用图像序列在时间上的相关性来预测 的。这种方法主要是基于物体运动的惯性原理,通常在前后相邻的几帧图像中,大多数物体 的运动量是很小的,甚至是保持不动的,也就是说其运动矢量场具有一定的平滑性、可预测 性。因此,完全可以利用上述特性,考虑邻近块的运动矢量作为当前块的预测运动矢量,再 加上新的预测矢量搜索提前停止准则,而且采用不同大小的菱形搜索模式对处于不同运动矢 量场中的子块分别进行运动估计。目前,基于这种思想的估计算法比较先进,这其中有MVFAST(MotionVector Field Adaptive SearchTechnology)‘22j、PMVFAST(PredictiveMVFAST)t”1、EPZS(EnhancedPredictive ZonalSearch)。3.1运动估计的匹配准则运动搜索的目的是在搜索窗内寻找与当前块最匹配的数据块,这样就存在着如何判断两 个块是否匹配的问题,即如何定义一个匹配准则。而匹配准则的定义与运算复杂度和编码效 率都是直接相关的,通常有如下凡类比较常用的匹配函数: 设当前帧为.^,参考帧为Z,(1)最小均方差函数(MSE)MSE(MV)=∑协(x,Me)一石(工H2(2)最小平均绝对值误差(MAD) 等效于常用的绝对差值和(SAD)准则,其性能很好,而且对硬件的要求相对简单,得 长春工业大学硕士学位论文到了最广泛的应用。MAD(Mr)=E∽(x,MV)一Z@H(3)阅值差别计数(NTD)NTD(MV)=∑6(L(x,(∥)一A Cx))其中,当k-pl>7"0时,G(a,∥)=l;、当k一∥l<ro时,G(a,∥)=0由于在使用块匹配算法进行运动估计的过程中,利用匹配准则函数进行匹配误差的计算是最主要的计算量,因此,我们可以从这方面进一步减少计算量。由于图像的帧内也具有相 关性,在计算误差匹配函数时,可以只让图像块中的部分像素参与运算,将块中的所有像素 组成一个集合,那么参与计算的这部分像素集合就是它的子集,这种误差匹配的方法被称为 子集匹配法。实验结果表明,在匹配误差无明显增加的情况下,采用子集匹配可以大大减少 每帧图像的平均搜索时间。 以上匹配判决准则都是依据图像的失真程度,并没有完全考虑到与图像编码输出比特率的相关性。尤其是H.264/AVC支持多个帧间预测模式(16X 16~4×4),若只是简单应用上面的匹配准则的话,在图像内容复杂时编码器为能够进行精确匹配必然尽量使用小尺寸的 块,这虽然使匹配的准确性增加了一些,但是随着小尺寸块数量的大幅度增加,码流中需要 传输的块的运动矢量也随之增加,必然使码率无法减少,从而影响整个编码器的性能。为此 需要结合码率控制模型综合考虑。3.2几种运动估计和快速搜索算法寻找最佳匹配块是帧间图像编码的关键,而最佳匹配块是靠运动搜索来获得。运动搜索 就是在搜索算法指定的路径中寻找最佳匹配块及最匹配的运动矢量,各种搜索算法的主要区 别就在于如何选择指定搜索窗口内的搜索路径和匹配准则。在匹配准则己确定的情况下,搜 索算法的准确度及搜索算法的运算量是衡量搜索算法好坏的标准。 3.2.1全搜索算法 全搜索(FS)算法是目前在视频编码的块匹配中研究和应用最广的一项技术。该算法对 规定的搜索区域内的所有点进行搜索。若以预测误差衡量,则FS算法总体最佳,因为对位 移矢量的全搜索可得到最小的预测误差。它还具有步长固定、易于设计成并行流水线处理的ASIC等优点。但是全搜索计算量很大。若采用全搜索方法,在k-1帧中的(M+2九)×(N+2du)的搜索范围内找到最佳匹配块,我们需要将k-1帧中对应的子块沿水平和垂直方 向逐个像素移动,每移动一次需计算一次SAD,然后进行比较。由图3一l可以看出,在(M+2du)×(N+2矗^,)的搜索范围内总的移动次数为(2如+1)2,即需要计算(2dM+1)2次。若搜索范围为[-16,+15]时,运动估值的运算量是整个软件编码器运算量的50%以上。虽然 长春工业大学硕士学位论文这是最简单可靠的搜索方法,能保证全局最优,同时算法简单,易于实现。但缺点是计算量 较大,特别是当搜索区很大时,难于用软件进行实时处理。而对于要求有较好的实时性的应 用,若采用全搜索方法则难于实时处理。为了降低计算量,许多快速算法只计算其中的一些 像素点,如二维对数搜索法、对偶搜索法、三步搜索法等,但存在搜索到非最佳点的情况, 从而会增大帧间预测误差。为此如何寻找符合图像特性的最佳搜索路径,以提高图像编码的 运算速率成为快速搜索算法要解决的主要问题。图3-1全搜索方法3.2.2二维对数搜索法(2DLoGs) 二维对数搜索方法的搜索策略是沿着最小失真方向搜索,采用的匹配准则是SAD准则。 二维对数搜索方法如图3-2所示。在搜索时,每移动一次就检查5个搜索点,这5个搜 索点呈现(+)形状或(×)形状的十字的端像素。如果最佳匹配在十字的中心或在搜索窗 口的边界,那么就减少搜索点之间的距离,即减小搜索步长;如果最佳匹配点不在中心或不 在搜索窗口的边界,则搜索步长不变。在这个例子中,第一步,如图2―3所示,以(i,j) 为中心,以2为步长设5个搜索点(i,j)、(i,j+2)、(i+2,j)、(i,j一2)和(i一2, j),分别计算这5个点的SAD并比较,找出其中SAD最小的点,设SAD最小点的坐标为 (i,J一2);第二步,以点(i,j一2)为中心,仍以2为步长设5个搜索点(i,J一2)、 (i+2,j一2)、(i,J)、(i一2,j一2)和(i,j一4),步长不变这是因为近似匹配点 (i。J一2)不是第一次搜索时的中心点,也不是搜索窗口的边界点;依次类推,通过5步 可得到最后的运动矢量d(i+2,j一6)。这5步中得到的近似运动矢量d为(i,j一2)、 (i,j一4)、(i+2,j一4)、(i+2,j一5)和(i+2,J一6)。可以看出,在第五步时 步长缩短,这是因为第四步得出的近似匹配点是搜索窗口的边界点。 长春工业大学硕士学位论文一‘,.06 i.5 i-4;3 i-2 i-lJ-oi i11i+3址3i+4i+5Jj-5 tj-4 j.3 j+2J-1 JB黔融I≥卫、Z 一_――挈V肇: l 矿 ILl∥b¥|】cL,1―L ―叫.II1’+1 ’+2 p3p4j+5;‘^图3―2二维对数搜索方法3.2.3三步搜索法(WSS)这种搜索法与二维对数搜索法很接近,但此方法的每步搜索点数均为9,且在开始时搜 索点离中心点很远,即搜索步长较大,但每搜索到一个近似运动矢量,下一步搜索都会缩短 步长,即每一步搜索的步长都比前一步的步长小,并且此搜索法总共步骤为3步,认为此 时的匹配点为最佳匹配点。设匹配准则仍为SAD最小准则,如图3―3所示,第一步先确 定9个搜索点,图中标记为l的点即为第一步的搜索点,8个搜索点离中心点(i,j)都 很远,即步长较大,然后计算这9个点的SAD值并比较各SAD值的大小,在这个例子中, 设点(i+3,j一3)的SAD值最小,可以作为第一个近似的移动矢量d1;第二步,仍是9 个搜索点,图中标记2的即为第二步的搜索点,可以看出这一步的搜索点偏离中心点(i+3, J一3)较近,即减小了步长,设找到的近似匹配点假定为(i+3,j一5);第三步则进一 步减小了步长,给出了最后的移动矢量为d(i+3,J一6)。在搜索过程中如遇到以下任 意一种情况将停止搜索:在当前步骤中计算所有点的SAD值;在当前步骤中计算出的最小 SAD值大于上一步得到的SAD值。 长春工业大学硕士学位论文7J。。}6■5 i―i-3 j-oi_2 i-Iij一5 lj4f】一3 l牡一瓤T,工it!i!:!―}!:!.兰!.!!ii窑j.2 j’lj l肾 孝 1夏矿‘。11X苫I12皿2Z. 4上l3一p1―2lT1,+3一j+5图3.3三步搜索法3.2.4对偶搜索法(cs) 该搜索法的主要思想是分别在i和j两个方向上设置搜索点,即先在i/j方向上此 方向的近似最佳匹配点,然后再在i/j方向找到i/j方向上的最佳匹配点作为最终的最佳 匹配点,从而得到最终运动矢量。设以SAD最小作为匹配准则,如图3―4所示,在第一次 搜索时,通过计算点(i―I,j)、(i,j)和(i+1,j)处的SAD值来决定i方向上的 最小失真方向。如果计算结果表明点(i+1,j)处的SAD为最小,就计算点(i+2,J)处 的SAD,并从(i,j)、(i+1,J)、(i+2,j)处的SAD中找出最小值,按这种方法一 直进行下去,直到在i方向上找到最小SAD值及其对应的点。在i方向上找到最小SAD 值对应的点之后,就沿j方向去找最小SAD值对应的点,方法与i方向的搜索方法相同。 在此例中,假定在i方向上找到的最佳匹配点为(i+2,J),然后以同样的方式在此匹配 点的J方向上找到最佳匹配点(i+2,j一6),最后得到的运动矢量为d(i+2,j~6)。一‘..i-6 i-5 i-4 J。Di-3i-2 i-Iii+li土2i+3i44件5,i一5rj.4厘;J,王7 ,16 / i1 。5叶31-2j?I●工4J卜t k ,Ⅵk .了工2j十lj+2 l+3j+4.,r―――’。。‘―――――+iIi-6 i-5 i-4 i-3 i.】i-Iii+Ii+2i+3}H什5撕图3―4对偶搜索法 长春工业大学硕士学位论文3.2.5基于中心三步法(cTSs) 该方法的主要思想是减少进行块匹配的搜索点,如图3―5所示,只采用了25个搜索 点。这些搜索点集中分布在预先偏移量的中心区域,共分为菱形的三层。其中里面两层为整 数像素精度,最外层偏移中心距离较远,采用的精度比里层低。另外在水平和垂直方向增加 了四个搜索点。可以看到25个搜索点中有17个点位于图像的水平和垂直方向上,这是考 虑到现实中的物体在这两个方向运动的概率比较大,图像的频谱多呈菱形分布。搜索的顺序 如图中的标号所示,先里层后外层,在同一层先搜索水平或垂直方向的点,再搜索对角线方 向的点。在顺序搜索的过程中,一旦某一搜索点的SAD小于预先设置的门限值,则停止搜 索,如果这25点仍然不能找N4,于门限值的点,也不再继续搜索,以其中最小SAD点计 算,当然这种情况发生的概率很小。当然固定的搜索顺序并不能保证搜索次数最少,但在大 多数情况下搜索次数较少,因而可以不必设置搜索顺序选择。2LL 2吐/爪20.《帐雠 》 髦\£” 2矗\砸 基 日^\ 上2L1B[∥/PWl们‘图3-5基于中心三步法在前面所述方法中,计算量最小的是cs,此种方法的搜索步长始终为一个像素点,在 一个方向上每搜索一步只需要计算一个像素点的值,但缺点是搜索步骤可能较多。2DLOGS与 TSS类似,前者的搜索点数较少,每步搜索5个点,但搜索步骤有可能会相应增加;后者的 搜索步骤固定为3,虽然每个步骤都计算9个搜索点,但最大搜索次数是1+8log,du,小于 全搜索法的次数:(2d。+1)2(du为最大偏移量)并且对于容易产生最佳点在搜索区域内的 情况,可以使搜索更加精确,性能较好。但TSS算法对其第一步搜索产生的误差很敏感, 而CTSS算法正是针对这一特点,由中心点从里层向外层进行搜索,由运动矢量增量的概率 分布可知,绝大多数的搜索在里层就可以完成,不必要再向外层继续搜寻,从而大大减少了 块匹配的运算量;且由于采用的是固定的搜索点,运动矢量大小被限制在[-4.5,+4.5]内, 可以大大减少用于表示运动矢量的比特数;并且CTSS也可以获得较好的主观图像质量。 通过实验Ⅲ1说明:不管图像的运动是剧烈还是缓慢,全局搜索的信噪比都是最高,但 长春工业大学硕士学位论文是这种搜索方法的计算量也是最大的,对于实时性的应用情况是最差的;其它算法的计算量 要明显小于全局搜索,而对于运动剧烈的图像,三步搜索法的信噪比大于中心三步法,这是 因为它的每一步的搜索距离较长,对于距离搜索中心较远的运动情况匹配的更好:对运动缓 慢的活动图像,因为基于中心的三步搜索是从中心位置逐渐向外搜索,所以对于附近位置的 运动匹配效果要优于三步搜索法。3.2.6非对称十字型多层次六边形格点搜索算法(硼s)由于物体的运动千变万化,很难用一种简单的模型去描述,也很难用一种单一的算法来 搜索最佳运动矢量,因此实际中大多采用多种搜索算法组合的办法,即根据各类算法的优点 灵活组合,可以在最大程度上提高预测的有效性和健壮性。清华大学陈志波等研究人员提出 了非对称十字型多层次六边形格点搜索算法Ⅲ】,如图3-6所示。?'5?∞J505t0156辩噼’呻}l一女印3-2―F―m甲}l_._dep40图3-6非对称十字型多层次六边形格点运动搜索算法该算法首先确定一个最佳预测运动矢量,第二步进行非对称十字型搜索;第三步非均匀 多层次六边形格点搜索又分为两个子步骤:小矩形窗搜索和扩展的多层次六边形格点搜索; 第四步进行六边形和菱形搜索。在每一步后判断是否满足提前退出准则,如果满足则跳出进 行分数像素搜索。,3.2.7增强预测区域搜索方法(EPZs) 以上运动搜索快速算法都是在搜索窗内以减少搜索点数为目标,并在以下假设条件下建 立的,即误差曲面存在唯一的全局最小点,误差曲面呈单峰分布,误差曲面不存在零梯度区 域。然而实际的误差曲面不能满足上述假设,对于复杂或高速运动的视频序列更是如此。作 为改进,可以利用相邻块(如左、上、右方向上的相邻块)的运动矢量来预测初始搜索起点, 避免掉入局部最小点。在此基础上发展了MVFAST(Motion和EPZS(EnhancedVector Field Adaptive SearchTechnique)、PMVFAST(Predictive Motion Vector Field Adaptive Search Technique)Predictive ZonalSearch)等区域算法。这些算法利用不同的搜索策略, 长春工业大学硕士学位论文根据周围或相关宏块(子宏块)的运动矢量来预测当前块的运动矢量,然后计算SAD并结合 提前退出准则减少计算量,减少搜索的匹配点数,加速算法收敛。它们可以取得与全搜索相 仿的重建图像质量,而运算复杂度有显著的降低。 EPZS方法是被H.264参考软件模型采纳的运动搜索方法,是区域搜索算法的代表。EPZS 算法㈣是在MVFAST和PMVFAST基础上发展而来的。附FAST算法考虑当前块周围三个相邻块 (左方、上方、右上方)的运动矢量和(O,0)运动矢量,并结合两步菱形搜索和固定阈值 提前退出准则来进行快速搜索;P斛FAST算法在辅VFAST的基础上进一步考虑当前块周围三 个相邻块的运动矢量的均值作为当前块的预测运动矢量,并将前一帧(参考帧)中同位置块 的运动矢量也作为当前块运动矢量的预测值,而且采用了自适应闺值提前退出准则。取得了 良好的效果。PMVFAST被MPEG-4 PART7采纳作为推荐的运动搜索算法。EPZS在以上基础上 分析了运动矢量预测的特点,对预测的相关性进行了区分,认为当前块不仅与其左方、上方、 右上方的块具有相关性,而且与前一帧(参考帧)同位置块(collocated block)以及其周 围的四个相邻块也具有相关性;前帧的同位置块可能具有很高的运动速率,而与当前块没有 相关性,但它的相邻块特别是运动矢量方向指向当f}{『块的,将具有很强的相关性,可以作为 预测的较好的参考。另外利用多参考帧预测,同位置块在前几帧中的运动矢量可能指向同一 方向但具有不同的强度,所以引入加速运动矢量(accelerator所示:motionvector),如图3―7t-_缫燃 、懑 『\c}2肿“图3-7而“加速运动矢量∥,。一,:=:五“一∥,:j(式3-1)因此,在EPZS算法中将运动矢量的预测分为三个集合(集合A、集合B、集合c),集 合A中仅包含一个运动矢量预测即当前块三个相邻块运动矢量的均值;集合B中包含(O,O) 运动矢量、前帧同位置块的运动矢量以及当前块三个相邻块的运动矢量,共6个预测值;集 合c中包含加速运动矢量和前一帧同位置块的四个相邻块的运动矢量,共5个预测值。 在提高预测准确性的同时,EPZS算法还引入自适应提前退出算法,首先设定一个固定 长春工业大学硕士学位论文门限值T1=256,计算集合A后得到的SAD值与T1比较,如果小于T1则退出,否则继续计 算其他集合;根据式3-2确定门限值T2, t=吼×min(MSADI,MSAD2,....,MSA见)+bk其中,a女=1.2,b≈=128。 (式3―2)计算集合B后得到的SAD值与T2比较,如果小于T2则退出,否则继续计算其他集合; 根据式3―2确定门限值T3,计算集合C后得到的SAD值与T3比较,如果小于T3则退出, 否则在确定最佳运动搜索后继续使用菱形或正方形搜索模板(如图3-8所示)进行搜索确定最终的运动矢量。图3―8小菱形和正方形搜索模板在参考软件模型JMl0.2中对全搜索(Fs)、非对称十字型多层次六边形搜索UktlfexagonS、 简化的Ul肛texagonS、EPZS算法分别进行测试,实验环境为2.8G CPlJ、1G内存和Win2000 ServieePack5揉作系统,对cif格式序列football进行5帧编码,帧率为15帧/秒,结果如表3-1:表3-1四种运动搜索算法编码时间比较FSI.I班lexagonS3.0594 33.4 37.04 38.27 764.9Simplled Ln棚S 2.8686 33。37 37 38.27 774.84EPZS 2.6138 33.41 37.01 38.03 761.59averagetime(see/frame)3.022 33.38PSNR-YPSNR―UPSNR―V Bit36.97 38,26Hz 766.73rate(kbit/s)@15.00通过表3-1可以看出,EPZS算法在这四种算法中是耗时最短的,而且提高了信噪比, 降低了码率。同时我们也看到参考软件模型的编码效率很低,根本无法满足实时应用的要求。 本文在分级搜索方法和EPZS算法基础上结合文献‘271提出了一种快速运动估计方法,主 要思想是通过分级搜索方法在低分辨率帧中根据分割模式的特点来选用恰当的搜索模板来 确定相关性高的运动矢量预测(coarseMV),然后在宏块的某一分割模式下搜索以coarseMV 和medianMv构成预测运动矢量集合,如果满足提前退出准则,进行子像素搜索,否则继续 长春工业大学硕士学位论文搜索集合(EPZS算法中已指定)中的其他预测运动矢量,满足提前退出准则后继续进行子 像素搜索,否则先进行精细搜索(以小菱形为模板)然后进行子像素搜索。 具体步骤是: 步骤一:当16×16为帧问预测分割模式时,将原图像帧和参考帧经过1/4采样得到低 分辨率的图像帧,这样16X 16宏块在低分辨率帧中成为16个像素点,以正方形(如图3-8 中所示)为模板在低分辨率帧中进行运动矢量搜索,确定预测运动矢量p^ffl;当以16×8、8X16为分割模式时使用菱形模板;使用其他分割模式时执行步骤二。 步骤二:将原图像帧和参考帧经过1/2采样得到次低分辨率图像帧,以pMn/1所指位置为起始搜索点,以大正方形(5X5大小)为模板搜索得预测运动矢量coarse~W。 步骤三:以coarseMV和medianMY构成集合A,分别计算SAD值,并记录最小值,若SAD 值小于等于门限值T1(T1=256)则退出搜索。否则以(O,O)运动矢量、前一帧同位置块的运 动矢量、当前块周围三个相邻块(上方、左方和右上方)的运动矢量构成集合B,分别计算 SAD值,并记录最小值,若SAD值小于门限值T2(同式3-2)则退出搜索,否则以小菱形为 模板进行精细搜索。 实验:以JMlO.2为基础用EPZS算法和本文方法对三个CIF格式序列foreman、news、 paris进行编码测试,帧率为15帧/秒,QP分别为32和28,参考帧个数为1,搜索范围为16, 编码120帧。其他实验环境同表3―1中实验。实验结果如表3-2所示。表3-2编码性能比较表EPZS PSNR-Y序列编码时间(sec/O2.203 2.25l 2.193 2.202 2.320 2.341PSNR―Y 35.22 37.40 35.34 38.11 32.65 35.77本文方法 编码时间(sec/O1.682 I.702 1.684 1.798 1.632 1.933foremanQP=32 QP=2835.06 37.36 35.78 38.48 32.97 36.04NewsQP=32 QP=28parlSQP-32 QP=28由测试结果可以看出本文方法与EPZS算法相比较减少了编码时间,图像压缩质量变化 不大;同时也注意到本文方法增加了存储空间用来存放低分辨率帧的数据,这对嵌入式应用 是不利的。从编码时间看出距离实时编码的目标很远,还需要改进和简化编码流程。算法流程如图3-9所示: 长春工业大学硕士学位论文图3-9算法流程 长春工业大学硕士学位论文第四章DSP处理器和Dld642图像处理平台DSP处理器是一种具有特殊结构的微处理器,与单片机不同,DSP特殊的芯片和系统结 构使它更适用于高速的计算。随着数字信号处理技术的飞速发展,DSP芯片已经在电力、通 讯、电机控制、信息家电、信息安全、教学实验、图像/图形处理、网络、数据采集、指纹 识别等许多领域里得到广泛的应用。 美国TI公司DSP芯片的主要特点[281有: (1)采用改进的哈佛结构,允许数据总线和程序总线的局部交叉;数据可以存放在程序 存储空间中,被算术运算指令直接使用;高速缓冲存储器Cache的设定,省去了从 存储器读指令的时间,提高了运行速度。 (2)广泛采用流水线技术以减少指令执行时间,增加处理能力。使取指、译码、取操作 数和执行等操作可以重叠执行。 (31采用专用硬件乘法器。乘法是DSP运算的重要组成部分。乘法速度越快,DSP处理 器的性能就越高。DSP专用乘法器使乘法可在单指令周期内完成。 f41特殊的指令系统,这个指令系统是专门为数字信号处理设计的。 (5)采用多种寻址方式,如间接寻址、循环寻址、位倒序寻址等。 (6)独立的DMA、EDMA在不影响CPU工作的条件下进行数据的搬移或交换,提高数 据的吞吐率,提高系统的并行执行能力。 (7)支持多处理器接1:1,使得多个处理器可以以并行或串行工作以提高处理速度。(8)支持JTAG(JointTestActionGroup)仿真,便于对DSP做片上在线仿真和多DSP条件下的测试。4.10M642处理器TMS320C6000系列DSP是11公司推出的适合于特定应用的高性能处理器,其32位定 点CPU和浮点DSP具有软件兼容性。其中TMS320DM642特别适合数字媒体信号处理应用。 DM642芯片的CPU时钟频率达到600Mttz,其CPU内部(如图4-1所示)有8个32位 的功能单元,可同时执行8条指令四l。 长春工业大学硕士学位论文图4-IDM642CPU如图4-1所示DM642 CPU采用VelociTI.2体系结构。主要包括以下部分: (1)功能单元(8个):.L1.D1.MI.S1.L2.D2.M2.s2 (2)寄存器文件(64个):hO~h31,BOMB31;其中hO~h2,BOMB2可作为条件寄存器; A4~A7,B4~B7可作为循环寻址寄存器。 (3)寄存器文件交叉通道:X1,X2 (4)存储器存取通道:LDIa,LDIb, (5)数据地址通道:DAI,DA2 (6)控制寄存器文件及扩展 如果能充分利用这8个功能单元, 在完全流水‘301的情况下,该芯片的指令吞吐量将达到4800MIPS。DM642采用VelociTl.2结构,扩展了VelociTI体系结构,这样在一个周期内可完成更 多的工作。在增加了时钟频率和CPU吞吐量的同时要求有足够宽的输入输出(I/O)带宽才 能发挥效率,因此芯片提供了三条外部总线:一条为同步/异步存储器提供快速无缝链接, 数据速率达1.IGB/s;另一条为慢速外设提供总线接口;第三条为工业标准主机提供接口。 该芯片内部支持两级Cache缓存”“(如图4―2所示),其中第一级Cache对开发人员来 说是不可见的,而第二级的Cache大小是可配置的,具体配置为16KB的第一级程序缓存 (LIP),16KB的第一级数据缓存(LID),256KB程序数据共用第二级缓存(L2Cache)。芯片

我要回帖

更多关于 编码类型 的文章

 

随机推荐