Board logo

标题: [新闻] NV 资深研究员详解 DLSS2.0 原理 [打印本页]

作者: huzhiyangqaz    时间: 2020-4-3 18:07     标题: NV 资深研究员详解 DLSS2.0 原理

https://zhuanlan.zhihu.com/p/123642175

原来准备在 GTC 上的演讲现在放出来了,有挺多细节,这 DLSS2.0 的算法和我想象的区别挺大的
作者: Lucifer6E    时间: 2020-4-3 18:58

集装箱那个视频好震撼
作者: Search    时间: 2020-4-3 19:27

DLSS技术基本任天堂下个机种.会直接活用

包含API.开发工具会直接搭载

现在是DLSS 2.0.之後还会再度改版升级

可以达成只运算540P 透过DLSS 升级画质效果比原生1080P还好

有限的CPU达成高祯数


~对低功耗便携机来说.DLSS这助益相当庞大~


nvidia也有技术文说明任天堂NS如何移植巫师3.GDC的报告


任天堂当年找nvidia签了20年长约.不是没有原因的.CPU再垃圾.还有GPU能打

其实一些高端电视也有类似的技术

源自於CELL的东芝超解像技术.但现在也不只有东芝才有

一些原生720P的东西.透过超解像达成清晰度提高而不模糊

[ 本帖最后由 Search 于 2020-4-3 19:28 编辑 ]
作者: Tobar    时间: 2020-4-3 19:28

Posted by Xiaomi MIX 3
挺有意思,那这个神经网络学习完的海量成果,是放在驱动里面还是打包在游戏里面啊?
作者: Lucifer6E    时间: 2020-4-3 19:42

这文章也没讲什么具体怎么实现的,就是把其他解决方案都数落了一遍
作者: wjl1023    时间: 2020-4-3 19:52

引用:
原帖由 Search 于 2020-4-3 19:27 发表
DLSS技术基本任天堂下个机种.会直接活用

包含API.开发工具会直接搭载

现在是DLSS 2.0.之後还会再度改版升级

可以达成只运算540P 透过DLSS 升级画质效果比原生1080P还好

有限的CPU达 ...
扯cpu干什么
作者: ppkkhh    时间: 2020-4-3 19:55

posted by wap, platform: Android
引用:
原帖由 @Search  于 2020-4-3 19:27 发表
DLSS技术基本任天堂下个机种.会直接活用

包含API.开发工具会直接搭载

现在是DLSS 2.0.之後还会再度改版升级

可以达成只运算540P 透过DLSS 升级画质效果比原生1080P还好

有限的CPU达成高祯数


~对低功耗便携机来说.DLSS这助益相当庞大~


nvidia也有技术文说明任天堂NS如何移植巫师3.GDC的报告


任天堂当年找nvidia签了20年长约.不是没有原因的.CPU再垃圾.还有GPU能打

其实一些高端电视也有类似的技术

源自於CELL的东芝超解像技术.但现在也不只有东芝才有

一些原生720P的东西.透过超解像达成清晰度提高而不模糊
20年长约是哪的消息?有来源嘛?
作者: huzhiyangqaz    时间: 2020-4-3 19:58

posted by wap, platform: iPhone
引用:
原帖由 @Lucifer6E  于 2020-4-3 19:42 发表
这文章也没讲什么具体怎么实现的,就是把其他解决方案都数落了一遍
你没仔细看吧,我觉得能公开讲的已经都讲的很清楚了

本质原理和 taa 类似,同样是时序超采样,但里面的 Heuristic 算法从人手动设计换成了神经网络深度学习生成,所以多帧合成时能更好的利用各帧画面里的有效信息,最终效果就要比传统方法好上不少
作者: huzhiyangqaz    时间: 2020-4-3 20:05

posted by wap, platform: iPhone
而且你看使用了 dlss2.0 后图形渲染的 pipeline,dlss 在后处理之前进行,所有的后处理效果都是全分辨率的,这也跟普通的抗锯齿和超采样算法区别很大
作者: Lucifer6E    时间: 2020-4-3 20:06

引用:
原帖由 huzhiyangqaz 于 2020-4-3 19:58 发表
posted by wap, platform: iPhone
你没仔细看吧,我觉得能公开讲的已经都讲的很清楚了

本质原理和 taa 类似,同样是时序超采样,但里面的 Heuristic 算法从人手动设计换成了神经网络深度学习生成,所以多帧合成时 ...
DLSS1.0不就是这么干的吗,2.0怎么进化成这样的?用DLSS2.0的功耗有多少?
作者: ginaamix    时间: 2020-4-3 20:08

posted by wap, platform: GOOGLE Nexus 4
https://tieba.baidu.com/p/6594606585

文刀秋二介绍DLSS的讲座录像
先总结下TAA的常见用途
1、边缘抗锯齿
2、高光抗锯齿/压制PBR高频闪烁
3、低分辨率拉伸到高分辨率
4、给简单的随机采样方法去噪/分摊渲染开销,比方说毛发,透明物体
5、给复杂的随机采样方法去噪/分摊渲染开销,比方说光追,体积光


DLSS能做到1,2,3,4
其中1,2,3秒杀TAA几个来回,4能做到什么程度不清楚,5做不到


DLSS 1.0(好像)只使用spatial信息,2.0开始使用temporal信息,所以效果好了一大截
输入和TAA差不多,其一是运动矢量,其二是输入图像也需要使用低差异序列做抖动,比如halton序列,此外要根据原生分辨率拉伸采样点
一个比较有意思的细节是即便在540p渲染,贴图也必须使用最高清的,或者说mip选择必须根据目标分辨率决定,否则DLSS会给你重建出糊的贴图


上文提到DLSS做不到5,这个会带来很多麻烦,以UE4为例,UE4里很多特性都依赖全局TAA去噪,如果换用DLSS之后必须改成每个特性使用单独的TAA pass,这样的话对有些引擎移植DLSS会带来不少工作量,这可能也是为什么DLSS的UE4版本是单独分支,因为要改不少地方。


这讲座没提到什么DLSS技术细节,更有价值的是对TAA的分析,英伟达同一个组上礼拜写了个TAA的综述可以看看,里面提到TAA的糊很大程度其实来源于color clamping,这我先前也不知道
作者: achen126    时间: 2020-4-3 20:08

posted by wap, platform: iPad
我感觉potplayer播720p的视频都像dlss技术,2k显示器看着观感挺好的!反而我把1080p同样码率的视频播起来观感还不如用它二压的720p,绝对是potplayer后台优化了的,亲测,我硬盘一堆毛片!好多低码率1080p的压到720反而画质更好
作者: huzhiyangqaz    时间: 2020-4-3 20:12

posted by wap, platform: Chrome
引用:
原帖由 @Lucifer6E  于 2020-4-3 20:06 发表
DLSS1.0不就是这么干的吗,2.0怎么进化成这样的?用DLSS2.0的功耗有多少?
具体的算法细节不可能讲的吧,这属于核心技术了,nv 连发相关论文的计划都还没有

现在知道的就是这个进化步子迈的有点大,一下子从鸡肋变真香了
作者: 加州IT男    时间: 2020-4-3 20:14

posted by wap, platform: Chrome
任天堂次世代可以入场了
作者: lrj2u    时间: 2020-4-3 20:47

那下一代ns不就可以做到主机游戏的特效啦?ns做到1080p分辨率,然后540p渲染,这么低的负载压力,只要特效支持,那真是没什么压力了。看来任天堂都有光追了,游戏性的光追!
作者: 第N个新来的小P孩    时间: 2020-4-3 20:54

posted by wap, platform: Samsung
这贴感觉卖哥会进来指点江山……
作者: nkaito    时间: 2020-4-3 20:55

引用:
原帖由 ginaamix 于 2020-4-3 20:08 发表
posted by wap, platform: GOOGLE Nexus 4
https://tieba.baidu.com/p/6594606585

文刀秋二介绍DLSS的讲座录像
先总结下TAA的常见用途
1、边缘抗锯齿
2、高光抗锯齿/压制PBR高频闪烁
3、低分辨率拉伸到高分辨 ...
为什么要对像素做抖动不是很懂
扩张特征空间吗
作者: 342401    时间: 2020-4-3 21:25

posted by wap, platform: Android
就是超分辨率技术啊,业界一直在搞这玩意,这是现在为止最好的算法了
看文刀秋二那意思,后面还会有ai插帧
dlss提升100%,插帧再提升100%
那就是3t的显卡性能相当于12t的?
作者: wjl1023    时间: 2020-4-3 21:36

插帧的话难免需要之后帧,既然文中说这个技术不算延迟渲染(为了低延迟),那插帧的效果就不如超采样了
作者: 342401    时间: 2020-4-3 21:42

posted by wap, platform: Android
引用:
原帖由 @wjl1023  于 2020-4-3 21:36 发表
插帧的话难免需要之后帧,既然文中说这个技术不算延迟渲染(为了低延迟),那插帧的效果就不如超采样了
dlss,taa都是基于多帧的,渲染流水线都有最少2帧的余量的,也就是说你屏幕上看到的是都是过去2帧之前的画面了,只要把一帧计算时间控制在4ms以下插进去就没问题。
作者: wjl1023    时间: 2020-4-3 21:47

引用:
原帖由 342401 于 2020-4-3 21:42 发表
posted by wap, platform: Android
dlss,taa都是基于多帧的,渲染流水线都有最少2帧的余量的,也就是说你屏幕上看到的是都是过去2帧之前的画面了,只要把一帧计算时间控制在4ms以下插进去就没问题。
dlss是基于过去的多帧,没有所谓的余量,先去看原文
作者: 342401    时间: 2020-4-3 22:04

posted by wap, platform: Android
引用:
原帖由 @wjl1023  于 2020-4-3 21:47 发表
dlss是基于过去的多帧,没有所谓的余量,先去看原文
看了原文啊,当然要有余量,dlss也是后处理,需要时间计算的,dlss和taa都需要当前帧信息,然后结合过去帧,把当前帧重新计算改写再输出。那么插帧呢,一样,插的那一帧可以结合dlss合并计算,因为是深度学习嘛,同时计算出插帧和超分辨率的效果。只要够快,就不会有延迟。看算法和学习的结果了。
作者: wjl1023    时间: 2020-4-3 22:07

引用:
原帖由 342401 于 2020-4-3 22:04 发表
posted by wap, platform: Android
看了原文啊,当然要有余量,dlss也是后处理,需要时间计算的,dlss和taa都需要当前帧信息,然后结合过去帧,把当前帧重新计算改写再输出。那么插帧呢,一样,插的那一帧可以结合dl ...
我说的延迟是指等待之后帧,用之前的帧加总不算延迟渲染,也不是余量
而插帧的话,没有之后帧的数据,也就是靠预测来推断,我不认为效果会好
作者: 342401    时间: 2020-4-3 22:16

posted by wap, platform: Android
引用:
原帖由 @wjl1023  于 2020-4-3 22:07 发表
我说的延迟是指等待之后帧,用之前的帧加总不算延迟渲染,也不是余量
而插帧的话,没有之后帧的数据,也就是靠预测来推断,我不认为效果会好
在当前帧和之前帧插进去一帧,不需要预测啊
本来显卡输出就不可能当前帧计算结束立即输出,都有两帧左右的后处理时间,那么你只要所有的后处理时间做到2帧甚至1帧以内,就没问题。对于60帧的游戏1帧延迟也就是16ms,fps都足够
作者: wjl1023    时间: 2020-4-3 22:25

引用:
原帖由 342401 于 2020-4-3 22:16 发表
posted by wap, platform: Android
在当前帧和之前帧插进去一帧,不需要预测啊
本来显卡输出就不可能当前帧计算结束立即输出,都有两帧左右的后处理时间,那么你只要所有的后处理时间做到2帧甚至1帧以内,就没问题。 ...
如果生成源没有经过后处理,那插出来的这帧也要等待后处理,而这一帧需要比源头更早完成所有处理,这个插队应该怎么做?
作者: 342401    时间: 2020-4-3 22:29

posted by wap, platform: Android
插出来的这帧不需要后处理啊,和dlss同时出来,因为是深度学习啊,可以把超分辨率和插帧放到一个步骤里利用同样的前后帧信息完成。
作者: wjl1023    时间: 2020-4-3 22:31

引用:
原帖由 342401 于 2020-4-3 22:29 发表
posted by wap, platform: Android
插出来的这帧不需要后处理啊,和dlss同时出来,因为是深度学习啊,可以把超分辨率和插帧放到一个步骤里利用同样的前后帧信息完成。
啥?1帧经过后处理,3帧经过后处理,插出来的2帧源自未经后处理的1 3,这体验也太诡异了吧?
作者: 342401    时间: 2020-4-3 22:42

posted by wap, platform: Android
引用:
原帖由 @wjl1023  于 2020-4-3 22:31 发表
啥?1帧经过后处理,3帧经过后处理,插出来的2帧源自未经后处理的1 3,这体验也太诡异了吧?
你自己糊涂了吧,当前帧0计算完毕,交给后处理,结合前两帧-1,-2计算出新的0帧和-0.5帧,然后传输到缓存队列,由显卡按顺序输出即可,这里有延时,但延时可控
作者: wjl1023    时间: 2020-4-3 22:51

引用:
原帖由 342401 于 2020-4-3 22:42 发表
posted by wap, platform: Android
你自己糊涂了吧,当前帧0计算完毕,交给后处理,结合前两帧-1,-2计算出新的0帧和-0.5帧,然后传输到缓存队列,由显卡按顺序输出即可,这里有延时,但延时可控
-0.5帧应该在0帧前输出对不对?
-0.5帧被0和-1帧(假设就用2帧计算出插帧)生成时,0帧还没有进入后处理流水线
显然-0.5和0帧都要经过后处理,那么怎么做,才能让后生成的-0.5帧比0帧更早完成后处理呢?只能让-0.5帧优先,这样就增加了延迟

[ 本帖最后由 wjl1023 于 2020-4-3 22:55 编辑 ]
作者: 342401    时间: 2020-4-3 22:58

posted by wap, platform: Android
引用:
原帖由 @wjl1023  于 2020-4-3 22:51 发表
0.5帧应该在0帧前输出对不对?
0.5帧被0和1帧(假设就用2帧计算出插帧)生成时,0帧还没有进入后处理流水线
显然0.5和0帧都要经过后处理,那么怎么做,才能让后生成的0.5帧比0帧更早完成后处理呢?只能让0.5帧优先,这样就增加了延迟
不需要哪个更早,对于深度学习,可以利用0帧和-1帧同时计算出-0.5和新的0帧结果,只要输送到显示缓存队列里两个帧都有,显卡按顺序输出即可。

本帖最后由 342401 于 2020-4-3 23:00 通过手机版编辑
作者: wjl1023    时间: 2020-4-3 22:59

引用:
原帖由 342401 于 2020-4-3 22:58 发表
posted by wap, platform: Android
不需要哪个更早,只要输送到显示缓存队列里两个帧都有,显卡按顺序输出即可。
不嫩按顺序,2是1 和3 插出来的,但是顺序是123,不是132
作者: ginaamix    时间: 2020-4-3 23:01

posted by wap, platform: GOOGLE Nexus 4
引用:
原帖由 @nkaito  于 2020-4-3 20:55 发表
为什么要对像素做抖动不是很懂
扩张特征空间吗
不知道,纯转载。。。问问原作者?
作者: c35byx    时间: 2020-4-3 23:19

gpu不错啊
作者: ValveG    时间: 2020-4-4 10:43

这种技术贴就看不到N家精神股东了




欢迎光临 TGFC Lifestyle (http://club.tgfcer.com/) Powered by Discuz! 6.0.0