ADSP-BF533上H.264解码器优化实现.docVIP

ADSP-BF533上H.264解码器优化实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ADSP-BF533上H.264解码器优化实现

ADSP-BF533上H.264解码器优化实现   [摘 要]本文简要介绍了视频压缩新标准H.264后,着重介绍了在Blackfin ADSP-BF533数字信号处理芯片上使用汇编语言实现的H.264(Base Line)视频解码器算法及其优化结果。在ADSP-BF533 EZ-KIT LITE开发板卡上进行测试表明,该解码器达到了CIF序列实时的解码效果。   [关键词]H.264,解码器,BF533,算法优化      1.引言      信息时代对于视频通讯的需求越来越广,从较低码率的可视电话、视频会议、实时监控到高码率的数字电视等,迫切要求将高效率、高质量的视频压缩算法实用化。H.264于2003年正式成为国际标准后,其应用范围并不断地扩大,将逐渐为视频压缩编码的主流标准。与以前的视频标准相比,H.264可以提供更高的压缩效率、更好的交互性以及更强的抗误码能力。   在实际应用中,更多的是H.264解码器的应用,如数字高清电视、移动视频业务等。本文基于ADI公司的Blackfin系列DSPs设计并实现了一种H.264解码器,实现了对CIF分辨率(352x288)图像序列的实时解码,且在保证输出码率在384-512kbps的同时,解码图像具有较高的峰值信噪比和较好的视觉效果。   本文介绍了基于Blackfin ADSP-BF533的H.264视频解码器的实现过程,以及如何利用Blackfin的系统资源及其特殊DSP指令来高效实现解码器功能。在设计中,采用了ADSP―BF533 EZ-KITLITE板卡作为DSP处理平台,在实现H.264解码的基础上对程序的性能进行了全面的优化。目前,对于CIF图像序列的H,264 (BaseLine)码流,解码速度达到25-40帧/秒。      2.Blackfin DSP的结构      ADI公司的Blackfin系列DSP结合了双MAC(乘法累加器)、正交RISC微处理指令集和动态电源管理部件,用以实现对处理器电压和频率的实时调整,从而使得DSP的功率消耗和处理性能的实时性达到最优,非常适合应用于实时视频编解码器,尤其是对功耗要求严格的无线视频处理的应用场合。ADSP-BF533是其中的一款高性能的处理芯片。   针对本文的H.264解码器应用,我们关注的是Blackfin ADSP-BF533的以下这些特点:   关于CPU,BF533具有16位定点DSP内核,可以采用600MHz的持续工作时钟,小型寻址空间为4GB;关于存储器,BF533的Ll指令存储器包括80KB SRAM,其中16KB可配置成4路联合Cache,u数据存储器包括2个32KB SRAM的BANK,每个BANK均由2个16KB SRAM组成,其中1个16KB可配置成Cache;关于I/O接口,BF533支持12通路DMA操作,支持片外同步或异步存储器;关于功耗,BF533的核心供电电压为0.7-1.2V,I/O部分为3.3V。      3.基于Blackfin的H.264解码器的优化实现      JVT提供的H.264的C语言开放源码(JM86)是我们在BF533实现H.264解码的起始模板程序。为了适应DSP运行环境和实时处理的要求,不仅需要对其在代码结构上加以改进,而且在具体的核心算法上也需要做大的改动,才能达到上述要求。这些优化工作主要包括:去除冗余代码、规范程序结构、调整全局和局部变量、调整结构体、等等。      3.1 H.264解码算法的系统优化   在ADSP-BF533上实现H.264的解码算法需要修改PC机上C语言编写的H.264代码,使其符合DSP中的C的规范。这些改动包括:去除文件操作,改成缓存空间管理;合理安排内存空间的预留和分配;规范数据类型~因为BF533是16位定点DSP内核,不支持浮点类型;把常用变量从结构中提取出来,设置为全局变量,并将其放置在L1数据存储器中,提高了数据读写速度;打开Cache,提,高解码速度;设置目标文件doj文件在代码段中的位置,将不常用到的代码段放置在片外sdram中,以节省片上空间供调用频繁的代码段使用:函数参数调整,做好汇编优化函数的接口参数等。      3.2 H.264解码的算法优化   经过系统优化,可以在DSP上实现H.264的解码算法,但是,这样实现的算法效率很低,经测试,解码速率仅为2帧/秒。因为所有的代码都是由C语言编写,并没有完全利用DSP的特点。所以必须结合DSP本身的特点和汇编语言,对其进行算法优化和模块汇编优化。才能实现H.264视频解码器对视频图像的实时处理。算法优化包括拆开循环,更加便于汇编优化,尽量改写if-else语句等。      3.3 H.264解码

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档