CN114332250A - 使用时间累积来对动态光线追踪场景进行去噪的历史箝位 - Google Patents
使用时间累积来对动态光线追踪场景进行去噪的历史箝位 Download PDFInfo
- Publication number
- CN114332250A CN114332250A CN202110901632.5A CN202110901632A CN114332250A CN 114332250 A CN114332250 A CN 114332250A CN 202110901632 A CN202110901632 A CN 202110901632A CN 114332250 A CN114332250 A CN 114332250A
- Authority
- CN
- China
- Prior art keywords
- frame
- pixel values
- fast
- history
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000009825 accumulation Methods 0.000 title claims abstract description 27
- 238000000034 method Methods 0.000 claims abstract description 89
- 230000008569 process Effects 0.000 claims abstract description 48
- 238000002156 mixing Methods 0.000 claims abstract description 25
- 230000015654 memory Effects 0.000 claims description 48
- 230000002123 temporal effect Effects 0.000 claims description 26
- 239000000872 buffer Substances 0.000 claims description 23
- 230000001186 cumulative effect Effects 0.000 claims description 17
- 238000009877 rendering Methods 0.000 claims description 12
- 239000013598 vector Substances 0.000 claims description 10
- 239000000203 mixture Substances 0.000 claims description 4
- 238000001914 filtration Methods 0.000 abstract description 19
- 230000033001 locomotion Effects 0.000 description 27
- 238000012545 processing Methods 0.000 description 21
- 238000013459 approach Methods 0.000 description 13
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 239000003795 chemical substances by application Substances 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 7
- 230000003068 static effect Effects 0.000 description 7
- 239000003086 colorant Substances 0.000 description 6
- 238000009826 distribution Methods 0.000 description 6
- 238000009499 grossing Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
Abstract
本发明公开了使用时间累积来对动态光线追踪场景进行去噪的历史箝位。本文中所呈现的方法可减少生成的图像序列中引入的时滞,图像序列利用时间累积以在动态场景中去噪。可以生成快速历史帧连同针对去噪处理生成的完整历史帧,其中,使用具有显著更高的混合权重的指数移动平均值来累积所述快速历史帧。此快速历史帧可用以确定可用于在重投影之前或之后箝位对应完整历史值的箝位窗。可以调整快速历史混合权重以控制图像序列中相对于时滞的噪声量。在一些实施例中,快速历史值和完整历史值之间的差也可以用于确定要应用的空间滤波的量。
Description
背景技术
随着显示设备的质量——连同用户期望——继续增加,需要不断地增加要显示的内容的质量。这可包括诸如移除噪声和减少渲染的图像中的伪影的任务,诸如可对应于视频游戏或动画的内容帧。某些常规方法利用诸如时间累积之类的过程来尝试对不同效果(诸如阴影、反射、环境遮挡、以及用于光线追踪应用的直接照明)进行去噪。然而,在许多情形中,这可能导致动态场景的时滞,这可能由于此累积不能快速且准确地考虑动态场景中的变化而导致明显的重影。用于管理时滞的现有方法或者未能充分地减少不希望的影响,或者已经增加了不希望的附加计算要求和复杂性。
附图说明
将参照附图描述根据本公开的各个实施例,在附图中:
图1A、1B、1C和1D示出了根据至少一个实施例的为动态场景渲染的图像;
图2示出了根据至少一个实施例的示例图像生成***;
图3A、3B、3C、3D和3E示出了根据至少一个实施例的示例箝位过程中的阶段;
图4示出了根据至少一个实施例的示例历史箝位过程;
图5示出了根据至少一个实施例的包括箝位感知模糊能力的示例图像生成***;
图6示出了根据至少一个实施例的用于将箝位感知模糊应用于图像的过程;
图7示出了根据至少一个实施例的示例数据中心***;
图8示出了根据至少一个实施例的计算机***;
图9示出了根据至少一个实施例的计算机***;
图10示出了根据一个或更多个实施例的图形处理器的至少部分;以及
图11示出了根据一个或更多个实施例的图形处理器的至少部分。
具体实施方式
根据各个实施例的方法可克服现有图像生成方法中的缺陷。具体地,各个实施例可以提供对图像伪影(如可以通过光线追踪或其他图像生成或渲染技术引入的伪影)的改进去噪。在用于生成动态场景的图像或视频帧的***中,可存在由场景的改变引起的不同伪影。时间累积可以用于尝试最小化这些伪影中的至少一些伪影的存在。时间累积方法可保留来自序列中的先前生成的帧的信息以尝试提供至少某一量的时间平滑,其中当前帧中的像素的色彩与来自先前帧的色彩混合以尝试最小化重影和其他此类伪影,以及提供所述场景中的色彩的更平滑过渡。当混合来自当前渲染的帧和历史的帧的色彩时,可能期望在确定混合权重时达到适当的平衡。如果当前帧的色彩经加权太重,那么可减小平滑的有效性,从而导致伪影增加。相反,如果历史色彩的加权太重,那么可能存在不合需要的时滞。
作为示例,考虑图1A至图1D的图像。如图1A的图像100中所描绘,在墙壁上存在光源102,其可对应于窗口、照明海报、镜子或其他此类光源。在附近地板上可见的是区域104,其中所发射或反射的光更亮,从而导致光源使那些像素的着色更亮。在一些实施例中,这可对应于其中当前视图中的对象的位置可改变的动态场景。例如,在图1B的图像120中,可能存在虚拟相机的摇摄运动(pan motion)或其他这样的运动,其使得在图像中的光源102的位置相对于先前帧移动。许多渲染引擎将检测此运动或提供关于此运动的信息,如可与场景中的不同对象的运动向量有关。然而,此运动信息可以不指示其他相关变化——如可以对应于例如但不限于阴影、照明、反射或环境遮挡——这可能由于此运动而改变,如可能是由于涉及场景中的一个或更多个移动对象的光线追踪。如果应用时间平滑,那么历史数据的影响可致使此区或对象(例如,亮区104)的像素的改变不与对应对象102一起移动。如图1B所示,在光源102向右移动的初始帧中,该亮区104可能几乎没有移动。如图1C的图像140中所示,将存在一些时滞,其中亮区104将以一些延迟跟随光源102的移动,直到亮区到达如图1D的图像160中所示的适当位置。诸如所利用的混合权重和历史数据的量之类的因素可能影响该滞后的程度,这在一些情况下可能是相当显著的并且可能分散观看者的注意力,或者可能至少降低场景的感知真实性。期望在至少一些***中保留时间平滑和累积的优点,同时减少时滞对动态场景的影响。
最常见的时间累积技术之一是时间反失真(TAA)。被开发来改进TAA的一种技术是使用历史箝位作为处理动态事件的方式。传统的时间累积方法通常涉及使用两个缓冲器。第一缓冲器为历史缓冲器,其含有大量帧,例如对于给定应用程序为30帧,但对于其他应用程序来说可在约10至100帧或更多帧的范围内。这些帧可以使用指数移动平均值随时间累积。第二缓冲器是包含当前帧(例如,从渲染引擎接收的最近帧)的数据的当前缓冲器。在常规方法中,此历史缓冲器(h)将被重新投影到当前帧(c)的相机位置,且使用(例如)指数移动平均掺合权重(w)与当前帧的数据合成。在至少一个实现中,输出帧的像素值(p)可由下式给出:
p=w*c+(1-w)*h
为了处理时滞,历史值通常在时间反失真之前从当前帧箝位到像素邻域的最小/最大窗口(例如,3x3像素窗口)。可使用其他度量而不是最小/最大,例如可涉及计算邻域的均值和方差并将历史值箝位到该分布。这种现有方法对于非常嘈杂的信号或动态场景经常是不够的。
尝试管理时滞的另一现有方法是A-SVGF,一种时空方差引导的滤波技术。此过程实际上是一种滤波技术,其可将噪声帧作为输入且将其重构为具有减小的噪声的全图像。A-SVGF可以在许多实例中产生期望的结果,但是产生这些结果所需的时间对于以现代帧速率(诸如至少60帧每秒(fps))实时操作的射线追踪器而言可能太长。A-SVGF使用时间梯度来最小化时滞,同时对路径追踪的图像去噪;然而,由于它必须被深度地集成到渲染器中,所以它增加了渲染器成本和复杂度。一些游戏利用限光器(occluder)的速度来引导阴影的时间累积。虽然这是相对简单的解决方案,但是带来难以解决的局限性和拐角情况。例如,如果限光器和接收器都移动,则引导时间累积变得复杂。而且,当对光线追踪效应进行去噪时,当前帧信号通常非常嘈杂,并且不适于计算邻域箝位窗口,因为该窗口最终也是嘈杂的。
根据不同实施例的方法利用响应或“快速”历史缓冲器连同常规历史缓冲器和当前帧缓冲器。快速历史缓冲器可以利用比用于常规或“完整”历史缓冲器高得多的混合权重,如高一个数量级,从而使得更少的历史帧对快速历史做出贡献。此快速历史可用以确定当前帧的箝位窗口,以便在重新投影之前或之后箝位正常历史值。在至少一个实施例中,快速历史箝位混合权重可以用作直观旋钮以确定场景中的噪声量与时滞量之间的适当平衡。在至少一个实施例中,维持完整历史以在不存在致使应用箝位的条件的情况下提供更准确的时间平滑。
图2示出了可以根据各个实施例利用的示例图像生成***200的组件。在至少一个实施例中,诸如视频游戏内容或动画之类的内容可以使用渲染器202、渲染引擎或其他这样的内容生成***或组件来生成。该渲染器202可以接收序列的一个或更多个帧的输入,并且可以使用至少部分地基于该输入修改的存储的内容204来生成视频的图像或帧。在至少一个实施例中,该渲染器202可以是能够提供诸如延迟着色、全局照明、照明半透明、后处理和使用矢量场的图形处理单元(GPU)粒子模拟的功能的渲染管线的部分。
在一些实施例中,生成这种复杂的高分辨率图像所必需的处理量可能使得难以渲染这些视频帧以满足当前帧速率,如至少每秒六十帧(fps)。在至少一个实施例中,渲染器202可用于以低于一个或更多个最终输出分辨率的分辨率生成渲染的图像以便满足定时要求并降低处理资源要求。渲染器可替代地渲染处于与目标输出图像相同的分辨率的当前图像(或可另外获得当前图像),使得不需要或利用按比例放大或超分辨率程序。在至少一个实施例中,如果当前渲染的图像具有较低分辨率,则该低分辨率渲染的图像可使用(可选的)按比例放大器206来处理以生成以等于(或至少更接近地近似于)目标输出分辨率的分辨率表示低分辨率渲染的图像的内容的经按比例放大的图像。
该当前被渲染的图像(无论是否被放大)可被提供作为到可生成高分辨率的图像重构模块208的输入,使用所述当前图像和一个或更多个先前生成的图像的数据的反失真输出图像,这可以至少临时存储在完整历史缓冲器216或其他这样的位置中。在一些实施例中,先前生成的图像可以是单个历史图像,其中,使用例如指数移动平均值在多个先前帧上累积像素(例如,色彩)值。在至少一个实施例中,该图像重构模块208可以包括混合组件210,如可以包括一个或更多个神经网络。在至少一个实施例中,这可以至少包括用于生成运动向量或指示序列中的相邻帧之间的移动的其他信息的第一光流网络(OFN)。在至少一个实施例中,这可包括外部回归、图像前重构、无监督光流网络。在至少一个实施例中,这还可以包括至少第一图像重构网络(RN),该第一图像重构网络利用这些运动向量以便使当前图像和先前(历史)图像中的位置相关并且从那些图像的混合中推理输出图像。在至少一个实施例中,当前图像与历史图像帧的这种混合可以帮助时间会聚到好的、清晰的、高分辨率的输出图像,该输出图像然后可以被提供用于经由显示器212或其他这种呈现机制进行呈现。在至少一个实施例中,该输出图像的副本也可被提供给历史管理器214,这可以使用累积因子使像素值与来自先前历史帧的值累积,为了使该累积的历史数据能够由单个帧表示以节省存储器并且降低处理要求。在至少一个实施例中,加权因子可以使来自较旧帧的像素值对累积像素值贡献较少。该历史图像帧然后可以被存储到完整历史缓冲器216或另一这样的存储位置,以便与该序列中的随后生成的图像混合。
如所提及的,图像的实时时间重构利用来自在某种线程束(warping)之后的一个或更多个先前帧的信息来对准针对当前帧生成的图像。在至少一个实施例中,至少部分地利用这种线程束,因为当这些图像中的像素信息对准时,图像重构被简化。然而,在至少一个实施例中,适当的图像变形不仅利用来自先前帧的信息,而且利用关于对象如何在这些帧之间移动的附加信息。在至少一个实施例中,这可以包括计算机视觉或光流数据,这些数据可以由一组运动向量来表示。在至少一个实施例中,这可包括每个像素位置或至少存在移动的像素位置的运动向量。此运动信息可帮助更好地线程束图像信息且对准对应像素或对象。运动向量信息可由渲染引擎提供用于游戏或应用程序,但如所提及,此可不考虑例如可由光线追踪过程产生的反射或照明等方面的对应改变。此混合可接着导致如先前所论述的时滞。不同现有方法可应用箝位以尝试减小时滞,但伴随先前呈现的不同缺陷。
因此,在至少一个实施例中,历史管理器214还可以生成可以存储至快速历史缓冲器218的响应或“快速”历史帧。该快速帧可使用不同的累积权重来生成,其在一些情况下可比用于生成完整历史图像的累积权重大大约一个数量级。在一个示例中,快速历史帧的累积权重约为0.5,而完整历史帧的累积权重约为0.05。在至少一个实施例中,这可导致快速历史帧包括在最近的两到四帧上累积的数据,而完整历史帧可包括在最近的二十到一百帧上累积的数据。这些权重可随时间学习或由用户设置,并且可通过一个或更多个接口以及其他此类选项来配置。
在至少一个实施例中,当图像重构模块208要生成序列中的下一输出帧时,可以从快速历史缓冲器218中拉取此快速历史帧。如所提到的,可能期望将新渲染的当前帧与完整历史帧混合以提供图像的至少一些时间平滑以减少在显示时伪影的存在。然而,代替基于完整历史帧进行箝位,可使用快速历史帧来进行箝位确定,快速历史帧将包含仅在少量先前帧(例如,序列中的先前二到四帧)上累积的历史数据。箝位模块220可分析待分析的像素位置周围的区中的像素的数目,例如快速历史图像的3X3像素邻域中的像素。可使用大于3x3的邻域,但可为至少一些动态场景引入附加空间偏置。混合模块可接着确定所述像素的预期像素(例如,色彩)值的分布。该预期分布然后可以与完整历史图像中的对应像素的值进行比较。如果完整历史像素值在预期值的分布之外,则像素值可以被“箝位”为例如最接近在预期值的分布内的历史像素值的值。代替箝位到可能导致重影、噪声或其他伪影的当前值,此方法可箝位到使用快速历史帧确定的中间值。混合模块然后可以从完整历史帧中取被箝位或以其他方式的值,并且如本文所讨论的相应地与当前帧的像素进行混合。该新图像然后可由历史管理器214处理以生成更新的历史图像以存储在历史缓冲器216、218中以用于重构后续图像。
关于图3A至图3E可以更好地理解这种箝位过程。如所讨论的,可以使用快速历史帧来执行箝位分析。这个历史帧是通过使用标识的累积因子或混合权重来累积单独像素的历史信息而生成的。如所提到的,虽然完整历史帧的累积因子可以在大约0.05的量级,但是快速帧的累积因子可以大得多,诸如在0.5的量级,使得来自较旧帧的贡献被更快速地最小化。需要最少的额外努力来累积和重新投影已经累积完整或“长”历史信息的***中的快速历史。在此实例中,混合权重与过去帧数据的指数移动平均值一起使用,以便避免将那些过去帧中的每一个的数据存储在存储器中。历史中累积的数据乘以(1-权重),然后与当前帧中的数据进行组合,所述当前帧中的数据可以乘以混合权重。以此方式,单个历史帧可存储在每个缓冲器中,其中根据递归累积方法减少较旧帧的贡献。在至少一个实施例中,可以基于多个因素中的任何因素来自动调整此累积权重,如有待提供的当前帧速率、总方差或所产生帧中的噪声量。
当要执行箝位分析时,可以确定快速历史帧中的每个像素位置的周围邻域(例如,3x3邻域)中的点的数据。这些像素值可各自被视为三维色彩空间中的色彩点,如图3A的绘图300中的点302所示。虽然在各个实施例中可以利用红-绿-蓝(RGB)色彩空间,但是在其他实施例中可以利用具有其他数量的维度的其他色彩空间(例如,YIQ、CMYK(青色、品红色、黄色和黑色)、YCoCg或HSL(色调、饱和度、亮度值))。如图3A所示,来自邻域的这些点位于色彩空间的区域中。当基于这些点确定可合理地预期的历史帧的像素值时,可利用不同方法来确定这些预期值。预期值可位于由这些点定义的体积处或在这些体积内,或者此体积外部的合理量的距离,如可配置的,并且可至少部分地取决于所采取的方法。在图3B的示例方法中,曲线图320示出了围绕这些点的期望区域322。可以利用多个投影或预期算法或网络中的任何一个来确定或推理此预期区域的大小和形状。在一个实施例中,可以利用基于凸包的方法。图3C示出了另一种示例方法,其中,可以针对如曲线图340中所展示的色彩空间中的那些点确定边界框342。可以使用许多不同的边界算法来确定边界框,所述边界算法可以包括围绕每个方向上的这些点的不同缓冲量。在至少一个实施例中,可以使用均值和方差分布来确定这个期望区域。在不同实施例的范围内也可以使用不同其他区域、框、范围或确定。
一旦从快速历史帧中确定此期望范围或区域,就可以标识来自完整历史帧的相应像素。图3D的曲线图360示出了相对于期望区域的色彩空间中的历史像素值362。历史像素可与该预期区域相比较以确定像素是落在预期区域内还是落在预期区域外。如果像素值在预期区域内,则可以利用对应的完整历史像素值并且不应用箝位。然而,情况可能是历史点362可以在区域之外,如图3D所示。在这种情况下,箝位可以应用于历史值。图3E的曲线图380展示了像素值可以被“箝位”或被调整从而使得其落入预期范围内。在本示例中,有待用于完整历史帧的箝位值382是在色彩空间中最接近快速历史像素值的预期范围内的“箝位”值。在一个实施例中,这可以涉及通过沿着色彩空间的每个维度应用最小/最大分析来确定新的箝位值来进行箝位。
图4示出了可以根据各实施例执行的用于执行对历史数据的箝位的示例过程400。应理解,对于本文呈现的这个和其他过程,在不同实施例的范围内,可存在以类似或替代次序或至少部分并行地执行的附加、较少或替代步骤,除非另有具体说明。在此实例中,从渲染引擎接收402或以其他方式获得当前帧。这可以是一系列帧或图像中的当前帧或图像,诸如可以被生成以用于动画、游戏、虚拟现实(VR)、增强现实(AR)、视频或其他这样的内容。当前帧可以使用适当的混合因子与对应的快速历史帧混合404。可以针对此快速历史帧的单独像素确定406来自对应像素邻域的像素值。可接着根据那些邻域值确定408预期像素值的范围。可以确定来自完整历史帧的对应像素值并且将其与这个预期范围进行比较410。如果确定412快速历史值在预期范围内,那么来自完整历史帧的实际历史值可用于此像素位置。如果快速历史值在该范围之外,则可做出将完整历史值箝位416到该预期范围内的最接近值的确定,诸如通过使用如本文所讨论的最小/最大或基于投影的方法。一旦针对所有相关像素做出这样的确定,当前帧的值就可以与历史帧的相应像素的箝位值或实际值混合418。一旦完成,该重构的图像可以被提供420用于呈现,诸如通过作为游戏体验的一部分的显示器。进一步地,可以使用与这个新重构的图像的时间累积来生成422经更新的快速和完整历史帧,并且可以使用相应的缓冲器来存储这些历史帧以用于重构这个序列中的下一个图像或帧。
在至少一个实施例中,可以执行替代性过程,其中,混合可以在该过程中更早地发生,如在步骤404而不是步骤418。在这样的实施例中,可以针对已经包含当前帧值的完整历史帧对值进行箝位。虽然两种方法都可以产生可接受的结果,但是在某些情况下,一种方法可能更容易实现。
为了进一步改进所生成的图像的外观,可以将一定量的模糊(例如,高斯模糊)或其他空间滤波应用于动态场景。此模糊可帮助使序列中的图像平滑以提供更自然的运动,且还可帮助减少空间取样偏差和伪影(例如,噪声或闪烁)的存在。可能难以确定要应用于图像的模糊的适当量,因为太多的模糊将降低图像的清晰度,而太少的模糊可能不足以去除这些和其他这样的伪影。进一步,可能存在场景的具有显著运动的部分,而该图像的其他部分是动态的,使得可能希望将模糊应用于具有运动的部分且不将模糊应用于静态的部分。然而,如本文中所讨论的,可能难以标识与阴影、反射和可能来自诸如光线追踪之类的过程的其他方面相关的运动,使得在现有方法中可能难以确定要将多少模糊应用于与这样的方面相关联的图像的区域。
因此,根据各个实施例的方法可以利用信息(如在此呈现的箝位确定)来确定模糊、空间滤波或其他这种图像处理的应用。在关于至少一个实施例呈现的箝位处理中,当图像中的运动量或改变使得来自快速图像帧的历史像素值落在预期范围或区域之外时应用箝位。使用此过程,可针对每一像素做出像素是对应于图像的静态部分、具有在预期范围内的运动或变化量的部分,还是在预期范围之外的运动或变化量的确定。在一些实施例中,可基于像素差应用模糊量,而不管该距离是否将导致箝位。可以应用模糊或空间滤波的量,其对于任何或所有这些情况可以是不同的。在另一实例方法中,可针对每一像素做出关于快速历史帧与完整历史帧的像素值之间的差的确定。像素值的差异或色彩空间中的距离可用于确定要应用的模糊量或空间滤波器的加权。这个差异可以在时间累积夹紧之前或之后确定,并且因此可以基于原始值或箝位值。对于大的差异或应用箝位的像素,较大的空间滤波器可应用于那些像素。对于较小的差异,可以应用较小的空间滤波器。如果快速和完整历史像素值相同,在可允许的偏差内,则在某些实施例中可以不应用(或最小)空间滤波。在一些实施例中,可将最小量的空间滤波应用于整个图像,其中此基于历史的空间滤波充当用于具有较大运动或改变程度的像素的附加滤波器。
在至少一个实施例中,可以计算完整历史的色彩与快速历史的色彩之间、或完整历史的色彩与箝位的完整历史之间的差异。应当理解的是,在这种情况下,“完整”历史是指在任何给定时间在此图像生成过程中累积的多个历史缓冲器,并且不需要来自序列中的所有之前生成的图像或帧的数据。此差可乘以常数或标量以确定待应用的空间滤波器的权重。在至少一个实施例中,此加权可以用于确定有待应用的模糊半径,如可以是在任何或所有方向上的0、1、2或3个像素的半径。这种方法可以用于仅应用图像的特定区域所需的模糊量,这可以最小化应用于图像的模糊的总量,并且因此产生更清晰的图像。
在至少一个实施例中,可以执行时间累积以使用相应的混合权重来生成快速历史帧和完整历史帧。然后可以使用快速历史帧的所确定的邻域针对各个像素位置执行历史箝位。在该示例中,可以计算历史置信度[0.0,1.0],其是给定像素位置处的完整历史值和箝位的完整历史值之间的差的函数。在至少一个实施例中,此置信度值可用作哪些像素受历史箝位影响的指示以及这些像素受影响的程度。在此实例中,可将默认量的空间滤波(例如,交叉双边空间滤波)应用于图像中的像素位置。深度/正常双边权重可以被设置为最小值,其中(在预定义的最大半径内)至少部分地基于某种形式的噪声估计来计算有效半径,所述噪声估计可以涉及时间变化、空间变化或总变化以及其他此类选项。在至少一个实施例中,可以添加附加的空间滤波器,其是基于历史箝位计算的历史置信度的函数。在至少一个实施例中,这可以是由插值lerp(最大半径(MaxRadius),有效半径(EffectiveRadius),历史置信度(HistoryConfidence))给出的线性内插(“lerp”)。在至少一个实施例中,HistoryConfidence可以由HistoryConfidence=saturate(abs(FullAccumulatedHistory-ClampedFullAccumulatedHistory)*ScalingFactor给出,其中ScalingFactor可以是已经被确定为提供给定信号或实现方式的可接受结果的任何任意缩放因子。在此实例中,abs()为绝对值函数,且saturate()将此值箝位到[0.0,1.0]范围。如果对像素位置不存在箝位,那么可不应用附加空间滤波。在至少一些实施例中,所应用的附加空间滤波的量可以是快速历史帧与完整历史帧中的给定像素的像素值之间的差的因子。
图5示出了可以根据各个实施例利用的示例***500。这个***带有用于来自图2的类似组件的参考号,但是应当理解的是,这是为了简化解释并且不应被理解为是对各个实施例的范围或变化性的限制。在这样的***中,快速历史帧和完整历史帧可以由历史管理器组件214生成,如先前所讨论的。可以将快速历史帧与当前帧进行比较,以确定是否对完整历史帧的特定像素位置或区域应用箝位。如所提及,来自此箝位确定过程的信息可用以确定在图像重构期间将应用的空间滤波的量。在此实例中,可将箝位信息从箝位模块220传递到空间滤波器模块502。在其他实施例中,空间滤波器模块502可以直接作用于快速历史帧和完整历史帧。空间滤波器模块502可以确定诸如是否应用箝位以及快速历史图像和完整历史图像中的对应像素位置的像素值之间的差的信息。空间滤波器模块502然后可以确定要应用于由重构模块208生成的图像的每个像素的空间滤波器的大小或模糊量,其可包含单个每像素确定,或可包含默认滤波器量加上从箝位或历史置信度数据确定的任何附加滤波。然后,可以提供应用了这个附加滤波的重建图像以进行显示,并且提供给历史管理器214用于累积到更新的完整和快速历史帧中以用于重建这个序列中的下一个图像或帧。
图6示出了可以根据各个实施例利用的用于确定在重构过程中应用于图像的空间滤波的示例过程600。在此示例中,将描述基于箝位的方法,但如本文中所论述,还可使用其他信息来确定历史置信度值。从时间累积过程获得602快速历史帧和完整历史帧。可以至少部分地基于来自快速历史帧的对应像素邻域的像素的值(如当前帧的像素值是否落入基于给定像素邻域的预期范围内)来判定604是否对完整历史帧的单独像素应用箝位。然后可以根据完整历史值和箝位历史值计算606各个像素位置的历史置信度值。如果不使用箝位值,则在完整历史像素值中可能存在高置信度。对于图像的像素,可确定608在重构期间应用默认空间滤波。进一步,可至少部分地基于历史置信度值来确定610待应用的任何附加空间滤波,其中对应于像素值的较大差异的较低置信度可导致较大量的空间滤波,例如使用较大偏置半径。然后,可使612在图像重构期间将默认和附加的空间偏置应用于相应的像素。以此方式,空间滤波可针对图像的更多静态部分而最小化。
如所提及的,当处理动态场景的去噪时,这种方法可以是有利的。如本文中所讨论的历史箝位可以帮助检测陈旧历史,并且在检测到陈旧历史的情况下,可以确定在时间累积期间临时碰撞混合因子,从而使得对最近的数据分配较重的权重。虽然这可充分地解决时滞,但限制时间累积中的帧的数目可引入不可接受的噪声量。因为***不能依赖于时间数据来移除此噪声,所以在检测到陈旧历史的位置中可增加空间偏置以便提供增强的去噪。
在其他实施例中,也可以使用用于确定和施加空间偏置的其他方法,例如用于确定时间或空间梯度,其可以独立于历史箝位。可以针对先前所讨论的A-SGVF过程确定此类梯度。在另一示例中,遮挡速度可被用作用于确定在图像重构期间是否应用附加的或增加的空间滤波量的因素,因为环境遮挡可提供使用历史像素数据的任何事物的另一置信度度量。环境遮挡是可以用于高清晰度渲染管线(HDRP)中的诸如光线追踪的过程的特征。环境遮挡可用于计算场景中的每个点对环境照明的暴露。其他类型的遮挡确定也可被用于其他光源等。遮挡或遮光的确定速度可指示是否信任历史像素数据以及信任多少。可以追踪来自给定光源的光线以确定对应的几何结构是移动的、变化的还是静态的,以及移动或变化的量。在一些情况下,仅可提供基于遮挡速度的关于像素是静态还是动态的二进制决策。在提供或确定速度数据的情况下,空间滤波器的模糊半径或权重可随着速度的增加而增加。进一步,在其中HistoryConfidence可能在时间上稍微不稳定的一些实施例中,此值可被重新投影且在几个帧上稍微增加,以便使空间滤波器偏置在时间上更平滑。此方法可有助于在检测到陈旧历史数据的情形下对原本改进的图像质量进行去噪。
数据中心
图7示出了可以使用至少一个实施例的示例数据中心700。在至少一个实施例中,数据中心700包括数据中心基础设施层710、框架层720、软件层730和应用程序层740。
在至少一个实施例中,如图7所示,数据中心基础设施层710可以包括资源协调器712、分组计算资源714和节点计算资源(“节点C.R.”)716(1)-716(N),其中“N”代表任何正整数。在至少一个实施例中,节点C.R.716(1)-716(N)可以包括但不限于任何数量的中央处理单元(“CPU”)或其他处理器(包括加速器、现场可编程门阵列(FPGA)、图形处理器等),存储器设备(例如动态只读存储器),存储设备(例如固态硬盘或磁盘驱动器),网络输入/输出(“NW I/O”)设备,网络交换机,虚拟机(“VM”),电源模块和冷却模块等。在至少一个实施例中,节点C.R.716(1)-716(N)中的一个或更多个节点C.R.可以是具有一个或更多个上述计算资源的服务器。
在至少一个实施例中,分组计算资源714可以包括容纳在一个或更多个机架内的节点C.R.的单独分组(未示出),或者容纳在各个地理位置的数据中心内的许多机架(也未示出)。单独分组的计算资源714内的节点C.R.的单独分组可以包括可以被配置或分配为支持一个或更多个工作负载的分组的计算、网络、存储器或存储资源。在至少一个实施例中,可以将包括CPU或处理器的几个节点C.R.分组在一个或更多个机架内,以提供计算资源来支持一个或更多个工作负载。在至少一个实施例中,一个或更多个机架还可以包括任何数量的电源模块、冷却模块和网络交换机,以任意组合。
在至少一个实施例中,资源协调器712可以配置或以其他方式控制一个或更多个节点C.R.716(1)-716(N)和/或分组的计算资源714。在至少一个实施例中,资源协调器712可以包括用于数据中心700的软件设计基础结构(“SDI”)管理实体。在至少一个实施例中,资源协调器1012可以包括硬件、软件或其某种组合。
在至少一个实施例中,如图7所示,框架层720包括作业调度器722、配置管理器724、资源管理器726和分布式文件***728。在至少一个实施例中,框架层720可以包括支持软件层730的软件732和/或应用程序层740的一个或更多个应用程序742的框架。在至少一个实施例中,软件732或应用程序742可以分别包括基于Web的服务软件或应用程序,例如由Amazon Web Services,Google Cloud和Microsoft Azure提供的服务或应用程序。在至少一个实施例中,框架层720可以是但不限于一种免费和开放源软件网络应用程序框架,例如可以利用分布式文件***728来进行大范围数据处理(例如“大数据”)的Apache SparkTM(以下称为“Spark”)。在至少一个实施例中,作业调度器732可以包括Spark驱动器,以促进对数据中心700的各个层所支持的工作负载进行调度。在至少一个实施例中,配置管理器724可以能够配置不同的层,例如软件层730和包括Spark和用于支持大规模数据处理的分布式文件***728的框架层720。在至少一个实施例中,资源管理器726能够管理映射到或分配用于支持分布式文件***728和作业调度器722的集群或分组计算资源。在至少一个实施例中,集群或分组计算资源可以包括数据中心基础设施层710上的分组计算资源714。在至少一个实施例中,资源管理器726可以与资源协调器712协调以管理这些映射的或分配的计算资源。
在至少一个实施例中,包括在软件层730中的软件732可以包括由节点C.R.716(1)-716(N)的至少一部分,分组的计算资源714和/或框架层720的分布式文件***728使用的软件。一种或更多种类型的软件可以包括但不限于Internet网页搜索软件、电子邮件病毒扫描软件、数据库软件和流视频内容软件。
在至少一个实施例中,应用程序层740中包括的一个或更多个应用程序742可以包括由节点C.R.716(1)-716(N)的至少一部分、分组计算资源714和/或框架层720的分布式文件***728使用的一种或更多种类型的应用程序。一种或更多种类型的应用程序可以包括但不限于任何数量的基因组学应用程序、认知计算和机器学习应用程序,包括训练或推理软件,机器学习框架软件(例如PyTorch、TensorFlow、Caffe等)或其他与一个或更多个实施例结合使用的机器学习应用程序。
在至少一个实施例中,配置管理器724、资源管理器726和资源协调器712中的任何一个可以基于以任何技术上可行的方式获取的任何数量和类型的数据来实现任何数量和类型的自我修改动作。在至少一个实施例中,自我修改动作可以减轻数据中心700的数据中心操作员做出可能不好的配置决定并且可以避免数据中心的未充分利用和/或执行差的部分。
在至少一个实施例中,数据中心700可以包括工具、服务、软件或其他资源,以根据本文所述的一个或更多个实施例来训练一个或更多个机器学习模型或者使用一个或更多个机器学习模型来预测或推理信息。例如,在至少一个实施例中,可以通过使用上文关于数据中心700描述的软件和计算资源,根据神经网络架构通过计算权重参数来训练机器学习模型。在至少一个实施例中,通过使用通过本文所述的一种或更多种训练技术计算出的权重参数,可以使用上面与关于数据中心700所描述的资源,使用对应于一个或更多个神经网络的经训练的机器学习模型来推理或预测信息。
在至少一个实施例中,数据中心可以使用CPU、专用集成电路(ASIC)、GPU、FPGA或其他硬件来使用上述资源来执行训练和/或推理。此外,上述的一个或更多个软件和/或硬件资源可以配置成一种服务,以允许用户训练或执行信息推理,例如图像识别、语音识别或其他人工智能服务。
此类组件可用于在图像重构期间使用快速基于历史的箝位和差异确定来改进图像质量。
计算机***
图8是示出根据至少一个实施例示例性计算机***的框图,该示例性计算机***可以是具有互连的设备和组件的***,片上***(SOC)或它们的某种形成有处理器的组合,该处理器可以包括执行单元以执行指令。在至少一个实施例中,根据本公开,例如本文所述的实施例,计算机***800可以包括但不限于组件,例如处理器802,其执行单元包括逻辑以执行用于过程数据的算法。在至少一个实施例中,计算机***800可以包括处理器,例如可从加利福尼亚圣塔克拉拉的英特尔公司(Intel Corporation of Santa Clara,California)获得的处理器家族、XeonTM、XScaleTM和/或StrongARMTM,CoreTM或NervanaTM微处理器,尽管也可以使用其他***(包括具有其他微处理器的PC、工程工作站、机顶盒等)。在至少一个实施例中,计算机***800可以执行可从华盛顿州雷蒙德市的微软公司(Microsoft Corporation of Redmond,Wash.)获得的WINDOWS操作***版本,尽管其他操作***(例如UNIX和Linux)、嵌入式软件和/或图形用户界面也可以使用。
实施例可以用在其他设备中,例如手持设备和嵌入式应用程序。手持设备的一些示例包括蜂窝电话、互联网协议(Internet Protocol)设备、数码相机、个人数字助理(“PDA”)和手持PC。在至少一个实施例中,嵌入式应用程序可以包括微控制器、数字信号处理器(“DSP”)、片上***、网络计算机(“NetPC”)、机顶盒、网络集线器、广域网(“WAN”)交换机,或根据至少一个实施例可以执行一个或更多个指令的任何其他***。
在至少一个实施例中,计算机***800可包括但不限于处理器802,该处理器802可包括但不限于一个或更多个执行单元808,以根据本文描述的技术执行机器学习模型训练和/或推理。在至少一个实施例中,计算机***800是单处理器台式机或服务器***,但是在另一实施例中,计算机***800可以是多处理器***。在至少一个实施例中,处理器802可以包括但不限于复杂指令集计算机(“CISC”)微处理器、精简指令集计算(“RISC”)微处理器、超长指令字(“VLIW”)微处理器、实现指令集组合的处理器,或任何其他处理器设备,例如数字信号处理器。在至少一个实施例中,处理器802可以耦合到处理器总线810,该处理器总线810可以在处理器802与计算机***800中的其他组件之间传输数据信号。
在至少一个实施例中,处理器802可以包括但不限于1级(“L1”)内部高速缓存存储器(“cache”)804。在至少一个实施例中,处理器802可以具有单个内部高速缓存或多级内部缓存。在至少一个实施例中,高速缓存存储器可以驻留在处理器802的外部。根据特定的实现和需求,其他实施例也可以包括内部和外部高速缓存的组合。在至少一个实施例中,寄存器文件806可以在各种寄存器中存储不同类型的数据,包括但不限于整数寄存器、浮点寄存器、状态寄存器和指令指针寄存器。
在至少一个实施例中,包括但不限于执行整数和浮点运算的逻辑的执行单元808,其也位于处理器802中。在至少一个实施例中,处理器802还可以包括微码(“ucode”)只读存储器(“ROM”),用于存储某些宏指令的微代码。在至少一个实施例中,执行单元808可以包括用于处理封装指令集809的逻辑。在至少一个实施例中,通过将封装指令集809包括在通用处理器的指令集中,以及要执行指令的相关电路,可以使用通用处理器802中的封装数据来执行许多多媒体应用程序使用的操作。在一个或更多个实施例中,可以通过使用处理器的数据总线的全宽度来在封装的数据上执行操作来加速和更有效地执行许多多媒体应用程序,这可能不需要在该处理器的数据总线上传输较小的数据单元来一次执行一个数据元素的一个或更多个操作。
在至少一个实施例中,执行单元808也可以用在微控制器、嵌入式处理器、图形设备、DSP和其他类型的逻辑电路中。在至少一个实施例中,计算机***800可以包括但不限于存储器820。在至少一个实施例中,存储器820可以实施作为动态随机存取存储器(“DRAM”)设备、静态随机存取存储器(“SRAM”)设备、闪存设备或其他存储设备。在至少一个实施例中,存储器820可以存储由处理器802可以执行的由数据信号表示的指令819和/或数据821。
在至少一个实施例中,***逻辑芯片可以耦合到处理器总线810和存储器820。在至少一个实施例中,***逻辑芯片可以包括但不限于存储器控制器集线器(“MCH”)816,并且处理器802可以经由处理器总线810与MCH 816通信。在至少一个实施例中,MCH 816可以提供到存储器820的高带宽存储器路径818以用于指令和数据存储以及用于图形命令、数据和纹理的存储。在至少一个实施例中,MCH 816可以在处理器802、存储器820和计算机***800中的其他组件之间启动数据信号,并且在处理器总线810、存储器820和***I/O接口822之间桥接数据信号。在至少一个实施例中,***逻辑芯片可以提供用于耦合到图形控制器的图形端口。在至少一个实施例中,MCH 816可以通过高带宽存储器路径818耦合到存储器820,并且图形/视频卡812可以通过加速图形端口(Accelerated Graphics Port)(“AGP”)互连814耦合到MCH 816。
在至少一个实施例中,计算机***800可以使用***I/O接口822其是专有集线器接口总线来将MCH 816耦合到I/O控制器集线器(“ICH”)830。在至少一个实施例中,ICH 830可以通过本地I/O总线提供与某些I/O设备的直接连接。在至少一个实施例中,本地I/O总线可以包括但不限于用于将***设备连接到存储器820、芯片组和处理器802的高速I/O总线。示例可以包括但不限于音频控制器829、固件集线器(“Flash BIOS”)828、无线收发器826、数据存储824、包含用户输入和键盘接口的传统I/O控制器823、串行扩展端口827(例如通用串行总线(USB)端口)和网络控制器834。数据存储824可以包括硬盘驱动器、软盘驱动器、CD-ROM设备、闪存设备或其他大容量存储设备。
在至少一个实施例中,图8示出了包括互连的硬件设备或“芯片”的***,而在其他实施例中,图8可以示出片上***(SoC)。在至少一个实施例中,设备可以与专有互连、标准化互连(例如,PCIe)或其某种组合互连。在至少一个实施例中,计算机***800的一个或更多个组件使用计算快速链路(CXL)互连来互连。
此类组件可用于在图像重构期间使用快速基于历史的箝位和差异确定来改进图像质量。
图9是示出根据至少一个实施例的用于利用处理器910的电子设备900的框图。在至少一个实施例中,电子设备900可以是,例如但不限于,笔记本电脑、塔式服务器、机架服务器、刀片服务器、膝上型计算机、台式机、平板电脑、移动设备、电话、嵌入式计算机或任何其他合适的电子设备。
在至少一个实施例中,***900可以包括但不限于通信地耦合到任何合适数量或种类的组件、***设备、模块或设备的处理器910。在至少一个实施例中,处理器910使用总线或接口耦合,诸如I2C总线、***管理总线(“SMBus”)、低引脚数(LPC)总线、串行***接口(“SPI”)、高清音频(“HDA”)总线、串行高级技术附件(“SATA”)总线、通用串行总线(“USB”)(1、2、3版等)或通用异步接收器/发送器(“UART”)总线。在至少一个实施例中,图9示出了***,该***包括互连的硬件设备或“芯片”,而在其他实施例中,图9可以示出示例性片上***(SoC)。在至少一个实施例中,图9中所示的设备可以与专有互连线、标准化互连(例如,PCIe)或其某种组合互连。在至少一个实施例中,图9的一个或更多个组件使用计算快速链路(CXL)互连线来互连。
在至少一个实施例中,图9可以包括显示器924、触摸屏925、触摸板930、近场通信单元(“NFC”)945、传感器集线器940、热传感器946、快速芯片组(“EC”)935、可信平台模块(“TPM”)938、BIOS/固件/闪存(“BIOS,FW Flash”)922、DSP960、驱动器920(例如固态磁盘(“SSD”)或硬盘驱动器(“HDD”))、无线局域网单元(“WLAN”)950、蓝牙单元952、无线广域网单元(“WWAN”)956、全球定位***(GPS)单元955、相机(“USB 3.0相机”)954(例如USB 3.0相机)和/或以例如LPDDR3标准实现的低功耗双倍数据速率(“LPDDR”)存储器单元(“LPDDR3”)915。这些组件可以各自以任何合适的方式实现。
在至少一个实施例中,其他组件可以通过本文上述的组件通信地耦合到处理器910。在至少一个实施例中,加速度计941、环境光传感器(“ALS”)942、罗盘943和陀螺仪944可以可通信地耦合到传感器集线器940。在至少一个实施例中,热传感器939、风扇937、键盘936和触摸板930可以通信地耦合到EC 935。在至少一个实施例中,扬声器963、耳机964和麦克风(“mic”)965可以通信地耦合到音频单元(“音频编解码器和D类放大器”)962,其又可以通信地耦合到DSP 960。在至少一个实施例中,音频单元962可以包括例如但不限于音频编码器/解码器(“编解码器”)和D类放大器。在至少一个实施例中,SIM卡(“SIM”)957可以通信地耦合到WWAN单元956。在至少一个实施例中,组件(诸如WLAN单元950和蓝牙单元952以及WWAN单元956)可以被实现为下一代形式因素(NGFF)。
此类组件可用于在图像重构期间使用快速基于历史的箝位和差异确定来改进图像质量。
图10是根据至少一个实施例的处理***的框图。在至少一个实施例中,***1000包括一个或更多个处理器1002和一个或更多个图形处理器1008,并且可以是单处理器桌面***、多处理器工作站***、或具有大量处理器1002或处理器核1007的服务器***。在至少一个实施例中,***1000是结合在片上***(SoC)集成电路内以便在移动、手持或嵌入式设备中使用的处理平台。
在至少一个实施例中,***1000可以包括或结合在基于服务器的游戏平台中,包括游戏和媒体控制台的游戏控制台、移动游戏控制台、手持游戏控制台或在线游戏控制台。在至少一个实施例中,***1000是移动电话、智能电话、平板计算设备或移动互联网设备。在至少一个实施例中,处理***1000还可包括与可穿戴设备耦合或集成在可穿戴设备中,例如智能手表可穿戴设备、智能眼镜设备、增强现实设备或虚拟现实设备。在至少一个实施例中,处理***1000是电视或机顶盒设备,其具有一个或更多个处理器1002以及由一个或更多个图形处理器1008生成的图形界面。
在至少一个实施例中,一个或更多个处理器1002每个包括一个或更多个处理器核心1007,以处理指令,该指令在被执行时执行针对***和用户软件的操作。在至少一个实施例中,一个或更多个处理器核心1007中的每一个被配置为处理特定指令集1009。在至少一个实施例中,指令集1009可以促进复杂指令集计算(CISC)、精简指令集计算(RISC),或通过超长指令字(VLIW)进行计算。在至少一个实施例中,处理器核心1007可以各自处理不同的指令集1009,该指令序列可以包括有助于仿真其他指令集的指令。在至少一个实施例中,处理器核心1007还可以包括其他处理设备,例如数字信号处理器(DSP)。
在至少一个实施例中,处理器1002包括高速缓存存储器1004。在至少一个实施例中,处理器1002可以具有单个内部高速缓存或多个级别的内部高速缓存。在至少一个实施例中,高速缓存存储器在处理器1002的各个组件之间共享。在至少一个实施例中,处理器1002还使用外部高速缓存(例如,三级(L3)高速缓存或最后一级高速缓存(LLC))(未示出),可以使用已知的高速缓存一致性技术在处理器核心1007之间共享该外部高速缓存。在至少一个实施例中,处理器1002中另外包括寄存器文件1006,处理器可以包括用于存储不同类型的数据的不同类型的寄存器(例如,整数寄存器、浮点寄存器、状态寄存器和指令指针寄存器)。在至少一个实施例中,寄存器文件1006可以包括通用寄存器或其他寄存器。
在至少一个实施例中,一个或更多个处理器1002与一个或更多个接口总线1010耦合,以在处理器1002与***1000中的其他组件之间传输通信信号,例如地址、数据或控制信号。在至少一个实施例中,接口总线1010在一个实施例中可以是处理器总线,例如直接媒体接口(DMI)总线的版本。在至少一个实施例中,接口总线1010不限于DMI总线,并且可以包括一个或更多个***组件互连总线(例如,PCI,PCI Express)、存储器总线或其他类型的接口总线。在至少一个实施例中,处理器1002包括集成存储器控制器1016和平台控制器集线器1030。在至少一个实施例中,存储器控制器1016促进存储器设备与处理***1000的其他组件之间的通信,而平台控制器集线器(PCH)1030通过本地I/O总线提供到输入/输出(I/O)设备的连接。
在至少一个实施例中,存储器设备1020可以是动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪存设备、相变存储设备或具有适当的性能以用作处理器存储器。在至少一个实施例中,存储设备1020可以用作处理***1000的***存储器,以存储数据1022和指令1021,以在一个或更多个处理器1002执行应用程序或过程时使用。在至少一个实施例中,存储器控制器1016还与可选的外部图形处理器1012耦合,其可以与处理器1002中的一个或更多个图形处理器1008通信以执行图形和媒体操作。在至少一个实施例中,显示设备1011可以连接至处理器1002。在至少一个实施例中,显示设备1011可以包括内部显示设备中的一个或更多个,例如在移动电子设备或膝上型设备或通过显示器接口(例如显示端口(DisplayPort)等)连接的外部显示设备中。在至少一个实施例中,显示设备1011可以包括头戴式显示器(HMD),诸如用于虚拟现实(VR)应用或增强现实(AR)应用中的立体显示设备。
在至少一个实施例中,平台控制器集线器1030使***设备能够通过高速I/O总线连接到存储设备1020和处理器1002。在至少一个实施例中,I/O***设备包括但不限于音频控制器1046、网络控制器1034、固件接口1028、无线收发器1026、触摸传感器1025、数据存储设备1024(例如,硬盘驱动器、闪存等)。在至少一个实施例中,数据存储设备1024可以经由存储接口(例如,SATA)或经由***总线来连接,诸如***组件互连总线(例如,PCI、PCIe)。在至少一个实施例中,触摸传感器1025可以包括触摸屏传感器、压力传感器或指纹传感器。在至少一个实施例中,无线收发器1026可以是Wi-Fi收发器、蓝牙收发器或移动网络收发器,诸如3G、4G或长期演进(LTE)收发器。在至少一个实施例中,固件接口1028使能与***固件的通信,并且可以是例如统一可扩展固件接口(UEFI)。在至少一个实施例中,网络控制器1034可以启用到有线网络的网络连接。在至少一个实施例中,高性能网络控制器(未示出)与接口总线1010耦合。在至少一个实施例中,音频控制器1046是多通道高清晰度音频控制器。在至少一个实施例中,处理***1000包括可选的传统(legacy)I/O控制器1040,用于将传统(例如,个人***2(PS/2))设备耦合到***1000。
在至少一个实施例中,平台控制器集线器1030还可以连接到一个或更多个通用串行总线(USB)控制器1042,该控制器连接输入设备,诸如键盘和鼠标1043组合、相机1044或其他USB输入设备。
在至少一个实施例中,存储器控制器1016和平台控制器集线器1030的实例可以集成到离散的外部图形处理器中,例如外部图形处理器1012。在至少一个实施例中,平台控制器集线器1030和/或存储器控制器1016可以在一个或更多个处理器1002的外部。例如,在至少一个实施例中,***1000可以包括外部存储器控制器1016和平台控制器集线器1030,其可以配置成在与处理器1002通信的***芯片组中的存储器控制器集线器和***控制器集线器。
此类组件可用于在图像重构期间使用快速基于历史的箝位和差异确定来改进图像质量。
图11是根据至少一个实施例的具有一个或更多个处理器核心1102A-1102N、集成存储器控制器1114和集成图形处理器1108的处理器1100的框图。在至少一个实施例中,处理器1100可以包含附加核心,多达并包括以虚线框表示的附加核心1102N。在至少一个实施例中,每个处理器核心1102A-1102N包括一个或更多个内部高速缓存单元1104A-1104N。在至少一个实施例中,每个处理器核心还可以访问一个或更多个共享高速缓存单元1106。
在至少一个实施例中,内部高速缓存单元1104A-1104N和共享高速缓存单元1106表示处理器1100内的高速缓存存储器层次结构。在至少一个实施例中,高速缓存存储器单元1104A-1104N可以包括每个处理器核心内的至少一级指令和数据高速缓存以及共享中级高速缓存中的一级或更多级缓存,例如2级(L2)、3级(L3)、4级(L4)或其他级别的高速缓存,其中将外部存储器之前的最高级别的高速缓存归类为LLC。在至少一个实施例中,高速缓存一致性逻辑维持各种高速缓存单元1106和1104A-1104N之间的一致性。
在至少一个实施例中,处理器1100还可包括一组一个或更多个总线控制器单元1116和***代理核心1110。在至少一个实施例中,一个或更多个总线控制器单元1116管理一组***总线,例如一个或更多个PCI或PCIe总线。在至少一个实施例中,***代理核心1110为各种处理器组件提供管理功能。在至少一个实施例中,***代理核心1110包括一个或更多个集成存储器控制器1114,以管理对各种外部存储器设备(未示出)的访问。
在至少一个实施例中,一个或更多个处理器核心1102A-1102N包括对多线程同时进行的支持。在至少一个实施例中,***代理核心1110包括用于在多线程处理期间协调和操作核心1102A-1102N的组件。在至少一个实施例中,***代理核心1110可以另外包括电源控制单元(PCU),该电源控制单元包括用于调节处理器核心1102A-1102N和图形处理器1108的一个或更多个电源状态的逻辑和组件。
在至少一个实施例中,处理器1100还包括用于执行图处理操作的图形处理器1108。在至少一个实施例中,图形处理器1108与共享高速缓存单元1106和包括一个或更多个集成存储器控制器1114的***代理核心1110耦合。在至少一个实施例中,***代理核心1110还包括用于驱动图形处理器输出到一个或更多个耦合的显示器的显示器控制器1111。在至少一个实施例中,显示器控制器1111也可以是经由至少一个互连与图形处理器1108耦合的独立模块,或者可以集成在图形处理器1108内。
在至少一个实施例中,基于环的互连单元1112用于耦合处理器1100的内部组件。在至少一个实施例中,可以使用替代性互连单元,例如点对点互连、交换互连或其他技术。在至少一个实施例中,图形处理器1108经由I/O链路1113与环形互连1112耦合。
在至少一个实施例中,I/O链路1113代表多种I/O互连中的至少一种,包括促进各种处理器组件与高性能嵌入式存储器模块1118(例如eDRAM模块)之间的通信的封装I/O互连。在至少一个实施例中,处理器核心1102A-1102N和图形处理器1108中的每一个使用嵌入式存储器模块1118作为共享的最后一级高速缓存。
在至少一个实施例中,处理器核心1102A-1102N是执行公共指令集架构的同质核心。在至少一个实施例中,处理器核心1102A-1102N在指令集架构(ISA)方面是异构的,其中一个或更多个处理器核心1102A-1102N执行公共指令集,而一个或更多个其他处理器核心1102A-1102N执行公共指令集的子集或不同指令集。在至少一个实施例中,就微架构而言,处理器核心1102A-1102N是异构的,其中具有相对较高功耗的一个或更多个核心与具有较低功耗的一个或更多个功率核心耦合。在至少一个实施例中,处理器1100可以在一个或更多个芯片上实现或被实现为SoC集成电路。
此类组件可用于在图像重构期间使用快速基于历史的箝位和差异确定来改进图像质量。
其他变型在本公开的精神内。因此,尽管公开的技术易于进行各种修改和替代构造,但是某些示出的其实施例在附图中示出并且已经在上面进行了详细描述。然而,应理解,无意将公开内容限制为所公开的一种或更多种特定形式,而是相反,其意图是涵盖落入如所附权利要求书所定义的本公开内容的精神和范围内的所有修改、替代构造和等同物。
除非另有说明或显然与上下文矛盾,否则在描述所公开的实施例的上下文中(特别是在所附权利要求的上下文中),术语“一”和“一个”和“该”以及类似指代的使用应被解释为涵盖单数和复数,而不是作为术语的定义。除非另有说明,否则术语“包括”、“具有”、“包含”和“含有”应被解释为开放式术语(意味着“包括但不限于”)。术语“连接”(在未经修改时指的是物理连接)应解释为部分或全部包含在内、附接到或连接在一起,即使有某些介入。除非本文另外指出,否则本文中对数值范围的引用仅旨在用作分别指代落入该范围内的每个单独值的简写方法,并且每个单独值都被并入说明书中,就如同其在本文中被单独叙述一样。除非另外指出或与上下文矛盾,否则术语“集”(例如“项目集”)或“子集”的使用应解释为包括一个或更多个成员的非空集合。此外,除非另外指出或与上下文矛盾,否则术语相应集的“子集”不一定表示对应集的适当子集,而是子集和对应集可以相等。
除非以其他方式明确指出或与上下文明显矛盾,否则诸如“A,B和C中的至少一个”或“A,B与C中的至少一个”形式的短语之类的连接语在上下文中理解为通常用来表示项目、条款等,其可以是A或B或C,也可以是A和B和C集的任何非空子集。例如,在具有三个成员的集的说明性示例中,连接短语“A,B和C中的至少一个”和“A,B与C中的至少一个”是指以下任意集:{A},{B},{C},{A,B},{A,C},{B,C},{A,B,C}。因此,这种连接语言通常不旨在暗示某些实施例要求存在A中的至少一个,B中的至少一个和C中的至少一个。另外,除非另有说明或与上下文矛盾,否则术语“多个”表示复数的状态(例如,“多个项目”表示多个项目)。多个项目中项目的数量至少为两个项目,但如果明确指示或通过上下文指示,则可以更多。此外,除非另有说明或从上下文中可以清楚得知,否则短语“基于”是指“至少部分基于”而不是“仅基于”。
除非本文另外指出或与上下文明显矛盾,否则本文描述的过程的操作可以任何合适的顺序执行。在至少一个实施例中,诸如本文所述的那些过程(或其变形和/或其组合)之类的过程在配置有可执行指令的一个或更多个计算机***的控制下执行,并且被实现为代码(例如,可执行指令,一个或更多个计算机程序或一个或更多个应用程序),该代码通过硬件或其组合在一个或更多个处理器上共同执行。在至少一个实施例中,代码以例如计算机程序的形式存储在计算机可读存储介质上,该计算机程序包括可由一个或更多个处理器执行的多个指令。在至少一个实施例中,计算机可读存储介质是非暂时性计算机可读存储介质,其排除了暂时性信号(例如,传播的瞬态电或电磁传输),但包括非暂时性数据存储电路(例如,缓冲器、高速缓存和队列)。在至少一个实施例中,代码(例如,可执行代码或源代码)被存储在其上存储有可执行指令的一组一个或更多个非暂时性计算机可读存储介质(或用于存储可执行指令的其他存储器)上,该可执行指令在由计算机***的一个或更多个处理器执行时(即,作为被执行的结果),使得计算机***执行本文所述的操作。在至少一个实施例中,一组非暂时性计算机可读存储介质包括多个非暂时性计算机可读存储介质,并且多个非暂时性计算机可读存储介质中的个体非暂时性存储介质中的一个或更多个缺少全部代码,而是多个非暂时性计算机可读存储介质共同存储全部代码。在至少一个实施例中,可执行指令被执行,以使得不同的指令由不同的处理器执行,例如,非暂时性计算机可读存储介质存储指令,并且主中央处理单元(“CPU”)执行一些指令,而图形处理单元(“GPU”)执行其他指令。在至少一个实施例中,计算机***的不同组件具有单独的处理器,并且不同的处理器执行指令的不同子集。
因此,在至少一个实施例中,计算机***被配置为实现单独地或共同地执行本文所述的过程的操作的一个或更多个服务,并且这样的计算机***被配置有使能实施操作的适用的硬件和/或软件。此外,实现本公开的至少一个实施例的计算机***是单个设备,并且在另一实施例中是分布式计算机***,其包括以不同方式操作的多个设备,使得分布式计算机***执行本文所述的操作,并且使得单个设备不执行所有操作。
本文提供的任何和所有示例或示例性语言(例如,“诸如”)的使用仅旨在更好地阐明本公开的实施例,并且不对公开的范围构成限制,除非另有要求。说明书中的任何语言都不应被解释为表示任何未要求保护的要素对于实践公开内容是必不可少的。
本文引用的所有参考文献,包括出版物、专利申请和专利,均通过引用并入本文,其程度就如同每个参考文献被单独且具体地指示为以引用的方式并入本文并且其全部内容在本文中阐述一样。
在说明书和权利要求中,可以使用术语“耦合”和“连接”以及它们的派生词。应当理解,这些术语可能不旨在作为彼此的同义词。相反,在特定示例中,“连接”或“耦合”可用于指示两个或更多个元件彼此直接或间接物理或电接触。“耦合”也可能意味着两个或更多个元素彼此不直接接触,但仍彼此协作或交互。
除非另有明确说明,否则可以理解,在整个说明书中,诸如“处理”、“计算”、“计算”、“确定”等之类的术语,是指计算机或计算***或类似的电子计算设备的动作和/或过程,其将计算***的寄存器和/或存储器中表示为物理量(例如电子)的数据处理和/或转换为类似表示为计算***的存储器、寄存器或其他此类信息存储、传输或显示设备中的物理量的其他数据。
以类似的方式,术语“处理器”可以指处理来自寄存器和/或存储器的电子数据并将该电子数据转换成可以存储在寄存器和/或存储器中的其他电子数据的任何设备或存储器的一部分。作为非限制性示例,“处理器”可以是CPU或GPU。“计算平台”可以包括一个或更多个处理器。如本文所使用的,“软件”进程可以包括例如随时间执行工作的软件和/或硬件实体,诸如任务、线程和智能代理。同样,每个过程可以指代多个过程,以连续地或间歇地顺序地或并行地执行指令。术语“***”和“方法”在本文中可以互换使用,只要***可以体现一种或更多种方法,并且方法可以被认为是***。
在本文件中,可以参考获得、获取、接收或将模拟或数字数据输入子***、计算机***或计算机实现的机器中。可以通过多种方式来完成获得、获取、接收或输入模拟和数字数据的过程,例如通过接收作为函数调用或对应用程序编程接口的调用的参数的数据。在一些实现方式中,可以通过经由串行或并行接口传输数据来完成获得、获取、接收或输入模拟或数字数据的过程。在另一实现方式中,可以通过经由计算机网络将数据从提供实体传输到获取实体来完成获得、获取、接收或输入模拟或数字数据的过程。也可以参考提供、输出、传送、发送或呈现模拟或数字数据。在各种示例中,提供、输出、传送、发送或呈现模拟或数字数据的过程可以通过将数据作为函数调用的输入或输出参数、应用程序编程接口或进程间通信机制的参数进行传输来实现。
尽管上面的讨论阐述了所描述的技术的示例实现,但是其他架构可以用于实现所描述的功能,并且旨在落入本公开的范围内。此外,尽管出于讨论的目的在上面定义了具体的职责分配,但是根据情况,可以以不同的方式分配和划分各种功能和职责。
此外,尽管已经用特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求书所要求保护的主题不必限于所描述的特定特征或动作。而是,公开了特定的特征和动作作为实现权利要求的示例性形式。
Claims (20)
1.一种方法,包括:
生成用于渲染帧的快速历史帧;
从所述快速历史帧确定对应于所述渲染帧的像素位置的快速像素值的集合;
至少部分地基于所述快速像素值来确定预期像素值的范围;
确定来自完整历史帧的历史像素值在预期像素值的所述范围之外;
将来自所述完整历史帧的所述历史像素值箝位到预期像素值的所述范围内的经箝位像素值;以及
作为图像重构过程的部分,将所述渲染帧的所述像素位置的像素值与经箝位的值进行混合。
2.根据权利要求1所述的方法,还包括:
将从所述图像重构过程得到的图像提供给时间累积过程,所述时间累积过程用于更新所述快速历史帧和所述完整历史帧并存储到用于所述图像重构过程的各个缓冲器。
3.根据权利要求2所述的方法,还包括:
确定用于生成所述快速历史帧的第一时间累积权重以及用于生成所述完整历史帧的第二时间累积权重,所述第一时间累积权重高于所述第二时间累积权重。
4.根据权利要求2所述的方法,还包括:
执行所述渲染帧与所述快速历史帧的初始混合。
5.根据权利要求2所述的方法,还包括:
提供从所述图像重构过程产生的所述图像以供显示作为图像序列的部分。
6.根据权利要求1所述的方法,其中从所述快速历史图像中的所述像素位置的周围的像素邻域确定所述快速像素值的集合。
7.根据权利要求1所述的方法,还包括:
从第二渲染帧确定对应于像素位置的第二组快速像素值;
至少部分地基于所述第二组快速像素值来确定预期像素值的第二范围;
确定来自所述快速历史帧的更新的历史像素值在预期像素值的所述第二范围内;以及
当与所述第二渲染帧的所述像素位置的第二当前像素值混合时,使用来自所述完整历史帧的更新的历史像素值。
8.根据权利要求1所述的方法,其中,所述预期范围对应于色彩空间中的区域,所述区域是所述色彩空间中的所述当前像素值的位置周围的边界形状、凸包或非晶区域之一。
9.根据权利要求8所述的方法,其中箝位所述历史像素值包括针对每个色彩分量应用混合/最大阈值、确定所述色彩空间中最接近的值、或确定所述色彩空间中色彩向量与所述区域的边界的交点中的至少一个。
10.一种***,包括:
处理器;以及
存储器,其包括指令,所述指令在由所述处理器执行时使得所述***:
生成用于渲染帧的快速历史帧;
从所述快速历史帧确定对应于像素位置的快速像素值的集合;
至少部分地基于所述快速像素值来确定预期像素值的范围;
确定来自完整历史帧的历史像素值在预期像素值的所述范围之外;
将来自所述完整历史帧的所述历史像素值箝位到预期像素值的所述范围内的经箝位像素值;以及
作为图像重构过程的部分,将所述渲染帧的所述像素位置的当前像素值与经箝位的值进行混合。
11.根据权利要求10所述的***,其中,所述指令当被执行时进一步使所述***:
将从所述图像重构过程得到的图像提供给时间累积过程,所述时间累积过程用于更新所述快速历史帧和所述完整历史帧并存储到用于所述图像重构过程的各个缓冲器。
12.根据权利要求11所述的***,其中,所述指令当被执行时进一步使所述***:
确定用于生成所述快速历史帧的第一时间累积权重以及用于生成所述完整历史帧的第二时间累积权重,所述第一时间累积权重高于所述第二时间累积权重。
13.根据权利要求10所述的***,其中,从所述快速历史图像中的所述像素位置周围的像素邻域确定所述像素值的集合。
14.根据权利要求10所述的***,其中,所述指令当被执行时进一步使所述***:
从第二渲染帧确定对应于像素位置的第二组快速像素值;
至少部分地基于所述第二组快速像素值来确定预期像素值的第二范围;
确定来自所述完整历史帧的更新的历史像素值在预期像素值的所述第二范围内;以及
当与所述第二渲染帧的所述像素位置的第二当前像素值混合时,使用来自所述完整历史帧的更新的历史像素值。
15.根据权利要求10所述的***,其中,所述预期范围对应于色彩空间中的区域,所述区域是所述色彩空间中的所述当前像素值的位置周围的边界形状、凸包或非晶区域之一,并且其中箝位所述第二历史像素值包括针对每个色彩分量应用混合/最大阈值、确定所述色彩空间中最接近的值、或确定所述色彩空间中色彩向量与所述区域的边界的交点中的至少一个。
16.一种非暂态计算机可读存储介质,其包括指令,所述指令在由处理器执行时致使所述处理器:
生成用于渲染帧的快速历史帧;
从所述快速历史帧确定对应于像素位置的快速像素值的集合;
至少部分地基于所述快速像素值来确定预期像素值的范围;
确定来自完整历史帧的历史像素值在预期像素值的所述范围之外;
将来自所述完整历史帧的所述历史像素值箝位到预期像素值的所述范围内的经箝位像素值;以及
作为图像重构过程的部分,将所述渲染帧的所述像素位置的当前像素值与经箝位的值进行混合。
17.根据权利要求16所述的非暂态计算机可读存储介质,其中,所述指令当被执行时进一步使所述处理器:
将所述图像重构过程得到的图像提供给时间累积过程,所述时间累积过程用于更新所述快速历史帧和所述完整历史帧并存储到用于所述图像重构过程的各个缓冲器。
18.根据权利要求17所述的非暂态计算机可读存储介质,其中,所述指令当被执行时进一步使所述处理器:
确定用于生成所述快速历史帧的第一时间累积权重以及用于生成所述完整历史帧的第二时间累积权重,所述第一时间累积权重高于所述第二时间累积权重。
19.根据权利要求16所述的非暂态计算机可读存储介质,其中,所述指令当被执行时进一步使所述处理器:
从第二渲染帧确定对应于像素位置的第二组快速像素值;
至少部分地基于所述第二组快速像素值来确定预期像素值的第二范围;
确定来自所述完整历史帧的更新的历史像素值在预期像素值的所述第二范围内;以及
当与所述第二渲染帧的所述像素位置的第二当前像素值混合时,使用来自所述完整历史帧的更新的历史像素值。
20.根据权利要求16所述的非暂态计算机可读存储介质,其中所述预期范围对应于色彩空间中的区域,所述区域是所述色彩空间中的所述当前色彩值的位置周围的边界形状、凸包或非晶区域之一,并且其中箝位所述第二历史像素值包括针对每个色彩分量应用混合/最大阈值、确定所述色彩空间中最接近的值,或确定所述色彩空间中色彩向量与所述区域的边界的交点中的至少一个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/067,417 US11216916B1 (en) | 2020-10-09 | 2020-10-09 | History clamping for denoising dynamic ray-traced scenes using temporal accumulation |
US17/067,417 | 2020-10-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114332250A true CN114332250A (zh) | 2022-04-12 |
Family
ID=79169496
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110901632.5A Pending CN114332250A (zh) | 2020-10-09 | 2021-08-06 | 使用时间累积来对动态光线追踪场景进行去噪的历史箝位 |
CN202110905815.4A Pending CN114331861A (zh) | 2020-10-09 | 2021-08-06 | 使用时间累积来对动态光线追踪场景进行去噪的历史箝位 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110905815.4A Pending CN114331861A (zh) | 2020-10-09 | 2021-08-06 | 使用时间累积来对动态光线追踪场景进行去噪的历史箝位 |
Country Status (3)
Country | Link |
---|---|
US (4) | US11216916B1 (zh) |
CN (2) | CN114332250A (zh) |
DE (2) | DE102021125774A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102339619B1 (ko) * | 2020-11-19 | 2021-12-17 | 광주과학기술원 | 이미지 품질향상장치, 이미지 품질향상방법 |
CN114693551A (zh) * | 2022-03-25 | 2022-07-01 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、装置、设备以及可读存储介质 |
CN117812236A (zh) * | 2022-09-27 | 2024-04-02 | 万有引力(宁波)电子科技有限公司 | 图像处理器、处理方法、存储介质及扩展现实显示装置 |
GB2624854A (en) * | 2022-11-24 | 2024-06-05 | Advanced Risc Mach Ltd | System, devices and/or processes for application of an intensity derivative for temporal image stability |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5729672A (en) * | 1993-07-30 | 1998-03-17 | Videologic Limited | Ray tracing method and apparatus for projecting rays through an object represented by a set of infinite surfaces |
US6674430B1 (en) * | 1998-07-16 | 2004-01-06 | The Research Foundation Of State University Of New York | Apparatus and method for real-time volume processing and universal 3D rendering |
EP1580694A1 (en) * | 2004-03-22 | 2005-09-28 | STMicroelectronics S.r.l. | Image rendering with adaptive filtering for anti-aliasing |
US8811769B1 (en) * | 2012-02-28 | 2014-08-19 | Lytro, Inc. | Extended depth of field and variable center of perspective in light-field processing |
US9727991B2 (en) * | 2013-03-01 | 2017-08-08 | Microsoft Technology Licensing, Llc | Foveated image rendering |
US9865074B2 (en) * | 2014-04-05 | 2018-01-09 | Sony Interactive Entertainment America Llc | Method for efficient construction of high resolution display buffers |
US9710957B2 (en) * | 2014-04-05 | 2017-07-18 | Sony Interactive Entertainment America Llc | Graphics processing enhancement by tracking object and/or primitive identifiers |
CN107533755B (zh) * | 2015-04-14 | 2021-10-08 | 皇家飞利浦有限公司 | 用于改进医学图像质量的设备和方法 |
US10438400B2 (en) * | 2016-03-08 | 2019-10-08 | Nvidia Corporation | Perceptually-based foveated rendering using a contrast-enhancing filter |
US10116916B2 (en) * | 2016-03-17 | 2018-10-30 | Nvidia Corporation | Method for data reuse and applications to spatio-temporal supersampling and de-noising |
CN107452048B (zh) * | 2016-05-30 | 2019-03-12 | 网易(杭州)网络有限公司 | 全局光照的计算方法及装置 |
US10388059B2 (en) * | 2016-10-03 | 2019-08-20 | Nvidia Corporation | Stable ray tracing |
CN106875344B (zh) * | 2016-12-21 | 2019-09-17 | 浙江大华技术股份有限公司 | 一种视频图像的补光处理方法及装置 |
US11113800B2 (en) * | 2017-01-18 | 2021-09-07 | Nvidia Corporation | Filtering image data using a neural network |
US10896657B2 (en) * | 2017-04-17 | 2021-01-19 | Intel Corporation | Graphics with adaptive temporal adjustments |
US10713752B2 (en) * | 2017-06-09 | 2020-07-14 | Sony Interactive Entertainment Inc. | Temporal supersampling for foveated rendering systems |
US20190035113A1 (en) * | 2017-07-27 | 2019-01-31 | Nvidia Corporation | Temporally stable data reconstruction with an external recurrent neural network |
WO2019046323A1 (en) * | 2017-08-28 | 2019-03-07 | Oxide Interactive, LLC | LAMINATE, SPACE, PROGRAMMABLE AND ASYNCHRONOUS SURFACE GENERATION SYSTEM |
CN109671393B (zh) * | 2017-10-13 | 2020-07-31 | 京东方科技集团股份有限公司 | 一种像素补偿方法及***、显示装置 |
US10762592B2 (en) * | 2018-07-31 | 2020-09-01 | Intel Corporation | Point-based rendering and removal of projection noise |
US10916002B2 (en) * | 2018-08-31 | 2021-02-09 | International Business Machines Corporation | Enhancing temporal and spatial resolution and correcting data anomalies of remote sensed data for estimating high spatio-temporal resolution vegetation indices |
-
2020
- 2020-10-09 US US17/067,417 patent/US11216916B1/en active Active
- 2020-10-09 US US17/067,430 patent/US11232544B1/en active Active
-
2021
- 2021-08-06 CN CN202110901632.5A patent/CN114332250A/zh active Pending
- 2021-08-06 CN CN202110905815.4A patent/CN114331861A/zh active Pending
- 2021-10-05 DE DE102021125774.3A patent/DE102021125774A1/de active Pending
- 2021-10-06 DE DE102021125897.9A patent/DE102021125897A1/de active Pending
-
2022
- 2022-01-03 US US17/567,818 patent/US11783455B2/en active Active
-
2023
- 2023-10-03 US US18/480,034 patent/US20240029211A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US11216916B1 (en) | 2022-01-04 |
US11232544B1 (en) | 2022-01-25 |
DE102021125774A1 (de) | 2022-04-14 |
CN114331861A (zh) | 2022-04-12 |
US20240029211A1 (en) | 2024-01-25 |
DE102021125897A1 (de) | 2022-04-14 |
US20220122229A1 (en) | 2022-04-21 |
US11783455B2 (en) | 2023-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11216916B1 (en) | History clamping for denoising dynamic ray-traced scenes using temporal accumulation | |
US20170169602A1 (en) | Foveated Rendering | |
US10482850B2 (en) | Method and virtual reality device for improving image quality | |
US11756254B2 (en) | Light importance caching using spatial hashing in real-time ray tracing applications | |
CN115379185B (zh) | 使用可变速率着色的运动自适应渲染 | |
US20180336660A1 (en) | Method and device for improving image quality by using multi-resolution | |
US20240177394A1 (en) | Motion vector optimization for multiple refractive and reflective interfaces | |
CN114627234A (zh) | 用于渲染逼真光照的自适应时间图像滤波 | |
US20240096050A1 (en) | Preserving detail in denoised images for content generation systems and applications | |
US11830125B2 (en) | Ray-guided water caustics | |
US20240112356A1 (en) | Estimating flow vectors for occluded content in video sequences | |
US20240127572A1 (en) | Real-time occlusion detection between frames for video streaming systems and applications | |
US12039695B1 (en) | Split machine-learning assisted graphics rendering pipeline | |
US20240193791A1 (en) | Techniques for accelerating optical flow computations | |
CN112351213B (zh) | 用于有效信号处理的芯片资源上的***动态分配 | |
US11823355B2 (en) | Depth based image sharpening | |
US20220326527A1 (en) | Display System Optimization | |
US20240054657A1 (en) | Frame rate up-conversion using optical flow | |
CN117593445A (zh) | 用于合成数据生成应用程序的使用混合照明体积的可微对象*** | |
CN114972523A (zh) | 确定图像中的光学中心 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |