保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

TMS320C6201在MPEG-4视频解码器中的应用


VMB。帧内MB解码是以1块为单位作纹理解码,解出的纹理值在block[6][64]中,最后存入解码后宏块行缓存区内;2种帧间MB解码相同部分都是先解出运动矢量MV,根据MV进行运动补偿得到预测值存入解码后宏块行缓存区,再以块为单位进行纹理解码,解出残差值存入block[6][64]中,最后将block[6][64]加入到解码后宏块门缓存区中得到最后结果。不同的是,在解码MV时intraMB解出1个MV;而inter4VMB解出4个MV。因此,运动补偿时,一个按宏块做,一个按块做。另外还有一种情况,就是P-VOP中的MB没有被编码(not_coded=1),码流中没有此宏块的数据,应该MV=0、DCT系数全为0处理,即从前一帧同样位置处找到参考块作为当前宏块的结果。
  
  3.3存储器分配
  
  MPEG-4SVP解码器是在EVM板上编程实现的。由于TMS320C6201DSP片内数据存储空量只有64KB,而图像处理的数据量非常大,因此,合理有效地分析存储空间是解码设计中的关键问题。内部64KB存储空间内开辟了一些空间用于暂存解码中常用的一些信息,具体设置如表1所列。
  
  表1内部数据存储器空间分配
  
  全局变量所占空间/B变长解码(VLD)表4906Zig-Zag扫192VOL、VOP和MB的头信息108DC/AC预测和MB模式5560MV预测9504量化步长396解码输出缓存区(1个宏块行)8448输入的压缩码流缓存区10K
  合计
  
  38.3K
  输入的压缩码流和解码后的视频输出都存储在片外。输入的压缩码流在程序开始前由PC机传输到EVM板的外部存储器中保存,解码时分批将数据通过DMA方式复制到片内。片内设置1个压缩码流缓存区。解码后的视频序列存放在外部存储器中,在内部缓存1个宏块行,每解完1个宏块行后,就用DMA传输到外部存储器中。
  
  3.4程序优化
  
  (1)软件开发流程及开发工具
  
  整个程序的编写和调试按照C6000软件开发流程进行,流程分为:产生C代码、优化C代码和编写线性汇编程序3个阶段。使用的开发工具是TI的集成开发环境CCS(CodeComposerStudio)。在CCS下,可以对软件进行编辑、编译、调试、代码性能测试(profile)等所有工作。
  
  (2)程序优化措施
  
  为使程序优化,采取如下措施:
  
  ①为编写出优化的C程序,在编程时尽量按照C6000环境下支持的优化C的方法进行编程,这样有助于C编译器产生高效的汇编代码。
  
  ②使用TI提供的库函数,大大提高了编程效率。
  
  ③使用DMA传数,提高了CPU的效率。
  
  在解码程序中用DMA方式实现了下列数据的传输:
  
  *码流输入——码流从片外存储器传输到片内;
  
  *解码后的结果输出——解码完一宏块行后,将结果从片内传输到片外保存;
  
  *顶部和低部的填充;
  
  *运动补偿时,将在片外找到的参考块传输到片内。
  
  (3)采用线性汇编对某些程序段做进一步优化。
  
  为了提高代码性能,对影响应用程序的代码可以用线性汇编重新编写。
  
  3.5MPEG-4SVP解码器的特性及测试结果

《TMS320C6201在MPEG-4视频解码器中的应用(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/145636.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。