HEVC学习笔记(三)图像的划分

作为HEVC编码器,拿到视频图像的第一件事情就是图像的划分。一个完整的视频由若干个静止的图像组成,首先将视频分为一个个GOPs,然后GOP向下划分为SS、slice(帧),接着向下划分为CTU(树形单元结构)。HEVC引入了四叉树形结构单元的概念,也就是说一个CTU可以接着划分为CU,CU再向下划分为PU、TU。

率失真优化

率失真优化贯穿整个编码的过程,它更像是一个阀门或者是if判断条件。只有通过比较率失真代价,编码器才会确定,图像该如何正确划分、MV的最终确定以及之后的MVD计算等等。率失真优化并不是一个新概念,很早之前就有,只不过现在还在应用,网上有很多关于率失真优化(与信息论有关)的资料。在这里,只谈率失真在HEVC中的应用。
NB_vol_1大神介绍:率失真优化在HEVC中很重要
岳麓吹雪大神:率失真优化的计算
上面两位博主深入浅出的讲述了率失真优化,实际上其是一个信息论的概念,看懂它需要一点点信息论的基础。初学者不必纠结于细节上,先搞懂这个概念,再次学习时深化。

编码的结构

举几个例子:(Elecard HEVC Analyzer真是个好用的软件。)

这是CU的划分,整个图像是一个slice,橙色块是一个CTU(HM默认64*64),CTU向下划分CU
CU这是intra的划分,紫色的线表示划分的方向,黄色的数字也表示划分的方向对应的数字
在这里插入图片描述在这里插入图片描述这是inter的划分,红色的箭头代表MV的方向,因为MV是一个矢量,水平分量向右表示为正,向左表示为负,垂直分量向下表示为正,向上表示为负。
inter这是TU的划分,TU的划分和PU沒联系,一个CU可以向下划分为多个TU,但一个TU只能对应一个CU。
TU言归正传,树形编码块的划分使得HEVC比AVC更加的灵活、性能更优,也增加了压缩和解码的复杂度,用过HM编解码器就明白了。

灵活的CU划分能够使得编码器合理的选择划分的大小和深度,减少压缩的比特数,提高编码效率。CU是存储信息的基本单位,PU和TU都是寄生于CU之中。
CU0
PU是预测信息的存放单元,运动矢量MV等信息。其划分方式如下
PU0
TU是变换编码信息的存放单元,DCT\DST系数等。其划分方式如下
TU0
在编码过程中还存在有档次、层和级别,和tile等信息,还存在有视频参数集SPS\序列参数集VPS\图像参数集PPS,有空在写,这里只是简单的说一下CTU的划分。
本来是想2月份就将这些写完的,结果明日复明日,一直拖到了现在啊,时间这个东西,真的是不等我啊!

猜你喜欢

转载自blog.csdn.net/qq_32642107/article/details/85948042