首页 > 范文大全 > 正文

基于运动对象跟踪的FGS视频编码算法研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于运动对象跟踪的FGS视频编码算法研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:文中阐述了基于OpenCV运动对象跟踪fgs 视频编码方案,利用OpenCV强大的库文件和开放的源代码自适应地跟踪视频图像中所有运动的对象,并将其定义为感兴趣的区域优先编码,在一定程度上改善了视频图像的质量且计算复杂度低,提高了视频图像的主观视觉效果。

关键词:FGS;编码效率;运动跟踪

中图分类号:TN914.2 文献标识码:A 文章编号:1009-3044(2015)29-0157-04

FGS Video Coding Algorithms based on the Moving Object Tracking

ZHOU Xiao-li, WANG Yuan

(Fujian Nomal University MinNan Science and Technology Institute, Quanzhou 362332,China)

Abstract:This paper describes the FGS video coding scheme based on OpenCV motion object tracking,which uses the OpenCV library file and opening source code for the adaptive tracking all the movement object in video image,and defines it as the region of interest for the preferred encoding.It improves the quality of the video image to a certain extent and has low computing complexity and improves the video image subjective visual effect.

Key words: FGS; code efficiency; motion tracking

1 引言

随着网络多媒体技术的不断发展,人们对于视频传输的速度和质量也有了更多的关注, 所以流媒体技术也有了很大的发展,用户无需等到下载完整的视频文件,而只要用很短的启动时延就可以边接收数据边播放,这样,降低了缓存的同时还可以实时的传输,但不同用户对视频的时延要求是不同的,而且网络存在异构性、带宽的波动性以及不可避免的传输错误。足够大的视频信息码率可以解决网络异构性的问题,良好的视频码流可伸缩性可以解决网络带宽的波动性,而针对视频信息传输过程中出现错误的问题,则要求编码后的视频码流具有一定的抗错能力。因此,除了追求高编码效率的同时,也希望能够很好地满足不同用户的服务要求,可分级视频编码技术就成了当下研究的重要技术。

2 可分级编码技术

视频编码的可分级性[1](Scalability)指的是码率大小的可调整性,也就是视频数据只需要编码一次,就可以以多个空间分辨率,帧率或视频质量来进行解码,从而满足不同用户的不同需求。其基本思想是将视频信息编码成一个基本层信息和若干个增强层信息,重要性不同,具有基本视频信息的基本层信息具有传输优先权而且有更多的差错保护,解码基本层码流可获得粗糙但完整的图像,而增强层则包含了更多的细节信息,被解码的增强层信息越多,视频图像的质量就越好。

1990 年 12 月通过的视频压缩标准 ITU-T H.261,1993年8月公布的视频压缩标准 ISO/IEC MPEG-1,1994 年推出的 MPEG-2,1996 年 ITU-T 制定的视频编码标准 H.263,后面提出的MPEG-4 标准,MPEG-4 AVC标准,也就是联合视频组 JVT 制定的新一代视频压缩编码标准 H.264,除了前面两种视频编码标准没有提供可分级能力,随后提出的视频编码标准都是对视频编码可分级能力要求的提高而逐步提出的。

近几年来,国内外人们都对精细可分级视频编码技术分别从基本层和增强层两方面进行了大量的研究,如,以提高增强层帧间的预测精度为目的的精细可分级编码方案,采用 H.264 编码器作为 MPEG-4 FGS 的基本层,而增强层仍采用位平面编码技术的精细可分级编码方案,基于小波变换的视频编码技术,以提高主观视觉效果为目的的视频编码技术等。

3 精细可分级编码技术

精细粒度可分级视频编码[2]是将一个视频序列编码成一个基本层码流和一个增强层码流。基本层的码率应不大于网络的最小可用带宽,也就是说首先要保证基本层的码流能被解码端完全解码,而增强层则是对原始的图像和基本层重构图像的残差进行DCT 变换、位平面编码以及 VLC 编码来获得增强层的码流。其优点就是可以根据网络实际可用带宽来任意截断增强层的码流,从而得到不同的视频图像质量。

精细粒度可分级视频编码方案最早被MPEG-4 标准所采纳的编码方案,其基本原理是:在编码视频时,产生基本层和增强层两个码流。其中,基本层所包含的视频信号质量较低的但却是最重要的,所以基本层的码率较低,可以完全在信道上进行传输和接收。嵌入式的增强层码流保存基本层的量化差值,可以根据带宽的实际情况,在任意位置截断,但解码后视频信号质量的改变是渐进的、平滑的。所以 FGS 编码方案所生成的码流可以在一定的码率范围内自适应的调整,能够很好地适应带宽的波动性。另外,要尽量避免基本层码流数据丢失,而增强层码流数据的丢失不会很明显的影响视频的质量,同时也不会因为传播误差而影响到其他的帧,所以精细可分级视频编码具有很好的鲁棒性,这也是绝大多数 FGS 方案所具有的共性。

4 基于 H.264 FGS 编码技术

精细可分级视频编码最早是在 MPEG-4 中提出的,其缺点是编码效率低,针对这一问题,联合视频专家组 JVT 颁布了 H.264 标准,因此精细可分级视频编码方案在编码结构上又有了一个新的突破,即基本层采用的是一个完整的H.264编码器,而增强层仍采用MPEG-4 FGS 增强层的编码结构,直接利用位平面技术来实现视频的可伸缩性,从而降低了设计的复杂度。H.264 精细可分级视频编码结构如同 1所示,从图中我们可以看出,H.264 FGS 编码器采用 H.264 整个编码器作为它的基本层,这一部分包含了整数 DCT 变换,量化,熵编码,环路滤波,帧内预测和帧间运动估计和运动补偿等模块。

(1)整数 DCT 变换和量化

为了减少空间的相关性,去除冗余信息,H.261,H.263 和 MPEG-1 和 MPEG-2等视频编码国际标准都对残差数据进行了空间域8*8的DCT 变换。这种变换在视频编码标准中是最基本也是最常见的变换,而在 H.264 的基本档次则根据不同的残差数据类型采用三种不同块尺寸的整数变换:在帧内宏块亮度 DC 系数的变换,色度 DC 系数的4*4变换和其他所有残差数据变换。如果选择了“自适应块尺寸变化”选项,则可以根据运动补偿块尺寸大小选择4*8,8*4,8*8,16*8等多种方式。从整体上看 H.264 采用了4*4的整数 DCT 变换,不但没有损失精确度,而且还避免了反变换的失配问题。H.264 的整数DCT变换和量化的具体过程如图 2所示。

整数 DCT 变换的正、反变换矩阵分别为:

(1)

(2)

公式(1)和(2)中,正、反变换矩阵的系数只有[±1、±2],因此,只要进行加减和移位操作,大大降低了计算复杂度。

(2)熵编码

在 H.264 FGS 编码结构中,在完成 DCT 变换和量化以后,接着就是对所得的数据进行熵编码,最终得到基本层的码流。熵编码是一种无损的压缩编码方法,也就是说,经过熵编码后得到的码流可以完全恢复出来。在 H.264 编码标准中熵编码主要有两种,即基于上下文的自适应变长编码(CAVLC,Context-based Adaptive Variable Length Coding)和基于上下文的自适应二进制算术编码(CABAC,Context-based Adaptive Binary Arithmetic Coding)。H.264 FGS 编码结构增强层中采用的是 VLC,对位平面编码后经常出现的符号赋予较短的码字,否则给较长的码字。而 CAVLC 则可以在若干个码表中自适应地选择出最适合当前编码特性的一个码表来进行编码。另外,CAVLC 将(RUN,LEVEL)分开编码,因为量化后的低频非零系数一般是不间断的,因此分开编码能提高编码性能。CABAC 编码过程包括三个步骤,即上下文建模、二进制转换和二进制算术编码。其编码框图如图 3所示。

图 3 CABAC 编码结构框图

5 改进的精细可分级视频编码技术

吴枫等人提出的渐进精细粒度可分级(PFGS,Progressive FGS)编码方案[3],一定程度上提高了编码效率,但同时也增加了系统的复杂度;Mihaela van der Schaar 等人提出的基于运动补偿的精细可分级(MC-FGS)编码方案[4],虽然用于帧间预测的是高质量的增强层的图像,但是若增强层没有正确传输的话就会造成预测漂移现象,所以抗误码性能不好;Won-Sik Jeong 等人提出的基于H.264 的水环扫描和肤色选择增强的FGS视频编码方案[5],此外,针对感兴趣区域优先编码这个方向,还有后来提出的基于AdaBoost人脸检测的改进 FGS 视频编码方案[6]以及基于Mean Shift算法的运动目标跟踪的FGS视频编码方案[7]等编码方案。虽然这些方案都能自适应的定位出感兴趣的区域,然后优先编码、传输,但始终未能实现将人为定义的感兴趣区域优先编码。本文在前人研究的基础上,针对上面存在的问题,分别从客观编码效率和主观视觉效果两个方面进行改善,通过增强基本层来提高客观编码效率,通过引入基于OpenCV的运动跟踪方法,来实现对感兴趣区域优先编码和传输的功能,从而提高视频的主观视觉效果。

5.1 基于 OpenCV 的运动对象跟踪算法介绍

运动对象跟踪的准确性和算法的复杂度是相互制约的,运动对象跟踪越准确,则算法的复杂度就越高,反之亦然。所以,运动对象跟踪算法的选择直接影响着这个 FGS 视频编码算法的编码效率,而对于感兴趣的区域是整个视频中运动的对象而言,只需定位出运动对象的轮廓,而无需进行精确地跟踪,本文所采用的基于OpenCV的运动对象跟踪算法流程图如图 4 所示。

图 4 基于OpenCV运动对象跟踪算法流程图

5.2 基于 OpenCV 的运动对象跟踪效果

实验测试的平台为 Visual C++6.0,测试之前先配置好OpenCV,实验测试了背景单一、运动较平缓的 hall-objects.qcif 序列和背景较复杂、运动剧烈的football.qcif 序列,实验测试过程中分别截取了 hall-objects.qcif 的第 80 帧和 125帧,football.qcif 的第 30 帧和 90 帧,跟踪效果图如图5和图6所示。

(a)运动对象跟踪效果图(第 80 帧) (b)运动对象跟踪效果

从图 5和图6可以看出,视频序列hall-objects.qcif 由于背景单一,车的运动速度也相对较慢,跟踪效果很好,因此,能很准确地定位出运动的区域,而运动剧烈的football.qcif 序列,运动对象很多,跟踪的结果不是单个的运动对象,而是团块的轮廓,因此,最终定位出的运动区域几乎占了整幅图像,效果并不理想。

4.3 基于运动对象跟踪的 FGS 编码原理及框图

基于运动对象跟踪的 FGS 视频编码算法原理图如图 7所示,其基本层是一个完整的 H.264 编码器,增强层采用 MPEG-4 FGS 编码器的增强层,同时,引入基于OpenCV的运动对象跟踪算法,自适应地定位出人们感兴趣的运动对象,并将其位平面提升,优先编码和传输。

4.4 实验结果与分析

本实验采用 JM8.6 测试平台,测试了运动较为缓慢的hall-objects.qcif 序列和运动较为剧烈的football.qcif 序列,设置参数:编码帧数为 100 帧,帧率为 30Hz,编码类型为 IPP…P,允许率失真优化宏块模式判决,基本层的熵编码采用的是CABAC,量化步长为 35,基本层的码率设置为 60Kbit/s 固定不变,增强层的码率从 80Kbit/s 开始,以 20Kbit/s 的速度递增,直到 280Kbit/s。本实验定义的感兴趣区域为所有运动的对象,重建图像序列亮度分量的平均峰值信噪比(Y-PSNR )为视频质量的客观评价标准。实验比较了两种编码方案:第一种是EB-FGS 编码;第二种是改进的算法,即采用基于 OpenCV 运动对象跟踪的 FGS

编码方案,实验结果如图8所示。

(a) hall-objects.qcif 序列改进前后PSNR 值随码率的变化图

(b)football.qcif 序列改进前后 PSNR 值随码率的变化图

图8 各序列使用运动目标跟踪算法前后的 PSNR 值

随码率的变化图

从图8可以看出,在整个 80~280Kbit/s 的码率范围内,不管是运动较缓慢的hall-objects.qcif 序列还是运动较为剧烈的 football.qcif 序列,改进后的编码方案所得到的基本层和增强层的PSNR值比EB-FGS编码方案得到的PSNR值都有一定程度的下降,这是因为用于基本层做参考的图像数据基本上是运动对象,也就是感兴趣部分的数据,因此在同样地码率条件下,相对于原先传输整体区域数据,其图像质量下降是合乎理论分析的。对于 hall-objects.qicif 序列,由于运动缓慢,时域相关性就强,运动补偿的效果就明显,所以感兴趣区域的 PSNR值提高的幅度就大,最多提高了 5.4dB。而对于 football.qicf 序列,运动对象多,采用简单的基于OpenCV的运动跟踪的算法跟踪效果差,大多数情况下,感兴趣的区域几乎占了整幅图像,因此选择增强的效果并不明显,而且由于运动剧烈,时域相关性就差,运动补偿的效果也不明显,所以该序列感兴趣区域的 PSNR值提高得不多,最多的情况下提高了 0.7dB 左右。在复杂度方面,我们对算法改进前后,两个序列的平均编码时间做了统计,每个序列都测试了 100 帧,如表1 所示。

从图9和图 10可以看出,运动比较缓慢的hall-objects.qcif和运动比较剧烈的football.qcif 两个序列采用改进后的算法,其图像质量明显好于未改进算法得到的图像质量。

参考文献:

[1] 史士杰,薛凯邵.一种基于噪声模型宽带估计的拥塞控制改进算法[J].计算机科学, 2011,38(5):71.

[2] 王相海,丛志环,方玲玲.IPTV 体系结构及其流媒体技术研究进展[J].通信学报,2012,33(4):6.

[3] GHANBARI M.The Cross-Search Algorithm for Motion Estimation[J].IEEE transactions on communication,1990,38(1):950-953.

[4] 王蒿,薛全, 张颖,等. H.264 视频编码新标准及性能分析[J].数字电视与数字视频, 2003(6): 25-26.

[5] 李协.精细粒度可分级编码技术和传输技术研究[D].上海:上海交通大学,2007.

[6] Mihaela Van Der Schaar,Hayder Radha.Double-LoopmotionCcompensation fine granular scalablity.Sep.2005.

[7] 朱志宇.粒子滤波算法及其引用[M].北京:科学出版社,2010:4.