A Fast HEVC Inter CU Selection Method Based on Pyramid Motion Divergence

《HEVC标准介绍、HEVC帧间预测论文笔记》系列博客,目录见:http://www.cnblogs.com/DwyaneTalk/p/5711333.html

IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 16, NO. 2, FEBRUARY 2014

以PMD作为特征,利用kNN决策判断是否进行CU块划分。

核心公式:

分析:(1)中计算R-D的SSD是原始图像与重建图像差值平方和

但是为了节约时间,一般采用原始图像与预测图像的差值平方和来判断,如下:

     (2)

X为一个CU块,x为X中一个点,m是预测得到的每个像素点的运动矢量(有专门的算法),t和t-1表示帧号(假设t帧参考t-1帧)。在不考虑光照因素,设每个像素点实际运动矢量为mx,那么

     (3)

      (4)

公式(4)是将率失真优化理论上归到同一帧处理,由于图像符合一阶马科夫过程,所以对于一幅图像:(一阶马科夫系数p为两点的欧氏距离)

       (5)

         (6)

简化模型后,(6)式中一阶马科夫系数满足

                    (7)

然后可以进行如下推理:

        (8)

                     (9)

进行一阶泰勒展开:得到(10)

         (10)

     (11)

最终就是为了得到R-D值和距离平方正相关。下图进一步通过实验,验证了CU块内所有点MV的方差和该CU块的Cost的正相关性

    (12)

然后如上图和公式12就是计算一个CU的特征,左边为当前CU,右边是分成4个子CU,mx是像素级的运动矢量

           

然后上图验证了A 、B两个CU的PA和PB之间相似度和A、B的CU是否划分相同的概率,表名通过判断PA和PB像素来决定CU是否划分的可行性。其中PA和PB相似度ndist如下:

    (13)

kNN决策就是从已编码的CU块中,找到k个和当前块PMD最想的,然后用下面策略进行决策:

       (14)

进行kNN判断相似度时,除了(13)外,还可以用下面(15)

(15)

Lu是k个最近邻CU中决策为unsplit的个数,Ls是k个最近邻CU中决策为split的个数。Unsure表示按照正常的CU划分策略进行决策。

算法流程:

         实际算法流程如下:

首先对图像进行下采样(为了减少Optical Flow Estimation的时间,选择x/4,y/4是为了保证每个TU块中有一个像素参与);

然后通过Optical Flow Estimation算法,得到每个下采样之后的像素点的MV;

对每个CU块,计算PMD特征

根据kNN准则,预测是否spliting。

说明:

Previous Coded CU是一个FIFO队列,存储已经编码的CU块的PMD特征和最终的CU是否划分的判决,kNN决策时,根据FIFO队列和当前块PMD特征最近的k个,如果全是spliting,则当前块split;如果全是not-spliting,则当前块not-spliting。

实验结果:

环境:HM9.0,kNN的k=5,FIFO队列大小300。表格显示了时间、码率和质量的变化。最后一列是下采样优化的Flow Estimation花费时间所占总体时间的比例。下图不同点表示不同的k值对码率、时间的影响。

【HEVC帧间预测论文】P1.6 A Fast HEVC Inter CU Selection Method Based on Pyramid Motion Divergence的更多相关文章

  1. 【HEVC帧间预测论文】P1.9 Coding Tree Depth Estimation for Complexity Reduction of HEVC

    Coding Tree Depth Estimation for Complexity Reduction of HEVC <HEVC标准介绍.HEVC帧间预测论文笔记>系列博客,目录见: ...

  2. 【HEVC帧间预测论文】P1.8 Complexity Control of High Efficiency Video Encoders for Power-Constrained Devices

    参考:Complexity Control of High Efficiency Video Encoders for Power-Constrained Devices <HEVC标准介绍.H ...

  3. 【HEVC帧间预测论文】P1.7 Content Based Hierarchical Fast Coding Unit Decision Algorithm

    Content Based Hierarchical Fast Coding Unit Decision Algorithm For HEVC <HEVC标准介绍.HEVC帧间预测论文笔记> ...

  4. 【HEVC帧间预测论文】P1.5 Fast Coding Unit Size Selection for HEVC based on Bayesian Decision Rule

    Fast Coding Unit Size Selection for HEVC based on Bayesian Decision Rule <HEVC标准介绍.HEVC帧间预测论文笔记&g ...

  5. 【HEVC帧间预测论文】P1.4 Motion Vectors Merging: Low Complexity Prediction Unit Decision

    Motion Vectors Merging: Low Complexity Prediction Unit Decision Heuristic for the inter-Prediction o ...

  6. 【HEVC帧间预测论文】P1.3 Fast Inter-Frame Prediction Algorithm of HEVC Based on Graphic Information

    基于图形信息的HEVC帧间预测快速算法/Fast Inter-Frame Prediction Algorithm of HEVC Based on Graphic Information <H ...

  7. 【HEVC帧间预测论文】P1.2 An Efficient Inter Mode Decision Approach for H.264 Video Codin

    参考:An Efficient Inter Mode Decision Approach for H.264 Video Coding <HEVC标准介绍.HEVC帧间预测论文笔记>系列博 ...

  8. 【HEVC帧间预测论文】P1.1 基于运动特征的HEVC快速帧间预测算法

    基于运动特征的 HEVC 快速帧间预测算法/Fast Inter-Frame Prediction Algorithm for HEVC Based on Motion Features <HE ...

  9. H.264学习笔记3——帧间预测

    帧间预测主要包括运动估计(运动搜索方法.运动估计准则.亚像素插值和运动矢量估计)和运动补偿. 对于H.264,是对16x16的亮度块和8x8的色度块进行帧间预测编码. A.树状结构分块 H.264的宏 ...

随机推荐

  1. 2016-5-23 jsp

    1.table的边框:rules这个参数,它有三个值(cols,rows,none),当rules=cols时,表格会隐藏横向的分隔线,也就是我们只能看到表格的列:当rules=rows时,就隐藏了纵 ...

  2. java -- 虚拟机和内存

    从大方向来分:栈内存,堆内存,方法区,本地方法栈,程序计数器 java从存储数据的角度来分: 寄存器(register):最快的存储区,由编译器根据需求进行分配,不由认为控制. 堆栈(statck): ...

  3. MyBatis学习 之 四、动态SQL语句

    有些时候,sql语句where条件中,需要一些安全判断,例如按某一条件查询时如果传入的参数是空,此时查询出的结果很可能是空的,也许我们需要参数为空时,是查出全部的信息.使用Oracle的序列.mysq ...

  4. Codeforces630C【水题】

    题意: 有一种数只会有7或者8构成,给一个n,问你前n位上有多少个这样的数. 思路: 对于一个 i 位,有2^i个数,然后前n项和就是2^(n+1)-2; 复习一下等比数列求和,等差数列求和吧; ①: ...

  5. 2016多校8th 1008【线段树-神题】

    题意: T N M N个数 M个操作 一个数组A, 有3个操作 1 l r x,a[l]-a[r]都+x 2 l r,a[i]=sqrt(a[i]),l<=i<=r 3 l r,求和,a[ ...

  6. poj3181【完全背包+整数拆分】

    题意: 给你一个数n,在给你一个数K,问你这个n用1-k的数去组合,有多少种组合方式. 思路: 背包重量就是n: 那么可以看出 1-k就是重物,价值是数值,重量是数值. 每个重物可以无限取,问题转化为 ...

  7. 3dmath复习随笔

    左手坐标系与右手坐标系 旋转正方向,下图是右手系,左手系同理 向量 点乘: 叉乘: dx是左手系,使用行向量,vABC,乘矩阵用左乘 opengl是右手系,使用列向量,CBAv,乘矩阵用右乘 u3d貌 ...

  8. bzoj 1049: [HAOI2006]数字序列【dp+二分+瞎搞】

    第一问明显就是用b[i]=a[i]-i来做最长不下降子序列 然后第二问,对于一对f[i]=f[j]+1的(i,j),中间的数一定要改的,并且是等于b[i]或者b[j],我不会证,然后因为是随机数据,所 ...

  9. bzoj1257[CQOI2007]余数之和(除法分块)

    1257: [CQOI2007]余数之和 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 6117  Solved: 2949[Submit][Statu ...

  10. C#中自定义类数组和结构数组的使用

    如有雷同,不胜荣幸,若转载,请注明 C#中自定义类数组和结构数组的使用 最近在很多项目中发现很多时候给定的数组要实现某个逻辑或处理很是麻烦,一维数组,二维数组,,,等等需要经过n多转换,还不如自己写一 ...