(西安电子科技大学 ISN国家重点实验室,西安 710071)
视频压缩的最终目的是占用较少的资源,获得较高的视频质量。实际应用中,考虑可用资源受限的条件下,为使接收端获得质量最好的恢复视频质量,码率控制成为视频编码器的重要组成部分[1]。码率控制是指为编码器确定编码参数对视频进行编码,使得接收端恢复视频的质量在信道带宽、编码器缓冲区大小等受限的条件下尽可能高。目前,H.264/AVC[2]的参考软件[3]将JVT-G012[4]和JVT-W042[5]作为其推荐使用的码率控制方案。
现有的码率控制机制普遍通过建立码率-量化步长(R-Qstep)模型[6-9]为编码器确定编码参数,比如JVT-G012和JVT-W042采用的二次模型[7]。在H.264/AVC中,量化步长不能直接作为编码参数。通过R-Qstep模型确定量化步长后,需要将量化步长转换为量化参数才能对视频进行编码。由于Qstep到QP的转换过程存在舍入误差,采用R-Qstep模型进行码率控制会使最终确定的QP所对应的量化步长与计算所得的量化步长之间存在差异,进而使得编码码率与目标码率之间存在大的偏差、编码器缓冲区状态产生大的波动,并使恢复的视频质量下降。本文通过理论推导与实验验证得到码率(R)与QP的直接对应关系,提出了R-QP模型,并利用该模型进行速率控制。仿真结果验证了所提模型的准确性。
视频失真与编码码率之间的关系为[10]
(1)
式中,D为编码视频的均方误差(Mean Square Error,MSE)失真,δ和r为模型参数,RT表示纹理信息编码比特数。恢复视频的峰值信噪比(PSNR)与D之间的关系为
P=10×lg(2552/D)
(2)
式中,P为恢复视频的PSNR。分别对式(1)、式(2)左右两边同时取对数并联立可得:
2×lg255-0.1·P=(1-2r)·lgRT+2·lgδ
(3)
进而有式(4)成立:
P=algRT+b
(4)
式中,a和b为模型参数。式(4)表明P与lgRT之间存在线性关系。文献[11]中指出,P与QP之间存在着线性关系,则得:
lgRT=α·QP+β
(5)
式中,α和β为模型参数,QP表示量化参数(QP)。式(5)表明lgRT与QP之间存在线性关系。
为验证式(5)所示的模型,表1统计了不同序列的lgRT与QP之间的相关系数。由表1可以看出,相关系数的绝对值几乎接近1,表明lgRT与QP之间存在线性关系,证明了本文提出模型的正确性。
表1 lgRT与QP之间的相关系数统计结果Table 1 The statistical results of the correlation coefficient between lgRT and QP
本文依据相邻帧之间的相关性确定当前帧的QP。用Rttbe(i,j)表示第i个GOP中的第j帧的目标纹理信息编码比特数(The Number of Target Texture Bits Encoded,Rttbe),Ratbe(i,j)表示第i个GOP中的第j帧的实际纹理信息编码比特数(The Number of Actual Texture Bits Encoded,Ratbe),QP(i,j)表示第i个GOP中的第j帧的量化参数。每个GOP中前两帧的QP按照已有的方法确定。对第i个GOP中的第j(j>2)帧确定QP的具体方法如下:
(1)判断当前帧的前两帧的QP是否相同。若QP(i,j-1)不等于QP(i,j-2),则直接利用前两个已编码帧的数据,计算R-QP模型的参数α和β,如式(6)、(7)所示,继而可计算出当前帧的QP。
(6)
β={QP(i,j-1)×lg(Ratbe(i,j-2))-
QP(i,j-2)×lg(Ratbe(i,j-1))}·
{QP(i,j-1)-QP(i,j-2)}-1
(7)
(2)若QP(i,j-1)等于QP(i,j-2),首先采用式(8)检测已编码帧的QP是否准确,若式(8)成立,即已编码帧的目标比特数的均值和实际编码比特数的均值之间的差值小于门限值T1,则说明已编码帧的QP选择较为合理,进而可以采用滑动窗口中的数据计算当前帧的QP。
(8)
式中,K为滑动窗口的长度,实验中取值为5。
其次,依据式(9),在滑动窗口记录的各帧实际编码比特数中寻找与当前帧目标比特数最相近的帧:
(9)
若当前帧的目标比特数和第j-m帧的实际编码比特数的差值小于门限值T2,如式(10)所示,根据相邻帧之间的相关性,可以采用第j-m帧的QP对当前帧进行编码:
|Rttbe(i,j)-Ratbe(i,j-m)| (10) 若式(8)或者式(10)不成立,则通过判断前一帧的实际纹理信息编码比特数Ratbe(i,j-1)与当前帧的目标纹理信息编码比特数Rttbe(i,j)的大小,确定当前帧的QP,如式(11)所示: (11) 分别采用本文提出的模型与JVT-W042(记为“JM RC”)进行测试。在不同目标码率条件下,通过比较编码码流的缓冲区状态、实际编码码率以及恢复视频的PSNR验证提出模型的有效性。实验中采用H.264/AVC 参考软件JM15.1[3]为实验平台进行码率控制。采用IPPP编码结构,GOP长度选为30,qcif序列的目标码率分别为18 kbit/s、24 kbit/s、36 kbit/s和48 kbit/s,cif序列的目标码率分别为64 kbit/s、96 kbit/s、144 kbit/s和168 kbit/s。在码率控制中,缓冲区大小Bs设置为目标码率,当缓冲区占有度Bc大于Bs的0.8倍时,进行跳帧处理。 图1比较了提出的模型与JVT-W042的缓冲区占有度。由图1可以看出,提出的模型其缓冲区占有度比 JVT-W042的缓冲区占有度小。 (a)carphone(48 kbit/s) (b)foreman(64 kbit/s) (c)carphone(72 kbit/s) (d)foreman(120 kbit/s)图1 缓冲区占有度之间的比较曲线Fig.1 Comparison curves of the current buffer fullness 图2给出了采用提出的模型与JVT-W042进行码率控制后的恢复视频质量PSNR的比较。由图2可以看出,与JVT-W042相比,提出的模型其PSNR变化较为平缓,质量更加稳定。由于JVT-W042码率控制不够准确,使得缓冲区占有度较大,出现跳帧,从而,导致了视频质量的急剧下降。 (a)carphone.qcif(48 kbit/s) (b)foreman.qicf(64 kbit/s) (c)carphone.cif(72 kbit/s) (d)foreman.cif(120 kbit/s)图2 PSNR比较曲线Fig.2 Comparison curves of PSNR 表2和表3分别给出了qcif和cif序列在采用提出的模型和JVT-W042进行码率控制之后的实际编码码率和恢复视频的PSNR,其中,ΔPSNR表示提出模型的平均编码质量的增益;Bpa表示实际编码码率与目标码率之间的相近程度,可由式(12)计算得到: Bpa=(1-|T-A|/T)×100% (12) 式中,T表示目标码率,A表示实际编码码率。 由表2和表3可知,与JVT-W042相比,采用提出的模型进行码率控制,得到的恢复视频的质量有所提高:对于qcif格式的序列,PSNR平均提高了1.21 dB;对于cif格式的序列,PSNR平均提高了1.72 dB;对于这两种序列,PSNR平均提高了1.46 dB。此外,提出模型的编码码率要比JVT-W042的码率更接近目标码率。 表2 提出的模型和JM RC 的PSNR以及RATE统计结果Table 2 The statistical results of PSNR and RATE gained by the proposed model and JM RC 表3 提出的模型和JM RC 的PSNR以及RATE统计结果Table 3 The statistical results of PSNR and RATE gained by the proposed model and JM RC 为提高视频编码器码率控制的性能,本文提出了一种码率-量化参数模型。该模型能够直接确定量化参数,避免了已有算法中通过量化步长确定量化参数的过程中的舍入误差。实验结果表明,提出的模型可以使缓冲区占有度更小,实际编码码率更接近目标码率,视频质量波动更小。此外,与H.264/AVC采用的码率控制机制相比,提出的模型可以获得更高的PSNR。由于该模型具有良好的性能,可广泛应用于各种速率控制算法以及其它使用率失真模型的场合,以提高视频编码器的率失真性能。 参考文献: [1] Chen Z C, Ngan K N. Recent advances in rate control for video coding [J]. Signal Processing,2007,22(1):19-38. [2] ITU-T Recommendation H.264 and ISO/IEC 14496-10 AVC Standard,Advanced Video Coding for Generic Audiovisual Services[S]. [3] Heinrich-Hertz-Institute. JVT Reference Software Version JM15.1 [CP/OL].(2009-7-07) [2010-06-20]. http://iphome.hhi.de/suehring/tml/download/old-jm/jm15.1.zip. [4] Li Z G, Pan F, Lim K P,et al. Adaptive Basic Unit Layer Rate Control for JVT [DB/OL].[2010-06-20]. http://wftp3.itu.int/av-arch/jvt-site/2003-03-Pattaya/JVT-G012r1.zip. [5] Leontaris A, Tourapis A L. Rate Control Reorganization in the Joint Model (JM) Reference Software [DB/OL]. [2010-06-20]. http://wftp3.itu.int/av-arch/jvt-site/2007-04-SanJose/JVT-W042.zip. [6] Chiang T,Zhang Y Q. A New Rate Control Scheme Using Quadratic Rate Distortion Model [J].IEEE Transactions on Circuits and Systems for Video Technology,1997,1(7):264-250. [7] Lee H, Chiang T, Zhang Y. Scalable rate control for MPEG-4 Video [J].IEEE Transactions on Circuirts Systems on Video Technology,2000,10(6):878-894. [8] Wang N,He Y. A New Bit Rate Control Strategy for H.264 [J]. ICICS-PCM,2003, 15(18): 1370-1374. [9] 万帅,常义林,杨付正,等.一种新的视频编码二次率失真模型及其性能分析[J].电子与信息学报,2007,29(5):1136-1139. WAN Shuai, CHANG Yi-lin,YANG Fu-zheng,et al. A New Quadratic Rate Distortion Model for Video Coding and Its Performance Analysis [J]. Journal of Electronics & Information Technology,2007,29(5):1136-1139.(in Chinese) [10] Choi J. Distortion Policy of Buffer-constrained Rate Control for Real-time VBR Coders [J]. IEEE Transactions on Image Processing, 1999, 8(4): 537-547. [11] Wang H, Sam K. Rate-Distortion Optimization of Rate Control for H.264 With Adaptive Initial Quantization Parameter Determination [J]. IEEE Transactions on Circuits and Systems for Video Technology,2008,18(1):140-144.4 实验结果
5 结 论