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. Java数据库操作类演示

    只在mysql上测试过,不知道算不算好使​1. [代码][Java]代码     package org.load.demo; import java.io.IOException;import ja ...

  2. Opencv函数setMouseCallback鼠标事件响应

    用户通过鼠标对图像视窗最常见的操作有: 1. 左键单击按下 2. 左键单击抬起 3. 左键按下拖动 4. 鼠标指针位置移动 单次单击操作响应事件及顺序 Opencv中setMouseCallback( ...

  3. BZOJ_1224_[HNOI2002]彩票_爆搜+打表

    BZOJ_1224_[HNOI2002]彩票_爆搜+打表 Description 某地发行一套彩票.彩票上写有1到M这M个自然数.彩民可以在这M个数中任意选取N个不同的数打圈.每个彩民只能买一张彩票, ...

  4. ekhtml使用总结

    ekhtml是一个高效SAX方式的HTML解析库. 文件说明 官网下载ekhtml-0.3.2.tar.gz文件解压后,内部包括源码.测试文件.文档.编译脚本等. 如需编译成静态库或动态库后进行集成, ...

  5. [shell test] multiple conditions

      Classic technique (escape metacharacters): if[ \( $g -eq 1-a "$c"="123" \) -o ...

  6. 架构:MVVC

    ylbtech-架构:MVVC MVVM是Model-View-ViewModel的简写.它本质上就是MVC 的改进版.MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻 ...

  7. jsp 验证码

    <%@page import="java.awt.Graphics2D"%> <%@page import="java.util.Random" ...

  8. PCB 线路铜皮面积(残铜率)计算的实现方法

    一个多月没更新博客园了,这里继续分享关于PCB工程相关一些知识,做过PCB工程都知道用使用genesis或incam是可以非常方便的计算得到铜皮面积这个参数[下图],但实际这个软件是通过什么算法计算出 ...

  9. Template Code 无法使用 this.Host 报错

    问题显示: Error 6 Compiling transformation: 'Microsoft.VisualStudio.TextTemplatingBED07DAE3B6FD53FA94701 ...

  10. 洛谷P2569 [SCOI2010]股票交易(单调队列)

    传送门 惭愧……这种题目都没看出来…… 首先,我们用$dp[i][j]$表示在第$i$天,手上有$j$股时的最大收益 第一,我们可以直接买股票,即$dp[i][j]=-j*AP_i$,这个直接计算即可 ...