1、浙江大学硕十学位论文摘要本文针对DaVinci处理器,提出了H.264解码器的软件设计,对解码器中主要的五个模块及容错策略进行了论述,并且根据Davinci处理器具体特点,对解码器的五个模块以及容错策略进行了设计和优化。本文首先对数字视频、数字视频技术相关背景以及视频压缩编码国际标准作了简要介绍。在硬件平台部分,本文先对数字信号处理器的发展现状及其在数字视频领域的应用进行概括性论述,然后详细阐述了DaVinci处理器的整体架构,存储结构,汇编指令特点和开发环境等。本文的重点是H.264解码器的设计以及解码器中核心模块的优化设计。论文主体部分先提出了H.264标准的技术亮点,设计了解码器,并且对
2、解码器的五个主要模块:取码模块、预测模块、墒解码模块、反量化/反变换模块和去块滤波模块进行了详细的论述以及设计和优化。其中在预测模块的优化中提出了多运动矢量(mvs)的运动补偿技术;在嫡解码模块中对CAvLC码表进行了改进设计;在去块滤波模块中改进了它的数据流和bs值计算的机制;另外,针对H264视频的容错策略,本文归纳了五种策略,最后重点讨论了错误掩盖技术,并且根据系统的算法复杂度要求,设计了空域错误掩盖和时域错误掩盖两种容错策略。关键字:数字视频,H.264,Davinci,多运动矢量运动补偿,去块滤波,错误掩盖,以VLC浙江大学硕士学位论文AbstractBasedonDaV1nciPr
3、ocessor,asonwaredesignofH.264decoderisPutfo件倒rd.Five的portantmodulesofH.264decoderandrmanagement毗由义理壁姆d.Funh已nnore,妙laklngthestructurecharacteri抓csofDaVinciintoconsideratio从thealgorit加口ofthesemodu1esanderTDrmanagementareop石mized.Firstlr,wePreSentthebackgroundofdigitalvideotechn01ogy,itss.盯daJ月1乙时ion皿
4、dthecharacteristicsofDaVinc1PTocessoLTbenourdi即ussionismaiulyfocusonthesoftwaredesign田ldoPtim让访gofH.264decodeLAtthe忱gimung,thecharacleristicsofH.264劝an山axdarehi酗lgb它ed.了b即wegivethedesignandoPtim访ngofthefivemainmodulesindetail.Fivemainmodulesarebitstre别”getting,Predicti叽entr0Pydec阂er,iqUan侧idctanddeb
5、locklnthePredlctionmodu】eweadvancea”ewtechao】ogycalledmulti一mvs(motionvectors)mot1oncompenSat1onIntheentroPydecodermodu1e,wechangethe佣detablein0rdertomakeiteasytofookforcodeInthedebIockmodule,wechangethe山切strealn出ldthemeth叱ofcalcu城吨bs.Attheend,wesumuPfivemeth侧Jsofen劝rmanagementandmakeanlnte拙ivesludy
6、oferrorconcea】menLK叮,ords:d娜加1讨deo,H.264,Da叭.cdebloc叭en,rco.沈.恤.CAVLCm浦。noncea加.中“-独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得浙江大学或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示谢意。学位论文作者签名:准和年签字日期:。年夕月0夕日学位论文版权使用授权书本学位论文作者完全了解浙江大学有关保留、使用学
7、位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权浙江大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。(保密的学位论文在解密后适用本授权书)学位论文作者签名:倒峰0月07日导师签名疆乡了飞签字日期:,刁年签字日期:衬年“”夕日勺钊疚学位论文作者毕业后去向:罕渗3印m工作单也牡3,农司通讯地址;秘市高新扣沙奸发,赫椒工崛六率路未电话:邮编:3矛如占3浙江大学硕士学位论文第1章绪论Ll数字视频基础理论随着视频压缩标准的不断推出及视频编码技术的不断进步,数字视频技术的应用变得越来越广,其产
8、品的成本也越来越低。特别是自上世纪90年代以来,随着有线及无线网络技术的迅速发展和网络带宽的不断加大,数字视频产品变得和人类的生活密不可分,需求量不断地攀升。典型的应用包括可视电话、手机电视、数字电视田igilatelevision)、数字机顶盒吓91回settopBoxes)、硬盘式录像机口igitalvideoRccord)等。数字视频是利用摄像机之类的视频捕捉设备,采集外界影像的信息并将这些影像信息数字化,然后记录到储存介质(如录像带)或者通过网络传输。播放时,视频信号被转变为帧信息,并以每秒若干幅的速度进行显示,这样就利用了人类眼睛的视觉残留,可以使观看者收看到连续运动的影像。在外界影
9、像信息的采集和数字化过程中,存在一个色度空间转换的问题,色度空间是色彩集合的一种数学表示,最常用的色度空间有RGB,YIQ,YUv、Ycbcr(YUv色度空间的分支)和cMYK等。其中RGB主要用于计算机图形,YIQ,yl丁V主要用于视频系统,CMYK主要用于彩色印刷。民G和B分别代表三原色红、绿和蓝,用它们表示的图像信息每种颜色都占用一个字节。下表(表1.1)为RGB色度空间的饱和色度对照表【1。表1.IRGB色度空间的饱和色度对照表:雪理蒙重勇粤暮蕊盆澡墓喜R。toZ二255岛5 1乃52宝; GotoZ肠乃5乃5与5乃5000O皿oto肠二0巧50乃50与5O这种表示方法有一个弊端就是三
10、种颜色必须要占用相同的带宽。而事实上,人类的眼睛对亮度信息特别敏感,对色度信息相对不是很敏感,这就产生了另一浙江大学硕士学位论文种在视频应用中广泛使用的色度空间YUV,Y代表亮度信息,U和V代表色度信息,在这种色度空间中,Y和UV可以有不同的带宽。RcB色度空间和丫1刃色度空间的相互转换公式【1为:Y二0299R,+0,587G,+0.114B,U=一0.147R一0.289G+0.436B=0.492毋一妈V=0.615R一0.sl5G一0.100B=0877(R一均R二Y+1.140VG,Y一0.395U一0.58lVBroY+2.032U尽管色度空间的转换节省了带宽,但是这种未压缩的视频
11、数据量相对于目前的计算机和网络来说无论是存储还是传输都是不现实的。为了在PAL、NTSc和SECAM电视制式之间确定共同的数字化参数,国家无线电咨询委员会(ConsultativeCoInlnitteeoflnternationa】Radio,简称CC皿)制定了广播级质量的数字电视编码标准,称为CC班一601标准。根据此标准,假设采样频率f:=13.SMH:,电视制式NTsc分辨率为640x48。,帧率为30加,如果采样格式(Y:U:码为4:2:0,则数据量(bytes/s)为30x640x480x(1+1/2)=13824000,没有经过压缩的一秒钟数字视频数据量达到13SMb尹习5,如果用
12、来存储,那么IGB容量的存储器连10分钟的影像数据都存不到,因此在多媒体中应用数字视频的关键问题是数字视频的压缩编码技术。传统的压缩编码是建立在香农(Sh出川on)信息论基础上的,它以经典的集合论为基础,用统计概率模型来描述信源,但它未考虑信息接受者的主观特性及事件本身的具体含义、重要程度和引起的后果。因此,压缩编码的发展历程实际上是以香农信息论为出发点,一个不断完善的过程7。图像编码方法可分为两代:第一代是基于数据统计,去掉的是数据冗余,称为低层压缩编码方法;第二代是基于内容,去掉的是内容冗余,其中基于对象浙江大学硕士学位论文(object一Based)方法称为中层压缩编码方法,其中基于语义
13、(syn。以一B出记d)方法称为高层压缩编码方法。本文所述视频压缩编码是基于数据统计,即去掉数据冗余。视频信息在空域和时域上存在大量的冗余信息,利用一定的手段做到去掉此类冗余信息,即可以达到压缩数据量的目的。常用的在空域上减少冗余的方法主要有帧内压缩等,在时域上减少冗余的方法主要有帧间压缩等,无论是帧内还是帧间压缩,数据都需要经过变换编码和量化等步骤【7。帧内(玩tra)压缩也称为空间压缩(即atialconlp爬ssion)。当压缩一帧图像时,仅考虑本帧的数据而不考虑相邻帧之间的数据相关性,这实际上与静态图像压缩类似。帧内一般采用有损压缩算法,由于帧内压缩时各个帧之间没有相互关系,所以压缩后
14、的视频数据仍可以以帧为单位进行编辑。帧内压缩一般达不到很高的压缩比。帧间(bter)压缩是基于相邻帧数据之间具有很大的相关性这特性,即视频相邻帧之间存在冗余信息。根据这一特性,去除相邻帧之间的冗余信息就可以进一步压缩数据量。帧间压缩也称为时间压缩(介m卯司compression),它通过比较时间轴上不同帧之间的数据进行压缩。帧间压缩一般是无损的。帧差值(F侧刀edifferencmg)算法是一种典型的时间压缩法,它通过比较本帧与相邻帧之间的差异,仅记录本帧与其相邻帧的差值进行压缩,这样可以大大减少数据量。变换编码是域的变换。无规律分布的原始数据,通过变换编码,可以在另一个域中相对集中,从而减少
15、各分量之间的统计相关性。常用的变换编码有离散余弦变换(DCT,DISCreteCos嘛1加11sform)、小波变换(研白veletTr山”场nn)、K-L(Karhunen.Loeve)变换等。由于ocT的信息集中能力和计算复杂度综合的比较好,优T被广泛应用。量化是针对经过DCT变换后的系数进行的,量化过程就是以某个量化步长去除DcT系数.量化步长的大小决定了量化精度,量化步长越小,量化精度就越高,包含的信息越多,但所需的传输频带越高。不同的1)CT变换系数对人类视觉感应的重要性是不同的,比如人类的视觉感应对视频的低频分量特别敏感,相反,对高频分量则不敏感,因此编码器根据视觉感应准则,对一个
16、8x8的1尤T_浙江大学硕士学位论文变换块中的64个DCT变换系数采用不同的量化精度,以保证尽可能多地包含特定的DCT空间频率信息,又使量化精度不超过需要。DcT变换系数中,低频系数的量化精度较高:高频系数的量化精度较低,通常情况下,一个DCT变换块中的大多数高频系数量化后都会变为零.变换编码和量化的图示如图1.1所示。图1.1变换编码和t化12视频编码国际标准及比较141151181近年来,图像压缩编码技术得到了迅速发展和广泛应用,而且日臻成熟,其标志就是几个关于图像压缩编码的国际标准的制定,即国际标准化组织lso(Intemationa1S加吐山时dS0rg耐乙鱿lon)和国际电工委员会I
17、EcontemationalE】ectroleChoicalc一ssion)关于静止图像的编码标准JPEG、国际电信联盟ITu一Intema宜ionalTriathlonUnion)关于电视电话/会议电视的视频编码标准H.261,H.263和15朋EC关于活动图像的编码标准MpEG-1,MpEG-2和MpEG-4等。1么IBJ6x系列标准1.22.IR.21H.261是最早出现的视频编码协议,于1990年由ITU.T组织提出。H.261是基于IsDN(IntegratedserVlcesDigitalNe伽ork)视频会议的标准,主要针对实时编码和解码设计,压缩和解压缩的信号延时不超过15如5
18、,码率为Px64kbp城护130)OH261标准主要采用运动补偿的帧间预测、DCT变换、自适应量化、嫡编码等压缩技术。它只有1帧和P帧,不支持B帧,运动估计精度只精确到像素级。支持两种图像扫描格式:QCIF(176xl44)和cIF(352x288)。浙江大学硕士学位论文1.22.2凡2臼H.263标准是甚低码率的图像压缩编码国际标准,它一方面以H.261为基础,以混合编码为核心,即把减少空间冗余的帧内预测法和减少时间冗余的变换编码法结合起来,其基本原理和H.261十分相似,原始数据和码流组织也相似;另一方面,H.263也吸收了MpEG等其它一些国际标准中有效、合理的部分,如:半像素精度的运动
19、估计、PB帧预测、非限制运动矢量和基于语法的算术编码等,使它性能优于H.261。H.263适用于低带宽上传输高质的视频流,它使用的位率范围为SKbps1.5砒Ps,且传输比特率可不固定(变码率)。H.263支持多种分辨率:SQCIF(128x96)、QCIF(176xl44)、CIF(352x288)、4CIF(704x576)、16CIF(1408xll52)。其编码器框图如图1.2所示.工叭肠灯1价rEE标志是否传愉的标志量化翻昌示量化值索引向蛋图1.2H.263编码器框图1223B24H.264是ITU.T的VCEG(视频编码专家组)和150/IEC的MPEG(活动图像编码专家组)的联合
20、视频组(JvT:jointvid.ote田力)开发的一个新的数字视频编码标准,它既是ITU一的H.264,又是15训EC的劫PEGwe4的第10部分。1998年1月份开始草案征集,1999年9月,完成第一个草案,2o01年5月制定了其测试模式TML一8,2002年6月的JvT第5次会议通过了H.264(MpEG-4Part10)的FCD版。浙江大学硕士学位论文H.264和H.261、H.263一样,也是采用DT变换编码加DPCM的差分编码,即混合编码结构。在技术上,H.264(MPEG礴P足rt。)标准中有多个闪光之处:一是高精度、多模式的运动估计,H,264(MPEG一partlo)支持1/
21、4或1/8像素精度的运动矢量。在1/4像素精度时可使用6抽头滤波器来减少高频噪声,对于1/8像素精度的运动矢量,可使用更为复杂的8抽头的滤波器。在进行运动估计时,编码器还可选择“增强”内插滤波器来提高预测的效果;二是基于4x4块的整数变换,H.264(MPEG一Partlo)与先前的标准相似,对残差采用基于块的变换编码,但变换是整数操作而不是实数运算,其过程和DCT基本相似。这种方法的优点在于:在编码器中和解码器中允许精度相同的变换和反变换,便于使用简单的定点运算方式。也就是说,这里没有“变换误差”。变换的单位是4x4块,而不是以往常用的8x8块,由于用于变换块的尺寸缩小,运动物体的划分更精确
22、,这样,不但变换计算量比较小,而且在运动物体边缘处的衔接误差也大为减小;三是分层的编码语法,H.264(MpEG礴Part10)的算法在概念上可以分为两层;视频编码层(vCL:V记e0CodingLayer)负责高效的视频内容表示,网络提取层(NAL:NetworkAbs仃aclionLayer)负责以网络所要求的恰当的方式对数据进行打包和传送。在VCL和NAL之间定义了一个基于分组方式的接口,打包和相应的信令属于NAL的一部分。这样,高编码效率和网络友好性的任务分别由VCL和NAL来完成。这些措施使得H.264(MPEG碑Part10)算法具有很的高编码效率,在相同的重建图像质量下,能够比H
23、.263节约50%左右的码率,但不可避免地,提高了它的运算复杂度.122系列标准MPEG是Mov吨Pictt犷esExpe血Cro即(动态图像专家组)的缩写。是一个致力于数字视频、音频技术发展及标准化的杰出组织,它是150(Intematio耐5宜an选ardorganlzation)与IEc(Interrla60nalEI。滋ro苗cCotnnuttee)在1988年联合成立的,正规的组织代号是15以ECJTcFsc29乃万Gll,成员专家来自于不同国家的最有业界影响力的研发机构。在十多年的时间里,MpEG组织取得了丰硕的成果,自身也有了很大的发展。1992年11月,MPE任1被批准,并于1
24、993年被150组织接纳为国际标准:1994浙江大学硕士学位论文年11月,MPEG一2标准发布,1999年和2001年分别有了版本并在1995年成为国际标准:州于EG-4标准则于1和版本2。122.IMPEG-1MPEG一1制定于1992年,为工业级标准而设计,编号为150月ECn172。MPE(卜1针对CIF标准分辨率(NTSC制为352又240:PAL制为352x288)的图像进行压缩,并在标准中规定了音视频信息经过压缩后的数据码率最大为1.SM如5。MpEG一1可实现在不同带宽的设备,如CD一ROM、叭d。)cD等数字媒体上进行存储,也可以在局域网、IsDN网上进行音视频信息的传输。1.
25、222州PEG-2MpEG组织在1994年推出了MpEG一2压缩标准,并在1995年成为国际标准,编号为150八EC13引5。MPEO-2标准是针对标准数字电视和高清晰度电视在各种应用下的压缩方案和系统层的详细规定,编码码率可达looMbps。MPEG.2不是MpEG一1的简单升级,它在系统和传送方面作了更加详细的规定和进一步的完善。h口rEG.2特别适用于广播级的数字电视的编码和传送,被认定为SDTV和HDTV的编码标准。MPEG一视频压缩的原理是利用了图像数据的两种特性:空间相关性和时间相关性。这两种相关性使得图像中存在大量的冗余信息.为了能够有效的去除图像中的冗余信息,MpEG,2标准中
26、将编码图像被分为三类,分别称为1帧,P帧和B帧。1帧图像采用帧内编码方式。P帧和B帧图像采用帧间编码方式。P帧图像只采用前向时间预测,B帧图像采用双向时间预测,可以大大提高压缩倍数。MpEG.2具有以下几个突出特点:1.支持的图像分辨率最高,包括符合ITU一RRcc601(CCIR601)格式的标准分辨率的数字电视和更高分辨率的1DIV。2.支持包括高速体育运动在内的各种活动图像。3.支持的应用最为广泛,既包括存储媒体中的DvD,广播电视中的数字广播电视和HDTv,还可应用于交互式的视频点播(voD)和准视频点播(NvoD).4能够适配八rM等宽带通信网。浙江大学硕士学位论文12J3MPEG刁
27、MpEG礴于1998年10月定案,在1999年1月成为一个国际性标准,随后为扩展用途又进行了第二版的开发,于2001年有了其第二个版本。MPEG闷的国际标准编号为150八ECI科%。MPEG-4的目标比特率达到sk饰s-35Mbps,它的特点是更适于交互AV服务以及远程监控,是一个有交互性的动态图像标准。MpEG礴编解码的基本思想是基于图像内容的第二代视频编解码方案,并将基于合成的编码方案也结合在标准中。它根据图像的内容将图像分割成不同的视频对象vo巧deO0bject),在编码过程中对前景对象和后景对象采用不同的编码策略,对于人们所关心的前景对象,则尽可能的保持对象的细节及平滑,而对不大关心
28、的后景对象采用大压缩比的编码策略。MPEG碑视频编码器框图见图13所不犷卜”频入示视输运动补偿参考帧缓神区运动估计苏状编码图1.3NIPEG4视频编码器框图123MPE卜2、MPEG闷与标准的技术对比13】本文主要讨论H.264视频解码器的实现,所以以下着重论述H.264与MPEG-2、MPEG礴视频部分采用的技术对比。见表1.2。浙江大学硕士学位论文表1.2H264与MPEG.2、MpEG4视频部分采用的技术对比表技未特点/标准幼护E卜2M口DGJ日山“宏块大小1血16(帧模句16皿8(场模为1衍161放16块大小8x81份16.8x816xl6,8盆16,1叙88x8,翻8,8x4,七魂变
29、换编码8又已DC】,sx8IX工8迅.4认整教变换七4,2x2哈达码变换盆化固定童化步长的量化值固定量化步长的量化值以12残为增量的量化值摘编码VLCVLC讥刀,CAVLC刃ABAC象素精度半象素精度1/4象素梢度1/4象素精度参考核一帧一核多帧双向预侧前向/后向前向/后向前向/后向前向/前向后向/后向权重预侧无无有去块谁波无无有倾类型1卫B1只B】只B,SLsP回放和快进有有有健壮性D幽panitio氏rEC5扣h阴议川iou DP,又目刀H川er曰1即10氏地纽P州ilion恤门盯.d。,u吨FMO,Redundantsli“浙江大学硕士学位论文传翰比特率215Mb声SK晒35俩钾64K坤
30、5150姗明编码复杂度中中高从上表的对比可以看出,H.264标准新引入了空间域的帧内预测,4x4及8x8的整象素变换与2x2及4x4的哈达码变换,多帧参考,权重预测,解决块效应的环内滤波,CAVLC及CABAC嫡编码,灵活的宏块排序(FMO)以及针对差错控制和错误恢复的冗余片及SP/SI等新技术。13本文主要任务最新一代的视频压缩编码标准H.264一经问世就受到业界的广泛关注,这主要源于其出色的技术特性和广泛的应用前景。本文的主要工作是在基于业界最高性能的DSP平台丁MS320C600D丁M的DaVinci处理器上实现H.264解码,其意义主要是在高性能的DsP上实现高质量的H.264视频解码
31、,给DvR,IP巧deophone等应用提供一个视频解码的具体方案。本文一开始先详细介绍了Da巧nci处理器的结构特点、汇编指令等的使用,然后讨论了H.264视频压缩编码标准区别于以往标准的技术亮点。在此基础上,提出了H.264解码器的设计。本文的重点是对解码器中的去块滤波和容错策略进行了论述,并从算法设计和数据流层面上对它们进行了设计和优化。具体地,针对H.264视频去块滤波,分析了其算法的流程以及影响去块滤波算法执行效率的瓶预,通过在片内设计一个片内缓冲区的方法,将若干个宏块存储于片内缓冲区中,将这些宏块的滤波操作集合起来一起进行:即将这些宏块的bs值一起进行计算然后对这些宏块一起进行滤波
32、操作.这样做的好处有三:一是提高了cache命中,二是可以利用DMA进行数据块搬运,三是摊值计算时可以避免对宏块信息结构体的重复访问;另外,针对H.264视频的容错策略,本文归纳了五种策略,然后重点讨论了错误掩盖技术,并且设计了空域错误掩盖和时域错误掩盖两种容错策略。浙江大学硕士学位论文最后,本文进行了总结,并对未来研究做了展望.浙江大学硕士学位论文第2章DaV加d的结构、特点和应用2.1数字信号处理器仍sP)的发展及在视频领域的应用191数字信号处理器(DsP:Dig汕lsign日Plr)是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。根据数字
33、信号处理的要求,DSP芯片一般具有如下特点:1.采用哈佛结构,程序和数据空间分开,可以同时访问指令和数据2.片内有快速以M;3.快速的中断处理和硬件1/0支持;4.具有在单周期内操作的多个硬件地址产生器;5.可以并行执行多条指令;6.支持流水线操作,使取指、译码和执行等操作可以并行执行。世界上第一片单片DSP芯片是1978年AMI公司的52811,自这以后的20几年里,DSP芯片得到了飞速的发展。其中最成功的要数美国德州仪器公司(TI:Te郑5玩峨川mellts)的一系列产品。表21列出了n公司DSP产品发展过程中的一些典型值,从中可以看出DSP的发展历史和趋势.表2.1刀DsP芯片发展比较值
34、(典型值)年份臼始21劳219男2润2制造工艺4卿Ny0S几吕阿CMOS众3plllCMOS劝】8阿CMOS处理迷度5初企5幻M】邢1佣MIPS,冈侧皿书颁率20M日2名OMH比!佣MHZ160M妇比内部峨心】44字IK字32K字64K字浙江大学硕士学位论文内部侧川ljK字4K字16K字32k字价格5150.伪$15(X)扔.以卜幻丘0055一以卜东纷.00功耗25肠mw剐】PS125mw几叨】PS0.45mw几dIPS。.05口侧IM护5从上表可以看出,DSP的发展越来越趋向于集成化,工艺越来越先进,这主要得益于集成电路技术的发展。DSP处理器在处理速度和频率不断地提高,内部RAM和ROM变
35、大,功耗变低,价格变低的同时,出现多元的选择,客户可以根据各自不同的应用选择合适的DSP。另外,庞大的市场需求也推动DSP技术不断发展的一个主要因素,DSP的应用从起初的通信和语音处理领域,到相当普及的民用化领域,如自动控制、仪器、医疗、家用电器等,再到军用产品,其需求量一直在不断地攀升。近年来,人们发展的DSP芯片的又一个重要的应用领域为数字视频的处理。由于视频行业的数字化过程中会产生巨大的数据量,在DsP发展的早期还无法满足数据处理能力的需求。但随着数字视频压缩编码标准和DSP技术的发展,DSP在数字视频领域的应用逐渐成为了DSP应用的热门。归纳一下,目前DSP在数字视频领域的应用主要有视
36、频局端设备(如位于有线电视局端的视频再复用器)、无线视频网关、机顶盒、数字视频播放器/点播机、IP视频电话、网络相机/监控系统、数字摄录机、便携式视频流装置等等。鉴于DSP在数字视频应用领域的广阔市场,许多半导体公司推出了专门针对数字视频处理的DsP处理器。其中比较成功的有ADI、PhiliPS、Equator、刀等公司。ADI公司推出的Blac防n系列DsP采用双MAC的结构,具有正交RISC架构的微处理器指令集,把单指令多数据和多媒体操作都引入单指令结构。这样的DSP芯片结构不但易于编程,可以快速的进行信号处理和多媒体的处理,而且方便地扩展USB、Pcl阳、UART、sPORT等接口,非常
37、适合对视频读入,处理以及传输。ADI近来推出的双核ADSP-Z1561也是专业视频处理DsP领域内不容忽视的好产品。Philips也是最早开发视频DsP的厂商之一,其主流的PNx1500系列处理器主频为300M,内部配有专门的媒体协处理器。匆uator公司作为专业的视频DSP厂商,其产品非常具有特点,以BSP一巧为例:该芯片最高可达到400Mllz的内频,具有两个视频输入口和音频输入口,一个视频输出口.一鱼丝左兰硬尘学位论文一作为DSP行业的老大,Tl的TMS320DM64x系列在数字视频领域的应用也占据非常重要的地位。Tl早期推出的TMs320DM27o和TMs320DM320等产品,在多媒
38、体的便携式播放器上有不错的应用。而真正成为数字视频的里程碑式的产品则是2003年n发布的TMS3加DM64X系列视频DSP产品,该产品以n的C64x为核心处理器。以TMs320DM642为例,它具有60OM的处理能力,有3个巧deoPort,带有Pcl和网络接口,该产品功耗低,因此产品一经面世得到了数字视频行业的强烈关注。在2005年,n公司推出了业内非常期待的数字视频专用DSP,内嵌AKMg和C64x+侧的DaVinci处理器。Da明nci处理器是Da仍nci技术中的一部分9,Da巧nci技术是业界第一款集成了DSP处理器、软件、工具以及技术支持的综合型解决方案系列,非常适用于开发各种优化的
39、数字视频终端设备。Da巧Dci技术系统构成图如图2.1所示。利用该技术,开发者可以更加快捷地开发出视频产品,大大地缩短开发周期。浙江大学硕士学位论文2.2Da叭ud处理器的结构特点2么IDa叭.d处理器的整体架构11011121DaVinci处理器基于业界最高性能的DsP平台1MS320C60(犯TM和ARM926EJ一5处理器,它充分利用了n最新的C64x+川DSP内核。达芬奇处理器包含基于可扩展、可编程DSP的soC(可从DSP与ARM内核进行定制),优化的加速器,同时还包含丰富的外围设备(如数字视频、数字音频、高速网络、DDRZ高速存储器、ATA硬盘和多种存储卡等接口),全方位满足各种数
40、字视频终端设备对价格、性能以及功能等多方面的需求。V!CP5羚t.mCOntro甘八RM,26曰-sSuby,t.mC!0改 Gen队司SIP户inMUXC64兀会仪 DSP3ub男temCCoC!Res泛er一IHistogrampreview讥d.oproc5,In05七斗,t.m5嘀ChedCentra!ReSOUrCe(SCR图2.2D绷nci处理器功能结构框图(以DM6446型号为例)由图22可以看出,D抓nci处理器上提供了:两个内核(ARM十DsP);视频处理子系统(ypss);多种Boot模式创oRFlasl“NANDRas加UARTBootMode):两个电源域;多个时钟树;
41、多个引脚独立或复用的外设。浙江大学硕士学位论文图2.3显示了D扩石nci处理器的DSP核与A侧M核之间的通信方式以及他们如何高效地实现资源共享的方式。图2.3ARM.DsP集成机构示意图由上图可以看到ARM可以访问DSP片内存储器(LZRAM和Llp/D);DsP可以访问AR材片内存储器;ARM和DSP共享DDRZ和AEMIF。因此,通常情况下ARM只需传递需要处理的数据地址指针给DsP,而无须大块的数据搬移。ARM和DSP之间的通信可以通过相互中断实现。ARM可以中断DSP(通过4个通用中断和1个不可屏蔽中断);DSP可以通过2个通用中断来中断ARM。A侧M控制DSP的电源、时钟、复位和引导
42、。浙江大学硕士学位论文图2.4TMS320C64x+功能模块图图2.4所示为D扩石ncl中TMs320C64x十DSP的功能模块图。C64x+DSP包括以下组件:C64x+CPu、Llp(LevellPro咨am)存储器控制器、LID(Levdldata)存储器控制器、LZ(Level2)存储器控制器、IDM叭OhtemalDMA)、BWM(Band初dthm朋agement)、中断控制器INTc(InterruptController)、电源控制器PDc(Powerdo认叭contr0ller)和外部存储器控制器EMc(ExteOedMemoryC0ntroller)。其中的核心c64x十C
43、PU包含以下组件:2个通用寄存器组(A和B)8个功能单元(.LI,.LZ,.51,.52,.MI,.MZ,.Dl和,DZ)浙江大学硕士学位论文2个数据读取流(LDI和LDZ)2个数据存放流(sTI和ST2)2个寻址流(DAI和DAZ)2个寄存器交叉访问流(lx和Zx)图2.51,MS320C64x+结构框图通用寄存器组可以用来存放数据、数据地址指针以及用作条件寄存器。通用寄存器组A包括AO一A31,寄存器组B包括BO一B31。它们的约定使用情况见表2.20浙江大学硕士学位论文表2.2通用寄存器组使用约定FUn俄IOh p往二.刊姗R句1,协rBySP.claIUsFUn俄ion p”“ry目R
44、叩1琳rBySP砖ialU翔AOParent一A布Pare们t一AZPa化m一A3Pare以StIU山relegi雍fr州nter toarelumeds加d.re)A4ParentA印Ument,orretumval此ASParentA勺u厅吧ntlorre加mvalue 明曲A4扮doUb论5,协哈5and肋9匕ngsA6臼rentA心ument3A7而伦咐A闪ument3w油期for doubles。如叩,a闻咖9以习5ASPaentA心u厅咤ntsAgParentA心ument5w油Asfor do.oles.如叩5,a闻吻9沁叩,AIOCh树儿gum翻t7All伪1闭A心。ment7
45、w油A10for doubles,10叩5。习冈加910叩5A12Chi匕八r勺U。任旧tgA13Chi记八勺u厅巴ntgw肪A,2亿r doubes.10叩5二川助9沁叩5A14Ch相一A气5伪记斤.”犯沪泊ler瓜FP)A16一A31ParentC64xon扮BOPa陀nl一BIP日rent一BZP日陀nt一83Pare成Re加m阅呀记r(addl暇洛to retumto)B4paentAFgun犯们tZ85Pare附Argulne们tZw瀚64佃由。bles.协叹声翻d如19 10叩5B6Paren盆八勺u阳nt4B7内re川A勺um即t4w动卜BS把r 由u创es加95。训dk口峭沁叩
46、5BSParentA用u六吧们16sgPaenIA勺u川ent6w防助佃 doubl“。吻95。即dl切旧幻闪,810Ch.日加口u悦MS8,Ch日dA勺un犯”t日州山B10协r doubles.加95,即d幻119沁叫5日12Chl匕街gul下妞八t10B13Ch砚dA勺ument1Ow油812俪 do喇es,俪95.即d腼9如闪5B14Chi目Oata闪笋po的Ier(DP)日气SCh记5切改闪“比r(SP)B18一B31ParenlC翻x叻扮8个功能单元被分成A、B两组,每组有4个功能单元,其中一组的功能单元与另一组的功能单元基本一样。222Da竹。ci处理器的存储结构11311141
47、图2.6所示为DaV万nci处理器存储器的映射地址,分为ARM和DSP两部分。本文主要介绍C64x+内核的DSP部分存储器。C64x+的片内存储器为两级高速缓存(C朗he)存储器结构。第一级程序C解he为Llp,第一级数据Cache为LID,程序和数据存储器共用第二级存储器LZ.LIP和LID没有存储器映射地址,并浙江大学硕士学位论文_且一直使用。LIP和CPU之间有一个256位宽度的通道,可以支持最大8个32位的指令连续读取。LID允许CPU的两组数据通道同时访问。人RMc64+000000008KARMRAMOPrag砒,erved00002000SKARMRAMIPro只00004000
48、16KARMROM巧。只0D00800018KARMRAMOData0000A00018KARMRAMID越a0000C00016K!ARMRoMData0010000DlM肚ser7ed00800000石4KLZRAMlcacheLIPCache0DE08000132K00F0400048KLIDRAMLIDCache00F1000032K018000003840KCFC印aceOIBCO色004KolBC10002K01BC180025601BC190D159136OIBD0000192K0lC0Q0004MCFCBuaP件CFCBt生aP巴0200000D!128MEMIRAPrg在PW
49、阶段,读取指令数据;最后在PR阶段,CPU接收到数据包。CpU图2,8取指阶段的功能模块图C64%+DsP处理器的解码(Decode)阶段分为两个步骤:指令分派山P:功structiondispateh)和指令解码(Dc:h巧tnjctiondscode)。在DP阶段,取指得到的包被分解成执行包(exeCutepackds),每个执行包包含的指令从一条到八条不等(为并行的指令),CPU将这些指令分派到它们各自的功能单元。在DC阶段,CPu会将源寄存器、目标寄存器以及数据通道等信息解码,为各个功能单元执行指令做好前期准备。C64对DSP处理器的执行(Ex剧te)阶段分成五个步骤,称为EIE5。并不是每个指令的执行阶段都需要用全部五个执行步骤,不同的指令所需要的执行步骤数也不同。综上所述,C64x+DSP处理器流水线的具体步骤可以参见图2.90浙江大学硕士学位论文pGpS户