监控编码技术发展历程

  河南元兴网络科技有限公司     |      2018-07-12 09:23:56

编码技术对于普通的监控安装、监控维修工作基本没什么用处,而了解主流视频编码技术对于我们更好了解视频监控系统来说是有很大MPEG的帮助的,通过了解MPEG、MJPEG等编码技术的发展,进一步了解使用不同的技术的视频监控系统的感观体验。MPEGMoving Picture Expert Group)是在1988年由国际标准化组织(International Organization for Standardization , ISO)和国际电工委员会(international Electrotechnical Commission ,IEC)联合成立的专家组。开发电视图像数据和声音数据的编码、解码和它们的同步等标准。MPEG标准时一个面向运动图像压缩的标准系列,到目前为止,已经开发和正在开发的标准有:

MJPEG压缩;

MPEG-1——数字电视标准,1992年正式发布;

MPEG-2——数字电视标准,1994年成为国际标准草案;

MPEG-4——多媒体应用标准(1999年发布)。

视频图像编码压缩技术的评价准则:

码率(Bitrate

重建图像的质量

编码/解码延时

错误修复能力

算法复杂程度

MJPEG编码压缩

MJPEG编码压缩方式是一种基于静态图像压缩技术发展而来的动态图像压缩方式,可以对连续的监控安装点位的视频流进行压缩产生一个图像序列。MJPEG的特点是不考虑视频序列前后帧之间的相关性而仅仅考虑同一帧内视频图像的空间冗余性并进行压缩,因此MJPEG编码方式实现起来比较简单、编码延时较小、监控安装画面可以任意剪接(画面之间没有关系)、可以灵活调整压缩帧率及分辨率;缺点是由于不考虑相邻帧图像之间的空域冗余性,因此压缩比不高。MJPEG可以实现各种分辨率,如从QVGA4CIF到百万像素的编码。

MJPEG编码压缩方式中,由于压缩每一幅图像,而忽略了多幅图像序列之间的关联,因此,发送的信息中有大量的冗余信息。如果每秒传输多帧视频的情况下,实质上除了第一幅图像,之后一遍一遍地传输着大量、重复的信息,这是一种巨大的资源浪费。在之后要介绍的视频编码方式,MPEG系列及H.264算法中,它们不发送重复的信息,编码器仅仅每隔一段时间(取决于GOP  Size大小)发送一幅完整的参照帧数据,其他时间仅仅发送图像的变化信息。在多数视频监控系统中,图像的大部分内容并不变化,仅仅一部分变化,因此,这样可以节省大量的网络带宽及存储资源。如MJPEG可能发送的图像每帧都在100KB大小,而MPEG-4可能第一幅及以后的参考图像帧也在100KB左右大小,但是中间的图像(预测帧,BP帧)大小可能仅仅10KB大小,节省码流可达50%80%

MPEG-4技术介绍

MPEG-4标准于199811月公布,MPEG-4不仅是针对一定比特率下的视频、音频编码,而是更加注重多媒体系统的交互性和灵活性,目的是为视听数据的编码和交互播放开发算法和工具,它是一个数据速率很低的多媒体通信标准。MPEG-4算法的核心是“支持基于内容”的编码和解码功能,也就是对监控安装场景中使用分割算法抽取的单独的物理对象进行编码和解码。MPEG-4标准规定了各种音频视频对象的编码,除了包括自然的音频视频对象,还包括图像、文字、2D3D图形以及合成语音等。MPEG-4通过描述监控安装场景结构信息,即各种对象的空间位置和时间关系等,来建立一个多媒体场景,并将它与编码的对象一起传输。由于对各个对象进行独立地编码,从而可以达到很高的压缩率,同时也为在接收端根据需要对内容进行操作提供了可能,适应了多媒体应用中“人机交互”的需求。MPEG-4标准的视频编码分为合成视频编码和自然视频编码。

MPEG-4视频编码技术

MPEG-4标准采用的仍然是类似以前标准(H.261/3MPEG-1/2)的基本编码框架,即典型的三步:预测编码、变换量化和熵编码。新的压缩编码标准都是基于优化的思想进行设计的,将先前标准中的某些技术加以改进。例如在原来的基础上提出1/41/8像素精度的运动补偿技术,使得预测编码的性能大大提高。MPEG-4标准不仅仅给出了具体压缩算法,它是针对数字电视、交互式多媒体应用、视频监控等整合及压缩技术的需要而制定的。MPEG-4将多种多媒体应用集成在一个完整的框架里,为不同的应用提供了相应的类别(Profile)和档次(Level)。

MPEG-4标准中采用了“基于对象”的编码理念。传统的视频编码方法依照信源编码理论的框架,利用输入信号的随机特性达到视频数据压缩的目的,而并没有考虑信息获取者的主观特性以及事件本身的具体含义、重要性及后果等。MPEG-4标准中引用了视频对象的概念,打破了过去以“宏块”为单位编码的限制,其目的在于采用现代图像编码方法,利用人眼的视觉特性,抓住图像信息传输的本质,从轮廓、纹理的思路出发,支持基于视频内容的交互功能。注意以上这些改进都是根据人眼的一些自然特性提出来的。

VOVOP概念的引入

传统的视频编码方式是将整个视频信号作为一个内容整体来进行处理,其本身不可再分割,而这与人类对视觉信息的识别习惯是不同的。传统的编码方式(MPEG-1MPEG-2)不能将一个视频信息完整地从视频信号中提取出来,比如将加有电视台台标和字幕的视频恢复成无台标、无字幕的视频。而解决此类问题的办法就是在编码时就将不同的视频信息载体,即视频对象VOVideo Objects)区分对待,分别独立地进行编码与传输,将图像序列中的每一帧,看成是由不同的VO加上活动的背景所组成。VO可以是人、车、动物、其他物类,也可以是计算机生成的图形。VO具有音频属性,但音频的具体内容数据是独立于视频编码传输的。VO概念的引入,更加符合人眼对视觉信息的处理方式,提高了视频信号的交互性和灵活性,使得更广泛的视频应用和更多的内容交互功能成为可能。

视频对象平面(Video Object Plane ,VOP)是视频对象(VO)在某一时刻的采样,VOPMPEG-4视频编码的核心概念。VOP的编码主要由两部分组成:一个是形状编码,另一个是纹理和运动信息编码。VOP纹理编码和运动信息的预测、补偿在原理上同MPEG-2标准基本一致,而形状编码技术则是首次应用在视频编码领域。

VOP编码类型

VOP编码类型有4种。

内部VOPI-VOP):只用到当前帧的信息编码。

单向预测VOPP-VOP):参考前面的IP-VOP,利用运动补偿技术来编码。

双向预测VOPB-VOP):参考前后的IP-VOP,利用运动补偿技术来编码。

全景VOPS-VOP),用来编码Sprite对象。

MPEG-4编码架构

为了支持高效的编码压缩,MPEG-4仍然采用了交换、预测混合编码的框架。MPEG-4可以用来对矩形和任意形状的输入图像序列进行编码。这个基本编码算法结构图包含了移动矢量(Motion VectorMV)的编码,以及以离散余弦变换(DCT)为基础的纹理编码。可见,MPEG-4为了支持基于对象的编码,引入了形状编码模块,对每个视频对象的形状、运动和纹理信息编码,形成单独的视频对象。

MPEG-4编码过程

如先前所述,MPEG-4编码的一个重要特点是“基于内容的编码”。所谓“基于内容”,是指它在交互使用过程中可从图像中选择某一部分对象进行单独的编码和操作。例如,一幅图像含有若干个不同对象,位于各个不同位置,同时还有文字说明和背景等,MPEG-4可按操作者的需要把各个对象或文字说明、背景等单独提取出来进行编码和操作,最后还可分别译码,重组成一幅新的图像,这种功能在交互业务中很重要。

MPEG-4的编码流程的第一步是VO的形成(VO Formation),先要从原始视频中分割出VO,其次由编码控制(Coding Control)机制为不同的VO以及各个VO的三类信息分配码率,之后各个VO分别独立编码,最后将各个VO的码流复合成一个位流。其中,在编码控制和复合阶段可以加入用户的交互控制或由智能化的算法进行控制。目前的MPEG-4标准中包含了基于网络模型的编码和Sprite技术。在进行图像分析后,先考察每个VO是否符合一个模型,典型的如人头肩像,如果是就按模型编码;再考虑背景能否采用Sprite技术,如果可以则将背景产生一幅大图,为每帧产生一个仿射变换和一个位置信息即可;最后才对其余的VO按上述流程编码。MPEG-4的解码流程基本上为编码的反过程。长期从事郑州监控设计、郑州监控安装、郑州监控维修工作,同时承接郑州网络布线、郑州综合布线、郑州光纤熔接、无线网络覆盖、光纤熔接、防盗报警等弱电系统希望能给客观带来更好的工作体验。

MPEG-4中的视频对象VO

MPEG-4中把对视频对象(VO)分成以下几类:自然视频(传统的)、2D3D网格(Mesh)、静态纹理(静态图)、Sprite(通过拼接生成的背景图)、FBAFace and Body Animation,人脸和人体动画),以便有针对性地对这些类别分别进行编码和处理。

自然视频编码

首先,对自然视频流进行VOP分割,由编码控制器为不同VO的形状、运动、纹理信息分配码率,并由VO编码器对各个VO分别进行独立编码,然后将编码的基本码流复合成一个输出码流,编码控制和复用(Multiplex,多路复用)部分可以加入用户的交互控制或智能算法控制。接收端经解复用(Demultiplex,多路信号分离),将各个VO分别解码,然后将解码后的VO合成场景输出。

视频对象(VO)编码器包括三个部分:形状编码部分、运动补偿部分以及纹理编码部分。在视频监控系统应用中对视频进行编码时,常采用MPEG-4标准进行压缩,因为视频监控的场景中图像背景通常是固定不变的,人物活动情况比较少,基于对象编码能得到较高的数据压缩率。

3D人脸和身体对象

3D人脸对象是用3D网格模型来描述人脸的形状、表情等各种面部特征,MPEG-4定义了两套参数来描述人脸的形状和运动,面部定义参数FDPFacial Define Parameter)和面部动画参数FAPFacial Animation Parameter)。在3D人脸对象的编码过程中,FDP参数只需要编码传输一次,关键帧的FAP参数编码驱动面部运动,关键帧之间通过插值技术生成一些中间图像,使人脸的各种运动看起来更平滑、自然。

Sprite编码技术

Sprite对象是针对背景对象的特点提出的,是表示Sprite编码的一个实际例子。左上角的图是背景全景图。左下角的图是一个没有背景的子图像前景图,可以把两个“潜伏人员”当作是一个视频对象(VO),通常把这种可以独立移动的小图像称为子图像(Sprite子图像)。右面的图是接收端合成的全景图。在编码之前这个子图像全景图从背景全景图序列中抽出来,然后分别对它们进行编码、传送和解码,最后再合成。