【笔记】H.265/HEVC 视频编码(三)——编码结构

H.265/HEVC在编解码的设计上添加了多种新的语法结构,使得H.265/HEVC在压缩效率和网络适应性两个方面有显著提升。

一、编码结构

1、分层处理架构

视频序列是由若干连续时间连续的图像组成的,在对其进行压缩时,先将视频序列分割为小的图像组(GOP),GOP类型有两种:封闭式GOP和开放式GOP。所谓封闭式GOP是指每一个GOP都以IDR图像开始,各个GOP之间独立地编解码。而开放式GOP中,第一个GOP中的第一个帧内编码图像必须是IDR图像,后续GOP中的第一个帧内编码图像为non-IDR图像,因此后面GOP中的帧间编码图像可以越过non-IDR图像,用前一个GOP中的已编码图像做参考图像,二者示意图如图1。每一个GOP又被划分成多个片(Slice),片与片之间独立编解码。使用片的主要目的之一是可以在数据丢失的情况下重新进行同步。每一个片又由多个片段(SS)组成。一个SS在编码时,先被分割为大小相同的CTU,每一个CTU按照四叉树划分为不同类型的CU。
图1 两种不同的GOP类型
在这里插入图片描述

2、码流结构

H.265/HEVC压缩数据采用了类似H.264/AVC的分层结构,将数据GOP层、Slice层中公用的大部分语法元素游离出来,组成序列参数集(SPS)和图像参数集(PPS)。SPS包含了一个CVS中所有图像公用的信息,PPS包含一幅图像所用的公共参数,一幅图像的所有SS都引用同一个PPS。H.265/HEVC的语法架构中增加了视频参数集(VPS),包括多个子层共享的语法元素和其他不属于SPS的特定信息等。一个SS通过引用它所使用的PPS,该PPS又引用对应的SPS,该SPS又引用对应的VPS,最终得到SS的公用信息。

二、视频参数集(VPS)

VPS主要用于传输视频分级信息,有利于兼容标准在可分级视频编码或多视点视频编码的扩展。一个给定的视频序列,,无论每一层SPS是否相同,都参考相同的VPS。VPS包含的信息有:①多个子层和操作点共享的语法元素;②会话所需要的有关操作点的信息;③其他不属于SPS的操作点特性信息。

三、序列参数集(SPS)

在H.265/HEVC中,一个CVS由一个随机接入点开始,第一幅图像可以是IDR图像,也可以是non-IDR图像。non-IDR图像可以是BLA图像或CRA图像。一段视频码流,可能包含一个或多个CVS。SPS通过被PPS引用而作用于编码图像,一个CVS中所有被引用的PPS必须引用同一个SPS。SPS内容大致分为以下几个部分:①图像格式的信息;②编码格式的信息;③与参考图像相关的信息;④档次、层和级相关参数;⑤时域分级信息;⑥可视化可用性信息;⑦其他。

四、图像参数集(PPS)

编码视频流中,一个CVS包含多幅图像,每幅图像包括一个或多个SS,每个SS头提供了所引用的PPS标识号。同一幅图像的所有SS都用同一个PPS。SS使用PPS中的参数进行解码,解码开始时,所有PPS都是非激活状态,当解码过程在引用了某个PPS,这个PPS被激活,直到该图像解码结束,在解码的任意时刻最多只有一个PPS处于激活状态。PPS的内容大致分为以下部分:①编码工具的可用性标志;②量化过程相关句法元素;③Tile相关句法元素;④去方块滤波相关句法元素;⑤片头的控制信息;⑥其他编码一幅图像时可以共用的信息。

五、片段层

一个图像可以被分割为一个或多个片,每片的压缩数据独立,Slice头信息无法通过前一个Slice头信息得到,因此Slice不能跨越边界进行帧内或帧间预测,但在环路滤波时,允许滤波器跨越边界进行滤波。Slice可分为以下三种:①I Slice:帧内预测编码模式,所有的CU的编码过程都是帧内预测;②P Slice:单向预测编码模式和帧内模式,CU可以是帧内预测也可以是帧间预测,每个PB使用最多一个运动补偿预测信息,P Slice只使用图像参考列表list 0;③B Slice:双向预测或帧内模式,CU可以是帧内预测也可以是帧间预测,每个PB可以使用最大两个运动补偿预测信息,可以使用图像参考列表list 0和list 1。
一个独立的Slice可以被划分为若干SS,包括一个独立SS和若干依赖SS,并且以独立SS作为Slice的开始,一个SS包含整数个CTU。预测过程不能跨越独立Slice的边界,可以跨越依赖SS的边界。

六、Tile单元

H.265/HEVC对H.264/AVC的改进之处还在于Tile概念的提出。一幅图像不仅可以划分为若干Slice,也可以划分为若干个Tile,即从水平和垂直方向将一幅图像分割为若干矩形区域。每个Tile包含整数个CTU,可以独立解码。划分Tile的目的是增强并行处理能力的同事又不引入新的错误扩散。
Slice和Tile的划分目的都是为了独立解码,但划分方式不同,Tile形状为矩形,Slice为带状;Slice由SS组成,一个SS由一系列CTU组成,Tile直接由CTU组成。每个Slice/SS和Tile至少要满足以下两个条件之一:①一个Slice/SS的所有CTU属于同一个Tile;②一个Tile中的所有CTU属于一个Silce/SS。

七、树形编码快

H.265/HEVC引入了树形编码单元CTU,还为图像划分定义了一套全新语法单元,包括CU、PU、TU。CU是进行预测、变换、量化和熵编码等处理的基本单元,PU是进行帧内/帧间预测的基本单元,TU是进行变换和量化的基本单元。

1、编码单元(CU)

在H.265/HEVC中,CB的大小是可变的,亮度CB最大为6464,最小为88。大的CB可以在平坦区域提高编码效率,小的CB可以很好地处理图像局部的细节。
一幅图像被划分为互不重叠的CTU,在CTU内部,采用四叉树划分为CU。CU能否继续被划分取决于分割符号位Split flag,若Split flag=0,则不继续划分,反之Split flag=1,则继续划分,并且深度加1。

2、预测单元(PU)

预测单元()PU规定了编码单元的所有预测模式,一切与预测有关的信息都定义在预测单元部分。对于一个2N2N的CU,帧内预测单元PU的可选模式有两种:2N2N和NN;帧间预测单元PU的可选模式有8种:2N2N、2NN、N2N、NN、2NnU、2NnD、nL2N、nR2N。skip模式是帧间预测模式的一种,当运动信息只有运动参数机索引,编码残差信息不需要编码时,为2N2N skip模式。
图2 H.265/HEVC预测单元的划分模式
在这里插入图片描述

3、变换单元(TU)

变换单元是独立完成变换和量化的基本单元,H.265/HEVC突破了原有的尺寸限制,可支持大小为44~3232的编码变换。大块的TU模式能将能量更好的集中,小块的TU模式可以保存更多的图像细节。

八、档次、层和级别

在H.264/AVC就有档次(profile)和级别(level)的划分,H.265/HEVC在此基础上定义了一个新的概念:层(Tier)。档次主要规定编码器可采用哪些编码工具或算法,级别是指根据解码端的负载和存储空间情况对关键参数加以限制。有些Level定义了两个Tier:主层(Main Tier)和高层(High Tier),主层用于大多数应用,高层用于最苛刻的应用。

1、档次

H.265/HEVC标准中提出了三种档次:Main、Main 10和Main Still Picture。它们的限制条件如下:①只支持4:2:0色度采样信号;②使用了Tier则不能使用WPP(波前并行处理),每一个Tier的亮度分辨率至少要为256*64;③Main和Main Still Picture档次支持八位像素深度,Main 10还支持10位像素深度,Main Still Picture不支持帧间预测。

2、层和级别

H.265/HEVC标准中定义了两个层和13个级别,两个层分别是Main Tier和High Tier。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值