- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
H.264视频压缩标准拓展视频监控的潜力
1.简介
H.264是最新的视频压缩标准,它也称为MPEG-4Part10或AVC(高级视频编码)。据预测,在未来几年内H.264将成为行业首选的视频标准
H.264是一个需要许可证才能使用的开放标准,可支持最当今市场上最高效的视频压缩技术。在不影响图像质量的情况下,与采用M-JPEG和MPEG-4Part2标准相比,H.264编码器可使数字视频文件的大小分别减少80%和50%以上。这意味着视频文件所需的网络带宽和存储空间将大大降低。或者从另一个角度来说,在某一特定比特率下,视频图像质量将得到显著提高。
H.264由电信和IT行业的标准化组织联合制定,与先前标准相比,H.264有望得到更广泛的应用。
H.264已经应用于手机和数字视频播放器等新一代电子产品中,并且迅速获得广大最终用户的青睐。在线视频存储公司和电信公司等服务提供商也开始采用H.264标准。
在视频监控行业,H.264将很可能以最快速度应用于那些需要高帧速和高分辨率的监控场所,例如高速公路、机场和娱乐场所等。对于这些监控场所而言,使用30/25fps(NTSC/PAL)的帧速已经成为一种通行的标准。然而,由于H.264能够减少带宽和存储需求,具有显著的经济性,因此可以帮助企业最大限度节省成本。
此外,由于H.264这种极其高效的压缩技术能够在不影响图像质量的前提下,对大文件进行大比例压缩并降低比特率,因此有望提高百万像素摄像机的普及速度。然而,事物都有其两面性。虽然H.264能够节省网络带宽和存储成本,然而它却对网络摄像机和显示终端提出了更高的性能要求。
2.H.264的发展
H.264是ITU-T的视频编码专家组(VCEG)和ISO/IEC运动图像专家组(MPEG)联合制定的新一代视频压缩标准。ITU-T是一个代表国际电信联盟协调制定电信标准的部门。ISO是指国际标准化组织。IEC是指国际电工委员会,负责制定所有电子、电气和相关技术的标准。H.264是ITU-T所使用的名称,而ISO/IEC将其命名为MPEG-4Part10/AVC,因为它代表的是MPEG-4系列标准中的一个新标准。MPEG-4系列标准包括了MPEG-4Part2等标准,MPEG-4Part2是一个应用于基于IP的视频编码器和网络摄像机的标准。
为了解决先前视频压缩标准中存在的不足,H.264的目标是支持:
>高效压缩,在某一特定的视频质量下,与采用任何其它视频标准相比,可以使比特率平均降低50%。
>更强大的容错能力,能够纠正各种网络的传输错误
>低时延功能,并能够在更高时延的情况下提供更高质量的图像
>通过简单的句法规范简化实施
>精确匹配解码,严格规定了编码器和解码器如何进行数值计算,以避免错误累积
此外,H.264还能够灵活地支持有着不同比特率要求的各种监控应用。例如,在娱乐视频应用(包括广播、卫星电视、有线电视和DVD)中,H.264能够以高时延实现1-10Mbit/秒的性能。而对于电信服务来说,H.264能够以低时延实现低于1Mbit/秒的比特率。
3.视频压缩的工作原理
视频压缩通过减少和去除冗余视频数据的方式,达到有效发送和存储数字视频文件的目的。在压缩过程中,需要应用压缩算法对源视频进行压缩以创建压缩文件,以便进行传输和存储。要想播放压缩文件,则需要应用相反的解压缩算法对视频进行还原,还原后的视频内容与原始的源视频内容几乎完全相同。压缩、发送、解压缩和显示文件所需的时间称为延时。在相同处理能力下,压缩算法越高级,延时就越长。
视频编解码器(编码器/解码器)是指两个协同运行的压缩-解压算法。使用不同标准的视频编解码器通常彼此之间互不兼容;也就是说,使用一种标准进行压缩的视频内容无法使用另外一种标准进行解压缩。例如,MPEG-4Part2解码器就不能与H.264编码器协同运行。这是因为一种算法无法正确地对另外一个算法的输出信号进行解码,然而我们可以在同一软件或硬件中使用多种不同的算法,以支持对多种格式的文件进行压缩。
由于不同的视频压缩标准会使用不同的方法来减少数据量,因此压缩结果在比特率、质量和延时方面也各不相同。
此外,由于编码器的设计者可能会选择使用某个标准所定义的不同工具集,因此,即使是使用相同压缩标准的编码器之间,其压缩结果也可能会存在差异。不过,只要编码器的输出信号符合标准的格式以及解码器的要求,就可以采用不同的实施方式。这是非常有利的,因为不同的实施方式可实现不同的目标,满足不同的预算要求。对用于管理光介质存储的非实时专业软件编码器来说,应该能够比用于视频会议的集成在手持设备中的实时硬件编码器提供质量更高的编码视频。因此,即使是某个指定的标准也无法保证提供指定的比特率或质量。而且,如果不事先确定实施方式,一个标准就无法与其它标准进行正确的性能对比,甚至也无法与同一标准的其它实施方式进行正确的性能对比。
与编码器不同,解码器必须实施某个标准的所有必需部分,才能对符合标准的比特流进行解码。这是因为标准中明确规定了解压缩算法应如何对压缩视频的每个比特进行还原。
下图是在相同图像质量水平下,采用下列视频标准的比特率对比:M-JPEG,MPEG-4Part2(无运动补偿)、MPEG-4Part2(有运动补偿)和H.264(基准类)。
图1.对于视频序列样本来说,使用H.264编码器能够比使用有运动补偿的MPEG-4编码器降低50%的比特率(bps)。在没有运动补偿的情况下,H.264编码器的效率至少比MPEG-4编码器高3倍,比M-JPEG编码器高6倍。
4.H.264类别和等级
参与制定H.264标准的联合组织致力于创建一个简单明了的解决方案,最大限度地限制选项和特性的数量。和其它视频标准一样,H.264标准的一个重要方面是通过类别(算法特性集)和等级(性能等级)中提供的功能,以最佳的方式支持常见应用和通用格式。
H.264有7个类别,每个类别都针对某一类特定的应用。此外,每个类别都定义了编码器能够使用哪些特性集,并限制了解码器在实施方面的复杂性。
网络摄像机和视频编码器最有可能使用的是基准类别,此类别主要针对计算资源有限的应用。对于嵌入在网络视频产品中的实时编码器来说,在特定的可用性能下,基准类别最为适用。此类别能够实现低延时,这对监控视频来说是一个很重要的要求,而且对于支持PTZ网络摄像机实现实时的平移/倾斜/缩放(PTZ)控制来说尤为重要。
H.264分为11个功能等级,对性能、带宽和内存需求进行了限制。每个等级都规定了从QCIF到HDTV等各种分辨率所对应的比特率和编码速率(每秒宏块数)。分辨率越高,要求的等级就越高。
5.帧的基本知识
根据H.264的不同类别,编码器会使用不同类型的帧,例如I帧、P帧和B帧。
I帧(帧内编码帧)是一种自带全部信息的独立帧,无需参考其它图像便可独立进行解码。视频序列中的第一个帧始终都是I帧。如果所传输的比特流遭到破坏,则需要将I帧用作新查看器的起始点或重新同步点。I帧可以用来实现快进、快退以及其它随机访问功能。如果新的客户端将参与查看视频流,编码器将以相同的时间间隔或者根据要求自动插入I帧。I帧的缺点在于它们会占用更多的数据位,但从另一方面看,I帧不会产生可觉察的模糊现象。
P帧(帧间预测编码帧)需要参考前面的I帧和/或P帧的不同部分才能进行编码。与I帧相比,P帧通常占用更少的数据位,但其缺点是,由于P帧对前面的P和I参考帧有着复杂的依赖性,因此对传输错误非常敏感。
B帧(双向预测编码帧)需要同时以前面的帧和后面的帧作为参考帧。
图2.带有I帧、B帧和P帧的典型视频序列。P帧只需要参考前面的I帧或P帧,而B帧则需要同时参考前面和后面的I帧或P帧。
来源:全球IP通信联盟