基于ASICH.264编码器设计及其ADSP验证策略.docVIP

基于ASICH.264编码器设计及其ADSP验证策略.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文档。上传文档
查看更多
基于ASICH.264编码器设计及其ADSP验证策略

基于ASICH.264编码器设计及其ADSP验证策略   摘要:提出了H.264/AVC硬件编码器的一种3级流水结构,以此来提高硬件加速电路的处理能力和利用效率。鉴于H.264编码芯片验证的复杂性,还提出了一种基于ADSP-BF537的新型多媒体SoC验证平台,并讨论了如何利用BF537,对H.264编码芯片进行全面、高效的软硬件协同验证。   关键字:H.264编码器;硬件加速器;ADSP-BF537;软硬件协同验证;SoC   【中图分类号】TN919.81 【文献标识码】A      1 引言      H.264[1]标准颁布以来, 其提供的高效的压缩率以及优质的图像质量已经得到了广泛的认可, 应用H.264 标准的各种编解码器也不断涌现, 其应用也层出不穷, 从传统的数字机顶盒、视频会议系统、可视电话到IP 视频服务、个人媒体播放器( PMP)。由于H.264编码算法复杂,必须要有强劲有力的硬件作为支持。目前,基于各种芯片的H.264解决方案相继推出,在实现H.264实时编码的芯片当中,主要有以下几种方案:基于专用芯片的结构(SoC+ASIC);基于DSP+ARM的结构;基于x86的结构。但低成本、低功耗以及高计算能力一直是方案中互相冲突的因素,在这3个因素的相互制约下,各方案有其不同的效果。   本文采用基于专用芯片的结构,选用RISC CPU + 硬件加速电路的基本架构,在硬件编码器的流水设计上采用3级流水设计,以32位的MIPS核作为芯片内部编码控制单元,以满足内部编码运算处理、图像数据存取速度以及外部通信接口等方面的高指标要求。为了解决芯片内部不同模块间的高速互连访问,采用AHB总线将MIPS核与硬件加速电路、存储器控制模块相连。在H.264编码器的SoC功能原型验证上,本文提出了利用ADSP-BF537[2]作为处理器的验证方案,通过软件和硬件的并行运行,实时监控并判断硬件的结果,能方便快捷地完成H.264编码硬件加速器的功能原型验证和系统级验证,有效提高H.264编码器SoC设计验证的效率,缩短开发周期。      2H.264硬件编码器结构划分和流水设计      H.264 所获得的优越性能是以增加计算复杂度为代价的,据估计,H.264编码复杂度大约相当于H.263的3倍。H.264编码算法的几个特点如下:    (1) H.264的编码算法极度复杂,H.264引入了变块尺寸的运动估计,多参考帧,帧内预测[3],CAVLC,CABAC以及去块效应滤波等一系列的新方法来提高编码效率,但这也造成了VLSI实现时关键路径过长;    (2) 整数运动估计模块有极高的计算复杂度,需要进行大量的存储器读写,它占用了整个系统将近80%的数据传输和计算量;    (3) 由于块可变尺寸估计和多帧估计,给模式判决带来了大量的串行计算;    (4) 帧间预测引入了了多种模式,这降低了数据的独立性,给并行处理和数据公用带来困难。   上述的H.264编码算法的特点给H.264编码器硬件加速电路的设计带来了极大的困难,本节将讨论硬件加速电路的模块划分和流水线设计,尽可能实现并行处理和数据重用,从而满足实时处理的要求。   针对以往的视频压缩算法,编码器的硬件加速电路一般采取2级流水线的设计方法,如图1所示。      图12级流水线的硬件加速电路系统结构图      处理器负责处理宏块及更高级的控制,硬件加速模块ME(运动估计),REC(重构),EC(熵编码)和DPCM Loop(DCT/Q/IDCT/IQ)通过与总线相连来起到加快编码操作的作用。为了降低通过总线的数据量,对REC、EC和DPCM Loop模块的局部存储器进行共享,这几个模块又被称作BE(Block Engine)。整个流水线被分为ME和BE两级,其中ME模块占用了整个系统绝大多数的计算量和带宽。在进行处理时,首先ME模块按照光栅扫描(raster scan)顺序对宏块进行处理,在ME对当前宏块处理完成之后,BE模块接着对改宏块进行编码,而此时ME模块可对下一模块进行处理。    这种基于宏块的两级流水线结构应用在传统的视频编码器上又很好的表现,但它并不适合H.264编码算法。H.264的多帧预测和去块效应滤波算法造成了对带宽要求的急剧增加。例如在进行帧间预测时,编码芯片需要从片外存储器读取16x16个8比特编码数据,64x16个8比特参考点数据以及周边4个宏块的编码信息。每帧图像有720x576/256=1620个宏块,每秒需要编码30帧图像,先不考虑周边宏块的编码信息,则每秒需要读取的数据为(16x16+64x16)x1620x30 = 60Mbyte/s.采用各个硬件加速模块通过总线进行通讯的方式很难

文档评论(0)

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

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

1亿VIP精品文档

相关文档