AV1技术学习:Loop Restoration Filter

环路恢复滤波器(restoration filter)适用于64 × 64、128 × 128 或 256 × 256 像素块单元,称为 loop restoration units (LRUs)。每个单元可以独立选择是否跳过滤波、使用维纳滤波器(Wiener filter)或使用自导滤波器(self-guided filter)。它应用于任何先前的环路滤波(Deblock、CDEF)后的重建像素。

1. Wiener Filter

维纳滤波器:在 LRU 上应用 7x7 可分离维纳滤波器,垂直和水平滤波器的滤波器参数由编码器决定,并在比特流中发出信号。由于对称和归一化约束,每个滤波器只需要发送三个系数。此外,需要注意的是,维纳滤波器对原点的权重幅度预计会更高,因此编解码器减少了用于较高抽头系数的位数,如下图所示:

Bit precision for Wiener filter parameters.

 2. Self-Guided Filter:

该方案对重构像素 X 进行简单滤波,生成两个去噪版本 X1 和 X2,很大程度上保留了边缘过渡。它们与重建像素的差值 (X1−X) 和 (X2−X) 被用来跨出一个子空间,在这个子空间上我们投影重建像素与原始像素的差值 (Xs−X),如下图所示。编码器获得的最小二乘回归参数被发送给解码器,解码器使用该参数基于已知的基数 (X1−X) 和 (X2−X) 建立 (Xs−X) 的线性近似。

Project the gap between the source pixels Xs and
reconstructed pixels X on to a subspace spanned by simple
denoising results, X1 − X and X2 − X. The parameters in red are the
ones configurable through bitstream syntax.

特别地,使用半径 r 和噪声方差 e 来生成 LRU 的去噪版本,如下所示。

1) 求得每个像素 x 周围 (2r + 1) × (2r + 1) 窗口中像素的均值 μ 和方差 σ2。

2) 计算去噪像素为

(r, e) 对有效地控制去噪滤波器的强度。使用 (r1, e1) 和 (r2, e2) 生成两组去噪像素,以向量形式X1和X2表示,它们由编码器选择并在比特流中发出信号。设X为重构像素形成的向量,X为源像素的向量。自导滤波器的公式为

参数 (α, β) 由编码器用最小二乘回归得到

其中

 其中参数(α, β)被发送到解码器以计算 Xr。

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

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

相关文章

pyenv-win | python版本管理,无需卸载当前版本

系统:windows,且已安装git。 使用 pyenv-win 在Windows中管理多个python版本,而无需卸载当前版本。安装步骤如下: 安装 pyenv-win 1. 安装 Git 和 pyenv-win: git clone https://github.com/pyenv-win/pyenv-win.git %USERPRO…

Word 导入导出

在实际的开发过程中,也会遇到导入导出的功能,今天就简单的做一下总结。 1.需求:将下面word 数据导入到数据库并进行存储 在Controller中 RequestMapping(value "/ImportWord")public RawResponseBodyObject ImportWord(HttpServl…

深入解析Linux目录结构及其功能

深入解析Linux目录结构 Linux 系统的目录结构采用层次化设计,从根目录 / 开始逐级扩展,了解和掌握这些目录的作用和内容有助于我们更好地管理和维护系统。本文将深入解析每个常见目录的功能,并提供相关命令和示例。 目录结构概览 根目录 / …

【BUG】已解决:ERROR: No matching distribution found for PIL

ERROR: No matching distribution found for PIL 目录 ERROR: No matching distribution found for PIL 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身&#xff0…

网络安全之扫描探测阶段攻防手段(二)

扫描探测 扫描探测阶段是攻击者对目标网络进行深入了解的关键步骤,同时也是防御者识别潜在威胁和加强安全防护的机会。 攻击端:技术原理和工具 端口扫描: 原理:攻击者使用端口扫描工具来识别目标网络中开放的端口,这…

css大屏设置中间元素四周渐变透明效果

css大屏设置中间元素四周渐变透明效果 四周透明效果: // 设置蒙版上下左右渐变显示mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 1) 90%, rgba(0, 0, 0, 0) 100%),linear-gradient(to bottom, rgba(0, 0, 0…

《Java初阶数据结构》----5.<二叉树的概念及使用>

前言 大家好,我目前在学习java。之前也学了一段时间,但是没有发布博客。时间过的真的很快。我会利用好这个暑假,来复习之前学过的内容,并整理好之前写过的博客进行发布。如果博客中有错误或者没有读懂的地方。热烈欢迎大家在评论区…

6.6 使用dashboard商城搜索导入模板

本节重点介绍 : 模板商城中搜索模板导入模板修改模板 大盘模板商城地址 免费的 地址 https://grafana.com/grafana/dashboards 搜索模板技巧 详情 导入dashboard 两种导入模式 url导入id导入json文件导入 导入 node_exporter模板 https://grafana.com/grafana/dashboa…

流量录制与回放:jvm-sandbox-repeater工具详解

在软件开发和测试过程中,流量录制与回放是一个非常重要的环节,它可以帮助开发者验证系统在特定条件下的行为是否符合预期。本文将详细介绍一款强大的流量录制回放工具——jvm-sandbox-repeater,以及如何利用它来提高软件测试的效率和质量。 …

Redis常见的数据类型及操作方式

一、通用命令 1)获取redis中所有key keys * 2)删除一个或多个key del key1 key2 ... 3)判断key是否存在 exists key 4)给key添加过期时间 expire key time 5)查看key剩余过期时间 ttl key 6) 查看redis内存…

RuoYi-Vue 全新 Pro 版本:清除url地址栏路由参数

问题:当前页面保存数据后,要清空当前地址栏的参数。 页面A开始跳转到B //页面A跳转this.$router.push({path: "你的path",query: {id: id,},}); 页面B开始接收数据 //页面B,在你需要的地方进行接收 this.$route.query.id 当点…

Python | Leetcode Python题解之第283题移动零

题目&#xff1a; 题解&#xff1a; class Solution:def moveZeroes(self, nums: List[int]) -> None:n len(nums)left right 0while right < n:if nums[right] ! 0:nums[left], nums[right] nums[right], nums[left]left 1right 1

SpringCloud之@FeignClient()注解的使用方式

FeignClient介绍 FeignClient 是 Spring Cloud 中用于声明一个 Feign 客户端的注解。由于SpringCloud采用分布式微服务架构&#xff0c;难免在各个子模块下存在模块方法互相调用的情况。比如订单服务要调用库存服务的方法&#xff0c;FeignClient()注解就是为了解决这个问题的…

汽车免拆诊断案例 | 2014 款上汽名爵 GT 车发动机无法起动

故障现象 一辆2014款上汽名爵GT车&#xff0c;搭载15S4G发动机&#xff0c;累计行驶里程约为18.4万km。该车因左前部发生碰撞事故进厂维修&#xff0c;更换损坏的部件后起动发动机&#xff0c;起动机运转有力&#xff0c;但无着机迹象。用故障检测仪检测&#xff0c;发现无法与…

初识c++:string类(2)

#本节主要讲解c&#xff1a;string类的模拟实现 全部代码的实现在最后面&#xff01;&#xff01;&#xff01;有需要的自己往下滑&#xff0c;自取&#xff01;&#xff01;&#xff01;1.string类的模拟实现 2.浅拷贝 3.深拷贝 目录 #本节主要讲解c&#xff1a;string类…

AI 辅助编程 Coding AI 辅助研发组织的技术蓝图

简简单单 Online zuozuo:欢迎商业合作 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo :联系我们:VX :tja6288 / EMAIL: 347969164@qq.com 文章目录 AI 辅助编程 Coding A…

VIsual Studio:为同一解决方案下多个项目分别指定不同的编译器

一、引言 如上图&#xff0c;我有一个解决方案【EtchDevice】&#xff0c;他包含两个&#xff08;甚至更多个&#xff09;子项目&#xff0c;分别是【DeviceRT】和【DeviceWin】&#xff0c;见名知意&#xff0c;我需要一个项目编译运行在RTOS上&#xff0c;譬如一个名叫INTime…

深入解析 Java 集合类:ArrayList、LinkedList、Vector

在 Java 编程中&#xff0c;集合类是非常重要的一部分。了解不同集合类之间的区别和适用场景&#xff0c;对于编写高效、健壮的代码至关重要。本文将深入探讨 ArrayList、LinkedList、Vector、Array 以及 Collection 和 Collections 之间的区别&#xff0c;帮助你在实际开发中做…

用重建大师进行空三解算时,引擎出现“不能访问目录或文件”怎么解决?

答&#xff1a;之前的工程还有在做的任务&#xff0c;可以更换任务目录重新提交空三试试。 重建大师是一款专为超大规模实景三维数据生产而设计的集群并行处理软件&#xff0c;输入倾斜照片&#xff0c;激光点云&#xff0c;POS信息及像控点&#xff0c;输出高精度彩色网格模型…

数据中心服务器搬迁团队

数据中心机房服务器搬迁&#xff0c;需要专业的数据中心机房服务器提供技术保障服务。友力科技&#xff08;广州&#xff09;有限公司&#xff0c;作为华南地区主流的数据中心服务商&#xff0c;专业从事数据中心机房搬迁服务。 数据中心机房搬迁涉及设备数量多、系统复杂&…