当前位置: 首页 > news >正文

如何在微软Edge浏览器上一键观看高清视频?

编者按:视频是当下最流行的媒体形式之一。但由于视频压缩、网络不稳定等原因,我们常常可以看到互联网上的很多视频其画面质量并不理想,尤其是在浏览器端,这极大地影响了观看体验。不过,近期微软 Edge 浏览器推出了一项新功能,一键就可以让浏览器中的视频变为高清版。这项神奇功能背后的技术秘诀是什么?今天,让我们一起来了解一下微软 Edge 视频超分辨率功能的“秘密武器”——来自微软亚洲研究院的智能视频增强工具集 DaVinci 2.0。


近期,微软 Edge 浏览器推出了一项新功能——视频超分辨率(VSR)。用户只需在 Edge 浏览器中开启 VSR 功能,就能够在浏览器端观看高清视频。即使是几十年前的360P、480P老电影,或者在网络不稳定被迫降低视频画质的情况下,用户也可以时刻享受高清体验。

VSR 功能的背后是来自微软亚洲研究院的智能化视频增强工具集“达芬奇(DaVinci)”。该功能在不占用网络带宽的情况下即可在用户端实时消除视频压缩的伪影,提高视频分辨率,从而整体提升用户浏览视频的视觉体验。

微软 Edge 视频超分辨率示例。针对低于 720P 分辨率的视频,开启 Edge 中的视频超分辨率功能,视频质量有了明显提升。

现在,就跟着微软 Edge 的节奏,让视频高清起来吧!

第一步,打开微软 Edge 浏览器;第二步,单击 Edge 地址栏中的高清图标并选择增强视频的切换开关;第三步,播放视频,享受高清体验。(注:视频超分辨率由 Edge 自动启用,用户可自行决定启用或禁用该功能)

启用或禁用视频超分辨率功能的流程

启用或禁用视频超分辨率功能的流程

*值得注意的是,受限于模型计算代价较高的限制,该功能目前仅针对具有相对高端显卡的台式机用户开放测试(需要 Edge Stable 版本不低于117,Edge Canary 版本不低于119)。同时,微软 Edge 团队也在不断努力,希望可以将该功能逐步开放给所有具有独立显卡、集成显卡的用户。

从特定视频域到开放域的挑战

据微软 Edge 团队调查,近四成用户曾表示在 Edge 浏览器观看视频时,网页上的视频质量较低,通常为 360P 或 480P,非常影响用户体验。为此,微软 Edge 团队希望与微软亚洲研究院开展合作,借助创新技术来提升 Edge 网页端所有低清视频的质量,给用户以高清体验。2022年微软亚洲研究院推出的智能视频增强工具集“达芬奇(DaVinci)”,能够实现视频超分辨率、视频插帧、压缩视频超分辨率等功能,很好的满足了微软 Edge 团队的需求。

DaVinci项目链接:https://github.com/microsoft/DaVinci

然而,在将 DaVinci 算法模型应用到产品的过程中存在着不小的挑战。DaVinci 1.0 主要是针对特定领域进行的训练,有明确的训练目标;特定领域的数据分布一致,所以模型的优化过程更加容易,优化的上限也更高;而且,高质量的垂直领域的数据更易于收集,可以获得大量公开的训练数据。但进入到 Edge 应用场景下的开放域(open domain),技术难度呈指数级增加。在开放域中,视频类别众多,视觉差异较大,比如用户在 Edge 中打开的可能是包含动物、植物、建筑、车辆等众多元素在内的影视、动画、视频会议等各种不确定类型的视频。要让一个模型补充不同类别视频的细节,是 DaVinci 首先要面对的难题。

与此同时,模型的容量是否足够大,可以支撑真实场景下的大量数据,并捕捉到不同的数据模式?如何定义开放域?开放域需要包含哪些特定领域的数据?评估指标是什么?这些都是 DaVinci 模型需要克服的问题。

更适合开放域视频的超分辨率算法

DaVinci 1.0 视频超分辨率模型的目的是在从低质量(LQ)或低分辨率的对应帧预测的高质量(HQ)帧的过程中来学习映射函数。然而,为了从高质量的训练数据集生成对应的低质量/低分辨率的视频帧,现有方法大多是使用预定义的算子(如,双三次下采样,bicubic down-sampling)来模拟退化过程,得到 LQ 输入。这就限制了模型在真实视频场景上的通用性,特别是对于具有高压缩率的视频流数据。所以在 DaVinci 2.0 的视频超分辨率技术中,微软亚洲研究院的研究员们将视频压缩也纳入到模型中,并通过运行具有不同压缩策略的几个流行视频编解码器来合成 LQ-HQ 视频对,以训练模型。

同时,受到大语言模型的启发,研究员还利用自监督的 LQ-HQ 复原范式(restoration paradigm),使用来自不同类别的15万个视频片段对模型进行了预训练。通过进一步考虑来自不同编码器的视频压缩伪影类型,使得 DaVinci 模型可以显著恢复具有大范围低质量的不同视频内容。

为了进一步提高模型的视觉质量,研究员们采用两阶段训练策略。其中,第一阶段旨在恢复结构信息(如,对象的边缘和边界),第二阶段则针对高频纹理(如,树叶和毛发),使用视觉感知和生成对抗性目标进行优化。

由于当前该领域中的现有指标,如 LPIPS(Learned Perceptual Image Patch Similarity, 学习感知图像块相似度)和 FVD(Fréchet Video Distance,弗雷歇视频距离)不能完全反映人类的视觉偏好,因此研究员们构建了一个端到端流水线(pipeline),用于视频增强任务的主观评估,以便更好地了解改进后的 DaVinci 模型性能,评估它在开放域视频场景中所发挥的作用。

具体而言,就是让参与者在十个类别中标注出他们对真实场景视频数据不同方法的偏好。参与者不仅要考虑每个视频帧的静态质量,还要考虑动态质量,这对于改善用户体验尤为重要。该流水线评估方法表明,相比于浏览器中默认的双线性放大,超过90%的用户更喜欢使用 DaVinci 2.0 模型来提升视频质量。

在微软亚洲研究院与微软 Edge 团队的通力合作下,Edge 浏览器的 VSR 功能基于 DaVinci 2.0 超分辨率模型,可以提升所有不确定内容类型的视频质量,并且在不产生伪影的情况下,提高视频清晰度,为 Edge 用户提供丝滑、高清的视频体验。

从视频超分辨率到视频生成

尽管 DaVinci 1.0 并没有涉及到如此大规模的低质量数据预训练,但 DaVinci 2.0 在 Edge 浏览器中的成功应用,证明了模型具有从低质量预训练到大规模高清数据应用的高泛化能力。这也进一步促进了微软亚洲研究院研究员们将创新技术应用到更多开放域场景的探索。

“DaVinci 2.0 对视频增强功能的创新,实现了对开放域视频图像细节的补充。基于视频帧间具有本质关联的特性,DaVinci 最终实现了高清结果。接下来,我们希望对技术进行更深入的探索,最终达到从0到1的创造,”微软亚洲研究院高级研究员傅建龙表示。

在以视频为主流媒介的大趋势下,微软亚洲研究院希望未来还可以给用户提供自动生成视频、创建个性化视频内容的工具。在全方位为用户提供极致的视频观看体验的同时,也帮助用户从事更复杂、更具创造力的内容创作工作。

相关文章:

如何在微软Edge浏览器上一键观看高清视频?

编者按:视频是当下最流行的媒体形式之一。但由于视频压缩、网络不稳定等原因,我们常常可以看到互联网上的很多视频其画面质量并不理想,尤其是在浏览器端,这极大地影响了观看体验。不过,近期微软 Edge 浏览器推出了一项…...

Telegram BoT的主流项目盘点

目录 DeFi 类 数据分析类 空投埋伏交易 其他 Telegram Bot赛道的发展趋势预测 Telegram BoT赛道发展较快,具体来看可以分为DeFi 类、数据分析类、空投埋伏交易类以及其他。 DeFi 类 Unibot(交易)、Banana Gun、WagieBot(交…...

PTA 甲级 1044 Shopping in Mars

题目链接 思路&#xff1a;前缀和滑动窗口 #include<bits/stdc.h> #define MAXN 100010 using namespace std; int a[MAXN];int main(){int n,m;cin>>n>>m;//n数量 m金额for(int i1;i<n;i){int t;cin>>t;a[i]a[i-1]t;//前缀和}vector<pair<in…...

Linux学习之MyCat实现分库分表

环境准备 先准备一套MySQL主从服务器&#xff0c;可参考MySQL主从配置配置MyCat服务 资源下载 网盘链接: https://pan.baidu.com/s/1cLTMH_e1-6loc_gF9ZNHTg?pwda63n 提取码: a63n MyCat配置 # 1&#xff09;安装mycat软件 //安装jdk [rootmycat58 upload]# yum -y insta…...

DirectX12(d3d12)初始化

一、前置要求 Windows 10及以上(安装有DirectX12)VisualStudio 2022 二、DirectX12入门 1.引用头文件 #include<Windows.h> #include<d3d12.h> #include<dxgi1_4.h>2.注册窗口类并初始化窗口 这里我们调用Windows API 通过应用程序的句柄来注册一个唯一…...

算法通关村-----回溯模板如何解决排列组合问题

组合总和 问题描述 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。candidates 中的 同一个 数字可以 无限…...

【1++的C++进阶】之智能指针

&#x1f44d;作者主页&#xff1a;进击的1 &#x1f929; 专栏链接&#xff1a;【1的C进阶】 文章目录 一&#xff0c;什么是智能指针二&#xff0c;为什么需要智能指针三&#xff0c;智能指针的发展 一&#xff0c;什么是智能指针 要了解智能指针&#xff0c;我们先要了解RA…...

一百七十九、Linux——Linux报错No package epel-release available

一、目的 在Linux中配置Xmanager服务时&#xff0c;执行脚本时Linux报错No package epel-release available 二、解决措施 &#xff08;一&#xff09;第一步&#xff0c;# wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm &#xff08;二&…...

【AI视野·今日CV 计算机视觉论文速览 第248期】Mon, 18 Sep 2023

AI视野今日CS.CV 计算机视觉论文速览 Mon, 18 Sep 2023 Totally 83 papers &#x1f449;上期速览✈更多精彩请移步主页 Interesting: &#x1f4da;Robust e-NeRF,处理高速且大噪声事件相机流的NERF模型。(from NUS新加坡国立) 稀疏噪声事件与稠密事件数据的区别&#xff1a;…...

解决Vue项目中的“Cannot find module ‘vue-template-compiler‘”错误

1. 问题描述 在Vue项目中&#xff0c;当我们使用Vue的单文件组件&#xff08;.vue文件&#xff09;时&#xff0c;有时会遇到以下错误信息&#xff1a; ERROR: Cannot find module vue-template-compiler这个错误通常发生在我们使用Vue的版本不匹配或者缺少必要的依赖模块时。…...

tensorflow基础

windows安装tensorflow anaconda或者pip安装tensorflow&#xff0c;tensorflow只支持win7 64系统&#xff0c;本人使用tensorflow1.5版本&#xff08;pip install tensorflow1.5&#xff09; tensorboard tensorboard只支持chrome浏览器&#xff0c;而且加载过程中可能有一段…...

spring_注解笔记

spring使用注解开发 文章目录 1.前提1 Bean2 属性注入3 衍生的注解4.自动装配5 作用域 1.前提 步骤1&#xff1a; 要使用注解开发&#xff0c;就必须要保证AOP包的导入 步骤2&#xff1a; xml文件添加context约束 步骤3&#xff1a; 配置注解的支持 <context:annotation-…...

c++运算符重载

目录 运算符重载的基本概念 重载加号运算符() 类内实现 类外实现 运算符重载碰上友元函数 可重载和不可重载的运算符 可重载的运算符 不可重载的运算符 重载自加自减运算符(a a) 智能指针 重载等号运算符&#xff08;&#xff09; 重载等于和不等运算符&#xff08…...

vue子组件向父组件传参的方式

在Vue中&#xff0c;子组件向父组件传递参数可以通过自定义事件和props属性来实现。下面是一些关键代码示例&#xff1a; 1. 使用自定义事件&#xff1a; 在子组件中&#xff0c;通过 $emit 方法触发一个自定义事件&#xff0c;并传递参数。 <template><button cli…...

代码随想录Day41| 343. 整数拆分 |

343. 整数拆分 class Solution { public:int integerBreak(int n) {vector<int> f(n1,0);f[2]1;for(int i3;i<n;i){for(int j1;j<i-1;j){f[i]max(f[i],max(f[i-j]*j,(i-j)*j));}}return f[n];} }; 96. 不同的二叉搜索树 class Solution { public:int numTrees(int…...

工厂模式-(简单工厂模式)

首先看一下设计模式的六大原则 设计模式的六大原则 1、开闭原则&#xff08;Open Close Principle&#xff09; 开闭原则就是说对扩展开放&#xff0c;对修改关闭。在程序需要进行拓展的时候&#xff0c;不能去修改原有的代码&#xff0c;实现一个热插拔的效果。所以一句话概…...

V8引擎是如何提升对象属性访问速度的?

JavaScript 中的对象是由一组组属性和值的集合&#xff0c;从 JavaScript 语言的角度来看&#xff0c;JavaScript 对象像一个字典&#xff0c;字符串作为键名&#xff0c;任意对象可以作为键值&#xff0c;可以通过键名读写键值。 然而在 V8 实现对象存储时&#xff0c;并没有…...

彩色相机工作原理——bayer格式理解

早期&#xff0c;图像传感器只能记录光的强弱&#xff0c;无法记录光的颜色&#xff0c;所以只能拍摄黑白照片。 1974年,拜尔提出了bayer阵列&#xff0c;发明了bayer格式图片。不同于高成本的三个图像传感器方案&#xff0c;拜尔提出只用一个图像传感器&#xff0c;在其前面放…...

IDEA中DEBUG技巧

Debug 介绍 Debug 设置 如上图标注 1 所示&#xff0c;表示设置 Debug 连接方式&#xff0c;默认是 Socket。Shared memory 是 Windows 特有的一个属性&#xff0c;一般在 Windows 系统下建议使用此设置&#xff0c;相对于 Socket 会快点。 ## Debug 常用快捷键 Win 快捷键M…...

人工智能训练师

人工智能训练师是一个较新的职业&#xff0c;2020年2月才被正式纳入国家职业分类目录。他们主要负责在人工智能产品使用过程中进行数据库管理、算法参数设置、人机交互设计、性能测试跟踪及其他辅助作业。 这个职业的背景源于AI公司从客户&#xff08;用户&#xff09;那里获取…...

【业务功能118】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere-OpenELB部署及应用

OpenELB部署及应用 一、OpenELB介绍 网址&#xff1a; openelb.io OpenELB 是一个开源的云原生负载均衡器实现&#xff0c;可以在基于裸金属服务器、边缘以及虚拟化的 Kubernetes 环境中使用 LoadBalancer 类型的 Service 对外暴露服务。OpenELB 项目最初由 KubeSphere 社区发…...

Unity中Shader的模板测试

文章目录 前言什么是模板测试1、模板缓冲区2、模板缓冲区中存储的值3、模板测试是什么&#xff08;看完以下流程就能知道模板测试是什么&#xff09;模板测试就是在渲染&#xff0c;后渲染的物体前&#xff0c;与渲染前的模板缓冲区的值进行比较&#xff0c;选出符合条件的部分…...

Scala 高阶:Scala中的模式匹配

一、概述 Scala中的模式匹配&#xff08;case&#xff09;类似于Java中的switch...case&#xff0c;但是Scala的模式匹配功能更为强大。通过模式匹配&#xff0c;可以匹配更复杂的条件和数据结构&#xff0c;包括常量、类型、集合、元组等。而 Java 的 switch 语句只能用于匹配…...

分子生物学——分子机器

分子生物学——分子机器 文章目录 前言一、2016年度诺贝尔化学奖1.1. 介绍1.2. 什么是分子机器&#xff1f;1.3. 分子机器的意义 总结 前言 对于本次搜集分子生物学领域的一个诺贝尔奖的有关内容的作业 参考文献&#xff1a; https://www.cas.cn/zt/sszt/2016nobelprize/hxj/2…...

【简历优化】这套「实习、初级、中级」测试工程师求职简历模板,建议收藏。

历时2年&#xff0c;7000粉丝问答&#xff0c;帮助上百位“刚培训毕业”、“1~3年经验”的软件测试伙伴&#xff0c;成功入职&#xff01; 我将这些问题内容&#xff0c;会持续更新记录在 「软件测试」求职指南 专栏。 求职简历中的误区 对于简历应该具备哪些模块&#xff0c…...

vue中展示json数据的方法

推荐插件&#xff1a;bin-code-editor (gitee.io) bug-1:编辑器无法显示数据 原因&#xff1a;组件层级套用太深&#xff0c;导致无法显示数据 解决办法&#xff1a;减少在孙子及后代组件中使用插件。...

【SG滤波】三阶滤波、五阶滤波、七阶滤波(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

2013 ~【VUE+ ElementUI】——【上传、下载】进度计算

【VUE ElementUI】——【上传、下载】进度计算 上传&#xff1a;FormData方式上传&#xff0c;监听 onUploadProgress下载&#xff1a;blob文件流下载&#xff0c;监听 onDownloadProgress 上传&#xff1a;FormData方式上传&#xff0c;监听 onUploadProgress <el-upload:…...

android可见即可说实现方案

依赖于科大讯飞的asr识别能力&#xff0c;使用Android无障碍服务获取页面文本作为热词&#xff0c;注册到讯飞api&#xff0c;注册过后语音识别到热词的asr返回,利用WindowManager和无障碍的点击实现可见即可说功能 ## &#x20;无障碍服务获取需要注册的热词package com..mo…...

Pikachu Burte Force(暴力破解)

一、Burte Force&#xff08;暴力破解&#xff09;概述 ​ “暴力破解”是一攻击具手段&#xff0c;在web攻击中&#xff0c;一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录&#xff0c;直到得到正确的结果。 为了提高…...

网站添加新闻/爱站网使用体验

在程序运行时,单击滚动条两端的箭头,会触发什么&#xff1f;VB中 急问~~单击滚动条控件的箭头按钮,滑块移动的单击滚动条控件的箭头按钮,滑块移动的幅度与 属性设置有关 A. smallchanA a是单击箭头时移动的幅度&#xff0c;所以是SMALL&#xff0c;就是小改变 d是点击滚动条空白…...

网站域名注册台湾/职业技术培训

系列文章目录 leetcode刷题&#xff1a;第一周 文章目录系列文章目录前言第一天1.二分查找2.第一个错误版本3.搜索插入位置第二天1.有序数组的平方2.轮转数组第三天1.移动零2.两数之和 II - 输入有序数组第四天1.反转字符串2.反转字符串中的单词 III第五天1.链表的中间结点2.删…...

龙岩网站建设/h5网站制作平台

1前言回弹法检测混凝土质量是非破损检测硬化混凝土抗压强度的一种最常用的方法&#xff0c;在工程建设中成为质量检测、质量监督和质量控制的重要方法。但在实际应用中发现&#xff0c;按照规范JGJ/T23&#xff0d;2011《回弹法检测混凝土抗压强度技术规范》(以下简称《规范》)…...

java做网站教程视频/永久免费google搜索引擎

http://linux.linuxidc.com/ 转载于:https://www.cnblogs.com/LJTbozai/p/3998427.html...

专业定制网站设计/mac923水蜜桃923色号

今天也深入学习了一下加密和解密&#xff0c;原理其实不算太明白&#xff0c;不过照做&#xff0c;就没啥问题。完全是参考上面的文档&#xff0c;有些步骤省略&#xff0c;不过还是学了不少东西。完成创建秘钥&#xff0c;利用公钥加密和解密。创建密钥gpg --gen-key你要求输入…...

做网站需要懂什么/河南seo技术教程

1.按照份数划分list /*** 1> 按照份数---划分list* param source* param num 想要划分成多少份* return*/public static <T> List<List<T>> splitListForNum(List<T> source,int num){List<List<T>> resultnew ArrayList<List<…...