AVS3变换之IST和ISTS

news2024/9/22 17:32:25

IST(Implicit Selected Transform)是AVS3中新增的针对intra块的变换工具,IST对intra块提供了两种可分离的变换核,编码器根据RDO选择最优的变换核,但是对于选中的变换核不在码流中传输其索引,而是将其索引隐藏在非零变换系数的奇偶性中(Parity of the Number of Non-zero Cofficients,PNNC)。解码端根据PNNC得到对应的变换核。

IST


由于DCT-II对于intra块的变换不是最优的,对于角度预测DCT-II不能很好的完成能量集中。而DST-VII能很好地解决这种情况,因此DST-VII被引入了intra块的变换。

为了节省传输所选变换核索引的比特,使用PNNC来表示变换核。解码端统计非零变换系数数量然后按下表得到对应的变换核,如果是偶数就使用DCT-II,如果是奇数则使用DST-VII。

但是量化后PNCC不总是能和选定的变换核一致,为了解决这个问题需要对量化后非零变换系数数量的奇偶性进行调整,也就是将一个非零系数置零或将0设成一个非零值。选哪个系数来调整奇偶性呢?理论上遍历所有系数的所有可能情况就能得到最优结果,但是复杂度太高,一个简化的方法如下:

  1. 检查PNNC是否和所选变换对应,如果是则结束,否则进入2。

  2. 如果非零系数数量大于1,则将最后一个非零系数置零。

  3. 如果非零系数等于1,则将第一个0系数设为1或-1(由量化前系数的符号决定)。

实验结果


在HPM5.0上测试IST,all-intra和RA配置下分别取得0.64%和0.35%的gain如表4表5,对于纹理和运动丰富的序列(如Tango2,MarketPlace和City序列)gain相等更高。

ISTS


ISTS(Implicted Selected Transform Skip)和ISP类似,也是针对intra块,当开启ISTS时如果CU使用了transform skip模式则不直接传输标志位,而是将其隐含在PNCC中。

当时PNNC奇偶性只有两种情况,无法区分出DST-VII、DCT-II和TS这三种情况,为了解决这个问题在帧级区分DST-VII和TS。具体来说,在预处理时对帧内每个块计算hash值,通过hash值可以判断该帧内容是自然场景还是屏幕内容场景,如果该帧是自然场景则PNNC奇数表示DST-VII,如果是屏幕场景PNNC奇数表示TS。

对于自然场景,变换后系数采用反向zig-zag扫描,这是因为变换后能量主要集中在左上角,这种扫描方式会使非零系数集中。而屏幕内容变换后能量分布有所不同,因此采用风车扫描(Windmill-shaped Reordering,WR)。

WR扫描如上图所示,具体为,

C(x,y)=C'(W-1-x,H-1-y)

其中C'表示扫描前的像素,W和H分别表示块的宽和高。WR扫描中并不是所有像素位置都会改变,例如(W/2-1,H/2)和(W/2,H/2-1)位置处的像素不变。

实验结果

实验平台为HPM8.0,测试序列分为4类,TGM(Test and Graphics with Motion),MC(Mixed Content),G(Gaming content)和CC(Camers Captured),LD和RA配置下结果如下,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/138316.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

day34【代码随想录】贪心算法之跳跃游戏、跳跃游戏||、K次取反后最大化的数组和

文章目录前言一、跳跃游戏(力扣55)二、跳跃游戏 II(力扣45)三、K次取反后最大化的数组和(力扣1005)前言 1、跳跃游戏 2、跳跃游戏|| 3、K次取反后最大化的数组和 一、跳跃游戏(力扣55&#xff…

火热的低代码到底是什么?

低代码风头正紧,也是最近一段时间跟云原生一起被热捧,不管你是做后端开发、还是前端设计、销售、售前,如果你没接触过低代码你都不好意思说自己在软件领域工作,这边文章从我的角度聊聊低代码是什么、以怎么样的方式开发、及低代码…

react笔记_05函数组件与类组件的区别之capture value特性

函数组件与类组件在写法没有好坏之分,性能差距也几乎可以忽略,而且 React 会长期支持这两种写法。 React的函数式组件和类组件之间的根本区别 在心智模型上。 函数式组件具有 capture value 特性。 capture value特性 Capture Value 从字面上可以理解…

【已解决】office提示你的许可证不是正版,你可能是盗版软件的受害者?

三步即可先看效果步骤1、下载工具2、找到 修复Office许可证明问题3、填入KMS主机,点击修复如何查看正在使用的 KMS 主机地址?先看效果 步骤 1、下载工具 工具下载:https://otp.landian.vip/zh-cn/ 2、找到 修复Office许可证明问题 3、填入…

PEM格式RSA密钥解析(一)

Base64转16进制格式 后缀是.PEM 的数字证书是 BASE64 编码的,以 ASCII 码来表示。常见的证书如下所示(以 RSA1024 为例): 私钥: ----BEGIN RSA PRIVATE KEY----- MIICWwIBAAKBgHU4CF6yvqb5WBhwcYfvh/o3NpwcSJlcfj0nIZ…

下载神器IDM安装与使用(保姆级教程)

下载神器IDM安装与使用(保姆级教程) 文章目录下载神器IDM安装与使用(保姆级教程)前言一、下载地址二、IDM是什么?三、作用与特点四、安装步骤总结前言 众所周知,下载工具是大家电脑里必装的软件之一。 但大…

大数据时代,制造业人要知道,为什么有ERP还要上SRM系统

每个公司都是在一个供应链中,每个公司都有自己的上下游。如今,企业间的竞争已不再是单一企业的单打独斗,而是由价值链与价值链、供应链与供应链的较量。上游厂商(供应商)直接影响到公司的产品与服务的价格及竞争能力。…

零售企业全域数据打通最佳实践

在数字化转型的实战中,零售企业面临着巨大的挑战,过去三年线下流量锐减,甚至不少门店关停,不少零售企业布局线上,但是这个也给零售企业带来另外一个挑战:IT资源有限的情况下,线上&线下的流量…

密码学_RC4算法

在密码学中,RC4(来自Rivest Cipher 4的缩写)是一种流加密算法,密钥长度可变。它加解密使用相同的密钥,因此也属于对称加密算法。RC4是有线等效加密(WEP)中采用的加密算法,也曾经是TL…

电脑看不了视频?视频恢复,3个方案解决

一般电脑播放不了视频,原因大多是Flash插件损坏了,因为电脑上的视频和所有的Flash都需要Flash插件才可以正常使用。电脑看不了视频怎么办?你需要对Flash进行修复或者重新安装它。一起来看看下面三个方案,解决电脑视频看不了的问题…

传输系统WSON倒换时的路由震荡问题【脱敏版】

【摘要】在省干传输OXC系统中使用WSON倒换时,测试过程中发现WSON倒换时存在电路频繁up down的现象,研究发现倒换时光信道建立时间过程中光信号不是一个稳定的状态,设备的色散补偿模块会在这个不稳态下出现异常,导致色散补偿模块不…

2023,出海企业,数据跨境传输如何实现合规?

随着防疫政策的优化,2023年出海企业开始加速海外业务,此前,浙江、四川、广东、江苏等地政府都纷纷出手“包机出海抢订单“。而伴随着企业的全球业务拓展,数据跨境活动日益频繁,跨境数据的安全风险也日益凸显&#xff0…

通过反射机制调用方法

package com.javase.reflect;import com.javase.service.UserService;import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.ResourceBundle;/*** 通过反射机制调用方法(必须掌握,五颗星*****&#…

小程序开发经验分享(2)前端开发

一、开发前的准备 开发环境:微信推出的官方开发工具。 申请 Appid :相关公司或个人申请到 Appid 后可以进行真机的调试和预览,否则只能在开发工具里进行调试。 备案域名和证书:微信小程序仅支持 https 协议,所以务必绑定含有证书的域名,才能在正式上线后进行使用。 二…

jumpserver源码包安装

cd /opt wget https://github.com/jumpserver/installer/releases/download/v2.20.1/jumpserver-installer-v2.20.1.tar.gz tar -xf jumpserver-installer-v2.20.1.tar.gz cd jumpserver-installer-v2.20.1 ​ vim config-example.txt 在config-example配置文件里配置mysql&…

nacos 2.2部署指南,并配置mysql数据库

首先进入到/opt cd /opt 1.下载安装包 wget https://github.com/alibaba/nacos/releases/download/2.2.0/nacos-server-2.2.0.tar.gz 2.解压 tar -zxvf nacos-server-2.2.0.tar.gz 3.修改配置 3.1修改为单机部署模式(默认为 vi /opt/nacos/bin/startup.sh 55行,示例: exp…

Cypress 安装及入门排坑指南

最近准备给公司项目做重构,原本是打算使用Jest来作为测试工具的,刚好无意之中接触到了Cypress这款测试工具,虽然用上它非常的不容易(简直是一波三折),但是用上了之后觉得真香啊。我们本篇文章就是讲Cypress…

C进阶_C语言_浮点数存储规则_浮点型在内存中的存储

在开始讲解之前,我们看一下常见浮点数的写法: 3.14159 1E10(它代表1.0乘以10的10次方) 浮点型家族里有float、double、long double类型。 浮点型的表示范围是多少?我们打开float.h就能看到(这里用everythi…

什么牌子的蓝牙耳机好?好用的蓝牙耳机排行

现如今,蓝牙耳机的用途越来越广泛,无论是追剧、游戏、通话、运动等,都能看到使用蓝牙耳机的人。在日常的使用中蓝牙耳机也逐渐取代有线耳机成为受人们欢迎的存在,那么,什么牌子的蓝牙耳机好?接下来&#xf…

功能强大的python包sklearn

1. sklearn简介sklearn是基于python语言的机器学习工具包,是目前做机器学习项目当之无愧的第一工具。 sklearn自带了大量的数据集,可供我们练习各种机器学习算法。 sklearn集成了数据预处理、数据特征选择、数据特征降维、分类\回归\聚类模型、模型评估等…