HEVC学习(十二) —— CU的最终划分
时间: 2023-11-19 12:07:09 浏览: 60
嗨!对于HEVC中CU(Coding Unit)的最终划分,可以简单地描述为以下几个步骤:
1. CTU划分:首先,图像被划分为一系列的Coding Tree Units(CTUs)。CTU是最大的编码单元,其大小为64x64、32x32或16x16像素。
2. PU划分:在每个CTU内部,进行PU(Prediction Unit)的划分。PU是用于预测的最小单元,可以是正方形或矩形,并且可以具有不同的大小和位置。
3. TU划分:在PU内部,进行TU(Transform Unit)的划分。TU是用于变换和量化的最小单元,也可以是正方形或矩形,并且可以具有不同的大小。
4. 最终CU划分:最后,在每个PU内部,进行CU的最终划分。CU是用于编码的最小单元,可以是正方形或矩形,并且可以具有不同的大小和位置。在最终CU划分时,会考虑到图像中的边界约束和编码效率。
需要注意的是,CU的最终划分是根据编码效率和图像内容来确定的。HEVC使用了一系列算法和决策规则来进行CU的最终划分,以达到更好的压缩效果和视觉质量。
相关问题
HEVC compressslice
compressSlice是HEVC(高效视频编码)中的一个功能,主要用于初始化Slice层的编码参数。在compressSlice中,会调用compressCtu函数对CU(Coding Unit,编码单元)进行划分,并调用encodeCtu函数对CU进行编码。compressSlice的目的是进行码率控制,以该Slice下每个LCU(Large Coding Unit,大编码单元)进行控制。
HEVC transformNxN
HEVC中的transformNxN函数是一种用于变换的函数。在编码过程中,帧内和帧间都会调用这个函数来进行变换操作。transformNxN函数是HEVC中的一种重要函数,它调用了其他几个关键函数来完成变换的不同步骤和模式。
其中一些重要的被调用的函数包括:
- rdpcmNxN:这个函数是用于残差PCM处理的,它利用周围临近残差值来预测当前残差。
- xTransformSkip:这个函数是用于TransformSkip模式的,实现了跳过变换的功能。
- xT:这个函数是前向变换的入口函数,用于进行普通的变换操作。
- xQuant:这个函数是对变换后的系数进行量化的。
transformNxN函数的工作流程一般如下:
1. 先进行残差的PCM处理,利用周围临近残差值来预测当前残差。
2. 检测是否为Trans-quant-bypass模式,如果是,则直接使用PCM处理后得到的残差。
3. 如果Transform skip flag为真,就调用xTransformSkip函数来实现TransformSkip模式,否则执行下一步。
4. 最后,调用xT函数来进行普通的变换和量化操作。
以上就是HEVC中transformNxN函数的基本介绍和工作流程。