微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 基于DM642DSP的视频编码优化方法

基于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进行了在汇编层面的优化,并总结了一下优化技巧。经测试基本达到视频监控的实时要求,并且有较好的图像质量和码率。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top