H.264在流媒体应用中的优势From:http://nora-tt.spaces.live.com/blog/cns!6b8583dfa95e2b20!460.entry摘要:H.264是ITU-TVCEG和ISOMPEG联合颁布的新一代视频压缩标准,和以往的视频压缩标准及技术相比,H.264不仅具有更高效的压缩性能,而且具有良好的网络适应特性。文章介绍了H.264的技术特点,并通过和其他标准的分析比较,说明了H.264在流媒体应用中的优势。3H.264的特点分析H.264是ITU-TVCEG和ISO/IECMPEG的联合小组(JVT:JointVideoTeam)于2003年3月正式颁布的标准,同时被收录为MPEG-4的第10部分,称为AVC(AdvancedVideoCoding)。H.264制定的目标是提供一种比已存标准性能更高的视频编码标准,主要体现为较高的编码效率、友好的网络交互性和精简的语法表示。基于此目标,H.264使用了两层编码结构,其中视频编码层(VCL:VideoCodingLayer)实现对视频内容的高效压缩编码,采用了典型的基于离散余弦变换(DCT)和运动补偿(MC)的混合编码方法:将图像划分成小块进行编码;利用空域预测和变换技术去除数据的空间冗余;利用运动估计和补偿技术,去除数据的时间冗余;对残差块施行量化和熵编码,进一步去除冗余。另外,网络抽象层(NAL:NetworkAbstractionLayer)负责对压缩数据打包以适应在不同网络环境下传输的要求。此外,为了获得更高的压缩效率,H.264中引入了许多新的编码方法,具有一些新的特性:对于I帧编码,提供了多种基于空域的帧内预测模式,包括4×4亮度块的9种预测模式,16×16亮度块的4种预测模式,以及8×8色度块的4种预测模式;在运动估计和补偿方面,运用了7不同大小和形状的像素块,四分之一步长精度的运动搜索方法,多参考帧选择模式,去块斑滤波等;在变换方面,用整数4×4和8×8(highprofile)变换取代传统的浮点DCT变换;包含了两种熵编码方法,基于上下文的变长编码(CAVLC:ContextAdaptiveVariableLengthCodes),和基于上下文的二进制算术编码(CABAC:Context-basedAdaptiveBinaryArithmeticCoding)。从实际应用来看,H.264能够在更低的码率条件下提供更好的视频质量,此外,网络抽象层的封装以及编码层的容错机制使其具有良好的网络适应性,是网络流媒体应用的一个较佳选择。具体来讲,H.264应用于网络流媒体有如下几点优势:第一,针对流媒体的应用,协议专门定义了一个档次,称为扩展档次(ExtendedProfile)。该档次界定了除算术编码(CABAC)、B帧小图像块(小于8x8)的直接预测以外的一系列视频工具,以适应网络流媒体不同应用的不同需要,尤其是SI,SP帧的引入,使得流数据可以很方便地在不同码率间进行切换,便于视频流的拼接与随机接入,同时也便于错误恢复。第二,具有良好的网络适应性。首先,从框架结构上讲,整个协议由VCL层和NAL层构成。VCL层主要实现视频数据的压缩,而NAL层则负责包装编码产生的视频流,以适应多种不同的传输环境。其次,从容错性能方面讲,H.264协议充分考虑了IP网络的特性,在VCL层和NAL层中提供了多种容错工具,如数据分割,冗余Slice,任意宏块顺序(FMO),参数集工具等,从而提高压缩码流的鲁棒性,以适应IP网络尽力而为(best-effort)的特点,减轻诸如带宽波动、延时、丢包所带来的不良影响。第三,具有高效的压缩性能。H.264引入的一些新的编码方法是压缩性能提高的关键。高效的压缩性能意味着,相同的数据量可以表示更好的图像质量,或者在相同的网络带宽下可以传输质量更好的图像;同时也意味着,提供相同质量的视频,只需要更少的数据量(或带宽)。官方测试表明,H.264和H.263+及MPEG-4SimpleProfile相比,在相同质量条件下,可节省高达50%的码率。与MPEG-2相比,则性能更为优越,压缩效率可以是MPEG-2的2倍~4倍左右。举例说明,你从网上下载了一部8M左右的DVD9的影片,如果这部影片是采用H264技术压缩而不是MPEG-2的话,那么文件的大小可能只有2M左右,甚至更低,而视觉质量基本不受影响,同时下载的时间无疑会大大减少;换个例子讲,在网上传输一路400Kbps电视节目,节目源可能是采用WMV的技术,也可能是Real或者MPEG-4,如果换用H.264压缩,则能够得到更佳的图像质量。4分析比较图2是H....