AVS编码与DSP实现的视频编码器_第1页
AVS编码与DSP实现的视频编码器_第2页
AVS编码与DSP实现的视频编码器_第3页
AVS编码与DSP实现的视频编码器_第4页
全文预览已结束

下载本文档

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

文档简介

1、AVS编码与DSP实现的视频编码器    摘要 介绍一种基于TMS320DM6446的视频压缩处理系统,该系统采用我国具有自主知识产权的AVS编码标准,可实现对视频信号的高速实时处理;详细介绍了系统的硬件原理及结构、软件设计与实现以厦AVS编码标准的主要技术指标,并针对TMS329DM6446芯片的特点对算法和软件设计进行了优化。实验结果表明,此系统拥有较强的实时信号处理能力,符合监控系统的性能要求,在视频监控领域具有广阔的前景。关键词 AVS编码DSP视频编码器 引 言    随着数字视频技术的发展,近年来世界上出现了许多

2、数字音视频压缩标准。AVS(Audio Vicleo Coding Stand-ard)是我国自主制定,拥有自主知识产权的音视频编码标准。与世界其他知名音视频编码标准相比,它具有如下特点:性能高,编码效率比MPEG2高2倍以上,与H264的编码效率相当;算法复杂度比H264低;软硬件实现成本都低于H264;专利授权模式简单,费用明显低于同类标准。在码率和PSNR相当的情况下,AVS的编码速度是H.264的4倍以上。    AVS视频标准采用了一系列技术来达到高效率的视频编码,包括帧内预测、帧间预测、变换和量化、熵编码等。帧问预测使用基于块的运动矢量消除图像闻的冗余

3、;帧内预测使用空间预测模式消除图像内的冗余;再通过对预测残差进行变换和量化消除图像内的视觉冗余;最后,运动矢量、预测模式、量化参数和变换系数用熵编码进行压缩,以消除编码码字冗余。    DSP的实现是AVS硬件应用的一个重要领域,而实时性则是一个重要要求;但由于标准提出的时间短,所以DSP实现的实例很少,能将AV5算法在DSP上实现,对AVS的发展有很大的意义。另外,具有强大处理能力的DSP非常适合应用在通信和图像处理领域。    本系统选用TI公司最新推出的数字媒体处理器TMS320DM6446(简称“DM6446”),其主频高达5

4、94MHz,具有丰富的专为多媒体运算优化的指令集,包括可简化设计并能降低系统成本的集成多媒体与通信外设。片上集成的基于ARM9的ARM926EJ-S核(主频高达297 MHz),丰富的媒体、外设接口,为AVS视频编解码方案提供了很好的硬件基础。1 系统硬件设计    本系统是基于DSP的视频监控系统,通过DSP对CCD摄像头获取的YUV 4:2:0信号进行实时处理,将压缩后的数据流通过以太网接口发送到监控室。    数据压缩单元主要由DSP和SDRAM实现。系统硬件结构框图如图l所示。    DM6446

5、增加了很多外围设备及接口。例如:    视频处理子系统VPSS(Video Processing Subsystem),其中包含CCD设备接口;    扩展内存接口EMIF(External Memory Inter-faces);    FPGA接口(VLYNQ Interface);    以太网接口1O100Mbps EMAC(Ethernet MAC)。    视频信号采集进来之后,采用EDMA方式进行数据搬移;搬移到缓存(cache)中

6、后,DM6446便对数据进行压缩处理。图2为该系统的软件流程图。    缓存完l帧后,DSP便通过EDMA读取数据,并对数据进行压缩处理,结果通过EDMA存储在SDRAM中。当DSP处理完1帧之后,通知主机读取数据;主机接到通知后,通过以太网以EDMA形式将压缩数据读到主机内存中并保存在硬盘里。在监控主机上安装有AVS解码器客户端,还可以在主机上对传输的数据进行实时播放。上述过程循环执行。在执行过程中可以根据视频码率自动调节有关参数。2 系统软件设计21 AVS视频压缩原理    该系统采用AVS视频标准,原理框图如图3所示。

7、0;   在AVS视频标准中,所有宏块都要进行帧内预测或帧间预测。预测残差需要进行8×8离散余弦变换(DCT)和量化,然后对量化系数进行扫描,得到一维排列的量化系数,最后对量化系数进行熵编码。AVS使用环路滤波器对重建图像滤波,优点在于:一方面可以消除方块效应改善重建图像的主观质量;另一方面能够提高编码效率。滤波强度可以自适应调整。22 AVS的主要技术(1)变换和量化    考虑到编码性能、实现复杂度、AVS视频标准的主要应用等多方面因素,AVS视频标准最终选择了8×8离散余弦变换。在AVS中,采用带PIT(Pre-Sca

8、led Integer Transform)的8x8整数余弦变换技术,即正向缩放、量化、反向缩放结合在一起,而解码端只进行反量化,不再需要反向缩放。AVS的8×8变换量化可在16位精度上无失配地实现。    对于PC机,一般将DCT中大量的乘加运算使用加法和移位来实现。但就本系统的TMS32013M6446而言,乘加可以通过合理安排流水线而在一个周期内完成,完全没有必要也不应该为了减少乘法而使用大量的加法和移位运算。而对于2的整次幂的乘法还是应使用移位来实现,因为移位运算比乘法运算的功耗要低。(2)帧内预测    AVS视频

9、标准使用帧内预测技术来提高帧内编码宏块的编码效率,预测时使用当前块的左边块和上边块中的相邻像素作为参考像素。AVS视频标准的帧内预测以8×8亮度块和色度块为单位,定义了5种8×8亮度块预测模式和4种8×8色度块预测模式(参见表1和图4),大大简化了帧内预测。(3)帧间预测    AVS支持P帧和B帧两种帧间预测图像。P帧至多采用2个前向参考帧,可在不增加缓冲区大小的前提下提高编码效率;B帧采用前后各一个参考帧。    AVS视频标准中运动补偿块的大小包括16×16、16×8、8

10、5;16、8×8等。运动矢量的精度为14像素,为得到非整数样本,需要进行插值运算。AVS视频标准定义了2个4抽头FIR滤波器,分别用于l2和14亮度样本的插值。与H264使用的6抽头FIR滤波器相比,AVS视频标准的滤波器实现复杂度较低。(4)环路滤波    基于块的视频编码很容易造成方块效应,特别是在低码率的情况下。AVS视频标准定义了自适应环路滤波器来消除方块效应,改善重建图像的主观质量,同时可提高编码效率。环路滤波是对亮度块和色度块的边界进行的。滤波时首先对块的水平边界滤波,然后再对块的垂直边界滤波。滤波强度由宏块编码模式、量化参数和运动矢量等决定

11、。H264的环路滤波器滤波时使用边界左右各4个像素,而AVS视频标准只使用左右各3个像素,实现复杂度低于H.264的环路滤波器。AVS视频标准使用的环路滤波器也更有利于DSP的并行实现。(5)熵编码    AVS视频标准使用k阶(k=O3)指数哥伦布码。CBP、宏块模式和运动矢最等用0阶指数哥伦布码编码。量化系数使用全部4种指数哥伦布码,采用2D-VLC编码方法,对量化系数的(run、level)进行编码。指数哥伦布码的码字结构非常规则,解码器不需要存储码表。量化系数使用的19张映射表所需的存储空间小于2 KB。视频标准还定义了新的ESCAPE编码方法,能够获得O

12、05O08 dB的编码增益。23 程序在DSP上的优化    本系统压缩部分程序以AVS参考代码rm52f为编码部分的源代码基础,针对AVS编码算法和DSP的特点对其结构和算法进行了调整和改进。对程序作如下优化:    合理设置结构体和变量类型。经常用到的数组变量不放到结构体中,否则要进行双级寻址,降低效率;对变最长度进行合理定义,严格合理区分8位、16位、32位的变量分配,能用小的则不用大的。(注意:在循环体中,循环计数变量应一律使用int型,即船位,而不要使用short型)    循环展开。过多过深的

13、循环不利于编译器做软件流水优化,影响DSP并行处理,因此根据DSP特性适当拆开内循环,可以使DSP在一个周期内执行多条指令。优化循环较好的方法是抽出循环作为单独文件,对其重新编写、编译和单独执行。由于内层循环是惟一可以进行软件流水的循环,所以应该注意以下问题(否则会使循环不能进行软件流水,严重影响性能):可以包括内联函数,但不可包括函数调用;不可有条件终止、提前退出指令;必须递减计数且在O时终止(可用-o2、-o3自动转换);不可在循环体中修改循环计数值。    使用EEMA方式进行数据搬移,这在CPU频繁访问外部存储器数据时能大大节省CPU资源。其主要实现了下列

14、数据传输:视频数据从片外存储器传到片内Cache中;编码数据从片内传输到片外保存;做运动补偿时,将片外对应的参考块数据传输到片内。    使用内联函数和线性汇编。DSP提供了许多非常有用的内联函数(Intrinsics),使用这些内联函数可以很大程度地提高程序运行速度。对于耗时最多的运动估计和DCT变换部分进行线性汇编能大大提高程序的执行效率。使用线性汇编和标准汇编相比,不必考虑并行指令安排、指令延迟、寄存器使用和功能单元的使用,可以大大缩短编写代码的时间,且效率远远高于C程序。    利用编译选顶。可以通过参数-o3的设置进行最高级

15、别的软件流水线优化;可以通过参数-mt告诉编译器源程序没有使用混叠技术,以此提高编译器优化的效果;可以通过参数-pm的设置,使编译器对程序级代码进行优化。使用C64xx型DSP时,应使用-mv6400编译选项,以便对此类DSP进行更高级别的优化。    利用快速算法。AVS编码器中,运动估计耗时相当大。优化运动估计的搜索次序,采用自适应的搜索策略可以较大地提高运动估计的速度,比如使用FastME来进行优化。另外在14像素插值方面也可进行一些调整,以避免重复计算。3 总结    本系统很好地实现了对视频数据的实时压缩处理及传输,能够实现图像数据读写、内存读写、SDRAM读写、配置空间读写和寄存器读写操作,同时协调几种操作实现图像数据的AVS压缩。

温馨提示

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

评论

0/150

提交评论