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

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

 Journal of Frontiers of Computer Science and Technology,2014,8(5):537-542.

利用CU内所有像素点水平和竖直的梯度绝对值之和Gcu,连同CU内像素平均绝对差值MAD(一阶中心距)一起判断纹理平坦(空域信息);利用当前CU和最佳匹配CU块的绝对差值之和SAD判断当前CU是否为稳定区域(时域信息)。

核心公式:

       

Dx和Dy别表示CU中位于i,j位置的像素点在水平和竖直方向上的梯度,原理就是利用sobel算子进行边缘检测。如下图:左右表格分别是计算偏导数dy和dx的sobel算子卷积模板。

                                  (3)

GCU是当前CU的所有像素点水平和竖直梯度的绝对值的累加。PS:可以进一步进行如下尝试:

1、一般在sobel进行边缘检测时,通过 来融合水平和竖直梯度进行判断;

2、文中只使用了水平和竖直的两种梯度,实际上还可以通过对角线方向的梯度判断图像的纹理信息。

     (4)

MAD是当前CU内像素平均绝对差值,其中M表示当前CU内的所有像素的均值,P(x,y)表示(x,y)位置的像素值。MAD实际上就是一阶中心距,类似于方差(二阶中心距)。

通过比较GCU和MAD与阈值(TH1和TH2)的大小,来判断图像纹理特征,如果GCU和MAD都小于给定的阈值,则认为该CU块是纹理平坦的区域,则可以终止继续更深度地划分CU块。(关于TH1和TH2后续介绍)

    (5)

进行运动搜索和运动估计之后,得到最佳预测块。P(x,y)就是最佳预测块(x,y)处的像素值。SAD用来判断对于某些非纹理平坦区域,是否是运动平稳区域(时域信息)。如果最佳匹配块与当前块的残差(SAD)已经非常小(阈值TH3),说明该区域运动平稳,可以终止继续更深度地划分CU块。

算法流程:如图:算法针对LCU进行优化

S1:计算当前CU(LCU)的MAD和GCU

S2:对LCU进行2Nx2N、2NxN和Nx2N这3种PU模式的运动搜索和运动估计,然后通过率失真优化得到最佳PU决策;

S3:依据MAD和GCU与两个阈值关系判断,如果是纹理平坦区域,则直接终止对LCU的进一步CU子划分;

S4:否则,依据预测模式为2Nx2N时(即PU块与LCU一样大)的SAD与阈值TH3的关系判断,如果是平稳区域,则也直接终止子划分;

S5:如果不能提前终止,则按照正常步骤进行CU尺寸和PU模式决策。

思考:只在LCU层进行加速,是否可以在更深的深度进行加速?

其中3个阈值TH采用静态初始阈值+动态调整的策略:

1、通过在一系列视频序列进行聚类,得到3个最初的阈值;

2、然后通过TH = 0.9*TH + 0.1*newTH进行调整,进行50次调整,其中newTH对应为满足提前终止条件的GCU、MAD和SAD。

实验结果:

         HM10.0、配置为enconde_randomaccess_mian10、TH1~3初值依次10、200000和15000

【HEVC帧间预测论文】P1.3 Fast Inter-Frame Prediction Algorithm of HEVC Based on Graphic Information的更多相关文章

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

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

  2. 【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帧间预测论文笔记&g ...

  3. 【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 ...

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

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

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

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

  6. 【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 ...

  7. 【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 ...

  8. 【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帧间预测论文笔记>系列博 ...

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

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

随机推荐

  1. golang copy函数

    数组切片内容复制 转自:http://studygolang.com/articles/4560 用于将内容从一个数组切片复制到另一个数组切片.如果加入的两个数组切片不一样大,就会按其中较小的那个数组 ...

  2. 用HTTP操作和文件操作把网页下载到sd卡

    这里先把代码贴到这里做一个存档,写到SD卡的是一个txt文件,改成HTML格式之后会出现百度主页,但是中文是乱码,这一点先暂时不去研究了. 代码: package com.larry.gotcha; ...

  3. RobotFramework:App九宫格滑动解锁

    转自:http://blog.csdn.net/codekxx/article/details/50577381 手势密码在很多手机应用都会运到,手势密码都要求至少连接4个点,但AppiumLibra ...

  4. node fs模块

    Node.js的文件系统的Api //公共引用 var fs = require('fs'), path = require('path'); 1.读取文件readFile函数 //readFile( ...

  5. BackTrack5(BT5)各版本下载

    BT5R3(最新版本)http://www.nigesb.com/backtrack-5-r3-released.html  BT5R2KDE版32位: http://ftp.halifax.rwth ...

  6. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 23. 继续讲Tag Helpers 和复习View Component

    当条件为true就渲染,否则就不渲染 ‘ 判断用户的登陆 更好的一点是做一个TagHelper.把这些明显的C#代码都去掉.最终都是用html和属性的形式来组成一个最终的代码 属性名称等于Confit ...

  7. easyui 动态添加标签页,总结

    步骤 1:创建 Tabs <div style="margin-bottom:10px"> <a href="#" class="e ...

  8. hibernate的基础学习

    工具类: public class H3Util { private static final SessionFactory sessionFactory = buildSessionFactory( ...

  9. Educational Codeforces Round 21 D - Array Division (前缀和+二分)

    传送门 题意 将n个数划分为两块,最多改变一个数的位置, 问能否使两块和相等 分析 因为我们最多只能移动一个数x,那么要么将该数往前移动,要么往后移动,一开始处理不需要移动的情况 那么遍历sum[i] ...

  10. PTA 计算平均值

    现在为若干组整数分别计算平均值. 已知这些整数的绝对值都小于100,每组整数的数量不少于1个,不大于20个. 输入格式:首先输入K(不小于2,不大于20).接下来每一行输入一组数据(至少有一组数据), ...