CN115298687A - 增强视频流的分辨率 - Google Patents

增强视频流的分辨率 Download PDF

Info

Publication number
CN115298687A
CN115298687A CN202180021964.2A CN202180021964A CN115298687A CN 115298687 A CN115298687 A CN 115298687A CN 202180021964 A CN202180021964 A CN 202180021964A CN 115298687 A CN115298687 A CN 115298687A
Authority
CN
China
Prior art keywords
frame
resolution
image associated
image
video
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
CN202180021964.2A
Other languages
English (en)
Inventor
A·S·卡普兰扬
M·奥库涅夫
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.)
Meta Platforms Technologies LLC
Original Assignee
Meta Platforms Technologies LLC
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 Meta Platforms Technologies LLC filed Critical Meta Platforms Technologies LLC
Publication of CN115298687A publication Critical patent/CN115298687A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • G06T3/4076Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution using the original low-resolution images to iteratively correct the high-resolution images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

在一个实施例中,一种方法包括:访问与视频的帧相对应的第一分辨率图像;基于视频中的第一帧的第一分辨率图像和视频中的第二帧的第一分辨率图像,计算运动矢量;通过使用运动矢量扭曲与第一帧相关联的第二分辨率重建图像,生成与第二帧相关联的第二分辨率扭曲图像;基于与第二帧相关联的第一分辨率图像,生成与第二帧相关联的第二分辨率中间图像;通过使用机器学习模型,处理与第二帧相关联的第一分辨率图像和与第二帧相关联的第二分辨率扭曲图像,计算调整参数;基于调整参数调整与第二帧相关联的第二分辨率中间图像的像素,以重建与第二帧相关联的第二分辨率重建图像。

Description

增强视频流的分辨率
技术领域
本公开主要涉及图像处理,并且尤其涉及增强视频流的分辨率。
背景技术
本公开的实施例可以包括人工现实系统或结合人工现实系统来实现。人工现实是在呈现给用户之前已经以某种方式调整的现实形式,其可以包括例如虚拟现实(VR)、增强现实(AR)、混合现实(MR)、混合式现实(hybrid reality),或其一些组合和/或派生物。人工现实内容可以包括完全生成的内容或与捕捉内容(例如真实世界的照片)组合生成的内容。人工现实内容可以包括视频、音频、触觉反馈或其某种组合,并且其中任意一个可以在单个通道或多个通道(诸如向观看者产生三维效果的立体视频)中呈现。另外,在一些实施例中,人工现实可以与应用、产品、附件、服务或其一些组合相关联,其例如用于在人工现实中创建内容和/或在人工现实中使用(例如在人工现实中执行活动)。提供人工现实内容的人工现实系统可以在各种平台上实现,包括连接至主机计算机系统的头戴式显示器(HMD)、独立HMD、移动设备或计算系统,或能够向一个或多个观看者提供人工现实内容的任何其它硬件平台。
发明内容
在特定实施例中,计算设备可以以低分辨率处理图像,并使用机器学习模型将图像上采样至更高分辨率。渲染图像和传送渲染图像的成本可能取决于渲染图像的分辨率。为了降低这些成本,计算设备可以以低分辨率处理图像,并在向用户显示图像之前使用机器学习模型增加图像的分辨率。计算设备可以访问与视频的帧相对应的第一分辨率图像。计算设备可以基于视频中的第一帧的第一分辨率图像和视频中的第二帧的第一分辨率图像来计算第一运动矢量,其中,在视频中,第一帧在第二帧之前出现。计算设备可以通过使用第一运动矢量扭曲与第一帧相关联的第二分辨率重建图像,生成与第二帧相关联的第二分辨率扭曲图像,其中,第二分辨率可以高于第一分辨率。与第二帧相关联的第二分辨率扭曲图像可以包括基于所计算的运动矢量的位于预测位置的对象。计算设备可以基于与第二帧相关联的第一分辨率图像,生成与第二帧相关联的第二分辨率中间图像。为了生成与第二帧相关联的第二分辨率中间图像,计算设备可以将与第二帧相关联的第一分辨率图像的像素均匀地放置在第二分辨率中间图像的第二分辨率图像平面中,使得多个像素保持空白。计算设备可以用非空白相邻像素的内插值填充第二分辨率图像平面中的多个空白像素。计算设备可以通过使用机器学习模型处理与第二帧相关联的第一分辨率图像和与第二帧相关联的第二分辨率扭曲图像,计算调整参数。计算设备可以基于调整参数调整与第二帧相关联的第二分辨率中间图像的像素,以重建与第二帧相关联的第二分辨率重建图像。
在特定实施例中,可以训练机器学习模型。训练可以由另一计算设备执行。在机器学习模型的训练过程中,可以调整机器学习模型的可训练变量,以计算使预定损耗函数最小化的调整参数。可训练变量可以包括机器学习模型内的权重和偏差。计算设备可以测量与第二帧相关联的第二分辨率重建图像和与第二帧相关联的第二分辨率基础真实(groundtruth)图像之间的差异。计算设备可以基于与第二帧相关联的第二分辨率重建图像和与第二帧相关联的第二分辨率基础真实图像之间的所测量的差异,计算机器学习模型的可训练变量的梯度。计算设备可以通过梯度下降反向传播过程来更新可训练变量。在特定实施例中,计算设备可以测量与第三帧相关联的第二分辨率扭曲图像中的选定像素和与第三帧相关联的第二分辨率基础真实图像中的选定像素之间的差异,其中,在视频的帧序列中,第二帧可以位于第三帧之前。为了生成与第三帧相关联的第二分辨率扭曲图像,计算设备可以基于与第二帧相关联的第二分辨率基础真实图像和与第三帧相关联的第二分辨率基础真实图像,计算第二运动矢量。然后,计算设备可以通过使用第二运动矢量扭曲与第二帧相关联的第二分辨率重建图像,生成与第三帧相关联的第二分辨率扭曲图像。通过比较与第二帧相关联的第二分辨率基础真实图像和与第三帧相关联的第二分辨率基础真实图像中的像素,可以将选定像素标识为具有强光流对应性的像素。计算设备可以基于与第三帧相关联的第二分辨率扭曲图像中的选定像素和与第三帧相关联的第二分辨率基础真实图像中的选定像素之间的所测量的差异,计算机器学习模型的可训练变量的梯度。计算设备可以更新可训练变量,该可训练变量通过梯度下降反向传播过程来更新。计算设备可以利用所计算的梯度中的任意一个或两个来训练机器学习模型。
根据本公开的另一方面,提供了一种或多种计算机可读非暂态存储介质,其具体化软件,软件在被执行时,能够操作为:访问与视频的帧相对应的第一分辨率图像;基于视频中的第一帧的第一分辨率图像和视频中的第二帧的第一分辨率图像,计算运动矢量;通过使用运动矢量扭曲与第一帧相关联的第二分辨率重建图像,生成与第二帧相关联的第二分辨率扭曲图像;基于与第二帧相关联的第一分辨率图像,生成与第二帧相关联的第二分辨率中间图像;通过使用机器学习模型处理与第二帧相关联的第一分辨率图像和与第二帧相关联的第二分辨率扭曲图像,计算调整参数;并且基于调整参数调整与第二帧相关联的第二分辨率中间图像的像素,以重建与第二帧相关联的第二分辨率重建图像。
在一些实施例中,可以在机器学习模型的训练过程中,测量与第二帧相关联的第二分辨率重建图像和与第二帧相关联的第二分辨率基础真实图像之间的差异。
在一些实施例中,可以基于所测量的与第二帧相关联的第二分辨率重建图像和与第二帧相关联的第二分辨率基础真实图像之间的差异,计算机器学习模型的可训练变量的梯度。
在一些实施例中,可训练变量可以通过梯度下降反向传播过程来更新。
在一些实施例中,在视频的帧序列中,第一帧可以位于第二帧之前。
根据本公开的另一方面,提供了一种系统,包括:一个或多个处理器;以及被耦接至处理器的非暂态存储器,存储器包括能够由处理器执行的指令,处理器在执行指令时,能够操作为:访问与视频的帧相对应的第一分辨率图像;基于视频中的第一帧的第一分辨率图像和视频中的第二帧的第一分辨率图像来计算运动矢量;通过使用运动矢量扭曲与第一帧相关联的第二分辨率重建图像,生成与第二帧相关联的第二分辨率扭曲图像;基于与第二帧相关联的第一分辨率图像,生成与第二帧相关联的第二分辨率中间图像;通过使用机器学习模型处理与第二帧相关联的第一分辨率图像和与第二帧相关联的第二分辨率扭曲图像,计算调整参数;并且基于调整参数调整与第二帧相关联的第二分辨率中间图像的像素,以重建与第二帧相关联的第二分辨率重建图像。
本文公开的实施例仅仅是示例,并且本公开的范围不限于此。特定实施例可以包括本文所公开实施例的所有、一些部件、元件、特征、功能、操作或步骤,或者不包括这些部件、元件、特征、功能、操作或步骤。根据本公开的实施例特别地在所附权利要求中公开,其涉及方法、存储介质、系统和计算机程序产品,其中,在一个权利要求类别(例如方法)中提及的任何特征也可以在另一权利要求类别(例如系统)中要求保护。所附权利要求中的从属或引用仅出于形式上的原因而被选择。然而,由对任何前述权利要求(特别是多项从属)的有意引用所产生的任何主题也可以被要求保护,使得权利要求及其特征的任意组合被公开并且可以被要求保护,无论所附权利要求中选择的从属关系如何。可以要求保护的主题不仅包括如所附权利要求中阐述的特征的组合,而且包括权利要求中的特征的任何其它组合,其中,权利要求中提及的每个特征可以与权利要求中的任何其它特征或其它特征的组合进行组合。此外,本文描述或描绘的任何实施例和特征可以在单独的权利要求中要求保护,和/或在与本文描述或描绘的任何实施例或特征或所附权利要求的任何特征的任意组合中要求保护。
附图说明
图1示出示例人工现实系统。
图2示出使用机器学习模型来增强视频的图像分辨率的示例过程。
图3示出从原始分辨率图像生成目标分辨率中间图像的示例过程。
图4A示出基于重构图像与对应的基础真实图像之间的所测量的差异,用损耗函数训练的示例机器学习模型。
图4B示出基于针对下一帧的扭曲图像及其对应的基础真实图像之间的所测量的差异,用损耗函数训练的示例机器学习模型。
图5示出用于增强视频流分辨率的示例方法。
图6示出与虚拟现实系统相关联的示例网络环境。
图7示出示例计算机系统。
具体实施方式
图1示出示例人工现实系统。人工现实是在呈现给用户105之前,已经以某种方式调整的现实形式,其可以包括例如虚拟现实(VR)、增强现实(AR)、混合现实(MR)、混合式现实(hybrid reality),或其某种组合和/或派生物。人工现实内容可以包括完全生成的内容或与捕捉内容(例如真实世界的照片)组合生成的内容。人工现实内容可以包括视频、音频、触觉反馈或其某种组合,并且其中任意一个可以在单个通道或多个通道(诸如向观看者产生三维效果的立体视频)中呈现。另外,在一些实施例中,人工现实可以与应用、产品、附件、服务或其某种组合相关联,其例如用于在人工现实中创建内容和/或在人工现实中使用(例如在人工现实中执行活动)。图1所示的示例人工现实系统可以包括头戴式显示器(HMD)101、控制器102和计算设备103。用户105可以佩戴头戴式显示器(HMD)101,头戴式显示器(HMD)101可以向用户105提供视觉人工现实内容。HMD101可以包括音频设备,音频设备可以向用户105提供音频人工现实内容。控制器102可以包括轨迹板和一个或多个按钮。控制器102可以接收来自用户105的输入,并将输入中继至计算设备103。控制器102还可以向用户105提供触觉反馈。计算设备103可以连接至HMD 101和控制器102。计算设备103可以控制HMD 101和控制器102,以向用户提供人工现实内容并从用户105接收输入。计算设备103可以是与HMD 101组合的单机主机计算机系统、移动设备,或能够向一个或多个用户105提供人工现实内容并从用户105接收输入的任何其它硬件平台。
在特定实施例中,计算设备103可以从第三方设备接收视频流,并且通过HMD 101向用户105呈现接收到的视频流。从第三方设备到计算设备103的流量所需的带宽可以取决于视频流的分辨率。如果第三方设备与计算设备103之间的通信路径包括无线链路,则可用带宽可能是有限的。如果计算设备103能够以合理的计算成本增强视频流的分辨率,则计算设备103可能能够通过以低分辨率接收视频流并在向用户显示视频之前增强视频的分辨率,降低与网络带宽相关联的成本。此外,渲染高分辨率的图像可能是昂贵的。如果与渲染视频的高分辨率图像相关联的成本高于与渲染视频的低分辨率图像和使用机器学习模型增强图像的分辨率相关联的组合成本,则计算设备103可以通过以低分辨率渲染图像和使用机器学习模型增强图像的分辨率来降低成本。本文公开了一种以低分辨率处理图像并使用机器学习模型将图像上采样至更高分辨率的方式。
在特定实施例中,计算设备103可以以低分辨率处理图像,并使用机器学习模型将图像上采样至更高分辨率。渲染图像和传送渲染的图像的成本可能取决于渲染图像的分辨率。为了降低这些成本,计算设备103可以以低分辨率处理图像,并在向用户显示图像之前使用机器学习模型增加图像的分辨率。计算设备103可以访问与视频的帧相对应的第一分辨率图像。计算设备103可以基于视频中第一帧的第一分辨率图像和视频中第二帧的第一分辨率图像来计算第一运动矢量,其中,在视频中,第一帧在第二帧之前出现。计算设备103可以通过使用第一运动矢量扭曲与第一帧相关联的第二分辨率重建图像,生成与第二帧相关联的第二分辨率扭曲图像,其中,第二分辨率可以高于第一分辨率。与第二帧相关联的第二分辨率扭曲图像可以包括基于所计算的运动矢量的位于预测位置的对象。计算设备103可以基于与第二帧相关联的第一分辨率图像,生成与第二帧相关联的第二分辨率中间图像。为了生成与第二帧相关联的第二分辨率中间图像,计算设备103可以将与第二帧相关联的第一分辨率图像的像素均匀地放置在针对第二分辨率中间图像的第二分辨率图像平面中,使得多个像素保持空白。计算设备103可以用非空白相邻像素的内插值填充第二分辨率图像平面中的多个空白像素。计算设备103可以通过使用机器学习模型处理与第二帧相关联的第一分辨率图像和与第二帧相关联的第二分辨率扭曲图像,计算调整参数。计算设备103可以基于调整参数调整与第二帧相关联的第二分辨率中间图像的像素,以重建与第二帧相关联的第二分辨率重建图像。虽然本公开描述了以特定方式使用机器学习模型生成第二分辨率重建图像,但本公开也考虑以任何适当方式使用机器学习模型生成第二分辨率重建图像。
在特定实施例中,计算设备103可以访问与视频的帧相对应的第一分辨率图像。计算设备103可以基于视频中第一帧的第一分辨率图像和视频中第二帧的第一分辨率图像来计算第一运动矢量,其中,在视频中,第一帧在第二帧之前出现。图2示出使用机器学习模型来增强视频的图像分辨率的示例过程。作为示例而非限制,如图2所示,计算设备103可以访问原始分辨率的视频流。计算设备103可以以目标分辨率向相关联用户呈现视频流,其中,目标分辨率高于原始分辨率。为了以目标分辨率向相关联用户呈现视频流,计算设备103可以使用机器学习模型210来增强视频流的分辨率。在特定实施例中,计算设备103可以与HMD101组合。计算设备103可以从第三方设备接收视频流。在特定实施例中,第三方设备可以是手持设备。从第三方设备到计算设备103的通信链路可以是无线的。在特定实施例中,视频流可以包括人工现实对象。在图2所示的示例中,计算设备103正增强与视频流的帧t相对应的图像的分辨率。计算设备103可以访问与帧t-1相对应的原始分辨率图像201a和与帧t相对应的原始分辨率图像201b。计算设备103可以基于与帧t-1相对应的原始分辨率图像201a和与帧t相对应的原始分辨率图像201b来计算运动矢量。在特定实施例中,运动矢量可以是光流203。光流可以是视觉场景中的物体、表面和边缘的表观运动图案。虽然本公开描述了以特定方式基于与视频流的连续帧相对应的图像来计算运动矢量,但是本公开也考虑以任何适当方式基于与视频流的连续帧相对应的图像来计算运动矢量。
在特定实施例中,计算设备103可以通过使用第一运动矢量扭曲与第一帧相关联的第二分辨率重建图像,生成与第二帧相关联的第二分辨率扭曲图像。第二分辨率可以高于第一分辨率。与第二帧相关联的第二分辨率扭曲图像可以包括基于所计算的运动矢量的位于预测位置的对象。作为示例而非限制,继续参见图2所示的先前示例,计算设备103可以访问与帧t-1相对应的目标分辨率重建图像205。与帧t-1相对应的目标分辨率重建图像205可以已经在增强与帧t-1相对应的图像的分辨率的过程中生成。计算设备103可以通过使用从帧t-1到帧t的计算的光流203扭曲与帧t-1相对应的目标分辨率重建图像205,生成与帧t相对应的目标分辨率扭曲图像207。与帧t相对应的目标分辨率扭曲图像207可以包括在与帧t-1相对应的目标分辨率重建图像205中示出的、位于预测位置的对象。可以基于从帧t-1到帧t的计算的光流203来确定对象的预测位置。虽然本公开描述了以特定方式生成目标分辨率扭曲图像,但本公开也考虑以任何适当方式生成目标分辨率扭曲图像。
在特定实施例中,计算设备103可以基于与第二帧相关联的第一分辨率图像,生成与第二帧相关联的第二分辨率中间图像。作为示例而非限制,继续参见图2所示的先前示例,计算设备103可以基于与帧t相对应的原始分辨率图像201b,生成与帧t相对应的目标分辨率中间图像221。在特定实施例中,计算设备103可以使用基于内插的上采样方法来生成与帧t相对应的目标分辨率中间图像221。虽然本公开描述了以特定方式生成目标分辨率中间图像,但本公开也考虑以任何适当方式生成目标分辨率中间图像。
在特定实施例中,为了生成与第二帧相关联的第二分辨率中间图像,计算设备103可以将与第二帧相关联的第一分辨率图像的像素均匀地放置在针对第二分辨率中间图像的第二分辨率图像平面中,使得多个像素保持空白。计算设备103可以用非空白相邻像素的内插值填充第二分辨率图像平面中的多个空白像素。图3示出根据原始分辨率图像生成目标分辨率中间图像的示例过程。作为示例而非限制,如图3所示,计算设备103可以访问原始分辨率图像310。为了生成目标分辨率中间图像,计算设备103准备目标分辨率图像平面320a,其中,目标分辨率高于原始分辨率。目标分辨率图像平面可以是与计算设备103相关联的存储空间。然后,计算设备103可以将原始分辨率图像310的像素均匀地放置在目标分辨率图像平面320a中,使得目标分辨率图像平面320a在该阶段可以包括多个空白像素。计算设备103可以用非空白相邻像素的内插值填充多个空白像素,以生成目标分辨率中间图像320b。计算设备103可以使用最近相邻内插、双线性内插、双三次内插或任何适当的内插技术来填充多个空白像素。虽然本公开描述了以特定方式进行内插来生成目标分辨率中间图像,但本公开也考虑以任何适当方式进行内插来生成目标分辨率中间图像。
在特定实施例中,计算设备103可以通过使用机器学习模型处理与第二帧相关联的第一分辨率图像和与第二帧相关联的第二分辨率扭曲图像,计算调整参数。在特定实施例中,机器学习模型可以是卷积神经网络(CNN)模型。在特定实施例中,机器学习模型可以是生成对抗网络(GAN)模型。作为示例而非限制,继续参见图2所示的先前示例,计算设备103可以向机器学习模型210提供与帧t相对应的原始分辨率图像201b,以及与帧t相对应的目标分辨率扭曲图像207。机器学习模型210可以产生调整参数223。在特定实施例中,机器学习模型210可以在计算设备103上执行。在特定实施例中,机器学习模型210可以在第三方设备上执行。虽然本公开描述了以特定方式使用机器学习模型来计算调整参数,但本公开也考虑以任何适当方式使用机器学习模型来计算调整参数。
在特定实施例中,计算设备103可以基于调整参数调整与第二帧相关联的第二分辨率中间图像的像素,以重建与第二帧相关联的第二分辨率重建图像。作为示例而非限制,继续参见图2所示的先前示例,计算设备103可以通过将计算的调整参数223应用于与帧t相对应的目标分辨率中间图像221,生成与帧t相对应的目标分辨率重建图像225。计算设备103可以向相关联用户呈现与帧t相对应的目标分辨率重建图像225。虽然本公开描述了以特定方式基于目标分辨率中间图像和计算的调整参数生成目标分辨率重建图像,但本公开也考虑以任何适当方式基于目标分辨率中间图像和计算的调整参数生成目标分辨率重建图像。
在特定实施例中,可以训练机器学习模型。在机器学习模型的训练过程中,可以调整机器学习模型的可训练变量,以计算使预定损耗函数最小化的调整参数。可训练变量可以包括机器学习模型内的权重和偏差。作为示例而非限制,计算设备可以用收集的训练数据来训练机器学习模型。训练数据可以包括原始分辨率视频流和对应的目标分辨率视频流。计算设备可以基于目标分辨率重建图像和对应的目标分辨率基础真实图像之间的差异来计算损耗。计算设备可以基于损耗来计算针对机器学习模型的可训练变量的梯度。计算设备可以通过梯度下降反向传播过程来更新可训练变量。计算设备可以重复该过程,直到实现训练目标。虽然本公开描述了以特定方式训练机器学习模型,但本公开也考虑以任何适当方式训练机器学习模型。
在特定实施例中,计算设备可以测量与第二帧相关联的第二分辨率重建图像和与第二帧相关联的第二分辨率基础真实图像之间的差异。图4A示出基于重构图像与其对应的基础真实图像之间的所测量的差异,用损耗函数训练的示例机器学习模型。作为示例而非限制,如图4A所示,可以准备一组训练数据,其中,该组训练数据可以包括原始分辨率视频流及其对应的目标分辨率视频流。在步骤401a,计算设备可以向机器学习模型410提供输入420。机器学习模型410可以包括可训练变量415。输入420可以包括原始分辨率图像和目标分辨率扭曲图像。输入420可以如图2所示的准备。在步骤403a,可以生成目标分辨率重建图像430。虽然为了简洁的目的在图4A中省略了一些细节,但计算设备可以通过基于来自机器学习模型410的调整参数调整目标分辨率中间图像的像素,生成目标分辨率重建图像430。在步骤405a,计算设备可以通过测量目标分辨率重建图像430和对应的目标分辨率基础真实图像440之间的差异来计算损耗。可以基于预定损耗函数来计算损耗。虽然本公开描述了以特定方式计算训练机器学习模型的损耗,但本公开也考虑以任何适当方式计算训练机器学习模型的损耗。
在特定实施例中,计算设备可以基于与第二帧相关联的第二分辨率重建图像和与第二帧相关联的第二分辨率基础真实图像之间的所测量的差异,计算机器学习模型的可训练变量的梯度。计算设备可以通过梯度下降反向传播过程来更新可训练变量。作为示例而非限制,继续参见图4A所示的先前示例,计算设备可以基于计算的损耗来计算机器学习模型410的可训练变量415的梯度。在步骤407a,计算设备可以通过梯度下降反向传播过程来更新可训练变量415。计算设备可以通过重复上述过程来持续训练,直到实现训练的预定目标。在特定实施例中,训练的预定目标可以是一组测试数据的损耗小于预定阈值。虽然本公开描述了通过以特定方式进行梯度下降反向传播来更新可训练变量,但本公开也考虑通过以任何适当方式进行梯度下降反向传播来更新可训练变量。
图4B示出基于针对下一帧的第二分辨率扭曲图像及其对应的第二分辨率基础真实图像之间的所测量的差异,用损耗函数训练的示例机器学习模型。在特定实施例中,计算设备可以基于与第三帧相对应的目标分辨率扭曲图像和与第三帧相对应的目标分辨率基础真实图像之间的所测量的差异来计算损耗,其中,在视频流中,第三帧出现在第二帧之后。在特定实施例中,计算设备可以基于计算的损耗来计算可训练变量415的梯度。计算设备可以通过梯度下降反向传播过程,利用所计算的梯度来更新可训练变量415。作为示例而非限制,如图4B所示,计算设备可以准备如图2所示的输入420。输入420可以包括与帧t相对应的原始分辨率图像和与帧t相对应的目标分辨率扭曲图像。在步骤401b,计算设备可以向机器学习模型410提供准备好的输入420。在步骤403b,计算设备可以通过基于来自机器学习模型410的调整参数调整与帧t相对应的目标分辨率中间图像的像素,生成帧t的目标分辨率重建图像430。在特定实施例中,与帧t相对应的目标分辨率重建图像430可以与图4A所示的与帧t相对应的目标分辨率基础真实图像440a进行比较。除此之外,或作为其替代,计算设备可以生成与帧t+1相对应的目标分辨率扭曲图像460,并将与帧t+1相对应的目标分辨率扭曲图像460和与帧t+1相对应的目标分辨率基础真实图像440b进行比较。在步骤405b,计算设备可以基于与帧t相对应的目标分辨率基础真实图像440a和与帧t+1相对应的目标分辨率基础真实图像440b,计算从帧t到帧t+1的光流450。在步骤407b,计算设备可以基于与帧t相对应的目标分辨率重建图像430和所计算的从帧t到帧t+1的光流450,生成与帧t+1相对应的目标分辨率扭曲图像460。计算设备使用从帧t到帧t+1的光流450来扭曲与帧t相对应的目标分辨率重建图像430。与帧t+1相对应的目标分辨率扭曲图像460可以包括基于计算的光流450的位于预测位置的对象。虽然本公开描述了以特定方式生成与未来帧相关联的目标分辨率扭曲图像,但本公开也考虑以任何适当方式生成与未来帧相关联的目标分辨率扭曲图像。
在特定实施例中,计算设备可以测量与第三帧相关联的第二分辨率扭曲图像和与第三帧相关联的第二分辨率基础真实图像之间的差异,其中,在视频的帧序列中,第二帧可以位于第三帧之前。在特定实施例中,计算设备可以测量与第三帧相关联的第二分辨率扭曲图像中的选定像素和与第三帧相关联的第二分辨率基础真实图像中的选定像素之间的差异。在特定实施例中,计算设备可以通过比较与第二帧相关联的扭曲的第二分辨率基础真实图像中的像素和与第三帧相关联的扭曲的第二分辨率基础真实图像中的像素,将选定像素识别为具有强光流对应性的像素。作为示例而非限制,继续参见图4B所示的先前示例,在步骤408b,计算设备可以基于与帧t+1相对应的目标分辨率扭曲图像460和与帧t+1相对应的目标分辨率基础真实图像440b之间的差异来计算损耗。可以基于预定损耗函数来计算损耗。在特定实施例中,可以基于与帧t+1相对应的目标分辨率扭曲图像460中的选定像素和与帧t+1相对应的目标分辨率基础真实图像440b中的选定像素之间的差异来计算损耗。选定像素可以被识别为光流对应性高于阈值的像素。虽然本公开描述了以特定方式计算训练机器学习模型的损耗,但本公开也考虑以任何适当方式计算训练机器学习模型的损耗。
在特定实施例中,计算设备可以基于所测量的与第三帧相关联的第二分辨率扭曲图像中的选定像素和与第三帧相关联的第二分辨率基础真实图像中的选定像素之间的差异,计算机器学习模型的可训练变量的梯度。计算设备可以更新可训练变量,该可训练变量通过梯度下降反向传播过程来更新。作为示例而非限制,继续参见图4B所示的先前示例,计算设备可以基于在步骤408b中计算的损耗来计算机器学习模型410的可训练变量415的梯度。在步骤409b,计算设备可以通过梯度下降反向传播过程来更新可训练变量415。计算设备可以通过重复上述过程来持续训练,直到实现训练的预定目标。虽然本公开描述了通过以特定方式进行梯度下降反向传播来更新可训练变量,但本公开也考虑通过以任何适当方式进行梯度下降反向传播来更新可训练变量。
图5示出用于增强视频流分辨率的示例方法500。该方法可以从步骤510开始,其中,计算设备可以访问与视频的帧相对应的第一分辨率图像。在步骤520,计算设备可以基于视频中第一帧的第一分辨率图像和视频中第二帧的第一分辨率图像,计算运动矢量。在步骤530,计算设备可以通过使用运动矢量扭曲与第一帧相关联的第二分辨率重建图像,生成与第二帧相关联的第二分辨率扭曲图像。在步骤540,计算设备可以基于与第二帧相关联的第一分辨率图像,生成与第二帧相关联的第二分辨率中间图像。在步骤550,计算设备可以通过使用机器学习模型处理与第二帧相关联的第一分辨率图像和与第二帧相关联的第二分辨率扭曲图像,计算调整参数。在步骤560,计算设备可以基于调整参数调整与第二帧相关联的第二分辨率中间图像的像素,以重建与第二帧相关联的第二分辨率重建图像。在适当的情况下,特定实施例可以重复图5的方法的一个或多个步骤。虽然本公开描述和示出了图5的方法的特定步骤以特定顺序发生,但本公开也考虑图5的方法的任何适当步骤以任何适当顺序发生。此外,虽然本公开描述和示出了包括图5的方法的特定步骤的用于增强视频流的分辨率的示例方法,但本公开也考虑在适当的情况下,包括任何适当步骤的用于增强视频流的分辨率的任何适当方法,该适当步骤可以包括图5的方法的所有步骤、一些步骤或不包括任何步骤。此外,虽然本公开描述和示出了执行图5的方法的特定步骤的特定部件、设备或系统,但本公开也考虑执行图5的方法的任何适当步骤的任何适当部件、设备或系统的任何适当组合。
图6示出与虚拟现实系统相关联的示例网络环境600。网络环境600包括与客户端系统630交互的用户601、社交网络系统660和第三方系统670,这些系统通过网络610彼此连接。虽然图6示出了用户601、客户端系统630、社交网络系统660、第三方系统670和网络610的特定布置,但本公开也考虑用户601、客户端系统630、社交网络系统660、第三方系统670和网络610的任何适当布置。作为示例而非限制,用户601、客户端系统630、社交网络系统660和第三方系统670中的两个或更多个可以绕过网络610直接彼此连接。作为另一示例,客户端系统630、社交网络系统660和第三方系统670中的两个或更多个可以在物理上或逻辑上整体或部分地彼此共置。此外,虽然图6示出了特定数量的用户601、客户端系统630、社交网络系统660、第三方系统670和网络610,但本公开也考虑任何适当数量的客户端系统630、社交网络系统660、第三方系统670和网络610。作为示例而非限制,网络环境600可以包括多个用户601、客户端系统630、社交网络系统660、第三方系统670和网络610。
本公开考虑任何适当的网络610。作为示例而非限制,网络610的一个或多个部分可以包括自组织网、内联网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网的一部分、公共交换电话网(PSTN)的一部分、蜂窝电话网络或其中两个或更多个的组合。网络610可以包括一个或多个网络610。
链接650可以将客户端系统630、社交网络系统660和第三方系统670连接至通信网络610或彼此连接。本公开考虑任何适当的链路650。在特定实施例中,一个或多个链路650包括一个或多个有线(诸如数字用户线(DSL)或电缆数据服务接口规范(DOCSIS))、无线(诸如Wi-Fi或微波接入全球互通(WiMAX))或光学(诸如同步光网络(SONET)或同步数字体系(SDH))链路。在特定实施例中,一个或多个链路650中的每一个均包括自组织网、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、因特网的一部分、PSTN的一部分、基于蜂窝技术的网络、基于卫星通信技术的网络、另一链路650或两个或更多个此类链路650的组合。链路650在整个网络环境600中不必是相同的。一个或多个第一链路650可以在一个或多个方面不同于一个或多个第二链路650。
在特定实施例中,客户端系统630可以是包括硬件、软件或嵌入式逻辑组件或两个或更多个此类部件的组合、并且能够执行由客户端系统630实现或支持的适当功能的电子设备。作为示例而非限制,客户端系统630可以包括计算机系统,诸如台式计算机、笔记本或膝上型计算机、上网本、平板电脑、电子书阅读器、GPS设备、相机、个人数字助理(PDA)、手持式电子设备、蜂窝电话、智能电话、虚拟现实头戴式装置和控制器、其它适当电子设备或其任何适当组合。本公开考虑任何适当的客户端系统630。客户端系统630可以使客户端系统630处的网络用户能够访问网络610。客户端系统630可以使其用户能够与其它客户端系统630处的其他用户通信。客户端系统630可以生成虚拟现实环境以供用户与内容交互。
在特定实施例中,客户端系统630可以包括虚拟现实(或增强现实)头戴式装置632,诸如OCULUS RIFT等,以及(一个或多个)虚拟现实输入设备634,诸如虚拟现实控制器。客户端系统630处的用户可以佩戴虚拟现实头戴式装置632并使用(一个或多个)虚拟现实输入设备与由虚拟现实头戴式装置632生成的虚拟现实环境636交互。虽然未示出,但客户端系统630还可以包括单独的处理计算机和/或虚拟现实系统的任何其它部件。虚拟现实头戴式装置632可以生成虚拟现实环境636,其可以包括系统内容638(包括但不限于操作系统),诸如软件或固件更新,并且还包括第三方内容640,诸如来自应用或从因特网动态下载的内容(例如网页内容)。虚拟现实头戴式装置632可以包括(一个或多个)传感器642,诸如加速度计、陀螺仪、磁力计,以生成跟踪头戴式装置632的位置的传感器数据。头戴式装置632还可以包括眼睛跟踪器,用于跟踪用户眼睛的位置或其观看方向。客户端系统可以使用来自(一个或多个)传感器642的数据,以确定相对于头戴式装置的速度、取向和重力。(一个或多个)虚拟现实输入设备634可以包括(一个或多个)传感器644,诸如加速度计、陀螺仪、磁力计,以及触摸传感器,以生成跟踪输入设备634的位置和用户的手指位置的传感器数据。客户端系统630可以利用从外到内跟踪,其中,跟踪相机(未示出)被放置在虚拟现实头戴式装置632的外部,并且位于虚拟现实头戴式装置632的视线内。在从外到内跟踪中,跟踪相机可以跟踪虚拟现实头戴式装置632的位置(例如通过跟踪虚拟现实头戴式装置632上的一个或多个红外LED标记)。替代地或额外地,客户端系统630可以利用由内到外跟踪,其中,跟踪相机(未示出)可以被放置在虚拟现实头戴式装置632本身上或内。在从内到外跟踪中,跟踪相机可以捕捉现实世界中周围的图像,并且可以使用现实世界中变化的视角来确定其自身在空间中的位置。
第三方内容640可以包括网络浏览器,诸如微软MICROSOFT INTERNET EXPLORER、GOOGLE CHROME或MOZILLA FIREFOX,并且可以具有一个或多个附加组件、插件或其它扩展,诸如TOOLBAR或YAHOO TOOLBAR。客户端系统630处的用户可以输入统一资源定位符(URL)或将网络浏览器定向至特定服务器(诸如服务器662或与第三方系统670相关联的服务器)的其它地址,并且网络浏览器可以生成超文本传输协议(HTTP)请求,并将HTTP请求传送至服务器。服务器可以接受HTTP请求,并且响应于该HTTP请求向客户端系统630传送一个或多个超文本标记语言(HTML)文件。客户端系统630可以基于来自服务器的HTML文件渲染网络界面(例如网页),以呈现给用户。本公开考虑任何适当的源文件。作为示例而非限制,根据特定需求,网络界面可以从HTML文件、可扩展超文本标记语言(XHTML)文件或可扩展标记语言(XML)文件来渲染。此类接口还可以执行脚本,例如但不限于,以JAVASCRIPT、JAVA、MICROSOFT SILVERLIGHT编写的脚本、标记语言和脚本的组合,诸如异步JAVASCRIPT和XML(AJAX),等等。在本文中,在适当的情况下,提及的网络界面包括一个或多个对应的源文件(浏览器可以使用源文件来呈现网络界面),反之亦然。
在特定实施例中,社交网络系统660可以是能够托管在线社交网络的网络可寻址计算系统。社交网络系统660可以生成、存储、接收和发送社交网络数据,例如用户简档数据、概念简档数据、社交图谱信息或与在线社交网络相关的其它适当数据。社交网络系统660可以由网络环境600的其它部件直接或经由网络610访问。作为示例而非限制,客户端系统630可以使用第三方内容640的网络浏览器,或与社交网络系统660相关联的本地应用(例如移动社交网络应用、消息传送应用、其它适当应用或其任意组合)直接或经由网络610访问社交网络系统660。在特定实施例中,社交网络系统660可以包括一个或多个服务器662。每个服务器662可以是单一服务器或跨多个计算机或多个数据中心的分布式服务器。服务器662可以是各种类型的服务器,例如但不限于,网络服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交换服务器、数据库服务器、代理服务器、适于执行本文描述的功能或过程的其它服务器或其任意组合。在特定实施例中,每个服务器662可以包括硬件、软件或嵌入式逻辑组件或两个或更多个此类部件的组合,以执行由服务器662实现或支持的适当功能性。在特定实施例中,社交网络系统660可以包括一个或多个数据存储664。数据存储器664可以用于存储各种类型的信息。在特定实施例中,存储在数据存储器664中的信息可以根据特定数据结构进行组织。在特定实施例中,每个数据存储器664可以是关系数据库、对列式数据库、相关性数据库或其它适当数据库。虽然本公开描述或示出了特定类型的数据库,但本公开也考虑任何适当类型的数据库。特定实施例可以提供使得客户端系统630、社交网络系统660或第三方系统670能够管理、检索、修改、添加或删除存储在数据存储器664中的信息的接口。
在特定实施例中,社交网络系统660可以将一个或多个社交图谱存储在一个或多个数据存储器664中。在特定实施例中,社交图谱可以包括多个节点——其可以包括多个用户节点(每个用户节点对应于特定用户)或多个概念节点(每个概念节点对应于特定概念)——以及连接节点的多个边。社交网络系统660可以向在线社交网络的用户提供与其他用户沟通和交互的能力。在特定实施例中,用户可以经由社交网络系统660加入在线社交网络,然后添加用户希望与之连接的与社交网络系统660的多个其他用户的连接(例如关系)。在本文中,术语“好友”可以指用户已经经由社交网络系统660与至建立连接、关联或关系的社交网络系统660的任何其他用户。
在特定实施例中,社交网络系统660可以向用户提供对社交网络系统660支持的各种类型的项目或对象采取动作的能力。作为示例而非限制,这些项目和对象可以包括社交网络系统660的用户可能属于的群组或社交网络、用户可能感兴趣的事件或日历条目、用户可能使用的基于计算机的应用、允许用户经由服务买卖项目的交易、用户可能执行的带广告的交互,或其它适当的项目或对象。用户可以与能够在社交网络系统660中表现的任何事物交互,或者通过与社交网络系统660分离并且经由网络610耦接至社交网络系统660的第三方系统670的外部系统执行交互。
在特定实施例中,社交网络系统660可以能够链接各种实体。作为示例而非限制,社交网络系统660可以使得用户能够彼此交互以及从第三方系统670或其它实体接收内容,或者允许用户通过应用程序编程接口(API)或其它通信渠道与这些实体交互。
在特定实施例中,第三方系统670可以包括一种或多种类型的服务器、一个或多个数据存储器、一个或多个接口,包括但不限于API、一个或多个网络服务、一个或多个内容源、一个或多个网络,或者例如服务器可以与之通信的任何其它适当部件。第三方系统670可以由与操作社交网络系统660的实体不同的实体操作。然而,在特定实施例中,社交网络系统660和第三方系统670可以彼此结合地操作,以向社交网络系统660或第三方系统670的用户提供社交网络服务。在该意义上,社交网络系统660可以提供平台或主干网,该平台或主干网可以由诸如第三方系统670的其它系统使用,以跨因特网向用户提供社交网络服务和功能。
在特定实施例中,第三方系统670可以包括第三方内容对象提供商。第三方内容对象提供商可以包括可以被传输至客户端系统630的一个或多个内容对象源。作为示例而非限制,内容对象可以包括关于用户感兴趣的事物或活动的信息,例如电影放映时间、电影评论、餐厅评论、餐厅菜单、产品信息和评论或其它适当信息。作为另一示例而非限制,内容对象可以包括激励内容对象,诸如优惠券、打折票、礼券或其它适当的激励对象。
在特定实施例中,社交网络系统660还包括用户生成的内容对象,其可以增强用户与社交网络系统660的交互。用户生成的内容可以包括用户可以添加、上传、发送或“发布”到社交网络系统660的任何内容。作为示例而非限制,用户将帖子从客户端系统630传送至社交网络系统660。帖子可以包括诸如状态更新或其它文本数据、位置信息、照片、视频、链接、音乐或其它类似的数据或媒体数据。内容也可以由第三方通过诸如新闻馈送或流的“通信信道”添加至社交网络系统660。
在特定实施例中,社交网络系统660可以包括各种服务器、子系统、程序、模块、日志和数据存储器。在特定实施例中,社交网络系统660可以包括以下项中的一个或多个:网络服务器、动作记录器、API请求服务器、相关性和排名引擎、内容对象分类器、通知控制器、动作日志、第三方内容对象暴露日志、推断模块、授权/隐私服务器、搜索模块、广告目标确定模块、用户接口模块、用户简档存储、连接存储、第三方内容存储或位置存储。社交网络系统660还可以包括适当的部件,诸如网络接口、安全机制、负载均衡器、故障转移服务器、管理和网络操作控制台、其它适当的部件或其任意适当组合。在特定实施例中,社交网络系统660可以包括用于存储用户简档的一个或多个用户简档存储。用户简档可以包括例如个人简介信息、人口统计信息、行为信息、社交信息或其它类型的描述性信息,诸如工作经验、教育背景、爱好或喜好、兴趣、亲密度或位置。兴趣信息可以包括与一个或多个类别相关的兴趣。类别可以是一般类别或特定类别。作为示例而非限制,如果用户“喜欢”关于某一品牌鞋子的文章,则类别可以是该品牌,或者是“鞋子”或“衣服”的一般类别。连接存储器可以用于存储关于用户的连接信息。连接信息可以指示具有相似或共同的工作经验、群组成员资格、爱好、教育背景的用户,或者以任何方式相关或共享共同属性的用户。连接信息还可以包括不同用户和内容(内部和外部)之间的用户定义连接。网络服务器可以用于经由网络610将社交网络系统660链接至一个或多个客户端系统630或一个或多个第三方系统670。网络服务器可以包括邮件服务器或其它消息收发功能,用于在社交网络系统660和一个或多个客户端系统630之间接收和路由消息。API请求服务器可以允许第三方系统670通过调用一个或多个API来访问来自社交网络系统660的信息。动作记录器可以用于从网络服务器接收关于用户在社交网络系统660上或外的动作的通信。结合动作日志,可以维护用户暴露于第三方内容对象的第三方内容对象日志。通知控制器可以向客户端系统630提供关于内容对象的信息。信息可以作为通知被推送至客户端系统630,或者可以响应于从客户端系统630接收的请求,从客户端系统630拉出信息。授权服务器可以用于执行社交网络系统660的用户的一个或多个隐私设置。用户的隐私设置确定与用户相关联的特定信息可以如何被共享。授权服务器可以允许用户例如通过适当的隐私设置,选择参加或不参加由社交网络系统660记录或与其它系统(例如第三方系统670)分享其动作。第三方内容对象存储器可以用于存储从第三方(诸如第三方系统670)接收的内容对象。位置存储器可以用于存储从与用户相关联的客户端系统630接收的位置信息。广告定价模块可以对社交信息、当前时间、位置信息或其它适当信息进行组合,以通知的形式向用户提供相关广告。
图7示出示例计算机系统700。在特定实施例中,一个或多个计算机系统700执行本文描述或示出的一个或多个方法的一个或多个步骤。在特定实施例中,一个或多个计算机系统700提供本文描述或示出的功能。在特定实施例中,在一个或多个计算机系统700上运行的软件执行本文描述或示出的一个或多个方法的一个或多个步骤,或者提供本文描述或示出的功能。特定实施例包括一个或多个计算机系统700的一个或多个部分。在本文中,在适当的情况下,提及的计算机系统可以包括计算设备,反之亦然。此外,在适当的情况下,提及的计算机系统可以包括一个或多个计算机系统。
本公开考虑任何适当数量的计算机系统700。本公开考虑采用任何适当的物理形式的计算机系统700。作为示例而非限制,计算机系统700可以是嵌入式计算机系统、片上系统(SOC)、单板计算机系统(SBC)(例如模块上计算机(COM)或模块上系统(SOM))、台式计算机系统、膝上型或笔记本计算机系统、交互式信息亭、大型机、计算机系统网、移动电话、个人数字助理(PDA)、服务器、平板计算机系统或其中两个或更多个的组合。在适当的情况下,计算机系统700可以包括一个或多个计算机系统700;是单一的或分布式的;跨多个位置;跨多台机器;跨多个数据中心;或者驻留在云中,云可以包括一个或多个网络中的一个或多个云组件。在适当的情况下,一个或多个计算机系统700可以在没有实质空间或时间限制的情况下执行本文描述或示出的一个或多个方法的一个或多个步骤。作为示例而非限制,一个或多个计算机系统700可以实时或以批处理模式执行本文描述或示出的一个或多个方法的一个或多个步骤。在适当的情况下,一个或多个计算机系统700可以在不同的时间或在不同的位置执行本文描述或示出的一个或多个方法的一个或多个步骤。
在特定实施例中,计算机系统700包括处理器702、存储器704、存储装置706、输入/输出(I/O)接口708、通信接口710和总线712。虽然本公开描述和示出了具有特定布置的特定数量的特定部件的特定计算机系统,但本公开也考虑具有任何适当布置的任何适当数量的任何适当部件的任何适当计算机系统。
在特定实施例中,处理器702包括用于执行指令的硬件,诸如构成计算机程序的指令。作为示例而非限制,为了执行指令,处理器702可以从内部寄存器、内部高速缓存、存储器704或存储装置706检索(或提取)指令;解码并执行指令;然后将一个或多个结果写入内部寄存器、内部高速缓存、存储器704或存储装置706。在特定实施例中,处理器702可以包括用于数据、指令或地址的一个或多个内部高速缓存。在适当的情况下,本公开考虑包括任何适当数量的任何适当内部高速缓存的处理器702。作为示例而非限制,处理器702可以包括一个或多个指令高速缓存、一个或多个数据高速缓存,以及一个或多个翻译旁视缓冲器(TLB)。指令高速缓存中的指令可以是存储器704或存储装置706中的指令副本,并且指令高速缓存可以加速处理器702对指令的检索。数据高速缓存中的数据可以是存储器704或存储装置706中的数据副本,以便在处理器702处执行的指令对其进行操作;在处理器702处执行的先前指令的结果,用于由在处理器702处执行的后续指令访问,或者用于写入存储器704或存储装置706;或其它适当数据。数据高速缓存可以加速处理器702的读取或写入操作。TLB可以加速处理器702的虚拟地址翻译。在特定实施例中,处理器702可以包括用于数据、指令或地址的一个或多个内部寄存器。在适当的情况下,本公开考虑包括任何适当数量的任何适当内部寄存器的处理器702。在适当的情况下,处理器702可以包括一个或多个算术逻辑单元(ALU);是多核处理器;或包括一个或多个处理器702。虽然本公开描述和示出了特定处理器,但本公开也考虑任何适当的处理器。
在特定实施例中,存储器704包括用于存储供处理器702执行的指令或供处理器702操作的数据的主存储器。作为示例而非限制,计算机系统700可以将指令从存储装置706或其它源(例如另一计算机系统700)加载至存储器704。然后,处理器702可以将指令从存储器704加载至内部寄存器或内部高速缓存。为了执行指令,处理器702可以从内部寄存器或内部高速缓存检索指令并对其进行解码。在指令执行期间或之后,处理器702可以将一个或多个结果(可以是中间或最终结果)写入内部寄存器或内部高速缓存。然后,处理器702可以将这些结果中的一个或多个写入存储器704。在特定实施例中,处理器702仅执行一个或多个内部寄存器或内部高速缓存或存储器704中(与存储装置706或其它地方相对)的指令,并且仅对一个或多个内部寄存器或内部高速缓存或存储器704中(与存储装置706或其它地方相对)的数据进行操作。一个或多个存储器总线(每个总线可以包括地址总线和数据总线)可以将处理器702耦接至存储器704。总线712可以包括一个或多个存储器总线,如下文所述。在特定实施例中,一个或多个存储器管理单元(MMU)驻留在处理器702和存储器704之间,并且促进由处理器702请求的对存储器704的访问。在特定实施例中,存储器704包括随机存取存储器(RAM)。在适当的情况下,该RAM可以是易失性存储器。在适当的情况下,该RAM可以是动态RAM(DRAM)或静态RAM(SRAM)。此外,在适当的情况下,该RAM可以是单端口或多端口RAM。本公开考虑任何适当的RAM。在适当的情况下,存储器704可以包括一个或多个存储器704。虽然本公开描述和示出了特定存储器,但本公开也考虑任何适当的存储器。
在特定实施例中,存储装置706包括用于数据或指令的大容量存储装置。作为示例而非限制,存储装置706可以包括硬盘驱动器(HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器或其中两个或更多个的组合。在适当的情况下,存储装置706可以包括可移除或不可移除(或固定)介质。在适当的情况下,存储装置706可以位于计算机系统700的内部或外部。在特定实施例中,存储装置706是非易失性固态存储器。在特定实施例中,存储装置706包括只读存储器(ROM)。在适当的情况下,该ROM可以是掩模编程ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可变ROM(EAROM)或闪存或其中两个或更多个的组合。本公开考虑采用任何适当的物理形式的大容量存储装置706。在适当的情况下,存储器706可以包括一个或多个存储控制单元,从而有利于处理器702和存储装置706之间的通信。在适当的情况下,存储装置706可以包括一个或多个存储装置706。虽然本公开描述和示出了特定的存储装置,但本公开也考虑任何适当的存储装置。
在特定实施例中,I/O接口708包括硬件、软件或硬件和软件两者,提供用于计算机系统700与一个或多个I/O设备之间通信的一个或多个接口。在适当的情况下,计算机系统700可以包括这些I/O设备中的一个或多个。这些I/O设备中的一个或多个可以实现人与计算机系统700之间的通信。作为示例而非限制,I/O设备可以包括键盘、小键盘、麦克风、显示器、鼠标、打印机、扫描仪、扬声器、静态相机、手写笔、平板电脑、触摸屏、跟踪球、摄像机、其它适当的I/O设备或其中两个或更多个的组合。I/O设备可以包括一个或多个传感器。本公开考虑任何适当的I/O设备和用于这些I/O设备的任何适当I/O接口708。在适当的情况下,I/O接口708可以包括一个或多个设备或软件驱动器,从而使得处理器702能够驱动这些I/O设备中的一个或多个。在适当的情况下,I/O接口708可以包括一个或多个I/O接口708。虽然本公开描述并示出了特定的I/O接口,但本公开也考虑任何适当的I/O接口。
在特定实施例中,通信接口710包括硬件、软件或硬件和软件两者,提供用于计算机系统700与一个或多个其它计算机系统700或一个或多个网络之间通信(例如基于包(packet-based)的通信)的一个或多个接口。作为示例而非限制,通信接口710可以包括用于与以太网或其它基于有线的网络通信的网络接口控制器(NIC)或网络适配器,或者用于与无线网络(诸如WI-FI网络)通信的无线NIC(WNIC)或无线适配器。本公开考虑任何适当的网络和用于这些网络的任何适当通信接口710。作为示例而非限制,计算机系统700可以与自组织网、个域网(PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)或因特网的一个或多个部分或其中两个或更多个的组合进行通信。这些网络中的一个或多个部分可以是有线的或无线的。作为示例,计算机系统700可以与无线PAN(WPAN)(例如蓝牙WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(例如全球移动通信系统(GSM)网络)或其它适当的无线网络或其中两个或更多个的组合进行通信。在适当的情况下,计算机系统700可以包括用于这些网络中任何一个的任何适当通信接口710。在适当的情况下,通信接口710可以包括一个或多个通信接口710。虽然本公开描述和示出了特定的通信接口,但本公开也考虑任何适当的通信接口。
在特定实施例中,总线712包括将计算机系统700的部件彼此耦接的硬件、软件或硬件和软件两者。作为示例而非限制,总线712可以包括加速图形端口(AGP)或其它图形总线、增强型工业标准架构(EISA)总线、前端总线(FSB)、HYPERTRANSPORT(HT)互连、工业标准架构(ISA)总线、INFINIBAND互连、低引脚数(LPC)总线、存储器总线、微通道架构(MCA)总线、外围部件互连(PCI)总线、PCI-Express(PCIe)总线、串行高级技术附件(SATA)总线、视频电子标准协会(VLB)本地总线或其它适当总线或其中两个或更多个的组合。在适当的情况下,总线712可以包括一个或多个总线712。虽然本公开描述并示出了特定总线,但本公开也考虑任何适当的总线或互连。
在本文中,在适当的情况下,一个或多个计算机可读非暂态存储介质可以包括一个或多个基于半导体集成电路或其它集成电路(IC)(例如现场可编程门阵列(FPGA)或专用IC(ASIC))、硬盘驱动器(HDD)、混合硬盘驱动器(HHD)、光盘、光盘驱动器(ODD)、磁光盘、磁光盘驱动器、软盘、软盘驱动器(FDD)、磁带、固态驱动器(SSD)、RAM驱动器、安全数字卡或驱动器、任何其它适当的计算机可读非暂态存储介质或其中两个或更多个的任何适当组合。在适当的情况下,计算机可读非暂态存储介质可以是易失性存储介质、非易失性存储介质或易失性和非易失性存储介质的组合。
在本文中,“或”是包括性的而非排他性的,除非另有明确指示或通过上下文另外指示。因此,本文中“A或B”意指“A、B或A和B两者”,除非另有明确指示或通过上下文另外指示。此外,“和”既是联合的也是各自的,除非另有明确指示或通过上下文另外指示。因此,本文中“A和B”意指“A和B,联合地或各自地”,除非另有明确指示或上下文另有指示。
本公开的范围涵盖本领域普通技术人员将理解的对本文描述或示出的示例实施例的所有更改、替换、变型、改变和修改。本公开的范围不限于本文描述或示出的示例实施例。此外,虽然本公开在此描述和示出了包括特定部件、元件、特征、功能、操作或步骤的各个实施例,但是这些实施例中的任何一个均可以包括本领域普通技术人员将理解的本文任何地方描述或示出的部件、元件、特征、功能、操作或步骤中的任何一个的任意组合或排列。此外,在所附权利要求中提及的适于、被布置为、能够、被配置为、使得能够、可操作为或操作为执行特定功能的装置或系统或者装置或系统的部件涵盖该装置、系统、部件,无论其或者该特定功能是否被激活、开启或解锁,只要该装置、系统或部件被如此适于、布置为、能够、配置为、使得能够、可操作为或操作为即可。另外,虽然本公开将特定实施例描述或示出为提供特定优势,但是特定实施例可以不提供这些优势、提供一些或全部这些优势。

Claims (15)

1.一种方法,包括由计算设备:
访问与视频的帧相对应的第一分辨率图像;
基于所述视频中的第一帧的第一分辨率图像和所述视频中的第二帧的第一分辨率图像,计算运动矢量;
通过使用所述运动矢量扭曲与所述第一帧相关联的第二分辨率重建图像,生成与所述第二帧相关联的第二分辨率扭曲图像;
基于与所述第二帧相关联的所述第一分辨率图像,生成与所述第二帧相关联的第二分辨率中间图像;
通过使用机器学习模型处理与所述第二帧相关联的所述第一分辨率图像和与所述第二帧相关联的所述第二分辨率扭曲图像,计算调整参数;以及
基于所述调整参数调整所述与第二帧相关联的所述第二分辨率中间图像的像素,以重建与所述第二帧相关联的第二分辨率重建图像。
2.根据权利要求1所述的方法,其中在所述机器学习模型的训练过程中,测量与所述第二帧相关联的所述第二分辨率重建图像和与所述第二帧相关联的第二分辨率基础真实图像之间的差异。
3.根据权利要求2所述的方法,其中基于与所述第二帧相关联的所述第二分辨率重建图像和与所述第二帧相关联的所述第二分辨率基础真实图像之间的所测量的所述差异,计算所述机器学习模型的可训练变量的梯度;并且优选地,其中通过梯度下降反向传播过程来更新所述可训练变量。
4.根据权利要求1、2或3所述的方法,其中在所述视频的帧序列中,所述第一帧位于所述第二帧之前。
5.根据权利要求1至4中任意一项所述的方法,其中在所述机器学习模型的训练过程中,测量与第三帧相关联的第二分辨率扭曲图像中的选定像素和与第三帧相关联的第二分辨率基础真实图像中的选定像素之间的差异。
6.根据权利要求5所述的方法,其中在所述视频的帧序列中,所述第二帧位于所述第三帧之前。
7.根据权利要求5或6所述的方法,其中通过比较与所述第二帧相关联的扭曲的第二分辨率基础真实图像中的像素和与所述第三帧相关联的扭曲的第二分辨率基础真实图像中的像素,将所述选定像素识别为具有强光流对应性的像素。
8.根据权利要求5、6或7所述的方法,其中通过下述方式生成与所述第三帧相关联的所述第二分辨率扭曲图像:
基于与所述第二帧相关联的所述第二分辨率基础真实图像和与所述第三帧相关联的所述第二分辨率基础真实图像,计算第二运动矢量;并且
通过使用所述第二运动矢量扭曲与所述第二帧相关联的所述第二分辨率重建图像,生成与所述第三帧相关联的所述第二分辨率扭曲图像。
9.根据权利要求5至8中任意一项所述的方法,其中基于与所述第三帧相关联的所述第二分辨率扭曲图像中的选定像素和与所述第三帧相关联的所述第二分辨率基础真实图像中的选定像素之间的所测量的所述差异,计算所述机器学习模型的可训练变量的梯度;并且优选地,其中,通过梯度下降反向传播过程来更新所述可训练变量。
10.根据前述权利要求中任意一项所述的方法,其中第二分辨率高于第一分辨率;并且优选地,其中生成与所述第二帧相关联的所述第二分辨率中间图像包括:
将与所述第二帧相关联的所述第一分辨率图像的像素均匀地放置在针对所述第二分辨率中间图像的第二分辨率图像平面中,使得多个像素保持空白;并且
用非空白相邻像素的内插值填充所述第二分辨率图像平面中的所述多个空白像素。
11.根据前述权利要求中任意一项所述的方法,其中与所述第二帧相关联的所述第二分辨率扭曲图像包括基于所计算的运动矢量的位于预测位置的对象。
12.一种或多种计算机可读非暂态存储介质,其具体化软件,所述软件在被执行时,能够操作为:
访问与视频的帧相对应的第一分辨率图像;
基于所述视频中的第一帧的第一分辨率图像和所述视频中的第二帧的第一分辨率图像,计算运动矢量;
通过使用所述运动矢量扭曲与所述第一帧相关联的第二分辨率重建图像,生成与所述第二帧相关联的第二分辨率扭曲图像;
基于与所述第二帧相关联的所述第一分辨率图像,生成与所述第二帧相关联的第二分辨率中间图像;
通过使用机器学习模型处理与所述第二帧相关联的所述第一分辨率图像和与所述第二帧相关联的所述第二分辨率扭曲图像,计算调整参数;并且
基于所述调整参数调整所述与第二帧相关联的所述第二分辨率中间图像的像素,以重建与所述第二帧相关联的第二分辨率重建图像。
13.根据权利要求12所述的介质,其中在所述机器学习模型的训练过程中,测量与所述第二帧相关联的所述第二分辨率重建图像和与所述第二帧相关联的第二分辨率基础真实图像之间的差异;并且优选地,其中基于与所述第二帧相关联的所述第二分辨率重建图像和与所述第二帧相关联的所述第二分辨率基础真实图像之间的所测量的所述差异,计算所述机器学习模型的可训练变量的梯度;并且优选地,其中通过梯度下降反向传播过程来更新所述可训练变量。
14.根据权利要求12或13所述的介质,其中在所述视频的帧序列中,所述第一帧位于所述第二帧之前。
15.一种系统,包括:一个或多个处理器;以及被耦接至所述处理器的非暂态存储器,所述存储器包括能够由所述处理器执行的指令,所述处理器在执行所述指令时,能够操作为:
访问与视频的帧相对应的第一分辨率图像;
基于所述视频中的第一帧的第一分辨率图像和所述视频中的第二帧的第一分辨率图像,计算运动矢量;
通过使用所述运动矢量扭曲与所述第一帧相关联的第二分辨率重建图像,生成与所述第二帧相关联的第二分辨率扭曲图像;
基于与所述第二帧相关联的所述第一分辨率图像,生成与所述第二帧相关联的第二分辨率中间图像;
通过使用机器学习模型处理与所述第二帧相关联的所述第一分辨率图像和与所述第二帧相关联的所述第二分辨率扭曲图像,计算调整参数;并且
基于所述调整参数调整所述与第二帧相关联的所述第二分辨率中间图像的像素,以重建与所述第二帧相关联的第二分辨率重建图像。
CN202180021964.2A 2020-06-16 2021-05-16 增强视频流的分辨率 Pending CN115298687A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/903,263 US11481877B2 (en) 2020-06-16 2020-06-16 Enhancing the resolution of a video stream
US16/903,263 2020-06-16
PCT/US2021/032653 WO2021257221A1 (en) 2020-06-16 2021-05-16 Enhancing the resolution of a video stream

Publications (1)

Publication Number Publication Date
CN115298687A true CN115298687A (zh) 2022-11-04

Family

ID=76392414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180021964.2A Pending CN115298687A (zh) 2020-06-16 2021-05-16 增强视频流的分辨率

Country Status (6)

Country Link
US (1) US11481877B2 (zh)
EP (1) EP4165587A1 (zh)
JP (1) JP2023530537A (zh)
KR (1) KR20230023605A (zh)
CN (1) CN115298687A (zh)
WO (1) WO2021257221A1 (zh)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11475542B2 (en) * 2017-07-27 2022-10-18 Nvidia Corporation Neural network system with temporal feedback for adaptive sampling and denoising of rendered sequences
US10783611B2 (en) * 2018-01-02 2020-09-22 Google Llc Frame-recurrent video super-resolution

Also Published As

Publication number Publication date
JP2023530537A (ja) 2023-07-19
US20210390661A1 (en) 2021-12-16
EP4165587A1 (en) 2023-04-19
WO2021257221A1 (en) 2021-12-23
KR20230023605A (ko) 2023-02-17
US11481877B2 (en) 2022-10-25

Similar Documents

Publication Publication Date Title
KR20210049947A (ko) 샘플링된 컬러 정보에 기초하여 이미지 시퀀스들을 생성하고 송신하기 위한 시스템들 및 방법들
US11350030B2 (en) Flicker detector
KR20220119053A (ko) 시선을 결정하기 위해 심층 학습을 사용하는 방법
US11914836B2 (en) Hand presence over keyboard inclusiveness
JP2023541531A (ja) 下半身姿勢を予測するためのシステムおよび方法
US11687165B2 (en) Stabilizing gestures in artificial reality environments
US20220179204A1 (en) Systems and methods for generating spectator images of an artificial reality environment
CN117425870A (zh) 虚拟现实中的动态混合现实内容
US11645761B2 (en) Adaptive sampling of images
US11481877B2 (en) Enhancing the resolution of a video stream
US11644685B2 (en) Processing stereo images with a machine-learning model
US11386532B2 (en) Blue noise mask for video sampling
US11430085B2 (en) Efficient motion-compensated spatiotemporal sampling
US11818474B1 (en) Sparse RGB cameras for image capture
US20240078745A1 (en) Generation of a virtual viewpoint image of a person from a single captured image
US20230196627A1 (en) Anti-aliasing by encoding primitive edge representations
US20230221797A1 (en) Ephemeral Artificial Reality Experiences
US20240119672A1 (en) Systems, methods, and media for generating visualization of physical environment in artificial reality
JP2023541229A (ja) 時間同期された分散型パッシブキャプチャ

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