新一代视频压缩技术 H.265 解析
笔者下载高清电影的时候,如果看到编码格式采用H.264,相对来说就会觉得比较放心,因为采用这种编码格式的画面质量不错。然而这类电影文件体积非常 大,以我国目前的网络状况,下载一部收藏级的高清电影实在需要无比的耐心。也许有人认为去视频网站看高清不就行了,但在挑剔的影迷眼里,在线视频远远达不 到高清的标准。不过这种情况也许会有所改变了,因为旨在有限带宽下传输更高质量视频的H.265标准,现已加入视频编码之中。
H.265又称为HEVC(High Efficieny Video Coding),是国际标准化组织和国际电联组织联合制定的新一代视频压缩标准,主要面向高清数字电视以及视频编解码系统的应用。去年8月,爱立信公司推 出了首款H.265编码解码器,6个月后国际电联(ITU)就正式批准通过了该标准。H.265的目标是编码效率比H.264提高50%,即在同等图像质 量条件下,目标码率下降到H.264的50%,带宽也只需原来的一半。这就意味着我们的移动设备将能够直接在线播放全高清(1080p)视频。而 H.265标准也同时支持从SQICF(128×96)到8K超高清(8192×4320)不同的视频应用。
在了解H.265的优点之前,我们不妨先回顾一下H.264。
关于H.264
H.264是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准。H.264是蓝光的编解码标准之一,所有的蓝光播放器都必须能解码H.264。它也被广泛使用于各种高精 度视频的录制、压缩和发布。更重要的是,苹果公司当初抛弃了Adobe的VP6编码,选择了H.264,让这个标准随着无数的iPad和iPhone走入 了千家万户,最终成为了高清时代视频编码领域的绝对霸主。
H.264在逻辑上可以分为两层:视频编码层(VCL:Video Coding Layer)负责高效的视频内容表示,网络抽象层(NAL:Network Abstraction Layer)负责以网络所要求的恰当的方式对数据进行打包和传送。
VCL层数据即编码处理的输出,它表示被压缩编码后的视频数据序列。H.264采用DCT变换编码加D PCM差分编码的混合编码结构,还增加了如多模式运动估计、帧内预测、多帧预测、基于内容的变长编码、4×4二维整数变换等新的编码方式,提高了编码效 率。NAL则负责使用下层网络的分段格式来封装或映射数据,包括组帧、逻辑信道的信令、定时信息的利用或序列结束信号等。NAL支持视频在电路交换信道上 的传输格式,支持视频在Internet上利用RTP/UDP/IP传输的格式。H.264包含了用于差错消除的工具,便于压缩视频在容易误码、丢包的环 境中传输,提高了容错性能。
总结起来,H.264较过去的压缩标准,具有以下特点:
更高的编码效率:在同等图像质量的条件下,H.264的压缩比是MPEG-2的2倍以上,是MPEG- 4的1.5~2倍。一部120分钟的全高清电影可以压缩到20G B左右,同时画面质量优于MPEG-2格式。相对而言更利于传播和存储。
更好的网络适应能力:H.264可以工作在实时通信应用(如视频会议)低延时模式下,也可以工作在没有延时的视频存储或视频流服务器中,并且很好地解决了网络传输丢包的问题。
当然,H.264的性能改进是以增加编解码计算的复杂性为代价而获得的,因此一些“老爷机”播放MPEG-2高清视频可能无压力,但播放H.264的视频就会相当吃力。不过现在即便是平板电脑都已经支持H.264硬解码了。
H.264的局限性
每个高清爱好者都和H.264有过一段美好的过去,但是H.264终究不能永远陪你看风景。因为现在的数字视频正在朝着以下“变态”方向发展:
1、更高的清晰度:720p已经过时,1080p也显出老态,4K、8K的视频正在向我们走来;
2、更高的帧率:连影院都不满足24fps的帧率,彼得·杰克逊拍摄《霍比特人》就采用了48fps帧率。而数字视频更是朝着60fps、120fps甚至240fps的应用场景升级;
3、更高的压缩率:清晰的画面和有限的带宽及存储空间之间永远是矛盾的。因此,在有限的带宽和存储空间下获得最佳视频效果,是高清领域所有相关人员的不懈追求。
面对这3个“变态”条件,如果我们一直执H.264之手不放,就会出现一些问题:
数的爆发式增长,会导致用于编码宏块的预测模式、运动矢量、参考帧索引和量化级等宏块级参数信息所占用的码字过多,导致用于编码残差部分的码字减少。
2、由于分辨率提高,单个宏块所表示的图像内容的信息大大减少,导致相邻的4×4或8×8块进行整数变换后,低频系数的相似程度大大提高,继而出现大量的冗余。
3、由于分辨率提高,表示同一个运动的运动矢量的幅值将大幅增加,H.264中用来对运动矢量进行预测以及编码的方法压缩率将逐渐降低。
4、H.264的一些关键算法例如采用CAVLC和CABAC两种基于上下文的熵编码、去块滤波等都要求串行编码,并行度比较低。而现在的GPU、DSP、FPGA、ASIC等并行化程度都非常高。H.264的这种串行化特征越来越成为制约运算性能的瓶颈。
H.265,就是为了解决这些问题而来的。
H.265解析
H.265/HEVC的编码架构大致上和H.264/AVC的架构相似,也包含帧内预测、帧间预测、转换、量化、去区块滤波器、熵编码等模块。为了提高高 清视频的压缩编码效率,H.265提出了超大尺寸四叉树编码架构,并采用编码单元(Coding Unit,CU)、预测单元(Predic tUnit,PU)和转换单元(Transform Unit,TU)三个基本单元执行整个编码过程。在此混合编码框架下,H.265进行了大量的技术创新,例如:基于大尺寸四叉树块的分割结构和残差编码结 构、多角度帧内预测技术、运动估计融合技术、高精度运动补偿技术、自适应环路滤波技术以及基于语义的熵编码技术。
CU类似于H.264/AVC中的宏块。H.264中每个宏块大小都是固定的16×16像素,而H.265的CU可以选择从最小8×8到最大64×64像 素。以图4为例,图中细节不多的区域(如车体的红色部分和地面的灰色部分)划分的CU大而少,编码后的数据较少;而细节多的地方划分的CU较小而多,编码 后的数据较多,这样就对图像进行了有重点的编码,提高了编码效率。
PU是进行预测的基本单元。H.265使用PU来实现对每一个CU单元的预测过程。PU尺寸受限于其所属的CU,可以是例如64×64像素的方块,也可以 是例如64×32像素的矩形。还有一种新的不对称运动分割预测(Asymmetric Motion Partition,AMP)方案,即将编码单元分为两个尺寸大小不一致的预测块。这种预测方式考虑了大尺寸可能的纹理分布,可以有效提高大尺寸块的预测 效率。
T U是进行变换和量化的基本单元。H.265突破了原有的变换尺寸限制,可支持4×4至32×32的编码变换,以TU为基本单元进行变换和量化。为提高大尺寸编码单元的编码效率,DCT变换同样采用四叉树型的变换结构。
CP、PU、TU这三个单元的分离,使得变换、预测和编码各个处理环节更加灵活,也有利于各环节的划分更加符合视频图像的纹理特征,有利于各个单元更优化的完成各自的功能。
H.265的帧间、帧内预测的基本框架与H.264基本相同:采用相邻块重构像素对当前块进行帧内预测,从相邻块的运动矢量中选择预测运动矢量,支持多参 考帧预测等。但H.265的帧内预测模式支持33种方向(H.264只支持8种),并提供了更好的运动补偿处理和矢量预测方法。同时,为了适应当前并行化 程度非常高的芯片架构,H.265引入了很多并行运算的优化思路,以提高编码解码效率。
反复的质量比较测试已经表明,在相同的图像质量下,通过H.265编码的视频将比H.264编码的视频体积减少40%左右。同时,在码率减少一半多的情况下,H.265编码视频的质量还能与H.264编码视频近似甚至更好。这一结论虽然带有主观性,但也非常鼓舞人心。
目前的H. 265标准共有三种模式:Main、Main 10和Main Still Picture。Main模式支持8bit色深(即红绿蓝三色各有256个色度,共1670万色),Main 10模式支持10bit色深,将会用于超高清电视(UHDTV)上。
H.265对高清发展的影响
低码率带来高画质,这是H.265最大的优势。我们现在能够估计到它对未来数字视频的发展有以下影响:
让高清视频监控成为现实:高清视频在安防监控中正在普及,但也带来了存储成本与空间的急剧上升。与现在正在使用的H.264编码技术相比,H.265的高压缩率能够节省一半左右的存储空间,从而显著降低了视频的存储成本。
让4K超高清电视走得更快:目前4K超高清电视产品已经不少,一些产品的价格已经低至四五千元。对于很多家庭而言购买起来并无太大压力,但4K片源难 找,4K电视看普通节目完全是高射炮打蚊子。随着H.265相关软硬件的成熟,当一张蓝光光盘就能容纳一部4K影片的时候,才是这些4K超高清电视真正发 挥作用的时候。
让高清电视节目更加普及:目前有线电视系统中,采用的还是较早的MPEG-2标准,连H.264都没达到。原因就是受传输网络带宽的总体局限,另外 H.264编码也需要缴纳授权费。而H.265在确保画质的同时更加有利于传输,同样的内容,H.265可以减少70%~80%左右的带宽消耗。这一点也 许最终可以说服那些顽固的广播电视公司放弃MPEG-2,采用H.265在现有带宽条件下轻松传播全高清1080p电视节目。而出于节省带宽的目的,卫星 电视公司也许会更加积极。
让随时随地观看高清视频成为可能:随着移动设备的发展,人们需要随时随地都能更便捷地获取所需内容与服务。LTE等4G技术显著提高了视频业务的商用可行 性。移动终端显示屏的ppi及分辨率都越来越高,加之H.265的高压缩率特性,将进一步促使高清甚至超高清视频在4G网络下流畅传输的普及。
此外,现在视频网站所谓的“高清”是远远达不到高清标准的。以笔者手里的《变形金刚3:月黑之时》为例,这是采用x.264格式将蓝光原盘重新打包后的全 高清版本,片长2小时34分钟,平均码率为17.5Mb/s,文件个头达到18.9GB。这种电影要想在线直接观看,网络带宽就必须大于其平均码率。以现 在的网络条件,这几乎是不可能的任务。
笔者在迅雷看看网站上找了到《变形金刚3》高清版,通过网页直接播放。由于不能直接获得影片的媒体信息,笔者于是估算了一下。网站要求欣赏高清视频的带宽 必须达到4Mb以上。4Mb带宽意味着网速最高不超过500KB/s。在线视频播放过程就是边下载边播放,要想画面流畅,视频文件体积必须小于当前带宽的 下载极限。《变形金刚3》片长154分钟,在4Mb带宽下,满打满算可以下载4.7GB的文件。相应的,其平均码率自然也低于4Mb/s。18.9GB的 全高清版都相差甚远。因此,这并不是真正的高清视频。
目前,迅雷看看客户端推出了H.265的体验版,里面同样有《变形金刚3》。通过查看媒体信息可知,视频文件为2.55GB,平均码率2362kb/s。 主观感受其画面质量超过了网页播放的高清版的水平,但与18.9GB的高清版仍有较大差距,毕竟码率差了7倍多。但是这至少给出一个信号:如果采用 4Mb/s左右的码率进行H.265编码,画面质量差距将会大大缩小。
H.265背后的问题
H.265的前途看起来一片光明,但眼下还有一些问题必须解决。现在包括平板电视和高清播放机在内的设备都可以解码H.264编码文件,而H.265属于 新技术,使用H.265编码的视频文件名为hm10,其图像质量和计算复杂性与H.264相比提升了好几倍,需要专门的软硬件来予以相应的支持。目前很多 播放器还不能播放H.265视频。同时,H.265编码还涉及到授权费问题,如果商用化就必须缴纳相应的授权费用,那么这笔费用由厂商还是消费者来承担?
除了价钱之外,消费者关心的另一个问题就是什么时候能买到相关产品。在硬件方面,笔者相信AMD、英伟达等显卡厂商多半会最先站出来支持H.265。但是 在移动设备领域,一些CPU强大到可以对H.265进行软解码的手机、MP4等产品,也许会被迅速包装成“支持H.265视频解码”来忽悠消费者。
但这种支持意味着电量的高速消耗(因为运算量太大),而且也并非真正的支持,所以请大家不要看到“H.265”就急着扑上去。
今后,H.265标准将会成为超高清电视(UHDTV)的4K和8K分辨率的选择。但这些视频内容应该怎样传送?采用哪些标准?索尼等媒体巨头正在绞尽脑 汁。蓝光光盘协会(The Blu-ray Disc Association)也正在研究让现有蓝光标准支持4K分辨率视频的方法。理论上H.265可以让蓝光光盘容纳4K电影,但却需要制造全新的播放器才 能播放,对于厂商和消费者而言这都不是件好事。
尽管有这样那样的阻碍,但我们仍应该对H.265持谨慎乐观的态度。有一点是肯定的,H. 265在同等的内容质量上会显著减少带宽消耗。我们谈了很多年的高清广播电视以及4K视频的网络播放的普及,在H.265的辅助下也许将不再有那么多困难。
X.264是一个开源项目,基于H.264编码技术的、面向业余市场的免费编码格式,是H.264的子集,只能实现H.264的部分功能。X.264多用于网络上流传的重压缩的视频内容。