高效率视频编码(High Efficiency Video Coding,简称HEVC),又称为H.265和MPEG-H第2部分,是一种视频压缩标准,被视为是ITU-T H.264/MPEG-4 AVC标准的继任者。2004年开始由ISO/IEC Moving Picture Experts Group(MPEG)和ITU-T Video Coding Experts Group(VCEG)作为ISO/IEC 23008-2 或称作ITU-T 开始制定。第一版的HEVC/H.265视频压缩标准在2013年4月13日被接受为国际电信联盟(ITU-T)的正式标准。HEVC被认为不仅提升影像质量,同时也能达到H.264/MPEG-4 AVC两倍之压缩率(等同于同样画面质量下比特率减少到了50%),可支持4K清晰度甚至到超高清电视(UHDTV),最高清晰度可达到8192×4320(8K清晰度)。
数个基于HEVC延伸的编码标准正在进行中,包含range extensions(支持高级的影帧式)、可调式编码和3D视频编码标准。
在H.264/AVC标准制定完(2003年)的后一年,VCEG组织便开始研究更先进的视频压缩技术,期望能够发展下一代视频压缩标准,或期望能大量提升压缩率成为H.264/AVC的延伸版本。2005年1月,VCEG开始将这些议题统整称为Key Technical Areas(KTA),并且开发了一个同名的软件编解码器KTA Software来评估被提案的新技术。KTA software是基于H.264/AVC的标准参考软件Joint Model(JM)上,加入新的编码技术并与JM的编码效率做比较。到了2007年,KTA Software的编码效率较JM提升了不少。
为此目的MPEG与VCEG联合成立了一个Joint Collaborative Team on Video Coding(JCT-VC)作为共同开发HEVC的团队。并每四个月进行一次标准讨论与制定的会议。并发布了HEVC的标准参考软件HEVC Test Model(HM)。
HEVC标准(第一个版本)制定的时程如下:
HEVC与H.264/AVC和许多其他视频压缩编码一样,都是采用Hybrid Video Coding的架构(如右图),但在各部分加入了一些新技术或者提升了原本编码工具的效率。
编码树单元(Coding Tree Block, CTU)是HEVC的基本编码单位,有如H.264/AVC的Macroblock。HEVC支持8x8到64×64像素的CTU大小。编码树单元可向下分割编码单元(Coding Unit,CU)、预测单元(Prediction Unit,PU)及转换单元(Transform Unit,TU)。
HEVC帧内编码将预测的方向性增加到33种,并加入平面预测(Planar Prediction)产生平滑的取样面。
HEVC有两个环路滤波器,解块滤波器(DBF)与样本自适应偏移量(SAO)滤波器
H.265/HEVC的DBF使用H.264/MPEG-4 AVC类似的设计,更好的支持并发处理是类似的。在HEVC的DBF只适用于一个8×8个采样网格,而与H.264 / MPEG-4 AVC的DBF适用的一个4×4个采样网格不同。HEVC的DBF使用一个8×8个采样网格,因为没有导致明显的降解,并显著提高了并发处理,因为的DBF不再导致级联与其他操作的相互作用。另一个变化是HEVC只允许为0〜2的三个DBF的深度。HEVC的DBF也是的先做画面的垂直边缘的水平滤波之后再做对于水平边缘的垂直滤波,有利于平行处理(多线程)。
在DBF之后的使用SAO过滤器,并使用偏移以产生更好地重建原始信号。每个CTB的SAO滤波器可有两个模式:边缘偏移模式或带偏移模式。边缘偏移量模式中通过比较的取样的值,根据比较两个邻居,将样品分为五类之一:最小,两种边缘,最大值,或两者都不是,对于每个第一四类施加一个偏移量。能带偏移的模式可分类成32个频带,并选择四个连续频带发送偏移量。SAO滤波器设计来以提高图像质量,并减少振荡效应
注:在追求与原始视频的相似度(或称高还原度)的编码过程中,该选项通常被认为是不利于画面细节保留的。
使用了跟H.264/AVC High Profile中一样的CABAC(前文参考之适应性二元算术编码)算法来做熵编码,抛弃了CAVLC。
HEVC定义了包含Main和High 2种“层级”(tiers)注:目前没有公定译名,以及13种“等级”(levels)注:目前没有公定译名。层级是被设计来面对不同的应用,对其做限制。其中Main tier是被设计给大部分的应用,而High tier是被设计给高要求的应用。等级则是针对比特流设置了一组限制,与Profile相似。当一个解码器符合给定了的层级与等级,代表此解码器也被要求必须能解码用该层级/等级及较低层级/等级所编码出来的比特流。