监控视频不同于网络视频等,其特殊性为背景区域一般不变(固定相机拍摄),或者变化很有规律(移动相机拍摄)。本系列记录针对监控视频的视频压缩各类方法。
论文:
《CODEC INDEPENDENT REGION OF INTEREST VIDEO CODINGUSING A JOINT PRE- AND POSTPROCESSING FRAMEWORK》
原文链接:
速看创新点:
本文提出新的预处理框架,编码独立且编码ROI区域可恢复,每帧背景部分由预测得到。由于编码独立的,将帧级的工作称为一般ROI编码系统,基于在真实视频编码处理前进行图像块修改,因此视频编码器可以进行正常编码。相比于其他预处理方法,该方法无损的,且不会引入额外的图像质量蜕化。
目录:
摘要
对于低比特场景,传统视频编码无法同时满足低比特率和高质量。相对于ROI编码方法通过仅提升ROI区域的质量得到了高效的压缩比。本文不仅传输ROI区域,并且通过全局运动补偿来重建非ROI区域。之前的ROI编码系统修改了视频编码来控制独立块的编码,本文提出了编码和ROI独立的前后处理框架,这样该方法更容易和新的视频编码技术相结合。实验结果表明本文方法可以减少90%-95%比特率。
1 简介
随着视频越来越多、分辨率越来越高。视频压缩越来越重要。然而 不是所有的应用都需要视频是高分辨率高质量的。基于ROI的视频编码系统提供了视频不同区域多样性的压缩方式。比如交通监控视频,运动的汽车等就比地面要重要得多,因此地面可以压缩比例更大些。将运动目标视为ROI,使用高质量的编码参数,对于非ROI使用低质量编码。
1.1 相关工作
为了减少视频编码非ROI区域的比特,可以在预处理步骤中进行模糊或者在编码阶段进行粗糙的量化。一个改进的基于外部控制块的混合编码器比如AVC\HEVC等,在ROI和非ROI区域使用不同的量化参数。这类方法必须要修改视频编码器。
为了完成一个完全自动的处理过程, ROI和非ROI区域必须自动分类。在本文的场景中,运动目标检测器可以提供期望的信息,最近大量的工作关注于自动运动目标MO检测,在固定相机场景下[7,8]。一般的对于航拍监控依赖于背景像素的全局运动补偿,使用相机的运动先验计算连续两帧图的差异或者当前帧和重建背景参考帧的差异。
上述ROI检测和编码方法的主要缺点是非ROI区域质量蜕化严重。通常的ROI检测和编码系统利用监控视频的特性。保留了分辨率和低比特率高视频质量,使得后续的视觉应用可以在完整的帧上进行(目标检测、分类、场景解析)。该ROI编码系统依赖于每帧新合成图像内容的传输,在解码端进行后处理时候,新的区域合在一起就可以重建出来完整的固定场景内容(即背景区域),使用的方法叫做全局运动补偿GMC[13,14]。相对于这里介绍的其他方法,本系统可以在相对低的比特率下重建高质量背景。本文叫做参考系统。由于一般的视频编码器没有外部控制接口,因此需要对编码器进行修改,考虑到计算能耗等,使用边缘硬件设备更理想。
为了独立于视频编码器,本文提出一个预处理框架,编码独立且编码ROI区域可恢复。由于编码独立的,将帧级的工作称为一般ROI编码系统,基于在真实视频编码处理前进行图像块修改,因此视频编码器可以进行正常编码。相比于其他预处理方法,本文的方法是无损的,且不会引入额外的图像质量蜕化。本文的方法可以结合任意ROI检测子,只要有一系列像素点会被标记为ROI即可。本文的方法使用广泛,包括运动相机场景,对于固定相机场景比如视频会议、道路监控可以作为本文的特殊情形,即全局运动为0。后续将在其他场景进一步提升本文方法。
本文贡献是提出了一个联合预处理、后处理的ROI的视频编码框架,该框架可以使用任意ROI监测子,并且编码性能和普通的HEVC等一致,章节3介绍基于全局运动补偿GMC的ROI检测子和编码参考系统,以及本文方法需要对视频编码器做的修改;章节4介绍预处理、后处理框架。
2 基于ROI的编码扩展
本文的参考系统使用GMC ROI检测子和编码系统[13],因为可以保留整图的高质量同时较低的比特率。为了能够重建不仅仅由全局运动模型得到的局部运动信息,运动目标可以额外的被检测出来。
假设平面情形,一帧k-1可以通过8个参数a映射到连续帧k。第k帧中的像素位置pk-1就映射到pk中
为了确定上面公式的参数a, 首先进行全局运动估计(全局运动估计是针对背景变化的场景):在帧k中,harris角点用来定义一系列利于跟踪的特征点。kanade-lucas-tomasiKLT特征跟踪器用来重新定位k-1帧中的特征位置,然后生成了稀疏光流图。将错误的目标移除后最终的映射参数a就由RANSAC算法得到。该映射参数用于全局运动补偿(如图1),映射参数a进一步可利用来决定某区域存在于当前帧k中,但是并不在前一帧k-1中的区域(ROI-NA 检测子)。这些ROI进一步通过ROI编码控制块用于视频编码。如前所述,一般的视频编码器没有用于外部控制或重写编码模式的接口,因此为了实现控制需要对编码器内部修改。通过外部的视频编码控制,比特率相比标准可以明显降低。映射参数a必须要传输。
通过在解码端使用相似的全局运动补偿,将所有新区域拼接成全景图(mosaicking)即重建的背景,之后根据帧在原始视频的位置进行切分,再拼接为完整的视频。最终,运动目标可以插入到视频序列中,这个后处理方法是无损的。
3 提出的ROI编码结构
一般来说,输入视频流都会包含相关信息,需要在解码器端进行重建。图像区域,对于重建无关的区域(non-ROI)将会被替换,编码器可以高效的编码整个图像。ROI检测系统保持不变,可以根据特定应用需要而变化。一般的视频编码,输出会尽可能优化的和输入一致,和整个策略不同,本文可以接受输入信号的变化。
上一节提到的参考系统,每个编码块,通过ROI检测子都使用skip-mode模式进行编码,通过外部控制会被强制的略过(图2a),本文提出视频编码器不变(图2b)而在预处理过程中替换非ROI图块(图3a)ROI图块保持不变。区分两个模式,每个非ROI区域通过下面方式替换:
模式一)时序上的前一帧。该模式的目的是利用不变内容的编码工具(如skip mode模式)
模式二)黑色的块。该模式的目的是利用纯色区域的编码工具(如skip DC帧内预测等)
上述的模式都基于非ROI区域在后处理阶段会 被舍弃。为了重建整个视频序列,对于模式2会在标准的视频解码器之后进行后处理。后处理的工作包含重建解码块,需要注意的是,本文的前处理和后处理都是完全独立于编码器的。由于本文的视频编码会被框架替换掉,因此后续的重建图需要进行特定的ROI检测和编码系统。对于参考系统,解码器中合适的视频重建需要考虑GMC参数。本文的联合前处理、后处理框架相比别的ROI编码系统很有优势,不会引入图像蜕化。
本文提出的方法也可以用于其他场景比如固定摄像头监控,视频会议等视频中大面积固定的场景。
3.1 ROI编码的内部噪声移除
混合视频编码器比如AVC或者HEVC已经是十分高效的编码器,HEVC中的merge模式对噪声就十分有效。不过摄像头拍摄的信号会包含额外的白噪声AWGN,因此输入视频编码器的实际上是有噪信号S+N,假设进行了完美的运动补偿,用于运动补偿的参考帧的噪声就必须移除,并且当前帧就必须加上预测的噪声信号,结果就是预测信号中会有两方面的噪声,相比直接对s编码就会增加比特。
对于本文提出的ROI编码,噪声必须在刚出现的适合编码一次,由于所有的后续帧在模式1中是前一帧的简单复制,在模式2中是全黑的。因此噪声会进一步降低。
4. 实验
介绍本文测试使用的编码器和数据集。
实验步骤: ROI检测在第二章介绍过(新区域检测和运动目标检测),aerial序列由于拍摄相机相对于地面运动,并且图像中大部分区域包含运动目标,因此主要部分由非ROI和ROI检测子选出。通过使用本文提出的一般ROI预处理步骤,非ROI部分需要进行替换,使用模式一:时序的前一帧对应位置替换,或者模式二:由纯黑块替换。对于固定相机序列,没有全局运动只有运动目标会被检出来,因此非运动目标的都是非ROI区域,替换方式同上。然后上述预处理后的视频会被送入视频编码器。相比于一般的视频编码,整个视频帧序列的质量都保持较高的水平,还可以将非ROI区域节省的比特用于ROI区域,使得ROI区域编码质量更高。如图4所示
对于评估来说,使用Y通道的峰值信噪比PSNR来评估,使用AVC-skip编码器 和量化参数QP=25,并且只评估ROI区域内的PSNR,参照[21,12]。Herby假设非ROI区域我们并不关心,因为非ROI区域是后续由解码器外部重建出来的,如果无法完全匹配ROI-Y-PSNR,可在邻域进行线性插值。
表1是实验结果,结果表明对于高分辨率(1920x1080 30fps,表中1列和2列)本文的方法可以节省91%左右的比特率。对于低分辨率测试序列比特率提升的不明显是因为ROI在视频中区域较大。模式一和模式二的效果不同视频也有差异,所以要根据视频特性选择模式一或者模式二。
为了说明本文ROI编码框架不影响后续的计算机视觉算法,本文使用行人检测算法和跟踪算法在BIWI公开集上,本文方法使用GMM检测运动目标和杏仁跟踪结果和原编码器一致。