本文主要是介绍hevc CU PU TU,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1 编码单元CU
编码单元的作用与h264的宏块类似,但是h264采用的固定的16x16大小的宏块,而HEVC中则是采用的是灵活的四叉树结构,将CTU划分为更小尺寸的CU,当CTU的大小为64x64时,CU的划分深度就可以是0,1,2,3.对应的尺寸就是64x64 32x32 16x16 8x8,视频中的一帧首先被划分为相互独立的编码树单元CTU,如果一个CTU不再划分,那么它就由一个一个与CTU尺寸相同的CU组成,如果CTU被划分为更小的CU时效果更优,那么CU会被划分为更小的尺寸。
语法元素Split flag的取值可以标识CU是否继续划分,当一个CU的split flag取值为0时,表示CU没有进一步划分,相反则表示CU被划分成了更小的CU。
采用这种灵活的结构可以根据视频内容的特点自适应的选择CU的尺寸,特别是对于高清和超高清的视频来说,在较为平坦的区域使用较大的CU可以有效的提高视频编码性能。
2 预测单元PU
在HEVC中进行预测编码的基本单位是PU,与预测编码有关的信息都是在PU中定义的,包括帧内预测模式,帧间预测模式,运动矢量等信息,PU在CU的基础上进行了划分,每个CU都可以独立的选择PU的划分模式,hevc定义了8种PU在CU基础上的进行划分,
对于帧内预测编码的CU,其PU划分模式之可以是2Nx2N和NxN ,而对于帧件预测模式编码的CU,其PU可以是有8种模式,分别是2Nx2N 2NxN Nx2N NxN 2NxnU 2NxnD nLx2N nRx2N
其中,前面4种是对称划分方式,后面四种非对称,进行预测编码的时候,分别计算码率失真代价,选择代价最小的划分模式作为最优划分模式。 对于低复杂度的应用,可以用参数禁止非对称的划分方式。
3 变换单元TU
TU是变换和量化的基本单元,与CU划分类似,hevc中的TU也是采用四叉树结构进行划分的,此时四叉树的根节点是CU,另外TU的可选尺寸只有32x32 16x16 8x8和4x4,
TU是否划分成更小的TU语法元素split transform flag表示,当flag为0,则表示不划分,1 表示划分。大尺寸的CU有助于提高平坦区域或者简单运动区域的压缩性能,
小尺寸的CU可以保存更多的图像细节,编码器回自适应选择TUsize。
更小的TU会增加不少编码复杂度。
这篇关于hevc CU PU TU的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!