李 豪 滕国伟
(上海大学通信与信息工程学院 上海 200444)
近年来,随着科技的发展,人民生活水平日益提高,越来越多的人将精力放在享受生活中。为保障人们的生命财产安全,监控设施成为了公共场合不可或缺的必需品。在如今大数据时代,视频数据存储量出现爆炸式的增长,视频监控摄像机从早期的10万像素到现在的200万、500万像素,如何妥善存储视频成为至关重要的问题。
监控视频相较于普通视频有一个很明显的区别,即大多数监控视频的背景是几乎不变的,或者说变化极其缓慢,因此监控视频存在很大的背景冗余。我们可以利用这一特点,对监控视频进行编码时添加背景编码,后续图像在编码时候参考背景帧,可以在编码背景区域节省比特数,从而提高视频编码效率。
现有的背景建模技术有很多[1-4],最早提出背景建模时,有人提出单纯地挑选一帧作为背景图像被后续编码参考,这种做法随机性太强,而且很难出现一帧纯粹都是背景没有前景的图像。后来提出选择一定数量的图像作为训练集,对训练集内图像取均值来得到背景图像,相比之前的方法,该方法背景图像有一定程度提高,但是由于前景的存在,求均值后会出现鬼影,不利于后续的参考。目前,背景建模的模型有很多种,大体上可分为两类:参数模型和非参数模型。参数模型典型的代表有均值背景模型、单高斯模型、混合高斯模型[1]等,建模所得的背景效果也逐步提高,从均值建模所得背景中含有“鬼影”到混合高斯模型生成比较纯净的背景,进一步提高了编码效率。非参数背景建模模型有贝叶斯模型、均值漂移[5]、核密度估计[3]等,相比于参数模型,非参数模型不需要指定潜在的模型,不需要明确的估计参数,所以它们能应对任何数据分布未知的情况。但是,非参数化模型在时间和空间复杂度上不如参数化模型那么有效,计算复杂度成为了它的主要缺陷。之后出现了快速高斯变换[6]、新ball-tree算法[7]、核密度估计和K近邻(KNN)分类等多种算法来提高非参数化模型的速度。
尽管现有的背景建模算法已有许多,但是受到系统和硬件的限制,用于背景生成的内存不会太大,而且考虑到建模的速度和质量,满足视频编解码需求的算法却很少。Zhang[8]提出的低复杂度高性能算法获得的背景相对纯净,但是在编码时候需要额外高质量编码背景帧,这造成了编码背景图像时出现码率激增,影响编码性能。因此,考虑采用已编码的图像训练生成背景来避免单独编码背景图像导致的码流激增的出现。文献[9]和文献[10]中,提出在已编码图像中选择静态区域多的图像直接作为背景图像,文献[10]提出通过比较位移误差方差来选择最佳背景图像,但是用于运动补偿的位移矢量存在不准确性,最终选择的背景图像准确性不高。而已编码图像中,不含有前景的纯粹背景图像是几乎不存在的,所以上述两种方法可行性不高。Chen[11]在2017年提出的BCBR算法中提出了基于块更新的背景编码模式,而且获得的背景块可供实时参考,为背景编码技术的发展做出了重大贡献。
然而,现有的背景建模算法依旧存在着以下问题:(1) 训练生成完整背景图像后单独编码,会造成码率激增问题。(2) 视频序列中前景的时域相关性很强,对生成纯净的背景图像有很强干扰。(3) 生成高质量背景图像所需建模时间较长。为了解决上述问题,本文提出基于时域相关性的背景建模算法。其中,LDBCBR算法引入帧差IBBS来削弱前景的时域相关性,同时使用BCBR生成背景图像作为临时背景参考帧,当BCBR和LDBCBR在相同位置都生成背景块时,将两者生成的背景块进行二次建模获得最终的背景图像。
众所周知,监控、会议视频的摄像机几乎是静止不动的,纯净的背景图像可以有效地提高编码此类视频的效率。为了避免单独编码背景图像带来的码率激增问题,削弱前景时域相关性对背景建模的干扰,在此提出基于时域相关性的背景建模算法。图1是该算法的框图,主要可以分为以下几点:
(1) 临时背景块的生成:不仅监控、会议视频的背景图像存在很强的时域和空域相关性,而且前景也存在强烈的时域相关性。降低前景时域相关性能得到更纯净的背景图像,所以本文提出LDBCBR算法,该算法在BCBR算法的基础上引入帧差IBBS来降低前景的时域相关性,IBBS代表背景块搜索间隔。其中背景块的筛选条件参照BCBR算法,引入帧差IBBS之后像素的高斯模型的均值方差的计算如下式所示:
(1)
(2) 二次背景建模:LDBCBR算法能生成更纯净的背景图像,但建模所需时间也相应增长,BCBR算法建模速度相对更快,但生成的背景图像质量不高。因此,我们将LDBCBR和BCBR结合使用,把BCBR建模生成的背景图像作为临时背景参考帧,当BCBR和LDBCBR在相同位置都生成背景块时,将两者生成的背景块进行二次建模获得最终的背景图像。
图1 基于时域相关性的背景建模算法框图
为了提高监控类视频的编码效率,在此提出基于时域相关性的背景建模算法。该算法削弱前景的时域相关性。由于LDBCBR削弱前景的时域相关性,导致建模时间增长,而BCBR算法相比于LDBCBR能更快地生成背景图像,因此本文将把LDBCBR和BCBR结合使用,使用BCBR算法生成临时背景图像供后续图像编码参考,同时使用LDBCBR算法削弱前景时域相关性进行背景建模,将两者结合解决了BCBR算法建模生成的背景质量不高和LDBCBR建模时间长的问题。当BCBR和LDBCBR在相同位置都生成背景块时,将两者生成的背景块进行二次建模获得最终的背景图像。
LDBCBR算法引入帧差IBBS加大背景时域搜索的间隔。对于前景出现频繁的编码块,IBBS越小,前景时域相关性越高,背景建模干扰性越高;随着IBBS的增加,前景时域相关性减小,相同时间内背景搜索的次数减小,背景建模所需时间增长。由此可以推测,当IBBS从0开始逐渐增加,前景时域相关性逐渐降低,编码效率逐渐提升,当IBBS增大到特定值时,编码效率提升达到最大;随着IBBS继续增大,图像的时域相关性变化越来越小,但相同时间内背景搜索的次数持续减小,导致生成纯净背景的时间持续增长,最终编码效率下降。下面通过实验验证不同IBBS值对编码性能的影响,实验所用测试序列为AVS工作组标准测试序列。
在视频编解码领域,通常用bitrate和PSNR来衡量编码性能,BD-Rate把两者综合起来作为一个衡量指标,其中BD-Rate值为负代表性能提升。由于前景运动情况不同,建模后性能增益也不同。图2所示为本文算法和BCBR算法对比的IBBS-BD-Rate曲线图,其中BD-Rate为测试序列的平均BD-Rate。
图2 IBBS-BD-Rate编码性能曲线图
图中横坐标为背景时域搜索的间隔IBBS,纵坐标为BD-Rate,散点代表当前IBBS值所对应的平均BD-Rate,可以看到IBBS从3递增到18的过程中,总体上BD-Rate随着IBBS的增大先减小,当IBBS增大至某一特定值时,BD-Rate达到最低值,之后IBBS继续增加时BD-Rate又逐渐增大。Fitted curve为拟合出来的IBBS-BD-Rate曲线,通过拟合公式可以计算得到当IBBS为11时,BD-Rate取得最低值,此时编码效率提升最大。
当BCBR和LDBCBR在相同位置都搜索到背景块时,把搜索到的背景块作为输入图像进行二次建模来进一步削弱由于抖动、重影、前景不规则运动对背景建模的影响。δ代表当前临时背景块pbi,j和LDBCBR筛选出的ldi,j之间的偏差,可以用式(2)计算得到,difnum的计算如式(3)所示:
(2)
(3)
式中:MAXCU=64为CU的最大尺寸,i和j为一个CTU中的横纵坐标,遍历pbi,j和ldi,j像素差,计算两者的偏差,若δ<1%,则认为两个背景块差异极小,将pbi,j作为当前纯净背景块被长期参考;否则,判定两个块差异较大,ldi,j将作为临时背景参考块,继续建模搜索。
这里我们对本文提出的算法和AVS2基准档次以及最近提出的BCBR算法进行实验对比,实验在AVS2参考代码RD19.2上进行测试。
为了验证本文所提算法的编码性能,将其与BCBR算法和AVS2基准档次进行比较,把AVS2测试模型RD19.2作为基本实验平台,本文所有实验均在通用测试条件的低延迟配置(LDP)中测试。
表1是实验采用的测试序列,这些序列都是AVS2工作组的标准测试序列。由于本文提出的算法是针对长时间背景序列作出的改进,所以选取的是帧数较长的监控测试序列。另外,我们用BD-Rate[12]来衡量编码器性能,以此来判断背景建模算法性能。
表1 测试序列
(1) 重建背景对比 图3是Overbridge视频的原始图像,图4为建模生成的背景图像。其中图4(a)、(c)为本文提出的算法生成的背景,(b)、(d)为BCBR算法生成的背景。对比图4(a)、(b)可以发现,图4(b)中一名男子被误判为背景留在背景帧中,而图4(a)则是纯净的背景图像。图4(c)、(d)是Crossroad序列建模生成的背景图像,可以看到图4(d)中有较多人影残留在背景图像中,并且有一名男子被误判为背景存留在背景图像中,而图4(c)仅有些许人影残留,对比发现本文所提算法生成的背景质量相比于BCBR算法有很大提高。
图3 PKU_overbridge原始视频
(a) (b)
(c) (d)图4 重建背景图像对比
(2) R-D性能分析 表2是本文算法与BCBR算法对比的实验结果,表3和表4是BCBR算法和本文算法分别与基准的实验对比。其中Overbridge背景变化较少,前景移动相对较少,所以编码效率提升最大,而Office和Crossroad前景移动频繁且背景变化相对较大,总体编码性能提升不大。但与BCBR算法相比,由于Campus、Office和Overbridge的前景时域相关性较强,采用本文算法降低了前景的时域相关性,提升了背景图像质量,最终算法性能提升较大。综合来说,本文算法与BCBR算法相比,在Y、U、V分量上平均BD-Rate收益达到3.12%、13.21%和11.26%,平均BD-PSNR提高0.05 dB,与基准档对比BD-Rate和BD-PSNR收益达到25.70%和0.79 dB,编码性能表现都优于BCBR算法。
表2 本文算法与BCBR算法性能对比
表3 BCBR算法与RD19.2基准性能对比
表4 本文算法与RD19.2基准性能对比
图5为实验测试序列对应的RD曲线,从图中可以看到本文算法与基准相比,在相同码率情况采用本文算法编码的图像PSNR更高,在相同PSNR情况下本文算法所需码率更少。由此可见本文算法在监控序列编码的表现优于BCBR算法和基准档次。
(a)
(b)
(c)
(d)图5 测试监控序列的RD曲线
本文提出了一种基于时域相关性的背景建模算法,该算法对BCBR算法作出改进,采用BCBR算法和LDBCBR算法同时建模,并将建模所得背景图像作为输入图像二次建模。LDBCBR算法使用帧差IBBS减小前景的时域相关性,再通过二次建模进一步削弱了前景对背景图像的干扰,获得更纯净的背景图像。最后通过实验验证,本文所提算法相比于BCBR算法,BD-Rate(Y)增益为3.12%,BD-PSNR提升0.12 dB,相比于基准档次,本文算法的BD-Rate(Y)增益为25.7%,BD-PSNR提升0.79 dB,有显著提升。
本文提出的算法主要针对监控视频等摄像机长期固定的视频,对于此类序列有很好的编码提升,但是对于移动的视频序列,目前还没有很好的解决办法。未来考虑将基于块更新的背景建模适用于更多更复杂的场景中。