数字视频技术广泛应用于通信、计算机、广播电视等领域,带来了会议电视、可视电话及数字电视、媒体存储等一系列应用,促使了许多视频编码标准的产生。ITU-T 与ISO/IEC 是制定视频编码标准的两大组织,ITU-T 的标准包括H.261、H.262、H.263、H.264,主要应用于实时视频通信领域,如会议电视;MPEG 系列标准是由ISO/IEC制定的,主要应用于视频存储(DVD)、广播电视、因特网或无线网上的流媒体等。两个组织也共同制定了一些标准,H.262 标准等同于MPEG-2 的视频编码标准,而目前最热门的H.264 标准则是MPEG-4 的第10 部分。
一、视频编码标准的发展
1、H.261 视频编码标准
H.261 是ITU-T 为在综合业务数字网(ISDN)上开展双向声像业务(可视电话、视频会议)而制定的,速率为64kb/s的整数倍。H.261 只对CIF 和QCIF 两种图像格式进行处理,每帧图像分成图像层、宏块组(GOB)层、宏块(MB)层、块(Block)层来处理。
H.261 是最早的运动图像压缩标准,它详细制定了视频编码的各个部分,包括运动补偿的帧间预测、DCT 变换、量化、熵编码,以及与固定速率的信道相适配的速率控制等部分。
2、H.262 视频编码标准(又称MPEG-2)
由MPEG-1 扩充而来,支持隔行扫描。使用十分广泛,几乎用于所有的数字电视系统,适合标清和高清电视,适合各种媒体传输,包括卫星、有线、地面等,都能有效地传输。
3、H.263 视频编码标准
H.263 是最早用于低码率视频编码的ITU-T 标准,是ITU-T 为低于64kb/s 的窄带通信信道制定的视频编码标准。它是在H.261 基础上发展起来的,其标准输入图像格式可以是S-QCIF、QCIF、CIF、4CIF 或者16CIF 的彩色4∶2∶0 亚取样图像。H.263 与H.261 相比采用了半象素的运动补偿,并增加了4 种有效的压缩编码模式。随后出现的第二版(H.263+)及H.263++增加了许多选项,使其具有更广泛的适用性。由于H.263的编码效率很高,H.263 Version 1只用H.261码率的一半就可以达到相同的重建图像质量,因此成为视频会议和可视电话应用的主角。通过前后三个版本的更新,H.263的编码性能得到很大提高。多个算法被最新标准H.264所沿用。
4、H.264 视频编码标准
H.264 是由ISO/IEC 与ITU-T 组成的联合视频组(JVT)制定的新一代视频压缩编码标准。1996 年制定H.263标准后,ITU-T 的视频编码专家组(VCEG)开始了两个方面的研究:一个是短期研究计划,在H.263 基础上增加选项(之后产生了H.263+与H.263++);另一个是长期研究计划,制定一种新标准以支持低码率的视频通信。长期研究计划产生了H.26L 标准草案,其目标是研制出新的压缩标准,与以前的任何标准相比,效率要提高一倍,同时具有简单、直观的视频编码技术,网络友好的视频描述,适合交互和非交互式应用(广播、存储、流煤体)。
2001 年,ISO 的MPEG 组织认识到H.26L 潜在的优势,随后ISO 与ITU 开始组建包括来自ISO/IEC MPEG与ITU-T VCEG 的联合视频组(JVT),JVT 的主要任务就是将H.26L 草案发展为一个国际性标准。于是,在ISO/IEC中该标准命名为AVC(Advanced Video Coding),作为MPEG-4 标准的第10 个选项;在ITU-T 中正式命名为H.264标准。该标准在2003 年3 月正式获得批准。
二、各类视频编解码标准比较分析
比较之前的标准H.261建议,H.263提高性能的技术包括:无限制运动补偿,8×8的帧间预测方块(于是每个宏块包含4个帧间预测方块所对应的4个运动矢量),重叠块运动补偿,变换域的直流及低频信号成份块间预测,基于语法的算术编码等。还有一些应用较少的技术包括可交替使用的帧间VLC变长码模式,PB帧,降低分辨率的编码方法。H.263还允许使用多个过去帧作为参考帧。其中H.263 Annex N只考虑差错适应力,每一帧使用同一个参考帧。H.263 Annex U兼顾编码效率和差错适应力,在宏块层次上选择最佳运动补偿帧间预测的参考帧,每一个宏块使用同一个参考帧。
MPEG-2和MPEG-4是另外一个国际标准化组织—国际标准化组织IEO和国际电工委员会IEC的联合体 JTC1属下的运动图像专家组MPEG (Moving Picture Experts Group)制定的视频信源编码国际标准。其中MPEG-2标准编号ISO/IEC 13818,名称为“运动图像及其伴音的通用编码”;MPEG-4标准编号ISO/IEC 14496,名称为“音视频对象的编码”。本来,VCEG制定的H.26x建议更多考虑实时视频传输应用,如视频会议及其简化形式—可视电话,而MPEG标准更多考虑满足视频存贮(DVD),广播视频(电视广播),流媒体传输(如通过Internet,数字用户线DSL以及无线信道的视频传输)的应用要求,但是自MPEG-2作为第一个通用视频编码标准(通用的意思就是标准内容考虑到并且适合于所有应用)出现以后,MPEG标准也提供了适合于会议电视和可视电话的工具集(称为Profile),从而具备了应用于会议电视和可视电话的条件。在专门针对会议电视和可视电话应用的MPEG标准Profile中,第一版本的MPEG-4(称为MPEG-4 SP)在性能上与H.263+相当,内容相互借鉴,具体算法大同小异;第二版本的MPEG-4(称为MPEG-4 ASP)在加入1/4像素精度运动补偿后优于H.263+,但是因其运算量及实现复杂度较高(其1/4像素精度运动内插过程甚至在运算量及实现复杂度上高于H.264的1/4像素精度运动内插过程)未投入实际应用;MPEG-2则在性能上优于H.261而劣于H.263。
最新视频编码标准H.264比以前性能最好的标准H.263和MPEG-4提高编码效率约50%。意味着H.264仅需H.263或MPEG-4一半的码率便可重建出相同质量的图像,采用H.264的多媒体系统在图像质量上大大优于现有系统,包括当前主流的基于H.263的会议电视系统。H.264仍然沿用H.261奠定的运动补偿帧间预测结合分块正交变换的常规编码方法。相对于现有标准,H.264的变化实际上是放松了施加在现有标准上的实现复杂度和运算量的限制,把现有常规算法发挥至极限,从而以巨大运算量为代价取得图像质量的提高。其中H.264改善性能的内容包括:
4×4整数变换—变换矩阵系数只有±1、±2取值,具有较小方块(意味着较少运算量)、整数变换、无乘法、16位运算位长的优点,避免了一向困扰视频编码的浮点IDCT失谐问题,同时增强运动模型对于复杂运动的适应力。
二次正交变换—为了改善大面积平坦图像区域的编码性能,H.264提供一种新的16×16帧内编码模式,对亮度信号执行二重变换:第一次变换是H.264的4×4变换;第二次变换是对16个4×4变换系数块的直流系数执行4×4 Hadamard变换,对色差信号也采用相似的处理,从而提高压缩性能
7种运动补偿分块形状和精细到8x8的树状块分割方法—H.264提供16×16、16×8、8×16、8×8、8×4、4×8、4×4共7种方块,同时把16x16的宏块分成4个8×8亚宏块,同亚宏块同形状,而同16x16宏块内不同8x8亚宏块的方块形状可以不同,从而能够更精确地描述图像运动,获得更高编码效率
1/4像素精度运动补偿和运动矢量—运动补偿和运动矢量达到更高精度,不仅使求得的图像帧间位移更精确,而且改善预测图像的低通滤波性质,获得更高的预测效率
精细到8×8亚宏块层的多参考帧选择—H.264在8×8亚宏块层次上选择最佳预测的参考帧,增加了搜索到比前一帧最佳预测图像块更优的图像块的机会,提高帧间预测对于复杂图像内容的适应力
空间域的帧内块间预测—为了弥补4×4变换在消除大面积图像区域相关性上不如8×8变换的缺陷,H.264在图像空间域利用编解码顺序前的相邻的4x4块的边界重建图像像素值对每个4x4方块进行低频成份的块间预测,帧内块间预测方式共9种。对于16×16帧内编码模式也用类似的块间预测,预测方式有4种。H.264的块间预测算法可以获得高于H.263 Annex I块间预测算法的编码效率,尤其对于P帧和B帧中出现机会不大的帧内编码宏块。
两种熵编码—针对会议电视和可视电话应用的H.264基线版本对除变换系数以外的语法元素采用通用变长编码UVLC(Universal Variable Length Coding),对变换系数采用基于文本的自适应变长编码CAVLC(Content-based Adaptive Variable Length Coding),其中UVLC优点是:①直接随码字构造规则无限扩充码字;②不需要符号与码字转换的查找表;③码字的结尾标志使译码简单;CAVLC属于高阶Markov链相关信源编码,使变换系数的run和level符号的码表能够自适应于各自的概率统计模型,从而获得高于UVLC的编码效率
去方块效应滤波—H.264的去方块滤波放置在环路内,能够自适应于图像波形和编码情况,执行适度平滑处理,做到:既有效去除方块效应,又保持图像的真实边缘和纹理细节,同时达到图像质量和运算量的良好折衷
参数集—从媒体流中把与很多个Slice相关的共同信息抽出来,形成一个自包含的数据包,这种更高层的信息以独立于Slice流更可靠地、异步地传输,其中把一个视频码流序列中所有帧图像码流所共同的头信息提取出来,形成序列参数集,把一帧图像码流中所有slice码流所共同的头信息提取出来,形成图像参数集,参数集的好处在于灵活地传送更高层数据:①当改变参数集时(如更改图像尺寸),不需要在Slice流中同步发送参数集,如果发送端和接收端同时拥有一系列的参数集,由每个Slice头的参数集id指示码字指示所采用的参数集;②通过应用层的设计可以使确定的两端之间永远也不发送任何参数集;③参数集的传输方式任意,可以独立于Slice流的传输,可以通过H.264外部方式传送,如能力交换或控制协议
视频码流的封装格式—H.264标准本身提供一种视频码流的封装格式,称为网络提取层单元NAL(Network Abstraction Layer)Unit,经过NALU封装的视频码流数据既适合于包传输(如通过IP网的包交换传输)又适合于字节流传输(如通过PSTN网的电路交换传输)
三、H.263与H.264的率失真性能比较
图为:H.263与H.264的率失真性能比较
图中测试结果显示,对于通常的逐行扫描的视频源,2003年4月的H.264(参考软件版本JM6)与1999年8月的H.263和早期的H.264(当时称为H.26L,相应参考软件版本TML-1)比较,在相同码率下解码重建图像质量提高2~3dB,或者当重建图像质量相同时码率下降40%~60%。
以上测试结果由ITU-T发布,见于T. Wiegand, et al. Overview of the H.264/AVC Video Coding Standard. IEEE Trans. on CSVT, July 2003, 13(7): 560-576。
以上测试表明H.264 Main Profile比H.263++在采用五个参考帧的情况下在相同重建图像质量下码率下降48.80%。
四、H.261、H.263、H.264应用对比表
H.264 标准的推出,是视频编码标准的一次里程碑式的重要进步,它与现有的MPEG-2、MPEG-4 SP 及H.263相比,具有明显的优越性,特别是在编码效率上的提高,使之能用于许多新的领域。同等的图像质量条件下,H.264的数据压缩比能比当前DVD系统中使用的MPEG-2高2-3倍,比MPEG-4高1.5-2倍,比H.263高2倍。
五、视讯会议发展的现状和未来
目前视讯会议系统已经切换到以H.264为主的发展道路上来。目前各厂家实现得最多的是H.264 CIF实时编码,却很少有厂家做到真正实时的H.264 4CIF编码。在这种情况下,各厂家都却将眼光直接放在了更高分辨率的实时编码上,也就是720p。
这里先解释一下几种标准分辨率的大小:
CIF 352×288 像素 25帧/秒
4CIF 704×576 像素 25帧/秒 50场/秒
720P 1280×720像素 60帧/秒
1080I 1920×1080像素 30帧/秒 60场/秒
1080P 1920×1080像素 60帧/秒
这里能够看到,4CIF和1080I这2个分辨了是有场的概念的,而CIF 720P 1080P是没有场的概念的。原因是CIF分辨率太小,无法形成两场数据,4CIF和1080I的采集和显示是隔行扫描的,而720P 1080P是逐行扫描的。
视频显示有两种基本方式:隔行扫描 和 逐行扫描。逐行扫描,一次显示图象的所有水平线,作为一帧。当帧频能够达到要求时,逐行扫描无疑是最佳方案,而当帧频不能达到要求时,人肉眼会看到图像有跳动感,隔行扫描解决这个问题。隔行扫描,一次只显示一半水平线,第一个扫描场,包含所有奇数线,接下来的第二个扫描场,包含所有偶数线。隔行扫描依赖人眼的视觉暂留特性,形成人眼感觉到的是整幅图象。隔行扫描的优点是只要原来的一半数据量就可以获得高连续性,缺点是在高亮度物体边缘处易出现闪烁等缺陷,因为通常要增加图像滤波以避免这些缺陷。
720p是60帧/秒的逐行扫描图像。然而,目前能够实现的720p却不是真正意义的720p,目前能够实现的720p只有30帧/秒。人肉眼能够察觉的时间间隔是20ms左右,而对于30帧/秒的720p,两帧之间的时间间隔为33ms,肉眼可以明显察觉到图像的跳动感,会感觉眼睛疲劳。而4CIF的采集及播放都是采用50场/秒的隔行扫描方式,两场之间的时间间隔为20ms,肉眼刚好感觉图像是连续的。因此在图像连续性上,也就是肉眼对运动物体的感觉舒适度上,720p 30帧/秒败给了4CIF 50场/秒。
所以,H.264 720p 30帧/秒不能做为一个行业的发展方向,而只能是很快被淘汰的过渡产品。真正的发展方向应该是H.264 720p 60帧/秒或1080i 60场/秒。