基于DM642DSP的视频编码优化方法
时间:09-01
来源:互联网
点击:
周期内就只有.M单元在工作,而其他运算单元都闲着。由于整数DCT矩阵系数的特殊性,我们完全可以用加法指令和移位指令来代替乘法指令。表1是一个16x16宏块进行DCT变换,汇编优化前后的cycle数的对比。
表一 16x16宏块DCT所需的周期数
在写汇编指令时我们要尽量做到在同一个周期内,让位于A,B两侧的8个运算单元能够同时工作,在做DCT时我们发现M单元不够用,而有时在其他情况下,M单元根本就没用上,这时就要想办法用M去代替其他运算单元。如求残差时要把8位数扩展成16位数,一般用UNPKLU4和UNPKHU4指令来完成,也可以用DOTPU4乘以0x01010101,同样也可以完成扩展要求。
表二 H.264编码器性能测试
实验结果与总结
由于此编码器是针对监控系统的应用,在追求编码速度的时候,对图像质量做了一定的牺牲。下面是编码器的一些参数配置:图像皆为CIF大小,参考帧用了一帧,搜索范围是[-16,16],相邻两个P帧间插入两个B帧,即IBBPBBP……的编码方式,P帧和B帧做运动估计时最小块到8x8块,即只在16x16、16x8、8x16、8x8几种模式间做选择,量化步长设为30.。采用CAVLC编码方式。
本文针对实时视频监控的应用要求,结合DM642嵌入式系统的硬件特性,从程序的总体架构,数据的存放位置,数据的搬移进行了分析,给出了切实有效的优化方法。对占用系统资源较多的运动搜索给出了适合在DSP平台下的算法,对整数DCT进行了在汇编层面的优化,并总结了一下优化技巧。经测试基本达到视频监控的实时要求,并且有较好的图像质量和码率。
- 视频编码讲坛之H.264前世今生(05-18)
- 新一代视频编码标准H.264/AVC的关键技术研究(09-04)
- 视频编码标准应用或改国内监控产业格局(12-06)
- 如何使用FPGA实现高清低码流视频编码(09-28)
- H.264_AVC视频编码变换量化核实现(07-23)
- H.264/AVC视频编码变换量化核的硬件设计(01-10)