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

本文共 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

你可能感兴趣的文章
Hadoop优先级调度
查看>>
【五】数组
查看>>
完成登录功能,用session记住用户名
查看>>
linux 备忘录
查看>>
好程序员web前端分享想要学习前端需要学那些课程
查看>>
Spark2.4.0源码——DAGScheduler
查看>>
flex stringValidator字符串验证
查看>>
struts分页实现
查看>>
HDU2515_数学规律题
查看>>
spm + host
查看>>
管道通信Pipe
查看>>
Java基础 & 基本数据类型 & String类
查看>>
Curling 2.0 POJ - 3009
查看>>
163yum源的配置
查看>>
mac os 快捷键
查看>>
弹出层
查看>>
为基于OpenCV的图像处理程序编写界面—关于QT\MFC\CSharp的选择以及GOCW的介绍
查看>>
清除nginx静态资源缓存
查看>>
使用Spring Boot来加速Java web项目的开发
查看>>
1197: [HNOI2006]花仙子的魔法 - BZOJ
查看>>