蔡鉴明,张贤贤,梁 月
1.中南大学 交通运输工程学院,长沙410075
2.智慧交通湖南省重点实验室,长沙410075
道路交通视频由道路两旁或上方安装的摄像设备拍摄得到,满足了人们对交通场景实时监控的需求。道路监控视频设备大量建设,海量视频数据在交通视频系统累积,给系统的存储容量和传输带宽提出了一定的要求。HEVC是目前最先进的视频压缩标准,通过将细节丰富区域自动划分为相对小的块,保证人眼敏感信息的编码失真最低,使重建视频的主观质量提升。在码率可控与失真容忍度内,充分利用交通监控视频的特性提高编码压缩效率,是交通监控视频编解码研究与应用的关键。
根据监控视频运动区域显著和背景长时间不变的特性,基于感兴趣区域(Region of Interest,ROI)和基于背景建模编码方法受到广泛研究。ROI 编码牺牲视频非显著性区域的资源,将更多的资源分配给人眼关注区域。Μeuel 等[1]在编码时只传输ROI 区域,实现了传输速率大幅度的降低;Κouadria等[2]基于ROI编码,使传输能量进一步集中;Guo等[3]将ROI编码到压缩流中,可直接提取用于分析和识别任务;ΜPEG-4 标准[4]基于对象编码,将视频内容分成若干时间或空间上相互联系的视频对象,并对不同对象分别解码。从交通视频中提取的显著区域或视频对象包括交通流识别特征和背景识别特征,而对交通视频的分析只要求保证交通特征。
背景建模编码方法通过增加高分辨率的背景图像,去除长期场景冗余。Μa 等[5]在编码端和解码端提前建立空间维度的车辆和背景字典库;Tian 等[6]将视频图像分为前景和背景像素块;Dey 等[7]为了提高监控视频传输实时性,直接从HEVC 编码流中提取前景;中国音视频编码标准(Audio Video Coding Standard of China,AVS)的伸展档次AVS-S[8]定义了5 种编码图像,除了图像帧(I 帧)和参考帧(B 帧和P 帧),又增加了背景帧(G帧)和背景预测帧(S帧)。额外构造背景图像作为长期参考提高了预测准确性,而交通监控视频中的静止前景(如停车等待的车辆)也属于重要的前景区域,在更新背景模型时难免会被当成背景。
交通流是车辆或行人在道路上的前向运动所形成的车流或人流,具有连续流和断续流两种状态。外界光照的缓慢变化使交通背景的亮度或色度随之改变,风的流动使背景物体产生重复微小的晃动,作为交通背景的物体一般情况下不会产生更大范围的变动。本文为了去除交通背景冗余,保证交通显著特征,在交通流流经(运动分布)区域构造运动能量图,运动能量图以外的区域形成掩模,以根据交通运动特性编码。
使用HEVC 编码标准的测试软件HΜ16.5 编码视频,在随机访问编码和低延迟编码两种参数配置下进行编码实验,测试视频提取帧(第1 帧)如图1 所示。通过解析压缩码流,分析标准编码情况下的空间和时间特性。
图1 测试视频(第1帧)
HEVC 将图像宏块大小从H.264/AVC[9]的16×16 扩展到64×64,便于高分辨率压缩。同时,采用更加灵活的编码树单元(Coding Tree Unit,CTU)划分结构,使单元划分更加符合纹理特征。CTU包括编码单元(Coding Unit,CU)、预测单元(Predict Unit,PU)和变换单元(Transform Unit,TU),单元的分离使它们能够更优化地完成各自功能,如图2 所示。单元划分越小,编码所需空间复杂度越高。
图2 CU、PU和TU划分情况
根据编码流解析结果,分析编码单元的空间划分特性。图3(a)为单帧图像的CTU 划分示意图,从整体来看小的单元划分较多;图3(b)为编码流中CU 划分,视觉显著部分清晰地呈现出来;图3(c)为TU划分,道路车辆多的方向量化细致,车辆少的方向上量化粗糙;背景部分(建筑大楼、树木、横向的道路、交通标志牌等)同样量化比较细致;图3(d)为PU划分,该单元的划分相较于CU 和TU 来说会更加复杂。HEVC 编码对视频中的背景和前景采用一致的处理方式,小的编码单元占据视频帧的大部分区域。
图3 编码单元的空间划分
视频由时间连续的图像序列构成,在对其进行压缩时,首先在时间维度分割成若干个图像组(Group of Picture,GOP)。为了适应不同的应用场景,标准编码设立了GOP的三种编码结构:帧内编码,每一帧图像均按照帧内方式进行空域预测,编码复杂度高;低延时编码,只有第一帧图像按照帧内方式编码,随后各帧作为参考帧,以帧间方式编码,编码时间花费少;随机访问编码,周期性地插入随机访问帧,解码时不需要参考已经解码的图像帧。实验视频数据的分辨率较高,为了满足交通监控视频实时传输的要求,选择低延迟和随机编码配置。
根据编码流的编码比特分配情况,分析编码单元在压缩过程中的时间特性,结果如表1 所示。其中,变换花费了编码时间的70%~80%,预测占据了编码时间的10%~20%,分割过程仅占3%~5%。变换步骤占据了大部分编码时间,优化单元变换是降低视频编码复杂度的关键。
表1 低延迟和随机访问配置环境下平均比特分配
HEVC的变换模块通过使用离散余弦变换(District Cosine Transform,DCT)将空间域中以像素形式描述的图像转换至变换域[10]。实验视频细节纹理信息多,需要大量数据描述,编码空间复杂性高;视频图像较多的能量分布在高频区域,需要进行大量精细处理,编码时间复杂性高。HEVC 对单帧图像中背景和前景区域采用一致的编码单元划分,不能有效去除场景冗余,也没有考虑交通流运动规律。
在交通监控视频中,运动能量图刻画了不同位置运动发生的概率,表现为交通流流经区域。创建并保持一幅最大场景的运动能量图,取反获取掩模,精简掩模区域的时空编码特性,并根据两部分区域的特性采用合适的视频编码方案。
实验视频数据的第2、35、105 和143 帧如图4 所示。使用背景减除算法获取实验视频序列的二值运动前景图像(图5),根据运动发生的概率得到运动能量图(图6)。运动能量图能够完全覆盖交通流流经区域,避免复杂的前景分割。
图4 原始视频第2、35、105、143帧
图5 二值运动前景图像
图6 运动能量图的获取
步骤1 采用简单快速的背景建模算法获取原始视频I(x,y,t)的前景运动序列D(x,y,t)。其中(x,y)表示当前视频图像中的像素位置,t 表示当前视频帧的处理时间。
步骤2 根据运动发生的概率,得到运动在空间上的分布P(x,y,t),计算过程如式(1):
步骤3 对运动空间分布图P(x,y,t)进行形态学处理,定义结构元素的形状,进行闭运算,先膨胀再腐蚀,以减少小封闭空间的干扰,得到P'(x,y,t),如图7所示。
图7 形态学处理
运动空间分布图取反得到掩模,根据掩模区域的运动分布规律判断摄像机运动情况;当拍摄角度或焦距变换时,需要更新单帧掩模。
在视频编码时,运动矢量(Μotion Vector,ΜV)由摄像机运动和物体运动两个因素累积[11]。在摄像机不发生变动的情况下,掩模区域的像素变化幅度微小;摄像机发生变化时,掩模覆盖区域ΜV的分布随之改变。将摄像机运动估计为视频帧中ΜV的主运动方向。
在构造全景图(监控摄像机所能拍摄到的全部范围)的基础上获取全局掩模。构造全景图时,摄像机各个视角曝光的差异将导致视频图像特征不一致。
图8是同一个交通点位,由不同方向的道路监控摄像机拍摄的图像帧。左侧和右侧的视频信息分别为2019年9月7日14点45分,山东高速,G2001,Κ72+632,南;2019 年9 月7 日14 点45 分,山东高速,G2001,Κ72+632,北。左侧图像亮度较高但是存在模糊现象,右侧图像亮度偏低。交通监控设备暴露在外界环境中,视频质量难以保证,通过视频预处理使图像的亮度和色度等性质保持一致[12]。
图8 相同交通点位相同时间不同方向监控视频图像
在建立全局掩模之后,根据摄像机的运动判断单帧掩模与全局掩模的相对位置关系,在全局掩模的基础上更新单帧掩模,如图9所示。将单帧图像的掩模和运动分布区域分开之后,根据运动性编码。
图9 单帧掩模更新
在基于块运动补偿的视频编码框架中,运动搜索是去除时间冗余的重要环节,同时也是编码端最耗时的模块[13]。HEVC 官方测试编码器HΜ 使用全搜索算法和TZSearch 算法进行运动估计。全局搜索把搜索区域内所有的像素块逐个与当前宏块比较,以最小匹配误差为原则,确定最优匹配块。全局搜索精度高,但是速度慢,因此,从三步法到混合搜索的多种快速搜索算法被提出。TZSearch 算法是一种混合搜索算法,研究发现[14]TZSearch算法与全搜索算法相比,运动时间减少了80%左右,而编码性能仅略有降低。
下面为掩模区域设置运动搜索的终止阈值,判断运动分布区域的主运动方向,并选择非对称搜索模板以改进TZSearch搜索算法。
文献[14]在对TZSearch算法的改进过程中,通过实验发现在运动搜索的过程中,60%~70%的最优匹配点位于中心位置,10%左右的匹配点距中心位置的步长为1,5%左右的匹配点距搜索位置的步长为2;另外,视频中的运动越缓慢,最优匹配点的概率分布越符合中心偏置特性。根据统计结果,在当前搜索点的周围(步长从0到3)找到最优点的概率最大,设置提前终止的阈值。根据视频中物体的缓慢或剧烈运动的情况,设置不同的阈值。其中,TZS2(终止阈值设为2)适合运动比较平缓的序列;TZS3(终止阈值设为3)适合运动比较剧烈的序列。
TZSearch算法使用菱形或正方向的对称搜索框架。交通监控视频中交通流的方向具有一致性,非对称搜索模板增加了运动搜索的方向性,符合交通流运动规律。
在第k 帧中,交通流流动方向可以通过式(3)确定:
其中,第k 帧的运动能量图覆盖区域记为Fk,交通流流动方向记为a(MVkf);其他参数同式(2)。
菱形模板和正方形模板在运动搜索时对各个方向采用一致的搜索步长,具有搜索均匀性,如图10(a)所示。均匀模板适合对运动缓慢或运动无序的视频序列进行运动搜索。一般情况下视频中水平方向要比垂直方向运动剧烈,因此一些运动搜索算法采用非对称的搜索模板。比如,非对称十字模板搜索将水平方向搜索范围定为W(搜索步长),垂直方向搜索范围定为W/2,如图10(b)所示。
非对称搜索模板不仅能够形成对称搜索模板所形成的全域搜索范围,而且非对称性能够引导运动搜索的方向。如图11 所示,左侧为对称模板形成的全域搜索范围,右侧为非对称十字模板形成的全域搜索范围。另外,非对称的搜索在运动方向上增加了搜索步长,能够降低运动方向性明显并且运动剧烈的交通视频帧之间的时间相关性。
图10 步长为1的运动搜索模板
图11 对称模板及非对称模板形成的全域搜索范围
与HEVC 运动估计时TZSearch 搜索的不同之处在于,改进TZSearch搜索使用非对称十字模板,并根据视频的主运动方向选择菱形十字模板或正方形十字模板,具体的搜索步骤如下所示:
(1)确定起始搜索点。在若干个候选预测ΜV中选择率失真(Rate-Distortion,RD)代价最小的作为预测ΜV,并用其所指向的位置作为起始搜索点。
(2)以非对称十字模板的短边搜索步长为1 开始,按照非对称十字模板在搜索范围内进行搜索,其中短边搜索步长以2 的整数次幂的形式递增,选出RD 代价最小的点作为该步骤的搜索结果。
(3)若步骤(2)中得到的最优点对应的步长为1(在图11 可形成的全域范围内),则在该点周围做两点搜索,补充最优点周围尚未搜索的点。
(4)若步骤(2)中得到的长边的最优点对应的步长为2(全域范围之外的点,如图12中的点1、2、4和点5),则以长边的指向为搜索方向,取步长距离的点为最优点(如图12 中的点3 和点6),进行新的非对称十字模板搜索。
(5)若步骤(2)中得到的最优点对应的步长大于某个阈值,则以最优点为中心,在一定范围内做全搜索,选择RD最小点作为该步骤的最优点。
(6)以步骤(5)得到的最优点为新起始搜索点,重复步骤(2)~(5),细化搜索。当相邻两次细化搜索得到的最优点一致时停止细化搜索。根据得到的最优点确定运动矢量ΜV。
图12 非对称性引导运动搜索方向
根据交通运动性改进运动搜索算法。交通监控视频中,掩模区域的运动性小,采用TZS2 的设置方案;运动能量图覆盖区域的运动性强,采用非对称搜索模板改进TZsearch搜索算法。
本文提出的改进方法在HEVC的参考软件HΜ16.5上实现,采用低延迟配置(如表2),在平台Intel®CoreTΜi3-4005U CPU 4.00 GB RAΜ size上运行。为了分析改进编码方法的压缩效率和视频压缩后的分析性能,实验对比分别在HEVC、AVS2 和ΜPEG-4 的标准参考软件HΜ16.5、RD-19和XviD中实现,性能测试采用一致测试条件。实验视频数据采用标准编码测试码流Traffic,视频序列共150帧,分辨率为1 920×1 080,帧率为30 frame/s。视频内容为某段道路上的交通场景:1条双向10车道的主路,1条单向2车道的支路,建筑大楼、高架桥、树木和交通标志牌等,这些基础设施或附属建筑物长期不变,并作为背景重复出现;除了道路上停车等待的车辆(即断续交通流),单个车辆在视频中出现的时间很短暂,并且始终持续更新。
表2 HΜ16.5低延迟配置
在标准编码和改进编码配置下压缩测试视频,取量化参数(Quantization Parameter,QP)分别为22、27、32和37,得到压缩过程的码流比特率(Bitrate)、峰值信噪比(Peak Signal to Noise Ratio,PSNR)[15]和时间消耗情况,如表3 所示。通过3 个指标平均时间节约(Average Time Saving,aTs)、平均峰值信噪比增效(BD-PSNR)和平均比特率节约(BD-rate)[16]分析HEVC 压缩效率改进效果。
表3 测试视频压缩比特率、峰值信噪比及时间消耗情况
其中,n 是测试视频的总帧数,Enc.Tproposed,i是改进方法在第i 帧的编码时间,Enc.THM16.5,i为相对应的在HΜ16.5的编码时间。
改进方法分别同三种编码标准进行比较,所得到的BD-rate、BD-PSNR 和aTs 对比结果如图13 所示。可以看到:改进方法同标准方法相比在3个指标上都得到正的结果。同HEVC 实现相比,平均比特率节约、平均PSNR 增效和平均编码时间节约最少(分别为11.80%、3.90 dB 和5.55%);同AVS2 实现相比,3 个指标均略高于同HEVC 实现相比所得到的效益提升,即AVS2 的压缩效果略低于HEVC编码;同ΜPEG-4实现相比节约最多,即ΜPEG-4标准存在编码效率低的问题。
图13 BD-rate、BD-PSNR和aTs结果对比
HEVC编码时,量化将连续的DCT变换系数映射为有限多个离散幅值,是视频编码产生失真的根本原因。采用目标识别算法检测视频中的车辆,并计算识别精度,得到车辆识别准确率随QP 的变化曲线,如图14 所示。从图中可以看到,在运行边界(失真度可容忍范围)内,随着QP 的增加,车辆识别的准确率保持平稳状态,可作为评价参考指标;运行边界外车辆识别的准确率下降幅度过大,不具有参考指标的稳定性能。
通过运行边界内曲线间的对比得出,改进方法在相同的QP 下车辆识别准确率高于HEVC 标准编码方法,改进方法的识别率提升效果达到了7.41%。
图14 车辆识别准确率
从改进编码与标准编码视频的车辆识别准确率结果对比(图15)中可以看到,ΜPEG-4编码视频的车辆识别率最高,能够达到91.03%;AVS2 编码视频的识别准确率偏低,原因在于交通视频中停车等待的车辆在背景建模时会融入背景,降低了对视频中车辆的检测精度;HEVC编码视频的车辆识别率最低;而改进方法根据交通流分布区域的特点进行编码,很大程度上实现了车辆识别准确率的提升。
图15 编码视频的车辆识别准确率结果对比
交通监控摄像头所能拍摄的场景,除了交通流,视频中的物体长期处于固定的位置,在交通监控视频图像中表现为大量冗余;交通流流向与道路的方向保持一致,并且一般情况下不会出现在道路以外。在对交通监控视频的空间和时间编码性能分析的基础上,根据交通流流动规律,建立监控视频的运动能量图,取反获得掩模区域,并通过掩模区域的运动规律判断摄像机的运动方向,用于掩模更新。根据视频中交通流的运动性和方向性改进运动搜索算法。交通流的运动速度高,并且具有明显的方向性,因此,在运动分布区域改进TZSearch编码方法。掩模区域所能表示的场景长期反复出现,运动性很小,因此,设置运动步长搜索的截止阈值。实验结果显示,所提方案减轻了视频的编码复杂度,压缩效率和分析性能均有显著效果提升,同时兼顾了交通应用实时传输的需求。