从今天开始会陆续写一些对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相关推荐

  1. HEVC标准中的图像分割(2),slice,tile,CTU,CU,PU,TU等

    接着来说HEVC的图像分割. HEVC的标准中有这么一段话,翻译过来就是: 图像分成分量(Y,Cb,Cr). 分量分成coding tree blocks 图像分成tile列 图像分成tile行 Ti ...

  2. HEVC区域划分Slice Tile CTU CU PU TU

    Slice Slice是可以不依赖同一张图片其他Slice独立编码的数据结构,包括信号预测.残差信号重建和熵编码.一张图片可以分为一个活多个Slice.Slice包含一个或多个Slice segmen ...

  3. 【转载/翻译】HEVC中的CTU、CU、CTB、CB、PB和TB分别是什么

    这篇文章转载于HEVC中的CTU.CU.CTB.CB.PB和TB分别是什么_gaishi_hero的博客-CSDN博客_cu 和cb,写得很好,所以翻译一下. 看到一篇文章解释CTU.CU.CTB.C ...

  4. 每一步详细介绍—在HM中进行CU PU TU划分以及PU最佳预测模式选择

    CU PU TU划分以及PU最佳预测模式选择 在HM对CU进行划分(CU模式判别).PU模式选择(划分).以及PU预测模式划分的过程总算有点理解,现对整个过程进行详细介绍. HM进行块划分和模式选择主 ...

  5. java 中的单元测试_浅谈Java 中的单元测试

    单元测试编写 Junit 单元测试框架 对于Java语言而言,其单元测试框架,有Junit和TestNG这两种, 下面是一个典型的JUnit测试类的结构 package com.example.dem ...

  6. mybatis与php,浅谈mybatis中的#和$的区别

    浅谈mybatis中的#和$的区别 发布于 2016-07-30 11:14:47 | 236 次阅读 | 评论: 0 | 来源: 网友投递 MyBatis 基于Java的持久层框架MyBatis 本 ...

  7. 浅谈CSS3中display属性的Flex布局,关于登陆页面属性框的设置

    声明:本文转发自三里屯柯南的浅谈CSS3中display属性的Flex布局http://www.cnblogs.com/xuyuntao/articles/6391728.html 基本概念 采用Fl ...

  8. python sys模块作用_浅谈Python中的模块

    模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python中,一个.py文件就称之为一个模块(Mod ...

  9. python生成器和迭代器作用_浅谈Python中的生成器和迭代器

    迭代器 迭代器协议 对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么返回一个异常来终止本次迭代.(只能往前走,不能往后退!) 迭代器对象 遵循了(实现了)迭代器协议的对象.(对象内 ...

最新文章

  1. 手机网页css字体,CSS深入浅出-动态REM(手机专用)
  2. 从终端运行React Native App时出错(iOS)
  3. 每日一皮:这翻译...真辛苦老外看纪录片纯靠脑补 ...
  4. RIP 注意事项、学习要点及其总结
  5. 六款小巧的HTTP Server
  6. Monitor 监测CPU与内存
  7. python随机抽取人名_python实现艾宾浩斯背单词功能,实现自动提取单词、邮件发送,再也不用担心背单词啦...
  8. 字符设备驱动高级篇5——静态映射表、动态映射结构体方式操作寄存器
  9. 《统计学习方法》读书笔记——机器学习常用评价指标
  10. [tensorflow]tensorflw2.1.0张量和变量介绍
  11. 三省2:hadoop是什么鬼1
  12. VScode设置中文界面
  13. 下载新浪股票历史数据
  14. matlab mac 更改语言,MAC让Matlab编辑器显示中文的方法
  15. 目标检测+双目测距——基于yolov5
  16. Win10系统下安装Ubuntu系统(双系统)
  17. 康考迪亚计算机科学硕士,康考迪亚大学专业
  18. This Week in Spring - July 15, 2013
  19. Luckysheet 导入导出 - Java后台处理和js前端实现
  20. Qt键盘事件(二)——长按按键反复触发event事件问题解决

热门文章

  1. Unity 3D 入门基础
  2. Time类中的运算符重载
  3. uname 命令如何实现?
  4. EXCELt添加单引号
  5. softlayer iso_在SoftLayer服务器上使用图形界面
  6. 基于Java的图书馆管理系统
  7. 软件测试面试总被拒怎么办?表姐把压箱底的面试秘籍交给了我,现在已经在上班了。
  8. 梁昌勇 软件工程_合肥工业大学管理学院_梁昌勇
  9. 跟CEO、CSO们一起来上保险科技精品课:众安在线、泛华金控...30家标杆企业案例8小时深度闭门研讨...
  10. 联想服务器云操作系统,联想服务器u盘启动