HM
小小柴
这个作者很懒,什么都没留下…
展开
-
H.265中针对scc的工具 -- transformskip
transformskip和intra block copy, palatte mode 一样,是针对screen content 的编码工具,该工具的提出是因为对于screen content,其经常包含尖锐边缘或者跳变,相关性极差,这种情况下进行正常的transform反而会带来负面影响,还不如跳过变换环节,直接对残差进行量化。下面来直接看代码: if (pcCU->getTransformSkip(uiAbsPartIdx, compID) != 0)//开启transfor...原创 2020-07-28 15:19:15 · 1805 阅读 · 0 评论 -
HM入门:整个编码流程以及相关的函数
转载放着以后备用。转自:http://blog.csdn.net/nb_vol_1/article/details/51144828该作者也是转载,但是没有找到原地址。在此表示对这篇文章作者的感谢。 整个流程可以从compressGOP函数开始着手: 1、compressGOP对一整个图像组(GOP)进行编码,主要是遍历GOP中每一帧,对每一帧进行单独编码 2、每一帧又会被划分成若转载 2018-01-22 12:32:11 · 1981 阅读 · 0 评论 -
CU的最终划分
转载自视频编码大神陈建乐的博客:http://blog.csdn.net/hevc_cjl/article/details/8275260相信会有不少人对如何确定CU最终的划分有所困惑(包括我在内,刚开始接触时也不知道该怎么做),我觉得很大的一个原因就是CU是递归划分的,这就导致在寻找确定最佳分割位置时比较困难。 其实,解决问题的办法说难也不难,关键在于思路的转换,既然对于转载 2018-01-22 12:33:10 · 1238 阅读 · 0 评论 -
HEVC中四叉树划分详解
偶然看到一篇论文,关于四叉树划分,感觉写的挺清楚的,随手记录下。 HEVC中,一帧图像被分割为多个互补重叠的LCU,LCU大小一般设为64*64。每个LCU又可按照四叉树的方式递归划分为多个子CU。编码器编码时,需要判断当前CU是否已经进行划分。当前CU的划分情况由语法元素split_flag的值给出,其值为1表示CU已经划分,否则表示为进行子CU划分。转载 2018-01-16 11:49:28 · 6261 阅读 · 6 评论 -
HM的代码流程
1. 环境配置这个文档描述的版本是HM6.0运行的方法如下可参考之前的文章:2. 编码端主函数的调用主函数中会调用create函数,但是这里面是空函数,所以不做任何操作encode是非常重要的函数,负责了实际的编码工作,在里面调用m_cTEncTop的encode函数对每个GOP进行编码,并对每个GOP调用compre转载 2018-01-29 15:51:57 · 1176 阅读 · 0 评论 -
bd-rate的计算
bdrate的基本计算过程为: 对ref和test中四个点的各自进行拟合; 对拟合出来的两个曲线算积分(积分区间为两个曲线的横坐标的相交部分),求积分差; 最后将积分差除以积分区间;第一步的拟合过程有两种方法,一种是旧方法,将四个数据点直接拟合成曲线计算,一种是新方法,对四个数据点通过分段三次插值来拟合。两种计算方法一般情况下相差不大。旧方法的相关提案在VCE...原创 2019-08-19 12:12:46 · 4328 阅读 · 0 评论