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

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

上海大学学报(自然科学版)第19卷第3期。

利用当前深度CU与时域对应位置已编码CU的亮度像素值的差值平方和均值来判断当前CU的运动特征。属于A类算法

ASSD:Average Sum of the Square Difference

核心公式:

2N表示当前CU的尺寸,CUCur(I,j)和CUCol(I,j)分别表示当前和时域对应位置CU块中(i,j)位置的亮度像素值。

ASSD越大,说明时域相邻CU的差值越大,则表示运动越剧烈。

ASSDX表示已编码(应该是当前帧中已编码)CU中最佳深度为X(0~3)时的ASSD的值。即ASSDX只考虑最佳编码深度为X的CU,其他参数含义如ASSD。

ASSDnotX表示已编码CU中最佳深度大于X(X+1~3)时的ASSD的值。于是ASSDnotX包含ASSDx+1~ASSD4。

ThSkip表示已编码CU中最佳深度大于X的所有CU的ASSD的均值。如果当前CU块深度X下的ASSD大于ThSkip,说明当前CU块运动比较剧烈,所以就不需要对深度X下的各种PU预测模式进行计算和判断,直接跳到下一个深度X+1进行更小尺寸的CU判断。式中b为调节参数,文中取1.2。取值越大,对应的ThSkip越大。

ThStop表示已编码CU中最佳深度为X的所有CU的ASSD的均值。如果当前CU块深度X下的ASSD小于ThStop,说明当前帧已经编码的CU中最佳深度为X的所有块的平均较平滑,因为可以认为当前CU块处于平缓区。对于平缓区的CU,就不继续进行更深度的CU划分判断。其中a为调节参数,文中取0.8。a越小,则对应ThStop越小

核心判断:

由定义可知,一般ThSkip是大于ThStop的,当ASSD处于二者之间时,图像处于运动适中区。算法加速优化主要针对运动剧烈区和运动平缓区,对于运动适中区,并不能进行加速。需要合理的控制ThSkip和ThStop的大小。如果[ThStop,ThSkip]区间太大,加速效果不好,如果[ThStop,ThSkip]区间太小,导致大量判断为运动剧烈和运动平缓区域,容易产生误判,影响图像质量。所以需要合理控制a,b的值,文中指出一般要ThSkip > 2*ThStop。

算法流程:

主要步骤如下: (文中说明了不考虑非对称的PU模式)

1、计算当前 CU 的 ASSD, 并根据已编码 CU 的信息(ThSkip和ThStop), 判断当前 CU 的运动特征;

2、若当前 CU 处于运动剧烈区且其深度小于 MaxDepth, 则跳过当前 CU 所有预测模式的计算, 进入下一深度 CU 的编码,因为这种情况下认为当前深度的所有PU模式都不是最优的,所以就不进行尝试; 若当前 CU处于运动剧烈区且编码深度等于 MaxDepth, 则需要对 Skip, 2N × 2N , N × 2N , 2N × N 以及 N × N 等模式进行预测, 并计算率失真代价值;

3、若当前 CU处于运动适中区且编码深度小于 MaxDepth, 则对除Skip 和 N × N 模式之外的其他模式进行率失真代价值的计算; 若当前 CU 处于运动适中区且编码深度等于 MaxDepth, 则跳过当前 Skip 模式, 对 2N × 2N ,N × 2N , 2N × N 以及 N × N 模式进行率失真代价值的计算;

4、若当前 CU 处于运动平缓区, 则不再继续划分,因为此时认为CU划分深度已经足够了,不需要进一步划分了.

实验结果:

【HEVC帧间预测论文】P1.1 基于运动特征的HEVC快速帧间预测算法的更多相关文章

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

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

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

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

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

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

  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. 知识图谱-生物信息学-医学顶刊论文(Bioinformatics-2021)-MSTE: 基于多向语义关系的有效KGE用于多药副作用预测

    MSTE: 基于多向语义关系的有效KGE用于多药副作用预测 论文标题: Effective knowledge graph embeddings based on multidirectional s ...

随机推荐

  1. wukong引擎源码分析之索引——part 2 持久化 直接set(key,docID数组)在kv存储里

    前面说过,接收indexerRequest的代码在index_worker.go里: func (engine *Engine) indexerAddDocumentWorker(shard int) ...

  2. 书写优雅的shell脚本(插曲)- /proc

    1. /proc目录 Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构.改变内核设置的机制.proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以 ...

  3. I.MX6 NXP git 仓库

    /************************************************************************* * I.MX6 NXP git 仓库 * 说明: ...

  4. 【前端】CentOS 7 系列教程之一: 安装 node 最新版

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/linux_1.html 此系列教程从零开始,安装node.mysql.git,nginx.并且设置git自动部署. ...

  5. "Activity" 总结

    1.什么是Activity? 1.四大组件之一 2.通常一个界面对应一个activity 3.是Context的子类 4.同时实现window.callback和keyevent.callback回调 ...

  6. 单片机和Linux都想学_换个两全的方法学习单片机

    本节教你如何学习单片机,如何选择合适的开发板和开发工具. 现在我们知道单片机是要学习的,那么怎么去学习单片机?在上一课我们说不要使用老一套的方法学习,实际上是指的两个问题. 第一:选择什么开发板: 第 ...

  7. Codechef WEASELSC

    WEASELSC code 给定一个高度图 a[1..n] ,要求你减少图中一些地方的高度,使得得到的图是一个不超过 K 级的楼梯,要求楼梯的面积最大(即得到的图中所有位置的高度之和最大). 这题题面 ...

  8. 025--python初识类和对象

    一.面向对象的定义 说到面向对象,我们先来看一下面向过程的定义:面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么 ...

  9. Linux ubuntu 下寻找 texlive 缺失包 texlive 缺失包(转载)

    转自:http://blog.sina.com.cn/s/blog_87315ca60101d4d1.html 在Linux下用 latex 编译 ××.tex 文件有时候时会提示:  ! LaTeX ...

  10. 批处理(cmd)的学习记录

    批处理的使基本使用 Command Introduction Example set 设置环境变量 set name="小明" call 启动应用程序   rem 解释说明,可通过 ...