博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【HEVC帧间预测论文】P1.3 Fast Inter-Frame Prediction Algorithm of HEVC Based on Graphic Information...
阅读量:5050 次
发布时间:2019-06-12

本文共 1465 字,大约阅读时间需要 4 分钟。

基于图形信息的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实际上就是一阶中心距,类似于方差(二阶中心距)。

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

    (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对应为满足提前终止条件的GCUMAD和SAD。

 实验结果:

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

 

         

 

转载于:https://www.cnblogs.com/DwyaneTalk/p/5715335.html

你可能感兴趣的文章
js-创建对象的几种方式
查看>>
JDK JRE Java虚拟机的关系
查看>>
2018.11.20
查看>>
word20161215
查看>>
12th week blog
查看>>
dijkstra (模板)
查看>>
python小记(3)
查看>>
编译Linux驱动程序 遇到的问题
查看>>
大型分布式网站架构技术总结
查看>>
HDU 1017[A Mathematical Curiosity]暴力,格式
查看>>
[算法之美] KMP算法的直观理解
查看>>
EntityFramework 性能优化
查看>>
【ASP.NET开发】菜鸟时期的ADO.NET使用笔记
查看>>
android圆角View实现及不同版本号这间的兼容
查看>>
OA项目设计的能力③
查看>>
Cocos2d-x3.0 文件处理
查看>>
全面整理的C++面试题
查看>>
Activity和Fragment生命周期对比
查看>>
android 分辨率自适应
查看>>
查找 EXC_BAD_ACCESS 问题根源的方法
查看>>