网站首页 | 技术文章 | 解决方案 | 电子书籍 | 下载中心 | 电子商城 | 技术论坛 | 电子博客 | 商务信息  
联系站长
加入收藏
会员登陆
交易首页 最新信息 - 推荐信息 - 热门信息 - 免费发布 - 行业新闻 - 行业资讯 - 行业知识 - 积分说明 - 信息分类 - 企业展示 - 帮助
 您的位置: 中国电子设计 >> 技术文章 >> 微控制器 >> 正文 商务信息栏目开通公告  [2008-05-19 11:47:00]
   □  基于TMS320DM642的AVS-M关键模块优化   
基于TMS320DM642的AVS-M关键模块优化
[作者:陈静 周广禄 孙鹏娇 郭恒业    转贴自:微计算机信息    点击数:    更新时间:2008-10-10
【字体:

Optimization of AVS-M key technique based on DM642
Abstract: AVS-M is a video compression standards which has independent intellectual property rights and good compressive property. DM642 is a special digital signal processing chip facing multimedia applications, provided by TI Company. It has best video handling ability, and it is a platform of DSP realization of AVS-M. The methods of realizing AVS-M real time encoding by kinds of optimization techniques are discussed and the experimental results are given out in this thesis.
Key words: AVS-M; interpolation; motion estimation; transformation and quantization scanning; circle filtering
摘要:AVS-M是具有自主知识产权的视频压缩标准,具有很好的压缩性能。DM642处理器是TI公司研制的一款专门面向多媒体应用的专用数字信号处理芯片,具有很强视频处理能力,是AVS-M标准DSP实现的平台。文中探讨了在DSP平台上通过各种优化技术实现AVS-M实时编码的方法,并给出了实验结果。
关键词: AVS-M;插值;运动估计;变换量化扫描;环滤波
1引言
AVS是具有自主知识产权的数字音视频编解码技术标准,其中,移动视频标准AVS-M (AVS第七部分)适用范围包括视频会议、可视电话、移动多媒体等领域【1,2】。
TMS320DM642是TI公司开发研制的一款专门面向多媒体应用的专用数字信号处理芯片,该DSP芯片内核时钟高达600MHz,处理能力最高可达4800MIPS【3】。基于此款DSP芯片平台,本文对AVS-M算法中关键模块进行了优化,优化后的测试结果是在dsp板上实测得到,输入视频图像为从摄像头实时采集的,处理图像格式是PAL制CIF352x288。
2.AVS-M编码框架
AVS-M编码器框架如图1所示。主要模块为运动估计和运动补偿、变换、量化、反量
化、反变换、熵编码。编码器分为前向和后向两个过程。前向过程经过预测、变换、量化、
熵编码将视频信息处理成压缩后的码流,得到的码流可以进行存储也可以用于传输。后向过程的目的是从量化后的信息经反量化、反变换,生成前一帧或前几帧的重构,作为前向过程中运动补偿的参考帧。                           



1 AVS-M编码器框架

3.AVS-M关键模块优化
在DM642平台上进行的视频优化,通常有系统级优化、程序级优化、汇编级优化、算法级优化等。下面利用这些优化方法完成AVS-M算法几个主要模块的优化。
3.1.插值优化
P帧运动估计和运动补偿预测的精度是1/4精度,原有方法是在当前帧进行编码之前,对刚编码过的参考帧进行整帧的1/4精度的插值。实验发现这样做访存量太大,因为整帧1/4插值需要DMA调入重构帧和写出16倍数据量的1/4精度插值帧。分像素运动估计也需要调入16倍于重构帧的数据量。而且1/2和1/4插值不容易同时进行,需要先进行1/2插值保留中间结果再进行1/4插值,这样访存量更大。
为了解决这个问题,考虑不进行整帧插值。1/2和1/4精度的参考像素采用现用现插值,由于1/2插值的滤波器抽头较长,相对于整帧的1/2插值需要多计算出一些像素值,增加了计算量。根据AVS-M中插值的特点:1/2插值水平方向采用的是8抽头滤波器,垂直方向采用4抽头滤波器,1/4插值采用的是双线性插值,最后采用了整帧的1/2插值,将插值结果写到外部存储器。分像素运动时将相应位置的1/2参考区调入片内存储器。1/4精度的参考像素是现用现插值,由于1/4插值是简单求两个值的均值,现用现插比较容易,不存在如1/2插值计算量增加的问题,而且1/4插值是与分像素运动估计求预测残差并记录最优的预测值一起来进行的,实验证明采用这种方法减少传输数据量的同时极大地缩短了运算时间。
对于qcif格式的一帧图像,最初的参考代码中没有进行指令优化而且没有使用DMA的情况下,整帧的1/2和1/4插值大概用时50ms,经过优化1/2插值后用时大约0.8ms,1/4插值对分像素运动估计没有带来速度降低。所以插值部分较优化前速度提高了60多倍。
3.2.运动估计优化
AVS-M标准中运动估计和运动补偿可以超出参考图像的边界,当运动向量指向参考图像以外时,超出图像边界的点使用最近的边界点代替。参考代码在取预测值的时候每个像素位置都要用Min和Max宏定义来判断是否超出边界,这样的判断使处理速度很慢。因此考虑在编码一帧图像之前对参考帧的边界进行扩展,扩展出来的像素点取参考图像中最近的边界点,如图2所示。经过扩充后不必再进行边界的判断,对于参考帧的色度也进行了边界扩充,使得色度运动补偿不必进行边界判断。
 
图2 参考图像的边界扩展
计算SAD是整像素运动估计中计算量最大的部分,Ti库函数中提供了一些函数,对于16*16,16*8,8*8块的搜索可以直接利用库函数。对于8*16的块不能直接利用,用线性汇编来实现后,软件流水一次迭代的周期数为3,与三个汇编库函数的迭代周期数相同。求SAD的计算过程如图3所示,其中LDDW是边界对其的8字节存储器读取,LDNDW是边界不对其8字节存储器读取,SUBABS4是并行计算四个字节的差的绝对值,DOTPU4求四个字节的点积。
 
图3 SAD计算过程
分像素运动估计中,在每个搜索位置调用Calcu_Subpixel_Residual(),其作用是计算出1/4预测像素值,求预测残差,将预测残差保存在diff[16*16]中,并将预测值保存。然后调用SATD_block()对diff[16*16]中的残差进行哈达码变换求SATD,求SATD是对每个4*4块进行,之后求和,4*4块之间的计算可以软件流水提高速度。此外设两个数组来保存最优的预测值,若当前考察的位置代价更小则通过交换指针使pBestPred指向最优的预测值,避免了数据拷贝。
3.3.变换量化扫描优化
由于变换、量化、扫描是对4*4小块进行,处理一个小块的代码不大,可以完全展开,之后对16个亮度4*4块和8个色度4*4块放在一个循环中进行处理,这样省去对每个4*4块的函数调用。重要的是4*4块之间的处理可以利用软件流水,从而充分利用DM642的并行计算单元。表1列出了变换、量化、扫描优化前后周期数的对比,统计的是处理一个宏块中24个4*4块所用的周期。其中每个函数都进行了内联汇编级的指令优化。
表1 变换量化扫描优化前后周期数对比
函数名 优化前(Cycle) 优化后(Cycle)
变换      2040                     438
量化      7560                     715
扫描      3360                     1470
3.4.环滤波优化
环路滤波是以宏块为单位进行的,图4说明了环滤波所用数据结构和函数调用关系。LoopFilterBufferUpdate()更新LoopFilterBuffer,将处理下一行宏块时所需要的信息从LoopFilterBuffer保存到UpSaveBuffer。CopyReconToLoopFilterBuffer()将ReconBuffer拷贝到LoopFilterBuffer,将UpSaveBuffer中当前宏块上面的环滤波参考像素也拷贝到LoopFilterBuffer。DeblockMb()在LoopFilterBuffer中对像素值进行滤波。SaveLoopFilterBuffer()将LoopFilterBuffer中滤波后的结果利用DMA写到外存上当前重构图像缓冲区中。
 
图4 环滤波数据结构和函数调用关系
为了减少循环内的条件判断,DeblockMb()针对每个边界滤波强度和色度亮度的四种情况采用了四个核心计算函数:EdgeLoop_Y(),EdgeLoop_Y_Weak(),EdgeLoop_UV(),EdgeLoop_UV_Weak()来对每个边界进行滤波。
借助编译器的反馈信息,通过调整使得两边的计算单元负载平衡,去除存储器的相关性,这四个函数中循环的软件流水得到了明显的优化。首先利用特殊指令_abs(src),_max2(src1, src2),_min2(src1, src2)去掉循环内的多层条件判断,使循环能够流水。这样处理之后,EdgeLoop_Y中循环的一个迭代周期是32。原来是从指针SrcPtr所指地址中读数据,滤波结果写回其所指地址,编译器认为存在存储器相关性,多个循环迭代周期不能并行执行。可采用下面方法解决,另设一个指针SrcPtrR=SrcPtr,每个迭代周期从SrcPtrR中读数据,向SrcPtr写数据,之后两者都更新,处理下一组数据。这样EdgeLoop_Y中循环的一个迭代周期减为15。察看编译器的汇编反馈信息,发现瓶颈在逻辑运算,由于需要判断两个条件都满足才进行滤波,而此时乘法单元.M没有利用,正好可以利用乘法单元.M来进一步优化。例如程序中有cond1&&loop_enable,其中cond1和loop_enable都是0/1逻辑变量,计算需要逻辑运算单元,但逻辑运算单元已经得到充分的利用,由于cond1&&loop_enable=  cond1*loop_enable,这样可将逻辑与运算转化为乘法,利用乘法单元,减少了逻辑运算单元的负担。EdgeLoop_Y中循环的一个迭代周期减为13,相比优化之前,经过这些优化之后速度也有了很大的提高。
4.结论
结合AVS-M视频压缩处理流程的特点,通过合理的存储分配和指令优化,以及算法优化等,该编码器达到了2路CIF格式视频实时压缩处理,且图像主观效果良好,另从表2实验结果可知,信噪比下降不明显。


本文创新点是:把具有自主知识产权的数字音视频编解码技术标准第七部分(AVS-M)应用于视频服务器的视频压缩,本文对算法中的主要模块进行了具体分析,结合硬件特点和专有指令进行了算法优化,已经达到实时编码要求;目前市场上还没有采用此压缩标准的产品,此产品具有极高得性价比,采用此压缩标准还可以避免产品产业化之后知识产权之争,具有很好的应用前景。
参考文献:
[1]周大山,李华,张淑芳等。AVS-M视频解码器设计和实现. 电视技术,2005,8:10-11
[2]信息技术先进音/视频编码:视频[S].中华人民共和国国家标准.GB/T20090.2-2006,2006
[3]李方慧,王飞,何佩琨.TMS320C6000系列DSPs原理及应用.电子工业出版社,2003年.20-50
[4]高文,王强,马思伟. AVS数字音视频编解码标准。中兴通讯技术,2006,6:6-9
[5]许海燕,闫健恩,陈静. H.264视频编码在DM642上的实现与优化,微计算机信息,2006,8-2:160-162


作者简介:陈静 1971 女, 长春理工大学 在读硕士 工作于吉林电子信息职业技术学院 ,讲师,研究方向,数字信号处理;周广禄(1970~)男,哈尔滨工业大学(威海),讲师,工学硕士,主要研究方向数字图像处理、图形图像压缩。郭恒业(1947-),男,哈尔滨工业大学,教授 ,研究方向:网络安全、嵌入式系统、图形图像压缩;孙鹏娇,吉林电子信息职业技术学院,教师。
通信地址:132021 吉林电子信息职业技术学院 机械与自动化工程系 陈静,孙鹏娇
          264209哈尔滨工业大学(威海) 计算机科学与技术学院 周广禄,郭恒业

  • 上一篇文章:DS2502专用编程器的软硬件设计与实现方法
  • 下一篇文章:没有了
  • Google
     
    Web www.cediy.com
    发表评论 □告诉好友 □打印此文 □关闭窗口
     最新热点文章
     基于ARM及蓝牙技术的无线测试系统设...
     基于DSP实现对SAA7111A初始化配置的...
     基于Mega8单片机和DS18B20的单总线...
     一种交错双相临界导电模式PFC控制器...
     一种低纹波高精度数字电流源的设计...
     基于数字PWM信号的超声波功率电源的...
     
     最新推荐文章
     基于TMS320C6713与PC机的PCI总线高...
     基于TMS320VC5409和Cygnal单片机构...
     基于ARM控制器S3C44B0x的给煤机控制...
     基于USB 2.0的高速数据采集卡在虚拟...
     大功率谐振过渡软开关技术变频器研...
     大功率谐振过渡软开关技术变频器研...
     
     相 关 文 章
      ◇  网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
     设为首页  加入收藏  关于本站  版权申明   联系站长   宣传赚点   友情链接
    如果我在线,不用加为好友,立刻与我交谈。 业务咨询QQ:342488946
    Copyright© 2004-2010 CEDIY.COM .All Rights Reserved
    粤ICP备05119258号
    “安网”备案标志 网上报警