zoukankan      html  css  js  c++  java
  • 【HEVC帧间预测论文】P1.6 A Fast HEVC Inter CU Selection Method Based on Pyramid Motion Divergence

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

    《HEVC标准介绍、HEVC帧间预测论文笔记》系列博客,目录见:http://www.cnblogs.com/DwyaneTalk/p/5711333.htmlMotion Vectors Merging Low Complexity Prediction Unit Decision Heuristic for the InterPrediction of HEVC Encoders.pdf

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

    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值对码率、时间的影响。

     

  • 相关阅读:
    1.5.2 在IIS上配置ASP.NET(转)
    数据结构二叉树的基本编码(原创)
    真正的AmChart破解教程和RadarChart使用(转)
    C#遍历文件中的文件或者文件夹(转)
    [Android]在代码中创建布局
    [AS]AIR 中获取本地 IP API
    [Android][转]Android获取网页数据的方法总结
    [AS][iOS]AIR应用在iOS中,home键退出
    [Android]ListView学习(一)
    [Android]TextView 单行文本过长显示的属性
  • 原文地址:https://www.cnblogs.com/DwyaneTalk/p/5715505.html
Copyright © 2011-2022 走看看