引言
随着人类精神需求和空间需求的提升,人们不再满足面对面的语言交流,空间距离的增加导致人们面对面的语言交流变得越来越少,人们更需要在时空中交流与交往。当传统的交流方式难以实现时,更需要视觉、感观以及信息交流。正因为如此,促进了卫星通信、微波通信、有线/无线传输技术的发展,也推动信息压缩技术和宽带传输技术,同时推动了安防业的迅猛发展。视频信息传输和视频通讯的猛增,给视频压缩技术带来了很大挑战。无论是互联网还是无线网络,都需要一种新型的压缩算法,新算法要求高压缩比,且能适应不同的网络环境。以较小的失真、较高的压缩比、更小的花费、较低的码率在信道中传递视频,进行多媒体通信是今后视频压缩技术研究的一个方向。
H.264,又称MPEG-4part10,也称AVC(AdvancedVideoCoding),是一个数字视频压缩标准,由VCEG(ITU-TVideoCodingExpertsGroup)和MPEG(ISO/IECMovingPictureExpertsGroup)联合组成的JVT(JointVideoTeam)于2003年3月正式发布[1,2]。H.264标准的主要目标就是在同等保真条件下,提高编码效率。这是一对矛盾,既然要求图像不失真,则图像传输的比特数就大,在网络带宽一定的情况下,图像信号传输的速度就快,因此,只有提高编码效率才能实现。
H.264的研究现状
在以往众多的视频编码算法中,被广泛认可并应用于实际的是ISO/IEC制定的MPEG-X和ITU-T制定的H.26x两大系列视频编码国际标准。
H.261是早期的编码标准,主要是规范ISDN网上的会议电视和可视对讲。它采用的是可减少时间冗余的帧间预测和减少空间冗余的DCT变换的混合编码方法,以及ISDN信道匹配,其输出码率是P×64kbit/s。P较小时,传输清晰度不太高的图像;P较大时,可以传输清晰度较好的会议电视图像。
H.263是低码率图像压缩标准,在技术上是H.261的改进和扩充,且支持码率小于64kbit/s的应用。后期263+、263++已能支持全码率应用,支持众多图像,可看出,其支持多格式图像信息传输,如Sub-QCIF、QCIF、CIF、4CIF、16CIF等格式。
MPEG-1标准的码率为1.2mbit/s,可实现30帧/sCIF(352×288)图像传输,它与H.261和H.263相似,也采用运动补偿的帧间预测、二维DCT及VLC游程编码等措施。此外还引入帧内帧(I)、预测帧(P)、双向预测帧(B)和直流帧(D)等概念,进一步提高了编码效率。在MPEG-1的基础上,MPEG-2将针对提高分辨率、兼容数字电视方面做一些改进。
从编码方面知,MPEG-4标准编码技术是简单档次(SimpleProfile),比如Microsoft的WindowsMediaPlayer就是这种档次的媒体系统。这种传统的编码技术因为基于对象编码的难点就是对象的提取,所以影响实用进程。从传输方面分析,目前流行的基于MPEG-4的流媒体技术其本质上没有采用14496-6所提出的传输多媒体集成框架(DMLF),而是根据IEIF提出的传输建议来实现的,还不成熟,目前可实际应用的编码技术仍然是基于帧编码的技术。H.261、H.263、MPEG-1/2/4都是在尽可能低的码率(存储容量)下获得尽可能好的图像质量。目前,H.264标准被广泛应用于有线/无线视频远程监控、网络交互媒体、数字电视及视频会议等等。
H.264的关键技术及优势
1、H.264的关键技术
H.264是基于帧编码的技术,和以前的标准一样也是采用DPCM加变换编码的混合编码模式。但它采用“回归基本”的简洁设计,不用众多的选项,可获得比H.263++好得多的压缩性能;加强了对各种信道的适应能力,采用“网络友好”的结构和语法,有利于对误码和丢包的处理;基于系统是开放的,H.264的应用目标范围较宽,以满足不同速率、不同解析度以及不同传输(存储)场合的需求。H.264标准采用的关键技术有帧内预测、帧间预测、整数DCT变换、熵编码(CAVLC和CABAC)等[3]。
(1)帧内预测
H.264在帧内预测的实现上相对于以往标准有明显的改进,规定4种16×16、9种8×8、9种4×4和4种色度8×8的预测模式,允许使用左侧和上侧像素点进行预测的方法,可以明显提高在空间域上相似性很高的图像帧内压缩效率。
(2)帧间预测
相比于帧内预测是利用空间相关性去除冗余信息,帧间预测是利用时间相关性来去除冗余信息。其基本思想是:在选取的块匹配模式下,通过参考帧图像中的块和运动估计求得的最优运动矢量共同来得到当前帧图像中相应块的参考值。一般情况下进行预测的基本单元是宏块(MacroBlock,MB),即一个宏块对应一个运动矢量。H.264视频编码标准定义了7种块划分模式,目的是为了做到更为精确的块匹配和更好的图像质量。
(3)整数DCT变换
相对于以往的数字视频编码标准,H.264首次引入了整数变换的实现方式,包括4×4和8×8两种自适应的变换方法。整数变换的引入,一方面可以大大降低H.264实现的功耗,另一方面由于整数变换没有以往标准中浮点运算带来的精度损失问题,可以更大程度提高残差变化后的解码鲁棒性。
(4)熵编码
H.264的熵编码主要包含两部分:一是针对语法元素的熵编码,包括对参数信息、宏块模式信息、预测矢量信息等,使用的是哥伦布指数编码方法(Exp-Golomb),这种方法能够对高概率出现的低数值系数使用最少的比特数,根据概率最大化得到压缩参数信息;二是针对量化后残差系数的熵编码方法,有CAVLC和CABAC两种。其中CAVLC是一种低复杂度,基于上下文自适应的熵编码方法,其系数的比特数设计是根据经验统计的概率分布情况对H.264系数进行码表设计,应用时根据实际的系数分布状况进行上下文关联查表编码。而CABAC是一种基于内容的算术编码方法,复杂度比CAVLC更高,压缩效率也比CAVLC更高。
微信扫描二维码,关注公众号。