新闻中心

EEPW首页 > 消费电子 > 设计应用 > 基于MPEG-4的视频监控应用系统的软件实现

基于MPEG-4的视频监控应用系统的软件实现

作者:时间:2012-06-21来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/165399.htm

3.2 Sprite 编码
Sprite 编码是新一代的编码技术,它利用全局运动估计生成视频段背景的Sprite 图像(全景图),然后将这个Sprite 图像编码,以后各帧的背景编码都只是对该帧相对于Sprite 图像的运动参数进行编码。背景的平滑和纹理相关性大的特点,对Sprite 全景图的编码采用一种直接空间预测方法,篇幅限制,这里不作介绍,可参考[2]。Sprite 编码包括两部分,一是Sprite 的生成,使用全局运动估计来生成;二是Sprite 编码。Sprite 在最初的VOP 编码之前建立, 标准中定义了两种类型的Sprite:静态Sprite 和动态Sprite。在这里选用动态Sprite,因此我们仅讨论动态Sprite 的生成与编码。

动态Sprite 的编码如图2 所示:视频序列的第一帧采用I-VOP 方法编码,而第一帧的重构图像在编码端和解码端建立相同的初始Sprite 图像;第二帧用全局运动估计算法估计当前VOP 与前一帧VOP 之间的全局运动,用参考点的轨迹描述两个VOP 之间的运动。采用P-VOP 方法编码第二帧的纹理,不同的是编码该VOP 各个宏块时,运动补偿的方式除了宏块和块运动补偿外,还可以用Sprite图像为参考进行运动补偿,此时宏块的运动补偿为全局运动补偿。解码器的解码参考点的轨迹得到全局运动参数,然后解码纹理信息得到第二帧的重构图像,根据全局运动参数和第二帧重构图像更新Sprite 图像。同样的方法用来编码序列后面的VOP。

图2 动态Sprite 编码框图

3.3 可扩展编码
根据的特点,当传输图像的分辨率和帧率不是很高时,仍能达到一般要求下的监控效果。因此我们可以采用对象的分层传输思想,使用空域分级功能调节空间分辨率,使用时域分级功能调节帧率。这样做一方面可以方便地码率控制,对网络带宽的变化具有很好的自适应性,另一方面,用户可以通过交互功能选择分辨率和帧率,以得到更好的视频效果或获得某一对象局部的细节。 定义了一种通用的可分级扩展框架来空间和时间可分级扩展,如图3 所示。

图3 MPEG-4 通用的可分级扩展框架图

当用于空域扩展时,可扩展预处理器对输入的VOP 下采样,得到由VOP编码器处理的基本层VOP。中间处理器处理重建的基本层VOP,并对其进行上采样,原始VOP 与中间处理器输出的差作为增强层编码器的输入。在增强层中的编码是以P-VOP 或B-VOP 方式编码的。通过反复接器可以分别访问基本层和增强层解码器对应的基本层和增强层码流,解码器端的中间处理器与编码端执行相同的操作,扩展后处理器执行必要的转换工作。
当扩展编码使用时域扩展编码时,可扩展预处理器在时域上将一个VO 分解成VOP 的两个子流,其中一个被输入到基本层编码器中,另一个输入到增强层编码器中。在这种情况下,不需要中间处理器,而是简单地将解码的VOP 基本层输入到VOP 增强层编码器,增强层编码器将使用它们进行时域预测。可扩展后处理器只是简单地输出基本层的VOP,并不进行任何转换,但是在时域上混合基本层和增强层VOP,以产生更高时域分辨率的增强输出。

3.4 普通VOP 的形状、运动、纹理编码
形状编码是其他的编码标准中所没有的,编码的信息有两类:二值形状信息(binary shapeinformation)和灰度级形状信息(gray scale shape information)。二值形状信息就是用0、1 的方法表示编码的VOP 的形状,0 表示非VOP 区域,1 表示VOP 的区域;灰度级形状信息可取值0~255,类似于图形学中的α 平面的概念,0 表示非VOP 区域(即透明区域),1~255 表示VOP 区域透明程度的不同,255 表示完全不透明。灰度级形状信息的引入主要是为了使前景物体叠加到背景上时不至于界太明显、太生硬,进行一下模糊处理。这里二值形状采用基于上下文的算术编码方法[4],整个编码过程可分为以下五步:①对于给定VOP 的二值形状图重新确定形状边界,并将它分为若干个16×16 二值α块(Binary Alpha Block,缩写为BAB)。②对即将编码的BAB 块进行运动估计,得到运动矢量MVs(MV for shape 缩写为MVs)。③对该VOP 中待编码的BAB 块确定编码方式。④对待编码的BAB 块确定分辨率。⑤对BAB 块进行编码。灰度级编码形状编码与此类似。对普通视频对象,MPEG-4 编码算法支持三种类型的VOP:I-VOP、P-VOP、B-VOP。在MPEG-4 中运动预测和运动补偿可以是基于16×16 宏块,也可以为8×8 块。如果宏块完全位于VOP 内,运动估计使用一般的方法进行;倘若宏块位于VOP 边界,则使用图像填充技术给VOP 外的像素指定值。然后利用这些值计算SAD。对于P-VOP 和B-VOP,运动矢量首先被差分编码,然后再用可变长编码运动矢量。

视频对象的纹理信息用亮度Y 和两个色差分量Cb、Cr 表示,对于I-VOP,纹理信息直接包含在亮度和色差分量中,在有运动补偿的情况下,纹理信息用运动补偿后的残差表示。纹理信息的编码使用了标准的8*8 的DCT。纹理编码中,帧内VOP 和运动补偿后的残差数据都用相同的8×8 块DCT 方案编码,对亮度和色度分别做DCT。对于VOP 之内的宏块用与H.263 相同的技术编码,对位于VOP 形状边缘的宏块,有两种选择,一是用图像填充技术填满宏块中VOP 以外的部分,另一种是用形状自适应DCT 编码的方法。后者只对VOP 内部的像素编码,从而在比特率相同的情况下有较高的质量,代价是应用的复杂度稍高,考虑到的实时要求,选用了图像填充技术中的低通外推(Low PassExtrapolotion)方法。接着再做DCT。对DCT 后的数据量化、扫描与可变长编码操作类似于MPEG- 2 和H.263,在此就不详述了。

4 小结
本文根据图像监控系统的特点,吸取MPEG-4 编码标准的思想,提出了用MPEG-4 在应用中的编码的主要框架,相较目前使用较多的硬件方案,更能贴近实际应用的要求,具有很好的灵活性和可升级性,又可降低成本。但由于MPEG-4 的编码非常复杂,加上其技术上还不是很完善,所以实现上有一定的难度尤其如何保持其实时性能上难度更大。随着高速处理芯片的不断出现及MPEG-4 在技术上的发展完善,这些问题将迎刃而解。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭