zoukankan      html  css  js  c++  java
  • 【HEVC帧间预测论文】P1.1 基于运动特征的HEVC快速帧间预测算法

    基于运动特征的 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划分深度已经足够了,不需要进一步划分了.

     实验结果:

  • 相关阅读:
    animate动画回调函数
    triggerHandler不执行事件默认值
    trigger自动执行事件
    js与jquery对象的互转
    让低版本浏览器支持html5的标签
    闭包的好处罗列
    AJAX跨域
    php能干什么?
    concat() 方法用于连接两个或多个数组。
    使用 v-cloak 防止页面加载时出现 vuejs 的变量名
  • 原文地址:https://www.cnblogs.com/DwyaneTalk/p/5715160.html
Copyright © 2011-2022 走看看