论文部分内容阅读
随着视频应用的范围越来越广,视频编码标准也在不断更新换代,视频格式的不断变化带来视频数据量的增加,因此,一个性能良好的视频压缩标准就显得尤为重要。新一代视频编码标准H.265/HEVC在保证视频编码质量的同时,相较于之前的H.264/AVC编码标准能减少50%的码率,但是,它的复杂度也大幅度增加,导致编码速度慢。H.265官方给出的开源纯软件编码器HM采用串行实现方式,编码速度很慢但是没有版权保护很方便再开发。H.265编码技术中包含大量重复计算和可并行模块,同时,GPU是一款具有高度并行架构的显卡,十分适合并行计算,两者结合将会对编码速度有较大提升。本文在GPU平台上对H.265编码技术进行并行设计与实现,使用CUDA语言对HM编码器中的耗时模块进行重新编写,以达到提升编码速度的目的。首先,本文对H.265编码标准和编码关键技术进行了详细的分析,包括图像划分方式、整体编码框架、帧内预测、帧间预测以及变换与量化,并对GPU架构和CUDA体系作了详细叙述,为后续在GPU平台上进行实现奠定了理论基础。分析了HM编码器的运行框架和各个编码模块的耗时占比,选择了帧间预测、变换和量化作为本文进行并行实现的编码模块。然后,针对帧内预测模式选择算法复杂度高的情况,本文提出了一种帧内预测模式快速选择的方法,通过将33种角度预测模式进行区域划分,并利用高概率预测模式在划分区域中不断匹配,快速定位最优预测模式分布,在几乎不影响编码质量的前提下,减少了最优预测模式选取次数,降低了模式选择的复杂度;在帧间预测并行时,本文选择了预测准确度最高的全搜索算法,借助GPU并行的特点克服了算法本身计算量大的弊端,并在SAD计算环节使用由4x4块逐级向上叠加的方法完成所有尺寸块的计算,设计了映射函数将显存存储地址和块尺寸相对应;在变换和量化模块,本文使用行并行和列并行的方法完成了并行设计与实现,有效提升了编码速度。最后,本文在GPU(GeForce GTX 1080)平台上对并行设计后的H.265编码器进行了测试,并和CPU平台下的HM编码器进行了对比分析,对帧内预测模式选择的优化进行了测试验证,对帧间预测、变换和量化分别进行了独立耗时分析与对比,验证了编码器能够对视频序列进行正确编码,并在保证编码质量的前提下将整体编码速度提升了平均9倍的加速比。在H.265编码领域,尤其是在对编码性能要求高的情况下具有应用前景。