浅谈HEVC中的CTU CU PU TU
从今天开始会陆续写一些对HEVC的认识的文章,小弟初来乍到,希望大家能够多多指点。
这两天看了block partitioning structure in the HEVC standard这篇论文,初步对各种单元有了大概的认识,希望大家多多指教。
一帧视频图像由多个或一个slice组成,而一个slice又可以被分割为多个CTU(编码树单元)结构,在HEVC中,CTU的尺寸大小为:8x8~64x64,,而之前的h.264标准支持的最大块是16x16尺寸的,在CTU里,一个四叉树被建立,CTU的每一个叶节点被称为一个CU。
CU:CTU进一步分割为多个CU,一个四叉树被用于将CTU分为多个CU,让CTU的尺寸为2Nx2N,N为32,16或8。CTU可以是一个CU或被分为4个单元(必须满足分割完的尺寸大雨最小的CU尺寸),CU的最小尺寸一般是8x8。实验表明编码效率取决于CTU的尺寸大小和分割深度,尺寸越大,分割深度越大,编码效率越高,因为涉及到现在使用的视频都是高分辨率的视频。
上图8x8表示深度为4,从64x64的单元开始分割,最后分割到8x8单元的cu叶节点。
PU:一个CU单元可以被分裂为1个,2个或4个PU,HEVC为帧内编码CU提供了两种分裂方式,为帧间编码CU单元提供了8种分裂方式。CU有三种类别:跳跃CU(是帧间编码的特殊形式,即运动向量和残差值均为0),帧间编码CU,帧内编码CU。我们指定CU的尺寸为2Nx2N,则跳跃CU只能分裂为2Nx2N的PU,帧内编码CU有两种分裂类型:2Nx2N,NxN,帧间编码单元CU分为2Nx2N,NxN,2NxN,Nx2N,2NxnN,2NxnD,nLx2N,nRx2N。所有与预测模式相关的信息被指定在一个PU单元上,色度块分割与亮度块分割模式一样,但是根据CU尺寸的限制,当CU为最小尺寸的时候,色度块并不能进行NxN分割,只能进行2Nx2N分割。
TU:是一个具有残差值与变换系数的块,主要用于整数变换和量化,获得预测之后的残差值后进行量化,发送给解码器。
残差树:将残差块分为多个TUs,每个TU都进行整数变换,得到的称为RQT或transform tree。
浅谈HEVC中的CTU CU PU TU相关推荐
- HEVC标准中的图像分割(2),slice,tile,CTU,CU,PU,TU等
接着来说HEVC的图像分割. HEVC的标准中有这么一段话,翻译过来就是: 图像分成分量(Y,Cb,Cr). 分量分成coding tree blocks 图像分成tile列 图像分成tile行 Ti ...
- HEVC区域划分Slice Tile CTU CU PU TU
Slice Slice是可以不依赖同一张图片其他Slice独立编码的数据结构,包括信号预测.残差信号重建和熵编码.一张图片可以分为一个活多个Slice.Slice包含一个或多个Slice segmen ...
- 【转载/翻译】HEVC中的CTU、CU、CTB、CB、PB和TB分别是什么
这篇文章转载于HEVC中的CTU.CU.CTB.CB.PB和TB分别是什么_gaishi_hero的博客-CSDN博客_cu 和cb,写得很好,所以翻译一下. 看到一篇文章解释CTU.CU.CTB.C ...
- 每一步详细介绍—在HM中进行CU PU TU划分以及PU最佳预测模式选择
CU PU TU划分以及PU最佳预测模式选择 在HM对CU进行划分(CU模式判别).PU模式选择(划分).以及PU预测模式划分的过程总算有点理解,现对整个过程进行详细介绍. HM进行块划分和模式选择主 ...
- java 中的单元测试_浅谈Java 中的单元测试
单元测试编写 Junit 单元测试框架 对于Java语言而言,其单元测试框架,有Junit和TestNG这两种, 下面是一个典型的JUnit测试类的结构 package com.example.dem ...
- mybatis与php,浅谈mybatis中的#和$的区别
浅谈mybatis中的#和$的区别 发布于 2016-07-30 11:14:47 | 236 次阅读 | 评论: 0 | 来源: 网友投递 MyBatis 基于Java的持久层框架MyBatis 本 ...
- 浅谈CSS3中display属性的Flex布局,关于登陆页面属性框的设置
声明:本文转发自三里屯柯南的浅谈CSS3中display属性的Flex布局http://www.cnblogs.com/xuyuntao/articles/6391728.html 基本概念 采用Fl ...
- python sys模块作用_浅谈Python中的模块
模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python中,一个.py文件就称之为一个模块(Mod ...
- python生成器和迭代器作用_浅谈Python中的生成器和迭代器
迭代器 迭代器协议 对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么返回一个异常来终止本次迭代.(只能往前走,不能往后退!) 迭代器对象 遵循了(实现了)迭代器协议的对象.(对象内 ...
最新文章
- 手机网页css字体,CSS深入浅出-动态REM(手机专用)
- 从终端运行React Native App时出错(iOS)
- 每日一皮:这翻译...真辛苦老外看纪录片纯靠脑补 ...
- RIP 注意事项、学习要点及其总结
- 六款小巧的HTTP Server
- Monitor 监测CPU与内存
- python随机抽取人名_python实现艾宾浩斯背单词功能,实现自动提取单词、邮件发送,再也不用担心背单词啦...
- 字符设备驱动高级篇5——静态映射表、动态映射结构体方式操作寄存器
- 《统计学习方法》读书笔记——机器学习常用评价指标
- [tensorflow]tensorflw2.1.0张量和变量介绍
- 三省2:hadoop是什么鬼1
- VScode设置中文界面
- 下载新浪股票历史数据
- matlab mac 更改语言,MAC让Matlab编辑器显示中文的方法
- 目标检测+双目测距——基于yolov5
- Win10系统下安装Ubuntu系统(双系统)
- 康考迪亚计算机科学硕士,康考迪亚大学专业
- This Week in Spring - July 15, 2013
- Luckysheet 导入导出 - Java后台处理和js前端实现
- Qt键盘事件(二)——长按按键反复触发event事件问题解决
热门文章
- Unity 3D 入门基础
- Time类中的运算符重载
- uname 命令如何实现?
- EXCELt添加单引号
- softlayer iso_在SoftLayer服务器上使用图形界面
- 基于Java的图书馆管理系统
- 软件测试面试总被拒怎么办?表姐把压箱底的面试秘籍交给了我,现在已经在上班了。
- 梁昌勇 软件工程_合肥工业大学管理学院_梁昌勇
- 跟CEO、CSO们一起来上保险科技精品课:众安在线、泛华金控...30家标杆企业案例8小时深度闭门研讨...
- 联想服务器云操作系统,联想服务器u盘启动