新一代视频压缩技术-H.265
H.265又称为HEVC(High Efficieny Video Coding),是国际标准化组织和国际电联组织联合制定的新一代视频压缩标准,主要面向高清数字电视以及视频编解码系统的应用。2012年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变换编码加DPCM差分编码的混合编码结构,还增加了如多模式运动估计、帧内预测、多帧预测、基于内容的变长编码、4×4二维整数变换等新的编码方式,提高了编码效率。NAL则负责使用下层网络的分段格式来封装或映射数据,包括组帧、逻辑信道的信令、定时信息的利用或序列结束信号等。NAL支持视频在电路交换信道上的传输格式,支持视频在Internet上利用RTP/UDP/IP传输的格式。H.264包含了用于差错消除的工具,便于压缩视频在容易误码、丢包的环境中传输,提高了容错性能。
总结起来,H.264较过去的压缩标准,具有以下特点:
更高的编码效率:在同等图像质量的条件下,H.264的压缩比是MPEG-2的2倍以上,是MPEG- 4的1.5~2倍。一部120分钟的全高清电影可以压缩到20GB左右,同时画面质量优于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
1. H.265 / HEVC 不是因为 H.264 失效才出现,而是因为视频分辨率、传输规模和存储成本压力都在快速上升。
2. 它的核心价值是在相近主观画质下进一步降低码率,尤其适合 4K、HDR、长视频、安防和云端分发场景。
3. 它延续了 H.264 的混合编码思路,但在块划分、预测深度和压缩效率上更进一步。
4. 它值得用,但代价也很明确:编码复杂度更高、生态推进更慢、授权与兼容问题更敏感。
H.265 推出的意义不是证明 H.264 不行,而是在更高分辨率和更大业务规模下把码率继续压下去。
亮瑜情节:H.264 明明已经很成功,为什么还要继续推进 H.265
如果在视频行业里待过一段时间,就会发现一个很典型的现象:H.264 明明已经足够成功,播放器支持它,摄像头支持它,浏览器支持它,直播、点播、会议、安防几乎全在用它。那为什么行业后来还要继续推 H.265?
答案很简单,因为视频世界并不会停在 H.264 那个时代。分辨率在涨,帧率在涨,HDR 在普及,平台每天要处理的视频量在爆炸式增加,而带宽和存储成本始终捉襟见肘。H.264 很强,但当业务规模和清晰度继续往上走时,它也会变得“不够省”,或者有些开销过大。
所以 H.265 的出现,并不是因为 H.264 失败了,而是因为行业对压缩效率提出了更高要求。
1、H.265 从哪里来
H.265 通常也被称为 HEVC,也就是 High Efficiency Video Coding。它由 ITU-T VCEG 和 ISO/IEC MPEG 联合推进,标准于 2013 年左右完成关键版本定型。
从命名你也能看出来,它本质上是 H.264 / AVC 的下一代主流视频编码标准。它的目标非常明确:在相近主观画质下,把码率进一步压下去,让更高分辨率、更高质量的视频变得更容易传输和存储。
如果说 H.264 奠定了互联网视频时代的基础语法,那么 H.265 的任务,就是在视频规模更大、清晰度更高、成本更敏感的新时代里,把这套语法继续往前推进。
2、既然已有 H.264,为什么还要加速推进 H.265

图 1:H.265 被加速推进的根本原因
第一,因为分辨率升级太快。H.264 在 720、1080p 时代表现非常优秀,但当业务开始走向4K、8K、全景视频和高动态范围内容时,码率压力会显著增加。
第二,因为平台成本太高。视频平台不是只上传一条片子就结束了,它们需要承担转码、分发、CDN、云存储和回看成本。哪怕单位码率只降一截,放大到海量业务量级,都是巨大的成本优化。
第三,因为终端和芯片能力提高了。以前很多更高复杂度的算法不容易普及,是因为硬件能力未能跟进;但随着 SoC、编解码 IP 和终端能力成熟,更高压缩效率就开始变得有现实价值。
第四,因为用户期望变了。用户既想看得更清楚,又不想卡顿;既想占更少空间,又希望画质别降。H.265 正是在这种双重压力下被快速推进的。
3、H.265 到底解决了什么问题
它解决的核心问题仍然是码率和画质之间的平衡,但目标比 H.264 更激进。H.265 要求在相近主观画质下,进一步降低传输和存储所需的比特数。
对点播平台来说,这意味着相同带宽下能提供更高分辨率,或者相同画质下能节省更多 CDN 费用。
对安防和录像系统来说就更明显了,这意味着同样容量的硬盘可以录更长时间且画质有保障。
对移动终端来说,这意味着更小的视频文件、更低的上行压力以及更好的高分辨率视频体验。
所以 H.265 不是在解决一个新问题,而是在用更高效率,重新回答“如何把视频更经济地送到用户面前”这个老问题。
4、H.265 相比 H.264 强在哪里

图 2:两者的关键差异
最关键的变化之一,是块划分更灵活。H.264 时代以宏块体系为核心,而 H.265 则引入了更大的 CTU,并在块划分层级上做得更细,这让编码器面对不同纹理复杂度时能更从容地选择最合适的块结构。
第二个变化,是预测利用得更深。无论是帧内预测还是帧间预测,H.265 都在“如何更充分利用空间冗余与时间冗余”这件事上走得更远。
第三个变化,是整体系统对高分辨率视频更友好。因为它更适合处理大画面中的平坦区域、复杂纹理区域和跨尺度细节差异。
简单说,H.264 像是在 1080p 时代打磨得非常成熟的工程武器;而 H.265 则更像是在高分辨率时代继续深挖压缩潜力的一次系统升级。
5、H.265 的核心编码思路是什么

图 3:H.265 编码主链路示意图
它没有推翻 H.264 的基本路线,本质上仍然是混合视频编码器:预测、残差、变换、量化、熵编码。不同的是 H.265 在每一个环节都更激进。它希望预测得更准,块划分更灵活,残差更稀疏,熵编码更高效,最终把整体码率进一步压低。也可以把它理解成:H.264 把视频压缩这件事做成了成熟工业能力,而 H.265 则是在相同框架下把这套能力继续压榨到更高效率。
6、为什么 H.265 并没有像 H.264 那样一统天下
如果只看算法效率,H.265 很诱人;但工程世界从不只看算法。H.265 的问题在于复杂度更高,软硬件适配成本更大,专利和授权问题也更敏感。回头来说后起之秀要普及还需要时间这个不能忽视的因素。
这意味着很多产品团队在选型时,不能只问“它是不是更省码率”,还要问“终端支不支持”、“硬件有没有解码器”、“浏览器链路稳不稳”、“授权风险怎么处理”。
也正因为这些现实问题,H.265 虽然很强,但它的推进路径比 H.264 更曲折。它在安防、广电、4K 点播、设备录像等场景推进得很快,但在浏览器开放互联网生态里则没有 H.264 那样绝决。
7、今天为什么依然值得用 H.265?
因为很多场景下,码率节省带来的收益依然非常实在。只要业务对分辨率、存储时长、分发成本或高质量视频体验足够敏感,H.265 就仍然是非常有竞争力的选择。尤其是在 4K 视频、监控录像、云端存储、视频点播和设备侧录制这些方向上,H.265 往往能直接转化为成本收益。
所以是否采用 H.265,本质上不是“追新标准”,而是在问:所用系统是否值得为更高压缩效率支付更高复杂度和更复杂生态成本。
如果说 H.264 让视频第一次大规模普及,那么 H.265 则是在告诉整个行业:当视频变得更清楚、更庞大、更昂贵时,还得必须继续提升压缩效率。其存在的意义不是宣布 H.264 过时,而是用更高代价换来更高效率,帮行业在更高分辨率、更高码率压力和更大规模业务下继续往前走。H.265 并不是比 H.264 新,而是为什么视频工业永远在围绕画质、成本、带宽、复杂度和生态兼容性做动态平衡。
对高清发展的影响
低码率带来高画质,这是H.265最大的优势。现在能够估计到它对未来数字视频的发展有以下影响:
让高清视频监控成为现实:高清视频在安防监控中正在普及,但也带来了存储成本与空间的急剧上升。与现在正在使用的H.264编码技术相比,H.265的高压缩率能够节省一半左右的存储空间,从而显著降低了视频的存储成本。
让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.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多用于网络上流传的重压缩的视频内容。