HEVC之tiles、slice、slice segment、CU、PU、TU分析
(一)
(1) 编码树单元(CTU)和编码树块(CTB)结构:
在之前的标准中,编码层的核心是宏块,一个宏块包含一个16×16的亮度块,以及对于常用的4:2:0采样格式来说还包含两个8×8的色度块;而在HEVC中类似的结构为编码树单元(CTU),其尺寸由编码器进行指定且可以比传统的宏块大。一个CTU包含一个亮度CTB和两个对应的色度CTB及句法元素。一个L×L的亮度CTB的L可以设置为16,32或者64。一般来说,L越大,可以获得越好的压缩性能。HEVC支持使用树结构和类四叉树的标志来将CTB划分成更小的块。
(2) 编码单元(CU)和编码块(CB):
CTU的四叉树句法指定了它所属的亮度和色度CB的尺寸和位置。四叉树的根与CTU相关联。因此,亮度CB的最大尺寸为其所属的亮度CTB的尺寸。对于一个CTU来说,其亮度CB和色度CB的划分标志都是使用的同一个。一个亮度CB通常和两个色度CB及它们相关的句法共同组成一个编码单元(CU)。一个CTB可能只包含一个CU,也可能被划分成多个CU,每个CU包含着与之相关联的预测单元(PU)和变换单元(TU)。
(3) 预测单元(PU)和预测块(PB):
决定一个图像区域是以帧间还是帧内方式进行预测是在CU层进行的。一个PU划分结构的根在CU层。根据基本的预测类型,亮度CB和色度CB可以继续进行划分并利用其它的亮度PB和色度PB进行预测。HEVC支持多种PB尺寸,最大为64×64到最小4×4。
(4) 变换单元(TU)和变换块(TB):
预测残差以块变换的方式进行编码。一个变换单元树结构的根在CU层。亮度CB残差的尺寸可能与亮度变换块TB的尺寸相等,也可能会被划分成更小的亮度TB。色度CB的情况也是一样的。定义了与离散余弦变换(DCT)类似的整数变换的基本函数提供给尺寸为4×4,8×8,16×16,32×32的TB。对于尺寸为4×4且残差由帧内预测得到的TB来说,一种以离散正弦变换(DST)为基础的整数变换可供采用。
(二)!!!
HEVC中的图像的分块分割方法
1、条带与区块
在HEVC的视频编解码过程中,一帧图像会被分割成条带(slice),条带片段(slice segment)和区块(tiles)进行处理。条带和区块都是可采取的独立分割形式之一。而条带则是由条带片段组成的元素,包括独立条带元素和依赖性条带元素两类。
上图即为一帧图像分割成条带的示意图。在该图中,该帧图像被分割成两个条带,其中第一个条带包含一个独立条带片段(包含4个树形编码单元CTU)和两个依赖条带片段;第二个条带包含一个独立条带片段。
区块是另一种区域分割方法,某个区块必须为矩形,由整数个CTU组成。对于条带和区块,或者所有同一个条带的CTU均属于一个区块(tiles),或者同属于一个区块的CTU均属于一个条带;类似的,或者同属于一个条带片段的CTU需属于一个区块,或者同属于一个区块的CTU必须属于同一个条带片段。下图是某一帧分割成左右两个区块的示例图,分别表示整帧图像仅包含一个条带,以及每个区块分别包含多个条带的情况。
2、块与四叉树结构
树形编码块(Coding Tree Blocks, CTBs)是一帧中像素组织的基本结构。亮度CTB的边长、色度CTB的长和宽分别由参数CtbSizeY、CtbWidthC和CtbHeightC指定。对于每个CTB,都有一个块分割标识,用来表示预测和变换编码块的大小。分割从根(CTB)开始,进行四叉树分割,直至到达叶子节点(CB)。而CB又是预测树(Prediction tree)和变换树(Transform tree)的根节点,这两个树分别表示预测块和变换块的位置大小。
像素块和相应语法元素的封装格式可能有如下情况:
(1)三个预测块(亮度和色度)或者单一一个预测块(单色图像或separate_colour_plane_flag为1,也就是三个分量当做三个独立图像分别编码),与相应的语法结构组成一个预测单元Prediction unit(PU);
(2)一个或三个变换快(情况与以上类似),与相应的语法结构组成一个变换单元Transform unit(TU);
(3)一个或三个编码块CB,与相应的语法元素组成为一个编码单元coding unit(CU);
(4)一个或三个树形编码块与相应的语法元素组成一个树形编码单元coding tree unit(CTU)
(三)HEVC的条带头解析
HEVC之tiles、slice、slice segment、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 ...
- 每一步详细介绍—在HM中进行CU PU TU划分以及PU最佳预测模式选择
CU PU TU划分以及PU最佳预测模式选择 在HM对CU进行划分(CU模式判别).PU模式选择(划分).以及PU预测模式划分的过程总算有点理解,现对整个过程进行详细介绍. HM进行块划分和模式选择主 ...
- 浅谈HEVC中的CTU CU PU TU
从今天开始会陆续写一些对HEVC的认识的文章,小弟初来乍到,希望大家能够多多指点. 这两天看了block partitioning structure in the HEVC standard这篇论文 ...
- HEVC 片与片段(Slice 和Slice Segment)说明
HEVC 片与片段(Slice 和Slice Segment)说明 一幅图像可以被分割为一个或多个片(Slice),每个片的压缩数据都是独立的,Slice头信息无法通过前一个Slice的头信息推断得到 ...
- HEVC编码结构:Slice和Tile
1.Slice片段层 一幅图像可以被划分为一个或多个片或称为条带(Slice),每个片的数据编码都是独立的. 如下图,一幅图像被划分为N个Slice,Slice成条带形.在编码时,每一个Slice中的 ...
- HEVC里面CU与TU打印到屏幕及提取到txt文本
测试模型为HM16.5 在解决方案资源管理器里面找到项目TlibEncoder,会看到里面有个源文件TencCU.cpp (1)打印到屏幕 (在TencCU.cpp的xCompressCU函数(237 ...
- HEVC 常用之 CU、PU、TU分析
本文以下部分为翻译G. J. Sullivan, J.-R. Ohm, W.-J. Han, and T. Wiegand, "Overview of the High Efficiency ...
- HM中CU,TU的划分
转载于这位大神的博客,为了更方便的学习:http://blog.csdn.net/hevc_cjl/article/details/9839331 相信只要是做算法改进的,首先都会遇到这么一个问题:C ...
最新文章
- 如何根据用户权限屏蔽或显示SAP的订单中的成本显示
- Ubuntu无法ping通外网可以ping通内网
- linux文件共享加锁,Linux共享数据管理——文件锁定
- 常见职位的英文简称_想进外企?英文简历少不了,看这里,教你英文简历的形式和技巧...
- Recurrent Neural Network(3):LSTM Basics and 《Inside Out》
- 在没有创建Provision Profile权限的情况下 发布Enterprise inhouse app 的方法
- 老李分享:Android性能优化之内存泄漏3
- 访问网站时出现Service Unavailable的解决方法
- 古诗词html模板,田圆格古诗词书法模板
- windows下基于selenium保存网页为图片
- GEOS库一些自己的见解和注意点
- Labview编程模式
- 在番看付费美女直播,不想花钱,我这样做了!
- myeclipse安装pydev实现python开发
- 量子物理史话 第三章 火流星
- TL-WR886N密码JS加密
- Triangle Fun UVA - 11437(一个数学定理 + 三角形求面积)
- [原]OpenGL基础教程(二)多边形绘制
- 计算机科学研究进展,理论计算研究获进展
- 高鹏清华计算机系,丁高鹏:强身健体为祖国健康工作五十年-清华大学新闻网...