一种基于视觉感知的H.264码率控制算法

2014-06-01 09:31杨宜民蔡述庭
图学学报 2014年5期
关键词:码率控制算法比特

田 波, 杨宜民, 蔡述庭

(1. 铜仁学院数学与信息工程系,贵州 铜仁 554300;2. 广东工业大学自动化学院,广东 广州 510090)

一种基于视觉感知的H.264码率控制算法

田 波1,2, 杨宜民2, 蔡述庭2

(1. 铜仁学院数学与信息工程系,贵州 铜仁 554300;2. 广东工业大学自动化学院,广东 广州 510090)

针对目前视频编码标准H.264的码率控制算法未考虑人眼视觉感知、易导致编码后视频图像质量波动的不足,提出了一种基于视觉感知的H.264码率控制算法。首先,设计了像素域的恰可察觉失真模型。在此基础上,根据各帧的恰可察觉失真的大小进行帧层比特分配。其次,建立了基于结构相似度的率失真模型,并采用此模型设计了基本单元层(basic unit, BU)的比特分配方案。最后结合二次速率-量化模型得到量化参数。实验结果表明,该算法与目前H.264中典型的码率控制算法相比,错误率降低了0.2%。

码率控制;恰可察觉失真;比特分配;结构相似度

码率控制是在给定的网络传输环境下,通过合理设置编码参数来控制编码器输出的码率,对编码器输出高质量的平稳视频数据流发挥了关键作用。目前,H.264的码率控制算法(如 JVT-W042,JVT-GO12等),综合考虑了率失真模型和缓冲区充盈度,并采用帧的平均绝对误差(mean absolute difference,MAD)的线性预测模型与二次速率–量化模型进行比特分配,不仅忽略了各帧内容的不同,而且没有考虑到人眼的视觉特性。对此,已有较多的研究文献对其进行改进。文献[1]提出一种基于H.264的码率控制算法,根据各帧的局部运动区域的强度来分配目标码率,提高了视频播放的主观质量,但仅仅考虑到了运动和纹理特征。文献[2]根据每个宏块的率失真性能,设计了线性速率-量化步长和失真-量化步长模型,并将每一帧划分成多个不同的区域,提出了一种基于感兴趣区域的码率控制算法。虽然提高了主观和客观质量,但区域划分算法较为复杂,实时性较低。文献[3]在码率控制中引入PID控制器以最小化目标缓冲区大小与当前缓冲区充盈度的误差,有效提高了比特分配的合理性。文献[4]通过对大量实验结果的分析,得到了更准确的量化参数与码率的关系,综合考虑目标带宽、帧的空间复杂度及流体模型,提出了一种复杂度较低的帧层码率控制算法。文献[5]改进了H.264中的图像组(group of picture, GOP)层比特分配算法,提出新的率失真模型,虽然提高了视频输出的质量,但算法的复杂度较高,且没有考虑帧层与基本单元层(basic unit,BU)的比特分配问题。

可以看出,当前针对H.264的码率控制算法的研究工作存在以下不足:①虽然在码率控制中考虑到了人眼的视觉感知特征,但只局限于在帧层比特分配中考虑到不同运动特征宏块的人眼关注度,没有同时优化帧层与宏块层的比特分配;②率失真模型建立在客观视频质量评价方法的基础上,难以有效消除视频图像中的视觉冗余。针对这些不足,本文提出了一种基于视觉感知的码率控制算法(visual perception based rate control algorithm,VP-RCA)。通过综合考虑各帧的时域和空域恰可察觉失真(just noticeable distortion, JND),建立了像素域的JND模型。在此基础上,设计了新的帧层比特分配方案。为获得最优的目标比特数,将BU层的比特分配转换为优化问题以提高计算精度。由于充分地考虑了人眼的视频感知,VP-RCA算法的码率控制更精确、率失真优化效果更好。

1 帧层的比特分配

1.1 恰可察觉失真模型

接收端解码后的视频质量最终是由人眼来感知的。换言之,码率控制过程中应更多地考虑到人眼视觉感知的特征。视频图像的失真只有在超过某个阈值时,才会引起人类视觉系统的感知。这个阈值称为 JND,代表了视频图像中的视觉冗余的大小。因此,本文算法首先计算视频帧的JND,然后根据JND的值完成帧层比特分配。考虑到计算复杂度及建模的准确性,本文对各帧建立了像素域的JND模型,相应的第i帧的JND为

其中η为第i帧亮度均值,由下式计算:

M,N表示第i帧水平与垂直方向的像素个数, Ls,t为像素(s,t)亮度值, α1, α2,ω为常数。JNDs(x,y,i)为空域JND,其计算方法为[6]:

其中 Tt(x,y,i)为纹理掩蔽值, Cl,t表示掩蔽中的叠加效果, Tl(x,y,i)为亮度自适应掩蔽值。分别表示为:其中ξ为参数,为第i帧中像素(x,y)的梯度的加权平均的最大值,为第i帧中像素(x,y)通过滤波和边缘检测获取的权重值, θ1~θ4为常数,由实验中取得[7]。 (,)Ixy为平均背景亮度。

其中 (,,)xyiΔ 为第i帧与前一帧的平均帧间亮度,τ为参数。

从式(1)所示的 JND模型可以看出,由于采用两个相邻帧的亮度的方差来计算时域JND,其精度会有所提高。此外,由于结合了像素域的时域与空域JND,相比变换域的JND模型,该模型具有计算复杂度低、精度较高的特点。

最后,各帧JND的计算方法如下:

(1) 对GOP中的第1帧,即I帧直接按式(1)计算JND。

(2) 对B帧和P帧的JND按下式计算:

θ为阈值,采用文献[6]的方法求得,本文将5θ的值取为1.7。

1.2 帧层的比特分配

类似于JVT-G042,帧层的比特分配考虑到了缓冲区充盈度与剩余比特数,目标比特由下式决定[8]:

其中GT为当前 GOP中剩余的比特数,pN为当前GOP中未编码帧数。1C、2C及σ为常数。从式(11)可知,在比特分配时考虑到各帧具有不同的 JND值,在保证视频序列播放质量的同时,有效地提高了编码效率,这在本文中的实验中也得到了验证。

2 BU的比特分配

2.1 基于SSIM的率失真模型

基于PSNR的视频客观质量虽然计算简单,但与视频的主观质量并不匹配。事实上,视频实验早已证明,人眼对视频图像中的结构信息更加敏感。基于此,文献[9]设计了基于结构相似的视频质量评价方法,其评价结果与MOS等主观视频质量评价方法高度一致,得到广泛的应用。SSIM包含了视频图像的对比度、亮度及结构度等几方面的信息,定义如下:

其中 ,xy分别为参考图像与噪声图像对应位置的块;(,)lxy、 (,)cxy、 (,)sxy为亮度函数、对比度函数与结构函数。从式(12)可以看出,SSIM能提取视场中的结构信息,其与视频的主观质量具有高度的一致性,并能反映出亮度自适应与纹理掩蔽。为充分利用 SSIM 与人眼视觉系统一致性较强的优点,本文建立了基于SSIM的率失真模型,并将其用于BU层的码率控制。

对第i帧的SSIM采用下式进行计算:

其中 ,λβ为参数,其值由实验中得到。

2.2 BU层比特分配

BU层目标比特分配可转化为下列优化问题:

其中1sT−为当前帧中第 1s−个BU编码后剩余的比特,sr为由式(15)求出的第s个 BU最优的比特数量。

显然,对BU的比特分配并不是进行简单的平均,而是基于SSIM的率失真模型进行分配,以保留更多的结构信息,使之更符合人眼视觉感知的特点。

3 模型参数的更新

对于式(14)所示的R-D模型,其参数更新需在每一个帧中BU的比特分配完成后进行。因此,在当前帧完成 BU级比特分配后,采用文献[11]的方法,将参数更新过程转化为下列求极值问题:其中Ω为前一帧中R与D数据集合,相应的R-D数据点数量为w,和分别为集合Ω中的数据点对应的速率与失真,对式(17)求梯度即可得到参数 ,λβ更新后的值,详细推导过程可参考文献[12]。

4 量化参数的计算

为降低算法的时间复杂度,采用JVT-W042算法中的二次速率−量化参数模型计算帧及 BU的量化步长:

其中 Qstep为量化步长, b1,b2及 a1,a2为模型中的参数。MAD为视频图像编码复杂度,根据前一帧的MADpb来预测当前帧的 MADcb。此外,式(18)中的参数 b1,b2和 a1,a2的更新分别采用与JVT-W042相同的方法,在此不予另加说明。

5 VP-RCA算法的实现步骤

VP-RCA算法的实现步骤如下:

步骤1.采用JVT-W042中的GOP层码率控制算法完成对 GOP的比特分配和初始量化参数的计算。

步骤2.根据式(1)及式(7)对当前帧的JND值进行计算,并根据式(11)完成帧层的比特分配,再采用式(18)计算当前帧的量化步长并编码,最后更新剩余比特数及缓冲区状态等参数。

步骤3.根据式(14)得到当前帧的基于SSIM的率失真模型,并根据式(16)完成BU级的比特分配,并采用式(18)计算量化步长并完成编码。

步骤 4.根据式(17)完成率失真模型的参数更新,并采用与JVT-W042相同的方法完成式(18)中的二次模型的参数更新。如当前GOP所有帧编码完毕,转向步骤5,否则转向步骤2。

步骤 5.如当前视频序列编码完毕,则结束。否则转向步骤1,开始编码下一个GOP。

6 实验结果及分析

为验证本文的码率控制算法的有效性,在相同的编码参数设置环境下,在JM10中对比了VP-RCA算法与JVT-W042算法及文献[1]中的基于视觉注意度的码率控制算法(RC-CVA)的性能。视频测试序列为5个CIF格式的文件,包含了各类典型场景,其分辨率为352288× 。编码参数为:GOP结构为“IPPP···”,GOP长度为8,帧率为20帧/秒,搜索区域为32,参考帧的数量为1,初始量化参数为28,熵编码采用CABAC,帧的数量为300。常数1α,2α,ω的值分别为4.65,2.45,3.92,1C和2C的值分别为0.67和0.33,σ的值为12.4。为衡量码率控制的精度,定义码率误差(rate error,RE)为其中分别为实际和目标码率, ()abs为取绝对值函数。

表 1显示了三种算法的实验结果。可以看到VP-RCA算法的RE值显著小于其他两种算法,目标码率与实际码率非常接近,码率波动也更小。这说明该算法的码率控制更准确,对动态变化的传输信道的适应能力更好。当传输的视频序列为Foreman与Mobile这类场景切换较频繁、纹理较为复杂的序列时,VP-RCA算法的RE值降低了0.2%,平均PSNR在不同的目标码率下提高了0.3 dB左右。表明VP-RCA算法由于在码率控制中采用JND和SSIM,能够更好地编码视频图像中的结构信息,在视觉冗余的消除方面效率更高。

图1显示了三种算法对应两种典型场景的视频序列时各帧PSNR对比图。可见,无论是对于运动矢量较小、场景切换较少的视频序列,还是运动矢量较大、场景切换较多的序列,VP-RCA算法可获得更高的客观质量,且视频图像的质量波动也比较小。特别是传输对象为Mobile序列时,VP-RCA算法对应的PSNR变化更平稳,这表明该算法由于在帧层和BU层码率控制中考虑了JND和SSIM,在复杂纹理及场景变化频繁的情况下很好地优化了帧层的比特分配。

表1 不同码率控制算法的性能对比

图1 PSNR性能比较 (64 kbps, 20 frame/s)

图2给出了视频序列Foreman、Mobile的码率与SSIM值的对比。不难看出,VP-RCA算法的各帧SSIM值较其他两种算法有明显提高,说明本文算法由于综合考虑了帧活动度、场景切换等因素,在采用基于SSIM的率失真模型的基础上,获得了最优的BU层比特分配,显著地提高了视频序列的客观质量。

图2 SSIM性能比较(64 kbps, 20 frame/s)

图3比较了Foreman的主观质量。Foreman主要为运动平滑的场景,视频图像中细节、结构等信息较多,其平坦区域包含了较多的视觉冗余。从图中可以看出,与其他两种算法相比,VP-RCA算法很好地保留了视频图像中的结构信息,对细节区域的比特分配也更加合理,因而获得了更好的主观质量。

图3 Foreman序列的主观质量比较(128 kbps)

7 结 束 语

码率控制对提高编码器输出码率的质量与稳定性有着非常重要的作用。针对当前H.264的码率控制算法未考虑人眼视觉感知及输出的码流质量起伏较大的不足,提出了一种基于人眼视觉感知的码率控制算法。首先设计了求取各帧JND的方法,并在此基础上完成帧层的比特分配;其次在BU层比特分配过程中采用了基于结构相似的率失真模型,有效降低了视觉冗余。实验结果表明本文提出的算法有效地减少了编码器输出码流的波动,提高了视频图像的主观和客观质量。下一步的工作是将在本文研究的基础上,研究三维立体视频编码中的码率控制问题。

[1] Shen Liquan, Liu Zhi, Zhang Zhaoyang. A novel H.264 rate control algorithm with consideration of visual attention [J]. Multimedia Tools and Applications, 2013, 63(3): 709-727.

[2] Hu Haimiao, Li Bo, Lin Weiyao, Li Wei, Sun Mingting. Region-based rate control for H.264/AVC for low bit-rate applications [J]. IEEE Transactions on Circuits and Systems for Video Technology, 2012, 22(11): 1564-1575.

[3] Zhou Yimin, Sun Yu, Feng Zhidan, Sun Shixin. PID-based bit allocation strategy for H.264/AVC rate control [J]. IEEE Transactions on Circuits and Systems, 2011, 58(3): 184-188.

[4] Kim M J, Hong M C. Fast rate control algorith m in frame-layer for H.264/AVC video coding [J]. IEEE Transaction on Consumer Electronics, 2012, 58(3): 872-879.

[5] Tan Y H, Yeo C, Li Zhengguo. Single-pass rate control with texture and non-texture rate- distortion models [J]. IEEE Transactions on Circuits and Systems for Video Technology. 2012, 22(8): 1236- 1244.

[6] 张冠军, 朱亚培, 郁 梅. 基于区域划分的JND快速求取算法[C]//2012年互联网技术与应用国际学术会议论文集, 西安, 2012: 393-397.

[7] 王 晓. 基于JND的H.264编码模式选择算法[J]. 电子科技大学学报, 2013, 42(1): 122-124.

[8] 吴 炜, 陈 健, 宋 彬. H.264/AVC码率控制现状与发展[J]. 系统工程与电子技术, 2013, 35(5): 1091-1097.

[9] Zhou Wang, Bovik A C, Sheikh H R, Simoncelli E P. Image quality assessment: from error visibility to structural similarity [J]. IEEE Transactions on Image Processing, 2004, 13(4): 600-612.

[10] 方志军, 高永彬, 舒 雷, 袁非牛, 杨 勇. 场景切换视频自适应帧间码率控制[J]. 中国图象图形学报, 2013, 18(6): 693-699.

[11] Ou Taosheng, Huang Y H, Chen H H. SSIM-based perceptual rate control for video coding [J]. IEEE Transactions on Circuits and System for Video Technology, 2011, 21(5): 682-691.

[12] Xu Long, Zhao Debin, Ji Xiangyang, Deng Lei, kwong S, Gao Wen. Window-level rate control for smooth picture quality and smooth buffer occupancy [J]. IEEE Transactions on Image Processing, 2011, 20(3): 723-734.

Visual Perception Based Rate Control Algorithm for H.264

Tian Bo1,2, Yang Yimin2, Cai Shuting2
(1. Mathematics and Information Engineering Department, College of Tongren, Tongren Guizhou 554300, China; 2. School of Automation, Guangdong University of Technology, Guangzhou Guangdong 510090, China)

Due to that the conventional rate control algorithm for the latest video coding standard H.264 does not take into account the human visual perception and many result in video quality fluctuation, a visual perception based rate control algorithm (VP-RCA) for H.264 is proposed in this paper. First, bit allocation to frame is related to the Just Noticeable Distortion of frame and the rate control is performed by adaptive rate-distortion optimal. Second, the structural similarity index as the quality metric for rate-distortion modeling and the optimum bit allocation is performed in basic unit (BU) layer. And the value of quantization parameter (QP) is computed by exploring quadratic rate–quantization (R-Q) model. Experimental results show that the proposed rate control algorithm can reduces the bit-rate error by up to 0.2% comparisons with the typical rate control algorithms.

rate control; just noticeable distortion; bit allocation; structural similarity

TN 919.85

A

2095-302X(2014)05-0762-06

2014-04-03;定稿日期:2014-05-14

国家自然科学基金青年科学基金资助项目(61201392);铜仁学院科研启动基金资助项目(TS10014)

田 波(1978–),男,湖南怀化人,讲师,在读博士生。主要研究方向为视频编码及传输、机器人遥操作。E-mail:tianbomail@163.com

猜你喜欢
码率控制算法比特
移动视频源m3u8多码率节目源终端自动适配技术
一种基于HEVC 和AVC 改进的码率控制算法
基于状态机的视频码率自适应算法
基于ARM+FPGA的模块化同步控制算法研究
比特币还能投资吗
高精度位置跟踪自适应增益调度滑模控制算法
比特币分裂
比特币一年涨135%重回5530元
基于航迹差和航向差的航迹自动控制算法
多光谱图像压缩的联合码率分配—码率控制方法