基于图形信息的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. codeforces 443 B. Kolya and Tandem Repeat 解题报告

    题目链接:http://codeforces.com/contest/443/problem/B 题目意思:给出一个只有小写字母的字符串s(假设长度为len),在其后可以添加 k 个长度的字符,形成一 ...

  2. html5--6-8 CSS选择器5

    html5--6-8 CSS选择器5 实例 <!DOCTYPE html> <html lang="zh-cn"> <head> <met ...

  3. silverlight 图片引入代码

    private void comboBox2_SelectionChanged(object sender, SelectionChangedEventArgs e) { string str = t ...

  4. docker 初试---常用命令

    http://blog.csdn.net/wsscy2004/article/details/25878363 常用命令 查看容器的root用户密码 docker logs <容器名orID&g ...

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

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

  6. [Selenium] WebDriver 操作 HTML5 中的 drag/drop

    以 jQuery UI 官方网站元素测试,地址:http://jqueryui.com/draggable/ 示例: package com.learningselenium.html5; impor ...

  7. 最浅谈的SG函数

    [更新] Nim游戏的经验: 每次最多取m个——%(m+1) 阶梯nim——奇数位无视,看偶数位互相独立,成一堆一堆的石子 . . . . 既然被征召去汇总算法..那么挑个简单点的SG函数好了.. 介 ...

  8. JS 之正则表达式

    字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界. -或- 对 ...

  9. bzoj2839

    容斥原理+组合数学 看见这种恰有k个的题一般都是容斥原理,因为恰有的限制比较强,一般需要复杂度较高的方法枚举,而容斥就是转化为至少有k个,然后通过容斥原理解决 我们先选出k个元素作为交集,有C(n,k ...

  10. VC将同一份代码同时编译为Dll和Exe的方法

    开发中经常遇到这样的情况,需要开发一个某某功能的接口Dll,但是Dll不能直接调试,你至少需要一个Loader 但是Loader和Dll本身不在同一个工程里,虽然都在本机的话并不影响源码级调试,但是总 ...