面向监控视频内容自适应的通用视频编码量化参数级联
2023-12-18公衍超张森森何书婷李宝贵刘颖林庆帆
公衍超, 张森森, 何书婷, 李宝贵, 刘颖, 林庆帆,4
(1. 西安邮电大学通信与信息工程学院, 710121, 西安; 2. 陕西省法庭科学电子信息实验研究中心, 710121, 西安; 3. 陕西省无线通信与信息处理技术国际联合研究中心, 710121, 西安; 4. 新加坡XsecPro公司, 787820, 新加坡)
视频监控系统被广泛应用于刑事侦查、司法取证等领域,有力维护了社会稳定与人民的人身与财产安全。在视频监控系统中,监控视频要依次经过采集、编码、传输、存储、解码、显示、分析等操作。监控视频编码的目的就是用更少的编码码率获得更高质量的重建视频,所以编码是保证整个视频监控系统有效运行的关键技术之一。当前视频监控系统中,被广泛使用的视频编码标准是由国际电信联盟电信标准化部门(ITU-T)和国际标准化组织(ISO)/国际电工委员会(IEC)分别于2003年和2013年共同发布的H.264/AVC标准[1]和HEVC标准[2-3]。但是,随着近几年视频类型的多样化发展和视频应用需求的快速变化,H.264/AVC和HEVC标准的编码效率已经很难满足实际需求。相应地,由ITU-T和ISO/IEC联合制定的通用视频编码(VVC)标准[4]应运而生。VVC是2020年发布的当前最新国际视频编码标准,其编码效率大约是HEVC标准的2倍,H.264/AVC标准的4倍。
H.264/AVC、HEVC和VVC标准都采用基于预测、变换、量化、熵编码的混合编码框架。其中,量化是将具有较大动态取值范围的变换系数进行多对一映射以减小变换系数的取值空间,在有效去除视频部分视觉冗余的同时,提高熵编码去除熵冗余的能力,有力保证了视频编码的效率。量化的核心是多对一的映射机制,而量化参数(QP)是控制多对一映射程度的编码参数。QP通常取0及有限的正整数。QP取值越大则对应更大取值范围的变换系数被映射为同一取值,导致视频编码的失真越大,而编码码率则越小。所以,QP取值显著影响视频编码的效率,是量化模块中一个非常关键的编码参数。量化参数级联(QPC)即是研究在编码过程中如何选择最优QP的一类方法。H.264/AVC和HEVC标准的官方测试模型JM和HM分别推荐文献 [5-6]提出的QPC方法。但是,文献 [5-6]提出的QPC方法都属于固定取值的方法,即不管编码输入因素如何变化,相邻时间层对应的QP差值是一样的。固定取值的方法虽然简单但是编码效率较低。为了进一步提高视频编码的效率,一些更加有效的QPC方法被提出[7-14]。
基于实验统计,文献 [7]构建了QP与拉格朗日因子的对数关系,并将其应用于QP的选择过程中。文献 [8-9]探索了分级预测结构中不同时间层之间码率与失真的依赖关系,并分别提出了基于率失真优化的QPC方法。不同的是,文献 [8]探索的是相邻时间层之间的码率与失真的依赖关系,而文献 [9]探索的是时间0层与其他更高时间层之间的码率与失真的依赖关系。文献 [10-14]分析了分级预测结构中图像间的参考依赖性对QP选择的影响,并分别提出了有效的QPC方法。不同的是,文献 [10-13]只考虑了最近参考帧对QP选择的影响,而文献 [14]则考虑了所有参考帧对QP选择的影响。
以上提出的QPC方法[5-14]都是面向早期的H.264/AVC和HEVC标准。由于VVC标准推荐使用了大量新编码技术,所以这些QPC方法[5-14]并不适用。当前VVC标准的官方测试模型VTM[15]推荐使用JCTVC-X0038提案提出的QPC方法[16],下文简称为JCTVC-X0038 QPC方法。JCTVC-X0038 QPC方法忽略了视频内容特性对QP选择的重要影响,其编码效率还有较大的提升空间。针对以上问题,本文面向VVC的混合编码框架,在分析视频内容特性等因素对QP选择影响的基础上,提出了一种有效考虑监控视频空时域内容特性的VVC 量化参数级联方法(SCA-QPC)。
1 JCTVC-X0038 QPC方法
在视频编码中,需要根据应用场景需求选择适合的编码结构。VTM支持3种编码结构,即全帧内、随机接入、低时延(LD)[15]。图1为图像组(GOP)为8的LD结构。图像序列号(POC)反映了图像在视频中的显示顺序,而编码顺序(CO)则反映了图像在视频编码中的顺序。在LD结构中,所有图像的POC和CO是一样的,即编码结构时延为0。所以,LD结构适用于视频监控、视频会议、视频通话等对视频数据传输实时性要求较高的应用场景。
RP1—第一个帧间参考帧;RP2—第二个帧间参考帧;RP3—第3个帧间参考帧;RP4—第4个帧间参考帧;IDR—瞬时解码刷新帧;P/B—通常的P帧或B帧。
在LD结构中,视频的第一幅图像被编码为瞬时解码刷新(IDR)帧,剩余图像则根据其POC组成GOP。处在同一GOP的图像又根据其相对图像序列号(rPOC)被划分到不同的时间层。rPOC反映了图像在GOP中的显示顺序。时间层是介于GOP和图像之间的一个编码层级,可以有效反映图像在GOP中的重要性。图1中由红色、粉色、蓝色、绿色、黄色标识的图像分别处于时间0层、时间1层、时间2层、时间3层、时间4层。混合编码框架中的帧间编码帧,例如通常的P帧或B帧,需要利用帧间预测技术参考已经编码重建的图像以消除其包含的时域冗余。图1中的箭头方向表示参考图像(RP)的来源。通常,RP的数量越多,则对应的编码率失真性能越高,但编码复杂度也会显著增大。为了有效权衡编码率失真性能和复杂度,VTM允许支持的最大RP数量为4。图1中的RP1、RP2、RP3、RP4分别表示第1~4个帧间参考帧的来源。通常,时间层越低的图像对整个视频编码的效率影响越大,反映在QP选择上就是时间层越低的图像用更小的QP编码,以优先保证编码质量。这也是当前大部分QPC方法[5-14,16]在选择QP时遵循的基本规则。以上规则可表示为
Qt=Qt-1+Δt, 1≤t≤NL
(1)
式中:Qt表示给第t个时间层图像选择的量化参数;Q0表示初始量化参数,通常由编码者在配置文件中初始设定;NL表示时间层数;Δt表示第t个时间层图像和第t-1个时间层图像对应的量化参数差值。
QPC方法的目的是选择最优的Δt,用Δt,opt表示。JCTVC-X0038 QPC方法是当前唯一面向VVC标准提出的QPC方法,其设置QP的方案也如式(1)所示,其中Δt被进一步表达为包括Δα、ω、β的线性模型。JCTVC-X0038 QPC方法的QP设置方案表示为
Qt=Qt-1+Δt=
Qt-1+(Δα+Clip3(0, 3,ω(Qt-1+Δα)+β))
(2)
式中:Clip3(γ,φ,θ)表示将θ的取值限定在γ~φ范围内;ω为缩放因子;β为截距因子;Δα为JCTVC-X0038 QPC方法设置的相邻时间层量化参数偏移量的差值。
Δα、ω、β的取值如表1所示,其取值只与时间层相关,与视频内容特性等因素无关。
表1 JCTVC-X0038 QPC方法中的参数取值
下面,通过实验进一步确认JCTVC-X0038 QPC方法设定的具体QP。选择两个典型的具有不同内容特性的监控视频DormitoryHall 和MeetingRoom作为测试序列。图2所示为DormitoryHall 序列和MeetingRoom序列的第1帧及第250帧。DormitoryHall序列是由固定监控摄像头拍摄的宿舍走廊场景,其变化区域由绿色虚线框标注。MeetingRoom序列是由旋转监控摄像头拍摄的会议室场景,其明显变化区域由红色虚线框标注。其中,A区域和B区域分别为摄像头在旋转拍摄过程中视频消失的区域和新进入的区域。结合图2易得出以下结论,相比于DormitoryHall序列,MeetingRoom序列包含的场景内容纹理更加复杂,且变化区域更大,序列整体运动更快。这两个测试序列的详细视频内容特性量化评价参见后文第3.1小节。使用的编码器为VTM16.2[15],其他主要编码参数设置与配置文件encoder_lowdelay_P_vtm中的默认设置一致,如表2所示。表3 所示为JCTVC-X0038 QPC方法最终选择的Δt。
表2 主要编码参数配置
表3 JCTVC-X0038 QPC方法选择的Δt
(a)DormitoryHall序列第1帧
结合式(2)、表1和表3易得出以下结论:JCTVC-X0038 QPC方法给不同测试序列选择的Δt是一样的,即JCTVC-X0038 QPC方法并未考虑视频序列内容特性对QP选择的影响。但是,视频作为视频编码操作的输入信源,信源特性会显著影响视频编码过程中子技术的参数选择与运行效率,最终会显著影响视频编码的整体效率。所以,理论上视频的内容特性会显著影响QP的选择,下一节也将从理论与实验两个角度证明以上推断。综上所述可知,VTM当前推荐的JCTVC-X0038 QPC方法是不优化的,其编码性能还可进一步提高。
2 QP选择影响因素分析
2.1 时间层对QP选择的影响
VVC采用基于预测、变换、量化、熵编码的混合编码框架以消除原始视频中的各类冗余信息,达到数据压缩的目的。从信源的角度看,视频是一系列图像在时间维度上的集合,相邻图像内容的相关性很强,即存在很多时域冗余。VVC采用帧间预测技术[15,17]消除视频中的时域冗余,其基本原理表示为
ri,b=oi,b-pj,b
(3)
式中:oi,b表示第i幅图像的第b个编码块;ri,b表示第i幅图像第b个编码块对应的残差块;pj,b表示oi,b在第j幅图像通过运动估计找到的最优匹配块,第j幅图像是第i幅图像的参考图像。相比于编码块,残差块对应的符号概率密度分布更加趋于不均匀,能量更加集中,其经过变换量化进一步处理后更利于提高熵编码技术去冗余的能力,最终提升视频编码的效率。
由式(3)易看出,第j幅图像的质量会显著影响第i幅图像最优匹配块的选择效率,进而影响残差块中残差值的概率密度分布特征和熵编码的去冗余能力,最终影响第i幅图像的编码效率。所以,给第j幅图像选择的QP不仅影响本图像的编码效率,也显著影响以第j幅图像为参考图像的其他图像编码效率。另外,为了有效权衡编码复杂度和率失真性能,VTM支持的参考图像数量和来源是固定的,其中参考图像数量最大为4[15],LD结构中参考图像的来源参考图1中的箭头方向。由图1易看出,低时间层图像,例如时间0层与时间1层图像,会被更多的图像作为参考图像。综上可以得到第1个推论:相比于其他更高时间层图像,时间0层和时间1层图像对整个视频编码效率的影响更大。
下面从实验角度验证上述第1个推论的准确性。对于实验选择的测试序列,编码器、编码结构、档次、Q0等都与第1节描述的实验设置一致。为了尽量避免不同编码方法得到的码率相差过大,设置时间0层图像的实际编码QP为Q0-Δ1,Qt的取值按照式(1)设置,其中Δ1分别取1、2、3、4,Δ2分别取3、4、5、6,Δ3分别取0、1、2,Δ4分别取0、1、2。Δ1、Δ2、Δ3、Δ4取不同的值就对应着不同的QPC方法。与表3中的数据对比易看出,本实验中设置的Δt包含了JCTVC-X0038 QPC方法得到的所有取值,且在此基础上进行了适当扩展。
率失真性能是衡量QPC方法的关键指标,且通常使用BD-rate[9,14,17-20]作为测度,用符号ΔR表示。ΔR反映了待评价方法在与基准方法在获得同等感知质量的重建视频前提下,可以节省多少码率。首先,将JCTVC-X0038 QPC方法作为基准方法,计算不同Δ1、Δ2、Δ3、Δ4取值组合对应的QPC方法的ΔR。然后,进一步选择Δ2、Δ3、Δ4取相同值而Δ1取不同值的QPC方法,计算这些方法对应的ΔR随着Δ1取值变化时的绝对值变化量。这一数据可以有效反映时间0层和时间1层图像的QP对整体视频编码率失真性能的影响程度。按照同样的原理,分别计算Δ2、Δ3、Δ4取值变化时其对应的ΔR绝对值变化量。具体数值如表4所示。
表4 ΔR的绝对值变化量
由表4数据易看出,对于不同内容特性的测试序列,Δ1对应的ΔR绝对值变化量都是最大的。所以,相比于其他时间层,时间0层和时间1层对于整个视频编码率失真性能的影响是最大的。另外,相比于Δ3、Δ4对应的ΔR绝对值变化量,Δ2对应的ΔR绝对值变化量也明显更大。Δ2反映的是时间1层和时间2层QP之间的差值,所以Δ2对应的ΔR绝对值变化量也部分反映了时间1层图像对于整个视频编码率失真性能的影响。综上可知,表4数据证明了第1个推论的准确性。基于这一推论,权衡方法复杂度与编码效率,本文后续研究只探究Δ1,opt和Δ2,opt的选择,Δ3和Δ4则按照JCTVC-X0038 QPC方法进行默认设置。
2.2 视频内容特性对QP选择的影响
视频作为一幅幅图像在时间维度上的集合,其内容特性可以从空域和时域两个角度评价[21]。空域通常指的是图像纹理复杂度,时域通常指的是视频内容的运动快慢[21]。第2.1小节研究内容说明了参考图像会影响编码图像的编码效率,具体影响程度会与本小节关注的视频空时域内容特性密切相关。通常,视频纹理越简单或运动越慢时,相邻图像内容变化较小,其相关性较强,此时参考图像会对编码图像产生较大的影响,反之亦然。下面通过实验验证上述分析。
选择的测试序列、编码器、编码结构、档次、Q0等都与第1节描述的实验设置一致,但本实验只编码序列的前2帧,第2帧编码时会将第1帧作为参考图像。相比于MeetingRoom序列,DormitoryHall 序列的纹理更加简单运动更慢。图3所示为Q0分别为22、27、32、37时第2帧对应的预测残差概率密度分布。由图中数据易看出,不论Q0取值为多少,DormitoryHall 序列对应的取值接近于0的残差明显更多,概率密度分布曲线的形状更加陡峭,能量更加集中。这表明相比于MeetingRoom序列,DormitoryHall 序列对应预测技术的效率更高,即第1帧对于第2帧的影响更大。这一实验数据验证了之前的分析,即对于纹理越简单或运动越慢的视频,参考图像对编码图像的影响更大。
(a)Q0=22
假定整个视频的编码总码率为Rc,分配给低时间层图像和高时间层图像的码率分别为Rl和Ru。首先,对于纹理简单或运动慢的视频,参考图像对编码图像的影响更大,其对于整个视频的编码效率的影响也更大。其次,由第2.1小节分析及图1易知,低时间层图像会被更多图像做参考图像。结合上述两点可知,对于纹理简单或运动慢的视频,在实际编码时应增大Rl,用更小的QP编码低时间层图像,以优先保证编码质量。在Rc近似不变的情况下,增大Rl意味着减小Ru,即其他高时间层图像对应的QP会增大。这最终会导致时间层图像间的QP差值增大。综上,得出第2个推论:视频的空时域内容特性对QP的选择具有重要影响,且纹理越简单运动越慢的视频,其对应的Δ1,opt和Δ2,opt会越大。
下面进行实验证明上述第2个推论的准确性。测试序列、编码器、编码结构、档次、Q0、时间0层图像编码QP等都与第2.1小节描述的实验设置一致,Qt按照式(1)设置,其中,Δ1和Δ2都分别取1~10之间的整数,Δ3和Δ4被分别设置为由JCTVC-X0038 QPC方法得出的值,即0和1。然后,以JCTVC-X0038 QPC方法为基准方法计算不同Δ1和Δ2组合对应的ΔR。
图4为不同Δ1和Δ2组合对应的ΔR。如图4(a)中红点所示,当Δ1和Δ2分别为3和6时,其对应的ΔR最小,为-3.58%。所以,MeetingRoom序列对应的Δ1,opt和Δ2,opt分别为3和6。同理,如图4 (b)中红点所示,DormitoryHall 序列对应的Δ1,opt和Δ2,opt分别为4和8。这一实验结果验证了第2个推论的准确性。另外,图4和表3的结果也直观地证明了JCTVC-X0038 QPC方法并不是最优的。
(a)MeetingRoom
3 内容自适应的QPC方法
本文提出的SCA-QPC方法也按照式(1)的方案设置每个时间层的QP。进一步基于第2节证明的第1个推论,SCA-QPC方法只探究Δ1,opt和Δ2,opt的选择,Δ3和Δ4则按照JCTVC-X0038 QPC方法进行默认设置。Δ1,opt和Δ2,opt的选择方法将在第3.2小节描述。另外,基于第2节证明的第2个推论,在构建Δ1,opt和Δ2,opt的选择方法时,充分考虑视频空时域内容特性的显著影响。视频空时域内容特性的量化评价将在第3.1小节描述。
3.1 视频空时域内容特性评价
本文采用梯度σ衡量视频的纹理复杂度[22],σ越大表示视频的纹理越复杂,计算式为
(4)
式中:v表示视频包含的图像数;w、h分别表示图像的宽和高;Gp(i,x,y)表示第i幅图像第x行第y列像素4个纹理方向对应的梯度最大值,计算式为
(5)
其中,I(i,x-3+m,y-3+n)表示第i幅图像第x-3+m行第y-3+n列像素的亮度值,gk(m,n)表示第k个纹理方向对应的加权滤波器,其取值如图5所示。
(a)g1(m,n)
采用背景帧差d衡量视频的运动快慢[21],d越大表示视频的运动越快,计算式为
(6)
式中:Ib(i,x,y)表示第i幅图像第x行第y列像素的背景亮度值,计算式为
y-3+n)a(m,n))
(7)
其中,a(m,n)表示加权滤波器,其取值由图6所示。
图6 加权滤波器a(m,n)的取值
表5为DormitoryHall和MeetingRoom两个序列对应的σ与d。相比于DormitoryHall序列,MeetingRoom序列的纹理更加复杂运动越快,而其对应的σ与d取值也更大。所以,σ与d能够比较准确地评价视频的空时域内容特性。
表5 视频评价指标σ与d的取值
3.2 基于反向传播神经网络的Δt,opt (t=1,2)预测模型
由于良好的非线性映射能力和低复杂度特性,反向传播神经网络(BPNN)被广泛应用于回归预测[23-26]。权衡方法准确率和复杂度,本文构建了基于轻量型BPNN的Δt,opt(t=1,2)预测模型,如图7所示。特别说明,本文构建的Δ1,opt与Δ2,opt的预测模型是独立的,但是二者的网络结构是类似的。只是在训练时使用了不同的训练数据,以使其训练好的网络模型和对应的参数组合能够分别适用于Δ1,opt和Δ2,opt的预测。
图7 Δt,opt(t=1,2)的预测模型
最终,SCA-QPC方法的具体实施步骤如下。
(1)对于待编码的视频,分别根据式(4)和式(6)计算其对应的σ和d。
(8)
如表3所示,当大于等于时间3层即t≥3时,图像对应的Δt按照JCTVC-X0038 QPC方法得出的值进行设置。
(4)根据第(3)步设置的QP编码视频,完成编码操作。
4 实验与分析
4.1 Δt,opt(t=1,2)的预测准确度
表6 Δt,opt(t=1,2)的预测结果
4.2 率失真性能
率失真性能是衡量QPC方法编码效率的最关键指标,且通常使用ΔR作为测度[9,14,17-20]。目前,JCTVC-X0038 QPC方法是唯一面向VVC标准提出的QPC方法,且被VTM集成。所以,本小节将JCTVC-X0038 QPC方法作为对比方法,以评估SCA-QPC方法的率失真性能。
所有测试序列分别使用JCTVC-X0038 QPC方法和SCA-QPC方法编码,获得对应的编码码率和失真数据。编码器、编码结构、档次、GOP大小、Q0等与第1节描述的实验设置一致。以JCTVC-X0038 QPC方法为基准,计算SCA-QPC方法对应的ΔR,结果如表7所示。对于所有测试序列,SCA-QPC方法对应的平均ΔR为-4.26%,即相比于JCTVC-X0038 QPC方法,SCA-QPC方法在获得同等质量重建视频的前提下,可以节省4.26%的编码码率。相比于JCTVC-X0038 QPC方法,SCA-QPC方法显著提高了监控视频的编码效率。图8给出了Carpark和DiningHall两个序列的率失真曲线,以直观地感知SCA-QPC方法对应的率失真性能提升。
表7 SCA-QPC对应的ΔR
如表7所示,对于纹理简单运动慢的序列,SCA-QPC方法可以提升较高的率失真性能,例如DiningHall序列对应的ΔR为-8.05%。对于纹理复杂运动快的序列,SCA-QPC方法提升的率失真性能有限,例如ElectricBicyclePark序列对应的ΔR为-0.43%。这主要是因为,如第2.2小节分析,相比于纹理简单运动慢的视频,纹理复杂运动快的视频其对应的Δt,opt(t=1,2)较小,更加接近于JCTVC-X0038 QPC方法得出的Δt(t=1,2)。因此,相比于纹理简单运动慢的视频,SCA-QPC方法对于纹理复杂运动快视频的编码性能提升空间有限,所以其对应的ΔR较小。
5 结 论
本文面向监控视频提出了一种适用于最新VVC标准考虑视频空时域复杂度的QPC方法,实验结果证明了提出方法可以有效提高监控视频的编码效率。本文研究得到如下有意义结论:
(1)从率失真性能角度看,VVC标准当前推荐的JCTVC-X0038 QPC方法不是最优的,其性能还有较大提升空间;
(2)在VVC低时延结构中,低时间层图像对于整个视频编码效率的影响更大;
(3)视频的空时域内容特性是影响VVC量化参数选择的重要因素,且对于纹理简单运动快的视频,其对应的时间层之间最优QP的差值越大;
(4)BPNN可以有效应用于VVC标准的QP选择中。
后续有价值的研究方向包括:适用于屏幕内容视频、360°全景视频等其他类型视频的QPC方法;适用于VVC标准随机接入结构的QPC方法。