基于TMS320DM642的MPEG4编码器的设计与实现
时间:07-30
来源:互联网
点击:
3.2.3 汇编程序级优化
线性汇编语言是C6000系列DSP所特有的一种编程语言,类似汇编,但不需要给出指令使用的功能单元、寄存器、并行性等细节信息,汇编优化器可根据代码情况自动确定。我们将代码中运算量大、调用频率高的关键部分用线性汇编进行了改写,如量化、DCT、SAD等模块,进一步优化了循环迭代、提高了指令的并行性效果。表2给出了改写前后几个函数模块程序对3帧foreman.qcif测试序列编码时消耗的时钟周期数对比。
3.3 存储空间的配置
DSP的片上存储空间有限,编码器要处理的大量视频数据(包括当前帧和参考帧等图像)必须放在片外,而CPU访问片外的速度要比访问片内慢很多。利用DM642的EDMA功能,CPU对前一帧数据编码的同时,通过ED-MA通道提前将片外的数据搬移到片上内存,二者并行工作,提高了数据由片外传输至片内的效率,可减少CPU等待时间。
3.4 实验结果
使用编码器对标准qcif格式(176×144)测试序列进行编码来测试编码器性能,其中news序列300帧,suzie序列150帧,foreman序列400帧,通过TI的集成开发环境CCS 2.0进行硬件仿真实验,在设定码率为100 b/s的条件下。
通过分析测试序列编码结果,编码器的编码速率达到25 fps以上,可以满足实时编码的要求。在传输码率降低的情况下,编码速率还可以进一步提高。从编码结果可以发现,不同测试序列编码前后的压缩比不同,这是由于测试序列图像的运动情况、背景变换造成的,如suzie序列背景单一,运动缓和,压缩比较高,而news序列由于背景不断变换,压缩比就相对较低。通过对比编码前和编码后解码得到的图像,画面无失真现象,图像质量并没有明显下降。
4 结 语
本文探讨了MPEG4编码器在DM642上的实现方案和优化的方法,实现了MPEG4编码的简单框架算法。实验结果表明,本文所提出的方案具有较高的易实现性和实用性,增加和改进的代码优化方法是有效的,性能测试获得了满意的效果。在此基础上,我们还可进一步对实现MPEG4高级框架和代码优化方法的改进,进行更深入地研究,以满足更高的应用要求。
线性汇编语言是C6000系列DSP所特有的一种编程语言,类似汇编,但不需要给出指令使用的功能单元、寄存器、并行性等细节信息,汇编优化器可根据代码情况自动确定。我们将代码中运算量大、调用频率高的关键部分用线性汇编进行了改写,如量化、DCT、SAD等模块,进一步优化了循环迭代、提高了指令的并行性效果。表2给出了改写前后几个函数模块程序对3帧foreman.qcif测试序列编码时消耗的时钟周期数对比。
3.3 存储空间的配置
DSP的片上存储空间有限,编码器要处理的大量视频数据(包括当前帧和参考帧等图像)必须放在片外,而CPU访问片外的速度要比访问片内慢很多。利用DM642的EDMA功能,CPU对前一帧数据编码的同时,通过ED-MA通道提前将片外的数据搬移到片上内存,二者并行工作,提高了数据由片外传输至片内的效率,可减少CPU等待时间。
3.4 实验结果
使用编码器对标准qcif格式(176×144)测试序列进行编码来测试编码器性能,其中news序列300帧,suzie序列150帧,foreman序列400帧,通过TI的集成开发环境CCS 2.0进行硬件仿真实验,在设定码率为100 b/s的条件下。
通过分析测试序列编码结果,编码器的编码速率达到25 fps以上,可以满足实时编码的要求。在传输码率降低的情况下,编码速率还可以进一步提高。从编码结果可以发现,不同测试序列编码前后的压缩比不同,这是由于测试序列图像的运动情况、背景变换造成的,如suzie序列背景单一,运动缓和,压缩比较高,而news序列由于背景不断变换,压缩比就相对较低。通过对比编码前和编码后解码得到的图像,画面无失真现象,图像质量并没有明显下降。
4 结 语
本文探讨了MPEG4编码器在DM642上的实现方案和优化的方法,实现了MPEG4编码的简单框架算法。实验结果表明,本文所提出的方案具有较高的易实现性和实用性,增加和改进的代码优化方法是有效的,性能测试获得了满意的效果。在此基础上,我们还可进一步对实现MPEG4高级框架和代码优化方法的改进,进行更深入地研究,以满足更高的应用要求。
DSP 编码器 视频监控 MIPS 电路 总线 仿真 C语言 相关文章:
- 全面解读 嵌入式DSP上的视频编解码(08-19)
- 基于ADSP-TS201S的图像采集处理系统(08-12)
- 基于Blackfin533的H.264编码(08-18)
- 图形液晶显示模块在嵌入式系统中的应用(09-02)
- 基于DSP和FPGA的电视观瞄系统设计(09-02)
- TI手提多媒体设备解决方案(09-23)