微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > H.264/AVC技术进展及其务实发展策略思考

H.264/AVC技术进展及其务实发展策略思考

时间:10-29 来源:慧聪网 点击:
0 前言

  随着NGN、3G及3G演进和NGBW等对视频、多媒体业务与网络应用的飞速发展需求,作为视频业务及存储应用核心技术的高效率 视频数字压缩编(译码)技术,愈来愈引起人们的关注,成为目前广播、视频与多媒体通信领域中的亮点与热点。

制定视频编码标准的两大组织为ITU-T|0">ITU-T的视频编码专家组(VCEG)及ISO/IEC的活动图像专家组(MPEG)。

  ITU-T于1993年制定了第一个视频编码标准H.261,其输出速率为p×64 kbit/s,主要用于ISDN及ATM等准宽带及宽带信道视频,不适宜于PSTN及移动通信等窄带及带宽有限的信道与网络上应用。为满足低速率视频通信需要,ITU-T于1996年又推出了适合在小于64 kbit/s速率的信道上传输的视频编码标准H.263。1998年又推出了H.263的第二版H.263+,提供了12种可选模式及其他特征,进一步提高了压缩编码性能;同时又开始制定进一步改进性能的近期与远期目标。其近期目标即为2000年制定的H.263第三版H.263++,其远期目标即所谓标准H.26x,为H.264标准的制定奠定基础。

  在ITU-T推出H.26x系列标准的同时,ISO/IEC主导的相应视频编码标准,包括其业务管理在内,亦在积极推进,形成了众所周知的MPEG-x系列标准(MPEG-1、MPEG-2、MPEG-4、MPEG-7及MPEG-21等),并获得了较广泛运用。

  2001年,MPEG认识到H.26L的潜在优势及与VCEG联合工作的必要性,从而两者合作成立联合视频组(JVT)。2001年9月,在JVT的第一次会议上制定了以H.26L为基础的H.264标准草案和测试模型TML-9。2003年3月,在泰国Pattaya举行的第七次JVT会议上,JVT形成了最终标准草案,分别提交ITU-T及ISO/IEC审批,从而形成了2003年第二季度发布的统一标准H.264/AVC。该标准在ITU-T称为H.264;在ISO/IEC则称为MPEG4-Part 10 AVC(Advanced Video Coding,第10部分,先进视频编码)。这便是H.264/AVC的基本由来。

  H.264/AVC在压缩编码效率、视频内容自适性处理能力方面及网络层面,特别是对IP网络及移动网络的自适应处理能力、抗干扰能力与顽健性等方面,相比H.263/MPEG-4均有大幅度提高,因而自2003年未以来,视频业界一些厂商与人士开始对H.264/AVC寄予极高的期望,甚至达到近乎狂热般追捧的境地。不是说高的期望值不对,H.264/AVC的应用确属相当广泛,包括固定或移动的可视电话、移动电话、实时视频会议、视频监控、流媒体、多媒体(超媒体)视频、Internet视频及多媒体(超媒体)、IPTV、手机电视、宽带电话以及视频信息存储等,但对其成熟过程、复杂性及指定时期内的确切市场定位,亦必须要有一个冷静、理智的估计,才能确保其积极、稳妥、科学、务实地健康发展。基于这一初衷,笔者拟结合NGN及3G演进的固定、移动视频业务实际需求状况,就H.264/AVC的重要技术进展及其务实发展策略谈一些个人看法,供分析参考。

  1 H.264/AVC的重要技术进展

  NGN及3G、3G演进和NGBW发展的一个主要目标即为包括视频在内的多媒体应用。对此,H.264/AVC定义了3种视频服务类型,即会话型服务(如可视电话、视频会议等)、现场或先期录制的视频流型服务和多媒体消息类服务MMS。

  为适应NGN IP网络及带宽资源有限的时变型移动/无线信道的传输需要,H.264/AVC无论从网络层匹配自适应能力、提高源压缩编码效率及信道抗干扰能力等方面均进行了较精心的设计,有较大幅度的性能增强与改进。

  1.1 视频编译码结构的分层设计

  视频编译码结构从功能和算法上分为两层设计,即视频编码层(VCL)及网络适配层(NAL)。VCL负责高效率视频编码压缩;NAL负责网络的适配,即提供对不同网络性能匹配的自适应处理能力,它针对下层网络的特性对数据进行封装,包括成帧、发送相应信号给逻辑信道、利用同步信息进行处理等。NAL从VCL获得数据信息,包括头信息、段结构信息及实际净荷信息,进而将它们映射到下层的各传输协议上。这些协议诸如H.320、H.323、H.324、MPEG-2等。NAL单元按RTP序列号顺序传送,序列号设置可发现丢失的是哪一个VCL单元,即使基本编码图像丢失,借助冗余编码图像,仍可获得较"粗糙"的图像恢复。同时,借助图像的片(Slice)、片组、宏块(MB)结构及黑白宏块非扫描顺序的灵活宏块顺序(FMO),安排与切换P帧(SP)、切换I帧(SI)的流切换、流拼接、随机接入与差错恢复等,都有利于提高其误码掩盖及抗干扰能力,并有助于压缩效率的提高。NAL层的引入,大大提高了H.264/AVC对不同网络及复杂信道的适应能力。

  1.2 高效率视频编码设计

  1.2.1 统一的可变长度编码(UVLC)码表

  以往标准的熵编码通常采用变长度的哈夫曼编码,其码表不统一,不能适应变化多端的视频内容,从而影响编码效率的提高。在此,即对H.263不同系数采用不同码表进行VLC作了改进,采用了一个统一码表的UVLC,同时,又对H.26L中的VCL方法进行了改进,使量化后的DCT变换系数使用基于内容的自适应可变长度编码(CAVLC),此外还定义了一种基于上下文内容的自适应二进制算术编码(CABAC),其性能比CAVLC更好,当然计算更复杂。从而,借助UVLC、CAVLC及CABAC较好地提高了压缩编码效率。

  1.2.2 自适应帧、场编码(AFFC)

  如众所知,帧中邻行空间相关性强,场中邻行时间相关性较强,从而帧编码可用于运动性较小图像编码,而场编码可用于运动性较大图像编码。按此根据图像运动状况选择编码模式即构成图像自适应帧、场编码(PAFFC),以提高编码效率。进而,若一帧内包含一些运动快慢不同的区域,还可将此区域划分为"宏块对"进行AFFC,此时即称为宏块自适应帧、场编码(MBAFFC)。

  1.2.3 4×4块的整数变换

  H.264/AVC中的DCT变换与H.263中的情况不同,它采用的变换单位不是8×8块,而是4×4块,且变换是整数操作,而不是实数操作。其优点为:运算速度快、精度高并占用较少内存。整数操作,编译码有严格的反变换,避免了截取误差,减少了运动边缘块的编码噪声。同时,4×4变换比8×8变换产生的方块效应亦要小。

  为进一步利用图像的空间相关性,在对色度分量预测残差及16×16帧内预测的预测残差进行DCT变换后,还对每个4×4变换系数块中的DC系数组成的2×2和4×4大小的块进一步做哈达玛(Hadamard)变换,以更好改善性能。

  1.2.4 动目标估值(ME)算法的改进

  a) 搜索精度增强:首先,进一步增强了动目标估值的搜索精度,在半像素预测后的生成矩阵基础上,内插一次扩展至1/4像素精度矢量,在1/4像素基础上再内插一次,获得1/8像素更高精度的运动矢量。

  b) 宏块(MB)更精细与多样化分解:对每一个MB,进行更精细与多样化分解,此时MB拥有和此类小块数相对应的运动矢量。这种多模式的灵活细致的分块划分,更切合实际动目标形状,大大提高了动目标估值精度。

  c) 多参考帧模式预测:采取多参考帧模式,进行多于一帧的先前帧(最多5帧)动目标估值。此时对某个MB进行动目标估值时,会从过去的2个或3个刚编码过的参考帧中选一帧作参考,以改善动目标估值性能,提高译码器的误码恢复能力,取得更好的预测效果。

d) 变尺寸块运动补偿(MC):例如平坦区可取16×16尺寸块,而细节区可采用8×8甚至4×4等更精细尺寸块,此时MC预测精度更高、灵活性更好,更符合视频内容不断变化的实际情况。

  e) 加权预测:H.264/AVC还允许对MC预测信号进行加权预测,可较大幅度改善无线信道衰落之类信道变化时的编码效率。

  f) MC时的环路去方块滤波:H.264/AVC把去方块滤波引入MC预测环路中,既可去除方块效应,又能保护图像细节边缘,同时亦改善了图像的主、客观评定质量。而且经过滤波后的图像根据需要放在缓存中用于帧间预测,此滤波器位于译码环中而非译码环外,从而又称环路滤波。

  1.2.5 帧内方向空间预测

  由于单个图像帧内有较高空间冗余度,在空间域上进行帧内方向空间预测可获得更高压缩效率。对亮度预测通常取INTRA-4×4及INTRA-16×16两种方式,对图像中较平坦部分采用INTRA-16×16方式,对细化图像部分用INTRA-4×4块预测。预测前,应对当前块相邻的左、上重构块进行分类,根据不同分类,选择不同预测模式。INTRA-4×4共有9种预测模式,INTRA-16×16共有4种预测模式,对色度预测按INTRA-8×8块进行,亦共有4种预测模式。从而,精细的帧内方向空间预测可有效提高预测质量。

  这样,H.264/AVC的精细数字压缩编码技术取得了优良的压缩效率。测试结果表明:它比H.263++的平均编码比特率要少48.80%,比MPEG-4 ASP要少38.62%,相对H.263约提高了一倍压缩效率,很具吸引力。

  1.3 对网络、信道变化的自适应性及高抗干扰能力与顽健性

  为适应IP及移动环境的QoS需要,获得信道性能的高抗干扰能力与顽健性,视频编译码器要附加更多苛刻的应用要求,诸如高压缩效率、低功耗、重量轻、较少内存及低复杂度,对误码、丢包有较强抗干扰能力与顽健性,支持适应时变环境的快速码速调整能力,设置不用优先级进行适应性处理及有效地适配指定网络机制等。

  1.3.1 NAL的分层结构分层处理

  如上所述,NAL层的引入可大大提高H.264/AVC对网络、信道的适应能力。例如在3G移动通信的IP包分组传送场合,NAL单元即可经顽健头前置压缩(ROHC)封装于PPP成帧包中,尔后形成无线链路层业务数据单元,再在物理层中加上CRC校验单元传输,获得抗误码性能的有效增强。

  1.3.2 序列参数集设计

  由于序列和图像头信息之类关键信息比特的丢失会造成译码时的严重后果,对此H.264/AVC的序列参数集设计可提供此头信息的有效与顽健传输。它将这些关键信息分离出来进行传输,使之处在特定的灵活可靠的环境中。此序列参数集用于一连串编码视频序列中,图像参数集供一个编码序列中一个或多个图像译码用,它们包括图像类型、序列号等。译码时某些序列号的丢失可用于检测信息包的丢失与否,以及时采取弥补措施,增强抗干扰能力与顽健性。

  1.3.3 有效可靠的同步处理

  同步对控制传输质量至关重要,H.264/AVC设置了一系列有效可靠的同步处理措施。H.264/AVC中的时间同步可通过采用帧内图像刷新来完成,空间同步由条结构编码来支持。同时,为便于误码以后的再同步,在一幅图像的视频数据中还提供了一定的再同步点。

  1.3.4 纠错及环路时延控制

  H.264/AVC中的误码跟踪、FEC及一种短时延本地重发纠错ARQ技术相组合,可应用于无线视频传输,以确保较好的抗干扰能力。同时,在基站设置一种视频代理服务器,亦可大大减少环路时延,并可准确发现并纠正误码。

  1.3.5 数据分割模式的误码等级保护

  H.264/AVC中定义了数据分割模式,即对图像首先进行分段,段内宏块数据划分为宏块头信息、运动矢量及DCT系数三部分,三部分之间尚有标识符分隔。这样,译码器可较方便地检出受损数据类型,减少误码对图像质量的损害。同时,这种数据分割模式亦有利于信道编码时进行不等权保护,即对重要数据进行等级较高的保护等。

  1.3.6 片结构及灵活片宏块顺序安排改善误码性能

  如上所述,借助片结构及灵活片宏块顺序(FMO)安排可改善误码性能,片译码的独立性可明显减少误码扩散,而且FMO的使用易于实现误码掩盖。

  1.3.7 自适应码率控制及SI、SP流切换

  码率的自适应快速控制可通过宏块层改变量化精度来实现。涉及分级及流切换问题,移动通信中常用空间/时间分级支持其较大范围自适应比特速率变化。MPEG-4中采用精细度可伸缩(FGS)实施分级编码,而H.263中定义了时间域、空间域及信噪比(SNR)三种分级能力,但这些方法分级实施视频流传输效率均较低。目前较多采用流切换技术,周期性刷新内(INTRA)帧即为一例。H.264/AVC的码率控制(RC)主要有JVT-F086及JVT-G012提出的两种方案,通常认为后者算法较优。JVT-G012通过引入基本单元及线性模型的概念,提出一种自适应基本单元层码率控制算法。此基本单元可能是一帧、一片或一个宏块。线性模型预测当前基本单元的平均残差绝对值(MAD)是通过前一帧相应位置的基本单元而获得。同时H.264/AVC如上所述,可允许某些译码器的译码处理与其他译码器产生的视频流精确同步而不产生图像切换损失,从而可在不同数据速率的视频流内容间切换译码器,实现数据丢失或误码恢复,及使用快速前向、快速后向等特技。而SI、SP帧即可用于流切换、流拼接、随机接入、错误恢复等,以提高其抗干扰能力及顽健性,亦可避免频繁刷新INTRA帧带来的效率下降。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top