监控视频压缩2—Block-Composed Background Reference for High Efficiency Video Coding

监控视频不同于网络视频等,其特殊性为背景区域一般不变(固定相机拍摄),或者变化很有规律(移动相机拍摄)。本系列记录针对监控视频的视频压缩各类方法。

论文:

《Block-Composed Background Reference for High Efficiency Video Coding》

原文链接:

Block-Composed Background Reference for High Efficiency Video Coding | IEEE Journals & Magazine | IEEE Xplore

速看创新点:

1.提出一个新的背景参考帧生成方法,通过块更新逐步生成背景参考帧,提出的方法不需要加入未来的图像帧或者等待更多的编码帧,最重要的是高质量的背景参考帧可以完整的生成或者部分生成。因此,本文的方法不仅适合监控视频。2,提出了一个高效选择BCTU的方法,考虑到了时序和空间平滑信息;3,提出了一个模型对于BCTU选择编码参数,包括量化参数和对应的lamda值。

目录:

1 摘要

2 简介

3 相关工作

3.1 背景建模

3.2 背景生成和视频编码中的压缩

4 提出的BCBR编码框架

5 背景CTU选择

5.1 虚拟背景VBA生成

5.2 使用空时关系限制得到BCTU候选块

5.3 使用ranking策略选择最优BCTU


1 摘要

       本文提出了一种用于HEVC的基于块的背景参考方法。对于一组GoP,第一个重建帧作为初始的背景参考,因此它很可能包含前景内容。在后续的编码中,一些背景编码块(CTU)压缩程度会更大。这些重建的CTU单元用来更新背景参考同时替换掉前景内容。最终,将会生成一个高质量的背景参考图。本文主要贡献有三点:1,背景参考帧是逐渐随着块更新而生成的,而不是整图的更新,这样对于视频传输更加友好,不会出现视频比特流激增的情况,更适合于实时应用场景;此外,对于背景复杂的情形也能生成高质量的背景参考图。2,  通过同时考虑时间和空间信息来选择背景CTU。3,通过考虑整副图的活动性,提出了一个模型来确定背景CTU的编码参数。

      本文提出的方法已应用到HEVC,实验结果表明编码效率上有很大的提升。相比HEVC,本方法在基本不增加编解码复杂度的情况下,监控场景视频能够节省14%码流。对于HEVC测试序列也平均节省7.3%码流。

2 简介

      过去,视频编码的参考帧选择整个重建图像。这样做的一个优势是:参考帧和待编码帧的一个对应关系可以很好的利用、包括运动估计和运动向量编码,但是这样的假设会引入一个问题,那就是待编码图像的一些区域无法找到匹配的参考区域。以视频背景区域为例,由于有前景目标的存在,背景的整个区域不会出现在独立的一帧图像里。使用多参考帧就是本问题的一个解决方法,但是这样做需要多参考帧的缓存和无法完全利用到视频背景信息。

       在一些应用中,比如视频监控和视频会议中,背景是固定的,摄像头在很长一段时间都不会动。为了更好的利用该特性,一些文章[1-4]提出使用特定参考帧来编码背景区域。这样的工作又可以分为两类:选择一帧或者生成一帧图像作为特定参考帧。当然,这样做也存在缺点,一是因为前景目标的存在,仅仅选择一帧作为背景参考帧往往无法包含背景的所有内容,二是生成一幅图必须加入后续的多帧图像或者等待许多编码帧,也无法实时应用。此外,生成的图像又必须进行高质量压缩,这又会增加视频的 大小。因此,上述这些方法可以用在监控和会议视频,但是并不适合于有大量运动前景目标的视频序列,因为前景目标难以从背景中过滤掉。

       为了解决上述问题,本文在HEVC编码框架上,提出了一个基于块的背景参考方法BCBR。对于一组图像GoP,第一帧图作为IDR帧,作为初始的背景参考帧。在后续的编码中,每帧图挑选出一些背景编码树单元BCTU,被挑选的BCTU使用高质量压缩并且更新背景参考帧。更新的背景参考帧可直接作为下一帧图像编码的高质量预测。编码几帧之后,完整的高质量背景参考图就生成了。

      本文提出的编码框架有三点贡献:1,提出一个新的背景参考帧生成方法,通过块更新逐步生成背景参考帧,提出的方法不需要加入未来的图像帧或者等待更多的编码帧,最重要的是高质量的背景参考帧可以完整的生成或者部分生成。因此,本文的方法不仅适合监控视频。2,提出了一个高效选择BCTU的方法,考虑到了时序和空间平滑信息;3,提出了一个模型对于BCTU选择编码参数,包括量化参数和对应的lamda值。

3 相关工作

3.1 背景建模

       一般来说,现存的背景建模方法可以分为两类:有参数和无参数的。[11]中的背景图获取是通过一段时间的视频然后移除目标得到。因此,最简单的方式是直接取一段时长的图片平均值作为背景图。但是该方法需要大量的图片,并且当前景目标长时间不动的适合背景图会生成失败。

       为了解决上述问题,[11]提出使用权重混合分布来对背景进行建模,并且使用EM算法学习和更新模型参数。这一类有参数的方法都需要用户根据潜在假设设置相关参数,此外这类方法在视频内容变化剧烈时性能较差。

       另一类方法使用贝叶斯建模、kernel密度估计、均值偏移等,这一类都是无参数的方法。计算复杂度要比上面的参数类方法高。

3.2 背景生成和视频编码中的压缩

       尽管提出了大量的背景建模方法,这些方法也得到了广泛的应用,但是他们通常用于视频内容分析。随着视频编码在硬件系统和并行系统中的广泛应用,背景生成使用的内存不能太大。前面提到的大多数方法都需要大量的缓存帧对背景建模,因此无法在视频编码中实用。对于大多数应用,比如监控和视频会议,需要低时延的编码确保实时性。此外,只有高质量的视频背景才可能提升视频编码的性能。

       视频编码中使用的背景生成算法,一类算法尝试使用前面的若干帧生成背景,因此不需要将背景参考帧插入比特率中。[2]和[19]的背景参考帧是直接从重建图中选择的,[19]提出的最优背景参考帧选择是通过比较替换误差(替换误差:替换前后运动补偿向量的误差)得到的;此外还有论文使用若干帧合成虚拟背景,或者视频中出现最多的帧作为参考帧等。可以肯定的是使用高质量的背景参考帧可以提升编码性能和计算效率。

4 提出的BCBR编码框架

       对于独立背景参考帧,大多数视频编码框架都是基于块的,本文提出了一个长时的背景参考帧基于每帧重建帧的CTU块。首先,重建的I帧作为初始背景参考;随后对每帧图像的编码时,若干BCTU被检测出,但是只有其中的一部分CTU需要高质量编码。背景参考帧的更新就是基于这类高质量重建CTU。本文的方法适用于摄像头固定的场景,整体流程如图1。

1)背景块选择:

视频背景不仅有强的时序关联,还有强的空间关联。因此,从时间和空间关系两方面进行限制,生成BCTU候选块。为了从这些候选块中选择最优的CTU,对它们进行了排序,背景块选择过程将在后面详细介绍。

2)编码参数选择:

由于背景在监控视频中很长一段时间都会出现,因此重建的背景质量对于视频的质量贡献会很大。因此对于这些CTU使用高质量的编码对提高视频编码效率非常有帮助。这些选定的CTU使用小的QP,其他的CTU使用正常的QP。此外,包括视频每帧图像的光照变化和一组GoP中其他图像都对BCTU有影响。为了结合这些因素,本文设计了CTU级别的量化算法。

3)背景参考帧的更新:

当完成了对当前帧的编码后,背景参考帧缓存中的CTU要进行更新。新的背景图将作为长时参考帧对下一帧图进行编码。当一个新的IDR帧来的适合,背景参考帧将会被刷新并使用重建的IDR帧重新初始化,然后进行新的BCBR过程。由于解码端没有足够的信息,因此BCTU标记信息需要传到解码端。提出的BCBR技术在HEVC参考软件上实现了 同时解码端也需要修改。

5 背景CTU选择

 本文提出的背景CTU选择算法如图2所示。首先生成虚拟背景anchor-VBA,然后和待编码帧的每个CTU进行比较。根据时间和空间限制挑选BCTU候选。对所有的BCTU候选进行排序来选择分数最大的M个BCTU,并使用高质量的QP进行编码。、

5.1 虚拟背景VBA生成

核心:两个CTU是否差异足够小,

为了判断当前CTU是否是BCTU,VBA作为背景anchor,但是VBA的生成必须考虑复杂度,复杂度不能过高,因此本文提出只使用像素亮度(Y成分)建独立高斯分布模型,VBA生成过程伪代码如下所示

 上述算法取当前像素强度值和关于当前像素的模型作为输入,同时返回VBA像素值和更新高斯模型。对于每个新的像素强度值,需要对其进行匹配来判断该像素是否属于同类。阈值选择当前高斯模型的1.5的方差,或者一个相对小的值。

上述伪代码提到的期望、方差、权重的更新公式如下所示:

其他情形下,差异比较小时,像素强度基于模型的权重,可以考虑为背景模型,当前帧的像素会被舍弃。否则,模型参数会使用像素强度重新初始化。考虑到背景的一些部分也会变化,比如视频中有一辆新的停止的汽车,我们使用一个连续舍弃的计数。当它超过了一个确定值,背景模型的新的参数需要被利用,

5.2 使用空时关系限制得到BCTU候选块

核心:是否长时间出现

首先,对于视频背景的强时序关系一般指两方面:长期相似性和短时关系的高概率。一方面,长期相似性指的是背景在很长一段时间内不会变化,比如VBA的高权重部分;另一方面,背景出现在连续两帧中的概率很大 ,为了高效的检测BCTU,上述两个特性都需要在VBA候选块的高权重部分使用(高权重有更大的概率是背景)

当VBA中分配的CTU有足够多的高权重像素时,比如大于80%。VBA的CTU就可以作为测试当前CTU的anchor。计算当前CTU和VBA中分配CTU的均方差。

上式中Nhw是相关VBA中 CTU的高权重像素的数量。上式中Ohwvba是VBA中的高权重CTU,

如果当前CTU不满足公式3的条件适,就会从候选BCTU移除。当VBA中分配的CTU没有足够的高权重像素时,当前CTU和前一帧编码图的CTU的MSE就会替换公式3。thvba记为th1.

此外,如果MSE满足公式4 的条件,会将其保留在BCTU候选集中。否则,直接将其移除不需要再考虑后续的空间关系条件。公式4中的thy_mse和thc_mse分别为th1和th1/4

 

考虑到运动的前景目标也可能在短时间内停留,这些部分在上面的时序限制下会作为BCTU候选。比如图3的情形,为了避免该情形,需要在CTU边界处进行梯度平滑测试 即使当前的CTU满足上述的时序条件。尤其是,对于当前BCTU将被放入背景参考帧,使用一个边缘检测器来检测当前BCTU的边界以识别是否有异常边界。对于异常边界像素在当前BCTU边界的情形,一般会有较高的梯度,但是它的邻域像素一般不是边缘像素。如果这样异常的边界像素存在,空间条件不满足,那么当前BCTU也将被剔除。

最后,当BCBR中分配的CTU已经更新了,对检测CTU和分配的BCBR中的CTU之间MSE进行计算,当该值超过了th1,则检测的CTU被任务是新的背景区域,它将保留进行后续的处理过程。否则,相似的部分依然保留在BCBR中,并不需要更新BCBR中的CTU。这类CTU叫做伪BCTU(PBCTU),它的参数后续讨论。显然,阈值th1和th2对BCTU的选择有影响,本文通过实验发现分别取6和10效果较好。

5.3 使用ranking策略选择最优BCTU

当满足空时关系的BCTU候选块的数量比一副图指定的BCTU块少的时候,比如只有一帧中1/12的CTU数量,所有的候选块都要进行高质量编码。否则,排序过程将在所有的候选块中进行,拥有最高分的CTUs将会成为最终的选择。

评价当前CTU是否更好有以下两个原则:

1)更小差异的CTU(VBA中分配的更高权重的CTU)对后续编码图引入的误差更小

2)更高稳定性的CTU意味着背景会在某个区域中出现时间更长,因此BCBR有更大的概率被参考。

背景分布一般遵循标准高斯分布,那么当前CTU块的作为参考块的概率为:

 N是当前CTU的总像素数,f(x)是标准高斯分布的概率密度函数,最终,拥有更高分的Mbctu被选择为该结构的背景参考。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Eva_Hua

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值