U8.COM·(中国区)有限公司官网-HEVC的设计目标是在同等图像质量下,比H.264/AVC的比特率降低50%,其设计侧重点主要有两个方面,即针对高分辨率视频和增加并行处理结构的运用。和以前的ITU-T和ISO/IEC开发的视频标准一样,HEVC采用了基于分块结构的混合编码流程,包括预测、变换、量化、熵编码、环路滤波,但HEVC几乎在每个模块都引入了新的编码技术。
帧内预测:去除空间相关性。利用同一帧中的重构块预测当前块。具有35种预测模式。
帧间预测:去除时间相关性。利用已编码的帧作为当前帧的参考图像,来获得当前帧各个块的运动信息。包括了分层B帧预测结构,单向、双向预测。
变换量化:通过对残差数据进行变换量化以去除频域相关性,有损压缩。变换使图像从时域变换到频域,将能量集中到低频区域。量化减小图像编码的动态范围。变换和量化原理上属于两个独立的过程,但HEVC中,这两个过程相互结合,减少了计算复杂度。
去方块滤波:基于块的编码中,重构图像会出现块效应,去方块滤波可以消弱块效应,提高图像主观质量和压缩效率。
样点自适应补偿:SAO滤波处于方块滤波之后,通过解析去方块滤波后的像素的统计特性,为像素添加相应的偏移值,可以在一定程度上消弱振铃效应,提高图像主观质量和压缩效率。
熵编码:将编码控制数据、量化变换系数、帧内预测数据、运动数据等编码为二进制码流进行存储或传输。HEVC采用CABAC进行熵编码,引入并行处理框架,在速度、压缩和内存占用等方面有了大幅改善。
与H.264/AVC相同,HEVC在编码结构上也分为视频编码层(Video Coding Layer, VCL)和网络适配层(Network Abstraction Layer, NAL)。前者独立于网络,主要包括核心的视频压缩引擎和图像分块的语法定义。后者主要是定义数据的封装格式,把VCL产生的比特字符串适配到各种各样的网络环境中。
原始视频经过VCL层,被编码成视频数据,然后经过NAL层,封装成一个个NAL包以适应不同网络的视频传输。HEVC码流在应用过程中与H.264/AVC码流的区别就在于NAL层,具体情况见网络适配层章节。
HEVC视频编码层沿用以往视频标准的混合编码方式,它的输入是原始视频,输出为符合HEVC标准的比特流,简要编码过程如下。
将每一帧图像划分为不同大小的图像块单元,并将相应的块划分信息加入到码流中,传到解码器。
对每个单元进行帧内或帧间预测,原始像素值和预测值相减形成该单元的残差;在帧间预测时需要进行运动估计和运动补偿,对需要用到的重建图像事先要进行去方块滤波和自适应样值补偿(SAO)滤波。
对每个单元的残差进行整数变换(近似离散余弦变换或正弦变换),对形成变换系数进行量化和扫描。
对量化后的变换系数、预测信息、模式信息、运动信息和头信息等进行熵编码,形成压缩的视频码流(语法元素)输出。
HEVC网络适配层(NAL)包含了大量的从H.264/AVC的NAL继承来的语法元素。HEVC的VCL层产生的每个语法结构都会被放进网络适配层(NAL)单元的数据包中。NAL单元的头部容量从H.264/AVC的单字节扩充为两个字节,增加的内容主要用于标识它所装载数据的类型。NAL单元根据是否装载有编码视频或其他相关数据而分为VCL NAL单元和non-VCL NAL单元两类。HEVC标准中,还包括了为解码器初始化和随机接入的目的而识别图像分类的若干VCL NAL单元类型。
NAL单元负责把视频编码层(VCL)表示视频内容的数据映射到不同传输层上,如RTP/IP、ISO MP4、H.222.0/MPEG-2系统等,并提供丢包恢复处理机制。
在码流结构方面,H.265/HEVC压缩数据采用了类似于H.264/AVC的分层结构,将属于GOP层、Slice层用的大部分语法元素游离出来,组成序列参数集(Sequence Parameter Set, SPS)和图像参数集(Picture Parameter Set, PPS)。SPS包含一个CVS(Coded Video Sequence)中所有图像共用的信息,其中CVS被定义为一个GOP编码后所生成的压缩数据。SPS的内容大致包括解码相关信息,如档次级别、分辨率、某档次中编码工具开关标识和涉及的参数、时域可分级信息等。PPS包含一幅图像所用的公共参数,即一辐图像中所有SS(Slice Segment)引用同一个PPS,其大致内容包括初始图像控制信息,如初始量化参数(Quantization Parameter,QP)、分块信息等。此外,为了兼容标准在其他应用上的扩展,例如可分级视频编码器、多视点视频编码器,H.265/HEVC的语法架构中增加了视频参数集(Video Parameter Set, VPS),其内容大致包括多个子层共享的语法元素,其他不属于SPS的特定信息等。对于一个SS,通过引用它所使用的PPS,该PPS又引用其对应的SPS,该SPS又引用它对应的VPS,最终得到SS的公用信息。
详细的NAL单元类型列表以及对NAL设计的一般概念,如NAL单元、参数集、存取单元、码流格式、包格式等见网络适配层章节。
为了应对不同应用场合,HEVC设立了GOP的3种编码结构,即全帧内(AI)编码、低延时(LD)编码和随机访问(RA)编码。
随机访问(Random Access)编码结构主要由分级B帧构成(Hierarchical B),周期性地(大约每隔1秒)插入随机访问(Clean Random Access, CRA)帧,这些CRA帧成为编码视频流中的随机访问点(Random Access Point, RAP)。所谓随机访问点是指对这些帧的解码可以独立进行,不需要参考比特流中前面已经解码的图像帧。这种对随机访问方式有力地支持了信道转换、搜索以及动态流媒体服务等应用。
在图像分块方面,HEVC的一个重要革新之处就是为预测和变换编码目标而对图像进行的基于四叉树的划分。
HEVC将一个视频序列分为相继的若干图像组(GOP),每一组由该序列中连续的多帧图像组成。帧是四叉树划分的基本单位,每一帧图像经过四叉树划分,形成覆盖全帧的多个同样尺寸的方形编码树块(CTB)。CTB还可以划分为更小的编码块(CB)。CB是实施视频编码算法的基本单位,它还可以划分为预测块(PB)和变换块(TB)。
在HEVC中依然采用分块编码方式,但不同于H.264中固定尺寸的宏块,HEVC中块的尺寸是可以自适应改变的。HEVC中定义了四个新的概念:编码树单元(CTU)、编码单元(CU)、预测单元(PU)和变换单元(TU)。
类似于H.264/AVC中的宏块,HEVC将编码帧分为若干编码树块(Coding Tree Blocks, CTB),它们是进行预测、变换、量化和熵编码等处理的基本单元,其尺寸或者所包含的像素数可以是16×16、32×32或64×64。同一位置的亮度CTB和两块色度CTB,再加上相应的语法元素形成一编码树单元(Coding Tree Units, CTU)。一般来说,Unit是从语法结构角度进行描述,而Block是从采样值角度进行描述,并不特意区分这两个概念。
CTU又可以按照四叉树结构分解为若干方形编码单元(Coding Units, CU),同一层次的CU必须是同一尺寸的4个方块,最多可有4层分解,即64×64(LCU),32×32,16×16和8×8(SCU)。如果不分解,则这个CTU仅包含一个 CU。每个CU包含一块亮度编码块(Coding Blocks, CB)、两个色度CB以及相应的语法元素。CU的大小和图像的特性是自适应的,在图像比较平缓区域,选择比较大的CU,而在图像边缘或纹理复杂的区域,选择比较小的CU,有利于提高编码效率。CU是决定进行帧内预测还是帧间预测的单元,也就是说整个CU只能是一种预测模式,不是帧内就是帧间。CU还可以按照四杈树层次分解(或不分解)为更小的预测单元(Prediction Units,PU)和变换单元(TB, Transform Units)。
每一个划分步骤中,解码器对某个特定的起始块都定义了一个唯一的处理顺序。通过以深度(划分的层次)在先的方式遍历编码四叉树来处理CU,形成一个递归的“Z”字形扫描顺序。这种扫描顺序保证了对于不同分割都能按照相同的遍历顺序进行寻址,有利于程序中的递归实现。“Z”字形扫描标号顺序方法还用于定义PU和TU的划分顺序。
预测单元PU是进行预测运算的基本单元,包括帧内(Intra)和帧间(Inter)预测两类。一个编码单元CU可以包含一个或者多个预测单元,CU到PU仅允许一层划分,最小的PU为4×4。划分可以是对称的,也可以是不对称的。一个2N×2N(N可以是4、8、16、32)的CU可划分为8种包含PU方式。
当亮度CU尺寸为16×16或更大时才允许不对称划分,一个CU划分为2个PU,每个PU分别覆盖CU的1/4和3/4面积。
为了限制编码器的复杂度,HEVC禁止使用4×4尺寸的帧间预测块,至于4×8或8×4尺寸的帧间预测块只允许在单向预测时使用。
HEVC突破了原有的变换尺寸限制,可支持大小为4×4~32×32的编码变换,变换单元(TU)是进行变换和量化操作的基本单元,和PU划分类似,它也是在CU的基础上划分的。方形CU到TU的划分也是一种四叉树划分,又称变换树或残差四叉树(Residual Quad Tree, RQT), CU是这棵树的根,TU是这棵树的叶,也是方形。与编码单元CU四叉树类似,残差四叉树通过深度优先、光栅扫描的“Z”字形顺序进行遍历。
根据预测残差的局部变化特性,TU可以自适应地选择最优的模式。大块的TU模式能够将能量更好地集中,小块的TU模式能够保存更多的图像细节。这种灵活的分割结构,可以使变换后的残差能录得到充分压缩,以进一步提高编码增益。
CU的变换树的构成和PU的划分基本无关,编码器可以选择穿越PU界线的残差变换。但帧内编码模式中TU尺寸需小于或者等于PU,而帧间编码模式中TU可以大于PU,但是不能超过CU。
注:HEVC为4×4~32×32的TB定义了类似离散余弦变换(DCT)的整数变换。对于4×4亮度帧内预测的TU,也可采用另外一种源于**离散正弦变换(DST)**的整数变换。
一帧图像可以被划分为条(Slice)或片(Tile),条还可以再划分为分条(Slice Segment, SS)。组成条的一系列分条是由一个独立分条开头,后面跟随的是非独立分条或独立分条(如果有)。条(或)片在HEVC图像结构中处于CTU的上一层,一个条或分条是由整数个相继排列的CTU组成的,类似,一个片也是由整数个相继排列的CTU组成的。
一幅图像可以分割成一个或多个Slice,每个Slice都是独立的(但环路滤波时可跨越Slice边界进行滤波),利于并行运算。在HEVC码流中,每个条封装为一个NAL单元,其容量小于等于最大网络传输单元(Maximum Transmission Unit,MTU)容量。使用Slice的主要目的是当数据丢失后能再次保证解码同步。
一个Slice可以分为若干SS(Slice Segment),包含一个独立SS(它涉及的句法元素由自身决定)和若干依赖SS(它涉及的句法元素由已解码的独立SS决定,依赖SS共享独立SS的一些信息),以独立SS作为该Slice的开始。一个SS包含整数个CTU,且这些CTU分布在同一个NAL中。SS可以作为一个分组来传送视频编码数据,一个Slice内的SS可以相互参考。
在HEVC中新引入了可选的片划分,用水平和垂直的若千条边界将图像帧划分为多个矩形区域,每个区域就是一个片,同时也是一个独立的编码单位。每一个片常包含大体相同的整数个CTU,但并不强求。
片划分时并不要求水平或垂直边界均匀分布,可根据并行计算和差错控制的要求灵活掌握。在编码时,图像中的片也是按光栅扫描顺序进行处理,每个片中的CTU也是按光栅扫描顺序进行。
在HEVC中,允许条和片在同一图像帧中同时使用,既可以一个条中包含若干片,共享头信息,也可以一个片中包含若干条。
HEVC引入片划分的主要目的是增强并行处理的能力,而不在于提供差错鲁棒性。片划分提供的是一种较简单的粗粒度(子图像)并行处理机制,它的使用不需要提供复杂的线程同步支持。片划分的优点如下:
更高的空间相关性:在这种灵活的矩形片划分中,一个片可以比一个包含相同数目CTB的条在空间上更加紧凑。
有利于并行处理:穿越片边界的熵编码和重建的依赖是不允许的,在运动矢量预测、帧内预测和上下文选择中也是如此。环路滤波是唯一的例外,它允许穿越边界,但也可被比特流中的某个标志所禁止。
减少头信息开销:由于片是比较规则的矩形划分,为了提高编码效率而不需要另设头信息。因此,和条对比,片具有比较低的头信息开销。
支持感兴趣区域编码:片所提供的矩形像素数据划分有利于感兴趣区间(Region Of Interesting, ROI)编码,可以很简洁地标注出感兴趣区间。
为了提供不同应用之间的兼容互通,HEVC定义了编码的不同档次(Profile)、水平(Level)和等级(Tier)。
Level规定了对给定Profile、Tier所对应的解码器处理负担和存储容量参数,主要包括采样率、分辨率、码率的最大值、压缩率的最小值、解码图像缓存区的容量(Decoded Picture Buffer, DPB)、编码图像缓存区的容量(Coded Picture Buffer, CPB)等。
在编解码器的兼容性方面,要求支持某个Profile的解码器必须支持该Profile及低于该Profile中的所有特性;要求支持某个Level和Tier的解码器可以解码所有等于和低于这个Level和Tier的码流;支持某一个Profile的编码器,并不要求它支持该Profile的所有特性,但是编码的码流必须符合HEVC的标准,才可被支持该Profile的解码器所解码。
允许选择波前和片划分方式,但是不能同时选择。如果选择片,其尺寸至少高为64像素,宽为256像素
水平(Level)指出了一些对解码端负载和内存占用影响较大的关键参数的约束,这些参数主要包括有:采样频率、分辨率、码率的最大值,压缩率的最小值、解码图形缓冲区(DPB)的容量、编码图像缓冲区(CPB)的容量;水平中还约束了每帧中垂直和水平方向的Tile的最大数量,以及每秒最大的Tile数量。HEVC共设置了13个水平:
对同一水平,按照最大码率和缓存容量要求的不同,HEVC设置了两档等级,定义为高等级(High Tier)和主等级(Main Tier)。主等级可用于大多数场合,涵盖13个水平,要求码率较低;高等级可用于特殊要求或苛刻要求的场合,包括4和4以上的8个水平,允许码率较高,在同一水平大约高3-4倍。
Copyright © 2002-2024 U8国际电子监控有限公司 版权所有 Powered by EyouCms TEL: 025-83700868
地址:南京市鼓楼区三步两桥145号 邮箱:chuiniubi@126.com