AV1技术学习:Transform Coding

对预测残差进行变换编码,去除潜在的空间相关性。VP9 采用统一的变换块大小设计,编码块中的所有的块共享相同的变换大小。VP9 支持 4 × 4、8 × 8、16 × 16、32 × 32 四种正方形变换大小。根据预测模式选择由一维离散余弦变换 (DCT) 和非对称离散正弦变换 (ADST) 核组合构成的一组可分离的二维变换类型。AV1继承了VP9中的变换编码方案,并在变换块大小和变换核方面扩展了其灵活性。

一、Transform Block Size

AV1 将最大变换块大小扩展到 64 × 64。最小变换块大小仍然是 4×4。此外,还支持 N × N/2、N/2 × N、N × N/4、N/4 × N 的矩形变换块大小。

AV1 对所有的帧间编码块采用递归变换块划分方法,捕获局部固定区域,提高变换编码效率。
初始变换块大小与编码块大小匹配,除非编码块大小大于64 × 64,在这种情况下,使用 64 × 64 变换块大小。对于亮度分量,最多允许划分两次。N × N、N × N/2、N × N/4编码块的递归划分规则如下图所示。

帧内编码块继承了统一的变换块大小方法,即所有变换块具有相同的大小。与帧间编码的情况类似,最大变换块大小与编码块大小相匹配,并且对于亮度可以向下划分两次。方形和矩形编码块大小的可用选项如下图所示。

 色度分量在统计上的变化要小得多。因此,变换块尺寸设置为使用可用最大变换块尺寸。

二、Transform Kernels

和 VP9 中每个编码块只有一个变换核类型不同,AV1允许每个变换块可以独立选择自己的变换核。将二维可分离变换核扩展为四个一维变换核的组合:DCT、ADST、flipped ADST (FLIPADST)和 identity transform (IDTX),得到16个二维变换核。FLIPADST 是 ADST 变换核的反转。变换核的选择是基于统计和适应各种边界条件。DCT核被广泛应用于信号压缩,并且近似于一致相关数据的最优线性变换 Karhunen-Loeve 变换(KLT)。另一方面,ADST 近似于假设单侧平滑的 KLT,因此适合编码一些帧内预测残差。类似地,FLIPADST 从另一端捕获单侧平滑。此外 IDTX 可以适应在块中包含尖锐变换并且DCT和ADST都无效的情况。此外,IDTX与其他一维变换相结合,提供了一维变换本身,因此可以更好地压缩残差中的水平和垂直模式。下图给出了维度 N = 8 时四个一维变换核对应的波形。

即使使用 SIMD ,逆变换也占解码器计算成本的很大一部分。蝶形结构允许在普通矩阵乘法上大幅度减少乘法运算,即从O(N2)减少到O(NlogN),其中N是变换维数。因此,它非常适合大的变换块大小。注意,由于推导的原始 ADST 无法对蝶形结构进行分解,因此 AV1 在变换块大小为 8 × 8 及以上时采用了和图24所示的 ADST 的变体。

当变换块大小较大时,边界效应不明显,此时所有正弦变换的变换编码增益基本收敛。因此只有 DCT 和 IDTX 用于尺寸为32 × 32及以上的变换块。

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

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

相关文章

免费分享一套微信小程序图书馆座位预约管理系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】,帅呆了~~

大家好,我是java1234_小锋老师,看到一个不错的微信小程序图书馆座位预约管理系统(SpringBoot后端Vue管理端),分享下哈。 项目介绍 随着移动互联网技术的飞速发展和智能设备的普及,图书馆服务模式正在经历深刻的变革。本论文旨在…

从PyTorch官方的一篇教程说开去(3.3 - 贪心法)

您的进步和反馈是我最大的动力,小伙伴来个三连呗!共勉。 贪心法,可能是大家在处理陌生问题时候,最容易想到的办法了吧? 还记得小时候,国足请了位洋教练发表了一句到现在还被当成段子的话:“如…

第2章-数学建模

目录 一、数据类型 【函数】: (1)find()、rfind()、index()、rindex()、count() (2)split()、rsplit() (3)join() (4)strip()、rstrip()、lstrip() (5&…

【Python】sqlite加密库pysqlcipher3编译安装步骤

目录 说明准备工作openssl编译sqlite tclsetup.py修改quote_argumentopenssl路径 安装加密示例代码测试附录参考 说明 pysqlcipher3是针对Python 3使用的pysqlcipher的一个分支, 尽管仍然维护对Python 2的支持。它仍然处于测试阶段, 尽管这个库包含的最…

请你谈谈:spring bean的生命周期 - 阶段5:BeanPostProcessor前置处理-自定义初始化逻辑-BeanPostProcess后置处理

BeanPostProcessor的postProcessBeforeInitialization方法是在bean的依赖注入(即属性填充)完成后,但在bean的初始化回调(如PostConstruct注解的方法或InitializingBean接口的afterPropertiesSet方法)之前被调用的。 具…

vue3角色路由封装

在市面上很多网站都是左侧菜单栏+左侧内容页的样式,同时具有很多个角色,只是左边菜单栏显示的内容不一致罢了,有些人会单独写俩个页面来显示不同的角色,但是这样页面复用性不高,这个时候我们就需要动态路由…

easyexcel的读写操作

easyexcel是基于java的读写excel的开源项目 --读写也可理解为上传和下载 写操作 一、引入依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.0.5</version> </dependency> 二、封…

力扣 19删除链表倒数第N个结点

思路 双指针法&#xff0c;快指针用于与慢指针拉开距离&#xff0c;慢指针用于删除元素&#xff0c;越过慢指针后面的元素。 具体删除时&#xff0c;应该注意如果倒数第N个结点是头结点的话&#xff0c;slow指向的就是头结点&#xff0c;没有吧办法用 slow->next slow-&…

sql_exporter通过sql收集业务数据并通过prometheus+grafana展示

下载并解压安装sql_exporter wget https://github.com/free/sql_exporter/releases/download/0.5/sql_exporter-0.5.linux-amd64.tar.gz #解压 tar xvf sql_exporter-0.5.linux-amd64.tar.gz -C /usr/local/修改主配置文件 cd /usr/local/ mv sql_exporter-0.5.linux-amd64 s…

Electron 的open-file事件

在 Electron 中,open-file 事件是一个重要的事件,它允许开发者在应用程序已经运行的情况下,通过文件打开请求(如双击文件或在命令行中使用 open 命令打开文件)来捕获文件路径。以下是对 open-file 事件的详细解析: 触发条件 应用已经打开。用户通过双击与应用程序关联的…

google 浏览器插件开发简单学习案例:TodoList

参考&#xff1a; google插件支持&#xff1a; https://blog.csdn.net/weixin_42357472/article/details/140412993 这里是把前面做的TodoList做成google插件&#xff0c;具体网页可以参考下面链接 TodoList网页&#xff1a; https://blog.csdn.net/weixin_42357472/article/de…

SwiftSage:参考人脑双系统,结合快思和慢想的智能体,解决复杂任务同时降低成本

SwiftSage&#xff1a;参考人脑双系统&#xff0c;结合快思和慢想的智能体&#xff0c;解决复杂任务同时降低成本 提出背景解法拆解子解法1&#xff1a;SWIFT模块子解法2&#xff1a;SAGE模块模块整合和决策树 SwiftSage 工作流程效果 论文&#xff1a;SWIFTSAGE: A Generative…

5G赋能新能源,工业5G路由器实现充电桩远程高效管理

随着5G技术的广泛应用&#xff0c;新能源充电桩的5G应用正逐步构建起全新的生态系统。在数字化转型的浪潮中&#xff0c;新能源充电桩行业正迎来数字化改革。工业5G路由器的引入&#xff0c;为充电桩的远程管理提供了强有力的技术支持&#xff0c;新能源充电桩5G路由器网络部署…

共享充电桩语音ic方案,展现它的“说话”的能力

随着电动汽车的普及&#xff0c;充电设施的便捷性、智能化需求日益凸显&#xff0c;共享充电桩语音IC应运而生&#xff0c;成为连接人与机器、实现智能交互的桥梁。本文将为大家介绍共享充电桩语音ic的概述、应用词条以及优势&#xff0c;希望能够帮助您。 一、NV170D语音ic概述…

选购指南:如何挑选最适合的快手矩阵系统

在短视频风潮席卷的今天&#xff0c;快手作为其中的佼佼者&#xff0c;吸引了无数创作者和商家的目光。然而&#xff0c;想要在快手上脱颖而出&#xff0c;仅凭内容和创意是远远不够的。一个强大且适合的快手矩阵系统&#xff0c;将是你通往成功的重要钥匙。那么&#xff0c;如…

SEO域名外链生成工具PHP源码

两款不同版本的SEO超级外链工具PHP源码&#xff0c;网址外链-seo外链推广工具源码&#xff0c;SEO网站推广外链工具源码SEO域名外链生成工具PHP源码 _ 博客趣两款不同版本的SEO超级外链工具PHP源码&#xff0c;网址外链-seo外链推广工具源码&#xff0c;SEO网站推广外链工具源码…

Web前端:HTML篇(一)

HTML简介&#xff1a; 超文本标记语言&#xff08;英语&#xff1a;HyperText Markup Language&#xff0c;简称&#xff1a;HTML&#xff09;是一种用于创建网页的标准标记语言。 您可以使用 HTML 来建立自己的 WEB 站点&#xff0c;HTML 运行在浏览器上&#xff0c;由浏览器…

批量打断相交线——ArcGISpro 解决方法

在数据处理&#xff0c;特别是地理空间数据处理或是任何涉及图形和线条分析的场景中&#xff0c;有时候需要把相交的线全部从交点打断一个常见的需求。这个过程对于后续的分析、编辑、或是可视化展现都至关重要&#xff0c;因为它可以确保每条线都是独立的&#xff0c;避免了因…

.NET下支持多框架的托盘功能NotifyIconEx(WPF / WinForms / Avalonia / WinUI / MAUI / Wice)

支持 WPF / WinForms / Avalonia / WinUI / MAUI / Wice 应用。 先看效果&#xff1a; using NotifyIconEx;var notifyIcon new NotifyIcon() {Text "NotifyIcon",Icon Icon.ExtractAssociatedIcon(Process.GetCurrentProcess().MainModule?.FileName!)! }; not…

【论文速读】| LLMCloudHunter:利用大语言模型(LLMs)从基于云的网络威胁情报(CTI)中自动提取检测规则

本次分享论文&#xff1a;LLMCloudHunter: Harnessing LLMs for Automated Extraction of Detection Rules from Cloud-Based CTI 基本信息 原文作者&#xff1a;Yuval Schwartz, Lavi Benshimol, Dudu Mimran, Yuval Elovici, Asaf Shabtai 作者单位&#xff1a;Ben-Gurion…