基于运动特征的 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. SocketErrorCode:10022

    在编写.net的网络服务器时,我使用了裸socket来实现.在windows上,或者在linux上通过.net core来跑时都没有什么问题,但是通过mono运行调用socket.Bind()时却总是 ...

  2. HihoCoder1532 : 最美和弦(DP简单优化)

    描述 某个夜晚,Bob将他弹奏的钢琴曲录下来发给Jack,Jack感动之余决定用吉他为他伴奏. 我们可以用一个整数表示一个音符的音高,并可认为Bob弹奏的曲子是由3N个整数构成的一个序列.其中每个整数 ...

  3. iOS 开发图片资源选择png格式还是jpg格式

    对于iOS本地应用程序来说最简单的答案就是始终使用PNG,除非你有非常非常好的理由不用它. 当iOS应用构建的时候,Xcode会通过一种方式优化.png文件而不会优化其它文件格式.它优化得相当的好 他 ...

  4. MyBatis学习 之 三、SQL语句映射文件(2)增删改查、参数、缓存

    2.2 select 一个select 元素非常简单.例如: <!-- 查询学生,根据id --> <select id="getStudent" paramet ...

  5. NOIP2005题解

    传送门 考查题型 dp 模拟 贪心 T1 谁拿了最多的奖学金 题目描述 某校的惯例是在每学期的期末考试之后发放奖学金.发放的奖学金共有五种,获取的条件各自不同: 1) 院士奖学金,每人8000元,期末 ...

  6. 单片机知识是Linux驱动开发的基础之一

    这是arm裸机1期加强版第1课第2节课程的wiki文字版. 为什么没前途也要学习单片机? 因为它是个很好的入口. 学习单片机可以让我们抛开复杂的软件结构,先掌握硬件操作,如:看原理图.芯片手册.写程序 ...

  7. Bootstrap 网格系统的工作原理

    网格系统通过一系列包含内容的行和列来创建页面布局.下面列出了 Bootstrap 网格系统是如何工作的: 行必须放置在 .container class 内,以便获得适当的对齐(alignment)和 ...

  8. 【旧文章搬运】Windows内核常见数据结构(线程相关)

    原文发表于百度空间,2008-7-24========================================================================== 线程是进程的 ...

  9. 一些好用的Linux命令组合

    1.删除0字节文件 代码如下: find -type f -size 0 -exec rm -rf {} \; 2.查看进程按内存从大到小排列 代码如下: ps -e -o "%C : %p ...

  10. rbenv的使用

    创建: 2017/09/05 更新: 2018/02/03 增加更新rbenv和获取list没有的版本 更新: 2018/02/25 把path里面[个人主机名]全部替换为[主机名] 更新: 2018 ...