论文部分内容阅读
视频分辨率正朝超高清方向发展,分辨率的提高可以提供更好的用户体验,但也使得编解码过程中的计算复杂度急剧增加,对其实时处理带来巨大挑战。新兴的CPU+GPU异构多核处理平台具有丰富的并行处理资源,如何利用多核处理器进行视频解码的并行加速,提高视频解码的吞吐率、减少延时是目前学术界和工业界的研究热点。近年来国内外对以H.264/AVC为代表的混合框架视频编解码器的并行优化研究工作有很多,其中很重要的一个策略是宏块级的并行技术,利用GPU的硬件特性来挖掘和实现解码器中宏块潜在的并行,提高解码器的效率,对于满足当今高分辨率实时解码的需求是具有很重要的意义的。在分析宏块级数据依赖以及并行空间的基础上,提出了基于GPU的H.264宏块级并行优化方案。为了解决已有基于GPU的像素级并行解码优化方法存在的较大的数据传输开销问题,提出的方案以宏块为粒度结合2D-Wave的思想和H.264解码器各模块的特点实现并行解码,让GPU完成更多的解码模块,实现数据复用,有效隐藏传输开销,提高解码效率。考虑到解码过程中由于宏块之间的计算开销各不相同,存在线程同步开销,提出了2D-Wave和宏块解码计算复杂度预测相结合的并行策略来减少线程同步开销。参考已有的对帧级解码复杂度预测的相关研究方法,通过分析影响宏块解码各个模块计算复杂度的因子,提出了适合该策略的宏块解码计算复杂度预测模型。最后结合CUDA编程模型,确定CUDA线程与宏块数据的映射关系,实现宏块级GPU解码并行。实验结果表明,尽管在整体上没有加速,但是针对已有的GPU并行策略传输开销过大的问题,有效解决了内存传输开销的问题,实现了GPU上的数据的复用。