首页 > 其他分享 >H266/VVC 帧内预测中 MIP 技术

H266/VVC 帧内预测中 MIP 技术

时间:2025-01-13 23:00:41浏览次数:3  
标签:H266 矩阵 技术 像素 相乘 MIP VVC 向量

矩阵加权帧内预测 MIP

  1. 将深度学习技术应用到 VVC 中在在 2018 年 3 月份 JVET-J0034 提案中提出了 [AHG9: CNN-based driving of block partitioning for intra slices encoding],即利用 CNN 驱动帧内编码块进行预测分区。
    在这里插入图片描述在这里插入图片描述

  2. 矩阵加权预测 MIP(Matrix weighted intra prediction)是深度学习在 VVC 中的进一步应用, 是在 VVC 中首次提出的技术,在 2018 年 3 月份 JVET-J0037 提案中 [Intra Prediction Modes based on Neural Networks] 提出的技术。
    在这里插入图片描述在这里插入图片描述

  3. 此外在 2019 年 3 月中 JVET-N0217 提案 [Affine linear weighted intra prediction] 中也涉及到,此时技术命名还叫 ALWIP 技术,最终标准才改成 MIP 技术。MIP技术在VTM5.0软件中已经更新,并且只运用于帧内的亮度预测,在VTM5.0 代码中的模式名称为Mip模式。
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

  4. 该技术的核心就是利用深度学习训练矩阵,当前的亮度预测块的相邻采样点首先进行平均操作减少采样点数目,构成一个向量,然后该向量和视频序列集训练的一个参数矩阵相乘,通过该矩阵和向量相乘得到一个部分预测值的散点阵列,最后通过双线性插值生成出最终的预测值。

  5. 对于 WxH 块进行 MIP 操作,需要用到左侧 H 个重建像素和上方 W 个重建 像素,如果重建像素不可用则其生成方法和帧内预测一样。通过 MIP 生成预测信号需要三步:平均、矩阵向量相乘、线性插值。如图 9 所示 8x8 块示意图。
    在这里插入图片描述

    • 8x4 块的示意图:
      在这里插入图片描述
    • 16x16 块的示意图:
      在这里插入图片描述
    • 4x4 块示意图:
      在这里插入图片描述
  6. 领域像素平均:MIP 技术需要首先从左侧和上方参考行邻域像素通过邻域平均法获取参考样点;当 W=H=4 时,左边取 2 个上方取 2 个 共 4 个参考样点,其他情况左边取 4 个,上方取 4 个共 8 个参考样点。输入的原邻域上边界 bdrytop 和左边界 bdryleft 通过邻域平均法下采样得到 bdrytopred 和 bdryleftred。然后将bdrytopred 和 bdryleftred连接成向量。对于 4x4 块的向量长度为 4,其他块的向量长度为 8;向量连接方法如下,其中 mode 指的是 MIP-mode。
    在这里插入图片描述

  7. 矩阵向量相乘:通过上一步得到的向量和预先利用深度学习得到的矩阵相乘,再加上偏移量即得到预测信号;如下公式。
    p r e d r e d = A . b d r y r e d + b pred_{red} = A.bdry_{red} + b predred​=A.bdryred​+b

    • 其中 A 是一个预先训练好的矩阵,行数为 Wred.Hred;如果 W=H=4,则列数为 4,否则为 8;其中 W 和 H 为原始块的宽和高;Wred 和 Hred的定义如下:
      在这里插入图片描述

    • 矩阵 A 和偏移量 b 是从训练好的集合S0、S1、S2 中获取;根据块尺寸从不同的集合中获取 A 和 b,如下。
      在这里插入图片描述

    • S0 里含有 16 个 16x4 矩阵 Ai0,i∈ { 0 , … , 15 },和 16 个 16 维的向量 bi0,i∈ { 0 , … , 15 };用于 4x4 的块。

    • S1 里含 8 个 16x8 的 矩 阵Ai0,i∈ { 0 , … , 7 },和 8 个 16 维的向量bi0,i∈ { 0 , … , 7 },用于 4x8,8x4,8x8块。

    • S2 里 含 6 个 64 x 8 的矩阵Ai0,i∈ { 0 , … , 5 },和 6 个 64 维的向量bi0,i∈ { 0 , … , 5 },用于其他块。

    • 注意:在 H.266 最终标准中矩阵向量相乘中没有了偏移量 b,且S2里含 6 个 64x7 的矩阵。

  8. 线性插值:插值是一个上采样过程,矩阵向量相乘后的预测信号 predred 是一个 Wred.Hred 维的向量,首先将向量转为 Wred.Hred 矩阵,此时该矩阵的宽高是小于 W 和 H 的,最后需要利用线性插值使其维度恢复为 WxH;先水平插值再垂直插值,如图 9 的后半部分。

  9. MIP 技术涉及到的语法元素

    • predModeIntra:帧内每个 CU 都需要在码流中传输的标志位,标识是否采用 MIP 技术。
    • isTransposed:标识是否使用转置。
    • modeId:标识使用哪种矩阵 A。
  10. MIP 技术收益:在 VTM9.0 中可以达到 0.34% 的收益。
    在这里插入图片描述

  11. 在 VVenC 编码器中在 IntraSearch.cpp 文件中 estIntraPredLumaQT 函数应用 MIP 技术相关配置,并将配置变量赋值给xEstimateLumaRdModeList 函数。
    在这里插入图片描述
    在这里插入图片描述

  12. 在 VVenC 编码器中在 IntraSearch.cpp 文件中 xEstimateLumaRdModeList 函数中关于 MIP 的具体算法实现逻辑。其中 initIntraMip 函数用来对参考像素进行下采样,getNumModesMip 函数用来获取当前 CU 的不同 MIP 模式数目,predIntraMip 函数用来矩阵运算、上采样并计算得到最终的预测像素。
    在这里插入图片描述

标签:H266,矩阵,技术,像素,相乘,MIP,VVC,向量
From: https://blog.csdn.net/yanceyxin/article/details/145116708

相关文章

  • H266/VVC 帧内预测中 ISP 技术
    帧内子划分ISPISP技术是在JVET-2002-v3提案中详细介绍其原理,在VTM8中完整展示算法。ISP是线基内预测(LIP)模式的更新版本,它改善了原始方法在编码增益和复杂度之间的权衡,ISP算法的核心原理就是利用较近的像素点作为参考像素。帧内子分区(ISP)根据块的大小,将亮度帧内预测......
  • 未来大气污染,CMIP6数据驱动WRF和WRF-Chem模式
     第六次国际耦合模式比较计划(CMIP6)基于不同的共享社会经济路径(SSP)及最新的人为排放趋势,预估了不同社会共享路径和温室气体排放情景下的未来气候变化趋势,这些结果为模拟预估未来气候变化背景下大气污染的演变趋势提供了可能。对模式比较计划的全球气候预估数据进行动力降尺度,结......
  • Sigrity System SI SerialLink模式进行Mipi协议仿真分析操作指导-mipi_m_single_post
    SigritySystemSISerialLink模式进行Mipi协议仿真分析操作指导-mipi_m_single_postSigritySystemSISerialLink模式提供了10个协议合规性检查工具模板,用户可以将根据实际应用替换模板中的SPICE文件,然后进行协议仿真分析,同时软件还提供了目标结果的模板MASK以及该协议需要......
  • Sigrity System SI SerialLink模式进行Mipi协议仿真分析操作指导-mipi_m_xt_pre
    SigritySystemSISerialLink模式进行Mipi协议仿真分析操作指导-mipi_m_xt_preSigritySystemSISerialLink模式提供了10个协议合规性检查工具模板,用户可以将根据实际应用替换模板中的SPICE文件,然后进行协议仿真分析,同时软件还提供了目标结果的模板MASK以及该协议需要检查......
  • H266/VVC 帧内预测中 WAIP 技术
    宽角度帧内预测模式WAIP在HEVC中,由于帧内预测块都是正方形的所以各个角度预测模式使用的概率是相等的。而在VVC中,帧内预测块可能是矩形块,对于水平类的块(宽大于高)上边的参考像素使用概率大于左边参考像素的使用概率,对于垂直类的块(高大于宽)上边的参考像素使用概率小于左......
  • H266/VVC标准的编码结构介绍
    在H266/VVC标准的编码结构这篇博客中介绍不够详细,故写一篇补充介绍编码结构,后续继续补充。介绍随着视频分辨率的不断提高以及沉浸式视频、VR视频等技术的发展导致视频码率急剧上升,因此ITU-T和ISO/IEC于2015年成立了JVET工作组并开始H.266/VVC编码标准的研制......
  • 启动应用程序出现WMIPICMP.dll找不到问题
    在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包文件不完整造成,原因可能是某些系统防护软件将重要的DLL文件识别为可疑,阻止并放入了隔离单里,还有一些常见的DLL文件缺少是因为系统没有安装齐全的微软运行库,还有部分情况是因为......
  • 启动应用程序出现wmipcima.dll找不到问题
    在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包文件不完整造成,原因可能是某些系统防护软件将重要的DLL文件识别为可疑,阻止并放入了隔离单里,还有一些常见的DLL文件缺少是因为系统没有安装齐全的微软运行库,还有部分情况是因为......
  • Model MIP Puzzle Game
    Theaimofthispracticalistomodelapuzzlegamecalled‘Stitch’asaMIPproblem,usingthelinprogfunctioninscipy.WewillthenextendourMIPmodeltoproducenew‘Stitch’puzzles.Youwillalsoprovideareport,intendedtobereadbyanon-spe......
  • 龙芯2K1000 MIPS i2c-gpio驱动调试
    龙芯2K1000MIPSi2c-gpio驱动为什么不建议使用i2c控制器驱动i2c还是项目中最常用的接口,不论是内核驱动还是用户态接口。例如rtc,温度传感器,光模块、eeprom等都是大量使用i2c接口。以上器件读写的数据量都不大,2k1000提供的i2c控制器驱动也没暴露出什么大问题。后来有两个项......