H.265/HEVC预测编码及CTU、CU、PU、TU学习笔记

一、预测编码

1.原理

利用已编码的一个或几个样本值,根据某种模型或方法,对当前的样本值进行预测,并对样本真实值和预测值之间的差值进行编码,包括帧内预测和帧间预测两种。

2.预测编解码的过程

(1)预测编码过程

对于当前编码的图像的输入像素值x(n),首先利用已编码像素的重建值得到当前像素的预测值p(n)进行残差,得到运动残差e(n),将e(n)送入量化器得到e’(n)后进行熵编码,同时利用量化后的残差e’(n)以及p(n)得到当前像素的重建值x’(n),用于预测之后的待编码像素。
H.265/HEVC预测编码及CTU、CU、PU、TU学习笔记_第1张图片

(1)解码过程

经过熵编码得到当前像素预测误差的重建值e’(n),将其与预测值p(n)相加即可得到当前像素的重建值x’(n)。
H.265/HEVC预测编码及CTU、CU、PU、TU学习笔记_第2张图片

二、视频编码中的CTU、CU、PU、TU

H.265将图像划分为树编码单元(coding tree units, CTU),每个树编码块利用四叉树结构被递归分割

H.265/HEVC预测编码及CTU、CU、PU、TU学习笔记_第3张图片

编码树单元可向下分成:

  • 编码单元(Coding Unit,CU)

  • 预测单元(Prediction Unit,PU)

  • 变换单元(Transform Unit,TU)

H.265/HEVC预测编码及CTU、CU、PU、TU学习笔记_第4张图片

1.编码树单元(CTU)

每个编码树单元内包含1个亮度(Luma)编码树区块(CTB)与2个色度(Chroma)编码树区块(CTB),以及记录额外信息的语法元素,编码树单元的大小可以调整。

对于4:2:0的YUV视频,16 x 16的编码树单元,会包含1个16 x 16的亮度编码树区块,以及2个8 x 8的色度编码树区块。

(2)编码单元(CU)

编码单元是进行预测、变换、量化和熵编码登处理的基本单元。
一个CTU可以包含一个或切割成多个CU,一个CU是一个编码树的叶子节点。

H.265/HEVC预测编码及CTU、CU、PU、TU学习笔记_第5张图片

在CU上采用z型扫描,编码顺序如上图所示,在整个编码树上是深度优先遍历,HEVC的最高深度为4(64-32-16-8-4)。
一个CTB(编码树区块)可以分成多个CB(编码块)

H.265/HEVC预测编码及CTU、CU、PU、TU学习笔记_第6张图片

CU可以划分为:

①skipped CU:只能采用帧间预测模式,而且产生的运动向量和图像的残差信息不需要传送给解码器
②普通CU:可以采用帧内预测帧间预测两种方式进行预测,然后对残差数据以及附加的控制信息进行编码

视频序列的分辨率必须是mininum CU size的整数倍,但可以不是 CTU size的整数倍。

编码单元是否继续被划分取决于分割标志位 Split flag。对于编码单元CUa,假设它的大小为2N×2N,深度为d。如果它对应的 Split flag值为0,则CU不再进行四叉树划分;反之,CU4将会被划分为4个独立的编码单元CU1。编码单元CUa1的深度和大小分别变为d+1和N×N。

H.265/HEVC预测编码及CTU、CU、PU、TU学习笔记_第7张图片

(3)预测单元(PU)

包含一个PB_luma、2个PB_choma和相应的语法元素syntax element组成。
一个编码单元(CU)可以根据预测模式的切割类型(Splitting Type)分割成一个、两个或是四个预测单元(Prediction Units, PUs)。

帧内编码的CU只能使用2N×2N或N×N的平方划分,NxN模式只有对mininum size CB可以使用。

帧间编码的CU可以使用平方和非对称的方式划分。

PU只能被分割一次(预测单元不能再往下分,它已经是最小的单元,没有预测子单元)

8种PU划分模式:

H.265/HEVC预测编码及CTU、CU、PU、TU学习笔记_第8张图片

对于AMP模式,只有32x32和16x16的CU可以使用,8x8和64x64的CU不能使用

如果一个CU的prediction mode是Skip,那么PU的划分模式只能是2N x 2N。

A.亮度模式的编码:

包含35种预测模式

①0:Planar模式
②1:DC模式
③2~34:33种角度模式

首先建立一个帧内预测模式候选列表candModelList,表中包含三个最可能候选预测模式,用于存储相邻PU的预测模式,下图是相邻PU位置图

H.265/HEVC预测编码及CTU、CU、PU、TU学习笔记_第9张图片

设A的预测模式为ModeA,B的预测模式为ModeB,candModelList具体建立过程不阐述,当candModelList建立完毕后,利用该列表对当前PU模式信息进行编码

假设为S={M1,M2,M3}

  • 如果在S中,则需要2bit编码预测模式在S中的索引,
  • 否则需要5bit编码预测模式在另外32种模式中的索引。

B.色度模式的编码:

包含5种预测模式:
①0:Planar模式(100)
②1:垂直模式(角度模式26)(101)
③2:水平模式(角度模式10)(110)
④3:DC模式(111)
⑤4:对应亮度分量模式(0)

C.相关语法元素:
H.265/HEVC预测编码及CTU、CU、PU、TU学习笔记_第10张图片

(4)转换单元(TU)

主要做整数转换或量化,是变换和量化的基本单元

编码单元CU可以只由一个转换单元或是由许多个较小的转换单元所组成,但转换单元与预测单元不同,转换单元可以递回地往下继续分割,用四叉树的方式存储。

PU可以以四叉树的形式划分TU,同一个PU内所有的TU共享同一种预测模式。

下图是编码单元与转换单元的关系,实线为编码单元,虚线为转换单元
H.265/HEVC预测编码及CTU、CU、PU、TU学习笔记_第11张图片
转换单元TU的编码树CT可以称为转换树(Transform Tree)或是残量四分树(Residual Quadtree, RQT)

CU划分成TU中,TU的大小范围取决于max TU size、min TU size和max TU depth三个参数决定,这三个参数在SPS level进行传输。

  • max TU size为5表示最大TU是32x32,

  • min TU size为2表示最小TU是4x4。

  • max depth为3表示CU划分成TU最多划分成3层。

    在帧内预测中,要确保PU大于等于TU,在帧间预测中没有限制。

你可能感兴趣的:(视频编解码)