CN117596406A - 利用光流进行帧速率上转换 - Google Patents

利用光流进行帧速率上转换 Download PDF

Info

Publication number
CN117596406A
CN117596406A CN202310034346.2A CN202310034346A CN117596406A CN 117596406 A CN117596406 A CN 117596406A CN 202310034346 A CN202310034346 A CN 202310034346A CN 117596406 A CN117596406 A CN 117596406A
Authority
CN
China
Prior art keywords
motion vector
frame
motion vectors
pixel
reference frame
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
Application number
CN202310034346.2A
Other languages
English (en)
Inventor
A·马哈拉纳
K·塞卡潘
R·纳斯库尔沃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
Original Assignee
Nvidia Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of CN117596406A publication Critical patent/CN117596406A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/215Motion-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0127Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/014Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes involving the use of motion vectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)

Abstract

本公开涉及利用光流进行帧速率上转换。在示例中,当尝试基于两个相邻帧的运动矢量插值或外推帧时,可以有多于一个像素值映射到该帧中的给定位置。要在该给定位置的冲突像素值之间进行选择,可以评估导致冲突的源像素的运动矢量与全局流之间的相似性。例如,可以使用至少基于全局运动矢量的角度和运动矢量的角度之间的差异的相似性度量来计算运动矢量的相似性水平。该相似性度量还可以至少基于全局运动矢量的量值和运动矢量的量值之间的差异。该相似性度量可以与全局运动矢量的量值成比例地衡量角度之间的差异。

Description

利用光流进行帧速率上转换
背景技术
帧速率上转换(Frame Rate Up-Conversion,FRUC)是指通过增加相同持续时间内可供显示的帧数来提高视频的帧速率的技术。一些流行的FRUC技术通过使用已渲染帧作为参考来增加可用帧的数量,从而为一个或更多个新帧生成像素数据,而不是使用完整的渲染管线。这些新帧可以作为附加帧插入视频中,以增加视频中的总帧数。这些FRUC技术可以使用光流来基于场景中运动识别参考渲染帧之间的像素行为模式。这些模式可用于预测新帧的像素中的像素数据,方法是从参考帧中扭曲源像素,以生成中间帧的像素的像素数据。在执行像素扭曲时,如果来自相同或不同参考帧的多个源像素映射到中间帧的相同位置,则可能会发生冲突,例如,诸如源像素与位于帧中描述的环境中不同深度的特征(例如,对象和对象表面)相对应。要产生更真实的中间帧,应解决这些冲突,以反映中间帧中源像素的相对深度。
解决参考帧源像素之间冲突的传统方法可以使用像素的深度值来选择中间帧中的位置的前景像素。在某些示例中,深度值由用于渲染帧的游戏引擎提供。然而,从游戏引擎访问深度值需要与游戏引擎紧密集成,这可能并不总是可行或可用的。在其他示例中,深度值可以使用与帧本身相对应的数据来生成。然而,从帧生成深度值可能计算量大且耗时,这可能会阻碍以实时或接近实时速率执行FRUC的能力。
发明内容
本发明的实施例涉及在帧速率上转换应用中使用光流进行冲突解决。具体而言,本发明涉及用于至少基于像素的运动矢量与使用光流计算的全局运动矢量的相似程度来确定是否使用来自另一帧的像素为帧中的位置生成像素数据的方法。公开的方法可用于至少基于——例如,从与冲突相关联的像素中——选择具有与全局运动矢量不太相似的运动矢量的像素来解决当生成中间帧时不同源帧或参考帧的像素之间的冲突。
与传统方法(例如上述方法)相比,本公开的方法可以至少基于一个或更多个全局运动矢量与其他一个或更多个帧的一个或更多个部分的一个或更多个运动矢量之间的相似性水平,使用一个或更多个其他帧的一个或更多个部分来生成一个或更多个帧中的至少一个位置的像素数据。帧的全局运动矢量可以代表整个帧的运动。相似性水平可用于确定,例如,是否使用像素和/或帧中位置的像素加权来生成图像中某个位置的像素数据。可使用至少基于全局运动矢量的一个或更多个角度与运动矢量的与一个或更多个部分相对应的一个或者多个角度之间的差异的相似性度量,将相似性水平计算为相似性分数(在一个或更多个实施例中)。此外,或者可选地,相似性度量可以至少基于全局运动矢量的一个或更多个量值和与一个或更多个部分相对应的运动矢量的一个或者多个量值之间的差值。相似性度量可以根据全局运动矢量的量值按比例衡量一个或更多个角度之间的差异。
附图说明
下面参考附图详细描述了在帧速率上转换中使用全局运动进行冲突解决的现有系统和方法,其中:
图1描述了根据本发明的一些实施例的帧生成系统的示例;
图2示出了根据本发明的一些实施例的图像部分之间的冲突的示例;
图3示出了根据本发明的一些实施例,帧和可从帧生成的外推帧的图像内容的示例;
图4示出了根据本发明的一些实施例,显示全局运动矢量和可与全局运动矢量进行比较的运动矢量的示例的图形;
图5是流程图,显示了根据本发明的一些实施例,至少基于确定多个图像部分的位置来确定图像中位置的像素数据的方法;
图6是流程图,显示了根据本发明的一些实施例,至少基于识别多个图像部分之间的位置冲突来确定图像中某个位置的像素数据的方法;
图7是流程图,该流程图显示了根据本发明的一些实施例,用于至少基于全局运动和对应于一个或更多个图像部分的运动之间的相似程度来确定图像中某个位置的像素数据的方法;
图8是适用于实施本发明一些实施例的示例内容流式传输系统的框图;
图9是适用于实施本发明一些实施例的示例计算设备的框图;以及
图10是适用于实施本发明一些实施例的示例数据中心的框图。
具体实施方式
本发明涉及在帧速率上转换中使用全局运动进行冲突解决。具体而言,本发明涉及至少基于像素的运动矢量与全局运动矢量的相似性水平来确定是否使用来自另一帧的像素生成帧中的位置的像素数据的方法。本公开的方法可用于至少基于选择具有与全局运动矢量不太相似的运动矢量的像素来解决不同帧的像素之间的冲突。
本公开的方法可以基于一个或更多个全局运动矢量与一个或更多个其他帧的一部分或多部分的一个或更多个运动矢量之间的相似性水平,使用一个或更多个其他帧的一个或更多个部分来生成一个或更多个帧中的至少一个位置的像素数据。当像素的运动矢量类似于帧的全局运动矢量时,它可能表示像素在帧的背景中描绘了对象或曲面。类似地,当像素的运动矢量与帧的全局运动矢量显著不同时,它可能表示像素在帧的前景中描绘了对象或曲面。因此,相似性水平可用于确定,例如,是否使用像素和/或该位置的像素的加权来生成图像中某个位置的像素数据。例如,可以至少基于确定像素的运动矢量与全局运动矢量的相似程度小于与其他像素的运动矢量的相似程度来选择像素在至少一个其他像素上的位置。
帧的全局运动矢量可以代表整个帧的运动。在至少一个实施例中,可以使用帧的运动矢量来计算全局运动矢量。例如,可以至少基于运动矢量的统计组合来计算全局运动矢量。统计组合的示例包括平均值、众数、中值和/或一个或更多个其他统计衍生值。
在至少一个实施例中,一个或更多个帧的一个或更多个部分的相似性水平可被计算为使用相似性度量的相似性分数。该相似性度量可至少基于一个或更多个全局运动矢量的一个或更多个角度与一个或更多个部分的一个或更多个运动矢量的一个或更多个角度之间的差异。此外,或备选地,相似性度量可以至少基于一个或更多个全局运动矢量的一个或更多个量值与一个或更多个部分的一个或更多个运动矢量(例如,局部运动矢量)的一个或更多个量值之间的差异。在至少一个实施例中,相似性度量可以按照一个或更多个全局运动矢量的一个或更多个量值成比例地衡量一个或更多个角度之间的差异。例如,随着全局运动矢量量值的增加,角度差异可以被赋予更多的权重,而随着量值的减少,权重会降低。
虽然本公开的方法主要被描述为用于帧速率上升转换(FRUC),但这并不意味着是限制性的。例如,所公开的方法通常可用于评估一个或更多个图像的一个或更多个部分,以用于确定一个或更多个图像位置的像素数据(例如,在相同或不同的图像中,用于图像插值,用于图像生成,用于图像修改,等等)。此外,虽然运动矢量主要被描述为运动估计的示例,但可以使用运动估计的任何合适的表示方法。
本文所述的系统和方法可用于各种目的,举例来说,这些目的可以包括用于机器控制、机器运动、机器驾驶、合成数据生成、模型训练、感知、增强现实、虚拟现实、混合现实、机器人、安全和监视、自主或半自主机器应用、深度学习、环境模拟、数据中心处理、对话式人工智能(AI)、光传输模拟(如光线追踪、路径追踪等)、3D资产的协作内容创建、数字孪生系统、云计算和/或任何其他合适的应用的系统或应用。
本公开的实施例可包含在各种不同的系统中,例如汽车系统(例如,用于自主或半自主机器的控制系统、用于自主或半自主机器的感知系统)、使用机器人实现的系统、航空系统、医疗系统、船舶系统、智能区域监控系统、执行深度学习操作的系统、执行模拟操作的系统、使用边缘设备实现的系统、包含一个或更多个虚拟机(VM)的系统、执行合成数据生成操作的系统、至少部分地在数据中心中实现的系统、执行对话式AI操作的系统、执行轻型运输模拟的系统、执行3D资产协作式内容创建的系统、用于生成或维护物理对象的数字孪生表示的系统、至少部分地使用云计算资源实现的系统和/或其他类型的系统。
图1描述了根据本公开的一些实施例的帧生成系统100(在此也称为"系统100")的示例。应该理解,这里描述的这种和其他安排只是作为示例提出。其他安排和元素(例如,机器、界面、功能、顺序、功能的分组等)可以用来补充或代替所示的那些,并且一些元素可以被完全省略。此外,这里描述的许多元素是功能实体,可以作为离散或分布式组件或与其他组件一起实施,并在任何合适的组合和位置。本文描述的由实体执行的各种功能可以由硬件、固件和/或软件来执行。例如,各种功能可以由执行存储在存储器中的指令的处理器来执行。
系统100可以使用额外的或替代的组件中的运动估计器104、全局运动确定器106、相似性评估器108和/或像素数据确定器110来实现。
作为概述,运动估计器104可以被配置为估计一个或更多个帧之间的运动,例如视频102的帧102A和帧102B。运动估计(例如,运动矢量)可包括一个或更多个帧的一个或更多个特定像素和/或图像部分(例如,块)的一个或更多个运动估计。全局运动确定器106可以被配置为确定一个或更多个全局运动估计(例如,全局运动矢量),这些估计与使用运动估计器104确定的一个或更多个运动估计相对应。相似性评估器108可以被配置为评估使用运动估计器104确定的像素和/或图像部分(例如,对于帧102A和/或帧102B)的一个或更多个运动估计与使用全局运动确定器106确定的一个或更多个全局运动估计之间的相似性水平。像素数据确定器110可以被配置为至少基于使用相似性评估器108执行的一个或更多个相似性水平的评估来确定诸如帧112之类的帧中的一个或更多个位置的像素数据。
在至少一个实施例中,系统100可用于帧速率上升转换(FRUC)。根据一个或更多个实施例,FRUC的系统或应用可以使用来自视频102的帧,例如帧102A和102B,以生成视频102的一个或更多个中间或外推的帧,其中的一个示例包括帧112。例如,像素数据确定器110可以至少基于确定帧102A和/或帧102B的一个或更多个图像部分与帧112中的至少一个位置之间的映射来执行FRUC,以便确定帧112中的至少一个位置的像素数据。作为一个示例,像素数据确定器110可以至少部分地使用映射到该位置的像素数据(例如,对于一个或更多个像素)的一个或更多个部分来生成像素数据(例如,对于一个或更多个像素)。在一个或更多个实施例中,系统100可以至少基于目标帧速率来生成视频102的一个或更多个中间或外推帧。例如,如果视频102的帧速率为每秒30帧(FPS),为了达到60FPS的目标帧速率,系统可以在视频102的帧序列中每对帧生成一个中间帧。在至少一个实施例中,目标帧速率可以是用户可配置的。
现在参考图2,图2示出了根据本公开的一些实施例,图像部分230和234之间的冲突200的一个示例。在至少一个实施例中,像素数据确定器110可以为来自帧102A的图像部分确定一个位置,该位置至少部分地与像素数据确定器110为来自帧102B的图像部分确定的位置重叠,导致冲突(例如,像素冲突)。例如,像素数据确定器110可以为图像部分230(例如,像素)确定帧112中的位置232(例如,像素位置),并且可以为图像部分234(例如,像素)确定帧112中的位置232。当为图像部分确定的位置至少部分重叠时,这可能导致冲突。例如,为了为帧112生成准确表示环境的像素数据,像素数据确定器110可能需要确定将哪些图像部分用于像素数据和/或用于生成像素数据的图像部分的加权。在至少一个实施例中,为了做到这一点,像素数据确定器110可以针对映射到位置的一个或更多个图像部分使用一个或更多个评估——使用相似性评估器108执行。评估可以是一个或更多个对应的运动估计和一个或更多个全局运动估计之间的相似程度。虽然图像部分234和230被显示为属于不同的帧,但在至少一个实施例中,图像部分234和230可以对应于同一帧。
现在参考图3,图3示出了根据本公开的一些实施例的帧102A和102B和可从帧102A和102B生成的外推帧110A和110B的图像内容的示例。图3中的每个块可以代表图像的一个或更多个图像部分(例如,像素)。
图3显示了其中帧102A和102B的图像内容包括在背景330的(相对于相机视角或视口)前面的对象310(或表面)和对象320(或表面)的示例。在至少一个实施例中,帧102B是在视频102中的帧102A之后(例如,紧接着或以其他方式跟随)。例如,帧102B可以描绘出比帧102A更晚的时间的环境状态。如图3所示,一个或更多个对象310和320(或表面)可能已经相对于背景330移动。这种运动可能导致像素数据确定器110检测到图像部分之间的一个或更多个冲突,例如图2的冲突200。由于全局运动估计可以代表帧的运动(例如,50%或更多),如果一帧的图像内容主要是背景330,全局运动估计可以对应于背景330的运动。如果一个对象在背景330处或附近,当捕捉视频102的相机摇摄时,与对象(或表面)相对应的运动估计可能类似于与背景330相对应的全局运动估计。随着对象离背景330更远,运动估计可能会变得更不一样。同样,如果一个帧的图像内容主要是前景,全局运动估计可能与前景的运动相对应。像素数据确定器110可以在运动估计中使用这些关系,以确定在确定帧的像素数据时,哪些图像部分离背景或前景更近或更远。因此,例如,图像部分的冲突可以至少根据这些关系来解决。
帧310A可以与帧112相对应,其中像素数据确定器110选择图像部分230以用于位置232的像素数据而不是图像部分234。另外,或者备选地,帧310A可以与帧112相对应,其中像素数据确定器110对位置232处的像素数据的加权比对图像部分234的加权高。例如,在使用相似性评估器108执行的评估表明对象310的一个或更多个运动估计比对象320的一个或更多个运动估计更类似于一个或更多个全局运动估计的情况下,可以产生帧310A。例如,因为帧102A和102B的图像内容主要包括背景330,帧的全局运动可以与背景330的运动相同或相似。因此,在对象320相对于对象310处于前景的情况下,对象310的运动估计可能比对象320更类似于全局运动估计。因此,基于较高的相似性,像素数据确定器110可以选择对象320的图像部分而不是对象310的图像部分来生成帧310A。
类似地,帧310B可以与帧112相对应,其中像素数据确定器110选择图像部分234以用于位置232的像素数据而不是图像部分230。另外,或者备选地,帧310B可以与帧112相对应,其中像素数据确定器110对于位置232处的像素数据将图像部分234比图像部分230加权更高。例如,在使用相似性评估器108执行的评估表明对象320的一个或更多个运动估计比对象310的一个或更多个运动估计更类似于一个或更多个全局运动估计的情况下,可以产生帧310B。例如,如本文所述,由于帧102A和102B的图像内容主要包括背景330,帧的全局运动可以与背景330的运动相同或相似。因此,在对象310相对于对象320处于前景的情况下,对象320的运动估计可能比对象310更类似于全局运动估计。因此,基于较高的相似性,像素数据确定器110可以选择对象310的图像部分而不是对象320的图像部分来生成帧310B。
如本文所述,运动估计器104可被配置为估计一个或更多个帧之间的运动,例如视频102的帧102A和帧102B(或更一般的帧或图像的序列)。运动估计(例如,运动矢量)可以包括一个或更多个帧的一个或更多个特定像素和/或图像部分(例如,块)的一个或更多个运动估计。一个帧的运动估计可以共同描述从一个图像到另一个参考图像的转换的至少一部分。在至少一个实施例中,运动估计可以包括运动矢量。运动矢量可以包括,例如,一个矢量(例如,一个二维矢量),它提供了从一个帧的坐标到另一帧的坐标的偏移。在一个或更多个实施例中,运动矢量可以包括对像素的X分量的X偏移和对像素的Y分量的Y偏移。在至少一个实施例中,运动估计器104可以为一帧中的每个像素和/或块确定一个或更多个运动估计。
运动估计器104可以使用任何合适的方法确定运动估计,例如使用块匹配算法、相位相关算法、像素递归算法和/或光流算法中的一个或更多个。在各种实施例中,运动估计器104可以计算向前和/或向后运动的运动估计。前进运动的运动估计可以使用帧102A作为输入图像,而使用帧102B作为参考图像。后向运动的运动估计可以使用帧102B作为输入图像,而使用帧102A作为参考图像。
运动估计器104可以执行密集运动估计和/或稀疏运动估计。密集运动估计可以计算各个像素的运动估计。稀疏运动估计可以计算像素组的运动估计,如块(例如,2x2、4x4、6x6、8x8等)。所披露的方法可以使用密集和/或稀疏运动估计的任何组合。在至少一个实施例中,运动估计器104可以确定稀疏运动估计。然后,运动估计器104可以将稀疏运动估计的一个或更多个部分向上转换或放大(up-scale)为密集和/或较不稀疏的运动估计,这可用于公开的实施例中。在至少一个实施例中,放大可以至少基于诸如图像强度和边缘位置等因素。
在至少一个实施例中,运动估计器104可以分析一个或更多个运动估计并至少基于该分析丢弃至少一个运动估计。例如,运动估计器104可以使用分析来确定运动估计不正确并丢弃该运动估计。通过举例,而不是限制,该分析可能涉及使用前向运动估计将第一图像位置向前投影到第一参考图像位置,以及使用后向运动估计将第二图像位置向后投影到第二参考图像位置。如果从后向投影产生的第二参考图像位置不在距第一图像位置的阈值距离内(例如,不映射到相同的像素位置或在其阈值像素距离内),运动估计可以被丢弃。在至少一个实施例中,运动估计器104可以在丢弃任何不一致的运动估计后执行放大。
在至少一个实施例中,像素数据确定器110使用图像部分的运动估计来确定外推帧中的图像部分的位置。例如,像素数据确定器110可以使用运动估计240来将图像部分230映射到位置232,并且可以使用运动估计242来将图像部分234映射到位置232。在至少一个实施例中,映射可包括扭曲来自帧102A和/或102B的源像素以生成帧112。然而,可以使用任何合适的方法来将图像部分映射到位置。当像素数据确定器110试图生成帧112以在时间上处于帧102A和102B之间的中间时,可能会导致图2的冲突200,但这不一定是情况。例如,可以生成一个以上的帧112,与帧102A和102B有任何合适的时间关系。在所示的示例中,图像部分230和234可以被映射到位置232上,至少基于虚拟移动或沿着相对于帧112的对应运动矢量投射图像部分230和234,并确定图像部分230和234与位于帧102A和102B的中间的帧112相交的位置。这个过程可以对帧102A和/或帧102B的任何数量的图像部分执行,这可能导致类似于冲突200的多个冲突。像素数据确定器110可以被配置为根据使用相似性评估器108执行的相似性水平的对应评估来解决这些冲突中的一个或更多个。
如本文所述,全局运动确定器106可以被配置为确定与使用运动估计器104确定的一个或更多个运动估计(例如,局部运动估计或矢量)相对应的一个或更多个全局运动估计(例如,局部运动估计或矢量)。诸如帧102A的帧的全局运动估计可以代表全部帧的运动。在至少一个实施例中,全局运动估计可以使用利用运动估计器104为帧确定的一个或更多个运动估计来计算。例如,全局运动确定器106可以至少基于帧102A的运动估计(例如,密集运动估计)的统计组合来计算帧102A的全局运动估计(例如,全局运动矢量)。统计组合的示例包括平均数、众数、中位数和/或一个或更多个其他统计学上得出的值。在至少一个实施例中,全局运动确定器106可以计算每帧的全局运动估计。此外,或备选地,全局运动确定器106可以计算与多个帧相对应的全局运动估计。例如,全局运动确定器106可以计算与多个帧(例如,帧的窗口)上的全局运动估计的移动平均或其他统计组合相对应的多帧全局运动估计。
通过举例而非限制的方式,在至少一个实施例中,全局运动确定器106可以执行一个或更多个图像处理技术或以其他方式确定全局运动估计是否和/或在何种程度上与背景或前景相对应。像素数据确定器110可以在解释相似性水平的评估时使用这一确定。例如,如本文所述,在全局运动估计与背景相对应的情况下,图像部分的高相似性可能表明该图像部分处于或接近背景。在全局运动估计与前景相对应的情况下,一个图像部分的高相似性可能表明该图像部分远离背景——从而处于或接近前景。因此,像素数据确定器110可以相应地调整对图像内容的相似性水平的解释。在其他示例中,像素数据确定器110可能不适应对图像内容的相似性水平的解释,例如,可能根据全局运动估计值与背景相对应的假设进行操作,或者,在替代情况下,根据全局运动估计值与前景相对应的假设进行操作。
在至少一个实施例中,全局运动确定器106可以至少基于与全局运动估计(例如,多帧全局估计)对齐的图像的像素数量,来确定图像是否和/或在多大程度上(例如,百分比)与背景或前景相对应。例如,全局运动确定器106可以确定图像中与全局运动估计一致的像素数量。在像素数量低于阈值的情况下,全局运动确定器106可以确定图像主要对应于前景。当像素数量高于阈值时,全局运动确定器106可以确定图像主要对应于背景。像素数据确定器110可以相应地调整对图像内容的相似性水平的解释。
现在参考图4,图4示出了根据本公开的一些实施例的显示全局运动矢量402以及可以与全局运动矢量402进行比较的运动矢量406和408(例如,局部运动矢量)的示例的图形400。图4可用于描述相似性评估器108在评估使用运动估计器104确定的像素和/或图像部分(例如,对于帧102A和/或帧102B)的一个或更多个运动估计和使用全局运动确定器106确定的一个或更多个全局运动估计之间的相似性水平时可考虑的各种因素。
相似性评估器108可以基于各种潜在因素来评估相似性水平。在至少一个实施例中,一个或更多个图像部分的相似性水平可以至少基于一个或更多个全局运动矢量的一个或更多个角度与一个或更多个图像部分的一个或更多个运动矢量的一个或更多个角度之间的差异。例如,相似性评估器108可以至少基于运动矢量404的角度414和全局运动矢量402的角度412之间的差异来评估图像部分的全局运动矢量402和运动矢量404之间的相似性水平。类似地,相似性评估器108可以至少基于运动矢量406的角度416和全局运动矢量402的角度412之间的差异来评估图像部分的全局运动矢量402和运动矢量406之间的相似性水平。相似性水平可以随着差异的减少而增加。
此外,或替代地,一个或更多个图像部分的相似性水平可以至少基于一个或更多个全局运动矢量的一个或更多个量值与一个或更多个图像部分的一个或更多个运动矢量的一个或更多个量值之间的差异。例如,相似性评估器108可以至少基于运动矢量404的量值与全局运动矢量402的量值之间的差异来评估图像部分的全局运动矢量402与运动矢量404之间的相似性水平。类似地,相似性评估器108可以至少基于运动矢量406的量值和全局运动矢量402的量值之间的差异来评估图像部分的全局运动矢量402和运动矢量406之间的相似性水平。相似性水平可以随着差异的减少而增加。
在至少一个实施例中,相似性评估器108可以按照一个或更多个全局运动矢量的一个或更多个量值成比例地来衡量一个或更多个角度之间的差异。例如,运动矢量404的角度差可能被赋予比运动矢量406的角度差更多的权重,因为运动矢量404的量值更大。
在至少一个实施例中,相似性评估器108可以使用一个或更多个相似性度量来计算代表一个或更多个图像部分的一个或更多个相似性水平或与一个或更多个图像部分的一个或更多个相似性水平相对应的一个或更多个值(例如,相似性分数)。相似性度量可以包括一个或更多个参数,代表图像部分和/或运动估计的一个或更多个方面或特征。这些方面的示例包括运动估计量值、运动矢量角度等。
提供了一个用于计算相似性度量的至少一部分的算法的示例。然而,该算法和相似性度量的许多变化是可能的。Global_Fx可以指全局运动矢量的X分量(例如,用于帧102A的全局运动矢量402),Global_Fy可以指全局运动矢量的Y分量。Fx可以指图像部分的运动矢量的X分量(例如,帧102A中一个像素的运动矢量404),Fy可以指运动矢量的Y分量。
相似性评估器108可以使用例如方程(1)来计算全局运动矢量的量值rGlobal。
相似性评估器108可以使用例如方程(2)来计算全局运动矢量的角度thetaGlobal。
thetaGlobal=atan2(Global_Fy,Global_Fx) (2)
相似性评估器108还可以使用例如方程(3)来计算运动矢量的量值rPixel。
进一步,相似性评估器108可以使用例如方程(4)来计算运动矢量的角度thetaPixel。
thetaPixel=atan2(Fy,Fx) (4)
如果thetaGlobal小于零,则相似性评估器108可以使用例如方程(5)将该角度转换为正角。
thetaGlobal=2*π+thetaGlobal (5)
类似地,如果thetaPixel小于零,相似性评估器108可以使用例如方程(6)将该角度转换为正角度。
thetaPixel=2*π+thetaPixe. (6)
然后,相似性评估器108可以使用例如方程(7)来计算thetaGlobal和thetaPixel之间的差异thetaDiff。
thetaDiff=|thetaPixel-thetaGlobal| (7)
如果thetaDiff大于π,则相似性评估器108可以使用例如方程(8)来调整thetaDiff。
thetaDiff=2*π-thetaDiff (8)
相似性评估器108可以使用例如方程(9)来计算基于角度的相似性度量WarpCostAngle。
CostAngle=α*rGlobal*(β*thetaDiff+thetaDiff*thetaDiff) (9)其中α和β是常数,可以通过启发式方法得出。使用方程(9),thetaDiff的贡献可能与rGlobal成正比。
相似性评估器108可以使用例如方程(10)来计算基于欧氏差的相似性度量EuclidDist。
其中delta_fx=Fx-Global_Fx,delta_fy=Fy-Global_Fy。
然后,相似性评估器108可以使用例如方程(11)来计算相似性度量WarpCost。
WarpCost=EuclidDist+WarpCostAngle(11)
像素数据确定器110可以使用这些相似性度量的任何组合来确定帧(例如帧112)中的位置的像素数据。在至少一个实施例中,当多个源像素之间存在冲突时,像素数据确定器110可选择具有最高WarpCost的源像素作为为内插和/或外推帧提供像素数据的像素。
像素数据确定器110可以确定帧102A中的图像部分的相似性度量的前向运动值(例如,使用前向运动估计和前向全局运动估计),用于帧112中的位置。此外,或替代地,像素数据确定器110可以确定帧102B中的图像部分的相似性度量的后向运动值(例如,使用后向运动估计和后向全局运动估计),用于帧112中的位置。在至少一个实施例中,像素数据确定器110可以至少基于对应的前向运动值和后向运动值来从图像部分中选择用于帧112中的位置(和/或对图像部分进行加权)。例如,前向运动值和后向运动值可以被组合(例如,平均),以计算用于选择图像部分和/或确定图像部分加权的复合值。作为进一步的示例,前向运动值可作为默认值使用,而在前向运动值不可用的情况下,可使用后向运动值。在一个或更多个实施例中,相似性评估器108可以只使用前向运动值,或只使用后向运动值。在至少一个实施例中,前向运动估计和前向全局运动估计可以与后向运动估计和后向全局运动估计相结合,并且相似性评估器108可以使用聚合的运动估计值计算相似性度量的值。
现在参考图5-7,方法500、600和700的每个块,以及本文描述的其他方法,可以包括一个计算过程,可以使用硬件、固件和/或软件的任何组合来执行该计算过程。例如,各种功能可以由执行存储在存储器中的指令的处理器来执行。这些方法也可以体现为存储在计算机存储介质上的计算机可使用指令。这些方法可以由一个独立的应用程序、一个服务或托管服务(独立的或与另一个托管服务相结合)或另一个产品的插件提供,仅举几例。此外,通过举例的方式,对方法进行了描述,涉及到特定的图。然而,这些方法可以另外或替代性地由任何一个系统或任何系统的组合执行,包括但不限于本文所述的那些系统。
在至少一个实施例中,系统100可以包括图8的内容流式传输系统800的一个或更多个组件。例如,系统100可以包括在应用服务器802中。此外,或者说,图8的内容流式传输系统800的一个或更多个组件可以执行本文所述的各种方法中的一个或更多个部分。
图5是显示根据本公开的一些实施例的方法500的流程图,该方法用于至少在确定多个图像部分的位置的基础上确定图像中的位置的像素数据。该方法500,在框B502,包括确定一个或更多个第一图像部分的至少一个位置。例如,像素数据确定器110可以确定图像部分230的位置232。
在框B504,该方法500包括确定一个或更多个第二图像部分的至少一个位置。例如,像素数据确定器110可以确定图像部分234的位置232。
在框B506,该方法500包括评估全局运动和与一个或更多个第一图像部分相对应的运动之间的相似性水平。例如,相似性评估器108可以评估与帧102A相对应的全局运动矢量402和与图像部分230相对应的运动矢量404之间的相似性水平(例如,其中运动矢量404与图2中的运动矢量240相对应)。在至少一个实施例中,该方法500可进一步包括评估全局运动和与一个或更多个第二图像部分相对应的运动之间的相似性水平。例如,相似性评估器108可以评估与帧102A相对应的全局运动矢量402和与图像部分234相对应的运动矢量406之间的相似性水平(例如,其中运动矢量406与图2中的运动矢量242相对应)。
在框B508,该方法500包括至少基于相似性水平来确定至少一个位置的像素数据。例如,像素数据确定器110可以至少基于与运动矢量404相对应的相似性水平,使用图像部分230生成位置232的像素数据。在至少一个实施例中,像素数据确定器110可以至少基于与运动矢量406相对应的相似性水平,使用图像部分230进一步生成位置232的像素数据。
现在参考图6,图6是一个流程图,显示了根据本公开的一些实施例,至少在识别多个图像部分之间的位置冲突的基础上,确定图像中的位置的像素数据的方法。该方法600,在框B602,包括识别一个或更多个第一图像部分和一个或更多个第二图像部分的至少一个位置中的至少一个冲突。例如,像素数据确定器110可以确定视频102中的帧102A的图像部分230和视频102中的帧102B的图像部分230之间的位置232中的至少一个冲突。
在框B604,该方法600包括评估全局运动和与一个或更多个第一图像部分相对应的运动之间的相似性水平。例如,相似性评估器108可以评估与帧102A相对应的全局运动矢量402和与图像部分230相对应的运动矢量404之间的相似性水平。在至少一个实施例中,相似性评估器108也可以评估与帧102A相对应的全局运动矢量402和与图像部分234相对应的运动矢量406之间的相似性水平。
在框B608,方法600包括至少基于相似性水平来确定至少一个位置的像素数据。例如,像素数据确定器110可以至少基于运动矢量404的相似性水平,使用图像部分230生成位置232的像素数据。在至少一个实施例中,像素数据确定器110可以至少基于运动矢量406的相似性水平,使用图像部分230进一步生成位置232的像素数据。
现在参考图7,图7是一个流程图,显示了根据本公开的一些实施例,用于至少基于全局运动和与一个或更多个图像部分相对应的运动的相似性水平来确定图像中的位置的像素数据的方法700。方法700,在框B702,包括评估全局运动和与一个或更多个图像部分相对应的运动之间的相似性水平。例如,相似性评估器108可以评估与帧102A相对应的全局运动矢量402和与图像部分230相对应的运动矢量404之间的相似性水平。
在框B704,方法700包括至少基于相似性水平来确定至少一个位置的像素数据。例如,像素数据确定器110可以至少基于相似性水平使用图像部分230生成位置232的像素数据。
示例内容流式传输系统
现在参考图8,图8是根据本公开的一些实施例的内容流式传输系统800的示例系统图。图8包括应用服务器802(其可包括与图9的示例计算设备900类似的组件、特征和/或功能)、客户端设备804(其可包括与图9的示例计算设备900类似的组件、特征和/或功能),以及网络806(其可以类似于本文描述的网络)。在本公开的一些实施例中,可以实现系统800。应用程序会话可对应于游戏流式传输应用程序(例如,NVIDIA GeForce NOW)、远程桌面应用程序、模拟应用程序(例如,自主或半自主车辆模拟)、计算机辅助设计(CAD)应用程序、虚拟现实(VR)、增强现实(AR)和/或混合现实(MR)流式传输应用程序、深度学习应用程序和/或其他应用程序类型。
在系统800中,对于应用会话,客户端设备804可以仅接收响应于输入设备的输入的输入数据,将输入数据发送到应用服务器802,从应用服务器802接收编码的显示数据,并在显示器824上显示显示数据。因此,计算强度更高的计算和处理被卸载到应用服务器802(例如,由应用服务器802的GPU执行的图形输出的渲染——特别是光线或路径追踪)。换句话说,应用会话从应用服务器802流式传输到客户端设备804,从而降低客户端设备804对图形处理和渲染的要求。
例如,关于应用会话的实例化,客户设备804可以基于从应用服务器802接收显示数据而在显示器824上显示应用会话的框架。客户端设备804可以接收对输入设备之一的输入,并相应地生成输入数据。客户端设备804可以通过通信接口820和通过网络806(例如,因特网)将输入数据传送到应用服务器802,并且应用服务器802可以通过通信接口818接收输入数据。CPU可以接收输入数据,处理输入数据,并将数据传输给GPU,使GPU产生应用会话的渲染。例如,输入数据可以代表用户在游戏应用的游戏会话中的动作,发射武器、重新装弹、传球、转动车辆等。渲染组件812可以渲染应用会话(例如,代表输入数据的结果),并且渲染捕获组件814可以捕获应用会话的渲染作为显示数据(例如,作为捕获应用会话的渲染帧的图像数据)。应用会话的渲染可以包括光线或路径追踪的照明和/或阴影效果,使用应用服务器802的一个或更多个并行处理单元——例如GPU,这可以进一步采用一个或更多个专用硬件加速器或处理核心来执行光线或路径追踪技术——计算。在一些实施例中,一个或更多个虚拟机(VM)——例如,包括一个或更多个虚拟组件,如vGPU、vCPU等——可由应用服务器802用来支持应用会话。然后,编码器816可以对显示数据进行编码,以生成编码的显示数据,并且编码的显示数据可以通过通信接口818在网络806上传输到客户端设备804。客户端设备804可以通过通信接口820接收编码的显示数据,并且解码器822可以对编码的显示数据进行解码以生成显示数据。然后,客户端设备804可以通过显示器824显示显示数据。
本文所述的系统和方法可用于各种目的,通过举例和不限制的方式,用于机器控制、机器运动、机器驾驶、合成数据生成、模型训练、感知、增强现实、虚拟现实、混合现实、机器人,安全和监视、模拟和数字孪生、自主或半自主机器应用、深度学习、环境模拟、数据中心处理、对话式AI、光传输模拟(如光线追踪,路径追踪等)、3D资产的协作内容创建、云计算和/或任何其他合适的应用。
所公开的实施例可以包含在各种不同的系统中,如汽车系统(如用于自主或半自主机器的控制系统,用于自主或半自主机器的感知系统)、使用机器人实现的系统、航空系统、医疗系统、船艇系统、智能区域监控系统、用于执行深度学习操作的系统、用于执行模拟操作的系统、用于执行数字孪生操作的系统、使用边缘设备实现的系统、包含一个或更多个虚拟机(VM)的系统、用于执行合成数据生成操作的系统、至少部分地在数据中心中实现的系统、用于执行对话式AI操作的系统、用于执行光传输模拟的系统、用于执行3D资产协作内容创建的系统、至少部分地使用云计算资源实现的系统,和/或其他类型的系统。
示例计算设备
图9是适用于实施本公开的一些实施例的示例计算设备900的框图。计算设备900可以包括直接或间接耦合以下设备的互连系统902:存储器904、一个或更多个中央处理单元(CPU)906、一个或更多个图形处理单元(GPU)908、通信接口910、输入/输出(I/O)端口912、输入/输出组件914、电源916、一个或更多个呈现组件918(例如,显示器)和一个或更多个逻辑单元920。在至少一个实施例中,计算设备900可以包括一个或更多个虚拟机(VM),和/或其任何组件可以包括虚拟组件(例如,虚拟硬件组件)。对于非限制性示例,一个或更多个GPU 908可包括一个或更多个vGPU,一个或更多个CPU 906可包括一个或更多个vCPU,和/或一个或更多个逻辑单元920可包括一个或更多个虚拟逻辑单元。因此,计算设备900可以包括分立组件(例如,专用于计算设备900的完整GPU)、虚拟组件(例如,专用于计算设备900的GPU的一部分),或其组合。
尽管图9的各种块被显示为通过互连系统902用线连接,但这并不意味着是限制性的,只是为了清晰。例如,在一些实施例中,呈现组件918,例如显示设备,可被视为I/O组件914(例如,如果显示设备是触摸屏)。作为另一个示例,CPU 906和/或GPU 908可以包括存储器(例如,除了GPU 908、CPU 906和/或其他组件的存储器之外,存储器904可以是代表存储设备)。换句话说,图9的计算设备只是说明性的。在"工作站"、"服务器"、"笔记本电脑"、"台式机"、"平板电脑"、"客户端设备"、"移动设备"、"手持设备"、"游戏机"、"电子控制单元(ECU)"、"虚拟现实系统"和/或其他设备或系统类型之间不作区分,因为所有这些都在图9的计算设备范围内被考虑到。
互连系统902可以表示一个或更多个链路或总线,例如地址总线、数据总线、控制总线或其组合。互连系统902可以包括一种或多种总线或链路类型,例如工业标准体系结构(ISA)总线、扩展工业标准体系结构(EISA)总线、视频电子标准协会(VESA)总线、外围组件互连(PCI)总线、外围组件互连快速(PCIe)总线和/或另一种类型的总线或链路。在一些实施例中,组件之间存在直接连接。例如,CPU 906可以直接连接到存储器904。此外,CPU 906可以直接连接到GPU 908。在组件之间存在直接连接或点对点连接的情况下,互连系统902可包括用于执行连接的PCIe链路。在这些示例中,计算设备900中不需要包括PCI总线。
存储器904可以包括任何一种计算机可读的介质。计算机可读介质可以是可以由计算设备900访问的任何可用介质。计算机可读介质可以包括易失性和非易失性介质以及可移除和不可移除介质。举例而言且非限制性地,计算机可读介质可以包括计算机存储介质和通信介质。
计算机存储介质可以包括易失性和非易失性介质和/或可移除和不可移除介质,其以用于存储诸如计算机可读指令、数据结构、程序模块和/或其他数据类型之类的信息的任何方法或技术实现。例如,存储器904可以存储计算机可读指令(例如其表示程序和/或程序元素,例如操作系统)。计算机存储介质可以包括但不限于RAM、ROM、EEPROM、闪存或者其他存储技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备,或者可以用来存储期望的信息且可以由计算设备900访问的任何其他介质。当在本文使用时,计算机存储介质并不包括信号本身。
计算机存储介质可以在诸如载波之类的调制数据信号或其他传输机制中包含计算机可读指令、数据结构、程序模块和/或其他数据类型,并且包括任何信息输送介质。术语“调制数据信号”可以指这样的信号,该信号使它的特性中的一个或更多个以这样的将信息编码到该信号中的方式设置或改变。举例而言且非限制性地,计算机存储介质可以包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声音、RF、红外和其他无线介质之类的无线介质。任何以上所述的组合也应当包含在计算机可读介质的范围内。
CPU 906可以被配置为执行计算机可读指令中的至少一些,以便控制计算设备900的一个或更多个组件执行本文描述的方法和/或过程中的一个或更多个。CPU 906中的每一个可以包括能够同时处理大量软件线程的一个或更多个核(例如一个、两个、四个、八个、二十八个、七十二个等等)。CPU 906可以包括任何类型的处理器,并且可以包括不同类型的处理器,这取决于实现的计算设备900的类型(例如具有用于移动设备的较少核的处理器以及具有用于服务器的更多核的处理器)。例如,取决于计算设备900的类型,处理器可以是使用精简指令集计算(RISC)实现的先进RISC机器(ARM)处理器或者使用复杂指令集计算(CISC)实现的x86处理器。除了一个或更多个微处理器或者诸如数学协处理器之类的补充协处理器之外,计算设备900还可以包括一个或更多个CPU 906。
除了或替代CPU 906,GPU 908还可以被配置为执行至少一些计算机可读指令,以控制计算设备900的一个或更多个组件执行一个或更多个本文所述的方法和/或过程。一个或更多个GPU 908可以是集成GPU(例如,具有一个或更多个CPU 906)和/或一个或更多个GPU 908可以是离散GPU。在实施例中,一个或更多个GPU 908可以是一个或更多个CPU 906的协处理器。计算设备900可以使用GPU 908来渲染图形(例如,3D图形)或执行通用计算。例如,GPU 908可用于GPU上的通用计算(GPGPU)。GPU908可以包括能够同时处理数百或数千个软件线程的数百或数千个核。GPU 908可以响应于渲染命令(例如经由主机接口接收的来自CPU 906的渲染命令)而生成用于输出图像的像素数据。GPU 908可以包括诸如显示内存之类的用于存储像素数据或任何其他合适的数据(例如GPGPU数据)的图形内存。显示内存可以作为存储器904的部分而被包括。GPU 908可以包括(例如经由链路)并行操作的两个或更多GPU。链路可以直接连接GPU(例如,使用NVLINK),也可以通过交换机(例如,使用NVSwitch)连接GPU。当组合在一起时,每个GPU 908可以生成用于输出的不同部分或者用于不同输出的像素数据或GPGPU数据(例如,第一GPU用于第一图像,第二GPU用于第二图像)。每个GPU可以包括它自己的存储器,或者可以与其他GPU共享存储器。
除了或替代CPU 906和/或GPU 908,逻辑单元920可以被配置为执行至少一些计算机可读指令,以控制计算设备900的一个或更多个组件来执行本文描述的一种或更多种方法和/或过程。在实施例中,CPU 906、GPU908和/或逻辑单元920可以离散地或联合地执行方法、过程和/或其部分的任何组合。一个或更多个逻辑单元920可以是一个或更多个CPU 906和/或一个或更多个GPU 908的一部分和/或集成在其中,和/或一个或更多个逻辑单元920可以是CPU 906和/或GPU 908的离散组件或以其他方式在其外部。在实施例中,一个或更多个逻辑单元920可以是一个或更多个CPU906和/或一个或更多个GPU 908的处理器。
逻辑单元920的示例包括一个或更多个处理核心和/或其组件,例如数据处理单元(DPU)、张量核心(TC)、张量处理单元(TPU)、像素视觉核心(PVC)、视觉处理单元(VPU)、图形处理集群(GPC)、纹理处理集群(TPC)、流式多处理器(SM)、树遍历单元(TTU)、人工智能加速器(AIA)、深度学习加速器(DLA)、算术逻辑单元(ALU))、专用集成电路(ASIC)、浮点单元(FPU)、输入/输出(I/O)元件、外围组件互连(PCI)或外围组件互连快速(PCIe)元件等。
通信接口910可以包括一个或更多个接收器、发送器和/或收发器,其使得计算设备900能够经由电子通信网络与其他计算设备通信,包括有线和/或无线通信。通信接口910可以包括使能通过若干不同网络中的任何网络进行通信的组件和功能,所述网络例如无线网络(例如Wi-Fi、Z波、蓝牙、蓝牙LE、ZigBee等等)、有线网络(例如通过以太网或InfiniBand通信)、低功率广域网(例如LoRaWAN、SigFox等等)和/或因特网。在一个或更多个实施例中,一个或更多个逻辑单元920和/或通信接口910可以包括一个或更多个数据处理单元(DPU),用于将通过网络和/或通过互连系统902接收的数据直接传输至一个或更多个GPU 908(例如,其存储器)。
I/O端口912可以使得计算设备900能够逻辑地耦合到包括I/O组件914、呈现组件918和/或其他组件在内的其他设备,其中一些可以内置到(例如集成到)计算设备900中。说明性I/O组件914包括麦克风、鼠标、键盘、操纵杆、游戏垫、游戏控制器、碟形卫星天线、浏览仪、打印机、无线设备等等。I/O组件914可以提供处理用户生成的空中手势、语音或其他生理输入的自然用户接口(NUI)。在一些实例中,输入可以传输至适当的网络元件以便进一步处理。NUI可以实现语音识别、手写笔识别、面部识别、生物特征识别、屏幕上和邻近屏幕的手势识别、空中手势、头部和眼睛跟踪以及与计算设备900的显示器关联的触摸识别(如下文更详细地描述的)的任意组合。计算设备900可以包括诸如立体相机系统之类的深度相机、红外相机系统、RGB相机系统、触摸屏技术以及这些的组合,以用于手势检测和识别。此外,计算设备900可以包括使能运动检测的加速度计或陀螺仪(例如作为惯性测量单元(IMU)的部分)。在一些示例中,加速度计或陀螺仪的输出可以由计算设备900用来渲染沉浸式增强现实或者虚拟现实。
电源916可以包括硬接线电源、电池电源或者其组合。电源916可以向计算设备900供电以使得计算设备900的组件能够操作。
呈现组件918可以包括显示器(例如监视器、触摸屏、电视屏幕、平视显示器(HUD)、其他显示器类型或者其组合)、扬声器和/或其他呈现组件。呈现组件918可以接收来自其他组件(例如GPU 908、CPU 906、DPU等等)的数据,并且输出该数据(例如作为图像、视频、声音等等)。
示例数据中心
图10示出了示例数据中心1000,其可用于本公开的至少一个实施例中。数据中心1000可以包括数据中心基础设施层1010、框架层1020、软件层1030和应用层1040。
如图10所示,数据中心基础设施层1010可以包括资源协调器1012、分组的计算资源1014和节点计算资源(“节点C.R.”)1016(1)-1016(N),其中“N”代表任何完整的正整数。在至少一个实施例中,节点C.R.1016(1)-1016(N)可以包括但不限于任何数量的中央处理单元(CPU)或其他处理器(包括DPU、加速器、现场可编程门阵列(FPGA)、图形处理器或图形处理单元(GPU)等),内存设备(例如动态只读内存),存储设备(例如固态硬盘或磁盘驱动器),网络输入/输出(NW I/O)设备,网络交换机,虚拟机(VM),电源模块和冷却模块等。在一些实施例中,节点C.R.1016(1)-1016(N)中的一个或更多个节点C.R.可以对应于具有一个或更多个上述计算资源的服务器。此外,在一些实施例中,节点C.R.1016(1)-1016(N)可以包括一个或更多个虚拟组件,例如vGPU、vCPU等,和/或节点C.R.1016(1)-1016(N)中的一个或更多个可以对应于虚拟机(VM)。
在至少一个实施例中,分组的计算资源1014可以包括容纳在一个或更多个机架内的节点C.R.1016的单独分组(未示出),或者容纳在各个地理位置的数据中心内的许多机架(也未示出)。分组的计算资源1014内的节点C.R.1016的单独分组可以包括可以被配置或分配为支持一个或更多个工作负载的分组的计算、网络、内存或存储资源。在至少一个实施例中,可以将包括CPU、GPU、DPU和/或其他处理器的几个节点C.R.1016分组在一个或更多个机架内,以提供计算资源来支持一个或更多个工作负载。一个或更多个机架还可以包括以任意组合的任何数量的电源模块、冷却模块和/或网络交换机。
资源协调器1012可以配置或以其他方式控制一个或更多个节点C.R.1016(1)-1016(N)和/或分组的计算资源1014。在至少一个实施例中,资源协调器1012可以包括用于数据中心1000的软件设计基础结构(SDI)管理实体。资源协调器1012可以包括硬件、软件或其某种组合。
在至少一个实施例中,如图10所示,框架层1020可以包括作业调度器1028、配置管理器1034、资源管理器1036和分布式文件系统1038。框架层1020可以包括支持软件层1030的软件1032和/或应用程序层1040的一个或更多个应用程序1042的框架。软件1032或应用程序1042可以分别包括基于Web的服务软件或应用程序,例如由Amazon Web Services,Google Cloud和Microsoft Azure提供的服务软件或应用程序。框架层1020可以是但不限于一种免费且开源的软件网络应用框架,例如可以利用分布式文件系统1038来进行大规模数据处理(例如“大数据”)的Apache SparkTM(以下称为“Spark”)。在至少一个实施例中,作业调度器1028可以包括Spark驱动器,用于促进对数据中心1000的各个层所支持的工作负载进行调度。在至少一个实施例中,配置管理器1034可以能够配置不同的层,例如软件层1030和包括Spark和用于支持大规模数据处理的分布式文件系统1038的框架层1020。资源管理器1036能够管理映射到或分配用于支持分布式文件系统1038和作业调度器1028的集群或分组计算资源。在至少一个实施例中,集群或分组计算资源可以包括数据中心基础设施层1010处的分组的计算资源1014。资源管理器1036可以与资源协调器1012协调以管理这些映射的或分配的计算资源。
在至少一个实施例中,包括在软件层1030中的软件1032可以包括由节点C.R.1016(1)-1016(N)的至少部分,分组的计算资源1014和/或框架层1020的分布式文件系统1038使用的软件。一种或更多种类型的软件可以包括但不限于Internet网页搜索软件、电子邮件病毒浏览软件、数据库软件和流视频内容软件。
在至少一个实施例中,应用层1040中包括的一个或更多个应用程序1042可以包括由节点C.R.1016(1)-1016(N)的至少部分、分组的计算资源1014和/或框架层1020的分布式文件系统1038使用的一种或更多种类型的应用程序。一种或更多种类型的应用程序可以包括但不限于任何数量的基因组学应用程序,认知计算和机器学习应用程序,包括训练或推理软件,机器学习框架软件(例如PyTorch、TensorFlow、Caffe等)和/或其他与一个或更多个实施例结合使用的机器学习应用程序。
在至少一个实施例中,配置管理器1034、资源管理器1036和资源协调器1012中的任何一个可以基于以任何技术上可行的方式获取的任何数量和类型的数据来实现任何数量和类型的自我修改动作。自我修改动作可以减轻数据中心1000的数据中心操作员做出可能不好的配置决定并且可以避免数据中心的未充分利用和/或行差的部分。
数据中心1000可以包括工具、服务、软件或其他资源,用于根据本文所述的一个或更多个实施例来训练一个或更多个机器学习模型或者使用一个或更多个机器学习模型来预测或推理信息。例如,可以通过使用上文关于数据中心1000描述的软件和计算资源,根据神经网络架构计算权重参数来训练机器学习模型。在至少一个实施例中,通过使用通过一种或更多种训练技术计算出的权重参数,可以使用上面与关于数据中心1000所描述的资源,使用对应于一个或更多个神经网络的经训练的机器学习模型来推理或预测信息,例如但不限于本文所述的那些。
在至少一个实施例中,数据中心1000可以使用CPU、专用集成电路(ASIC)、GPU、FPGA和/或其他硬件(或与之对应的虚拟计算资源)来使用上述资源来执行训练和/或推理。此外,上述的一个或更多个软件和/或硬件资源可以配置成一种服务,以允许用户训练或执行信息推理,例如图像识别、语音识别或其他人工智能服务。
示例网络环境
适用于实现本公开的实施例的网络环境可以包括一个或更多个客户端设备、服务器、网络附加存储(NAS)、其他后端设备和/或其他设备类型。客户端设备、服务器和/或其他设备类型(例如,每个设备)可以在图9的计算设备900的一个或更多个实例上实现—例如,每个设备可以包括计算设备900的类似组件、特征和/或功能。此外,在实现后端设备(例如,服务器、NAS等)的情况下,后端设备可以是作为数据中心1000的一部分而被包括的,其示例在此关于图10更详细地描述。
网络环境的组件可以通过网络彼此通信,网络可以是有线、无线或两者。网络可以包括多个网络,或者多个网络中的网络。举例来说,网络可以包括一个或更多个广域网(WAN)、一个或更多个局域网(LAN)、一个或更多个公共网络(例如因特网和/或公共交换电话网(PSTN))、和/或一个或更多个专用网络。在网络包括无线电信网络的情况下,诸如基站、通信塔或甚至接入点(以及其他组件)之类的组件可以提供无线连接。
兼容的网络环境可以包括一个或更多个对等网络环境(在这种情况下服务器可能不包括在网络环境中),以及一个或更多个客户端-服务器网络环境(在这种情况下一个或更多个服务器可以包含在网络环境中)。在对等网络环境中,本文描述的关于服务器的功能可以在任意数量的客户端设备上实现。
在至少一个实施例中,网络环境可以包括一个或更多个基于云的网络环境、分布式计算环境、它们的组合等。基于云的网络环境可以包括框架层、作业调度器、资源管理器,以及在一个或更多个服务器上实现的分布式文件系统,这些服务器可以包括一个或更多个核心网络服务器和/或边缘服务器。框架层可以包括用于支持软件层的软件和/或应用层的一个或更多个应用程序的框架。软件或应用程序可分别包括基于网络的服务软件或应用程序。在实施例中,一个或更多个客户端设备可以使用基于网络的服务软件或应用程序(例如,通过经由一个或更多个应用程序编程接口(API)访问服务软件和/或应用程序)。框架层可以是但不限于一种类型的免费且开源软件网络应用程序框架,例如可以使用分布式文件系统进行大规模数据处理(例如,“大数据”)。
基于云的网络环境可以提供执行本文描述的计算和/或数据存储功能(或其一个或更多个部分)的任何组合的云计算和/或云存储。这些各种功能中的任何一个都可以分布在来自(例如,可以分布在州、地区、国家、全球等地的一个或更多个数据中心的)中央或核心服务器的多个位置。如果到用户(例如,客户端设备)的连接相对靠近边缘服务器,则核心服务器可以将功能的至少一部分指定给边缘服务器。基于云的网络环境可以是私有的(例如,仅限于单个组织),可以是公共的(例如,对许多组织可用),和/或其组合(例如,混合云环境)。
客户端设备可以包括本文关于图9描述的示例计算设备900的至少一些组件、特征和功能。作为示例而非限制,客户端设备可以体现为个人计算机(PC)、膝上型计算机、移动设备、智能手机、平板计算机、智能手表、可穿戴计算机、个人数码助理(PDA)、MP3播放器、虚拟现实头戴式显示器、全球定位系统(GPS)或设备、视频播放器、摄像机、监视设备或系统、车辆、船只、飞行器、虚拟机器、无人机、机器人、手持通信设备、医院设备、游戏设备或系统、娱乐系统、车载计算机系统、嵌入式系统控制器、遥控器、电器、消费电子设备、工作站、边缘设备、这些描述设备的任意组合或任何其他合适的设备。
本公开可以在由计算机或者诸如个人数字助理或其他手持式设备之类的其他机器执行的、包括诸如程序模块之类的计算机可执行指令的机器可使用指令或者计算机代码的一般背景下进行描述。通常,包括例程、程序、对象、组件、数据结构等等的程序模块指的是执行特定任务或者实现特定抽象数据类型的代码。本公开可以在各种各样的系统配置中实践,这些配置包括手持式设备、消费电子器件、通用计算机、更专业的计算设备等等。本公开也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实践。
如在本文中使用的,“和/或”关于两个或更多元素的叙述应当解释为仅指一个元素或者元素组合。例如,“元素A、元素B和/或元素C”可以包括仅仅元素A,仅仅元素B,仅仅元素C,元素A和元素B,元素A和元素C,元素B和元素C,或者元素A、B和C。此外,“元素A或元素B中的至少一个”可以包括元素A中的至少一个,元素B中的至少一个,或者元素A中的至少一个和元素B中的至少一个。进一步,“元素A和元素B中的至少一个”可以包括元素A中的至少一个,元素B中的至少一个,或者元素A中的至少一个和元素B中的至少一个。
这里详细地描述了本公开的主题以满足法定要求。然而,描述本身并非意在限制本公开的范围。相反地,本发明人已经设想到,要求保护的主题也可以以其他的方式具体化,以包括与本文中结合其他当前或未来技术描述的步骤不同的步骤或者相似的步骤的组合。而且,尽管术语“步骤”和/或“块”在本文中可以用来隐含采用的方法的不同元素,但是这些术语不应当被解释为暗示本文公开的各个步骤之中或之间的任何特定顺序,除非明确描述了各步骤的顺序。

Claims (20)

1.一种方法,包括:
计算帧序列的第一参考帧和所述帧序列的第二参考帧之间的光流;
至少基于所述光流生成第一组一个或更多个局部运动矢量和第二组一个或更多个局部运动矢量,所述第一组一个或更多个局部运动矢量将所述第一参考帧中的一个或更多个第一像素位置处显示的第一视觉内容映射到中间帧中的与所述第一参考帧的所述第一视觉内容相对应的一个或更多个像素位置,所述第二组一个或更多个局部运动矢量将在所述第二参考帧中的一个或更多个第二像素位置处显示的第二视觉内容映射到所述中间帧中的与所述第二参考帧的所述第二视频内容相对应的一个或更多个像素位置;
检测在所述中间帧中的所述一个或更多个像素位置中的至少一个像素位置上所述第一视觉内容和所述第二视觉内容之间的冲突,
响应于所述检测,对于所述中间帧中的所述至少一个像素位置确定所述第一组一个或更多个局部运动矢量或所述第二组一个或更多个局部运动矢量中的哪一个相对于全局运动矢量具有更高的相似性分数;以及
使用与所述更高的相似性分数相对应的一个或更多个局部运动矢量来生成所述中间帧中的所述至少一个像素位置的像素数据。
2.如权利要求1所述的方法,其中生成所述像素数据是至少基于以下中的一个或更多个:在所述第一参考帧和所述第二参考帧之间插值所述像素数据,或者从所述第一参考帧或所述第二参考帧中的一个或更多个外推所述像素数据。
3.如权利要求1所述的方法,其中检测所述冲突至少基于所述第一组一个或更多个局部运动矢量指示第一表面的至少一部分位于与所述第一表面不同的第二表面的前面,并且所述第二组一个或更多个局部运动矢量指示所述第一表面的所述至少一部分在所述第二表面的后面。
4.如权利要求1所述的方法,还包括:至少基于以下中的一项或更多项来计算所述更高的相似性分数:
所述全局运动矢量的角度与所述第一组一个或更多个局部运动矢量的一个或更多个角度之间的差;或者
所述全局运动矢量的量值与所述第一组一个或更多个局部运动矢量的一个或更多个量值之间的差。
5.如权利要求1所述的方法,其中生成所述像素数据是用于生成所述帧序列的一个或更多个附加帧,以在一个或更多个时间段内使用显示设备显示时实现目标帧速率。
6.如权利要求1所述的方法,其中确定所述第一组一个或更多个局部运动矢量或所述第二组一个或更多个局部运动矢量中的哪一个相对于所述全局运动矢量具有更高的相似性分数至少基于计算相似性度量,所述相似性度量与所述全局运动矢量的量值成比例地对所述全局运动矢量的角度与所述第一组一个或更多个运动矢量的一个或更多个角度之间的差进行加权。
7.如权利要求1所述的方法,其中确定所述第一组一个或更多个局部运动矢量或所述第二组一个或更多个局部运动矢量中的哪一个具有所述更高的相似性分数包括:
计算所述第一组一个或更多个局部运动矢量的第一相似性分数;
计算所述第二组一个或更多个局部运动矢量的第二相似性分数;以及
将所述第一相似性分数与所述第二相似性分数进行比较。
8.如权利要求1所述的方法,其中使用所述第一参考帧和所述第二参考帧之间的运动矢量的统计组合来计算所述全局运动矢量。
9.如权利要求1所述的方法,其中生成所述至少一个像素位置的所述像素数据至少基于与所述第一组一个或更多个局部运动矢量相对应的所述更高的相似性分数不与所述第二视觉内容相对应。
10.一种系统,包括:
用于执行操作的一个或更多个处理单元,所述操作包括:
至少基于第一参考帧和第二参考帧之间的光流,生成将所述第一参考帧的第一视觉内容映射到中间帧中的像素位置的第一运动矢量,以及将所述第二参考帧的第二视觉内容映射到所述中间帧中的所述像素位置的第二运动矢量;
至少基于所述第一视觉内容和所述第二视觉内容,确定在所述像素位置处所述第一运动矢量和所述第二运动矢量之间的冲突;以及
至少基于所述第一运动矢量相比于所述第二运动矢量与全局运动矢量具有更大的相似度,使用所述第一运动矢量来生成与所述像素位置相对应的像素数据。
11.如权利要求10所述的系统,其中生成所述像素数据是至少基于以下中的一个或更多个:在所述第一参考帧和所述第二参考帧之间插值所述像素数据,或者从所述第一参考帧或所述第二参考帧中的一个或更多个外推所述像素数据。
12.如权利要求10所述的系统,其中确定所述冲突至少基于所述第一运动矢量指示第一表面的至少一部分在所述像素位置处位于与所述第一表面不同的第二表面的前面,并且所述第二运动矢量指示所述第一表面的所述至少一部分在所述像素位置处位于所述第二表面的后面。
13.如权利要求10所述的系统,还包括:至少基于计算以下中的一项或更多项,确定所述第一运动矢量相比于所述第二运动矢量与全局运动矢量具有更大的相似度:
所述全局运动矢量的第一角度和所述第一运动矢量的第二角度之间的差;或者
所述全局运动矢量的第一量值和所述第一运动矢量的第二量值之间的差。
14.如权利要求10所述的系统,其中所述系统被包括在以下中的至少一个中:
用于自主或半自主机器的控制系统;
用于自主或半自主机器的感知系统;
用于执行模拟操作的系统;
用于执行数字孪生操作的系统;
用于执行光传输模拟的系统;
用于执行3D资产的协作内容创建的系统;
用于执行深度学习操作的系统;
使用边缘设备实现的系统;
使用机器人实现的系统;
用于执行对话人工智能操作的系统;
用于生成合成数据的系统;
用于呈现虚拟现实内容、增强现实内容或混合现实内容中的至少一个的系统;
包含一个或更多个虚拟机VM的系统;
至少部分地在数据中心中实现的系统;或者
至少部分地使用云计算资源实现的系统。
15.一种处理器,包括:
一个或更多个电路,用于至少基于一个或更多个全局运动矢量与用于生成插值帧的一个或更多个帧的一个或更多个冲突部分的一个或更多个局部运动矢量之间的相似度来确定所述插值帧的像素位置的像素数据。
16.如权利要求15所述的处理器,其中所述像素位置的所述像素数据是至少基于确定与所述一个或更多个冲突部分中的第二部分相对应的至少一个局部运动矢量相比于与所述一个或更多个冲突部分中的第一部分相对应的至少另一个局部运动矢量与所述一个或更多个全局运动矢量更不相似,使用所述第一部分来确定的。
17.如权利要求15所述的处理器,其中所述插值帧是至少通过在所述一个或更多个帧中的第一帧和所述一个或更多个帧中的第二帧之间插值所述像素数据来生成的。
18.如权利要求15所述的处理器,其中所述一个或更多个冲突部分是至少基于识别所述一个或更多个帧中的一个或更多个第一帧与所述一个或更多个帧中的一个或更多个第二帧之间的像素冲突来确定的。
19.如权利要求15所述的处理器,其中所述相似度是至少基于以下中的一项或更多项来计算的:
所述一个或更多个全局运动矢量的一个或更多个第一角度与所述一个或更多个局部运动矢量的一个或更多个第二角度之间的差;或者
所述一个或更多个全局运动矢量的一个或更多个第一量值与所述一个或更多个局部运动矢量的一个或更多个第二量值之间的差。
20.如权利要求15所述的处理器,其中所述处理器被包括在以下中的至少一个中:
用于自主或半自主机器的控制系统;
用于自主或半自主机器的感知系统;
用于执行模拟操作的系统;
用于执行数字孪生操作的系统;
用于执行光传输模拟的系统;
用于执行3D资产的协作内容创建的系统;
用于执行深度学习操作的系统;
使用边缘设备实现的系统;
使用机器人实现的系统;
用于执行对话人工智能操作的系统;
用于生成合成数据的系统;
用于呈现虚拟现实内容、增强现实内容或混合现实内容中的至少一个的系统;
包含一个或更多个虚拟机VM的系统;
至少部分地在数据中心中实现的系统;或者
至少部分地使用云计算资源实现的系统。
CN202310034346.2A 2022-08-15 2023-01-10 利用光流进行帧速率上转换 Pending CN117596406A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/888,185 2022-08-15
US17/888,185 US20240054657A1 (en) 2022-08-15 2022-08-15 Frame rate up-conversion using optical flow

Publications (1)

Publication Number Publication Date
CN117596406A true CN117596406A (zh) 2024-02-23

Family

ID=89809316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310034346.2A Pending CN117596406A (zh) 2022-08-15 2023-01-10 利用光流进行帧速率上转换

Country Status (4)

Country Link
US (1) US20240054657A1 (zh)
JP (1) JP2024026023A (zh)
CN (1) CN117596406A (zh)
DE (1) DE102023120493A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI108900B (fi) * 1999-12-28 2002-04-15 Martti Kesaeniemi Optinen vuo ja kuvan muodostaminen
KR100699261B1 (ko) * 2005-06-24 2007-03-27 삼성전자주식회사 움직임 에러 검출장치와 이를 포함하는 움직임 에러보정장치와 이에 의한 움직임 에러 검출방법 및 움직임에러 보정방법
US20150022677A1 (en) * 2013-07-16 2015-01-22 Qualcomm Incorporated System and method for efficient post-processing video stabilization with camera path linearization
GB2521491B (en) * 2014-06-17 2016-10-19 Imagination Tech Ltd Motion estimation

Also Published As

Publication number Publication date
DE102023120493A1 (de) 2024-02-15
US20240054657A1 (en) 2024-02-15
JP2024026023A (ja) 2024-02-28

Similar Documents

Publication Publication Date Title
US11010921B2 (en) Distributed pose estimation
US11790594B2 (en) Ray-tracing with irradiance caches
US20230419590A1 (en) Light importance caching using spatial hashing in real-time ray tracing applications
WO2022250796A1 (en) Synthesizing high resolution 3d shapes from lower resolution representations for synthetic data generation systems and applications
CN114078077A (zh) 使用会话性能元数据评估定性流体验
US20240177394A1 (en) Motion vector optimization for multiple refractive and reflective interfaces
US20240037788A1 (en) 3d pose estimation in robotics
GB2603241A (en) Latency determinations for human interface devices
US20230267063A1 (en) Real-time latency measurements in streaming systems and applications
US11922558B2 (en) Hybrid differentiable rendering for light transport simulation systems and applications
US20220398283A1 (en) Method for fast and better tree search for reinforcement learning
WO2022251619A1 (en) Hybrid differentiable rendering for light transport simulation systems and applications
US20240054657A1 (en) Frame rate up-conversion using optical flow
CN114764841A (zh) 使用内建函数用于光线追踪应用中的阴影去噪
US20240112356A1 (en) Estimating flow vectors for occluded content in video sequences
US20230290057A1 (en) Action-conditional implicit dynamics of deformable objects
US11593988B2 (en) Fractional visibility estimation using particle density for light transport simulation
US20240160888A1 (en) Realistic, controllable agent simulation using guided trajectories and diffusion models
CN116246026B (zh) 三维重建模型的训练方法、三维场景渲染方法及装置
US20230144458A1 (en) Estimating facial expressions using facial landmarks
US20230336799A1 (en) Video streaming scaling using virtual resolution adjustment
US20240161377A1 (en) Physics-based simulation of human characters in motion
US20230085156A1 (en) Entropy-based pre-filtering using neural networks for streaming applications
CN117911232A (zh) 用于视频流式传输系统和应用的帧间实时遮挡检测
WO2023081138A1 (en) Estimating facial expressions using facial landmarks

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