基于DSP的AVS视频编码研究与实现_第1页
基于DSP的AVS视频编码研究与实现_第2页
基于DSP的AVS视频编码研究与实现_第3页
基于DSP的AVS视频编码研究与实现_第4页
基于DSP的AVS视频编码研究与实现_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、基于基于DSP的的AVS视频编码系统研究与实现视频编码系统研究与实现 硕士姓名:硕士姓名: 袁义雷袁义雷 学学 号:号: 1020349190 专专 业:业: 信号与信息处理信号与信息处理 指导导师:指导导师: 陈健陈健 教授教授课题内容及意义F视频压缩是多媒体领域的关键技术 ,各种压缩算法应运而生 ,同时国际国内各标准化组织制定了相应的技术标准。如何有效利用这些技术和标准,乃至改进某些技术细节,是本课题研究的内容之一,也是课题研究的意义所在。F视频压缩的实时性要求越来越高,而利用DSP实现视频的实时压缩是一种非常好的方案。如何充分利用DSP的性能和特点,实现代码的移植和优化,是本课题研究的另

2、外一个重要内容,也是课题研究的意义所在。F基于DSP的视频压缩系统能广泛应用于可视电话、数字视频会议和视频监控等领域。 研究背景FAVS视频编码标准的制定我国于2002年6月成立“AVS标准工作组”。2003年底基本完成AVS视频编码标准(V1.0)的制定。FDSP技术的进一步发展 采用了先进的流水线结构,哈佛总线体系及硬件乘法器等等,因而能够实时地处理多种数字信号,这是传统微处理器所不能达到的。随着DSP生产工艺的不断提高,使得DSP性能不断提高,价格不断下降。尤其是TI公司新推出的DM642芯片为视频编码方案提供了出色的解决方案 。基于DSP的视频编码系统方案视频A/D音频A/D高速DSP

3、网络接口帧存储器片外存储器模拟视频模拟音频AVS视频标准编码框图Fn(当前帧)Fn-1(参考帧)Fn(重构帧)运动估计运动补偿选择帧内模式帧内预测环路滤波uFn变换量化反变换反量化 熵编码P帧内帧间DnDnAVS 视频编码标准关键技术 变换/量化 帧内预测/帧间预测 熵编码 环路滤波整数变换2- 6 9- 10 10- 9 6- 2 4 10- 10 4- 4- 10 10- 4 6- 10 2- 9- 9 2 10- 6 8 8- 8- 8 8 8- 8- 8 9- 2 10 6 6- 10- 2- 9 10 4 4- 10- 10- 4- 4 1010- 9- 6- 2- 2 6 9 10

4、8 8 8 8 8 8 8 8 帧内预测亮度: 5种预测模式色度: 4种预测模式帧间预测新的滤波方案对半像素使用4拍滤波,代替AVC的6拍滤波半像素插值: (-1/8,5/8,5/8,-1/8)1/4像素插值: (1/16,7/16,7/16,1/16)色度采用1/8双线型插值Aa1bBcdef2h3i4jklmC5D帧间预测新型的双向预测模式: Symmetric mode只编码一个前向运动矢量, 后向运动矢量根据帧间距离推导得出在两个方向同时搜索得到最优的运动矢量BMV = -FMV*d2/d1BPPd1d2FMVBMV环路滤波F简单的环路滤波 Intra 宏块边界(1,2,1)u例:P0

5、 = (p1 + 2xp0 + q0 + 2)2 Inter 宏块边界(1,-3,3,-1)AVS 视频标准性能测试F测试软件 AVS RM 5.0 JVT JM 75cAVS与H.264性能比较序列标准码率(kbps)PSNR_Y(dB)编码速度(fps)123H.264AVSH.264AVSH.264AVS36.0435.320.02260.098236.8536.620.02180.1123238537.560.11580.020437.5923683202318041264215序列: 1.Bus_interview 2.City 3.CrewAVS视频编码算法改进 F帧内预测及改进算

6、法 F运动估计算法及改进 F基于下采样的SAD算法 帧内预测及改进算法 F存在问题分析 88的块用到所有33个像素值的比率不大,这样造成5种预测模式效率并不是很高 。另外,最可能模式在帧内预测中被命中为最佳预测模式的概率很大(80左右),所以如果优先考查最可能模式,采用快速算法能大大缩短帧内预测的时间。帧内预测及改进算法F去掉模式4F简化模式40123456788 88888881234567888888888rc0123456789 10 11 12 13 14 15 1612345678910111213141516rc帧内预测及改进算法F快速帧内预测算法:优先考查最可能预测模式,计算出该

7、模式下的Cost值,然后将该值与一自适应阈值(threshold)比较。如果比threshold小,则直接把最可能模式作为最佳模式,不再考查其他4种预测模式。 帧内预测算法测试比较第n帧123456。码率kb/s原方案274864275320275064275080275192274848。8252.07本方案279736279512279896279736279976279416。8398.52命中数730730732735740739。PSNRY本方案:40.29;原方案:40.34运动估计算法及改进 UMHexagonS算法搜索步骤-15-10-5051015-15-10-5051015

8、 step2 step3-1 step3-2 step4-1 step4-21) 初始化运动搜索起始点;2)X轴方向与Y轴方向幅度 不同的“十字”搜索;3) 不均匀的多点“六边形”搜索;4) 拓展的基于“六边形”的搜索。 UMHexagonS算法改进 -2-11242-44-2-4-330YX 命中次数统计搜索点AkiyoWeatherCoastguard16个搜索点命中次数6760306581435088个预去除点命中次数188229813357百分比2.787.593简化UMHexagonS与UMHexagonS测试数据性能WeatherAkiyoForemanGrandpaBus码率变化

9、0098%0.045%0.096%0.081%0.112%PSNRY变化-0.02%-0.01%-0.02%-0.02%-0.03%基于下采样的SAD算法及测试结果第n帧12345。码率kb/s4像素下采样171776171736171480172080171536。5151.6516像素下采样167792167864167424168448167112。5031.84原方案166264166776165960167152165840。4991.95PSNRY4像素下采样:38.90;16像素下采样:38.91;原方案:38.91AVS视频编码系统DSP实现与优化 F视频压缩系统结构框图DSP

10、内核L1P 缓存L1D 缓存EDMA控制L2缓存EMIFPCIHPIVPSDRAMTMS320DM642模拟视频TVP5150FIFOPCI总线结构调整 例如:int mpr1616 存放1616个当前最佳模式预测值int m71616 存放1616个差值从结构体内单独列出来,另外用byte型就够了byte mpr1616 byte m71616 代码移植要点 FCCS运行环境设置F“重复定义” 问题 F去除 “警告”。 代码优化利用编译选项利用编译选项利用缓存特性利用缓存特性 循环拆解及数组转化循环拆解及数组转化 消除冗余代码消除冗余代码 使用内联函数使用内联函数利用线性汇编利用线性汇编利用

11、利用EDMA EDMA 利用编译选项 Cl6xmt o3 pm ms0 “filename”mt:申明函数内无混迭o3: 最高性能优化pm: 联合所有源程序文件进行程序级优化ms0: 性能和代码尺度选择,它表示性能优先利用缓存特性 F合适设置源程序的连接顺序 F周期性地使Cache无效 循环拆解及数组转化 循环嵌套太多,就不利于流水线的分工,有必要对内循环进行拆解。 首先,要尽量考虑使用寄存器代替内存来存放中间变量。其次,要尽量考虑到DSP点积和累加指令,使得拆开内循环之后的代码能够进一步改写成这类指令格式,以实现一个周期内执行多条代码的目的。消除冗余代码 QPSnrY (db)SnrU (d

12、b)SnrV (db)Time (ms)I 帧2742.975245.058446.42471480P 帧2742.537146.994846.43702139B帧2742.620645.051746.40693108消减冗余代码前消减冗余代码后QPSnrY (db)SnrU (db)SnrV (db)Time (ms)I 帧2742.975245.058446.4247423P 帧2742.537146.994846.4370856B帧2742.620645.051746.40691481使用内联函数 F在AVS系统优化过程中,主要用到的内联函数有:_amem4,_abs2,_hi,_dot

13、p2,_pack2等。 如: for(j=0;j16;j+)for(i=0;imprij=best_mpr_tmpij; 使用内联函数first8= _memd8(void *) &best_mpr_tmpij); second8=_memd8(void *) &img-mprij); for(j=0;j16;j+) _memd8(void *) mprj0) =first8; _memd8(void *) mprj8) =second8; 内联函数使用前后对照 前五帧IP BB采用_mem之前221.6ms243.2ms416.8ms423.0ms采用_mem之后197.4m

14、s211.2ms361.8ms371.6ms减少百分比10.913.113.212.1%利用线性汇编 F针对程序中耗时较长的函数需要通过线性汇编进行局部优化 for (j = 0; j B8_SIZE; j+) for (i = 0; i B8_SIZE; i+) for (result = 0, x = -1; x 3; x+)result+=ref_picmax(0,min(maxold_y,y_pos+j)max(0,min(maxold_x,x_pos+i+x )*COEF_HALFx+1; blockij = max(0, min(255, (result+4)/8); 利用线性汇编

15、LDB ref_pic ,A1LDB COEF_HALF ,B1DOTPSU A1,A2,A4 get_block 函数线性优化前后比较 I 帧snrY (db)P帧 snrY(db)B帧 snrY(db)时钟周期C代码37.8337.3537.266435线性汇编代码37.8337.3537.262758减少的百分比0%0%0%58.2利用EDMA FEDMA可以在没有CPU参与的情况下,由DMA控制器完成DSP存储空间内的数据搬移。数据搬移的源/目的可以是片内存储器、片内外设或外部器件。F视频数据从片外存储器传人片内Cache中;编码数据从片内传输到片外保存;做运动补偿时,将片外对应的参考块传输到片内。实验仿真结果及分析 序列名大小码率/kbpsSnrYSnrUSnrV速度/fpsAkiyoCIF22341.4344.0745.6518WeatherCIF72438.7539.1639.8818BusCIF249637

温馨提示

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

评论

0/150

提交评论