本文来自TCSVT2020文章《Extended Transform Skip Mode and Fast Multiple Transform Set Selection in VVC》

扩展TSM和MTS

扩展TSM

TSM( Transform Skip Mode)在HEVC version1中提出,用于屏幕内容编码(SCC)对4x4的块使用TSM可以提高编码效率。在HEVC RExt中TSM被扩展到32x32的块,导致计算复杂度大大增加。VVC中扩展TSM(类似HEVC RExt)到32x32的块,表1是VTM3的实验结果。

实验配置为All-Intra模式,其中class F序列为屏幕内容序列。由实验结果可知将TSM扩展到32x32的块可以提高编码效率,但代价是复杂度的提升。

MTS

MTS(Multiple Transform Set)最大的变换尺寸是32x32,且仅对亮度块有效。

TSM和MTS语法的区别

MTS在VVC中首先提出来,在CU级使用语法元素

表示是否使用MTS。最大变换尺寸是32x32,对于64x64的CU,需要划分为四个TU。MTS仅对亮度块有效,而TSM对亮度和色度都有效。

Code 1总结了TSM和MTS语法元素,其中c代表颜色分量,实线s表示从码流中解析该语法元素。

表示当时编码器必须传输语法元素表示是否使用TSM。

Unified MTS

Unified MTS将

三个语法元素融合为一个语法元素,如表2所示。

COde 2总结了相关语法元素。

COde 1的一个不同是,在COde 1中当

时编码器不会传输,其值自动设为0。TSM扩展到32x32的块正好匹配MTS,唯一的问题是MTS不能用于色度分量。分析可知对色度分量禁用TSM对编码效率影响很小。

表3是仅对亮度分量使用32x32的TSM的结果,和表1对比发现编码时间减少7%,而编码效果相近。因此,通过进度亮度使用TSM,Unified MTS可以很好的统一TSM和MTS。

快速模式选择

编码器实现MTS时,在二次编码时不会计算所有帧内模式。

Code 3所示,c(i)表示帧内模式i的RD cost,

表示编码器在一次编码是当前最优帧内模式的RD cost。当前实现中编码器会在一次编码时存储所有帧内模式的RD cost,然后通过和比较过滤掉一些模式。在二次编码中,编码器会对剩余的帧内模式测试MTS中所有的变换模式。Unified MTS在一次编码中进行快速模式选择,对于每个变换块编码器对所有的变换候选项计算L1-norm。

P表示当前变换块扫描位置的集合,l(p)表示给定扫描位置p处的变换系数。然后,编码器将变换候选项的L1-norm和DCT-II的L1-norm进行比较,过滤掉L1-norm大的候选项。

Code 4表示Unified MTS的快速模式决策过程,

是用户输入参数可以限制总共RD计算的次数,表示DCT-II的L1-norm。阈值和块尺寸有关,T是包含了不同尺寸块的阈值的集合。总的来说,Unified MTS的快速模式决策过滤掉变换模式候选项而不是像现在的方法过滤掉帧内模式。

实验结果

使用平台使用VTM3,QP={22,27,32,37},配置为AI和RA。其中Class F和TGM序列为屏幕内容序列,对屏幕内容序列开启IBC。

扩展TSM

表4是扩展TSM的结果,其结果和表3相同只是多了TGM序列。

Unified MTS

感兴趣的请关注微信公众号Video Coding

TCSVT2020:VVC中扩展TSM和快速MTS选择相关推荐

  1. VVC中块划分的快速编码

    新一代视频编码标准VVC中,灵活的分区是关键技术之一.与HEVC相比,仅分区就节省了8.5%的比特率.但是,增加的灵活性是以大量搜索空间扩展为代价的.本文概述了VVC中块划分的快速编码器选择策略,总共 ...

  2. VVC中的熵编码-JVET提案Q2002

    3.6 熵编码 在VVC 中,与HEVC中的设计相比,CABAC包含以下主要变化: CABAC 核心引擎 将变换块和变换跳过块的残差编码结构分开 变换系数的上下文建模 3.6.1 CABAC 核心引擎 ...

  3. VVC中对CU进行分类,同时进行分区模式选择

    在VVC中,对CU进行简单.普通和复杂块的分类,并进行水平.垂直划分模式选择或者直接跳过. 文章目录 引言 介绍 基于纹理特征的快速算法 1.自适应EPD 2.基于方向特征的多类型树的方向决策 不足 ...

  4. 511遇见易语言乐玩插件找字扩展FindStrEx和快速找字扩展FindStrFastEx

    找字扩展FindStrEx和快速找字扩展FindStrFastEx是相对于找字和快速找字的,模块结构并没有什么不同,主要是返回的是找到的多个字的坐标,我们需要分割数组分别获取,不能使用GetX和Get ...

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

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

  6. react 快速上手开发_React中测试驱动开发的快速指南

    react 快速上手开发 by Michał Baranowski 通过MichałBaranowski React中测试驱动开发的快速指南 (A quick guide to test-driven ...

  7. 如何在 Linux 中扩展 XFS 根分区

    在某些情况下,/ 分区在 Linux 中磁盘空间不足.即使压缩和删除旧的日志文件也无济于事,因此在这种情况下,我们别无选择,只能扩展 / 文件系统.在本文中,我们将演示如何在 Linux 系统中扩展不 ...

  8. ai进入轮廓模式怎么退出_详解AI中扩展、扩展外观、轮廓化描边、创建轮廓

    详解AI中扩展.扩展外观.轮廓化描边.创建轮廓 在学习AI软件中,有不少同学分不清扩展.扩展外观.轮廓化描边.创建轮廓这四个概念具体的功能区别,今天我们具体聊一下. 先说"扩展", ...

  9. 编写一个字节数的rtu C语言校验程序,Modbus通信协议中CRC校验的快速C语言算法

    Modbus通信协议中CRC校验的快速C语言算法 2004年第11期 福 建 电 脑 63 Modbus通信协议中CRC校验的快速C语言算法 孟开元 (西安石油大学计算机学院陕西西安710065) [ ...

最新文章

  1. 自定义spring kafka consumer 线程池
  2. 滴滴开源AI项目登上GitHub热榜,人机对话模型可从论文到产品部署无缝衔接
  3. 【Python】青少年蓝桥杯_每日一题_1.19_Python 求和
  4. spark中local模式与cluster模式使用场景_不可不知的Spark调优点
  5. 阿里云 Centos 7 PHP7环境配置 LNMP
  6. selenium通过autoit实现上传和下载
  7. 强烈建议大家把 CBCentralManager.h 里面的代理方法全部看一遍(就是翻译一遍,别偷懒)。@file CBCentralManager.h...
  8. python程序设计是干什么的_python程序员有学设计模式的必要吗?
  9. 暴力破解黄巴登录网站
  10. 单片机控制电机原理以及程序怎么写
  11. Atitit各种驱动的xdd tdd bdd设计 ATDD ddd v3 u66.docx Atitit各种驱动的xdd tdd bdd设计 ATDD ddd v2 s66 开发方法论与效率提
  12. Form嵌入到Panel里(C#)
  13. 华为设备配置VRRP,实现设备网关冗余备份
  14. 计算机辅助翻译与人工翻译论文,浅析计算机辅助翻译与纯人工翻译的利与弊
  15. 信息化知识中的重点:商业智能(BI)详解
  16. Android微信抢红包服务源码
  17. Prime triplets (Project Euler 196)
  18. unity算法面试_Unity笔试面试题目分享
  19. ServU 5.0的配置
  20. Android 淡出效果手写板

热门文章

  1. 哈工大计算金融本科新专业 | 全国首发
  2. Unity3D摄像机,键盘控制前后左右上下移动,鼠标控制旋转、放缩
  3. 订单管理系统审批----未整理
  4. 用计算机恶搞对话,如何恶搞朋友的电脑?超简单的vbs代码
  5. 【数字孪生】数字孪生十问:分析与思考
  6. 视图 setVisibility 用法
  7. 一幅长文细学HTML5
  8. 2019.1.12日 PYTHON多线程爬虫笔记
  9. Spark中的spark.sql.shuffle.partitions 和spark.default.parallelism参数设置默认partition数目
  10. Linux 之systemd服务简介