论文部分内容阅读
高效视频编码HEVC是继H.264/AVC之后的新一代视频编码国际标准,标准规定了编码后比特流的句法结构和对应解码器,而对于编码器的结构和实现模式没有具体的要求。这种开放性使设计者可以根据实际应用的需求灵活地制定编码策略,在特定码率下实现最优的编码性能。率失真优化是视频编码中一项非常重要的技术,其用于选择编码参数并实现编码失真与编码所需比特数的平衡。码率控制是视频编码系统中不可缺少的重要模块,其控制编码器输出特定的码率以满足信道传输带宽及存储设备存储空间的要求。本文就是以HEVC编码器为平台,通过深入分析视频编码中的率失真依赖关系,探讨视频编码优化和码率控制这两个重要的问题。具体的研究内容和创新点包括以下几个方面:(1)HEVC编码器通过计算最小率失真代价独立地为每个基本编码单元选择包括编码模式、运动矢量、参考帧和量化变换系数等编码参数。像素预测和运动矢量预测等技术的应用使不同编码单元之间存在着率失真依赖性,因此对当前编码单元的编码决策将影响到后续编码单元可达到的最大率失真性能。为了能更好地把这种率失真依赖性应用到视频编码优化和码率控制的设计中,本文首先研究了HEVC中不同层级编码单元的率失真特性和率失真依赖性。通过理论分析和实验统计得出,幂函数形式的R-D模型能非常好地表示不同层级编码单元的可操作率失真曲线;率失真依赖关系中,时域依赖较显著,而空域依赖不明显;参考像素的失真对后续编码失真影响较大,而对码率影响较小。(2)通过分析编码帧与参考重建像素的率失真依赖关系,以及编码帧中不同编码块对后续编码过程的率失真影响强度,提出一种基于率失真依赖性的二次编码优化方法。该算法对每一帧进行连续的两次编码,第一次按照原始HEVC的量化参数设置进行简化的帧间预测编码,但不输出码流,以此获得用于度量率失真依赖强度的帧级和块级影响因子;然后利用这些信息确定新的量化参数及拉格朗日乘子进行第二次编码,并正常输出码流及存储重建图像。实验结果显示,本文的二次编码优化方法在低延迟B帧和P帧编码配置下分别平均达到了5.1%和5.3%的码率节省,其编码复杂度平均只增加了23%。(3)针对传统码率控制方法往往会降低编码器率失真性能的问题,本文提出一种基于全局最优准则的帧级比特分配及帧级码率控制算法。首先,通过分析HEVC低延迟编码结构,提出了一种精确的帧级R-D模型估计方法。其次,根据视频序列中不同GOP在编码中的率失真重要性,提出改进的GOP层比特分配方法。然后,从全局率失真优化的视角建立了码率控制下的最优帧级比特分配方程,结合帧级R-D模型和GOP级的比特预算最终实现了最优帧级比特分配及码率控制。该方法在实现精确码率控制的同时,显著地改善了编码器的率失真性能。与不开启码率控制的HEVC基准编码器相比,在低延迟B帧和P帧编码配置下,本文方法获得了平均3.2%和3.7%的率失真性能改善。(4)为了进一步提高比特率控制精确度和编码性能,本文提出了一种基于块间时域依赖性的CTU级码率控制方法。首先,基于率失真优化理论建立了CTU级的全局优化公式,表述为一种加权拉格朗日乘子法,其加权系数与当前CTU的时域失真传播因子相关。然后,提出了一种精确的CTU级R-D模型估计方法。最后,结合CTU的R-D特性和时域失真传播因子建立了一个CTU级最优比特分配方程,其优化目标是在当前帧比特预算约束下最小化编码视频的失真,而不是最小化当前帧的失真。此外,在编码一帧的过程中提出了两种不同的码率控制策略用于减小当前帧的编码比特数与预算比特数的差异,分别称为松弛约束算法和严格约束算法。其中,严格约束算法达到了极高的码率控制精确度,相比于不开启码率控制的HEVC基准编码器获得了3.7%和4.2%的率失真性能提升;而松驰约束算法的码率控制精确度略低于严格约束算法,但实现了5.1%和5.4%的率失真性能提升。