目录

  • JVET-A1001
    • 变换编码
      • 1、自适应多核变换(Adaptive multiple Core transform)
      • 2、二次变换(Secondary transforms )
      • 3、信号相关变换(Signal dependent transform (SDT))
    • 自适应环路滤波(Adaptive loop filter)
    • 熵编码(Context adaptive binary arithmetic coding (CABAC))
      • 1、转换系数级别的上下文模型选择
      • 2、多假设概率估计(Multi-hypothesis probability estimation)
      • 3、初始化上下文模型
    • 测试环境
      • 1、参考软件
      • 2、测试环境

JVET-A1001

接下来就把文档JVET-A1001中剩下的关于变换、量化、后处理等技术给了解一下。

变换编码

变换编码的改进主要在自适应多核变换(AMT)、二次变换和信号相关变换(SDT)。

1、自适应多核变换(Adaptive multiple Core transform)

除了在HEVC中使用的DCT-II和4x4 DST-VII外,JEM还采用了自适应多变换核(AMT)方案对帧内和帧间编码的残差块进行变换编码。它将DCT/DST多个不同的转换方式进行组合。新引入的变换矩阵有DST-VII、DCT-VIII、DST-I和DCT-V。对于帧内预测残差,根据帧内预测模式预先定义变换集,因此每个帧内预测模式都有自己的变换集,例如某个帧内预测模式变换集可以是{DCT-VIII, DST-VII}。注意,用于水平和垂直变换的变换集不同,即使对于相同的帧内预测模式也是如此。然而,对于帧间预测残差,对于所有帧间预测模式以及水平和垂直变换,只使用一个变换集。

AMT适用于小于64x64的CUs,并且AMT在CU级别上受到控制。

2、二次变换(Secondary transforms )

二次变换应用于正向核变换和量化(在编码器)之间,反量化和反向核变换(在解码器端)之间,即对在主变换之后对主变换系数进行第二次变换,之后再进行量化、熵编码等操作。在JEM中,如下图所示,对每个4×4的变换系数子组分别进行二次变换,并且只适用于帧内编码的CU。在JEM中,采用模式相关不可分的二次变换(MDNSST)。二次变换的示意图如下:

下面以以一个例子描述不可分离变换的应用。要应用不可分离变换,4x4输入块X为:


X首先表示为向量:


不可分变换计算为:

其中F表示变换系数向量,T为16x16变换矩阵。随后,使用该块的扫描顺序(水平、垂直或对角线)将16x1系数向量重新组织为4x4块。
该技术中共11×3(方向模式) + 1×2(非方向模式)不可分离变换矩阵,即总共有12组,其索引从0到11,其中11为帧内预测模式变换集的个数,每个变换集包含3个变换矩阵。而对于非方向模式,即平面、DC和LM,只应用了一个变换集,其中包含2个变换矩阵。下表定义了从帧内预测模式到转换集的映射,应用于亮度/色度变换系数的变换集由相应的亮度/色度预测模式指定。

3、信号相关变换(Signal dependent transform (SDT))

考虑到帧内和帧间有许多相似的块,利用KLT来研究这种相关性可以提高编码性能,更有效地进行压缩。

图中的流程图描述了这种思想,对于当前编码块C,首先得到参考块R,R由重构的左上模板tbt_btb​和编码块的预测块p组成的;然后,用这个参考块R在重建区域内搜索N个最相似的块;最后,基于这些相似的块和预测块计算出一维KLT。该技术适用于不同块大小的4x4、8x8、16x16和32x32,利用率失真优化方法,确定了所提出的变换与DCT/DST变换之间的最佳模式。
为了更加清楚的说明,直接使用例子,KLT通过在重构区域中进行搜索,得到N个与参考块最相似的块xix_ixi​,i=1,2,……NNN,此处,xix_ixi​=(xi1x_i1xi​1,xi2x_i2xi​2……xiDx_iDxi​D),D表示变化块的向量维度,如对于4x4的编码块,D为16。通过这些相似块减去预测块p可获得残差块uiu_iui​,i=1,2,……N,如下公式:


这些残差块被用于KLT求导零均值的训练样本,这些N个训练样本可以表示为:U=(u1u_1u1​,u2u_2u2​……uNu_NuN​),是一个DxN的矩阵。则协方差矩阵Σ为:Σ=UUTΣ=UU^TΣ=UUT,该协方差矩阵的维度为DxD。则KLT的基是该协方差矩阵的特征向量,以此可得到SDT的变换矩阵。

自适应环路滤波(Adaptive loop filter)

在JEM中,实现了基于块的自适应ALF。对于亮度分量,4x4块根据一维Laplacian方向(最多3个方向)和二维Laplacian活性(最多5个活性值)进行分类。方向DirbDir_bDirb​和活性值ActbAct_bActb​的计算如式下所示,其中Ii,jI_i,jIi​,j为4x4块左上角相对坐标(i,j)的重建像素。



总的来说,每个块可以分为15个(5x3)组中的一个,并根据块的DirbDir_bDirb​和ActbAct_bActb​为每个4x4块分配一个索引。因此,对于图像的亮度分量,最多可以发出15组ALF参数,对于图像的两个色度分量,均采用单组ALF系数,且始终使用5x5菱形滤波器。ALF最多支持三个对称滤波器的形状,如下图所示。此外,ALF在编码单元(CU)级别上发出标志,以指示ALF是否应用于该CU。

熵编码(Context adaptive binary arithmetic coding (CABAC))

相对于HEVC,CABAC的主要改进为:Modified context model selection for transform coefficient levels、Multi-hypothesis probability estimation、Adaptive initialization for context models,下面分别进行介绍。(熵编码的知识真的极其匮乏,理解的也不透彻,推荐这个大神的,讲的很详细。[https://blog.csdn.net/Peter_Red_Boy/article/details/89684179])

1、转换系数级别的上下文模型选择

在HEVC中,变换单元(TU)的变换系数采用非重叠系数组(CG)编码,每个CG包含TU的4x4块系数,TU内的CGs和CG内的变换系数按照预先定义的扫描顺序编码,将变换系数级的编码分解为多个扫描遍历。
1、在第一次扫描遍历中,对第一个bin(用bin0表示,也称为significant_coeff _flag,表示系数的大小大于0)进行编码。
2、接下来,可以应用两个扫描遍历来编码第二个/第三个bin(分别用bin1和bin2表示,也称为coeff_abs_greater1_flagcoeff_abs_greater2_flag,表示系数的大小大于1、2)。
3、最后,如果需要,将调用两个扫描遍历来编码符号信息和系数的剩余值(也称为coeff_abs_level_remaining)
4、只有前三次扫描遍历中的bins才以常规模式编码,并在下面的描述中命名为常规bins。

在JEM1中,修改了常规bins的上下文模型选择方法。当在第i次扫描遍历中编码bini (i为0,1,2)时,上下文索引依赖于本地模板所覆盖的邻域中先前编码系数的第i个bins的值。更具体地说,上下文索引是根据相邻系数的第i个bin之和确定的,如上图所示本地模板包含多达五个空间相邻变换系数,其中x表示当前变换系数的位置,而xi(i为0到4)表示其五个相邻变换系数。为了捕捉不同频率下变换系数的特性,可以将一个TU分割成三个区域,并列出分配给每个区域的上下文索引,并且不论TU的大小,分割方法都是固定的。亮度和色度分量以类似的方式处理,但是使用不同的上下文模型集。

2、多假设概率估计(Multi-hypothesis probability estimation)

采用多假设概率更新模型的二进制算术编码时,两个概率P0P_0P0​和P1P_1P1​与每个上下文模型相关联。它们是独立更新的,公式如下:

MiM_iMi​是一个控制概率更新速度的参数,k表示概率的精度(这里等于15),概率P是用于区间细分的二进制算术编码器,是2个假设的组合:

3、初始化上下文模型

在HEVC中,上下文模型的初始概率状态可以通过复制先前编码的帧来初始化,而不是使用固定的表来初始化上下文。更具体地说,在对每张图片的中心位置CTU进行编码之后,将存储所有上下文模型的概率状态,并可选地用作后面帧上每个对应上下文模型的初始状态。
在JEM中,每个帧间编码帧的初始概率状态都是从先前编码的帧中复制而来的,要求该帧具有与当前帧相同的帧类型和相同的帧级别QP。

测试环境

1、参考软件

JEM的主要软件是在HEVC标准参考软件HM16.6的基础上开发的,其软件可以从以下链接下载:[https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM]
(这是我自己下载VTM的链接)

2、测试环境

JEM实验的常用测试条件目前是基于某篇文档中定义的已知HEVC常用测试条件,并进行了以下改进:
1、只进行10bit深度的编码。
2、有Low-delay P编码和 Low-delay B编码。
3、使用交叉分量线性模型(CCLM)预测特性时,将全I帧(AI)和随机存取(RA)配置的色度QP值偏移+1。

终于看完了JVET-A1001文档,会有一些理解不清楚的地方,希望在后面的学习中慢慢改进,加油!!

VVC/H.266会议提案阅读(一)之JVET-A1001相关推荐

  1. VVC/H.266代码阅读(VTM8.0)(三. Slice到CTU的处理 )

    本文是本系列的第三篇博客,内容是分析从Slice到CTU的处理代码. 该系列相关博客为: VVC/H.266代码阅读(VTM8.0)(一. NALU提取) VVC/H.266代码阅读(VTM8.0)( ...

  2. 第一个将Palette Mode引入VVC(H.266),阿里云在JVET会议上引起关注

    从应用需求出发,帮助标准组织制定出更贴近云端业务需求的标准 视频压缩标准是一个重要且深具挑战的研究方向.从过去的存储到当前的网络带宽,视频标准每一代的更新进步对科技应用都有很大的影响.但同时随着几十年 ...

  3. VVC/H.266 项目文件的生成及有用网址

    H.266/VVC视频编码技术 小小柴的博客 VVCSoftware_VTM下载地址 生成项目文件 VVC与HEVC不同,从上述链接下载下来的参考软件并不包含build文件夹,需要使用cmake生成项 ...

  4. VVC学习之一:VVC/H.266的简介及VTM的使用方法

    前言 跟JVET以及VVC标准已经有一段时间了,准备写一些VVC的一些学习心得,主要也是锻炼一下自己,如果有理解不对的地方,希望各位大佬不吝赐教. VVC的发展历程 VVC是从HEVC发展而来,其目标 ...

  5. 【十五】 VVC/H.266 | 帧内帧间联合预测技术CIIP详解

    文章目录 一.基本原理 二.具体技术细节 一.基本原理 CIIP是帧内帧间联合技术,这属于Merge系列技术的一个分支.该技术需要计算当前预测块的帧内预测值,即用传统的帧内预测模式去预测当前块的像素值 ...

  6. VVC/H.266参考软件VTM算法描述 [译](一. CTU划分部分)

    Algorithm description for Versatile Video Coding and Test Model 8 (VTM 8) [译自JVET-Q2002] 3.2 Partiti ...

  7. VVC/H.266帧间模式(二):Merge mode with MVD (MMVD)

    一.MMVD综述 在VVC中引入了具有运动矢量差的合并模式(MMVD),merge模式的运动信息将会用于当前CU的预测样值得生成.在传送skip标志和merge标志位之后立刻传送MMVD标志来表明是否 ...

  8. 浅谈VVC(H.266)的变换模块

    转自:https://zhuanlan.zhihu.com/p/108792210 本文将分为四个部分对下一代视频编码标准Versatile Video Coding(VVC)的变化模块进行介绍.第一 ...

  9. 【十六】 H.266/VVC | VVC中帧间预测技术详细总结 | 所有帧间预测技术代码汇总

    前言 ​ 帧间预测是影响视频编码性能的关键环节之一,H.266/VVC帧间预测在传统只能应对简单的平移运动的基础上,采用了仿射运动模型,可以描述更加复杂的缩放.旋转等运动.为了更好的发挥合并模式(Me ...

最新文章

  1. Android初级教程Activity小案例(计算器乘法运算)
  2. Hive的基本操作-内置函数
  3. 代码的世界中,一个逻辑套着另外一个逻辑,如何让每一种逻辑在代码中都有迹可循?...
  4. 关于生活,可能有用的40条建议
  5. [转载] 一文彻底搞懂父类引用指向子类对象问题
  6. 还在一个个复制数据?——今天教你控制台爬数据!
  7. 金蝶kis商贸采购单商品代码_金蝶大包装小包装多单位计量单位换算关系用法,看了这个秒懂...
  8. torch.nn模块介绍
  9. 基于C51控制蜂鸣器
  10. mac 安装 JDK
  11. android抠图软件,手机抠图软件
  12. 浩海技术激活工具可激活Windows10系统和office
  13. 悉尼大学计算机科学专业,悉尼大学计算机科学专业
  14. ML Hyperlink
  15. 显卡内存一直被占用解决方式
  16. 程序员个人外包合同模板 私活模板
  17. poi excel 导出设置边框,自定义背景色,自定义字体
  18. cat /etc/sysconfig/network-scripts/ifcfg-ens33
  19. 武汉上海知名互联网公司面试心得体会
  20. 生活像一把无情刻刀改变了我们模样

热门文章

  1. Yolov系列之各个版本区别
  2. 论文阅读(2)Classification of pit and fissure for caries risk based on 3D surface morphology analysis
  3. 人生成功路上的二十五句格言
  4. 360html导入了不显示,“IE about协议被劫持,急救箱添加mshtml.dll文件提示没有要恢复的文件”的解决方案...
  5. java程序CPU使用率高可能的原因
  6. 网络舆情分析公司哪家的系统好推荐
  7. starlink(星链)技术
  8. windows自带的字体和简介
  9. 小程序深度研究报告:三大维度价值涌现,精准营销、唤起转化、连接线下
  10. 华硕游戏本rog幻x二合一评测怎么样