随着云计算和移动互联网技术的快速发展,3D游戏、3D动漫、远程视频教育以及远程视频会议等基于屏幕内容(Screen Content, SC)的视频应用越来越广泛[1]。屏幕内容视频和传统的自然视频不同之处在于它既可以包括由计算机直接生成的文字、图表、图形区域,又可以包括自然图像区域。因此,屏幕内容视频的特征体现在有大面积的平坦区域、较少的捕获噪声、重复的图案和字符、颜色种类有限的色彩、图像对比度高、有锐利的边缘等。因此,针对屏幕内容编码(Screen Content Coding, SCC)的HEVC-SCC编码标准[2-3]中增加了几项新的工具,分别为帧内块复制(Intra Block Copy, IBC)[4-5]、调色板模式(Palette Mode, PLT)[6]、自适应颜色变换(Adaptive Color Transform, ACT)[7-8]和自适应运动矢量分解(Adaptive Motive Vector Resolution, AMVR)[9]。其中,帧内块复制工具主要适用于屏幕内容包含的大量重复区域(如重复的文字区域),它打破了帧内预测只能从相邻块预测的局限性;调色板模式工具对于纹理复杂但是颜色数量有限的图形区域编码效果显著;而考虑到颜色成分之间的相关性,自适应颜色变换工具可以有效地提高编码效率,因为颜色空间转换可以帮助消除帧间颜色成分的冗余;而自适应运动矢量分解则主要用于解决一些屏幕内容中的整数值问题,有效节省比特开销。这些新的编码工具可以显著提升屏幕内容的编码效率,但同时也存在着并行性不足和编码复杂度较高等问题。
为了适用于不同的网络传输条件,对码率进行控制是视频编码的关键技术之一,用以提高编码时的带宽利用率,使编码性能更优。针对自然视频,研究人员提出了不少方法来进行码率控制。Song等人[10]在GOP(Group of Picture)级分别对Q域、ρ域以及λ域进行码率控制,降低误码率,提高率失真性能。Guo等人[11]主要在帧级利用已编码帧信息提高R-D模型,考虑不同GOP时域率失真相关性,进行合理的比特分配,提高码率控制精度,节省码率。Li等人[12]针对自然视频内容的特点,研究CTU(Coding Tree Unit)复杂度与模型参数之间的关系,先对模型参数进行估计,接着对于帧间CTU选择最佳方向作为参考CTU,最后更新相关的帧内模型参数,提高码率控制精度。可以看出,码率控制算法的实现主要分为两部分:目标码率分配和由目标码率确定量化参数。其中码率分配分为三个级别:GOP级、帧级以及CTU级。而对于屏幕内容,不少学者也相继开展了码率控制的研究工作。针对屏幕内容视频存在着许多不连续的非自然内容,部分帧与帧之间的跳跃性比较大的特点,Guo等人[13]通过引入滑动窗口工具来判断是否为突变帧,在帧级控制其比特分配过程,提高整个视频序列的质量。这种方法降低了用传统的视频编码方法引起的文本模糊和振铃效应。Wang等人[14]考虑到视频序列的帧间相关性,提出关键帧和非关键帧的概念,在帧级分别对两种不同帧采取不同的码率控制方法,降低了误码率,提高了率失真性能。文献[15]采用了带有预分析器的延迟约束方法,进行合理的比特分配,提高视频质量以及码率控制的精度。
以上这些方法能一定程度地提高编码器的编码性能,但并没有考虑到人眼视觉系统的感知特性,没有建立起码率和视觉感知的联系[16]。为了更有效地将码率用在更能体现屏幕内容视频质量的感知特性上,我们提取了表征屏幕内容视频特点的时空梯度感知特征,提出了结合时空梯度感知特性的HEVC-SCC码率控制算法。本文算法将感知特征在CTU级进行目标码率分配,然后根据R-λ和λ-QP模型[17]确定量化参数。实验结果表明,本算法能够有效降低误码率,节省码率开销的同时,提高视频的感知质量。
本文其他章节安排如下:第2节介绍屏幕内容视频感知特性的提取。第3节是本文提出的结合时空梯度感知特性的HEVC-SCC码率控制算法。实验结果在第4节中分析讨论。第5节给出结论。
根据人眼视觉系统(Human Visual System,HVS)可知,如果分别对纹理复杂块和纹理平坦块加入同样的客观失真,对于纹理平坦的块人眼很容易分辨出失真,而对于纹理复杂块的变化人眼则很难观察到。利用HVS的这种特点,在码率控制的时候可以对纹理复杂块分配较少的码率,而纹理平坦块分配更多的码率。
为了区分纹理复杂还是平坦,本文采用了在CTU级提取图像梯度幅值判断纹理复杂度的方法,获得屏幕内容图像中亮度分量的水平方向算子和垂直方向算子。计算方法如下:
GH=I(x+1,y)-I(x,y)
(1)
GV=I(x,y+1)-I(x,y)
(2)
其中I表示的是亮度分量,(x,y)表明像素的位置信息。
单个CTU中像素的梯度幅值(Gradient Magnitude, GM)以及整个CTU的梯度幅值计算如下:
G(x,y)=|GH|+|GV|
(3)
(4)
其中,M表示单个CTU中像素的数量。因此,当前帧的平均梯度幅值大小计算如下:
(5)
其中,N代表的是当前帧中所有CTU的数量。得到每个CTU以及整帧的平均梯度幅值之后,便可判断当前CTU块的纹理是相对复杂还是相对纹理平坦的,其判断方法定义如下:
(6)
其中,C1为实验经验值,此处设为20,其目的为了使得GMspatial值波动更小。从上述公式(6)中可以看出,如果GMspatial值越大,表示当前CTU纹理越复杂;反之,如果GMspatial值越小,则说明当前CTU纹理较为平滑。
针对屏幕图像,文献[18]提出了梯度相似(Gradient Similarity, GS)主观失真测量方法——结合梯度大小信息以及梯度方向信息来评价屏幕图像的感知质量。针对屏幕内容视频中存在着的较多锐利边缘的文字区域的特点,梯度方向和梯度幅值可以很好地反映屏幕内容的感知质量。
其中,梯度大小的计算过程和空域梯度的计算相似;而梯度方向信息可通过卷积核Ker (13×13)对梯度大小进行卷积得到,其计算方法如下:
D(x,y)=Ker⊗G(x,y)
(7)
图1 十二个不同方向的卷积核
Fig.1 The convolution kernels of twelve different directions
得到12个方向的梯度方向值之后,从中选择响应最强烈的一个方向作为所需梯度方向信息:
...11}
(8)
和空域特征提取一样,时域特征的提取也在CTU级进行,当前CTU的时域相邻的CTU的梯度大小和梯度方向计算如下:
(9)
(10)
其中,M表示的是单个CTU中像素总数。
在得到所有CTU的梯度大小和梯度方向后,可获得其梯度大小相似值以及梯度方向相似值,定义为[19]:
(11)
(12)
其中,MS为梯度大小相似值,DS为梯度方向相似值;GrCTU和GdCTU分别表示原始CTU和失真CTU的梯度大小,DrCTU和DdCTU分别表示原始CTU和失真CTU的梯度方向;CM和CD为两个常量值。
为了更好的表示出屏幕内容的相似性,将MS和DS进行融合,得到梯度相似性度量GS:
GS=MSu·DSν
(13)
u和ν表示的是梯度大小相似和梯度方向相似的重要程度。如果u=0,则说明只考虑梯度方向相似;如果ν=0,则说明将梯度大小相似作为感知信息。本文中,设定u=ν=1,认为梯度大小相似和梯度方向相似同等重要。
根据视觉感知的时域强相关性特征,我们可以根据已编码帧的相邻CTUi(i=1, 2, 3, 4, 5)感知特性来预测当前CTU0的感知特性。如图2所示。
图2 当前CTU和它时域相邻CTU示意图
Fig.2 The illustration of current CTU and adjacent CTUs in previous coded frame
这样,我们将当前CTU的GS与时域相邻帧相邻CTU的GS比值用于进行时域梯度的判断,定义为:
(14)
(15)
此处C2设为0.001,主要是为了防止分母为0溢出;其中, N代表的是时域相邻帧中所有CTU的数量,GSA-CTU表示时域相邻CTU的GS值,GSEAF为已经编码完成的时域相邻帧(Encoded Adjacent Frame, EAF)的GS值。从上式中可知,GStemporal值越大,表示时域相邻CTU的感知质量越好,即当前CTU的感知质量越好;反之,GStemporal值越小,则表示当前CTU的感知质量越差。
通过对上面CTU级的空域和时域感知特征的分析,可知GMspatial和GStemporal可以很好的表征屏幕内容视频的感知特征,GMspatial值越大表示当前CTU的纹理越复杂,GStemporal值越大则表示当前CTU的感知质量越好。对于纹理复杂且感知质量较好的块应该分配比较少的码率,相反,对于纹理平坦并且感知质量差的块应该分配更多的码率。因此为了更好地描述屏幕内容的感知特征,本文将空域和时域感知特征进行融合,然后根据最终所得感知特征来引导HEVC-SCC码率控制过程。定义如下:
GST=GMspatialδ·GStemporalμ
(16)
其中δ和μ表示的是空域特征和时域特征的重要性,本文中认为二者重要程度一样,因此设定δ=μ=1。由公式(16)可得,GST值越大,则说明当前CTU的纹理越复杂且感知质量越好,可以分配较少的码率。
本文主要利用公式(16)计算得到的感知特征对屏幕内容视频在CTU级进行比特分配。算法流程图如图3所示。
图3 HEVC-SCC码率控制流程图
Fig.3 Flowchart of rate control for HEVC-SCC
整体算法的具体步骤如下:
(1)对屏幕内容视频特征进行分析,屏幕内容视频中存在较多的重复文字区域并且有着锐利的边缘,因此,针对以上特点获得空域和时域感知特征用以引导码率控制。
(2)在不开码率控制情况下单独运行每种序列,得到所需要的目标比特。
(3)码率控制算法部分:
打开码率控制配置文件,输入目标比特,分别在原始算法与本文算法中运行。在本文算法运行过程中,首先通过融合时空梯度的感知特征在CTU级进行比特分配,而后根据R-λ模型和λ-QP模型确定最佳量化参数,达到提高误码率精度以及感知编码效率的目的。
当前CTU所能分配的码率由当前剩余的码率和当前CTU的感知特征所决定,定义如下:
(17)
其中,m表示还没有进行编码的CTU数量,Bleft为当前剩余的码率。
码率分配完成之后,要确定量化参数,以便有效地利用带宽资源。根据文献[17]中所提的R-λ模型和λ-QP模型,可得:
(18)
λ=α·bppβ
(19)
QP=4.2005·lnλ+13.7112
(20)
其中,bpp(n)为当前CTU的每像素比特数,w和h为当前CTU的宽和高,α和β为实验值,分别为3.2003和-1.367。
为了验证本算法的有效性,选择HEVC-SCC测试平台SCM- 8.7进行验证。此次实验所用视频测试序列为HEVC-SCC通用测试序列[20],如表1左栏所示。所有视频序列均为4: 4: 4采样格式,使用随机接入模式(Random Access, RA)对四种不同QP值(22, 27, 32, 37)进行测试。码率控制算法性能测量指标为误码率BRM(Bitrate Mismatch),BD-BR,BD-PSNR和BD-GS。误码率BRM计算方法如下:
(21)
其中,Rtar表示的是目标比特率,Ract表示已编码的实际消耗比特率。BD-BR表示在相同质量(感知质量或者客观质量)条件下,码率的变化情况(正值为码率增加);BD-PSNR表示在相同的码率条件下,屏幕内容视频客观质量的变化情况(正值为客观质量变好);BD-GS表示在相同码率条件下,屏幕内容视频感知质量的变化情况(正值为感知质量变好)。
表1统计的是本算法与原始算法的误码率比较数据。可以看到,和SCM- 8.7相比,本算法误码率略有降低。表2统计的是本算法与原始算法的码率控制性能比较结果。从表2可以看出,本文所提算法能够获得更好的视频质量PSNR以及视频感知质量GS。对于序列“web_browsing”,由于整个序列大都为纯文字区域,因此其BD-BR下降较多,而对于序列“console”,由于帧与帧间的变化较大,BD-BR略有提高。当以客观质量PSNR为指标时,BD-PSNR平均可以提升0.2742,BD-BR平均可以下降2.68;当以感知质量GS为指标时,BD-GS平均可以提升0.0071,BD-BR平均可以下降16.64。这说明了我们所提算法具有较好的码率控制性能。
图4给出了两个测试序列“SlideShow”和“console”的感知率失真曲线图,从图中可以看出,表示本文算法的虚线都在表示SCM- 8.7标准的直线上方。这说明在相同的比特率条件下,本文所提算法的感知质量与原始算法相比有所提升。
表1 本文算法与原始R-λ算法误码率(BRM)比较
Tab.1 BRM comparison between proposed algorithm and original R-λ rate control algorithm
SequenceTarget bitsSCM-8.7Bitrate(kbps)PSNRGSBRMProposedBitrate(kbps)PSNRGSBRMweb_browsing411.46412.6842.140.85890.30%412.6442.640.86990.29%317.28322.4038.790.83681.61%323.0338.850.79531.81%241.89246.3235.230.76421.83%246.0835.430.79291.73%178.72187.0831.390.68834.67%184.8929.920.67953.45%SlideShow666.98699.6845.990.91674.90%699.2346.060.91694.84%354.76413.2444.820.903116.48%416.9644.950.907117.53%213.67218.3039.230.85012.17%227.4240.500.87906.43%133.43138.0636.680.81563.47%137.5036.200.83383.05%
续表1
SequenceTarget bitsSCM-8.7Bitrate(kbps)PSNRGSBRMProposedBitrate(kbps)PSNRGSBRMmap5416.516945.3143.390.982828.22%7002.2943.570.984229.28%3491.094395.5038.640.949625.91%4337.5838.300.946524.25%2121.482427.1934.110.866714.41%2359.4833.680.868311.22%1166.761300.5530.920.711411.47%1294.9030.870.726410.98%programming4383.034407.3742.930.87880.56%4409.4343.350.88770.60%2318.692337.2639.820.86120.80%2335.7139.780.86620.73%1287.891301.2036.240.82941.03%1300.1836.200.82880.95%738.11740.6531.910.77940.34%740.5431.930.78830.33%console5666.225316.8845.210.94996.17%5871.5547.090.9593.62%4274.594488.8542.490.92455.01%4492.6442.540.93815.10%3298.463453.1838.130.88644.69%3454.3437.900.88754.73%2494.222555.1534.310.80232.44%2558.5334.540.81012.58%MissionControl-Clip34345.804364.8636.090.84130.44%4480.6937.980.89253.10%2856.382955.9632.310.80443.49%3061.8134.060.83167.19%1961.571986.6629.060.75291.28%2019.6630.970.77872.96%1355.501366.5326.270.72880.81%1367.7527.840.74880.90%Basketball_Screen9629.0610294.5240.610.82306.91%10216.3840.560.82536.10%5517.066081.3036.260.771910.23%6009.6636.260.77818.93%3487.563851.2232.610.726610.43%3818.7032.810.69759.49%2264.242526.4029.230.645611.58%2473.0029.310.67369.22%Average----6.49%---6.48%
表2 本文算法与原始R-λ算法码率控制性能比较
Tab.2 Rate control performance comparison between proposed algorithm and original R-λ rate control algorithm
SequencePSNRΔPSNRBD-PSNRBD-BRGSΔGSBD-GSBD-BRweb_browsing-0.17700.0141-0.72-0.0027-0.0013-79.94SlideShow0.25170.3382-0.490.01280.013-13.05map-0.1599-0.17822.220.00370.0046-5.46programming0.09400.0347-0.600.00560.0041-6.77console0.4820-0.04840.220.00790.00531.27MissionControl-Clip31.77931.6062-17.50.03110.0256-19.02Basketball_Screen0.05430.153-1.890.0019-0.00146.47Average0.33210.2742-2.680.00860.0071-16.64
图4 部分测试序列(左: SlideShow,右: console)的率失真曲线
Fig.4 Rate-distortion curves of some test sequences (left: SlideShow, right: console)
本文结合人眼视觉特性,分别在空域和时域提取屏幕内容的感知特征,并将时空梯度感知特征进行融合,用以指导编码器在CTU级的码率分配,进而根据R-λ和λ-QP模型确定最佳QP。实验结果表明和原始码率控制算法相比,本文所提算法能够获得更好的视频客观质量PSNR以及感知质量GS,在误码率稍微降低的同时,其率失真性能更优。
[1] Yu H, McCann K, Cohen R, et al. Requirement for an extension of HEVC for coding of screen content. Document MPEG2014/N12174, Jan. 2014.
[2] Liu S, Xu X, Lei S, et al. Overview of HEVC extensions on screen content coding[J]. APSIPA Transactions on Signal and Information Processing, 2015, 4.
[3] Xu J, Joshi R, Cohen R. Overview of the emerging HEVC screen content coding extension[J]. IEEE Transactions on Circuits & Systems for Video Technology, 2016, 26(1): 50- 62.
[4] Pang C, Sole J, Guo L, et al. Non-RCE3: Intra motion compensation with 2-D MVs. Document JCTVC-N0256, Jul. 2013.
[5] Chen J, Chen Y, Hsieh T, et al. Description of screen content coding technology proposal by Qualcomm. Document JCTVC-Q0031, Apr. 2014.
[6] Pu W, Karczewicz M, Joshi R, et al. Palette mode coding in HEVC screen content coding extension[J]. IEEE Journal on Emerging and Selected Topics in Circuits and Systems, 2016, 6(4): 420- 432.
[7] Zhang L, Xiu X, Chen J, et al. Adaptive Color-Space transform in HEVC screen content coding[J]. IEEE Journal on Emerging & Selected Topics in Circuits & Systems, 2016, 6(4): 446- 459.
[8] Marpe D, Kirchhoffer H, George V, et al. Macroblock-Adaptive residual color space transforms for 4: 4: 4 video coding[C]∥IEEE International Conference on Image Processing. IEEE, 2006: 3157-3160.
[9] Li B, Xu J, Sullivan G, et al. Adaptive motion vector resolution for screen content. 19th JCT-VC meeting, Strasbourg, France, document JCTVC-S0085, Oct. 2014.
[10] Song F, Zhu C, Liu Y, et al. A new GOP level bit allocation method for HEVC rate control[C]∥IEEE International Symposium on Broadband Multimedia Systems & Broadcasting. IEEE, 2017: 1- 4.
[11] Guo H, Zhu C, Li S, et al. Optimal bit allocation at frame level for rate control in HEVC[J]. IEEE Transactions on Broadcasting, 2018: 1-12.
[12] Li B, Zhou M, Zhang Y, et al. Model parameters estimation for CTU level rate control in HEVC[J]. IEEE MultiMedia, 2018: 1-1.
[13] Guo Y, Li B, Sun S, et al. Rate control for screen content coding in HEVC[C]∥IEEE International Symposium on Circuits and Systems. IEEE, 2015: 1118-1121.
[14] Wang C, Li J, Wang S, et al. A frame level rate control algorithm for screen content coding[C]∥IEEE International Symposium on Circuits and Systems. IEEE, 2018: 1- 4.
[15] Xiao J, Li B, Sun S, et al. Rate control with delay constraint for screen content coding[C]∥IEEE International Conference on Image Processing. IEEE, 2017: 10-13.
[16] Yang A, Zeng H, Chen J, et al. Perceptual feature guided rate distortion optimization for high efficiency video coding[J]. Multidimensional Systems and Signal Processing, 2016: 1-18.
[17] Li B, Li H, Li L, et al.(λ) Domain rate control algorithm for high efficiency video coding[J]. IEEE Transactions on Image Processing, 2014, 23(9): 3841-3854.
[18] Ni Z, Ma L, Zeng H, et al. Gradient direction for screen content image quality assessment[J]. IEEE Signal Processing Letters, 2016, 23(10): 1394-1398.
[19] Wang Z, Bovik A, Sheikh H, et al. Image Quality Assessment: From Error Visibility to Structural Similarity[J]. IEEE Transactions on Image Processing, 2004, 13(4): 600- 612.
[20] Yu H, Cohen R, Rapaka K, et al. Common conditions for screen content coding tests. Document JCTVC-Q1015, Valencia, ES, Apr. 2014.
丁佳军 男, 1995年生, 江西上饶人。华侨大学信息科学与工程学院硕士研究生。主要研究方向为图像和视频处理。E-mail: 1261758319@qq.com
陈婧(通信作者) 女, 1980年生, 福建厦门人。华侨大学信息科学与工程学院副教授, 博士学位。主要研究方向为图像处理和视频编码。E-mail: chengjing8005@hqu.edu.cn
曾焕强 男, 1984年生, 福建惠安人。华侨大学信息科学与工程学院教授, 博士学位, IEEE高级会员。主要研究方向为视频编码、图像处理、计算机视觉。E-mail: zeng0043@hqu.edu.cn
朱建清 男, 1987年生, 福建莆田人。华侨大学工学院副教授, 博士学位。主要研究方向为模式识别与机器视觉。E-mail: jqzhu@hqu.edu.cn
蔡灿辉 男, 1954年生, 福建泉州人。华侨大学信息科学与工程学院教授, 博士学位。IEEE高级会员, 信号处理分会委员, 电子学会高级会员。近年主要研究方向为图像处理、数字视频、模式识别、多媒体通信等。E-mail: chcai@hqu.edu.cn