【HEVC】CTU,CU,PU,TU的划分
【不停积累,不停更新,欢迎交流】
HEVC比H.264的块划分方式更复杂,目的是提高压缩率。
1. CTU的划分
CTU的划分很好理解,因为CTU的尺寸是固定的,由编码器指定,包括:16*16,32*32和64*64。
2. CU的划分
CU的划分以CTU为基础。每个CU具有自己的分割深度,最大分割深度为3。CU的划分采用的是递归的四叉树,图解如下:
如果CTU为64*64,那么CU的尺寸为8*8到64*64。根据CTU的尺寸和CU的分割深度可以计算出CU的尺寸。
根据(CU相对于CTU的位置+CTU的位置)可以计算CU的位置。
以CU为单位的信息还包括:CU的预测模式(intra,inter,skip)和CU的划分方式(PU的划分,和TU的划分无关)。
3. PU的划分
每个CU有自己的划分方式,值得注意的是,不同的预测模式支持的划分方式也不同。
skip模式:没有残差。如果是P帧,有MV。
intra模式:PU包含帧内预测选择的模式
inter模式:PU包含MV和相应的RefIdx
4. TU的划分
和PU的划分不同。在PU划分过程中,一个CU仅选择一种划分方式,也只划分一次。
TU的划分同样以CU为基础,但采用递归四叉树的划分方式。TU的最大尺寸和最小尺寸由SPS参数决定,也和CU的尺寸相关。HEVC支持4*4到32*32的变换,因此对于尺寸为64*64的CU至少需要分割一次。
在I帧中,不允许TU跨越多个PU,但其他情况允许的。
对于intra 4*4的亮度TU,采用DST变换,其他情况采用DCT变换。
【HEVC】CTU,CU,PU,TU的划分相关推荐
- HEVC区域划分Slice Tile CTU CU PU TU
Slice Slice是可以不依赖同一张图片其他Slice独立编码的数据结构,包括信号预测.残差信号重建和熵编码.一张图片可以分为一个活多个Slice.Slice包含一个或多个Slice segmen ...
- HEVC标准中的图像分割(2),slice,tile,CTU,CU,PU,TU等
接着来说HEVC的图像分割. HEVC的标准中有这么一段话,翻译过来就是: 图像分成分量(Y,Cb,Cr). 分量分成coding tree blocks 图像分成tile列 图像分成tile行 Ti ...
- 浅谈HEVC中的CTU CU PU TU
从今天开始会陆续写一些对HEVC的认识的文章,小弟初来乍到,希望大家能够多多指点. 这两天看了block partitioning structure in the HEVC standard这篇论文 ...
- 每一步详细介绍—在HM中进行CU PU TU划分以及PU最佳预测模式选择
CU PU TU划分以及PU最佳预测模式选择 在HM对CU进行划分(CU模式判别).PU模式选择(划分).以及PU预测模式划分的过程总算有点理解,现对整个过程进行详细介绍. HM进行块划分和模式选择主 ...
- HEVC里面CU与TU打印到屏幕及提取到txt文本
测试模型为HM16.5 在解决方案资源管理器里面找到项目TlibEncoder,会看到里面有个源文件TencCU.cpp (1)打印到屏幕 (在TencCU.cpp的xCompressCU函数(237 ...
- HM中CU,TU的划分
转载于这位大神的博客,为了更方便的学习:http://blog.csdn.net/hevc_cjl/article/details/9839331 相信只要是做算法改进的,首先都会遇到这么一个问题:C ...
- HEVC预测块(PU)模式划分显示
转自:http://blog.csdn.net/pc__wang/article/details/27225443#L316 1. PU模式划分显示效果图 2. HEVC decoder 代码修改 该 ...
- 手淘H265编解码算法与工程优化
本文来自淘宝(中国)软件有限公司 高级算法专家 李晓波在LiveVideoStackCon 2018讲师热身分享,并由LiveVideoStack整理而成.在分享中李晓波详细解析了手淘在H.265高效 ...
- 手机淘宝H265编解码算法与工程优化
本文来自淘宝 高级算法专家 李晓波(篱悠)在LiveVideoStackCon 2018讲师热身分享,由LiveVideoStack整理而成.在分享中李晓波详细解析了手淘在H.265高效编解码器的实现 ...
- HEVC学习之CTU划分
一,CTU相关概念 H.265将图像划分为"树编码单元(coding tree units, CTU)",而不是像H.264那样的16×16的宏块.根据不同的编码设置,树编码块的尺 ...
最新文章
- 分布式事务开局第一篇,从数据库事务隔离级别说起
- 幸运 - 一种可以学习的简单技能
- python输出中文加数字_python处理“#”开头加数字的html字符方法
- loader.asm 注释
- CentOS 初体验十三:yum 安装 tomcat
- V神:区块链跨链技术大规模应用将在一到两年内爆发
- OpenGL中shader使用
- mysql 1054 42s22_MySQL ERROR 1054(42S22)
- RMAN备份与还原 - 参考案例
- springboot整合Apollo
- VUE实现输入完当前input后自动跳到下一个input
- PMP新考纲启用,如何判断是敏捷?第6版教材与第7版有什么区别?
- 使用CImageList的一点心得
- 支付宝-沙箱环境配置和使用
- Vue中调用LiverPlayer H5播放器实现萤石云视频监控
- matlab蒙特卡罗变量变换的分布,使用 copula 仿真相关随机变量
- 计算机组装硬件要求,组装电脑必懂的硬件知识,全是干货,教你选购硬件不求人...
- Python通过m3u8文件下载合并ts视频
- 如何快速学习一门计算机语言
- linux科学计算器_2个适用于Linux桌面的科学计算器