APP下载

考虑全帧间参考依赖性的监控视频高效视频编码码率控制算法

2021-03-08公衍超吕显龙杨楷芳刘颖林庆帆王富平

西安交通大学学报 2021年3期
关键词:码率控制算法权重

公衍超,吕显龙,杨楷芳,刘颖,林庆帆,4,王富平

(1.西安邮电大学通信与信息工程学院,710121,西安;2.西安邮电大学电子信息现场勘验应用技术公安部重点实验室,710121,西安;3.陕西师范大学计算机科学学院,710119,西安;4.矽景公司,787820,新加坡)

近年来,随着网络、多媒体及硬件技术的飞速发展,视频监控作为重要的视频应用之一,在公安安全、智能安防、智能家居等领域得到了广泛的应用。在视频监控系统中,码率控制是一项非常关键的技术,其可以在满足信道传输带宽的限制条件下,获得更高质量的编码重建视频。

当前大部分的视频监控系统都属于高清视频监控视频。高清视频可以提供更加丰富更加清晰的视频内容。针对高清视频,ITU-T的视频编码专家组和ISO/IEC的运动图像专家组联合制定了先进的高效视频编码(HEVC)标准[1-4]。与之前的H.264/AVC标准相比,HEVC采用了许多新技术[1,4],大大提高了编码效率。在HEVC标准化过程中,根据使用的码率R与量化参数Q的关系模型R-Q,码率控制算法可以分为3类:基于二次R-Q模型的码率控制算法[5],ρ域码率控制算法[6](ρ表示量化变换系数中取值为0的系数的百分比)和λ域码率控制算法[7](λ表示拉格朗日因子)。与前两类码率控制算法相比,λ域码率控制算法的编码效率更高,得到了更加广泛的研究。

λ域码率控制算法在文献[7]中被首次提出。文献[7]指出,相比于传统的量化参数,λ与码率的关系更加密切,使用λ能更加准确地反映视频编码的码率特性。由此,文献[7]建立了以λ为纽带的R-λ-Q模型,并基于此模型提出了面向HEVC的码率控制算法。λ域码率控制算法包含两个主要步骤,即目标码率分配和Q的确定。首先,根据信道带宽、缓冲器状态等因素为每个基本单元(图像或最大编码单元)分配合适的目标码率。然后,根据R-λ-Q模型为每个基本单元确定优化的Q。

近几年,一些针对λ域码率控制算法的改进算法被相继提出[8-13]。文献[8-9]面向视频编码中的帧内图像提出了相应的改进算法。文献[8]考虑并量化了帧内图像编码过程中的失真漂移现象,并将其应用于码率控制过程中,建立了更加准确的R-λ模型。文献[9]指出,文献[7]提出的算法没有有效考虑图像的内容复杂度,因此采用梯度表征图像的内容复杂度,构建了基于梯度的R-λ模型,用于提升帧内图像的码率控制性能。

在视频编码中,相比于帧内图像,帧间图像的实际应用更加广泛。面向帧内帧间图像混合的编码结构,文献[10-12]提出了改进的码率控制算法。文献[10]调研了HEVC随机接入(RA)结构中时间层图像之间的参考依赖性,并将其应用于指导不同时间层图像目标码率分配和量化参数确定步骤中。文献[11]将恰可感知失真作为失真测度,提出了基于恰可感知失真的感知率失真模型R-D,并将此模型应用于传统的码率控制框架中以提高编码视频的主观感知质量。文献[12]指出,文献[7]提出的算法在计算目标码率分配权重时没有有效考虑视频的内容特性,因此进一步补充提出了考虑视频内容特性的失真与λ的关系模型D-λ。基于R-λ与D-λ模型,文献[12]创建了能够准确反映不同视频内容编码失真和码率特性的R-D模型,并进一步提出了更加优化的目标码率分配权重计算算法。目前的实验证明,文献[7,12]的算法具有高效的码率控制性能,已经被HEVC建议使用,并且集成到最新版本的HEVC测试模型HM中。

在λ域码率控制算法中,目标码率分配结果直接影响R-λ-Q模型中的码率,显著影响码率控制的性能。在进行目标码率分配时,最核心的是要给每个基本单元计算优化的目标码率分配权重。当前,HM中集成的码率控制算法包含3种目标码率分配权重的计算方式,即:平均比率的目标码率分配权重计算、固定比率的目标码率分配权重计算、自适应比率的目标码率分配权重计算。然而,上述3种方式在计算目标码率分配权重时都没有考虑图像间编码参考的依赖性。HEVC和之前大部分的主流视频编码标准一样,都是采用基于预测、变换、量化、熵编码的混合编码框架。视频在编码时会采用帧内预测与帧间预测技术,以消除视频中的空域和时域冗余信息。这导致编码图像与其参考图像间存在非常强的依赖关系。特别是监控视频,背景区域通常近似静止,只有前景中的目标在动,所以图像间内容的相关性更大。这最终导致相比于其他类型的视频,监控视频中图像间的编码参考依赖性会更大。理论上而言,在设计视频编码的相关算法时,有效地考虑参考依赖性会显著提高视频编码的效率[13-14]。

本文针对监控视频,提出了一种考虑编码图像与其所有帧间参考图像参考依赖性的目标码率分配权重计算算法,并基于此提出了一种有效的HEVC图像级码率控制算法。实验验证了提出算法的有效性,与HM中采用的平均比率目标码率分配权重的码率控制算法相比,德尔塔码率ΔR平均降低9.54%,且码率估计更加准确。

1 低时延编码结构

HM中支持全帧内、低时延(LD)和RA共3种编码结构用于通常的视频编码测试及实际应用[15-16]。

图1和图2分别是RA结构和LD结构。在两种结构中,视频的第一幅图像被编码为即时解码刷新图像,剩余的图像被编码为通常的P或者B(GPB)图像或B图像。在编码时,视频中的图像会被划分到各个图像组(GOP)。在每个GOP中,图像被划分到不同的时间层。在图1和图2中,蓝色、绿色、黄色标记的图像分别属于第1、2、3个时间层。

rPOC—相对图像序列号。图1 RA结构

I1~I4—当前图像的第1~4个参考图像。图2 LD结构

在图1和图2中,箭头方向表示参考帧来源。在RA结构中,双向预测技术被使用。双向预测技术可以有效地消除视频中的时域冗余信息,提高视频编码的率失真性能,但是也增大了视频编码的结构时延。所以,RA结构适用于对实时性要求不高的视频应用中,例如视频点播。相对应地,在LD结构中为了获得低的结构时延,只有前向预测技术被使用。所以,LD结构被广泛应用于对实时性要求较高的视频应用中,例如视频会议、视频监控。

HM使用帧间预测编码图像时会采用多参考图像预测技术,即从多个备选图像中选择最优的匹配信息来源。LD结构中默认的图像组大小为4[16]。HM中LD结构对应的多参考图像来源如表1所示,表中POC为图像序列号,视频编码中通常使用POC和rPOC分别表示图像在视频和GOP中的位置。

表1 HM中LD结构对应的多参考图像来源[16]

POC的初始值和最大值分别为0和Np-1,Np表示视频中的图像总数。rPOC的初始值和最大值分别为1和GS,GS表示GOP的大小。表1中,用当前图像与其参考图像之间的POC差值指示了参考图像的来源。以第3个GOP中的第一个图像为例,其rPOC为1,POC为x,则其对应的参考图像序列号是分别是x-1、x-2、x-5、x-9。换言之,当前图像的参考图像通常包括与当前图像相邻的前一个已编码的图像和属于最低时间层的其他3个最近的已编码图像。特别地,对于视频的前几个图像,当其对应的已编码的图像不足4幅时,则参考图像数目为实际已编码图像数目。

2 HM采用的目标码率分配权重计算

在HM码率控制算法完成GOP级的目标码率分配后,GOP对应的目标码率就被确定。紧接着,需要确定GOP中的每个图像的目标码率分配权重,以给每个图像分配更加合理的目标码率。通常,重要的图像会被分配更大目标码率分配权重以分配更多的目标码率,从而保证编码质量。

HM中采用的第一种目标码率分配权重的计算方式是平均比率的目标码率分配权重计算,即GOP中所有图像的目标码率分配权重是一样的。这种计算方式显然是不优化的。这是因为视频采用LD结构编码时,处在不同时间层的图像的重要性是不一样的。为了进一步提高码率控制性能,HM也采用了固定比率的目标码率分配权重计算和自适应比率的目标码率分配权重计算。

固定比率的目标码率分配权重计算首先考虑了图像层的影响。在一个GOP中,rPOC为1、2、3、4的图像分别处于第3、2、3、1个时间层,如图1和图2所示。对于整个视频的编码率失真性能,通常越低时间层的图像越重要[13-14],所以越低时间层图像对应的目标码率分配权重应该越大。另外,这种算法也考虑了像素点码率A的影响,A的公式为

(1)

式中:Rtar表示编码配置文件中设置的目标码率(b/s);f、w和h分别表示视频的帧率、视频图像的宽度和高度;A表示像素点码率(b/像素)。表2为固定比率的目标码率分配权重。

表2 固定比率的目标码率分配权重

使用固定比率的目标码率分配权重计算算法时,一个视频的所有GOP中的图像都按表2确定目标码率分配权重。这种算法对于运动慢的视频是比较有效的,可以有效权衡码率控制算法的码率估计准确度、率失真性能和算法复杂度。但是,对于运动快、前后GOP图像内容差别较大的视频,固定比率的目标码率分配权重计算算法显然不太适用。相应地,自适应比率的目标码率分配权重计算算法被提出。使用自适应比率的目标码率分配权重计算算法时,视频中的第一个GOP的图像仍然按照表2确定图像的目标码率分配权重。后续的GOP利用前一个GOP中最后一个图像的λ、预估的R-λ模型参数和层级信息动态确定GOP中各图像的目标码率分配权重。

通过本节分析可知,视频采用LD结构编码时,图像间存在很强的编码参考依赖关系,而HM当前采用的目标码率分配权重计算算法虽然考虑了时间层、A、λ等因素的影响,但忽略了参考依赖关系这一重要因素。因此,本文提出了一种面向视频监控应用的考虑全帧间参考依赖性的目标码率分配权重计算算法。

3 全帧间参考依赖的码率控制算法

本文提出的全帧间参考依赖的码率控制法包括目标码率分配及Q的确定两部分。目标码率分配包括GOP级的目标码率分配和图像级的目标码率分配。提出算法的GOP级的目标码率分配和Q确定与HM中采用的算法相同,这些算法的详细步骤本文不再详述,具体见参考文献[16]。本文的主要贡献是构建了考虑全参考依赖性的失真模型,并基于此模型提出了优化的图像级目标码率分配权重计算算法。

3.1 考虑全参考依赖性的图像级目标码率分配权重计算

3.1.1 考虑全参考依赖性的失真模型 如第1节所述,视频在采用LD结构编码时,当前图像与其参考图像之间存在很强的参考依赖关系。当前图像的期望失真为

(2)

表3 主要编码参数设置

(a)Overbridge(b)Campus图与Di,1,1的关系

特别说明,在GOP大小及参考图像数目都默认为4的情况下,一个GOP中的所有图像与其对应的各个参考图像的失真关系图一共有16幅。由于文章篇幅有限,图3只给了部分图像的结果,其他图像的拟合曲线也都满足图3所示的幂函数形式,但是幂函数中的两个模型参数取值有差别。最终,图3所示的关系可以表征为

(3)

式中ai,j,r和bi,j,r是模型参数。将式(3)代入式(2),可得

(4)

3.1.2 目标码率分配权重计算 根据拉格朗日率失真优化[18],编码视频总的率失真代价为

(5)

式中:λi,j和Ri,j分别表示第i个GOP中第j个图像的拉格朗日因子和码率;Ng表示视频中GOP的数量。

文献[17]的研究表明,幂函数形式的率失真关系可以准确地描述HM编码器的率失真特性,具体公式为

D=CR-K

(6)

式中C和K是与序列内容特征相关的模型参数。因此,拉格朗日因子被进一步求解为

λ=-∂D/∂R=CKR-K-1=αRβ

(7)

式中α和β是与视频内容特性相关的模型参数。

在第3.1.1小节描述的实验中,不仅可以获得失真数据,还可以获得相应的码率数据。Overbridge和Campus监控视频的Ri,4,1与Ri,4的关系如图4所示,Ri,4,1与Ri,4用像素点码率表征。

(a)Overbridge(b)Campus图4 Ri,4,1与Ri,4的关系

图4所示的关系可表征为

Ri,j,r=di,j,rRi,j

(8)

式中:Ri,j,r是第i个GOP中第j个图像的第r个参考图像的码率;di,j,r是模型参数。将式(4)(6)(7)(8)代入式(5),得到

(9)

将式(9)对Ri,j求偏导,然后让偏导数∂J/∂Ri,j为0,从而获得使率失真代价J最小的Ri,j的优化值Ri,j,opt。根据牛顿-拉斐逊方法[19],求得使∂J/∂Ri,j=0的Ri,j,opt的近似解为

(10)

式中θi,j为牛顿-拉斐逊参数,公式为

(11)

其中χi,j是伸缩因子,具体取值如表4所示。

表4 χi,j取值

式(10)中的牛顿-拉斐逊参数表示图像分配的目标码率初始值,且牛顿-拉斐逊参数越大,给图像分配的目标码率通常就越多。而且,式(11)中的伸缩因子与牛顿-拉斐逊参数是正相关的。所以,图像的伸缩因子越大,给图像分配的目标码率就越大。由于在LD结构中,时间层越低的图像对于整个视频编码性能的影响越大[20],所以在编码时要优先保证低时间层图像的质量,给低时间层图像分配更多的目标码率。所以,表4中随着时间层的降低,图像对应的伸缩因子取值是增大的趋势。

一些实验[16]证明,在目标码率不充裕时,若要保证整个视频的编码效率,则需要优先保证低时间层图像的编码质量,即给低时间层图像分配更大比例的目标码率。当目标码率充裕时,低时间层图像的编码质量已经很好,给其分配更多的码率对于整个视频编码效率的提升也已经不显著了,这时把更多比例的码率分配给其他更高时间层图像,反而会带来整个视频编码效率的明显提升。所以,表4中随着目标码率的增大,时间1层图像对应的伸缩因子与所有时间层图像对应的伸缩因子和的比值是减少的,而其他更高时间层图像对应的伸缩因子与所有时间层图像对应的伸缩因子和的比值是增大的。表4中的伸缩因子的具体取值是以固定比率目标码率分配权重计算算法中的伸缩因子取值为基础,通过实验调整后确定的优化的经验值。

最终,GOP中每个图像的目标码率分配权重为

(12)

式中〈〉表示四舍五入运算。

3.2 全帧间参考依赖的码率控制算法步骤

为了便于描述,HM中采用的基于平均比率目标码率分配权重的图像级码率控制算法、基于固定比率目标码率分配权重的图像级码率控制算法和基于自适应比率目标码率分配权重的图像级码率控制被分别简写为EBA-PRC、FRBA-PRC和ARBA-PRC。本文提出的码率控制算法的完整步骤如下。

第1步 对于给定的监控视频,使用ARBA-PRC对前4个GOP的图像进行编码,获得其编码失真和码率数据。根据式(3)使用最小二乘拟合算法,拟合失真数据获得ai,j,r和bi,j,r。同理,分别根据式(6)和式(8),采用最小二乘法拟合失真和码率数据得到Ci,j、Ki,j、Ci,j,r、Ki,j,r、di,j,r。在对相应图像进行编码后,Pi,j,r的准确数据可以直接统计得到。

第2步 根据式(10)~(12),计算获得GOP中每个图像对应的目标码率分配权重,即ωi,j。

第3步 使用第2步计算得到的ωi,j对视频后续GOP的图像进行码率控制。

4 实验与分析

目前,文献[7,12]提出的码率控制算法由于其高效的编码性能已经被HEVC建议使用,并被集成到HM中(包括EBA-PRC、FRBA-PRC和ARBA-PRC算法)。本文算法将与这3种算法进行比较。

4.1 实验设置

测试视频包括6个不同分辨率和内容特征的标准监控视频,其中:Overbridge、Crossroad、Campus视频的空间分辨率是720×576像素,帧率是30帧/s,编码帧数是300;Lowlight视频的空间分辨率是1 280×720像素,帧率是30帧/s,编码帧数是200;Metro、Runners视频的空间分辨率是1 920×1 080像素,帧率分别是60和30帧/s,编码帧数分别是188和300。编码器为HM16.17,编码结构为LD结构。首先,将HM中的码率控制功能关闭,使用HM中固定的Q分配方式对每个测试视频进行编码以获得从高到低的4个目标码率[10]。固定的Q分配方式中帧内图像的Q被分别设定为22、27、32、37。然后,将HM中的码率控制功能打开,在给定的4个目标码率下,分别用EBA-PRC、FRBA-PRC、ARBA-PRC和本文提出的算法编码每一个测试视频。其他的主要编码参数设置与HM配置文件encoder_lowdelay_P_main[16]中的设置相同。

4.2 码率估计准确度和率失真性能

码率估计准确度是衡量一个码率控制算法性能关键的基础性指标。只有在码率估计准确的基础上再分析码率控制算法的其他性能才是有意义的。本文采用被广泛使用的BE(BE)[7,12]来衡量码率估计的准确度,公式为

BE=|Btar-Bact|/Btar×100%

(13)

式中Btar和Bact分别表示配置文件中设定的目标码率和码率控制算法的实际码率(kb/s)。

表5为各种码率控制算法的BE。BE越小,对应的码率控制算法获得的码率估计误差越小,即码率估计更加准确。可以看出,对于大部分视频,本文算法都可以获得最小的BE,且对于所有的视频,提出算法对应的平均BE也是最小的,为0.223 2%。所以,相较其他3种算法,本文算法的码率估计更加准确。

表5 不同码率控制算法的BE %

采用被广泛使用的ΔR[21]衡量码率控制算法的率失真性能,ΔR为负值时表示与基准算法相比,比较算法可以用更少的码率获得同等质量的编码重建视频,即比较算法的率失真性能越好。本文实验在计算ΔR时将EBA-PRC算法设定为基准算法,其中视频质量用像素亮度分量的峰值信噪比衡量。

表6为4种码率控制算法对应的ΔR。可以看出:对于所有的视频,本文算法对应的ΔR最小,即率失真性能更好;与EBA-PRC相比,对于所有视频,本文算法的ΔR为-9.54%,即本文算法可以在获得同等质量重建视频的前提下,码率减少9.54%;FRBA-PRC算法与ARBA-PRC算法的性能近似,FRBA-PRC可以获得更加准确的码率估计,而ARBA-PRC可以获得更高的率失真性能。

表6 不同码率控制算法的ΔR %

4.3 算法复杂度

采用编码时间衡量算法的运行复杂度,公式为

ΔT=(Tcom-Tbac)/Tbac×100%

(14)

式中:Tbac表示EBA-PRC算法对应的编码时间;Tcom表示其他码率控制算法对应的编码时间。

表7为4种码率控制算法对应的ΔT。可以看出:与EBA-PRC算法相比,FRBA-PRC、ARBA-PRC、本文算法的编码时间都更短,且ΔT取值近似,对于所有测试视频,平均ΔT分别为-0.03%、-0.04%、-0.02%。

表7 不同码率控制算法的ΔT %

从目标码率分配权重计算的角度分析,EBA-PRC算法和FRBA-PRC算法对应的目标码率分配权重的计算过程是很简单的,而ARBA-PRC算法与本文算法在计算图像的目标码率分配权重时都需要更加复杂的参数更新与优化过程,所以复杂度相对较高。但是,相较于EBA-PRC算法,FRBA-PRC、ARBA-PRC、本文算法都会增大高时间层图像的Q,且高时间层图像数占视频总图像数的比例更大。一些编码实验[10]已经证明,使用大的Q编码图像会显著降低图像的编码时间。综上所述,虽然EBA-PRC算法中简单的目标码率分配权重计算会节约一部分编码时间,但是由于会给高时间层图像选择更大的Q,所以总的编码时间是最长的。

5 结 论

在图像级码率控制算法中,优化的图像目标码率分配权重是影响算法性能的关键因素。HEVC标准中的码率控制算法在计算目标码率分配权重时未考虑帧间参考依赖性,编码效率低。本文针对HEVC编码的监控视频,提出了一种有效的考虑全帧间参考依赖性的图像级码率控制算法。本文得出的主要结论及对未来工作的展望如下。

(1)在监控视频HEVC码率控制中,考虑当前帧与其所有参考帧之间的参考依赖关系可以构建更加准确地反映编码特性的率失真代价函数,显著提高码率控制算法的性能。

(2)本文的考虑全参考依赖关系的思路也可以被拓展应用到针对RA结构的的码率控制算法设计中。RA结构与本文研究的LD结构类似,也采用了多参考帧预测技术,但其新增加了后向的参考帧来源。

(3)本文的考虑全参考依赖关系的思路也可以应用到针对其他类型视频的码率控制算法设计中,例如电影电视视频。但是,其他类型的视频通常会包括运动快的视频。针对运动快的视频,本文算法中提出的一些模型的具体形式、模型参数的获得算法及算法步骤的设计都需要进一步进行性能验证或做相应的调整。

猜你喜欢

码率控制算法权重
基于缓存补偿的视频码率自适应算法
权重望寡:如何化解低地位领导的补偿性辱虐管理行为?*
移动视频源m3u8多码率节目源终端自动适配技术
一种高精度的自适应码率控制图像压缩算法
权重常思“浮名轻”
基于DASH标准的码率平滑切换算法
为党督政勤履职 代民行权重担当
权重涨个股跌 持有白马蓝筹
基于dSPACE和PLC的控制算法测试系统设计
基于DCS的过程实时控制平台的研究