转载,原文地址:http://blog.csdn.net/minbiao880224/article/details/17685935,结合我的第一篇HM编码的使用,自己完全可以理解他的MATLAB代码和打印思路,作者原文中给了5张,其实有多少帧最后会出来多少个CU划分图。

相比于H.264,HEVC中特别采用了Coding Unit(CU)的概念。为了查看编码过程中, LCU的最终划分,因此简单做了一个LCU分割划分的查看的代码。虽然做得比较粗糙,但是勉强能用。因为Matlab进行图片显示和操作比较容易,这里用了Matlab。

1、首先,在HEVC的测试代码HM中的函数,加入一段代码,讲LCU划分的信息保存下来。在Void TEncCu::compressCU( TComDataCU*& rpcCU ) 函数中加入

{

.........

xCompressCU( m_ppcBestCU[0], m_ppcTempCU[0], 0 );

//  Add the code from here

ofstream DepthInfo;

TComDataCU* DepthCU = m_ppcBestCU[0];
  DepthInfo.open("BestDepth.txt", ios::app);
  
  for(UInt iPartitionNum = 0; iPartitionNum < DepthCU->getTotalNumPart(); iPartitionNum++)
  {
 DepthInfo << DepthCU->getDepth()[iPartitionNum];
  }

DepthInfo.close();

}

当运行完HM代码后,就会产生 BestDepth.txt文件。

2、讲BestDepth.txt文件 拷贝到 Matlab的工作目录下, 从以下链接中下载Matlab代码:

http://download.csdn.net/detail/minbiao880224/6789725

Matlab代码其实是一个这样的函数:

function LCU_View(YUV_FileName, LCU_FileName, Width, Height, NumFrame)

YUV_FileName : 为测试序列YUV的路径和文件名,

LCU_FileName: 为BestDepth.txt文件的路径和文件名,

Width                   : 为测试序列的Width

Height                 : 为测试序列的Height

NumFrame        : 为测试的帧数

这里,给出本人做的一个例子:

HEVC中打印CU划分相关推荐

  1. HEVC最优CU划分确定的过程

    HEVC中CU有64x64,32x32,16x16,8x8四种,对于一个大的LCU,应该如何划分CU才能使得RDCo最小,我们知道HM中是采用遍历递归的形式进行计算的,但是具体的流程又是怎么样的? 1 ...

  2. vtm编码划分_VTM代码学习(1)CU划分

    新人上路,请多多指教.  一直想写博客,今天才开始写第一篇. --------------------------------------------------------------------- ...

  3. VVC学习之二:VTM中CU划分结构QTMTT(3):打印QTMTT最终划分

    介绍完QTMTT在VTM中的实现,相信很多人包括我也对QTMTT的最终划分结果很感兴趣,于是我尝试将最终的划分结果进行可视化显示. 在xCompressCU中,将对CTU进行递归划分,用RDcost选 ...

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

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

  5. HEVC编码块CU递归划分

    在HEVC中CU的大小包括:64x64.32x32.16x16.8x8.对于一个LCU(最大的CU64x64)可以向下深度为4的划分为子CU,深度为0代表LCU不划分(大小为64x64).深度为1代表 ...

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

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

  7. 浅谈HEVC中的CTU CU PU TU

    从今天开始会陆续写一些对HEVC的认识的文章,小弟初来乍到,希望大家能够多多指点. 这两天看了block partitioning structure in the HEVC standard这篇论文 ...

  8. HEVC中的Merge Mode——x265代码getInterMergeCandidates()函数解析

    HEVC中的mv预测技术主要分为两种:AMVP mode 和Merge mode,这里就主要来聊聊Merge mode. 由于很多时候当前的编码CU与相邻已经完成编码的CU具有相同的mv,因此从相邻的 ...

  9. VVC中对CU进行分类,同时进行分区模式选择

    在VVC中,对CU进行简单.普通和复杂块的分类,并进行水平.垂直划分模式选择或者直接跳过. 文章目录 引言 介绍 基于纹理特征的快速算法 1.自适应EPD 2.基于方向特征的多类型树的方向决策 不足 ...

最新文章

  1. 【踩坑之路】CentOS 下 LNMN 环境配置
  2. 搭建多语言外文网站需要注意三个细节问题
  3. WeChat的catchtap与bindtap的区别:b(ubble)开头的方法会进行冒泡 形象理解:bind会有涟漪 以圈扩散 catch不会只会影响自己
  4. jdbc mysql 远程数据库_jdbc 连接远程mysql数据库的有关问题
  5. php getid3,PHP getID3类的使用方法学习笔记【附getID3源码下载】
  6. 用Jquery实现选项卡功能
  7. 外卖和快递行业数据_外卖和快递骑手管理“上轨道”
  8. 获得进程id_浅谈python中的多线程和多进程(二)
  9. js的if(!myFunction())有何用
  10. 在Linux 安装Python3.5.6详细文档!!!!
  11. (译)如何制作一个类似tiny wings的游戏:第二部分(完) - 子龙山人 ...
  12. hexo d错误:fatal: unable to auto-detect email address
  13. cisco privilege权限
  14. 同步发电机 有功功率 无功功率调节
  15. chrome浏览器 在线打开预览pdf文件,而不是下载文件。
  16. 2020年Apple的UWB技术产品资料整理
  17. hwd分别是长宽高_长宽高是什么意思
  18. A Deep Learning-Based Remaining Useful Life Prediction Approach for Bearings 基于深度学习的轴承剩余寿命预测
  19. 使用topGO进行GO富集分析
  20. 深度学习与自然语言处理实验——中文信息熵的计算

热门文章

  1. Unity倒计时动画
  2. android dialog设置背景图片,如何为Dialog设置背景图片?
  3. 泥瓦匠:秒杀架构设计实践思路(一)
  4. 网页无法与服务器建立安全连接失败,“发生了SSL错误,无法与服务器建立安全连接。”...
  5. 再放宽!这些应届生,可直接落户上海
  6. 硬件设计4---什么是电感、磁珠?
  7. Block.one的EOS区块链入门开发教程Elemental Battles
  8. 2020软件工程专硕考研经验指导
  9. 请编写一个程序,输入一个由小写字母和其他字符构成的序列字符串保存在tt中,统计“a”到“z”26个字母各自出现的次数,并依次保存在pp数组中,并输出pp数组内容。
  10. nginx中配置不输入端口(指定地址)访问项目的方法