MPEG-4与H264区别,编码及应用
3、对网络传输带宽要求不高--由于MPEG4的压缩比是同质量MPEG1和M-JPEG的10倍多,所以网络传输时占用的带宽仅是同质量MPEG1和M-JPEG的1/10左右。在相同的画质要求下,MPEG4只需要更窄的带宽。
====================
视频编码新标准H.264的技术亮点
摘要:
面向实际应用,由ISO/IEC和ITU-T两大国际标准化组织共同制定的H.264建议是视频编码技术的新发展。它在多模式运动估计、整数变换、统一VLC符号编码、分层编码语法等方面都有它的独到之处。因此H.264算法具有很高的编码效率,其应用前景应是不言而喻的。
关键词:视频编码 图像通信 JVT
上个世纪80年代以来,ISO/IEC制定的MPEG-x和ITU-T制定的H.26x两大系列视频编码国际标准的推出,开创了视频通信和存储应用的新纪元。从H.261视频编码建议,到H.262/3、MPEG-1/2/4等都有一个共同的不断追求的目标,即在尽可能低的码率(或存储容量)下获得尽可能好的图像质量。而且,随着市场对图像传输需求的增加,如何适应不同信道传输特性的问题也日益显现出来。这就是IEO/IEC和ITU-T两大国际标准化组织联手制定的视频新标准H.264所要解决的问题。
H.261是最早出现的视频编码建议,目的是规范ISDN网上的会议电视和可视电话应用中的视频编码技术。它采用的算法结合了可减少时间冗余的帧间预测和可减少空间冗余的DCT变换的混合编码方法。和ISDN信道相匹配,其输出码率是p×64kbit/s。p取值较小时,只能传清晰度不太高的图像,适合于面对面的电视电话;p取值较大时(如 p>6),可以传输清晰度较好的会议电视图像。H.263 建议的是低码率图像压缩标准,在技术上是H.261的改进和扩充,支持码率小于64kbit/s的应用。但实质上H.263以及后来的H.263+和H.263++已发展成支持全码率应用的建议,从它支持众多的图像格式这一点就可看出,如Sub-QCIF、QCIF、CIF、4CIF甚至16CIF等格式。
MPEG-1标准的码率为1.2Mbit/s左右,可提供30帧CIF(352×288)质量的图像,是为CD-ROM光盘的视频存储和播放所制定的。MPEG-l标准视频编码部分的基本算法与H.261/H.263相似,也采用运动补偿的帧间预测、二维DCT、VLC游程编码等措施。此外还引入了帧内帧(I)、预测帧(P)、双向预测帧(B)和直流帧(D)等概念,进一步提高了编码效率。在MPEG-1的基础上,MPEG-2标准在提高图像分辨率、兼容数字电视等方面做了一些改进,例如它的运动矢量的精度为半像素;在编码运算中(如运动估计和DCT)区分“帧”和“场”;引入了编码的可分级性技术,如空间可分级性、时间可分级性和信噪比可分级性等。近年推出的MPEG-4标准引入了基于视听对象(AVO:Audio-Visual Object)的编码,大大提高了视频通信的交互能力和编码效率。MPEG-4中还采用了一些新的技术,如形状编码、自适应DCT、任意形状视频对象编码等。但是MPEG-4的基本视频编码器还是属于和H.263相似的一类混合编码器。
总之,H.261建议是视频编码的经典之作,H.263是其发展,并将逐步在实际上取而代之,主要应用于通信方面,但H.263众多的选项往往令使用者无所适从。MPEG系列标准从针对存储媒体的应用发展到适应传输媒体的应用,其核心视频编码的基本框架是和H.261一致的,其中引人注目的MPEG-4的“基于对象的编码”部分由于尚有技术障碍,目前还难以普遍应用。因此,在此基础上发展起来的新的视频编码建议H.264克服了两者的弱点,在混合编码的框架下引入了新的编码方式,提高了编码效率,面向实际应用。同时,它是两大国际标准化组织的共同制定的,其应用前景应是不言而喻的。
一、JVT的H.264
H.264是ITU-T的VCEG(视频编码专家组)和ISO/IEC的MPEG(活动图像编码专家组)的联合视频组(JVT:joint video team)开发的一个新的数字视频编码标准,它既是ITU-T的H.264,又是ISO/IEC的MPEG-4的第10 部分。1998年1月份开始草案征集,1999年9月,完成第一个草案,2001年5月制定了其测试模式TML-8,2002年6月的 JVT第5次会议通过了H.264的FCD板。目前该标准还在开发之中,预计明年上半年可正式通过。
H.264和以前的标准一样,也是DPCM加变换编码的混合编码模式。但它采用“回归基本”的简洁设计,不用众多的选项,获得比H.263++好得多的压缩性能;加强了对各种信道的适应能力,采用“网络友好”的结构和语法,有利于对误码和丢包的处理;应用目标范围较宽,以满足不同速率、不同解析度以及不同传输(存储)场合的需求;它的基本系统是开放的,使用无需版权。
在技术上,H.264标准中有多个闪光之处,如统一的VLC符号编码,高精度、多模式的位移估计,基于4×4块的整数变换、分层的编码语法等。这些措施使得H.264算法具有很的高编码效率,在相同的重建图像质量下,能够比H.263节约50%左右的码率。H.264的码流结构网络适应性强,增加了差错恢复能力,能够很好地适应IP和无线网络的应用。
二、H264的技术亮点
分层设计
H.264的算法在概念上可以分为两层:视频编码层(VCL:Video Coding Layer)负责高效的视频内容表示,网络提取层(NAL:Network Abstraction Layer)负责以网络所要求的恰当的方式对数据进行打包和传送。H.264编码器分层结构如图1所示。在VCL和NAL之间定义了一个基于分组方式的接口,打包和相应的信令属于NAL的一部分。这样,高编码效率和网络友好性的任务分别由VCL和NAL来完成。
VCL层包括基于块的运动补偿混合编码和一些新特性。与前面的视频编码标准一样,H.264没有把前处理和后处理等功能包括在草案中,这样可以增加标准的灵活性。
NAL负责使用下层网络的分段格式来封装数据,包括组帧、逻辑信道的信令、定时信息的利用或序列结束信号等。例如,NAL支持视频在电路交换信道上的传输格式,支持视频在Internet上利用 RTP/UDP/IP传输的格式。NAL包括自己的头部信息、段结构信息和实际载荷信息,即上层的VCL数据。(如果采用数据分割技术,数据可能由几个部分组成)。
高精度、多模式运动估计
H.264支持1/4或1/8像素精度的运动矢量。在1/4像素精度时可使用6抽头滤波器来减少高频噪声,对于1/8像素精度的运动矢量,可使用更为复杂的8抽头的滤波器。在进行运动估计时,编码器还可选择“增强”内插滤波器来提高预测的效果。
在H.264的运动预测中,一个宏块(MB)可以按图2被分为不同的子块,形成7种不同模式的块尺寸。这种多模式的灵活和细致的划分,更切合图像中实际运动物体的形状,大大提高了运动估计的精确程度。在这种方式下,在每个宏块中可以包含有1、2、4、8或16个运动矢量。
在H.264中,允许编码器使用多于一帧的先前帧用于运动估计,这就是所谓的多帧参考技术。例如2帧或3帧刚刚编码好的参考帧,编码器将选择对每个目标宏块能给出更好的预测帧,并为每一宏块指示是哪一帧被用于预测。
4×4块的整数变换
H.264与先前的标准相似,对残差采用基于块的变换编码,但变换是整数操作而不是实数运算,其过程和DCT基本相似。这种方法的优点在于:在编码器中和解码器中允许精度相同的变换和反变换,便于使用简单的定点运算方式。也就是说,这里没有“反变换误差”。变换的单位是4×4块,而不是以往常用的8×8块。由于用于变换块的尺寸缩小,运动物体的划分更精确,这样,不但变换计算量比较小,而且在运动物体边缘处的衔接误差也大为减小。为了使小尺寸块的变换方式对图像中较大面积的平滑区域不产生块之间的灰度差异,可对帧内宏块亮度数据的16个4×4块的DC系数(每个小块一个,共16个)进行第二次4×4块的变换,对色度数据的4个4×4块的DC系数(每个小块一个,共4个)进行2×2块的变换。
H.264为了提高码率控制的能力,量化步长的变化的幅度控制在12.5%左右,而不是以不变的增幅变化。变换系数幅度的归一化被放在反量化过程中处理以减少计算的复杂性。为了强调彩色的逼真性,对色度系数采用了较小量化步长。
统一的VLC
H.264中熵编码有两种方法,一种是对所有的待编码的符号采用统一的VLC(UVLC :Universal VLC),另一种是采用内容自适应的二进制算术编码(CABAC:Context-Adaptive Binary Arithmetic Coding)。CABAC是可选项,其编码性能比UVLC稍好,但计算复杂度也高。UVLC使用一个长度无限的码字集,设计结构非常有规则,用相同的码表可以对不同的对象进行编码。这种方法很容易产生一个码字,而解码器也很容易地识别码字的前缀,UVLC在发生比特错误时能快速获得重同步。
这里,x0,x1,x2,…是INFO比特,并且为0或1。图4列出了前9种码字。如:第4号码字包含INFO01,这一码字的设计是为快速再同步而经过优化的,以防止误码。
帧内预测
在先前的H.26x系列和MPEG-x系列标准中,都是采用的帧间预测的方式。在H.264中,当编码Intra图像时可用帧内预测。对于每个4×4块(除了边缘块特别处置以外),每个像素都可用17个最接近的先前已编码的像素的不同加权和(有的权值可为0)来预测,即此像素所在块的左上角的17个像素。显然,这种帧内预测不是在时间上,而是在空间域上进行的预测编码算法,可以除去相邻块之间的空间冗余度,取得更为有效的压缩。
4×4方块中a、b、...、p为16 个待预测的像素点,而A、B、...、P是已编码的像素。如m点的值可以由(J+2K+L+2)/ 4 式来预测,也可以由(A+B+C+D+I+J+K+L)/ 8 式来预测,等等。按照所选取的预测参考的点不同,亮度共有9类不同的模式,但色度的帧内预测只有1类模式。
面向IP和无线环境
H.264 草案中包含了用于差错消除的工具,便于压缩视频在误码、丢包多发环境中传输,如移动信道或IP信道中传输的健壮性。
为了抵御传输差错,H.264视频流中的时间同步可以通过采用帧内图像刷新来完成,空间同步由条结构编码(slice structured coding)来支持。同时为了便于误码以后的再同步,在一幅图像的视频数据中还提供了一定的重同步点。另外,帧内宏块刷新和多参考宏块允许编码器在决定宏块模式的时候不仅可以考虑编码效率,还可以考虑传输信道的特性。
除了利用量化步长的改变来适应信道码率外,在H.264中,还常利用数据分割的方法来应对信道码率的变化。从总体上说,数据分割的概念就是在编码器中生成具有不同优先级的视频数据以支持网络中的服务质量QoS。例如采用基于语法的数据分割(syntax-based data partitioning)方法,将每帧数据的按其重要性分为几部分,这样允许在缓冲区溢出时丢弃不太重要的信息。还可以采用类似的时间数据分割(temporal data partitioning)方法,通过在P帧和B帧中使用多个参考帧来完成。
在无线通信的应用中,我们可以通过改变每一帧的量化精度或空间/时间分辨率来支持无线信道的大比特率变化。可是,在多播的情况下,要求编码器对变化的各种比特率进行响应是不可能的。因此,不同于MPEG-4中采用的精细分级编码FGS(Fine Granular Scalability)的方法(效率比较低),H.264采用流切换的SP帧来代替分级编码。
========================
三、TML-8性能
TML-8为H.264的测试模式,用它来对H.264的视频编码效率进行比较和测试。测试结果所提供的PSNR已清楚地表明,相对于MPEG-4(ASP:Advanced Simple Profile)和H.263++(HLP:High Latency Profile)的性能,H.264的结果具有明显的优越性,如图5所示。
H.264的PSNR比MPEG-4(ASP)和H.263++(HLP)明显要好,在6种速率的对比测试中,H.264的PSNR比MPEG-4(ASP)平均要高2dB,比H.263(HLP)平均要高3dB。6个测试速率及其相关的条件分别为:32 kbit/s速率、10f/s帧率和QCIF格式;64 kbit/s速率、15f/s帧率和QCIF格式;128kbit/s速率、15f/s帧率和CIF格式;256kbit/s速率、15f/s帧率和QCIF格式;512 kbit/s速率、30f/s帧率和CIF格式;1024 kbit/s速率、30f/s帧率和CIF格式。
四、实现难度
对每个考虑实际应用的工程师而言,在关注H.264的优越性能的同时必然会衡量其实现难度。从总体上说,H.264性能的改进是以增加复杂性为代价而获得的。但是,随着技术的发展,这种复杂性的增加是在我们当前或不久的将来的技术可接受的范围之内的。实际上,考虑到复杂性的限制,H.264对一些计算量特别大的改进算法未予采用,如H.264未采用全局运动补技术,这在MPEG-4的ASP中是采用的,并增加了相当的编码复杂性。
H.264和MPEG-4两者都包括了B帧和比MPEG-2、H.263或MPEG-4的SP(Simple profile)更为精确、更为复杂的运动内插滤波。为了更好地完成运动估计,H.264显著地增加了可变块尺寸的种类和可变参考帧的数目。
H.264的RAM需求主要用于参考帧图像,大多数编码视频使用3~5帧参考图像。它对ROM的需求并不比通常的视频编码器更多,因为H.264的UVLC对所有的各类数据采用了一个结构良好的查找表。
五、结束语
H.264具有广阔的应用前景,例如实时视频通信、因特网视频传输、视频流媒体服务、异构网上的多点通信、压缩视频存储、视频数据库等。
H.264建议的技术特点可以归纳为三个方面,一是注重实用,采用成熟的技术,追求更高的编码效率,简洁的表现形式;二是注重对移动和IP网络的适应,采用分层技术,从形式上将编码和信道隔离开来,实质上是在源编码器算法中更多地考虑到信道的特点;三是在混合编码器的基本框架下,对其主要关键部件都做了重大改进,如多模式运动估计、帧内预测、多帧预测、统一VLC、4×4二维整数变换等。
迄今为止,H.264尚未最后定稿,但因其更高的压缩比,更好的信道适应性,必将在数字视频的通信或存储领域得到越来越广泛的应用,其发展潜力不可限量。
最后,必须说明的是,H.264优越性能的获得不是没有代价的,其代价是计算复杂度的大大增加,据估计,编码的计算复杂度大约相当于H.263的3倍,解码复杂度大约相当于H.263的2倍。
===========================
正确认识H.264与MPEG-4技术产品,排除厂商错误宣传
H.264视频编解码标准具有一定的先进性是公认的,但是它并不是首选的视频编码器标准,特别是作为监控产品,因为它还带有一些技术上的缺陷。
作为H.264视频编解码标准被纳入MPEG-4 Part 10标准中,也就是说它只是附属于MPEG-4的第十部分。换句话说,H.264没有超出MPEG-4标准范畴。因此,网上有关H.264标准和视频传输质量高于MPEG-4是不正确的,MPEG-4过渡到H.264更是令人无法理解的说法,首先让我们正确了解MPEG-4的发展:
1、 MPEG-4(SP)与MPEG-4(ASP)是MPEG-4早期的产品技术
MPEG-4(SP)与MPEG-4(ASP)是于1998年提出的。它的技术发展到目前,的确有些问题,因此,目前国有对MPEG-4有开发能力的技术人员,在MPEG-4视频监控或视频会议产品并没有采用这一落后的技术。网上所宣传用H.264产品(也就是2005年以后的技术产品)与早期的MPEG-4(SP)技术对比实为不妥.犹如2005年的IT产品与2001年的IT产品性能比较能否让人信服?.在这里需要说明的是,这是一种厂商的技术炒作行为。
请看一下技术比较:
一些厂商错误引导性的比较:在相同的重建图像质量下,H.264比H.263+和MPEG-4(SP)减小50%码率。
这些数据实质是把H.264新技术产品数据与MPEG-4早起的技术产品数据对比,这对于比较目前的MPEG-4技术产品是没有意义的,也是一种误导。为何H.264产品没有对2006年新的MPEG-4技术产品进行数据比较。H.264视频编码技术的发展的确很快,但其视频解码视频效果只相当于微软的Windows Media Player 9.0 (WM9)视频效果。而目前如:华以硬盘录像视频服务器和视频会议设备采用的MPEG-4技术,在视频解码技术上已经达到(WMV)技术规范,音视频同步性小于0.15s(150毫秒之内),这是H.264与微软WM9所不及的
2、发展中的MPEG-4视频解码器技术:
目前,MPEG-4视频解码器技术发展很快,并不是像厂商在网上炒作的那样。目前H.264图像标准它的优势只体现在它的压缩和存储,比目前华以产品MPEG-4存储文件小15-20%,但它的录像格式不是规范格式。其原因在于,H.264并没有采用国际上通用的存储格式,用国际上通用的第三方软件无法打开它的录像文件。因此,在国内一些政府和机关部门,在选用设备时明确表明:录像文件必须采用国际上通用的第三方软件可以打开。这一点对于监控产品实为重要。特别出现偷盗时,公安需要取证、分析等。
MPEG-4的视频解码器升级版本为(WMV) ,音频是根据各厂家的编码技术和经验有所不同。目前2005-2006年成熟的MPEG-4新技术产品,在性能方面,是远远高于H.264技术产品。
就传输来看:比起新的MPEG-4技术产品H.264存在以下几方面的缺陷:
1、音视频的同步性:H.264音视频同步性存在一些问题,主要体现在延时方面,H.264的传输性能同微软的Windows Media Player 9.0(WM9)相当。而目前华以网络视频服务器采用的MPEG-4技术,在视频监控和视频会议领域实现延时小于0.15秒(150毫秒),这是H.264产品所不及的;
2、网络传输效率:采用H.264传输效率并不是十分很高。
3、耗用系统资源很大:采用H.264传输,浏览时,耗用较大的CPU和内存资源,较MPEG-4差距较大。
4、H.264视频存储格式:作为视频监控的最重要问题是取证。如公安部门取证、保安部门取证。按照国际通用惯例,监控硬盘录像应满足采用第三方浏览软件打开浏览。H.264压缩的确比较好,但它的储存格式不是规范。但MPEG-4是因为采用AVI第三方浏览软件可以打开浏览的通用视频格式,如:微软的Windows Media Player 7.0/8.0/9.0,RealOne Player等等都可以打开,因此,在这里无法比较两者的储存压缩效果。
3、新技术产品MPEG-4视频传输优于H.264:
新技术产品MPEG-4视频传输效率和质量实际上是高于或优于H.264技术的,关键是用什么技术产品进行比较。MPEG-4(SP)早期过时的技术已经被淘汰,H.264技术同这一技术比较实为不妥和不高明。
MPEG-4的升级版本主要由两部分组成,(1)视频解码器升级为微软的(WMV),(2)而音频各厂家差异很大,因此,音视频的同步性差异很大,主要是延时差异。华以网络公司采用可实现音视频差异<0.15s(105毫秒)。H.264和微软视频技术的弱点是音视频同步性不好,延时比较大。
华以网络MPEG-4视频产品采用D1视频格式(分辨率:640x480),20帧/秒,速率1024Kbps,图像质量清晰基本无延时,采用赛扬1.8的CPU浏览单路视频仅占用5-8%,同时浏览9路占用CPU消耗60-80%,又有那家的H.264产品可以与此对比?
华以网络MPEG-4视频产品采用D1视频格式的音视频同步性也比较理想,音频与视频的延时小于150毫秒,又有那家的H.264产品可以与此对比?
每种产品技术的发展都在每时每刻不断地向前发展,新的技术和手段都在不断地推陈出新。没有最好,只有更好是科学的发展规律。当H.264技术向前发展的同时,它本身是推动MPEG-4技术的发展,同时,又有新的MPEG-4技术展现在科技的前沿。
既然H.264属于MPEG-4中的一部分,所谓H.264超MPEG-4的说法和MPEG-4过渡到H.264的说法实为不妥。H.264标准被纳入MPEG-4的第十部分,也就是说它的技术不可能超出MPEG-4的标准范畴,只能说它在某一时刻和某种技术上具有它的特长。在这里让我们正确认识各种视频解码器的技术和规范,正确理解和选择视频设备。