hevc 编码单元划分

41 篇文章 5 订阅

一 树形编码块

    传统的视频编码都是基于宏块实现的,对于4:2:0采样格式的视频,一个宏块包含一个16x16大小的亮度块和两个8x8大小的色度块,考虑到高清视频/超高清视频的自身特性,H.265/HEVC标准中引入了树形编码单元CTU,其尺寸由编码器指定,而且大于宏块尺寸。同一位置处的一个亮度CTB和两个色度CTB,再加上相应的语法元素形成一个CTU。对于一个大小为LxL的亮度CTB,L的取值可以是16,32或者64.在高分辨率视频的编码中,使用较大的CTB可以获得更好的压缩性能。

为了灵活,高效的表示视频场景中不同的纹理细节,运动变化的视频内容或者视频对象。H265/HEVC为图像划分定义了一套全新的语法单元,包括编码单元CU,预测单元Prediction Unit和变换单元TU,其中编码单元是进行预测,变换,量化的熵编码等处理的基本单元,预测单元是进行帧内/帧间预测的基本单元。变换单元是进行变换和量化的基本单元,这三个单元的分离,不仅仅使得变换,预测和编码各个处理环节更加灵活,也使得各个环节的划分更加符合视频图像的纹理特征,保证编码性能的最优化。

二 编码单元

    近年来标清和高清视频产业得到了蓬勃发展,大尺寸图像的一个特点就是平坦区域的面积更大,用较大的块进行编码能够极大的提升编码效率。在H264/AVC中,编码块Coding block的大小是固定的,而在H265/HEVC中,一个CTB可以直接作为一个CB,也可以进一步以四叉树的形式划分为多个小的CB,所以H265 /HEVC中CB的大小是可变的,亮度CB最大为64x64,最小为8x8, 一方面大的CB可以使得平缓区域的编码效率大大提高,另一方面小的CB能很好的处理图像局部的细节,从而可以使复杂图像的预测更加准确,一个亮度CB和相应的速度CB以及它们的相关的句法元素共同组成一个编码单元CU,在H265/HEVC中,一幅图像可以被划分为若干个不重叠的CTU,在CTU内部,采用基本四叉树的循环分层结构,同一层次上的编码单元具有相同的分割深度,一个CTU可能只包干一个CU,也可能呗划分为多个CU,图3.7是一幅图像划分为CTU以及一个CTU划分为CU示意图。

 

CTU0

CTU1

CTU2

CTU3

CTU4

CTU5

CTU6

CTU7

CTU8

CTU9

CTU10

CTU11

CTU12

CTU13

CTU14

CTU15

CTU16

CTU17

 

编码单元是否继续划分取决于分割标志位Split flag。对于编码单元CU,假设它的大小位2Nx2N,深度位d,如果它对应的Split flag值位0, 则CUd不再进行四叉树划分,反之,CUd将会被划分为4个独立的编码单元CUd+1。编码单元CUd + 1的深度和大小分别为d + 1和NxN.图示方法与H264 AVC中的宏块划分方法相比有以下优点。

(1)编码单元的大小可以大雨传统的宏块大小,对于平坦区域,用一个较大的编码单元可以减少所用的比特数,提高编码效率。这一点在高清视频领域体现尤为明显。

(2)通过河里的选择CTU大小和最大层次深度,编码器的编码结构可以根据不同的图片内容,图片大小以及应用需求获得较大成都的优化。

(3)所有单元类型都统统叫做编码单元,消除了宏块与亚宏块之分,并且编码单元的结构可以根据CTU大小,最大编码深度以及一系列划分标志SplitFlag简单的表示出来。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值