基于DSP的视频算法系统优化若干策略

最新更新时间:2013-05-27来源: 互联网关键字:DSP  视频算法  系统优化 手机看文章 扫描二维码
随时随地手机看文章
数字视频产品需求近些年出现猛增。主流应用包括视频通信、视频监控与工业自动化,而最热门的要算娱乐应用,如 DVD、HDTV、卫星电视、标清(SD)或高清 (HD) 机顶盒、数码相机与 HD 摄像机、高端显示器(LCD、等离子显示器、DLP)以及个人摄像机等。这些应用都向高质量的视频编解码算法及其标准提出巨大需求,目前主流压缩标准主要有MPEG2、MPEG4和H.264/AVC,而针对这些编解码标准有各种各样的实现方案。本文主要探讨基于TI 的C64系列DSP的视频解码算法标准系统优化过程中需要考虑的若干因素。

  TI的C64系列DSP以其强大的处理能力被广泛用于视频处理领域,然而由于大家对C64系列DSP的结构、指令、的理解程度不一样,造成算法实现时的效果有许多的差异。具体体现在实现算法时所使用的CPU的资源上。如实现H.264 MP@D1解码时所占用CPU的资源上,会有所差异,或者是所包含的算法工具子集上,如实现H.264 MP@D1解码时使用CAVLC而不使用CABAC。造成这些差异,主要原因有如下因素:算法关键模块的优化

  算法系统集成时Memory的管理

  算法系统集成时的EDMA的资源分配管理

  本文从这三方面逐步探讨算法优化集成中需要考虑的若干因素。算法关键模块的优化一般而言,对于目前主流视频解压缩标准都有类似的很消耗DSP CPU的模块,如H.264/AVC、MPEG4、AVS等编码中运动矢量搜索很占用资源,而且这些模块在整个系统实现过程中调用相当频繁,因此我们首先找出这些模块,这点TI的CCS提供了工程剖析工具(Profile),可以很快找到整个工程中占用DSP CPU资源最多的模块;然后对这些模块进行优化。

  对这些关键算法模块的优化我们分可以分三步进行,如图2所示,先认真分析这部分代码,并进行相应的调整,如尽量减少有判断跳转的代码,特别是for循环中,判断跳转会打断软件流水。使用的方法,可是使用查表或者使用_cmpgtu4、_cmpeq4等Intrinsics来代替比较判断指令,从而巧妙替代判断跳转语句。同时使用TI的CCS中所提供的#pragma提供编译器尽量多的信息,这些信息包括for循环的次数信息、数据对齐信息等。如果经过这部分优化无法满足系统要求,则对这部分模块使用线性汇编实现,线性汇编是介于C和汇编之间的一种语言实现形式,可以控制指令的使用,而不必特别关心寄存器、功能单元(S、D、M、L)的分配和使用,使用线性汇编一般会比使用C语言具有更高的执行效率。如果线性汇编还无法满足要求,则使用汇编实现,要编写出高并行、深软件流水的汇编需要经过画相关图,创建时序表(Scheduling table)等步骤,由于篇幅所限,这里就不熬述。

  表1使用方式 周期数

  C+Intrinsics83

  线性汇编74

  汇编57

  优化选项:-pm, -o3,基于C64plus内核,C+Instrinsics 是指在C中使用Instrinsics。

  表1是运动搜索中所需要的计算16×16宏块SAD值时,不同方式下所消耗的DSP CPU的周期数。由此可见,汇编实现所消耗的CPU的周期数最少,但前提是需要充分了解DSP CPU的结构、指令以及算法模块的结构,从而能够编写出高并行、深软件流水的汇编,否则有可能所写出的汇编还没有线性汇编或者C效率更高。为此一个行之有效的方法是,充分利用TI所提供的算法库中的函数,因为算法库中的函数都是已经充分优化过的算法模块,而且大都提供对对应的C、线性汇编和汇编源代码,并有文档进行API介绍。算法系统集成时Memory的管理由于在基于DSP的嵌入式系统开发中,存储资源特别是片内高速存储资源有限,在算法系统集成时Memory的管理对于提高整个系统的优化是非常重要的,这一方面影响数据的读取、搬移速度;另一方面还影响Cache的命中率,下面分程序和数据两方面分析。

  程序区:最大原则是将经常调度使用的算法模块放片内。为做到这点,TI的CCS中提供了#pragma CODE_SECTION,可以把需要单独控制存放的函数段从.text段中独立出来,从而在.cmd文件中对这些函数段进行单独物理地址映射。还可以使用程序动态的方式,将需要运行的代码段先调度进片内memory,如H.264/AVC中CAVLC和CABAC两个算法模块具有互斥性,因此可以将这两个算法模块放在片外而且对应于片内同一块运行区,在运行其中某一个算法模块之前,先将其调入片内,从而充分利用片内有限的高速存储区。程序区的管理考虑到一级程序Cache(L1 P)的命中率,最好将具有先后执行顺序的函数按地址先后顺序配置在程序空间中,同时对代码比较大的处理函数将其拆分成小函数。

  数据区:在视频标准编解码中,由于数据块都很大,如一帧D1 4:2:0的图像有622k大小,而且在编解码中都需要开3~5帧甚至更多的缓冲帧,因此数据基本上无法在片内存放。为此在系统的Memory优化管理中,需要开C64系列DSP的二级Cache(对于TMS320DM642用于视频编解码中二级Cache开64k的情况比较多)。同时最好将放片外的被Cache所映射的视频缓冲区的数据以128 byte对齐,这是因为C64系列的DSP的二级Cache的每行大小为128 byte,以128 byte对齐有利于Cache的刷新和一致性维护。算法系统集成时的EDMA的资源分配管理由于在视频处理中,会经常有块数据的搬移,而且C64系列DSP提供了EDMA,逻辑上有64个通道,因此对EDMA的配置使用对优化系统是非常重要的。为此可以使用下述步骤进行充分配置系统的EDMA资源。1. 统计系统中各种需要使用EDMA的情况及其大概需要占用的EDMA物理总线的时间,如表2所示:

  注意:该表针对视频通过视频端口(Video Port)(720*480,4:2:0,30Frame/s),音频通过McBSP(采样率为44k)进入DSP,压缩好的数据数率在2Mbps左右,数据通过PCI每488uS输出一个128byte的包(PCI口工作频率为33MHz),外挂SDRAM的时钟频率为133MHz,只做一个参考应用例子。 2. 统计好这些信息后,需要依据系统对各种码流实时性、及其传输数据块大小对各个被使用的EDMA通道进行优先级分配。一般而言,由于音频流传输块小,因此占用EDMA总线的时间短,而视频传输块比较大,占用EDMA总线的时间较长,因此将输入音频所对应的EDMA通道的优先级设定为Q0(urgent),视频的优先级设定为Q2(medium),输出码流所对应的EDMA通道的优先级设定为Q1(high),音视频算法处理中所调度的QDMA的优先级设定为Q3(low)。当然这些设定在真正系统应用中可能还需要调整的。实际的基于TI DSP视频算法优化集成过程,会是基于图1所示的步骤,先初步配置Memory,并选择相应编译优化选项,如果编译的结果已经可以达到实时性要求之后就结束后面的优化;否则开始优化Memory和EDMA的配置,从而提高对Cache和内部总线的利用率;如果还无法达到要求则通过剖析整个工程确定消耗CPU资源最高的代码段或者函数,对这些关键模块进行优化,采用线性汇编、甚至汇编直到整个系统可以满足要求为止。

关键字:DSP  视频算法  系统优化 编辑:神话 引用地址:基于DSP的视频算法系统优化若干策略

上一篇:EM310传输模块原理图
下一篇:智能家居监控系统设计方案

推荐阅读最新更新时间:2023-10-12 20:46

一种基于DSP的网络通信接口设计
DSP芯片是专门为实现各种数字信号处理算法而设计的、具有特殊结构的微处理器,其卓越的性能、不断上升的性价比、日渐完善的开发方式使它的应用越来越广泛。将计算机网络技术引入以DSP为核心的嵌入式系统,使其成为数字化、网络化相结合,集通信、计算机和视听功能于一体的电子产品,必须大大提升DSP系统的应用价值和市场前景。将DSP技术与网络技术相结合,必须解决两个关键问题:一是实现DSP与网卡的硬件接口技术,二是基于DSP的网络通信程序设计。DSP与网卡的硬件接口技术参考文献 有比较详尽的论述,以下主要讨论基于DSP的网络通信程序设计。   1 通信协议的制定   协议是用来管理通信的法规,是网络系统功能实现的基础。由于DSP可以实现对网卡的
[嵌入式]
一种基于<font color='red'>DSP</font>的网络通信接口设计
热敏打印机与高速数字处理器DSP的接口应用
摘要:分析了仪器仪表领域的发展趋势,详细介绍了微型热敏打印机的工作原理及应用,给出了热敏打印机同DSP的简单接口方法以及相应的打印机初始化程序。 关键词:微型热敏打印机;DSP;接口;程序 随着测试技术手段的不断发展,各种测量仪器仪表已经由最初的数码管显示发展到液晶屏全中文显示,由最初的手工抄写测量结果发展到自带微型打印机,到目前为止,在各种测量型仪器仪表中,或大或小都有一个打印子系统,打印机已经成为打印测量结果和实现人机对话的重要工具。微型打印机简称微打,是针对通用打印机而言的,这种打印机具有体积小、操作电压低等特点,是打印机家族中一个细小而特别的种类。目前微型打印机的应用越来越广泛,市场需求不断扩大。其中的热敏打印机由于具
[应用]
调度器在DSP编程中的应用
   一. DSP 介绍   DSP芯片,也称数字信号处理器,是一种具有特殊结构的微处理器。它的内部采用程序和数据分开的哈佛结构,具有专门的乘法器,广泛采用流水线结构,提供特殊的DSP指令,在一个周期内完成一次乘法和一次加法。在国外,DSP芯片已经被广泛地应用于当今技术革命的各个领域;在我国,DSP技术也正以极快的速度被应用在通信、电子系统、信号处理系统、自动控制、雷达、军事、航空航天、医疗、家用电器、电力系统等许多领域中,而且新的应用领域在不断地被发掘。因此基于DSP技术的开发应用正成为数字时代的应用技术潮流。相对于单片机,它速度更快,外设集成度更高,程序存储器更大。在《时间触发嵌入式系统设计模式》一书中详细介绍了基于单
[嵌入式]
基子DSP的高动态GPS接收机关键技术讨论
摘要:在高动态条件下,结合GEC公司的十二通道相关器GP2021,讨论了CPS接收机的结构设计和研制高动态CPS接收机所涉及到的关键技术,以及DSP在接收机中的功能。 关键词:高动态 GPS DSP GPS是美国建立的高精度全球卫星定位导航系统,在陆地、海洋、航空和航天等领域有着广泛的应用。而高动态GPS接收机则可应用于导弹、卫星、飞机导航等许多场合,但由于高动态GPS接收机涉及军工等敏感领域,故国外的相关技术或产品对我国是封锁的,有关高动态的核心解决技术在各种文献中也见之甚少,相关技术必须自主开发。 GPS接收机的实时动态性能、定位精度以及功能的丰富性与其所选用的CPU性能有很大关系。具有较大动态范围的接收机的实时运算量
[应用]
基于DSP和ARM的激光粒度仪关键电路设计
O 引言 激光粒度仪是一种最先进的、最具有广泛发展前景的粒度测量仪器,它的测量原理基于米氏(Mie)散射理论。Mie散射理论是一个经典的光散射理论,它最大的特点是可用于任何尺寸段颗粒的测量,但它的计算相当复杂限制了数据处理速度及精度。 DSP技术实现MIE散射算法有很多优点:它是专为算法计算而设计的专用CPU,所以它运算速度很快;与通用CPU相比它成本低,所以有很好的性价比;而且它的体积小,能实现仪器一体化等等优点。ARM具有丰富的片上资源,适合嵌入式系统的开发,主要负责操作系统的运行、任务管理和协调以及DSP的控制任务,外部可扩展多种外设,如通用串口、LCD显示屏、以太网接口。 1 系统总体设计及工作原理 1.1
[单片机]
基于<font color='red'>DSP</font>和ARM的激光粒度仪关键电路设计
电机控制系统优化协调控制技术研究
“电机控制系统的优化协调控制技术研究”通过国家电网公司组织的专家验收。 重大专项项目四“大电网优化协调控制技术研究”之课题3“电机控制系统的优化协调控制技术研究”由中国电科院、国网浙江省电力公司、国网甘肃省电力公司和国网电科院共同承担。随着我国大型能源基地和特高压交直流电网的快速建设,电力系统稳定特性出现新的特征,这对发电机组运行控制水平提出了更高的要求,项目研究提出了新型分频段PSS、五阶段励磁控制及高压侧电压附加控制等新的控制方法并研制成功样机。提出了发电机组保护和控制系统的协调配合方法,并在国家电网所辖1000余主力发电厂的网源协调相关参数核查与整改中应用,提高了网源协调水平。课题提出的发电机控制系统的优化协调方法在淮沪特
[嵌入式]
基于DSP的脱机视频编/解码系统
ADV611芯片是美国ANALOG DEVICES公司生产的一种利用小波算法对视频图像进行实时压缩/解压缩处理的编/解码芯片。该芯片不仅集成了视频编/解码算法,还提供了数据压缩效果的实时调节手段,数据输出速率可以灵活控制。本文介绍一种基于ADV611芯片、同时结合TI的DSP芯片TMS320C542实现的一种脱机视频编/解码系统。   在本脱机视频图像编/解码系统中,DSP作为控制核心,一方面要管理ADV611、存储器、外围控制单片机和通信接口,另一方面要对ADV611的图像压缩效果进行调节,对数据速率实时控制。DSP如何能高效地完成这些控制任务,是本视频编/解码系统实现的关键。由于TMS320C542具有高速的运算能力和丰富的接
[模拟电子]
基于<font color='red'>DSP</font>的脱机<font color='red'>视频</font>编/解码<font color='red'>系统</font>
利用TL16C750实现DSP与PC机的高速串行通信
    摘要: TL16C750是TI公司生产的异步通信芯片,在通信系统的实时性要求较高时,可通过扩展异步通信芯片TL16C750来实现系统的高速串行通信,从而增强系统的通信接口控制能力。文中介绍了TL16C750的性能及与通信有关的寄存器,给出了TL16C750在TMS320C50与PC机通信系统中的硬件应用电路及TMS320C50初始化TL16C750的软件编程。      关键词: 数字信号处理  通信接口  扩展  异步通信  TL16C750     通用数字信号处理器(DSP)以其很强的数据处理能力使其在高速数字信号处理方面得到广泛的应用,但是它的通信接口控
[应用]
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved