- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
H.264/AVC技术解析暨发展现况与挑战
H.264/AVC发展史
随着电脑硬件设备成本下降以及普及化,渐渐地,多媒体应用的需求越来越大。加上近年来,3G以及Wireless Network发展迅速,因此高效率以及高品质的影像压缩技术越来越受到大众的关注。有鉴于此,国际两大组织ITU-T以及ISO/IEC的MPEG从1993年起也制定了许多影像压缩标准。直到2001年时,MPEG与ITU-T合作成立一个新的单位Joint Video Team(JVT)。到了2003年,其间经过多次的JVT会议之后,终于在第二季提出了统一的标准H.264/AVC。这个标准在ITU-T叫做H.264,而在ISO/IEC则称为MPEG4-Part 10 AVC (Advanced Video Coding),这也是H.264/AVC这个名称的由来。整个流程如图 1所示。
图 1 影像压缩标准时程表
H.264/AVC除了在压缩率上有很显着的提昇之外,在应用层面也比H.263 /MPEG4广泛许多,举凡视频电话,视频会议,监控系统,影像串流(video streaming),手机电视,数字电视以及IPTV等。尽管目前H.264/AVC有取代MPEG2成为下一个世代DVD播放机(HD-DVD,Blue-Ray DVD)影像标准的气势,但是目前仍然有微软VC-1以及中国自行发展的AVS虎视眈眈,因此H.264/AVC仍然有相当大的挑战。接下来就针对H.264/AVC做一些技术上以及现今产业发展和未来挑战的介绍。
H.264/AVC技术解析
H.264/AVC包含了相当多可以改进压缩率以及更适合网路传输的新技术。可以达到上述两项效果,主要是因为H.264/AVC提出了两层的设计:视频编码层(Video Coding Layer,VCL),以及网路提取层(Network Abstraction Layer,NAL)。前者负责提高编码效率,而后者是负责提高在不同网路特性上传输的适应能力。以下我们就视频编码层以及网路提取层来做介绍。
■高编码效率的设计
多参考影像的动作补偿(Multiple reference frame motion compensation)
在H.264/AVC中,最多可以参考到前后多张的影像,这比起之前的标准(MPEG-1,MPEG-2,MPEG-4仅支援前后一张)宽松许多。如图 2所示。在这项改进当中,很明显的就是会看到位元率(Bit Rate)的降低,尤其是在特殊的景色当中。比如说有些背景可能会被某个主体遮住而没有出现在前一张影像,这时候便可在前几张影像中找到这些背景可以提高动作估测(Motion Estimation)的效率减低位元率,提高压缩率。
图 2 多参考影像示意图
可变尺寸区块的动作补偿(Variable block size motion compensation)
一般来说,我们为了提高压缩的效率,会以Macroblock(16 x 16)当成一个编码的单位。可是每张影像都有不同的细致度,有些地方较为细腻,有些地方较为平滑。如果不看影像内容都采用16x16 为单位的编码方式,会降低压缩率。因此,在H.264/AVC中,除了使用16x16为编码单位之外,又提供了16x8,8x16,8x8,8x4,4x8,4x4等六种区块大小。如图 3所示
图 3可变区块种类
Adaptive MB Frame Field Coding(MBAFF)
就影像编码的特性来说,Frame Coding适合用在空间关联性较强的影像而Field coding适合用在时间关联性较强的地方。所以在移动性较小的影像当中Frame coding比Field coding来的有效率,反之则否。在之前的影像标准中,可以选择一张影像为单位的Frame或Field coding。但是因为每个MB都会有不同的移动向量(Motion Vector),所以如果可以依照不同MB特性来做Frame/Field coding的调整,会获得更好的压缩效率。根据这个理论,H.264/AVC中提供了以MB为单位的Frame/Field coding。
环路去区块效应滤波器(In-loop de-blocking filter)
由于H.264/AVC和先前的标准一样都是采用区块基准(block-based)的编码方式,所以会有区块效应(blocking effect)的产生,因此需要去区块效应滤波器去除区块效应。H.264/AVC把去区块效应滤波器放在动作补偿的回路当中,这样既可以去除区块效应,也可以保护影像的细节,改善影像品质。因为需要把滤波后的影像储存起来做动作估测,所以这个滤波器是位在编码器的环路之内而非环路之外,故称为环路(In-Loop)去区块滤波器。
画面内空间预测(Intra prediction)
同一张影像内的空间预测 (Intra prediction)因为一张影像内通常都有很高的空间相关性,所以在空间上做预测可以得到更好的压缩率。在H.264/AVC中提供两种区块大小的空间预测:4x4,16x16。其中4x4的有提供九种预测的方向,16x16的提出四种。如图 4所示,此为九种4X4空间预测模式。
图 4 空间预测4X4九种模式
Context adaptive binary arithmetic coding(CABAC)
这是一种算数编码(entropy coding)的方式。可以达到相当高的压缩率,尤其跟CAVLC来比,更可以提高将近15~20%的压缩率。可以达到这样的效果,主要是因为下面三种原因:1. 针对每一个syntax element’s context 选择机率模型;2. 可以依据统计特性调整估测的机率;3. 利用arithmetic coding。
Context adaptive variable length coding(CAVLC)
这是一个相较于CABAC复杂度较低的编码方式。尽管效果没有CABAC来的好,但是和先前标准所采用的方法比起来,仍然有很大的增加。这些增加主要是因为CAVLC是针对4x4 区块的特性来设计的:1.量化后的区块,其DCT系数含有大量的0,所以再利用run-level coding之后,可以用很少的位元数表示一连串的0。2. 经过zig-zag 扫描之后,在最高层的细数通常为+1/-1。CAVLC可以提供常出现的+1/-1信号很高的压缩率。3. 利用查表将非零系数编码。
■提高网路适应能力的设计
影像/序列参数集(Picture/Sequence parameter set)
由于序列或是影像性质的信息往往比编码内容来的更加重要。所以针对这个特性,H.264/AVC的影像/序列参数集可以独立出来,使之可以在稳定的环境下传输。而在解码端时,也可以判断这些重要的信息封包是否有完整收到,以便可以及时採取一些补救措施,如此一来也可以增强抵抗错误的能力。
资料分割(Data partition,DP)
因为每种信息重要性都不尽相同,所以H.264/AVC提供了一种可以依据重要性将资料包成不同的封包功能。例如可以将动作向量,DCT系数,以及区块信息分成三个不同的封包。如此一来,可以检测出失去的资料类型,以减少影像品质的伤害。
Slice编码模式
Slice就是由许多MB所组成的,而一张影像是由许多Slice所组成的。而Slice可以独自解码不需要其他Slice的资讯。因此,Slice也可以当作抗错的工具之一。图 5(a)(b)表示MPEG-2以及MPEG-4支援的Slice模式。在H.264/AVC中,还有另一个新的架构叫做Flexible Macroblock Ordering (FMO)。如图 5(c)所示。也就是说组成Slice的MB顺序不需要依照循序扫描(raster scan),还可以利用其他的顺序排法,例如:反循序扫描(reverse raster scan)。
(a) (b) (c)
图 5 Slice 的不同示意图
Redundant slices(RS)
这个功能主要是利用传输一个不同表示的影像资料,通常这个资料所表示的影像品质较差。当主要的资料因为环境而产生错误时,就可以利用RS来修补受伤害的影像。
H.264/AVC产业发展现况与挑战
在相同的影像品质之下,H.264/AVC所需频宽比起之前的标准节省40%~100%。直接地说,若把MPEG-2的频宽使用量当做100%,MPEG-4要达相同效能只需60%频宽,H.264更是低至40%,约为MPEG-2的1/2∼1/3。目前H.264的发展大致上有三种应用平台:个人电脑,嵌入式系统以及IC。
在个人电脑及嵌入式系统的发展上,国内外都有相当多的厂商投入研发。国外的如Main concept, Ateme以及Moonlight等都有相当不错的研发成果。国内的则有资策会网多所极力投入研发。在研发成果方面,目前国内资策会不论在H.264整体效能不论在个人电脑上以及嵌入式平台上都有相当不错的成果。
IC方面的发展,也是有很多厂商投入人力开发。比较着名的是Broadcom在2005年推出型号为BCM7411D可以支援MPEG-2/H.264/VC-1的解码晶片。
H.264/AVC来势汹汹,不管在效率以及抗错能力的表现上面都有一定的水准,看起来似乎有接替MPEG2成为下一带影像压缩标准的气势。但是H.264/AVC想要成为下一代多媒体应用的使用标准仍然还有很多问题需要克服,下面我们为大家分析一下现阶段H.264/AVC所面临的挑战以及需要改进的地方。
■VC-1、MPEG4、AVS对H.264/AVC的威胁
VC-1是由Society of Motion Picture and Television Engineers(SMPTE)所发佈的视讯压缩标准。VC-1提出了三种profile以及十种levels供不同需求的使用者挑选。
AVS是由中国「数字影视编解码技术标准工作小组」所建立的标准。其全名叫做Audio Video Coding Standard。由这个名称可以得知,这个标准类似MPEG2/4除了Video之外还包括了Audio的标准。目前在大陆有138个会员单位共同参与标准的制定,其中包含了国内外的电子大厂以及中国国内许多着名的大专院校,例如清华大学,北京大学等。
一般业界在选择所用的标准时,不外乎就是讨论两个主要的因素:1.成本,2.效能。所以以下我们针对这两个议题来做讨论。
1. 成本
成本就是复杂度以及权利金。但是复杂度方面可以利用技术以及制程来让整个成本下降,而权利金的支出则是固定的,所以接下来我们会针对不同标准所需的权利金讨论。目前可以对H.264/AVC授权的有MPEG LA以及Via两间公司。如图 6所示。图 7则为Via授权公司对H.264技术的授权金。
图 6 MPEG-LA 的授权金 [6]
图 7 Via的授权金 [6]
另外,目前H.264/AVC已经确定Baseline Profile免收权利金了,所以如果以H.264/AVC和MPEG4来比较的话, H.264/AVC在权利金方面的确是有较大的吸引力。但MPEG4虽然压缩效率比较差,但是其复杂度则相对来说低的多,所以如果MPEG4的权利金突然下降的话,仍然会对H.264/AVC的发展造成很大的威胁。
另外,自从VC-1以及AVS标准制定以后,因为进入市场较晚,纷纷以压低权利金的方式想要抢进市场并且获得各大厂的青睐。VC-1推出编码压缩硬件仅需0.1美元的权利金,而在内容权利金方面更是免收。AVS也推出相当大的优惠,提出了只需要一元人民币(0.12美金)的权利金便可使用所有AVS的权利。但是因为VC-1和AVS目前都只有一间公司提供授权,所以就授权的弹性以及将来性来说,不确定性较大,这也是现在业界所考虑的因素之ㄧ。
2. 效能
目前以效能来看,藉由复杂度的提高,H.264/AVC压缩率大约MPEG4的1.5倍,并且加入了容错机制,减少影像因为传输错误所造成的影响,因此有机会取代MPEG4在网路串流上有更广泛的应用。至于VC-1,就目前官方所提出的资料来看,其压缩率上面的表现并不输给H.264/AVC,而且在复杂度方面也较为简单。另外,目前AVS-P2(AVS高解析视频标准)的表现来看,在压缩率方面大概是MPEG2的两倍,几乎与H.264/AVC不相上下,而其复杂度大约是H.264的70%。目前AVS-P2只有定义baseline profile。和H.264/AVC比起来最大的差异就是增加了B-Frame以及Interlace的功能。
结论
多媒体影音压缩标准从1993年开始发展至今十多年,目前该领域还是依旧有多重互不相容标准共存的现象,而且就目前的局势来看,未来这种情形还是会维持一段时间。第一代影音压缩标准MPEG-2由于建立时间长,技术成熟,可靠性高等优势,成为应用最广泛的标准。MPEG-2不仅被欧洲DVB-X,美国ATSC以及日本的ISDB等数字电视系统所采用,而且也是目前所有DVD市场的主流标准,因此近期以来想要撼动MPEG-2的地位相当不易。再加上现在业界仍有公司努力提高MPEG-2的压缩效率,成果也相当显着,所以MPEG-2在过去以及未来的一段时间都还是国际上最为通行的标准。
由于上述的原因,第二代影音编码标准(MPEG-4,H.264/AVC,AVS)只有在新兴领域开发竞争。由于3G网路以及Wireless Network的普及,所以影音串流的需求量越来越大,这也开辟了第二代影音编码标准竞争的新战场。就目前业界的发展来看,最早起步的H.264/AVC有较大的机会赢得这场战役,而且以目前厂商的态度来看,H.264/AVC拿下影音压缩标准的霸主也只是时间早晚的问题。但是就如同我们之前所分析过的问题,H.264/AVC仍有许多的问题和挑战仍须克服,所以我们就拭目以待这场战役的结果吧。
上一篇:利用Pspice分析系统简化放大器输出噪音评估
下一篇:省能电源设计及解决方案