监控视频压缩4—Fast ROI-Based HEVC Coding for Surveillance Videos

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

论文:

《Fast ROI-Based HEVC Coding for Surveillance Videos》

原文链接:

Fast ROI-based HEVC coding for surveillance videos | IEEE Conference Publication | IEEE Xplore

速看创新点:

非ROI区域使用两步压缩:快速预测模式选择和快速编码单元深度级别(CU level)选择。

预测模式阶段,将非ROI区域内的预测模式由之前的9种减少为4种,节省预测时间;
深度选择阶段,使用前序的深度选择作为当前CU深度选择的最高优先级。

目录

摘要

1. 简介

2. 提出方法概述

3. ROI检测

4. 基于ROI的快速HEVC算法

A. 快速预测模式选择

B. 快速CU深度级别选择

C. 基于ROI的率控制

5. 实验


摘要

近年来,监控视频越来越重要。HEVC是目前最常用的视频编码标准,不过,实时和高目标质量编码依然是个有挑战的问题。本文提出了一个快速ROI HEVC视频编码系统。首先,使用自动分割生成ROI mask。然后该mask被用到四叉树的块拆分算法中,然后使用率控制算法减少非ROI区域的计算量。对于非ROI区域压缩使用下面3两步:快速预测模式选择和快速编码单元CU深度级选择。使用基于ROI的率控制算法。不同区域的比特分配是基于整图的ROI区域比例进行的。

1. 简介

HEVC使用四叉树编码结构,其中最大编码单元LCU 可以为2Nmaxx2Nmax(Nmax=32)像素数,最小的编码单元SCU为2Nminx2Nmin(Nmin=4)像素数。每个CU深度为(k)可以进一步递归分为4非子CU,每个子CU可以分为多个预测单元PU,如图1是HEVC中CU和PU编码结构。

图1右侧是PU的拆分模式,帧间编码单元CU可以应用所有的模式,帧内编码单元CU只能PART_2NX2N和PART_NXN。其中PART_NxN仅仅当当前CU是SCU的时候被采纳。一个skip-codec CU被认为是特殊的帧间预测模式不考虑编码的运动向量差异和残差信息,仅仅有PART_2NX2N。运动估计ME和运动补偿MC要进行所有的预测模式和深度估计从而选择最优的率失真函数。最新引入的四叉树块拆分算法可明显的改善编码效率,但由于必须找到11个预测模式和4个深度级别的最优结合,会在编码复杂度上激增。

为了解决上述问题,提出了大量研究加速选择过程,early skip检测[3]和编码块标记快速模式选择[4]主要基于终点检测算法,通过分析编码信息:比如skip模式和CBF模式,[5]结合帧级和CU级快速模式选择算法,通过参考前一帧的CU模式来预测当前帧的CU模式,early CU当当前CU为Skip模式[6]时,终止拆分过程。[7]提出基于贝叶斯的快速CU大小选择算法,利用重要和计算复杂度低的特征来进行CU拆分决策。

另一方面,对于固定相机拍摄的监控视频,监控视频中的运动目标区域为主要区域,人们会更加关注,因此叫做ROI区域。HEVC编码算法并没有单独考虑监控视频的特性。直观的想,编码器应该分配更多的计算资源和比特资源给ROI区域提升整体的视频质量。因此,有必要对ROI区域和非ROI区域分开压缩。

基于ROI的算法有三个问题:ROI检测、基于ROI的率控制和基于ROI的计算资源分配,[8]根据提取人脸区域生成了一个像素级的权重图并且提出基于权重的率量化结构,[9] 基于视觉重要性的平均权重和目标复杂度 决定LCU的最大深度。[10] 设计了一个固定预测模式候选列和不同区域的CU拆分终止条件。这些方法的主要缺点是没有完全解决上面提到的三个问题。本文提出了快速ROI HEVC编码系统用于监控视频。主要想法是减少非ROI区域的比特率和计算量。在帧级别,在编码之前进行快速ROI检测算法,输出二值图掩膜。随后,不同区域使用固定因子K分配比特率,目的是为了增强ROI区域的质量。在CU级别,我们提出了两步方法:  对非ROI区域,基于模式选择统计和连续帧的相关性,进行快速预测模式选择和快速CU深度级选择。需要注意的是,对于ROI区域保留原始编码决策过程。

2. 提出方法概述

图2给出了本文提出的基于快速ROI HEVC编码系统,该系统可以拆分为三个部分:ROI检测、基于ROI的快速决策和基于ROI的率控制。该算法在两个级别进行:帧级别,CU级别。

在帧级,进行背景提取算法生成mask,精准识别ROI区域。在这里进行了一些修改,第一帧使用传统方式编码作为初始的背景模型,细节算法会在章节3介绍,ROI和非ROI区域使用不同的参数分配比特率。

在CU级别,首先将CU分为两类:ROI区域的CU和非ROI区域的CU,分别表示为CUr和CUn,不同区域各自使用独立的比特率分配参数和量化参数 。此外,本文提出了两步方法:CUr快速预测模式选择和快速CU层级选择算法。同时,对于ROI区域使用最优的编码块大小。随着对预测模式分布和时序上邻域CUn深度相关性进行分析,一些CU大小和模式可以自适应的跳过,将在第四节详细介绍。

3. ROI检测

已经有许多背景提取的方法被提出,比如GMMM\W4\运动检测滤波。尽管这些方法可以获取准确的结果,但是由于计算量太高不实用。因此,我们利用了一个快速高效的背景提取技术叫做视觉背景提取器ViBe[15]。它是一个软件模块可以从运动图像中提取背景信息。背景模型的初始化使用一帧图,图中的像素都作为样本集。通过比较二维欧式彩色空间的像素值构成的样本集,每一帧都可以生成二元mask,分别指的前景ROI和背景ROI。但是这个算法在下列情况检测也会出问题:比如对于活动背景、突然光照变化检测效果差,第一帧出现运动目标和前景目标在画面中停留时间太长。

为了解决上述问题,选择了默认下采样因子从16~5,甚至为1来加速背景模型中出现的ghosts。ViBe空间更新机制确保对于固定的背景目标更快。

此外,进行了一些后处理操作保留区域分割的完整性。首先,dilation操作应用于扩展前景区域的边界。前景像素区域的扩展同时该区域holes会变得越来越小。其次,从前景中移除目标如果contour参数小于L时:

其中perimscale是控制参数(本文设置为60)。最终的检测ROImask 如图3d所示。

4. 基于ROI的快速HEVC算法

相比H264/AVC中的固定 16x16微块,CU大小的灵活性是HEVC最重要的贡献之一。然而,比较CU大小详尽的搜索策略和预测模式都很耗时。一般来说,监控视频通常很长一段时间拍摄固定区域,因此背景几乎不动,如图4,CUn的一些特征可以利用early  termination. 本节,会进行多样的实验来研究CUn和最优编码选择的关系。然后提出快速预测模式选择和CUn的快速CU深度级选择。后续会介绍基于ROI的率控制方法来提高ROI区域的主观质量。

将不同深度(大小)的CU分为CUr和CUn(根据分割二值图得到)。如果在某个CU中ROI区域像素数为0,那么该CU就会标记为CUn,否则,标记为CUr。

A. 快速预测模式选择

为了探索最优选择的规律,在HEVC参考软件上测试每个深度级别的最优预测模式分布。

基于不同模式的比例,将所有的预测模式分为三类:SKIP&Inter2Nx2N,Inter2Nx2N&Inter2Nx2N和其他。如表1所示,大的size比如skip模式和帧间模式2Nx2N, 2NxN,Nx2N占据了视频的95%以上,其他模式的CU大约占3.7%,非ROI区域有大量的平坦,同质区域(比如地面、建筑物、天空等),这些更适合于用大的预测size进行编码。选择一个大的size意味着更少的信息并且有更少的残差,这些对于CUn都十分有效。

避免穷尽搜索那些不大可能的预测模式,重新定义了候选预测模式序列:skip,Inter2Nx2N,Inter2NxN,InterNx2N。另一方面,skip和Inter2Nx2N 超过了90%。利用0变换系数层级进行skip模式的early termination和 Inter2Nx2N。具体的,在检查所有的预测模式后将会获取CBF, 表示变换单元TU包含了非0系数。如果在编码了一个luma和2个chromas之后CBF是0,将直接跳过后续的预测模式。

 

B. 快速CU深度级别选择

在HM中, 对于每个QP,CU深度级别有固定范围0~3,这以为着每个CU单元有85种可能性(4^0+4^1+4^2+4^3)计算次数。随着深度的增加计算复杂度增长迅速,和预测模式选择相似,固定地面、背景和缓慢运动区域通常是深度较浅。此外,对于相同的序列,表2显示QP更大时,浅的深度级别所占比例也更大,因此更大的QP更适合更大的块。这个也可以用RD损失函数解释,当QP更大时,RD损失函数中比特率贡献更大。

很明显,穷尽所有的深度效率差,表2可以看到,只有9.7%的CU四叉树块会被指定为深度3,低比特(高QP)时,选择“3”深度级别很少 只有0.5%。因此,级别较深的ME和MC可以直接在某些场景跳过。此外,非ROI区域的CU 内容高度相关,因此深度相对于前一帧变化不大。因此,可以使用深度信息的时序相关性来预测当前CUn的最大深度。

本文提出的方法中,设置前面帧的搜索顺序为当前帧的高频深度级别。预测的深度级别(depth_pred)将设置为最高优先级的深度值,在depth_pred之后剩下的深度搜索过程可以直接跳过。不过,这个机制的主要缺点是CU不可能再次获取更大的depth_pred,这对于画面中有突变目标的适合影响较大。为了解决这个问题,使用控制变量CBF来评估当前深度(depth_curr)的编码性能,只有当depth_pred小于等于depth_curr 和CBF的depth_curr 等于0的时候才可以停止CU继续拆分。

本文也进行了一些实验来验证提出的两个快速算法的性能。通过利用HM中的穷尽搜索预测模式和CU深度级别,表3可以看到本文方法的准确率很高。

C. 基于ROI的率控制

本文使用论文[11]中的方法来提升ROI区域的目标质量。在ROI检测后,帧级别的比特率分配会拆分为两个部分,根据每个区域的像素数和常量K,K是一个可选择的因子来控制ROI区域和非ROI区域每个像素分配的比特。在CU级别,比特分配主要依赖于每个区域分配的比特和相同区域每个CU的权重。CU编码后对应区域的参数会更新。

5. 实验

如表IV所示,本文提出的方法可以节省大约56%的编码时间。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Eva_Hua

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

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

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

打赏作者

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

抵扣说明:

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

余额充值