传统的基于阈值的AZB检测算法非常适合死区量化块,但是在RDOQ中错过了部分最优结果,并在RDOQ中有一定的精度下降。本文提出一种新的多级AZB检测算法:第一阶段,通过阈值来预先判断在HDQ和RDOQ中被量化为全零的块;第二阶段,使用自适应死区偏移建立自适应阈值模型,目的是进一步检测在RDOQ中被量化为全零但是在HDQ中没有被量化为全零的伪全零块;最后阶段,使用基于机器学习的检测方法,利用8个与RDO相关的特征对剩余的所有零块进行分类。

文章目录

  • 引言
  • HDQ和RDOQ
  • AZB检测算法
    • 1.G-AZB检测阈值模型
    • 2.P-AZB自适应检测阈值
    • 3.基于机器学习的P-AZB检测
      • 3.1框架和网络结构
      • 3.2TU级特征
      • 3.3系数级特征
      • 3.4上下文语法元素级特征
  • 结果分析
  • 总结

引言

  本文旨在为基于RDOQ的HEVC编码开发一种多级AZB检测算法。在降低复杂度和保持检测精度之间取得良好的平衡。第一阶段:在HDQ和RDOQ中都被量化为0的真全零块通过与阈值比较而被预先判断,这个阈值由死区HDQ中的数学推导得到;第二阶段,通过模拟RDOQ中的行为模式,使用自适应死区偏移建立自适应阈值模型,目的是检测在RDOQ中被量化为全零但在HDQ中不是全零的伪全零块;最后阶段,提出基于机器学习的检测方法,使用8个不同层次的特征对剩余所有零块进行分类,包括TU层、系数层和上下文语法元素层。这种二元分类模型是使用机器学习离线训练和微调的。

HDQ和RDOQ

  在HEVC中,死区HDQ可以表示为:

  RDOQ是一种用于HEVC的高效量化算法,它在增加了计算复杂性的基础上提高了压缩效率。作为SDQ的典型实现,RDOQ利用RDO准则搜索最优量化系数,如下所示:

  与HDQ相比,RDOQ取得了更好的效果。但是,由于用于获得最佳量化电平的网格搜索计算复杂度较高,因此,通过AZB检测来加速量化,有助于跳过AZB的RDOQ操作。

AZB检测算法

  首先,块的分类过程可以从下图清晰得到:

  下图统计展示了不同大小尺寸的TU的量化类型分布。

  显然,可以看出来,AZB所占块的百分比随QP单调递增。而且,在16x16或者32x32这样大的TB中,使用较大的QP进行量化,还是会有小部分AZB。为了更加精确地检测AZB,针对RDOQ中复杂的工作机制,提出一种机器学习的AZB检测方法。
  对此,深入分析了HDQ和RDOQ之间的区别。假设零偏移简单除法的量化余数

  我们发现小数部分z对量化结果由显著影响。假设φHDQ和φRDOQ分别表示HDQ和RDOQ中Z的舍入结果。下图展示了大量的在不同z情况下,φRDOQ=0和φRDOQ=1的结果。
  采用保守阈值的G-AZB检测可以得到RDOQ的正确的零分类结果,然而,可能存在一些HDQ结果不同于RDOQ结果的”离群系数“,即φHDQ不等于φRDOQ。这些不符合G-AZB检测条件的系数是异常系数。因此,需要进一步研究检测P-AZB块的行为模式。有两种方法,精细的阈值和机器学习分类,来处理这些P-AZB。

1.G-AZB检测阈值模型

  对于在HDQ中所有系数被量化为0的G-AZB,最大量化值max(l(i,j))应当小于1:
  阈值Γ就饿可以写成:
  进行离线统计分析,下图展示了max(|c(i,j)|)/Γ1的结果分布。
  显然,在HDQ中,G-AZB满足条件max(|c(i,j)|)/Γ1<1,非AZB满足max(|c(i,j)|)/Γ1>=1。因此,我们可以通过这个阈值来检测一个TU是否是G-AZB,需要说明的是,这种G-AZB检测的准确率是100%。

2.P-AZB自适应检测阈值

  在RDOQ中,每个系数有几个候选量化值,通过RDO准则来选出最优量化值。通常来说,只有HDQ的l(i,j)为1或者2,才有可能通过RDOQ量化为0.换句话说,如果RDOQ的结果是AZB,那么这个TU中的l(i,j)必须在2以内。下图就证实了这一观察结果。
  显然,在P-AZB中不同QP的情况下,系数的最大幅度倾向于小于2。这就促使我们根据给定TU中变换系数来推导出自适应阈值模型。根据HDQ,当满足下面条件时,一个块会被量化为非全零块:
  假设ξ是满足上式的的DCT系数的个数。Γ2是一个用于辅助P-AZB检测的自适应QP阈值。一般来说,如果一个TU中ξ小于Γ2,则当前块可以可以通过RDOQ量化为AZB。
  紧接着,需要确定自适应阈值Γ2。随着QP增加,越来越多的DCT系数被量化为0,Γ2随着QP的增加而增加。用下面等式来确定Γ2:

  用两个典型结果,即满足上式的TU块的比例,和该式引起的错误判断概率,用它们来验证提出的P-AZB检测效率。实验结果如下图:
  根据上面的实验结果,可以得到两个结论。第一,通过上面自适应阈值式子成功检测的P-AZB的平均比例占38.75%;第二,平均检测错误概率大约为4.968%;这就意味着这个阈值式子达到了低分类错误的目的。

3.基于机器学习的P-AZB检测

  通过前面描述的G-AZB和P-AZB检测方案,由于RDOQ中舍入的复杂性,仍然有一些“狡猾”的零量化TU遗漏。因此,需要通过充分考虑CABAC中复杂的上下文编码和动态编程,开发更加智能的检测算法来处理这些块。

3.1框架和网络结构

  在RDO量化过程中存在由上下文建模和CABAC中概率状态转移引起的网格图。而SDQ量化是一个寻找具有最小率失真成本的路径的问题,维特比搜索算法非常适合SDQ网络搜索。也就是说,每个阶段有多个分支,每个分支描述一个有候选量化电平引起的状态转换,每个状态都被标记为图中的一个节点。选择cost最小的最优路径,知道网格搜索到达最后阶段。因此,最佳路径由多个相邻分支组成,每一级由一个挑选出来的分支。
  RDOQ是HEVC典型的SDQ算法,RDOQ与SDQ最主要区别在于,在CABAC中充分考虑了后向依赖性,而在RDOQ中简化了前向影响。在RDOQ中仅搜索部分路径而非整个网络,正是SDQ的动态规划使得RDO量化和AZB检测变得复杂。
  基于此,对于最终剩下的块就变成了一个二元分类问题,剩下的块变成了P-AZB和非AZB,这就可以使用机器学习来进行。
  具体来说,使用神经网络来来进行AZB检测,以处理SDQ中复杂的网格搜索,为充分捕捉八个特征参数之间的复杂关系,使用FCN(全连接网络),如下图所示。

3.2TU级特征

  绝对变换系数之和如下:
  在这项工作中,将TU中系数分为高低频两部分,低频区有3个系数P1、P2和P3,如下图:
  对于非AZB,低频的DCT系数总是被量化为非0系数。因此,低频区域的DCT系数之和通常大于高频区域。总结低频区域中系数的强度,导出部分能量如下:
  这就把α作为第二个与输入RDcost相关的特征。通过离线模拟,收集了不同QP情况下的不同TU的α的平均值,如下图。在非AZB中,α的强度往往要大于AZB中α的强度。因此,阿尔法可以作为区分AZB和非AZB的有效特征。

3.3系数级特征

  下图展示了AZB和非AZB的系数分布,其中绝对量化系数1和2被单独计数。
  根据上图,可以看出,在不同qp情况下,P-AZB中|l(i,j)|有很大可能等于1;相比之下,在非AZB中有很多块的|l(i,j)|等于2。因此,TU中l(i,j)等于1或者2就是确定非AZB的有用线索,这两个参数如下:
  对这两个参数归一化,并定义第三个和第四个相关的RDcost特征,如下所示:
  其中,φ代表不同尺寸TU中系数总个数(16,64,125,1024)。

3.4上下文语法元素级特征

  上面提到的特征都是与失真相关的特征,下面提出与码率相关的特征。CABAC是HEVC提出的熵编码工具,在CABAC中,不同的语法元素使用不同的上下文进行根据概率进行编码。对于每一个上下文算术编码,给每一个上下文模型分配一个初始值V,根据V初始化上下文模型的参数MPS(Most Probable Symbol)和б。概率状态指数确定如下:

  对每一个符号进行模型参数更新和二进制算术编码,概率上升过程描述如下:
  一般情况下:概率状态转移指数б随着ρ的减小而单调增加。如果邻TU被编码为AZB,那么当前TU很有可能是AZB。
  所提出的具有机器学习的AZB检测算法可以总结如下:

结果分析

  如下图,展示了方案一(G-AZB检测)、方案二(P-AZB检测)和方案三(基于机器学习的检测)的检测结果。六个测试序列的三个检测算法的出现平均值用途中的三条水平红线表示。

  可以看出来,随着QP的增加被检测为G-AZB(方案一)的目标数量相应增加,被检测为P-AZB(方案二和三)的目标数量相应减少。因为QP越大,越有概率量化为零块。

总结

  本文提出一种自适应阈值和基于机器学习分类的多阶段AZB检测算法。在第一阶段,根据系数level选择基于HDQ的自适应分类阈值来确定AZB。第二阶段,基于QP建立自适应阈值模型,进一步检测P-AZB。最后阶段,运用机器学习来实现分类。这种基于机器学习的模型被训练为对剩余的AZB和非AZB进行分类。

基于机器学习进行多阶段全零块检测相关推荐

  1. 基于阈值的全零块判决算法

    全零TU所占总TU数的比例会随着QP增加而增加.然而,在TU尺寸大的情况下,如32x32,即使QP非常大,G-AZB所占TU总数的比例也很小.这也就是说,对于32x32的TU块,没有RDOQ,最后的量 ...

  2. 基于机器学习的微博突发事件分析与谣言检测

    全套资料下载地址:https://download.csdn.net/download/sheziqiong/85585133?utm_source=bbsseo 全套资料下载地址:https://d ...

  3. 基于机器学习与BERT的在线招聘欺诈检测平台

    向AI转型的程序员都关注了这个号

  4. matlab全搜索运动估计,全零检测的部分失真搜索运动估计算法

    运动估计是视频压缩中的关键技术,能够有效消除帧间的时间冗余,提高压缩比.在现有的各类运动估计方法中,块匹配算法(block-matchingalgorithm,BMA)因具有简单.实用的特点而得到广泛 ...

  5. 基于机器学习和背景流量数据的加密恶意流量检测

    文章目录 1 加密流量现状 1.1 加密流量检测的必要性 1.2 加密恶意流量的检测方法 2 加密流量特征分析 2.1 可观察的数据元统计特征 2.1.1 传统流数据 2.1.2 字节分布 2.1.3 ...

  6. AV1基于机器学习的变换块快速划分

    AV1基于机器学习的变换块快速划分 在上一篇文章<AV1基于机器学习的快速变换模式选择>中讲解了AV1如何使用机器学习技术为每个变换块选择合适的变换模式,本节将讲解AV1如何利用机器学习技 ...

  7. Task03——零基础入门NLP - 基于机器学习的文本分类

    学习目标 学会TF-IDF使用原理 使用sklearn的机器学习模型完成文本分类 文本表示方法 one-hot bag of words N-grams TF-IDF 基于机器学习的文本分类代码

  8. 基于机器学习的web异常检测

    Web防火墙是信息安全的第一道防线.随着网络技术的快速更新,新的黑客技术也层出不穷,为传统规则防火墙带来了挑战.传统web入侵检测技术通过维护规则集对入侵访问进行拦截.一方面,硬规则在灵活的黑客面前, ...

  9. Mesh is Art(7)基于机器学习的幕墙嵌板优化

    Mesh is Art(7) 基于机器学习的幕墙嵌板优化 前言 问题提出 聚类算法 什么是聚类 K-Means聚类 示例一 示例二 注意 局限性 Gaussian Mixture Model (GMM ...

最新文章

  1. iptables使用ipt_connlimit限制连接数
  2. 全球及中国玩具收纳箱行业运营模式分析及产销需求预测报告2021年版
  3. android 桌面文件夹ui美化
  4. php 5.3配置,php-5.3.3 说明及配置
  5. 单元测试源码分析之一创建mock对象
  6. Oracle入门(十二I)之误删除数据的恢复方法
  7. 如何让程序员喜欢上编码
  8. Eclipse调整tomcat内存大小
  9. PHP新的连接MySQL方法mysqli
  10. 百度地图开发实例文章(一)
  11. “去QE”时代下,QE如何破茧重生?
  12. Log4net 配置详解
  13. 软件测试之兼容性测试
  14. esp8266基本使用 - GET|POST
  15. DAY 4 | 自学前端第四天
  16. 基于DINet的虚拟数字人
  17. mysql系统,MySQL系统架构
  18. Java 实现四位数的吸血鬼算法
  19. 《C语言程序设计》江宝钏主编-习题5-3-动态最大值!!!
  20. 理工科男人是怎么减肥的

热门文章

  1. 用js实现翻书的动画效果
  2. 【渝粤教育】21秋期末考试互联网金融10139k2
  3. mysql 辅键_mysql 的主辅配置
  4. Ty-网络编程(Socket)基础笔记
  5. jeesite(一)
  6. 基于驾驶行为数据的UBI车险模型(转)
  7. 云计算公司城市云申请新三板挂牌上市
  8. SimpleRNN实现股票预测
  9. Java输出hello world
  10. 教育知识与能力必背简答题!