- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用高AVC结构设计H.264AVC解码器动态补偿模块
利用高AVC结构设计H.264AVC解码器动态补偿模块
摘要:在本文,我们提出了一个基于分块聚类的方法来减少H.264/AVC解码器里面的动态补偿模块存储器存取的次数。利用将在一个宏区块内可能重用的4×4单元块分组来分享载入的参考数据,而存储器存取的次数能被有效地减少到平均70%。此外,在访问外部SDRAM时采用指令重新排序减少预充电(Precharge)/激活(active)的次数可以达到原来的6 0%。从我们的仿真结果可以看到,处理一个宏区块总的存储器存取的次数低于4 00次。这个方法对动态补偿模块硬件设计的不同面积大小的内部存储器是可调整的。
关键词:分块聚类;动态补偿;H.264/AVC解码器;SDRAM;宏区块;指令重新排序
1 简介
H.264/AVCm比较过去其他的标准,特别支持了亚像素(sub-pixel)帧间预测解码以及变尺寸块(variable block aize)动态补偿来达成更好的编码效率。然而,变尺寸块动态补偿也造成需要使用较高的存储器带宽的问题。举个例子,对一个1920×1080@30fps格式的H.264/AVC比特流解码,动态补偿需要388MBps的存储器带宽来处理所有的4×4单元块。基于我们的仿真结果看来,动态补偿模块在整个H.264/AVC解码过程里占了超过70%的存储器带宽。
多项研究提出减少动态补偿带宽需求的办法。一般来说能够分为两大类:利用减少外部内存访问次数以及利用减少外部内存访问延迟。Tsai et al.提一种重复使用加窗插值(interpolationwindow)方案来分享同一个分区里重叠数据。然而,这个办法当临近的单元块是不同的运动矢量时,不能重复使用参考数据。Zhang et al.根据编码器的“模式抉择”来重复使用参考数据,但是这个重叠的参考数据在P_4×4模式(也就是说四个具有不同运动向量的4×4单元块)是无法被重复使用的。Zhu et al.提出一种针对H.264解码器优化的SDRAM控制器来减少因为预充电/激活所引起的泡沫循环(bubble cycle)。然而如果SDRAM被其他模块分享的话,专用的SDRAM控制器将很难整合到系统内。几种基于快取(cache)的设计也被提出,以减少存储访问延迟,然而这样的设计增加了芯片内存储器的面积。
本文提出了一种基于分块聚类的方法来减少存储器访问次数,也就是说在一个宏区块???,我们以4×4单元块为基本处理单元,并尽可能重复利用所载人的参考数据来减少存储器访问次数,如果选择64字内部存储器,存储访问次数平均可以减少到70%。
此外,我们知道因为访问SDRAM里面同一个块(bank)不同的行(row)一定要做预充电/激活的动作,通过一种指令重新排序的方法来减少SDRAM预充电/激活的频率在本文也被使用到。这个方法降低的比例平均在60%。处理一个宏区块总的存储器存取的次数低于400周期(包括了外部与内部的存储访问)。
2 问题陈述与分析
在H.264/AVC解码器的硬件设计中,动态补偿模块的高存储带宽需求主要来自6-tap亚像素帧间预测解码以及变尺寸块等因素。为了解决变尺寸块因素,一个典型的做法就是基于4×4的处理单元做补偿设计。一般来说,处理一个4×4的单元块需要为了内插而载入9×9像素,这就需要1296次访问来载人参考数据(如9×9×16)。表1总结了对于不同的宏区块分区类型(P)相应的参考数据载入周期(r)。一般来说,相较于4×4分区类型而言,愈大的宏区块分区类型需要较少的参考数据载人周期(就是较小的α)。例如,相较于处理16个4×4单元块的载人周期,处理1个16×16单元块只需其34%。
由于处理4×4宏区块分区类型需要极高的加载周期,如何分享4×4宏区块分区类型间的参考数据是极重要的。表2总结四个分离的4×4单元块在z扫描顺序(Z-scan order)下必要的参考数据大小,其中W_p8和H_p8是根据相应的运动矢量得到的平均宽度和高度。
图1描述一个例子,其中W_p8是10而H_p8是9。注意到由于6-tap插入的原因,实际载人的参考大小将会是15×14。
如表2所列,平均参考大小接近8×8。这说明了重叠的参考数据能被重复使用以减少前述过高的载入因素(也就是说α是减少的)。表3进一步总结了变块尺寸的百分比。P_skip和P_16×16模式占了超过50%。由于16×16宏区块分区类型相较于4×4宏区块分区类型的低数据载入周期,是非常值得去分享所有重叠的参考数据。
3 我们所提出的高效带宽架构
为了支持变尺寸块从4×4到16×16分区类型的数据重复使用,我们提出了一
文档评论(0)