基于DSP的AVS视频编码算法优化与实现

更新时间:2023-03-18 21:13:01 阅读量: 人文社科 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

AVS

华北电力大学(保定)

硕士学位论文

基于DSP的AVS视频编码算法优化与实现

姓名:靳晓鹏

申请学位级别:硕士

专业:通信与信息系统

指导教师:张淑娥

20081227

AVS

华北电力大学硕+学位论文摘要

摘要

AVS是我国具备自主知识产权的第二代信源编码标准。它的编码效率及竞争性与国际标准MPEG一4/H.264相当,广泛应用于广播、通信、电视、娱乐等各个领域。本文研究了AVS视频压缩标准,分析了TMS320DM6437DSP的结构特点,从内存分配及CACHE优化、算法及代码优化四个方面进行了优化。实现了DSP的浮点除法运算,应用了改进的小菱形算法和帧问模式快速选择算法等优化方法,结合EDMA和软件流水线技术的使用,使AVS编码在TMs320DM6437DSP上码率大大提高。实验结果表明,该方法在保证图像失真度和码率性能的前提下,编码速率从O.40fps提高到14.30fps,视频编码器在性能和效率方面都得到了很大的改进。

关键词:AVS,DSP,算法优化,视频编码

ABSTRACT

AVSisthesecondgenerationsourcecodingstandardwithindependentintellectualpropertyofourowncountry.HaVingthesamecodinge硒ciencyastheintematioanlstandardofMPEG一4/H.264,AVShasbeenwidelyusedinVariousoffieldssuchasbroadcasting,communication,teleVisionandentertainment.ThispaperstudiesVideocompressionstandard,analyzesthestructurecharacteristicsofTMS320DM6437DSPandmakessomeimproVementonmemorydistribution,CACHEoptimization,algrorithmandcodeoptimizaionbasedonVideocompressionstandardandthestructureofTMS320DM6437DSP.Thefloating—pointdiVisionoperationofDSPhasrea“zedandtheoptimizationmethodofsmalldiamondalgo“thmandfastintermodeIdecisionarepresented,whichhasgreatlyincreasedthecodingspeedonTMS320DM6437DSPusingAVSwiththeuseofEDMAandsoftwarepipelining.TheexperimentshowsthattheVideoencoderhasbeengreatlyinlproVedonperflomanceandemciencyinthatthecodingratehasbeenincreasedf.romO.40fpstol4.30fpswiththesameimagedistortionandcodingperfbmance.

JinXiaopeng(CommunicationandInfomationSystem)

Directedbyprof.ZhangShu—e

KEYWORDS:AVS,DSP’Alogrithmoptimization,VideoCoding

AVS

华北电力大学硕+学位论文摘要

摘要

AVS是我国具备自主知识产权的第二代信源编码标准。它的编码效率及竞争性与国际标准MPEG一4/H.264相当,广泛应用于广播、通信、电视、娱乐等各个领域。本文研究了AVS视频压缩标准,分析了TMS320DM6437DSP的结构特点,从内存分配及CACHE优化、算法及代码优化四个方面进行了优化。实现了DSP的浮点除法运算,应用了改进的小菱形算法和帧问模式快速选择算法等优化方法,结合EDMA和软件流水线技术的使用,使AVS编码在TMs320DM6437DSP上码率大大提高。实验结果表明,该方法在保证图像失真度和码率性能的前提下,编码速率从O.40fps提高到14.30fps,视频编码器在性能和效率方面都得到了很大的改进。

关键词:AvS,DSP,算法优化,视频编码

ABSTRACT

AVSisthesecondgenerationsourcecodingstandardwithindependentintellectualpropertyofourowncountry.HaVingthesamecodinge佑ciencyastheintematioanlstandardofMPEG一4/H.264,AVShasbeenwidelyusedinVariousoffieldssuchasbroadcasting,communication,teleVisionandentertainment.ThispaperstudiesVideocompressionstandard,analyzesthestructurecharacteristicsofTMS320DM6437DSPandmakessomeimproVementonmemorydistribution,CACHEoptimization,algrorithmandcodeoptimizaionbasedonvideocompressionstandardandthestnJctureofTMS320DM6437DSP.Thefloating—pointdiVisionoperationofDSPhasrea“zedandtheoptimizationmethodofsmalldiamondalgo“thmandfastintermodeIdecisionarepresented,whichhasgreatlyincreasedthecodingspeedonTMS320DM6437DSPusingAVSwiththeuseofEDMAandsoftwarepipelining.TheexperimentshowsthattheVideoencoderhasbeengreatlyinlproVedonperflonnanceandemciencyinthatthecodingratehasbeenincreasedfromO.40fpstol4.30fpswiththesameimagedistortionandcodingperfbmance.

JinXiaopeng(CommunicationandInformationSystem)

Directedbyprof.ZhangShu-e

KEYWORDS:AVS,DSP’Alogrithmoptimization,VideoCoding

AVS

声尸明

本人郑重声明:此处所提交的硕士学位论文《基于DSP的AVS视频编码算法优化与实现》,是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研究工作和取得的研究成果。据本人所知,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得华北电力大学或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。

学位沦文作者签名:

关于学位论文使用授权的说明

本人完全了解华北电力大学有关保留、使用学位论文的规定,即:①学校有权保管、并向有关部门送交字位论文的原件与复印件;②学校可以采用影印、缩印或其它复制手段复制并保存学位论文:③学校可允许学位论文被查阅或借阅;④学校可以学术交流为目的,复制赠送和交换学位论文;⑤同意学校可以用不同方式在不同媒体E发表、传播学位论文的全部或部分内容。

(涉密的学位论文在解密后遵守此规定)

作者签名:

日导师签名:

AVS

华北电力大学硕士学位论文

第一章绪论

1.1课题研究背景及意义

人类接受的信息大约有70%来自视觉,视频是人类最有效和最重要的信息获取形式。视频信号直观、具体,但原始视频信号的数据量十分庞大,给视频数据的存贮、传输等都带来了很大不便,严重地制约了视频应用的推广。研究和丌发有效的视频压缩方法,以压缩的形式存储和传输视频数据是当前科技发展的重要研究方向。二十世纪九十年代以来,数字视频技术广泛应用于通信、计算机、广播电视等领域,带来了会议电视、可视电话及数字电视、媒体存储等一系列应用,促使了一系列视频编码标准的产生。目前己经开发出主要用于低比特率视频电话的H.26x系列标准,其中包括H.26l,H.262,H.263与H.264/AVC【。】【2】;ISo/IEC则主要面向消费类应用,已经针对运动图像压缩定义了MPEG.x系列的标准,主要包括:MPEG.1,MPEG.2与MPEG.4【31等。

目前国内使用MPEG.2、MPEG.4、AVC/H.264等国际标准需要向国外缴纳高额的专利费用,所以从经济以上讲丌发自主版权的拥有专利技术的AvS(AudioandVideocodingStandard)数字音视频编解码技术标准意义重大,我国自主丌发的AVS标准不仅性能上达到困际标准同等水平,而且实现复杂度低、知识产权政策明晰。在国内推广应用方面具有良好的基础。

1.2AVS视频编码与嵌入式系统发展状况

2002年6月,信息产业部批准成立“数字音视频编解码技术标准:E作组”(AVS工作组),截止2007年3月AVS工作组成员已达l62家,覆盖了国内本领域的主要产品丌发生产厂家与研究单位,也包括跨国企业与机构,其中中国大学和研究所占25%,总部在海外的企业和研究机构占30%【引。

AVS标准包括系统、视频、音频、数字版权管理、移动视频等9个部分。AVSl—P2《信息技术先进音视频编码第2部分:视频》(以下称为AVS视频标准)已经获得国家标准化管理委员会批准,国家标准号GB/T20090.2—2006,于2006年3月l同丌始实施【5】。

AVS标准提出后,国内越来越多的研究人员开始关注该标准,并在将该标准转化为产品方面进行深入研究。目前,对AVS研究的主要热点是:算法标准的优化,主要目标是进一步提高视频压缩的效率和质量,同时降低码率;标准的产业化,主

AVS

华北电力火学硕十学位论文

要目标是尽快开发出实用的视频编解码软、硬件,应用于各种与视频相关的领域。

国内目前研发AVS的芯片厂商还是少数。这些厂商包括芯晟科技、美视、龙晶微电子、复旦微纳米和联合信源数字音视频技术(北京)有限公司等厂商。但网通提出将在IPTV业务中采用自主知识产权的音视频编解码Avs,并已与华为、中兴、UT及上海贝尔阿尔卡特等厂商展丌AvS的相关合作【6】【7】。网通采用AVS标准会推动Avs的社会化普及化速度。数字音视频产业将在20lO年超过通信产业,在2015年成为国民经济第一大产业。AVS作为数字音视频产业的基础性标准,为我国构建从技术专利到数字媒体运营与文化产业的产业链条提供机遇。

嵌入式视频系统是当今嵌入式系统发展的一个热门应用。今天,嵌入式视频监控系统被广泛应用于银行、宾馆、商场、民航等领域的安全监控报警等。在这些领域,数字化视频监控系统的前景十分广阔。同时视频系统也可以用于公司的市场评估、市场调研等经济高层应用领域。随着银行等领域对监控质量、网络功能等高级功能的要求同益迫切,基于嵌入式架构的数字化视频监控系统地位越来越重要。相对于传统的模拟视频监控系统而言,嵌入式数字视频系统在图像质量方面有了很大的提高。新一代的DSP产品的出现为大批量图像数据的处理奠定了坚实的基础。

AVS作为我国具有自主知识产权的视频编码标准,在DSP上的实时实现嵌入式片上系统对产业化应用具有重要意义。由于AvS标准提出的时间短,其DSP实现的实例尚无报导,目前处于研发和探索过程。本课题选用TI公司最新推出的数字媒体处理器TMS320C6000作为AVS编码的实现平台,为AvS视频编解码方案提供了很好的硬件基础。目前,在该硬件平台上实现AVS是一个新颖的具有挑战性的研究课题。

嵌入式视频系统在与Internet技术结合之后,数字化视频系统得到了更好的发展。视频数据在网络上的传播为实现高清晰的远程视频监控创造了条件。大容量磁盘存储器的发展为大容量视频数据存储提供了保障,而H.264、AVS等优秀图像算法的出现解决了网络带宽不足和误码率高等问题。因此嵌入式视频系统发展已经成为当今社会的主流趋势。

由于本文所实现的AVS视频编码算法是多媒体编解码系统的一部分,所以从系统角度出发,本文使用DSP芯片作为多媒体编解码系统的丌发实现平台。并最终选择了TI公司的DM6437作为硬件实现平台。

1.3本文研究的主要内容

本论文主要完成AVS视频编码参考程序(用C/C++语言实现)在PC机上运行和调试。分析代码比较耗时部分,针对代码算法和结构特点具体进行优化,得到合适的较优化代码,并且将AVS视频编码参考程序移植到DSP上,符合TIDSP编程规范,

厶2

AVS

华北电力大学硕士学位论文

重点是对语法及数据结构修改,使得代码适合DSP结构。

本论文的主要研究内容:

(1)分析AVS视频编码标准原理,研究AVS视频压缩编码的关键技术,对AVS与H.264标准做出详细对比。

(2)研究TMS320DM6437DSP的结构特点。针对TMS320DM6437DsP:卷片硬件特点和EVM存储器系统,设计EDMA介绍以及软件丌发流程。

(3)研究AVS算法在TMSDM6437DSP的移植方法,通过在CCStudio上建立算法运行的软件仿真环境以及构建工程,生成可执行文件或库文件,完成移植工作。

(4)分析DsP本身的特点,研究编译器级优化、软件流水线技术使用、EDMA和Cache的使用等优化方法,以CarPhone.yuv作为测试序列,在码流正确的前提下提高码率,得到实验结果,根据结果得出优化结论。3

AVS

华北电力人学硕士学位论文

第二章AVS视频压缩编码标准原理

2.1视频压缩编码标准概述

多媒体信息主要包括文字、声音、图像、图形和视频等内容,其中视频又是多媒体信息中最重要的组成部分,但是视频的信息容量巨大。对于高清晰度数字电视(ITU.R709),当帧频为25场/秒,每采样点8比特进行量化,色差格式为4:2:2时,每秒数据量高达884.7Mbit/s,而地面广播系统的传输带宽仅有6M到8M。因此无论是存储还是传输,数字视频都必须经过极大的压缩才能具有实际意义。

视频编码的目的是实现对视频的压缩,其核心思想是去相关。通过减少视频序列问的相关性,降低视频内容中的冗余,用较少的比特数来表示视频内容,从而实现对视频的压缩。视频数据中包含着人量的冗余信息,上要包括空域冗余、时域冗余、统计冗余和视觉冗余。依据消除这些冗余的不同,视频压缩编码的方法【l0】基本上分为四类:

(1)空间冗余度的压缩。一幅视频图像相邻各点的取值往往相近或相同,具有空间相关性,这就是空间冗余度。从频域来看,图像信号的能量主要集中在低频附近,高频信号的能量随频率的增加而迅速衰减。通过频域变换可以将原图像信号用直流分量及少数低频交流分量的系数来表示,这就是变换编码中『F交余弦变换DCT的方法。

(2)时间冗余度的压缩。时域冗余是指视频图像序列沿着时阳J轴方向上的冗余,它是由同一物体在相邻视频图像问的移动而产生的。视频序列在时域存在极强的相关性,凶此,不传送像素点本身的值而传送其与前一帧对应像素点的差值,也能有效地压缩码率。帧间编码『F是利用了时|、日J上的冗余性。

(3)统计冗余的压缩。主要是利用视频数据中存在的信息熵的进行编码,常用方法有霍夫曼编码、游程编码和算术编码。

(4)视觉冗余的压缩。由于人眼视觉的非均匀性,使得人眼视觉对某些空间频率感觉迟钝。人眼对于图像的视觉特性包括:对亮度信号比对色度信号敏感,对低频信号比对高频信号敏感,对静止图像比对运动图像敏感,以及对图像水平线条和垂直线条比对斜线敏感。因此,在视频压缩中可以利用视觉的特点,减小色度信号,高频信号和一些运动数据的编码数据量。4

AVS

华J匕电力人学硕士学位论文

2.2AVS视频压缩编码的关键技术

AVS.P2视频部分采用了一系列技术来达到高效率的视频编码,包括帧内预测、帧问预测、变换、量化和熵编码等。帧问预测使用基于块的运动矢量来消除图像问的时间冗余;帧内预测使用空问预测模式来消除图像内的冗余。再通过对预测残差进行变换和量化消除图像内的空间和视觉冗余。最后,运动矢量、预测模式、量化参数和变换系数用熵编码进行压缩,消除统计冗余。

重新编写的AVS算法C语言代码完全支持AVS的新特性。算法共分为五个模块:帧内编码模块、帧间编码模块、变换量化模块、熵编码模块和去块滤波模块。算法结构。2.2.1帧内预测

AVS视频标准采用空域内的多方向帧内预测技术。基于空域多方向的帧内预测可以提高预测精度,从而提高编码效率。AVS视频标准的帧内预测基于8x8块人小,亮度分量的5种预测模式分别对应五个方向的预测:水平、垂直、均值、左下对角和右下对角,色度分量4种预测模式对应均值、水平、垂直和平面。AVS视频的帧内预测还对相邻像素进行了滤波处理来去除噪声,提高编码精度。

在AVS标准中,亮度块和色度块的帧内预测块P都是基于8×8子块,亮度块有5种可选预测模式,色度块有4种预测模式,二者预测模式类似。编码器通常选择使P块和编码块之间差异最小的预测模式。

对一个宏块进行帧内编码的主要过程就是对宏块亮度的4个8×8子块依次进行最优亮度预测模式选择。选择的方法是,首先根据当前子块的周围子块存在情况得到当前子块可能存在的预测模式,然后逐一计算这些可能预测模式下的预测值,进而计算出预测值和当日,J.值的残差块,最后利用经Hadmard变换后的绝埘误差和(SATD)最小准则得到最佳的预测模式。此处,选择SATD作为预测准则是因为帧内预测时需要对所有模式进行检测,绝对误差和(SAD)仅反映残差的时域差异,即PSNR值的影响,而Hadmard变换可以看作简单的时频变换,其值在一定程度上可以反映生成码流的大小,因此将其作为模式选择的依据可以同时兼顾预测模式对PSNR和码流大小的影响。色度块的处理与亮度块类似,唯一的区别就是色度块比亮度块少左下对角和右下对角两种预测模式。

实现帧内编码模块的主要函数包括:AVS

AVSmodedecisionintramodedecisionintray(AVSt幸t)和uv(AVSt木t)对亮度和色度进行帧内模式预测,然后调用5

AVS

华北电力人学硕十学位论文

函数AVS—encode_intra_y(AVS_t拳t,uin缁一t+pred,int32_ti)和AVS—encodtintra-uv(AVSj木t,uin缁_t宰pred,int32ji)进行帧内编码。

2.2.2帧间预测

帧问预测采用多参考帧预测【搭】技术,使当Ij{『块能够从前面几帧图像中寻找更好的匹配,因此能够提高编码效率。AVS视频标准限定最多采用两个参考帧,既兼顾了搜索匹配的性能,又大大降低了编码复杂度。

对于运动图像编码,采用变块大小运动补偿【l6】可以大大提高运动预测精确度。AvS.P2中采用了16×8、8×16、8×8分割子块,在高分辨率序列编码复杂度和精度方面进行了折衷。另外,增强运动矢量的精度也是提高预测准确度的重要手段之一,而插值滤波器的选择是影响高精度运动补偿性能的一个关键。根据高清视频的特性,AVS视频标准在进行运动矢量搜索时采用了l/4像素精度插值,对l/2和l/4像素位置插值均采用4拍滤波器,其效果与6拍滤波器相同,优点是大大降低了访问存取带宽,足一‘个对硬件实现非常有价值的特性。

帧间编码模块主要是利用已编码视频场/帧通过基于块的运动补偿进行编码。这种运动补偿方式是利用运动图像时问上的相关性进行压缩编码的,用参考帧图像对当前图像的每个宏块进行运动估计,找到匹配误差最小的对应块,并计算出运动矢量和误差图像。这样误差图像的值一般会很小,可以利用较少的比特数对其进行编码,而运功矢量占用的比特数非常少,因而采用运动估计方式能够大大提高压缩比。

在AVS中定义了两种采用帧间预测编码的帧:前向预测(P帧)和双向预测(B帧),由于B帧需要使用前后双向预测,考虑到向DSP移植的空间分配和编码速率问题,本设计中未使用B帧,但为B帧保留了结构体定义和函数接口,以便以后进一步扩展。帧问编码步骤如下:利用前一帧或两帧重构图像对当前图像的每一个宏块进行预测,在搜索窗中利用设计好的搜索算法进行最佳匹配块搜索。运动搜索算法是一个层层递进的过程,首先对16×16宏块进行运动估计,接着再按16×8和8×16分割以及8×8分割进行运动估计,通过计算和比较匹配代价找到最佳模式和最优的运动矢量。找到最佳匹配块后,计算出预测宏块与当前宏块的残差。需要注意的是,在进行预测的时候使用的并非之前帧的原始图像,而是其编码后重构得到的重构图像。这是因为在解码的时候,解码器不可能得到任何一帧原始图像,只能利用编码后的图像进行重构,再利用前一帧重构图像来预测当前图像,因此为了保持编码器和解码器两边的一致,编码器在预测当的图像的时候也利用了前一帧重建图像。6

AVS

华北电力大学硕士学位论文

帧问编码模块划可以分为模式确定和预测编码两部分。考虑到预测模式对码流大小和编码效率的重要影响,课题组采用了跳过模式提前中止策略,使帧率提高约20%,同时减小了码流。运动搜索是整个代码中最耗时的部分,占总体运算量的50%以上,因此对运动搜索算法的优化非常重要。用改进的菱形搜索法【9】代替全搜索,简化了搜索过程,大大减小了块匹配的运算量,与全搜索方式相比提高搜索速度40倍,而搜索效果只比全搜索略有降低。在做运动估计时,采用了SAD最小准则和SATD最小准则相结合的最佳匹配策略,整像素点搜索使用SAD最小准则,而分像素点使用SATD最小准则。一般而言,离最优匹配点越远,匹配误差值SAD越大,这就是有名的单一平面假设,现有的运动估计快速算法大都利用该特性。但是,经哈达玛变换后的SATD值并不满足该条件,如果在整像素中运用SATD搜索,容易陷入局部最优点。而在亚像素中,待搜索点不多,各点处的SAD差异相对不大,可以用SATD选择码流较少的匹配位置。

代码中实现亮度帧问预测的函数是AVs

的子函数是;模式判别函数AvSencodeintery(AVst}t),它主要调用t宰t,AVSsearchmodedecisionintery(AVs

t串t,AVSsearchcontextt木s),运动矢量搜索函数AVSsearch(AvS

值函数AVSinterp01ate(AVS

AVS—encode—inter_-uV(AVS—t枣t)。

2.2.3t奉t幸context)和分像素差t)。实现色度帧间预测的函数是B帧宏块编码模式

AVS视频标准对双向预测采用了空域/时域相结合的直接模式‘171,并在此基础上使用了运动矢量舍入控制技术。AVS标准还提出了对称模式【’81,即只编码前向运动矢量,后向运动矢量通过日,J.向运动矢量导出,从而实现双向预测。

2.2.4整数变换与量化

由于AVs中最小块预测是基于8×8块大小的,因此采用了8×8整数DCT变换矩阵,整数变换具有复杂度低、完全匹配等优点。

量化是编码过程中唯一带来损失的模块。与以前的量化方法相比,AvS标准中的量化与变换归一化相结合,同时可以通过乘法和移位来实现,对于量化步长的设计,量化参数每增加8,相应的量化步长扩大l倍。由于AVS标准中变换矩阵每行的模比较接近,变换矩阵的归一化可以在编码端完成,从而解码端反量化表不再与变换系数位置相关。7

AVS

华J匕电力人学硕士学位论文

该模块包括整数8×8变换、量化和扫描、反量化和反变换。整个过程以帧内或帧问预测得到的残差块作为输入,通过整数变换、量化和ZiaZig扫描,得到二维幅值和游程数组并提供给后续熵编码模块;同时,对量化后的系数进行反量化和反变换,利用其结果和先前计算的残差信号重建原始图像,作为帧I’日J编码时的参考图像使用。该模块共包含五个实现函数:前向8×8整数变换fdct8x8(intl6t奉data)、量化quant8x8(intl6_t}data,constint32.tQp,int32_tiSjntra)、反变换idct8x8(intl6-t事data)、反量化iquant8x8(intl6一t宰data,constint32_tQp)和扫描scan—zig_8x8(intl6一t木leVel,int16一t母run,int16-t牛data)。

AvS的8x8整数变换采用了一维8点蝶形快速算法,量化主要通过尺度变换结合查表操作实现。该模块的算法步骤如下:

1.编码过程中,对输入残差矩阵X进行如下二维正变换:

y=(砑汀7’)>>5

其中,r为变换矩阵,y为输出矩阵。(2.1)

将残差矩阵扩大32倍,残差数据比较小,扩大32倍是为了提高其量化精度。

2.将正变换输出系数矩阵先与尺度缩放矩阵玩的元素对应相乘,结果右移19位,再通过量化参数妒查找量化表得到Q_忍6昆[QP】,与尺度缩放后的结果相乘,再右移l5位,保证量化输出结果在16位以内。

硇f√)={[(I巧,_,)I鲫’(,,/)+(1<<l8))>>l9】木Q一砌6HQ同+力>>15(2-2)

式(2—2)中,输出矩阵为坦,每个元素阳Ⅳ∥的符号与玮∥相同;E8’是尺度缩放的调整矩阵,在程序中已经设计成了查找表;f足改善图像视觉效果的偏移量,当I帧时,f=(1<<15)×lO/3l,当P帧时,f_(1<<15)×10/62;陡勋6,P[QP】的值足16位的无符号数,在程序中通过查表提时得到。

3.反量化时的输出矩阵为y’,,Q一勋6,P为反量化表,舶泸是与QP相对应的位移表,反量化公式为:

‰=(玛u)坦一死6M妒】)>>鼬纠Q尸】

4.反变换可以表示为:(2-3)

x‘={rr[(】,’r)>>3】)>>7(2.4)

为了节省编码时间和码流,在该模块中我们对量化后的系数进行了门限处理。8

AVS

华北电力人学硕士学位论文

因为在8×8块中,如果只有一个非零系数那么编码的总开销一般会达到lO.12bit,从率失真的角度来考虑的话为了提高失真度而付出的码率代价太大,而且还会增加对该系数编码的时间。AVS中编码系数为二维(Run和Level),系数丌销与这两个值都有关系,本算法中对8×8块门限设定为3,这表示在一个8×8块中:(1)如果只有一个系数,且(Run,level)=(0,1),则该系数被丢弃。(2)如果有两个系数,(Run,level)=(1,1)或(4,1),则系数也被丢弃。同时,设定帧问编码的宏块系数门限为5。整个宏块的总系数丌销如果小于或等于5,则该宏块所有的非零系数都被丢弃,重构块等于预测块。

2.2.5熵编码

AVS熵编码采用自适应变长编码技术,所有的语法元素和残差数据都是以指数哥伦布码的形式映射成二进制比特流,可以很好的发挥指数哥伦伟码硬件复杂度低,可由闭合公式直接解析的优点。对预测残差的块变换系数,经扫描形成(Ievel、11ln)对串,进行二维联合编码.并可以根据当前level、mn的不同概率分布趋势,自适应改变指数哥伦布码的阶数【8】。

AVS定义了4种由指数哥伦布码映射到码流的方式。ue(v)为无符号整数语法元素,宏块类型mb_type、预测模式pred_mode以及一些运行标志等变量属于此类语法元素,其语法元素直接映射为要编码的值;se(v)是有符号整数语法元素,包括运动矢量、量化参数增量等;me(v)包括了4:2:O和4:2:2两种Yuv图像格式下的宏块CBP标志cbp和cbp422对应的宏块编码模式,代码中采用了直接查表方式获得要编码的值。ue(v),se(v)和me(v)描述的语法元素均使用O阶指数哥伦布码编码,在本代码中的实现函数是egwrite(int32CodeNum,Bitstream%itstream),其中第一个参数是待编码的值:第二个参数足编码比特流。ce(v)是对预测残差的块变换系数专门设定的映射规则,其描述的变长编码语法元素采用0阶、l阶、2阶或3阶指数哥伦布码,实现函数定义为blocklumaintra2Dvlc(AVSsyntaxelement宰se,int32j木leVel,in缁一t木run),blocK_luma-inter_2DVlc(AVS—syntaxelement se,int32一t}leVel,int8_t宰nln),和bloCK—chroma_2DVlc(AVS—syntaxelement幸se,int32j幸leVel,int8j木mn),入口参数分别是保存编码系数和元素值的全局变量、经扫描得到的残差块非零系数的幅值(1evel)和游程(run)。Level和run不是相互独立的事件,从扫描得到的数据能够观察到run随着level的逐渐减小而逐渐增大,因此二者之间存在着9

AVS

华北电力人学硕七学位论文

很强的相关性。在AVS中利用了level和run的联合概率分布特性,自适应改变指数哥伦布码的阶数进行熵编码。AvS的二维联合熵编码流程。

根据残差块属性(帧内还是帧问,亮度还是色度)确定调用的三维变长码表2DVLC,分别对应AVS2DVLCINTRA、AVS2DVLCINTER或

AVS一2DVLC—CHRoMA,每个表的三维坐标是【tablenum】【11Jn]【abs(1evel)】。对于亮度块,tablenum从O到6,即共有七张子表,对于色度块共有5张子表;坐标中run的范围是0 ̄25,level绝对值的范围0 ̄26,即每个子表都是26行、27列。然后,设定编码中切换vLC表所需用到的level跳转门限表incVlc

incVlc_chroma。intra、incVlcinter或

统计要编码的非零系数的个数并初始调用变长编码的O子表;然后判断是否已是编码完所有系数,如果已全部编完就将O赋给run和level,否则逆序读入run和level的值,当level的绝对值小于27且run小于26时,作为正常情况进行编码,否则作为逃逸事件处理。正常情况编码时如果syTnbol2D为负值也作为逃逸事件处理。正常情况和逃逸事件编码处理流程分别见图3.4和图3—5。编码时的哥伦稚码阶数和最大编码层数通过查vLCGolombOrder表获得,帧内、帧问和色度对应的阶

level数K不同。逃逸情况下,帧内编码块亮度系数的escapediff采用l阶指数哥

伦布码;帧问编码块亮度系数和色度系数的escapeleveldifjF采用0阶指数哥伦布码。MaxRun和RefAbsLevel都是提前建立的查找表,表中的值依据帧内、帧间和色度而不同。

2.2.6环路滤波

AVS视频解码的去块滤波算法是一种基于块边缘的环路滤波算法。基于块的残差系数反变换、反量化,量化过程相对料i糙,反量化恢复的变换系数必定带来误差,另一方面,运动补偿块可能来自不同帧位置的内插样本块,将导致边界不连续,因此,需采用环路滤波束消除块预测误差造成的失真。Avs提出了3种滤波模式:强滤波,标准滤波和不滤波。为了得到正确的滤波结果,首先必须选取币确的滤波模式,标准中用边界滤波强度(Boundar)rStrength)来选取滤波模式。对亮度块之间的每一个块边界都定义了一个Bs,色度块边界的Bs由相应位置的亮度块边界Bs代替。表3.4给出了AvS标准的边界强度判决表。lO

AVS

华北电力人学硕士学位论文

2.3AVS视频码流结构

在进行AvS编码时,视频序列是比特流的最高层语法结构。视频序列由序列头丌始,后面跟着一个或多个编码图像,每帧图像之前应有图像头。序列头可在比特流中重复出现,称为重复序列头。使用重复序列头的主要目的是支持对视频序列的随机访问,序列头后的第一个编码图像是I帧。一幅图像是一帧,其编码数据由图像起始码丌始,到序列起始码、序列结束码或下一个图像起始码结束。Avs视频输入的每一帧图像都被分为若干个条带(slice),条带又由若干宏块行构成,因此在条带头后跟着若干个宏块数据。宏块是视频编码过程的基本处理单元。每一个宏块由4个8×8的亮度块Y以及一个Cb块和一个Cr块组成。

。’‘

序列头(seq』dr)I图像伊5流数据(strc锄)‘…‘一一I一

+J弘列纠i水(辩q_end)!

‘扩腱用,、数据一…竺竺竺s扩腱用,、数据说频编辑和5,帧头::扩燧攀频数竺!~图备数据tptdat∞I帧头。扩燧视频数据图像数据Ipicdata)I

PB帧头

。条带头(sIice-hdr);宏块数描(MB-data)……

!..一..…一….,l一一一.,

.一+,‘

宏块头(mb.hdr)块数据block—d乱a)……

图2一lAVS的视频码流结构图

AVS的视频码流结构【22】如图l—l所示。图中,序列头、扩展用户数据、帧头数据、条带头数据及序列结束码均通过不同的标识码加以区分。标识码共32bits,由前缀“OxOOOool”和8bits的起始码类型标识构成,其中,序列头、序列结束、用户数据、I帧头、视频扩展数据、PB帧头视频编辑数据的起始码类型标识分别对应:B0、Bl、B2、B3、B5、B6和B7;AVS标准中条带由同一行或多行的宏块构成,其起始码类型标识由OO到AF;在本设计中,一帧图像划分为一个条带,即一帧数据仅含一个slicehdr。宏块数据部分由于AVS支持不同的块划分格式,所以宏块头之后的块数据可能会有不同的格式。

2.4AVS与H.264标准的比较

H.264/AVC是JVT组织起草的一个覆盖多种应用和面向多种传输环境的国际标准,它规定了三种档次,基本档次(Baselinepronle)、主要档次(Mainprofile)和扩11

AVS

华北电力大学硕士学位论文

展档次(Extendedproflle),其中基本档次利用I片和P片支持帧内和帧间编码,支持利用基于上下文的自适应的变长编码进行的熵编码(CAVLC),主要用于会议电视、可视电话和无线通信等实时视频通信。AVS(Audiovideocoding)标准是由我国自主制定,拥有自主知识产权的音视频编解码技术标准。AVS.P2(Video)是AVS系列标准中的第二部分,主要应用于数字地面电视广播、有线电视、交互存储媒体、宽带视频业务、实时通信业务(视频会议,可视电话等)和远程视频监控等。

H.264/AVC是技术上相对比较成熟、应用研究比较广泛的国际标准,而AVS是我国提出的第一个具有自主知识产权的视频标准,AVs.P2和H.264/AVC视频标准在结构上十分相似,但又各有其核心思想,因此有必要对两者进行比较【10】。

1.比特流信息

两标准都采用了参数集机制,将一些重要的序列、图像参数(例如,图像尺寸、参考帧数、量化和滤波参数标记等)与其他参数分离,便于提前解码。不同之处在于,H.264/AVC比特流以NAL为单位,AVS.P2中没有定义NALU,但在AVS.M(移动视频)部分有相同的定义;另外,AVS.P2中增加了图像头信息。

2.宏块类型划分和编码块模式(cbp)

两标准的帧内、帧间预测时宏块的划分是有区别的。H.264/AVC中,I帧时亮度块有Intra4×4和Intra16×16两种模式,色度块只有8×8模式;P帧时宏块可以分割为16×16、16×8、8×16、8×8、8×4、4×8、4x4共7种模式。而AVS.P2中,I帧亮度块只有I8×8模式,P帧只有H.264/AVC中划分的前5种模式。

两标准的宏块cbp值计算也不相同。两标准中都定义了6-bit的cbp,低4-bit表示4个8×8的亮度块,高2-bit表示色度块。在H.264/AVC标准中,cbp的最低4位每位决定对应亮度宏块的残差系数是否为O:高2位为O时,表示所有色度残差系数都为O,为l时表示两色度块至少有一个DC残差系数不为O,AC系数为0,为2时表示DC、AC残差系数都不为0。在AVS.P2中,cbp低4位每位代表宏块按8×8划分时对应的亮度块残差系数是否包含非零系数,高2位分别代表Cr和Cb的残差块是否包含非零系数。

3.帧内预测

H.264/AVC标准帧内预测时对直流系数DC和高频系数AC预测是在频域内进行,其预测块大小为4×4及16×16,其中4×4帧内预测时有9种模式,16×16帧内预测时有4种模式。Avs视频标准的帧内预测基于8×8块大小,亮度分量只有5种预测模式,

l2

AVS

华北电力人学硕士学位论文

而且有其自身的特点,例如,采用左下对角模式预测时,需要使用预测块下面的样点;帧内预测时还对相邻像素进行了滤波去噪处理,这些都是H.264/AVC中没有的。AVS帧内预测大大降低了模式决策的计算复杂度,但性能与H.264/AVC接近。

4.帧问预i91II

帧间预测的模式划分方面,AVS.P2中将最小宏块划分限制为8×8,而H.264/AVC中进一步对8×8划分了8×4、4×8、4×4三种模式。实验数据表明小于8×8块的划分模式对低分辨率编码效率影响较大,而对于高分辨率编码则影响甚微.。在高清序列上的大量实验数据表明,去掉8x8以下块的运动预测模式,整体性能降低2%~4%,但其编码复杂度可降低30%~40%。

H.264/AVC标准中规定帧间预测最多可采用16个参考帧,这增加了参考图像缓冲区管理机制的复杂性,实现比较困难。而实际证明2~3个参考帧基本上能达到最高的性能,更多的参考图像对性能提升影响甚微。因此,AVS规定最多只使用了两个参考帧,以减小缓冲区大小提高编码效率,同时B帧本身也需要两个参考图像的缓冲区。

在分像素精度运动补偿时,H.264/AvC标准在亚像素插值半像素位置采用6抽头滤波,1/4像素位置采用了线性插值,而AVS视频标准中由于是对8×8块进行运动补偿,所以对于亮度样本采用2个4抽头FIR滤波器(.1,5,5,.1)和(1,7,7,1)分别进行半精度像素和l/4精度像素点的插值,效果与H.264/AVC基本相同,但降低了对访问存取带宽的要求。

B帧双向帧问预测方面,H.264/AVC标准中时域直接模式与空域直接模式是相互独立的。而AVS视频标准采用了更加高效的空域/时域相结合的直接模式,并对直接模式的运动矢量导出过程采取舍入控制技术,信噪比提高O.2~O.3dB。AVS标准还通过对称模式实现了双向预测。总体上比较,AvS中B帧的性能比H.264/AVC中B帧性能有所提高。

5.变换与量化

AVS标准中采用的8×8整数变换比H.264/AvC采用的4×4变换的去相关性强,AVS标准编码效果比H.264/AvC提高约O.1dB。同时由于AVS将变换矩阵的归一化在编码端完成,节省了解码反变换所需的缩放表,降低了解码器的复杂度。

根据AVS标准的规定,量化步长是以8为周期倍增(Qstepi+8/Qstepi.2),而H.264/AVC标准中量化步长是以6为周期。每个周期内的量化步长按指数形式增长

13

AVS

华北电力人学硕十学位论文

(Qstepi+l/Qstepi_2l/8),这种设计考虑到编码码率与量化步长之间类似负指数函数的数值关系,即随着量化步长的增长,码率减小的趋势逐渐变缓慢。因此要保证通过QP能够接近线性的控制码率的变化,必须按照近似于指数增长形式设计量化步长。

6.熵编码

两标准都采用了基于上下文的可变长编码。H.264/AvC主档次中采用基于上下文自适应的可变长编码(CAvLC),其原理是利用4×4块残差数据经整数变换和量化后非零系数随频率的增加而减小的这种上下文的相关性,通过减小帧间系数的冗余来提高编码效率。在AVS.P2标准中采用了基于上下文的二维可变长编码(C2DvLC)【261,是对“之”字形扫描后得到的幅值和游程对联合进行指数哥伦布编码,此方法与H.264/AVC中的CAVLC方法具有相当的编码效率。相比于H.264/AVC的算术编码方案CABAC【271,AVS的熵编码方法编码效率低0.5dB,但算术编码器计算复杂,硬件实现代价很高。

7.坏路滤波

两标准都是采用环路滤波来消除块预测误差造成的失真。H.264/AVC中根据相邻块模式、参考索引、运动矢量和解码块确定滤波强度,滤波强度参数Bs值为O~4,对于Bs为l~3的采用4抽头滤波器,对于Bs为4的采用6抽头滤波器。H.264/AVC中滤波器能适应片级、边界级和样点级的需要。而在AVS—P2中只根据宏块是帧内或帧问、是否在同一参考帧以及像素间隔柬确定滤波强度,Bs值为O~2,当满足滤波条件后,采用4抽头滤波器对边界先垂直后水平滤波。AVS.P2相对H.264/AVC而言,判定的边界更少、滤波强度更少,判断规则更简单,但在消除方块效应的同时能大大地减少滤波时问。

8.场编码

对于隔行扫描的图像,AvS只支持帧编码、场编码和图像自适应帧/场编码,不支持宏块帧/场自适应编码MBAFF【251。MBAFF即在编码时,划分垂直相邻的两个宏块对成两个场宏块对或帧宏块对,再进行编码。对于帧模式宏块对,每个宏块包含帧行,对于场模式宏块对,顶部宏块包含顶场行,底部宏块包含底场行。H.264/AVC标准采用了MPAFF,据报道采用ITU.601分辨率,MBAFF编码技术与PAFF相比可减少码率14%到16%,但MBAFF的空l’日J相邻规范相当复杂。

AVS中如果按场编码,每幅图像的顶场可以使用Ii{『边的场进行预测,底场可以14

AVS

华北电力人学硕十学位论文

使用本帧的顶场和之前的场进行预测,顶场和底场使用同一个图像头。l帧的底场可以使用自己的顶场进行预测。

9.整体性能比较

AVS.P2与H.264/AvC主档次的客观编码性能对比,相同码率条件下峰值信噪比(PSNR)的增益比H.264/AVC标准编码效率略低,但平均只有O.11dB的损失。在获得高编码效率的同时,AvS视频标准尽可能保持了低的计算实现复杂度,但编码后的码流较大。当编码高清视频信号时,AVC视频获得了与先进视频编码标准H.264/AVc/AVC主要档次相当的编码效率,但解码器的实现复杂度只有其60%一70%。

综上所述,AVS视频标准采用与H.264/AVC标准类似的技术框架,对于高清视频在性能上与H.264/AVC持平,在技术上更简洁。AvS系统标准采用了扩展MPEG.2System的方案,有利于兼容已有的MPEG.2传输系统。此外,在知识产权方面,AVS通过简洁的一站式许可政策,解决了MPEG.4H.264/AvC被专利许可问题缠身难以产业化的弊端,并且专利许可费用大大低于国际同类标准,因此AVS在视频压缩领域比H.264/AVC更实用。

AVS与H.264标准的主要性能比较及不同之处如下表(表2.2)所示:

表2—2AVS与H.264的性能比较

视频

标准

编码AVS视频与AVC/H.264性台皂差异估计(采用信噪比dB估算,

括号内的百分比

为码率差异)

基本相当

都采用两帧时桐

当,帧数增加性

能提高小明显

AVS视频与

AVC/H.264性能

差异估计(采用

信噪比dB估算,

括号内的百分比

为码率差异)

提高O.2一O.3dB

(5%)AVS视频与AVC/H.264MPEG一4AVC/H.264视频AVS视频性能差异估计复杂度帧内预测基于4×4块,9种亮度预测模式,4种色度预测模式最多l6帧基于8×8块,5种亮度预测模式,4种色度预测模式最多2帧降低50%多参考帧预测存储二宵省50%以上AVS视频与AVC/H.264视频标准编码B帧宏块直接

编码模MPEG一4AVC/H.264视频AVS视频性能差异估计复杂度独立的空域或时域预测模式,若后向参考帧中,用于时域空域相结合,当时域内后向参考帧中,用15

AVS

华北电力人学硕士学位论文

式导出运动矢量的

块为帧内编码时

只是视其运动矢

量为0,依然用于

预测

编码前后两个运

动矢量B帧宏块双向预测模

%像素

运动补

偿%像素位置采用6拍滤波,%像素位置线性插值

4×4整数变换,编

解码端郜需要归

一化,量化与变换

归一化相结合,通变换与量化

过乘法、移位实现

熵编码CAVI,C:与周H司块相关性高,实现复

杂。CABAC:计算

较复杂

基于4×4块边缘

进行,滤波强度分

类繁多,计算复杂

数据分割FM0/ASO

等宏块、条带组织

机制码、约束性帧

内预测等坏路滤波容错编码于导出运动矢量的块为帧内编码时,使用空域相邻块的运动矢量进行预测称为对称坝测模式,只编码1个自西向运动矢量,后向运动矢量由前向导出%像素位置采用4拍滤波,坛像素位置采用4拍滤波、线性插值8×8整数变换,编码端进行变换归一化,量化与变换归一化相结合,通过乘法、移位实现七下文自适应2D—VLC,编码块系数过程中进行多码表切换基于8x8块边缘进行,简单的滤波强度分类,滤波较少的像素,计算复杂度低简单的条带划分机制足以满足广播应用中的错误隐减、恢复需求基本相当最多降低50%基本相当降低l/3存储器的访问量提高约0.1dB(2%)解码时低降低约O.5dB(10一15%)相比CABAC降低30%降低50%远低于

由于AVS标准颁布时间还比较短,现在大部分研究机构都在研究探索适合AVS运行的:芯片和更优化的算法,AVs与H.264/AvC主要区别是在编码部分做大量运算,以得到低码率的传输,现在北京联合信源公司已经可以将解码部分做到实时,但编码部分与实时运行还有很大距离,有待继续研究发展。

与MPEG.4AVC/H.264的baselinepr06le相比,AVS视频增加了B帧interlace等技术,因此其压缩效率明显提高,而与MPEG一4AVC/H.264的mainprofile相比,又减少了CABAC等实现难度大的技术,从而增强了可实现性。

2.5小结

本章主要介绍了AVS视频压缩编码标准原理,在介绍视频压缩编码标准的前提下,引出了AVS视频压缩编码的关键技术,包括帧内预测,帧间预测,B帧宏块编码模式,整数变换与量化,熵编码以及环路滤波,将AVS与H.264标准进行了比较。16

AVS

华北电力火学硕士学位论文

第三章TMs320DM6437DSP结构特点

TMS320DM6437DSP芯片硬件特点

DSP是TI推出的一款最新的适合于多媒体应用的可编程定点

VeryLongInstruction3.1TMS320DM6437DSP。它以TMS320C64x为核,该器件具有超长指令(VLlw

w6rd)架构、2级存储器/高速缓存层次结构以及EDMA引擎等关键特性,从而使其成为计算强度较大的视频/影像应用(如视频编码)的最佳选择之一。利用DM6437进行应用丌发时,需要全面了解其特性与丌销以实现最佳性能。其主要DSP关键特性:

(1)增强功能单元,

DM64x的8个功能单元中的Veloc汀I.2扩展包括加速视频与影像应用性能的新指令。工作频率在600MHz时理论上每个时钟周期可以同时运行8条指令,处理速度最高达到4800MlPS。

(2)Ll/L2分级存储器结构

16KB直接映射的LlP程序高速缓存,带有32字节的高速缓存管线(8周期LlP高速缓存缺失损失)。16KB双路关联LlD数据高速缓存,带有64字节的高速缓存管线(6周期L1D高速缓存缺失损失)。256KBL2统一映射RAM/高速缓存(灵活的RAM/缓存分配),L2四路关联高速缓存,带有128字节的高速缓存管线。

(3)位优先原则:低位优先(LittleEndian),高位优先(BigEndian)。

(4)64位外部存储器接口(EMIF):同步与异步存储器的无缝逻辑接口。

(5)l024MB总的可寻址外部存储器空间。

(6)增强型直接存储器存取(EDMA)控制器(64个独立通道)。

片上外设集包括:三个可配置的视频端口,一个lO/looMbps以太网MAC(EMAC),一个管理数据输入/输出(MDIo)模块,一个VCXO内插控制端口(VIC)。视频端口外设提供与通用视频解码器和编码器相连的无缝接口,以支持多种视频分辨率及标准,上面这些灵活丰富的接口以及2级内存/缓存区结构和EDMA引擎使得DM642非常适合图像处理,因此选择该芯片作为丌发平台。

3.2DM6437EVM存储器系统

EVM的存储系统由片内内存和片外外存两部分组成。其中,片内内存DM6437

采用两级缓存结构,第一级包括相互独立的LIP(16K字节)和LlD(16K字节),17

本文来源:https://www.bwwdw.com/article/iifj.html

Top