传统的视频监控架构主要有三种方式:模拟监控、数字监控和网络监控。模拟监控多采用模拟摄像机+监控矩阵的方式。数字监控多采用模拟摄像机+DVR的方式。网络监控则多采用网络摄像机(或者模拟摄像机+视频编码终端)+平台/NVR的结构。随着图像压缩存储技术和网络传输技术的发展,能够满足大多数市场需求的网络监控模式(网络摄像机+平台/NVR)已成为市场主流。
对于视频监控而言,图像清晰度是一个至关重要的指标。只有图像清晰度上去了,才能使用户体验更好,智能应用等业务准确性更高。而今,高清这个概念已经在市场的角逐中广为使用。而根据美国电影电视工程师协会以及我们国家**的标准,真正的高清是指720p和1080i/p,其中720P(1280x720)分辨率是高清和标清的一个分界线,当前市场上的主流应用CIF(352*288)和D1(720x576)分辨率还是属于标清的应用。近年来,视频压缩技术的发展(以H.264为代表)和网络带宽的不断提升为高清在视频监控领域的普及提供了契机。
高清的实现,必然要求视频监控解决方案的各环节:视频采集、视频编码压缩、视频传输、视频存储、视频数字信号的控制与交换、视频浏览、录像文件的回放等都支持高清。并且这些环节几乎都对视频编解码有所要求。视频的采集,考虑到高清的数据量,很多时候会选择将采集下来的图像进行一定程度的近似无损压缩(JPEG或M-JPEG多被采用);视频的传输和视频序列的数据量有着直接的关系,分辨率越大、清晰度越高,意味着在进行数据传输的时候码流也会增大,增加网络带宽压力,因而视频压缩效率越高越能够提高传输的QoS;数据流量的增大也增加了视频存储的压力,视频的编码压缩率直接影响到视频的存储容量;视频的浏览和视频编解码的质量直接关联,清晰度越高,可以容忍的瑕疵也会越少;录像文件的回放和网络适应性、视频编解码的质量挂钩。可见,高清在视频监控中普及的关键在于视频编解码的质量、压缩率以及网络适应性。其中,对编解码最核心的需求是:在尽可能的降低码率的同时,获得尽可能好的图像质量。
2003年,由IEO/IEC和ITU—T两大国际标准化组织联手推出的视频标准H.264更好的满足了这一要求。H.264也称为MPEG4-Part10,相较于以前的视频编解码,可以达到更低的码率,更好的图像质量,更好的IP和无线信道适应性。同时我们也要注意到的是,H.264性能得到大幅提升的同时,计算复杂度也大大增加。下面主要介绍下H.264较诸其他视频编解码标准的优势:
1、 支持更小的块(最小可到4x4)和更细的运动矢量(Y分量为1/4像素)。宏块被切分成更多尺寸更小的小块,这样可以使细小的运动可以更容易的被区分出来,使得运动矢量的精度得以提高,提高了编码质量与效率,节省了码流。
2、 帧内预测。不适合运用运动估计的地方,就采用帧内估计用来消除空间冗余。帧内预测并不是H.264所独有的,但是相对其它编码标准中的帧内变换是在变换域中进行,H.264的帧内预测是在空间域中进行的。首先根据其周围的宏块内部估计通过在一个预定义的集合上的不同方向的邻近块推测相邻像素来预测当前块。然后预测块和真实块之间的不同点被编码。这种方法对于经常存在空间冗余的平坦背景特别有用,可以节省码流和提高编码质量。
3、 整数DCT4x4变换与量化。MPEG-2、MPEG-4、H.263使用浮点DCT8X8变换。H.264使用更小的4x4块,可以减少块效应和明显的人工痕迹。整数系数消除了在MPEG-2、MPEG-4、H.263中进行浮点系数运算时导致的精度损失。在量化上,量化步长的变化不象以前视频编解码标准中的每次递增一个常量,而是将量化步长的变化幅度控制在12.5%左右,即可以改善编码质量,又提高对码率的控制能力。
4、 熵编码。H.264提供了两种可选方式的熵编码模式:全局VLC(即UVLC:Universal VLC)和基于语法的上下文自适应二值算术编码CABAC(Context Adaptive Binary Arithmetic Coding)。UVLC使用一个相同的码表进行编码,而解码器很容易识别码字的前缀,UVLC 在发生比特错误时能快速获得重同步。UVLC计算复杂度较低,主要针对对编码时间要求很严格的应用,缺点就是效率低,压缩率不高;CABAC其编码性能比 UVLC有提升,但复杂度较高。
5、 多参考帧的运动补偿和加权预测。使用多帧运动补偿可以提高编码质量和效率,且有利于恢复丢包。加权预测可用于修正P帧或B帧内中的运动补偿预测像素的方法,可以提高编码质量。
6、 环内滤波。视频编解码器中加入滤波器的方法有两种:环外滤波器和环内滤波器。环外滤波器只处理编码环路外的显示缓冲器中的数据,所以它不是标准化过程中的规范内容,在标准中只是可选项。相反,环路滤波器处理编码环路中的数据。在编解码器中,被滤波的图像帧作为后续编解码帧运动补偿的参考帧;在解码器中,滤波后的图像输出显示。这要求所有与本标准一致的解码器采用同一个滤波器以与编码器同步。当然如果有必要,解码器也还可以在使用环路滤波器的同时使用后置滤波器。由于考虑了块数据的边界等信息,环内滤波器的效果要好于环外滤波器。H.264采用了环内滤波器,通过对宏块边缘的平滑滤波, 减轻视频编码中的块效应,既减弱“块效应”的影响又避免滤掉图像的客观特征, 同时在相同主观质量下使比特率减少 5%~10%。
2005年增加的H.264 high profile,由于其更高的编码压缩率和网络适应性,被很多应用领域关注,其中包括高清视频监控、高清网络摄像机、智能监控、无线监控等。
H.264 High Profile是目前H.264各种profile中编码最高效的Profile。在H.264 Main Profile的基础上增加了8x8帧内预测、自定义量化矩阵、无损视频编码、支持输入图像为YUV400格式。与其他标准相比,在相同失真率条件下H.264 High Profile的编码效率提高了50%左右。其中,对提升编码压缩率的主要有:CABAC编码、多参考帧、8x8帧内预测、8x8DCT变换。
H.264为了更好的适应网络的多样性,增强鲁棒性,做了以下的改进:
在概念上可以分为两层:视频编码层(VCL: Video Coding Layer)和网络提取层(NAL : Network Abstraction Layer)。VCL和NAL分层编码设计的目标就是使H.264标准对各种网络协议有更广泛的适应性,并在一定的网络特性条件下实现最优压缩性能,从而使其有更广泛的应用空间。VCL和NAL在功能上是分工协作的关系,VCL负责基于块的运动补偿混合编码。而NAL专门负责网络的适配,包括为视频编码信息提供文件头信息,以适当的方式对视频数据进行打包和传送。即以NAL包为单位的方式来做为VCL编解码的基本单元,这样网络层拿到NAL包之后只需附加该传输协议的头信息就可以传送出去。可以将NAL当成是一个专做数据封装的模块,用来将VCL压缩过的H.264码流封装成适当大小的数据包,并在数据包头记载数据包的类型,每种类型分别对应到VCL中不同的编解碼工具
在H.264标准中引入NAL层,其码流结构对网络的适应性更强,增加了差错恢复能力,能够很好地适应不同网络的应用。在这种分层结构中,高编码效率和网络友好性的任务分别由VCL和NAL来完成。利用这种特性,我们还可以实现对数据的封装和对数据进行更好的优先控制。
NAL层的另一个重要功能是当网络状况发生恶化时,导致NAL包丢失或者接受次序错乱时,接收方可以根据预设的方案,进行相应的纠错处理。H.264规范中一共规定了12种NAL单元的类型,来定义不同的NAL内容,这样当发生错误时,调度层就可以根据不同的NAL类型做不同的处理操作。这一功能在可靠性较低的网络中,特别有用。
考虑到H.264 High Profile较诸其他编解码协议在图像质量、数据压缩性能和网络适应性的压倒性的优势,可以预见,采用H.264 High Profile的产品会有更大的竞争力,在不远的将来,H.264 High Profile必然成为视频监控、高清网络摄像机的事实标准。这也对监控行业提出了新的要求,去深入理解并引入H.264 High Profile。
阅读(1991) | 评论(0) | 转发(3) |