H.264在流媒体应用中的优势From:!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.263,MPEG-2,MPEG-4和H.264压缩性能的一个比较。图中横坐标代表码率(单位:Kbps),纵坐标代表的是视频的质量,用视频亮度分量的信噪比(单位:dB)来表示,dB越高表示视频质量越好。使用的测试序列是标准测试序列Tempete(CIF,30帧/s)。由图中我们可以看到,在四个编码标准中,MPEG-2的编码效率最低,H.263次之,然后是MPEG-4,编码效率最高的是H.264。从视频质量上看,当图像客观质量达到31dB时,H.264产生的码率仅约为350kbps,MPEG-4需要510kbps左右,H.263约为625kbps,MPEG-2则接近1Mbps。图2H.263,MPEG-2,MPEG-4和H.264的比较图3是H.264和WMV9压缩性能的一个比较。图中横坐标表示码率,纵坐标表示图像质量(越往上表示图像质量越好)。从直方图中我们可以看出,在相同码率条件下,H.264的压缩的图像质量要好于WMV9,即H.264的压缩效率要高于WMV9,而且码率越低,这种区别越明显。图3H.264和WMV9的比较图4和图5是DVD(D9)的原始画面和H.264在700Kbps码率下压缩的影片效果的比较。截图选取的是对编码器极具考验的爆炸场面。H.264在700Kbps的码率条件下可以达到近似DVD的质量,即使是在大运动量的情况下,视频压缩的效果还是很好的。业内人士从以下截图很容易可以看到,在相同的码率条件下,其他的编码器是难以提供这种质量的视频效果的。图4DVD原始画面图5H.264700K码率的画面再做一个编码器之间的横向比较。图6和图7是H.264和WMV9编码器对同一视频源在450Kbps码率下压缩的影片截图。截图选取了包含多个运动对象的帧图为代表,从压缩的效果我们可以看出,H.264的清晰度要比WMV9高。图6WMV9450k码率的画面图7H.264450K码率的画面鉴于时间等原因,以上数据来源于一些研究机构,截图为作者实验的结果,如有纰漏,欢迎指正。以上的图表分析和测试截图帮助我们直观地看到,H.264具有比其他标准和技术更高效的压缩性能,能够在更低的网络带宽条件下提供更优质量的视频,是流媒体应用的一个较佳选择。有人可能会问,H.264效果虽佳,但复杂程度不是也很高吗?以当前硬件的计算能力如何实现?的确,压缩性能和复杂程度本来就是一对欢喜冤家,H.264的编解码复杂度比以往的国际标准要高很多。但需要说明的是,以现在硬件的计算能力,无论H.264编码器还是解码器都是能够实现的,现在业界已经存在的很多H.264的软硬件编解码方案就是很好的证明。现在的问题是,如何以低成本实现高性能(包括压缩效率和时间性能),这是H.264大规模应用或者说产业化的一个前提,也是目前视频领域的一个研究热点和商业热点。5总结H.264的高效压缩性能和良好的网络适应能力,使其成为视频压缩技术中的佼佼者。尽管在复杂程度和专利费用方面存在一些不利的因素,阻碍着H.264潜力的发挥,同时其他的一些技术(诸如WMV10和AVS)也在抓紧时间赶超它性能,但就目前而言,H.264仍不失为流媒体应用中一个很好的选择,而且它的应用才刚刚开始,未来几年内将会发挥更大潜力。关键词:视频压缩,H.264,流媒体1引言在通信技术和信息技术快速发展的今天,人们对多媒体业务的需要愈来愈迫切,要求也愈来愈高。其中,视频信息的质量和传输速度是最为主要的。今天的网民们,有谁还能够想象当年在网上看到一张图片就已经是一件兴高采烈的事情了。而今天我们在网上听音乐、看电视、看VOD点播、参加游戏站队……,已经是习以为常的事情了。当然,还少不了时儿抱怨一下视频不连续,或是图像模糊。技术的发展和人们的需求总是相辅相成的。近年来网络视频业务的发展离不开两大重要因素:一是宽带网络的迅速发展,二是视频压缩技术的快速进步。那么有人会问,既然网络的带宽在不停地扩展,那么压缩是不是就显得不那么重要了呢?这里我们举一个例子,大家在网上看的P2P电视,以CIF大小的一路视频为例计算,即分辨率为352×288,假设帧率采用每秒25帧,色度取样4:2:0。则这样一路视频,如果不经任何压缩,码率将为352×288×3/2×25×8=29Mbps,即每秒钟需要传递的数据量为29M。而现有的家庭宽带用户,带宽一般仅在512kbps~2M之间,试问如何接收?即使是百兆的专线用户,也不过能够同时接收3路这样的网络电视节目而已。因此,勿庸置疑,如果没有视频压缩技术,那么现在互联网上的视频业务几乎是没有可能的。在众多的网络视频业务中,流式视频服务占了很大的一个比例。所谓流式视频是指用户通过网络或者特定数字信道边下载边播放,而不需要花费很长时间将视频数据全部下载到本地后才能播放,仅需在开始时等待几秒钟的延时便可以流畅地观看。开展网络流媒体服务需要解决两个主要问题,一是媒体数据的传输,即信道编码技术;二是源端数据的压缩处理,即信源压缩技术或称编解码技术,这篇文章重点探讨视频信源的压缩技术,即视频编解码技术。2视频压缩标准和技术简介传统的视频压缩编码理论建立在香农(shannon)信息论的基础上,通过消除图像数据间的相关冗余来达到压缩的目的,压缩倍数一般在50倍左右,即压缩数据可以达到原数据量的2%,代表为MPEG-1和MPEG-2。到20世纪80年代中后期,人类生理和心理学研究的成果被引入到视频压缩理论中来,发展了基于人眼视觉特性和信源性质的第二代编码技术,压缩效率进一步提高,压缩倍数可以达到100~150倍,即压缩为原数据的1%左右,MPEG4和H.264是这方面的代表。图1描述了近年来视频压缩标准的进展情况。国际电信联盟(ITU-T)和国际标准化组织的运动图像专家组(ISO/IECMPEG)是国际视频压缩标准的两大主要制定者。ITU-T主要制定了H系列的标准,包括H.261,H.263;而MPEG-1,MPEG-4则是ISO/IECMPEG的主要成果。众所周知,MPEG-1的制定,带来了VCD和MP3产业的发展。而另一个引领DVD产业的标准MPEG-2,以及目前被认为是未来几年最有前途的标准——H.264(未标准化以前称作H.26L)则是两个组织共同合作的结果。H系列的标准主要应用于视频会议、远程监控等业务,较适合于早期的PSTN、ISDN网络;MPEG-1和MPEG-2是两个主要面向存储的压缩标准,码率较高,对网络的特性也考虑较少。因此,在网络流媒体领域中很少看到这些标准的大规模应用。MPEG-4和H.264是目前流媒体领域内比较适用的两个国际标准,常见的编码器如Divx和Xvid实质是遵循MPEG-4标准的编解码器。图1国际标准进展在流媒体领域,除了以上国际标准外,较有影响的一些技术还有微软的WMV9,RealNetworks公司的Real9,On2的VP6/VP7等。这些流媒体技术,应互联网应用的需要而产生,加之拥有这些技术的公司本身的影响,使得它们被广泛应用,在流媒体领域扮演了重要的角色。此外,为适应中国信息产业发展的需要,2002年由科技司批准成立了中国音视频标准化工作组,负责制定中国自己的音视频编码标准,称为AVS。内容包括系统、视频、音频、数字版权保护、文件格式、标准的一致性,参考软件等多个部分。目前,其第二部分:视频,已经获准成为国家标准,从2006年3月1日开始实施。