论文部分内容阅读
HEVC(High Efficiency Video Coding)视频编码标准于2013年1月正式成为最新一代的国际视频编码标准,它的成功发布将视频压缩效率进一步提高,促进了视频技术的发展。与上一代编码标准H.264相比,HEVC标准能够在保证视频质量的前提下,将视频压缩率提高为原来的两倍。但是,这种压缩率的大幅度提升是以复杂度的增加为代价的,这也在很大程度上增加了编/解码器的实现难度,特别是在解码器方面,码流复杂度的提升会直接影响解码时间,降低视频播放速度,制约HEVC标准的实际应用。为了减少计算复杂度的增加对HEVC解码器效率的影响,本文设计了一种基于CPU+GPU混合平台的HEVC并行解码框架,通过CPU与GPU之间良好的信息传递和有效配合来高效地完成解码任务。在这一解码框架中,我们将计算复杂度较高的图像重构部分,包括帧内/帧间解码环节,反量化、反变换环节,去块滤波(DF)环节以及样点自适应补偿(SAO)环节,用GPU进行并行处理。通过设计高效的并行算法充分利用GPU的众核特性,并行完成图像重构任务,大幅度提高图像重构环节的速度;而对于上下文依赖关系较强的码流解析和熵解码环节,则用CPU进行串行处理。进一步,在本文的解码框架中,CPU共设置了 4个线程进行并行处理,分别为主线程,从线程1,从线程2和从线程3,其中主线程负责整体的线程调度和与GPU的信息交流,从线程1负责码流解析过程,从线程2负责熵解码过程,从线程3负责视频播放。而GPU负责整个图像重构部分,通过CPU与GPU的有效配合实现码流解析,熵解码,图像重构以及视频播放四者的并行,成功的将解码一帧视频的时间减小到四个环节中耗时最长的一个环节的运行时间,从而极大地提高解码器的运行速度。本文利用CUDA(ComputeUnified DeviceArchitecture)语言实现了所提出的各个并行算法以及整个并行解码框架,并采用大量的不同分辨率的视频码流对该并行解码器进行了测试。实验结果表明,本文所设计的HEVC并行解码器能够显著地提高解码速度,且设计的各个并行算法性能良好。当利用CPU Intel Core TM 17-7700和GPU GTX1080解码超高清(3840×2160)视频时,该并行解码器的整体加速比可以达到75倍以上,解码重构的帧率可以达到55帧/秒以上,能够在保证视频恢复质量的条件下,大幅度提高解码速度,能够实现高清视频乃至超高清视频的实时解码重构。