HM中CU,TU的划分
来源:互联网 发布:flac转wav软件 编辑:程序博客网 时间:2024/04/28 04:28
转载于这位大神的博客,为了更方便的学习:http://blog.csdn.net/hevc_cjl/article/details/9839331
相信只要是做算法改进的,首先都会遇到这么一个问题:CU,PU及TU这几个在HM中该如何打印出它们最终的划分情况呢?也经常有人来问我这个问题,一般来说,因为问我的时候我一般手头都没有现成的代码可以提供,另一方面,也没空把vs打开写上一段,所以只能是告诉他们大概的思路,其实我很早之前的一篇博客已经进行了介绍,只是当时没有把代码附上,后来也找不到了,就不了了之了。本文算是把这个遗憾给补上吧。直接附上代码,由于功能简单,就不注释了~
- printf("\n---------------CTU Address(Raster Scan): %d-----------------\n", pcCU->getAddr());
- printf("\n---------------CU starts--------------\n");
- int iCount = 0;
- int iWidthInPart = g_uiMaxCUWidth >> 2;
- for (int i = 0; i < pcCU->getTotalNumPart(); i++)
- {
- if ( (iCount & (iWidthInPart - 1)) == 0)
- printf("\n");
- printf("%d ", pcCU->getDepth(g_auiRasterToZscan[i]));
- iCount++;
- }
- printf("\n---------------CU ends--------------\n");
- printf("\n---------------TU starts--------------\n");
- iCount = 0;
- for (int i = 0; i < pcCU->getTotalNumPart(); i++)
- {
- if ( (iCount & (iWidthInPart - 1)) == 0)
- printf("\n");
- printf("%d ", pcCU->getTransformIdx(g_auiRasterToZscan[i]) + pcCU->getDepth(g_auiRasterToZscan[i]));
- iCount++;
- }
- printf("\n---------------TU ends--------------\n");
上面这一段程序,以4x4块为单位进行打印,数字范围0~4, 0表示不划分,1表示处于深度1,依此类推。其实,只要认真研究下TComDataCU这个类,基本上你需要的那些统计信息都可以通过类似以上方法进行统计。如果想做成类似H264visa这样的分析工具,那么基于这些信息,剩下的就是图形化界面的工作了。
阅读全文
0 0
- HM中CU,TU的划分
- HM中CU,TU的划分
- HM中CU,TU的划分
- HEVC中CU和TU的划分的过程
- 【转载】CU、PU、TU划分显示代码
- CompressCU函数:LCU的编码,包括CU的划分,PU模式的决定,TU的划分
- HEVC-I帧中CU,TU,PU之间的关系
- CU的最终划分
- HM学习心得--CU分割的认识
- CU PU TU
- HM编码器代码阅读(11)——CU的初始化
- HM在帧内预测中如何指定一幅图像作为一个slice,一个CU作为一个PU的
- HM在帧内预测中如何指定一幅图像作为一个slice,一个CU作为一个PU的
- HEVC最优CU划分确定的过程
- HEVC最优CU划分确定的过程
- CU的划分、地址以及索引
- HEVC之CU、PU、TU分析
- HEVC之CU、PU、TU分析
- Tensorflow教程学习笔记(一)----将自己的数据集转换成TFRecord
- 权限
- 关于hibernate急迫加载问题(多重外键关联)
- 在UI设计中经常用到颜色选择,下面给出名称列表
- Android 相关七种CPU架构适配
- HM中CU,TU的划分
- XML,HTML,XHTML对比
- SQL之DECIMAL函数
- 概率图模型
- ASP.NET Web Forms
- 【leaflet】 leaflet移除地图上所有marker(layers)
- html5的智能表单
- [转]【OpenCV入门教程之十四】OpenCV霍夫变换:霍夫线变换,霍夫圆变换合辑
- node.js基本模块学习(一) fs模块