关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 基于TMS320DM642和H.264的网络视频监控系统设计

基于TMS320DM642和H.264的网络视频监控系统设计

作者: 时间:2011-04-11 来源:网络 收藏

硬件系统的工作过程如下:首先是模拟COMS摄像头采集PAL制式的模拟视频信号。然后图像A/D转换芯片SAA7115HL会将模拟视频信号转换成数字视频信号并传输给中的EDMA控制器会先将从A/D转换器得到的视频图像存储到SDRAM中,等到TMS320DM6 42处理器已经准备好处理图像的时候,再从SDRAM中将图像取出来进行H.264格式的编码压缩。编码完成之后,会得到H.264的编码码流,这个时候,再利用RTP/UDP/IP的协议栈将H.264的编码码流进行逐层打包并通过EMAC接口发送到因特网上。

2 H.264编码器的优化
H.264的编码器是非常复杂的,所以,当我们用C代码实现其功能的时候,往往会面临实时性的问题,即处理器无法在1s内完成所要求的数据处理量。为了使视频远端显示连续,必需使处理器在1s内能够压缩编码并通过网络传输20帧以上的图像。但是,在写出第一版代码时,会发现处理器根本就无法达到要求,在1s钟之内,它只能处理5-6帧的图像,因此就必须对编码器进行优化,以求能够达到实时性。
一般来说,如果在DSP中实现H.264的编码器优化,那么优化过程主要分为四个阶段,分别是算法优化、C代码优化、线性汇编的优化、CCS编译器下的选项优化,它们被顺序的完成。在DSP中实现H.264编码器的优化过程见图2。

本文引用地址://m.amcfsurvey.com/article/162189.htm

b.JPG


H.264的编码算法主要有:帧内预测编码、帧间预测编码、DCT变换和量化、熵编码,其中最消耗时间的是帧间预测编码,它用的时间要占到整套算法运行时间80%左右,因此,帧间预测编码算法的优化也就成为H.264编码器算法优化的重点。
实现编码器C代码的优化,主要是注意在写C代码的时候要写出高效简洁的代码,使在能够保持算法基本功能的前提下,占用的处理器运算资源最少。如果C代码级优化完了之后,还不能满足实时性,就必须用到线性汇编的优化。线性汇编代码是对影响速度的关键C代码进行重写。线性汇编代码与C6000的汇编代码类似,不同的是线性汇编代码并不用像汇编代码那样要给出所有的信息,它可以对这些信息进行一些选择,也可以由汇编优化器确定,如指令使用的寄存器,指令使用的功能单元等,汇编优化器会根据代码的情况确定这些信息,并产生汇编文件。
在优化过程中,一般都会借助于编译器自带的优化功能进行优化。CCS中有优化选项,来帮助我们对代码进行进一步的优化。优化选项共有四个:o0、o1、o2、o3。o0级别的优化内容有:简化控制流图、分配变量到寄存器、进行循环旋转、删除未使用的代码、简化表达式和代码;o1级别的优化除了包括o0的内容外还有:执行局部复制/常量传递、删除未使用的赋值语句、删除局部共有表达式:o2级别的优化除了包括o1的内容外还有:进行软件流水、进行循环优化、删除全局共有子表达式、删除全局未使用的赋值语句、把循环中对数组的引用转变为递增的指针形式、进行循环展开;o3级别的优化除了包括o2的内容外还有:删除未使用的所有函数、内联小的函数、重新对函数声明进行排序、识别文件变量的特征。



评论


相关推荐

技术专区

关闭