CN116686010A - 时间注视点渲染 - Google Patents
时间注视点渲染 Download PDFInfo
- Publication number
- CN116686010A CN116686010A CN202180090085.5A CN202180090085A CN116686010A CN 116686010 A CN116686010 A CN 116686010A CN 202180090085 A CN202180090085 A CN 202180090085A CN 116686010 A CN116686010 A CN 116686010A
- Authority
- CN
- China
- Prior art keywords
- image
- frame
- region
- temporary
- rendered
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
- H04N13/344—Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/269—Analysis of motion using gradient-based methods
-
- 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/10016—Video; Image sequence
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)
- Processing Or Creating Images (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
在一个实施例中,一种方法包括:访问与视频流的第一帧对应的第一图像,其中该第一图像具有完整像素信息;渲染与该第一帧之后的、该视频流的第二帧对应的临时图像,其中,该临时图像具有第一区域和第二区域,该第一区域具有完整像素信息,该第二区域具有不完整像素信息;通过根据一个或多个扭曲参数对第一图像的至少一区域进行重新投影,来生成与第二帧对应的预测图像;以及通过将所渲染的临时图像和预测图像合成,来生成与第二帧对应的第二图像。
Description
技术领域
本公开总体上涉及人工现实***,尤其涉及用于人工现实***的有效渲染。
背景技术
人工现实是在呈现给用户之前已经以某种方式进行了调整的现实形式,该现实形式例如可以包括虚拟现实(virtual reality,VR)、增强现实(augmented reality,AR)、混合现实(mixed reality,MR)、混合现实(hybrid reality)、或它们的某种组合和/或衍生物。人工现实内容可以包括完全生成的内容、或与采集到的内容(例如,真实世界照片)相结合的生成的内容。人工现实内容可以包括视频、音频、触觉反馈、或它们的某种组合,并且以上任何一种均可以以单通道或多通道呈现(例如,为观看者带来三维效果的立体视频)。人工现实可以与应用程序、产品、附件、服务、或它们的某种组合相关联,这些应用程序、产品、附件、服务、或它们的某种组合例如用于在人工现实中创建内容,和/或在人工现实中使用(例如,在人工现实中执行活动)。提供人工现实内容的人工现实***可以在各种平台上实现,这些平台包括连接到主控计算机***的头戴式显示器(head-mounted display,HMD)、独立HMD、移动设备或计算***、或能够向一位或多位观看者提供人工现实内容的任何其他硬件平台。
发明内容
根据本发明的方面,提供了一种方法,该方法包括:由计算***:访问与视频流的第一帧对应的第一图像,该第一图像具有完整像素信息;渲染与该第一帧之后的、该视频流的第二帧对应的临时图像,该临时图像具有第一区域和第二区域,该第一区域具有完整像素信息,该第二区域具有不完整像素信息;通过根据一个或多个扭曲参数对第一图像的至少一区域进行重新投影,来生成与第二帧对应的预测图像;以及通过将所渲染的临时图像和预测图像合成,来生成与第二帧对应的第二图像。
优选地,将所渲染的临时图像和预测图像合成包括:将时间扭曲参数应用于该临时图像,其中,将时间扭曲参数应用于图像包括:平移该图像以适应头部位置的变化。
优选地,该一个或多个扭曲参数包括空间扭曲参数和时间扭曲参数。
优选地,该空间扭曲参数是基于第一图像的经重新投影区域中的运动矢量来确定的,其中,该运动矢量是基于与多个先前帧对应的图像来确定的。
优选地,应用空间扭曲参数包括:使第一图像的经重新投影区域失真,使得该经重新投影区域中的运动对象是使用所确定的运动矢量来重新定位的。
优选地,基于光流来确定运动矢量。
优选地,确定空间扭曲参数是在如下的硬件编码器上执行的:该硬件编码器与图形处理单元(Graphics Processing Unit,GPU)分离。
优选地,临时图像中的经渲染区域和预测图像的经重新投影区域具有重叠区域。
优选地,将所渲染的临时图像和预测图像合成包括:对该重叠区域内的像素进行混合。
优选地,临时图像的第一区域包括用于视频流的第二帧的、用户视野的中心区域。
优选地,临时图像的第一区域包括图像的预定区域。
优选地,临时图像的第二区域不被渲染。
优选地,以比第一区域的像素密度更低的像素密度渲染临时图像的第二区域。
优选地,第一图像包括多个子区域,并且其中,该多个子区域的像素密度彼此不同。
优选地,视频流为立体视频流,并且其中,第一图像和第二图像对应于用户的一眼睛。
优选地,以下操作在双眼之间交替进行:通过将所渲染的临时图像和预测图像合成来生成与视频流的帧对应的图像,其中,在通过将所渲染的临时图像和预测图像合成来生成与用于第二眼睛的帧对应的图像的同时,渲染与用于第一眼睛的帧对应的整个图像。
根据本发明的另一方面,提供了一种或多种计算机可读非暂态存储介质,该一种或多种计算机可读非暂态存储介质包含软件,该软件在被执行时能够操作以:访问与视频流的第一帧对应的第一图像,该第一图像具有完整像素信息;渲染与该第一帧之后的、该视频流的第二帧对应的临时图像,该临时图像具有第一区域和第二区域,该第一区域具有完整像素信息,该第二区域具有不完整像素信息;通过根据一个或多个扭曲参数对第一图像的至少一区域进行重新投影,来生成与第二帧对应的预测图像;以及通过将所渲染的临时图像和预测图像合成,来生成与第二帧对应的第二图像。
优选地,将所渲染的临时图像和预测图像合成包括:将时间扭曲参数应用于该临时图像,其中,将时间扭曲参数应用于图像包括:平移该图像以适应头部位置的变化。
优选地,该一个或多个扭曲参数包括空间扭曲参数和时间扭曲参数。
根据本发明的另一方面,提供了一种***,该***包括:一个或多个处理器;以及非暂态存储器,该非暂态存储器耦接到处理器并且包括能够由处理器执行的指令,处理器在执行所述指令时能够操作以:访问与视频流的第一帧对应的第一图像,该第一图像具有完整像素信息;渲染与该第一帧之后的、该视频流的第二帧对应的临时图像,该临时图像具有第一区域和第二区域,该第一区域具有完整像素信息,该第二区域具有不完整像素信息;
通过根据一个或多个扭曲参数对第一图像的至少一区域进行重新投影,来生成与第二帧对应的预测图像;以及通过将所渲染的临时图像和预测图像合成,来生成与第二帧对应的第二图像。
本文所描述的特定实施例涉及如下的***和方法:所述***和方法用于通过降低固定显示器或眼睛追踪显示器(例如,传统2D显示器、HMD等)的周边视图中的渲染频率来实现图形处理单元(GPU)节省。注视点渲染是一种通过降低周边视野中的图像质量来减少渲染工作量的渲染技术。可以在空间上执行注视点渲染,以降低每帧的周边区域中的渲染分辨率或像素密度。本文所描述的时间注视点渲染是一种通过降低周边视图中的渲染频率来实现GPU节省的方法。根据所需的渲染频率,时间注视点渲染可以通过每隔一帧仅渲染一个小的‘内部(inset)’而不渲染周边的‘外部(outset)’,来节省一半的帧的GPU计算。可以使用先前渲染的全帧来填充外部区域。
在特定实施例中,计算设备可以访问与视频流的第一帧对应的第一图像。该第一图像可以包括多个子区域。该多个子区域的像素密度可以彼此不同。计算设备可以渲染与第一帧之后的、该视频流的第二帧对应的临时图像。该临时图像可以包括第一区域和第二区域,该第一区域具有完整像素信息,该第二区域具有不完整像素信息。在特定实施例中,可以不渲染临时图像的第二区域。计算设备可以通过根据一个或多个扭曲参数对第一图像的至少一区域进行重新投影,来生成与第二帧对应的预测图像。该一个或多个扭曲参数可以包括空间扭曲参数和时间扭曲参数。计算设备可以通过将所渲染的临时图像和预测图像合成来生成与第二帧对应的第二图像。在特定实施例中,临时图像中的经渲染区域和预测图像的经重新投影区域具有重叠区域。计算设备可以在将所渲染的临时图像和预测图像合成的同时将该重叠区域内的多个像素混合。在特定实施例中,视频流可以是立体视频流。计算设备可以在双眼之间交替进行以下操作:通过将所渲染的临时图像和预测图像合成来生成与视频流的帧对应的图像。计算设备在该计算设备可以通过将所渲染的临时图像和预测图像合成来生成与用于第二眼睛的帧对应的图像的同时,可以渲染与用于第一眼睛的帧对应的整个图像。
本文所公开的各个实施例仅是示例,并且本公开的范围不限于这些实施例。特定实施例可以包括以上公开的这些实施例中的所有或一些部件、元件、特征、功能、操作或步骤,或者不包括这些部件、元件、特征、功能、操作或步骤。针对方法、存储介质、***和计算机程序产品的所附权利要求中特别地披露了根据本发明的实施例,其中,在一个权利要求类别(例如方法)中提到的任何特征也可以主张在另一个权利要求类别(例如***)中得到保护。所附权利要求中的从属关系或引用关系仅仅是出于形式上的原因而选择的。然而,也可以主张保护通过对任何多项先前权利要求的有意引用(特别是多个从属关系)而产生的任何主题,从而披露了多项权利要求及其特征的任何组合,并且不管所附权利要求中选择的从属关系如何,都可以主张保护该多项权利要求及其特征的任何组合。可主张保护的主题不仅包括所附多项权利要求中阐述的多个特征的多种组合,而且还包括该多项权利要求中的多个特征的任何其他组合,其中,该多项权利要求中提到的每个特征可以与该多项权利要求中的任何其他特征相组合、或者与多个其他特征的组合相组合。此外,可以在单个权利要求中主张保护本文中所描述或描绘的多个实施例和多个特征中的任何实施例和特征,和/或可以主张保护本文所描述或描绘的多个实施例和多个特征中的任何实施例和特征与本文所描述或描绘的任何实施例或特征的任何组合、或可以主张保护本文所描述或描绘的多个实施例和多个特征中的任何实施例和特征与所附权利要求的任何特征的任何组合。
附图说明
图1A示出了示例人工现实***。
图1B示出了示例增强现实***。
图2示出了示例时间注视点渲染过程。
图3示出了应用空间扭曲参数的简化示例。
图4A和图4B示出了应用时间扭曲参数的简化示例。
图5示出了内部和外部之间的示例重叠区域。
图6示出了用于双眼的示例时间注视点渲染。
图7示出了通过将经渲染区域和来自与先前帧对应的图像的经重新投影区域合成,来生成与视频流的帧对应的图像的示例方法。
图8示出了示例计算机***。
具体实施方式
图1A示出了示例人工现实***100A。在特定实施例中,人工现实***100A可以包括头戴式设备(headset)104、控制器106和计算设备108。用户102可以佩戴头戴式设备104,该头戴式设备可以向用户102显示视觉人工现实内容。头戴式设备104可以包括音频设备,该音频设备可以向用户102提供音频人工现实内容。头戴式设备104可以包括一个或多个摄像头,该一个或多个摄像头可以采集环境的图像和视频。头戴式设备104可以包括眼睛追踪***,以确定用户102的辐辏距离(vergence distance)。头戴式设备104可以包括传声器,以采集来自用户102的语音输入。头戴式设备104可以被称为头戴式显示器(head-mounteddisplay,HMD)。控制器106可以包括触控板和一个或多个按钮。控制器106可以接收来自用户102的输入,并且将该输入转发到计算设备108。控制器106还可以向用户102提供触觉反馈。计算设备108可以通过电缆或无线连接而连接到头戴式设备104和控制器106。计算设备108可以控制头戴式设备104和控制器106向用户102提供人工现实内容以及接收来自用户102的输入。计算设备108可以是独立的主控计算设备、与头戴式设备104集成一体的机载计算设备、移动设备、或能够向用户102提供人工现实内容并且接收来自用户102的输入的任何其他硬件平台。
图1B示出了示例增强现实***100B。增强现实***100B可以包括头戴式显示器(HMD)110(例如,眼镜),该HMD包括框架112、一个或多个显示器114和计算设备108。显示器114可以是透明或半透明的,从而允许正佩戴着HMD 110的用户透过显示器114观看到真实世界,并且同时向用户显示视觉人工现实内容。HMD 110可以包括音频设备,该音频设备可以向用户提供音频人工现实内容。HMD 110可以包括一个或多个摄像头,该一个或多个摄像头可以采集环境的图像和视频。HMD 110可以包括眼睛追踪***,以追踪正佩戴着HMD 110的用户的辐辏运动。HMD 110可以包括传声器,以采集来自用户的语音输入。增强现实***100B还可以包括控制器,该控制器包括触控板和一个或多个按钮。控制器可以接收来自用户的输入,并且将该输入转发到计算设备108。控制器还可以向用户提供触觉反馈。计算设备108可以通过电缆或无线连接而连接到HMD 110和控制器。计算设备108可以控制HMD 110和控制器向用户提供增强现实内容以及接收来自用户的输入。计算设备108可以是独立的主控计算机设备、与HMD 110集成一体的机载计算机设备、移动设备、或能够向用户提供人工现实内容并且接收来自用户的输入的任何其他硬件平台。
在特定实施例中,计算设备108可以访问与视频流的第一帧对应的第一图像。该第一图像可以包括多个子区域。该多个子区域的像素密度可以彼此不同。计算设备108可以渲染与第一帧之后的、该视频流的第二帧对应的临时图像。该临时图像可以包括第一区域和第二区域,该第一区域具有完整像素信息,该第二区域具有不完整像素信息。在特定实施例中,可以不渲染临时图像的第二区域。计算设备108可以通过根据一个或多个扭曲参数对第一图像的至少一区域进行重新投影,来生成与第二帧对应的预测图像。该一个或多个扭曲参数可以包括空间扭曲参数和时间扭曲参数。计算设备108可以通过将所渲染的临时图像和预测图像合成,来生成与第二帧对应的第二图像。在特定实施例中,临时图像中的经渲染区域和预测图像的经重新投影区域具有重叠区域。计算设备108可以在将所渲染的临时图像和预测图像合成的同时,对重叠区域内的像素进行混合。在特定实施例中,视频流可以是立体视频流。计算设备108可以将以下操作在双眼之间交替进行:通过将所渲染的临时图像和预测图像合成来生成与视频流的帧对应的图像。计算设备108在该计算设备可以通过将所渲染的临时图像和预测图像合成来生成与用于第二眼睛的帧对应的图像的同时,可以渲染与用于第一眼睛的帧对应的整个图像。尽管本公开描述了以特定方式通过将所渲染的临时图像和预测图像(该预测图像是通过对与先前帧对应的图像进行重新投影而生成的)合成来生成帧的图像,但是本公开考虑了以任何合适的方式通过将所渲染的临时图像和预测图像(该预测图像是通过对与先前帧对应的图像进行重新投影而生成的)合成来生成帧的图像。
在特定实施例中,计算设备108可以访问与视频流的第一帧对应的第一图像。该第一图像可以包括多个子区域。该多个子区域的像素密度可以彼此不同。在后期渲染过程之后,第一图像可以具有完整像素信息。图2示出了示例时间注视点渲染过程。作为示例而非限制,如图2所示,计算设备108可以渲染与帧t对应的第一图像210。第一帧210可以包括多个子区域211、213、215和217。计算设备108可以使用空间注视点渲染技术渲染第一图像210,其中,第一图像210的每个子区域可以以相应的像素密度来渲染。在图2所示的示例中,以全像素密度渲染子区域211。以1/2密度渲染子区域213。以1/4密度渲染子区域215。并且,以1/8密度渲染子区域217。在将第一图像投影到与计算设备108相关联的显示器114时,计算设备108可以执行后期渲染过程,在该后期渲染过程中,第一图像210可以成为具有完整像素信息的图像。因此,与帧t对应的显示图像220可以具有完整像素信息。后期渲染过程可以进一步包括扭曲操作、透镜失真校正、色差校正、显示校正或任何合适的后期渲染操作。在特定实施例中,计算设备108可以在后期渲染过程期间使用机器学习模型对第一图像210进行处理。在特定实施例中,计算设备108可以在后期渲染过程期间混合多个像素。在特定实施例中,计算设备108可以在不利用空间注视点渲染技术的情况下以全分辨率渲染整个第一图像210。尽管本公开描述了以特定方式渲染与视频流的帧对应的图像,但是本公开考虑了以任何合适的方式渲染与视频流的帧对应的图像。
在特定实施例中,计算设备108可以渲染与第一帧之后的、视频流的第二帧对应的临时图像。该临时图像可以包括第一区域和第二区域,该第一区域具有完整像素信息,该第二区域具有不完整像素信息。第一区域可以被称为内部(inset)。第二区域可以被称为外部(outset)。在特定实施例中,可以使用眼睛追踪设备来追踪用户的视线。在这种情况下,内部可以是覆盖用户视野的中心区域的区域,而外部是在给定时间覆盖用户视野的外部区域的区域。在特定实施例中,可以不使用眼睛追踪设备。然后,可以使用固定的眼睛模型,在该固定的眼睛模型中,内部和外部可以是所渲染图像中的预定区域。在特定实施例中,可以不渲染临时图像的第二区域。在特定实施例中,可以以比第一区域的像素密度更低的像素密度渲染临时图像的第二区域。作为示例而非限制,继续图2所示的先前示例,计算设备108可以渲染与帧t+n对应的临时图像230。临时图像230可以包括内部231和外部233。外部233可以是临时图像230中的内部231的剩余区域。如果使用了眼睛追踪设备,则内部231可以是覆盖用户视野的中心区域的区域。因此,每帧的内部可以随着用户的视线位置不断变化而改变。外部233可以是临时图像230中的内部231的剩余区域。在不使用眼睛追踪设备时,内部231可以是图像的预定区域。计算设备108可以以全分辨率渲染临时图像230的内部231。因为内部231是以全分辨率进行渲染的,所以临时图像230的内部231可以具有完整像素信息。计算设备108可以不渲染临时图像230的外部233。在特定实施例中,计算设备108可以以比内部231的分辨率更低的分辨率渲染外部233。在渲染之后,临时图像230的外部233可以具有不完整像素信息。尽管本公开描述了以特定方式渲染图像的内部,但是本公开考虑了以任何合适的方式渲染图像的内部。
在特定实施例中,计算设备108可以通过根据一个或多个扭曲参数对第一图像的至少一区域进行重新投影,来生成与第二帧对应的预测图像。作为示例而非限制,继续图2所示的先前示例,计算设备108可以通过对第一图像210的与外部233对应的区域进行重新投影,来生成预测图像235。预测图像235可以不具有与内部231对应的区域的像素信息。尽管本公开描述了通过以特定方式对与先前帧对应的图像的区域进行重新投影来生成预测图像,但是本公开考虑了通过以任何合适的方式对与先前帧对应的图像的区域进行重新投影来生成预测图像。
在特定实施例中,该一个或多个扭曲参数可以包括空间扭曲参数和时间扭曲参数。计算设备108可以基于第一图像的经重新投影区域中的运动矢量来确定空间扭曲参数。空间扭曲参数可以用于根据与先前帧对应的图像来生成与帧对应的推断图像。可以基于与多个先前帧对应的图像来确定运动矢量。在特定实施例中,可以基于光流确定运动矢量。为了应用空间扭曲参数,计算设备108可以使第一图像的经重新投影区域失真,以使得经重新投影区域中的运动对象是使用所确定的运动矢量来重新定位的。在特定实施例中,确定空间扭曲参数可以在如下硬件编码器上执行:该硬件编码器与图形处理单元(GraphicsProcess Unit,GPU)分离。图3示出了应用空间扭曲参数的简化示例。作为示例而非限制,如图3所示,计算设备108可以确定与帧t对应的图像310内的运动矢量317。随着桌子上的球315在多个先前帧中朝着一方向滚动,计算设备108可以基于与该多个先前帧对应的图像来计算运动矢量317。计算设备108可以通过使与帧t对应的图像310失真,来生成与帧t+n对应的推断图像320,使得球315被重新定位到新位置。可以基于所确定的运动矢量317来确定球315的新位置。为了简洁,图3所示的示例仅示出了球315的运动矢量317。典型地,计算设备108可以确定图像内多个对象的运动矢量。尽管本公开描述了以特定方式应用空间扭曲参数,但是本公开考虑了以任何合适的方式应用空间扭曲参数。
在特定实施例中,可以基于头部位置的变化来确定时间扭曲参数。用户可能在生成场景的时刻实例和向用户显示该场景的时刻实例之间的时间段期间移动她的头部。如果不能补偿这种头部运动,则可能会打破沉浸感。为了补偿用户的头部位置变化,计算设备108可以基于观察到的头部位置变化来计算时间扭曲参数。在将所计算的时间扭曲参数应用于图像时,计算设备108可以平移该图像,以适应头部位置的变化。图4A至图4B示出了应用时间扭曲参数的简化示例。作为示例而非限制,计算设备108可以在图4A所描绘的时刻实例处生成人工现实场景。计划经由显示器114呈现给用户102的图像410可以是基于用户102的当前头部位置来渲染的。图4B示出了在显示器114上呈现图像的时刻实例。在生成人工现实场景的时刻实例和呈现图像的时刻实例之间的时间段期间,用户可能将她的头部转动了角度θ。为了补偿这种头部运动,计算设备可以通过将图像410平移与头部转动角度θ对应的量来适应图像420。尽管本公开描述了以特定方式应用时间扭曲参数,但是本公开考虑了以任何合适的方式应用时间扭曲参数。
在特定实施例中,计算设备108可以通过根据所确定的空间扭曲参数和时间扭曲参数对第一图像的至少一区域进行重新投影,来生成与第二帧对应的预测图像。作为示例而非限制,继续图2所示的先前示例,计算设备108可以通过对第一图像210的与外部233对应的区域进行重新投影,来生成预测图像235。该预测图像235可以不具有与内部231对应的区域的像素信息。在特定实施例中,可以基于所确定的运动矢量,在预测图像235中重新定位经重新投影区域内的运动对象。在特定实施例中,经重新投影区域可以是经平移的,以适应用户在渲染第一图像的时刻实例和显示第二帧的时刻实例之间的头部位置变化。尽管本公开描述了以特定方式通过根据空间扭曲参数和时间扭曲参数对与先前帧对应的图像的区域进行重新投影来生成预测图像,但是本公开考虑了以任何合适的方式通过根据空间扭曲参数和时间扭曲参数对与先前帧对应的图像的区域进行重新投影来生成预测图像。
在特定实施例中,计算设备108可以通过将所渲染的临时图像和预测图像合成,来生成与第二帧对应的第二图像。将所渲染的临时图像和预测图像合成可以包括:向临时图像应用对应的时间扭曲参数。在特定实施例中,将所渲染的临时图像和预测图像合成可以包括:向预测图像应用对应的时间扭曲参数。作为示例而非限制,继续图2所示的先前示例,计算设备108可以通过将所渲染的临时图像230和预测图像235合成,来生成与帧t+n对应的第二图像240。在特定实施例中,作为一种合成过程,计算设备108可以将所计算的时间扭曲参数应用于临时图像230。可以基于用户在生成帧t+n的场景的时刻实例和该合成的时刻实例之间的时间段期间的头部运动,来计算用于临时图像230的时间扭曲参数。在特定实施例中,作为另一种合成过程,计算设备108可以将所计算的时间扭曲参数应用于预测图像235。可以基于用户在生成帧t的场景的时刻实例和该合成的时刻实例之间的时间段期间的头部运动,来计算用于预测图像235的时间扭曲参数。尽管本公开描述了以特定方式通过将临时图像和预测图像合成来生成帧的图像,但是本公开考虑了以任何合适的方式通过将临时图像和预测图像合成来生成帧的图像。
在特定实施例中,临时图像的经渲染区域和预测图像的经重新投影区域可以具有重叠区域。由于应用于临时图像的经渲染区域和预测图像的经重新投影区域的扭曲参数不同,因此在将两个图像合成之后,这两个区域可能不会完全对准。为了缓解这个问题,计算设备可以以使得临时图像的经渲染区域和预测图像的经重新投影区域可以具有重叠区域的方式,来确定这两个区域。计算设备108可以在将所渲染的临时图像和预测图像合成的期间,对重叠区域内的像素进行混合。图5示出了内部和外部之间的示例重叠区域。作为示例而非限制,计算设备108可以通过将临时图像和预测图像合成来生成图像500。图像500的内部503可以来自临时图像。图像500的外部505可以来自预测图像。内部503和外部505可以具有重叠区域507。计算设备108可以在将所渲染的临时图像和预测图像合成的期间,以使得内部503和外部505之间的错位最小化的方式,对重叠区域507内的像素进行混合。将重叠区域507内的多个像素混合也可以在所渲染的临时图像和预测图像之间在各个方面逐渐产生变化。该各个方面可以包括但不限于亮度、虚拟对象的运动、由于头部运动导致的重新投影误差、或所渲染的临时图像和预测图像之间的任何适当的差异。尽管本公开描述了以特定方式在将所渲染的临时图像和预测图像合成的期间对重叠区域内的像素进行混合,但是本公开考虑了以任何合适的方式在将所渲染的临时图像和预测图像合成的期间对重叠区域内的像素进行混合。
在特定实施例中,视频流可以是立体视频流。计算设备108可以将以下操作在双眼之间交替进行:通过将所渲染的临时图像和预测图像合成来生成与视频流的帧对应的图像。计算设备108在该计算设备108可以通过将所渲染的临时图像和预测图像合成来生成与用于第二眼睛的帧对应的图像的同时,渲染与用于第一眼睛的帧对应的整个图像。用于第一眼睛的整个图像可以包括多个子区域。该多个子区域中的每个子区域可以以相应的像素密度来渲染。可以通过对与先前帧对应的图像的区域进行重新投影,来生成如下的预测图像:该预测图像用于生成用于第二眼睛的图像。图6示出了用于双眼的示例时间注视点渲染。图6描绘了帧t、t+1、t+2和t+3时的针对左眼和右眼的眼睛缓冲区。对于帧t,计算设备108可以渲染用于左眼的整个图像603。所渲染的整个图像603可以具有多个子区域,该多个子区域中的每个子区域以相应的像素密度来渲染。计算设备108可以通过将临时图像和预测图像合成来生成用于右眼的图像605。计算设备108可以渲染与帧t对应的临时图像的至少一个区域。计算设备108可以通过对与帧t-1对应的图像的至少一区域进行重新投影,来生成预测图像。图6中未示出帧t-1。对于帧t+1,计算设备108可以通过将临时图像和预测图像合成,来生成用于左眼的图像613。计算设备108可以渲染与帧t+1对应的临时图像的至少一个区域。计算设备108可以通过对与帧t对应的图像603的至少一区域进行重新投影,来生成预测图像。计算设备108可以渲染用于右眼的整个图像615。所渲染的整个图像615可以具有多个子区域,该多个子区域中的每个子区域以相应的像素密度来渲染。对于帧t+2,计算设备108可以渲染用于左眼的整个图像623。计算设备108可以通过将临时图像和如下的预测图像合成来生成用于右眼的图像625:该预测图像是通过对与帧t+1对应的图像615的至少一区域进行重新投影而生成的。对于帧t+3,计算设备108可以通过将与帧t+3对应的临时图像和如下的预测图像合成来生成用于左眼的图像633:该预测图像是通过对与帧t+2对应的图像623的至少一区域进行重新投影而生成的。计算设备108可以渲染用于右眼的整个图像635。总之,计算设备108可以在使用用于帧的时间注视点渲染技术来生成用于第二眼睛的图像的同时,使用空间注视点渲染技术渲染用于第一眼睛的图像。对于之后的帧,计算设备可以针对每只眼睛交替进行注视点渲染技术。尽管本公开描述了以特定方式在多个帧上针对双眼交替进行时间注视点渲染,但是本公开考虑了以任何合适的方式在多个帧上针对双眼交替进行时间注视点渲染。
图7示出了用于通过将经渲染区域和来自与先前帧对应的图像的经重新投影区域合成,来生成与视频流的帧对应的图像的示例方法700。该方法可以在步骤710处开始,其中,计算设备108可以访问与视频流的第一帧对应的第一图像。该第一图像可以具有完整像素信息。在步骤720处,计算设备108可以渲染与第一帧之后的、该视频流的第二帧对应的临时图像。该临时图像可以具有第一区域和第二区域,该第一区域具有完整像素信息,该第二区域具有不完整像素信息。在步骤730处,计算设备108可以通过根据一个或多个扭曲参数对第一图像的至少一区域进行重新投影,来生成与第二帧对应的预测图像。在步骤740处,计算设备108可以通过将所渲染的临时图像和预测图像合成,来生成与第二帧对应的第二图像。在适当的情况下,特定实施例可以重复图7的方法中的一个或多个步骤。尽管本公开将图7的方法中的特定步骤描述和示出为以特定顺序发生,但是本公开考虑了图7的方法中以任何合适的顺序发生的任何合适的步骤。此外,尽管本公开描述和示出了用于通过将经渲染区域、和来自与先前帧对应的图像的经重新投影区域合成,来生成与视频流的帧对应的图像的示例方法(包括图7的方法中的特定步骤),但是本公开考虑了用于通过将经渲染区域、和来自与先前帧对应的图像的经重新投影区域合成,来生成与视频流的帧对应的图像的、包括任何合适的步骤的任何合适的方法,在适当的情况下,该方法可以包括图7的方法中的所有步骤、一些步骤,或者可以不包括图7的方法中的任何步骤)。此外,尽管本公开描述和示出了执行图7的方法中的特定步骤的特定部件、设备或***,但是本公开考虑了执行图7的方法中的任何合适的步骤的任何合适的部件、设备或***的任何合适的组合。
***和方法
图8示出了示例计算机***800。在特定实施例中,一个或多个计算机***800执行本文所描述或示出的一种或多种方法中的一个或多个步骤。在特定实施例中,一个或多个计算机***800提供本文所描述或示出的功能。在特定实施例中,在一个或多个计算机***800上运行的软件执行本文所描述或示出的一种或多种方法中的一个或多个步骤,或者提供本文所描述或示出的功能。特定实施例包括一个或多个计算机***800的一个或多个部分。在本文中,在适当的情况下,对计算机***的引用可以包括计算设备,反之亦然。此外,在适当的情况下,对计算机***的引用可以包括一个或多个计算机***。
本公开考虑了任何合适数量的计算机***800。本公开考虑了采用任何合适的物理形式的计算机***800。作为示例而非限制,计算机***800可以为嵌入式计算机***、片上***(system-on-chip,SOC)、单板计算机***(single-board computer system,SBC)(例如计算机模块(computer-on-module,COM)或***模块(system-on-module,SOM))、台式计算机***、膝上型或笔记本计算机***、交互式自助服务机、大型机、计算机***组网、移动电话、个人数字助理(personal digital assistant,PDA)、服务器、平板计算机***、或这些计算机***中的两者或两者以上的组合。在适当的情况下,计算机***800可以包括一个或多个计算机***800;计算机***800可以是单一的或分布式的;跨多个位置的;跨多台机器的;跨多个数据中心的;或位于云端(该云端可以包括一个或多个网络中的一个或多个云端组件)中。在适当的情况下,一个或多个计算机***800可以在没有大量的空间限制或时间限制的情况下,执行本文所描述或示出的一种或多种方法中的一个或多个步骤。作为示例而非限制,一个或多个计算机***800可以实时地或以批处理模式执行本文所描述或示出的一种或多种方法中的一个或多个步骤。在适当的情况下,一个或多个计算机***800可以在不同的时间或在不同的位置执行本文所描述或示出的一种或多种方法中的一个或多个步骤。
在特定实施例中,计算机***800包括处理器802、存储器(memory)804、存储装置(storage)806、输入/输出(input/output,I/O)接口808、通信接口810和总线812。尽管本公开描述和示出了具有处于特定布置的特定数量的特定部件的特定计算机***,但是本公开考虑了具有处于任何合适的布置的任何合适数量的任何合适部件的任何合适的计算机***。
在特定实施例中,处理器802包括用于执行指令的硬件,这些指令例如为,构成计算机程序的那些指令。作为示例而非限制,为了执行指令,处理器802可以从内部寄存器、内部高速缓冲存储器、存储器804、或存储装置806检索(或读取)这些指令;解码并执行这些指令;并且随后将一个或多个结果写入内部寄存器、内部高速缓冲存储器、存储器804或存储装置806。在特定实施例中,处理器802可以包括用于数据、指令或地址的一个或多个内部高速缓冲存储器。在适当的情况下,本公开内容考虑了包括任何合适数量的任何合适的内部高速缓冲存储器的处理器802。作为示例而非限制,处理器802可以包括一个或多个指令高速缓冲存储器、一个或多个数据高速缓冲存储器、和一个或多个转译后备缓冲器(translation lookaside buffer,TLB)。指令高速缓冲存储器中的指令可以是存储器804或存储装置806中的指令的副本,并且指令高速缓冲存储器可以加速处理器802对这些指令的检索。数据高速缓冲存储器中的数据可以是存储器804或存储装置806中的数据的副本,以供在处理器802处执行的指令对其进行操作;数据高速缓冲存储器中的数据可以是在处理器802处执行的先前指令的结果,以供在处理器802处执行的后续指令访问、或用于写入存储器804或存储装置806;或者数据高速缓冲存储器中的数据可以是其他合适的数据。数据高速缓冲存储器可以加速处理器802的读取操作或写入操作。多个TLB可以加速处理器802的虚拟地址转换。在特定实施例中,处理器802可以包括用于数据、指令或地址的一个或多个内部寄存器。在适当的情况下,本公开考虑了包括任何合适数量的任何合适的内部寄存器的处理器802。在适当的情况下,处理器802可以包括一个或多个算术逻辑单元(arithmetic logic unit,ALU);处理器802可以是多核处理器、或包括一个或多个处理器802。尽管本公开描述和示出了特定的处理器,但是本公开考虑了任何合适的处理器。
在特定实施例中,存储器804包括主存储器,该主存储器用于存储供处理器802执行的指令或供处理器802操作的数据。作为示例而非限制,计算机***800可以将指令从存储装置806或另一个源(例如,另一个计算机***800)加载到存储器804。然后,处理器802可以将这些指令从存储器804加载到内部寄存器或内部高速缓冲存储器。为了执行这些指令,处理器802可以从内部寄存器或内部高速缓冲存储器检索这些指令并对它们进行解码。在执行这些指令期间或之后,处理器802可以将一个或多个结果(该一个或多个结果可以是中间结果或最终结果)写入内部寄存器或内部高速缓冲存储器。然后,处理器802可以将这些结果中的一个或多个结果写入存储器804。在特定实施例中,处理器802仅执行一个或多个内部寄存器中或内部高速缓冲存储器中或存储器804(而不是存储装置806或其他地方)中的指令,并且仅对一个或多个内部寄存器或内部高速缓冲存储器中的、或存储器804(与存储装置806不同或其他位置)中的数据进行操作。一条或多条存储器总线(每条存储器总线可以包括地址总线和数据总线)可以将处理器802耦接到存储器804。如下所述,总线812可以包括一条或多条存储器总线。在特定实施例中,一个或多个存储器管理单元(memorymanagement unit,MMU)位于处理器802与存储器804之间,并且促进处理器802所请求的对存储器804的访问。在特定实施例中,存储器804包括随机存取存储器(random accessmemory,RAM)。在适当的情况下,该RAM可以是易失性存储器。在适当的情况下,该RAM可以是动态RAM(dynamic RAM,DRAM)或静态RAM(static RAM,SRAM)。此外,在适当的情况下,该RAM可以是单端口RAM或多端口RAM。本公开考虑了任何合适的RAM。在适当的情况下,存储器804可以包括一个或多个存储器804。尽管本公开描述和示出了特定的存储器,但是本公开考虑了任何合适的存储器。
在特定实施例中,存储装置806包括用于数据或指令的大容量存储装置。作为示例而非限制,存储装置806可以包括硬盘驱动器(hard disk drive,HDD)、软盘驱动器(floppydisk drive)、闪存、光盘、磁光盘、磁带、或通用串行总线(Universal Serial Bus,USB)驱动器、或这些存储装置中的两者或两者以上的组合。在适当的情况下,存储装置806可以包括可移动介质或不可移动(或固定)介质。在适当的情况下,存储装置806可以处于计算机***800的内部或外部。在特定实施例中,存储装置806是非易失性固态存储器。在特定实施例中,存储装置806包括只读存储器(read-only memory,ROM)。在适当的情况下,该ROM可以是掩膜编程ROM、可编程ROM(programmable ROM,PROM)、可擦除PROM(erasable PROM,EPROM)、电可擦除PROM(electrically erasable PROM,EEPROM)、电可改写ROM(electricallyalterable ROM,EAROM)或闪存、或这些ROM中的两者或两者以上的组合。本公开考虑采用任何合适的物理形式的大容量的存储装置806。在适当的情况下,存储装置806可以包括促进处理器802和存储装置806之间的通信的一个或多个存储装置控制单元。在适当的情况下,存储装置806可以包括一个或多个存储装置806。尽管本公开描述和示出了特定的存储装置,但是本公开考虑了任何合适的存储装置。
在特定实施例中,I/O接口808包括如下的硬件、软件或硬件和软件这两者:所述硬件、软件或硬件和软件这两者提供用于计算机***800与一个或多个I/O设备之间的通信的一个或多个接口。在适当的情况下,计算机***800可以包括这些I/O设备中的一个或多个I/O设备。这些I/O设备中的一个或多个I/O设备可以实现个人与计算机***800之间的通信。作为示例而非限制,I/O设备可以包括键盘、小键盘、传声器、监视器、鼠标、打印机、扫描仪、扬声器、静态摄像头(still camera)、触控笔、输入板、触摸屏、跟踪球、摄像机、另一合适的I/O设备、或这些I/O设备中的两者或两者以上的组合。I/O设备可以包括一个或多个传感器。本公开考虑了任何合适的I/O设备和用于这些I/O设备的任何合适的I/O接口808。在适当的情况下,I/O接口808可以包括如下的一个或多个设备或软件驱动器:所述一个或多个设备或软件驱动器使处理器802能够驱动这些I/O设备中的一个或多个I/O设备。在适当的情况下,I/O接口808可以包括一个或多个I/O接口808。尽管本公开描述和示出了特定的I/O接口,但是本公开考虑了任何合适的I/O接口。
在特定实施例中,通信接口810包括如下的硬件、软件或硬件和软件这两者:所述硬件、软件或硬件和软件这两者提供一个或多个接口,该一个或多个接口用于计算机***800与一个或多个其他计算机***800或一个或多个网络之间的通信(例如,基于数据包(packet-based)的通信)。作为示例而非限制,通信接口810可以包括用于与以太网或其他基于线路的网络进行通信的网络接口控制器(network interface controller,NIC)或网络适配器,或者可以包括用于与无线网络(例如,WI-FI网络)进行通信的无线NIC(wirelessNIC,WNIC)或无线适配器。本公开考虑了任何合适的网络和用于该网络的任何合适的通信接口810。作为示例而非限制,计算机***800可以与自组网、个人区域网(personal areanetwork,PAN)、局域网(local area network,LAN)、广域网(wide area network,WAN)、城域网(metropolitan area network,MAN)、或因特网的一个或多个部分、或这些网络中的两者或两者以上的组合进行通信。这些网络中的一个或多个网络的一个或多个部分可以是有线或无线的。作为示例,计算机***800可以与无线PAN(wireless PAN,WPAN)(例如,蓝牙(BLUETOOTH)WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(例如,全球移动通信***(Global System for Mobile Communications,GSM)网络)、或其他合适的无线网络、或这些网络中的两者或两者以上的组合进行通信。在适当的情况下,计算机***800可以包括用于这些网络中的任一者的任何合适的通信接口810。在适当情况下,通信接口810可以包括一个或多个通信接口810。尽管本公开描述和示出了特定的通信接口,但是本公开考虑了任何合适的通信接口。
在特定实施例中,总线812包括如下的硬件、软件或硬件和软件这两者:所述硬件、软件或硬件和软件这两者将计算机***800的多个部件彼此耦接。作为示例而非限制,总线812可以包括:加速图形端口(Accelerated Graphics Port,AGP)或其他图形总线、扩展工业标准结构(Enhanced Industry Standard Architecture,EISA)总线、前端总线(front-side bus,FSB)、超传输(HYPERTRANSPORT,HT)互连、工业标准结构(Industry StandardArchitecture,ISA)总线、无限带宽(INFINIBAND)互连、低引脚计数(low-pin-count,LPC)总线、存储器总线、微通道结构(Micro Channel Architecture,MCA)总线、***组件互连(Peripheral Component Interconnect,PCI)总线、高速***组件互连(PCI-Express,PCIe)总线、串行高级技术附件(serial advanced technology attachment,SATA)总线、视频电子标准协会局域(Video Electronics Standards Association local,VLB)总线、或另一合适的总线、或这些总线中的两者或两者以上的组合。在适当的情况下,总线812可以包括一条或多条总线812。尽管本公开描述和示出了特定的总线,但是本公开考虑了任何合适的总线或互连件。
在本文中,在适当的情况下,一种或多种计算机可读非暂态存储介质可以包括:一个或多个基于半导体的集成电路(integrated circuit,IC)或其他集成电路(例如,现场可编程门阵列(field-programmable gate array,FPGA)或专用IC(application-specificIC,ASIC))、硬盘驱动器(HDD)、混合硬盘驱动器(hybrid hard drive,HHD)、光盘、光盘驱动器(optical disc drive,ODD)、磁光盘、磁光盘驱动器、软盘、软盘驱动器(floppy diskdrives,FDD)、磁带、固态驱动器(solid-state drive,SSD)、RAM驱动器、安全数字卡(SECURE DIGITAL card)或安全数字驱动器、任何其他合适的计算机可读非暂态存储介质、或这些存储介质中的两者或两者以上的任何合适的组合。在适当的情况下,计算机可读非暂态存储介质可以是易失性的、非易失性的、或易失性和非易失性计算机可读非暂态存储介质的组合。
其他
在本文中,除非另有明确地指示或上下文另有指示,否则“或”是包括性的而非排他性的。因此,在本文中,除非另有明确地指示或上下文另有指示,否则“A或B”是指“A、B、或A和B这两者”。此外,除非另有明确地指示或上下文另有指示,否则“和”既是共同的又是各自的。因此,在本文中,除非另有明确地指示或上下文另有指示,否则“A和B”是指“A和B,共同地或各自地”。
本公开的范围涵盖:本领域的普通技术人员将理解的、对本文所描述或示出的示例实施例的所有改变、替换、变化、变更和修改。本公开的范围不限于本文所描述或示出的示例实施例。此外,尽管本公开将本文中的各个实施例描述和示出为包括特定部件、元件、特征、功能、操作或步骤,但是本领域的普通技术人员将理解的是,这些实施例中的任何实施例可以包括本文中任何地方描述或示出的任何部件、元件、特征、功能、操作或步骤的任何组合或排列。此外,在所附权利要求中对装置或***、或装置或***中的部件(这些装置、***、部件适于、被布置为、能够、被配置为、被实现为、可操作地或可使用以执行特定功能)的引用涵盖了该装置、***、部件(无论该装置、***、部件或者该特定功能是否被激活、开启或解锁),只要该装置、***或部件是如此适于、被布置为、能够、被配置为、被实现为、可操作地或可使用。另外,尽管本公开将特定实施例描述或示出为提供特定优点,但是特定实施例可以不提供这些优点、提供这些优点中的一些或全部优点。
Claims (15)
1.一种方法,包括:由计算***:
访问与视频流的第一帧对应的第一图像,所述第一图像具有完整像素信息;
渲染与所述第一帧之后的、所述视频流的第二帧对应的临时图像,所述临时图像具有第一区域和第二区域,所述第一区域具有完整像素信息,所述第二区域具有不完整像素信息;
通过根据一个或多个扭曲参数对所述第一图像的至少一区域进行重新投影,来生成与所述第二帧对应的预测图像;以及
通过将所渲染的所述临时图像和所述预测图像合成,来生成与所述第二帧对应的第二图像。
2.根据权利要求1所述的方法,其中,将所渲染的所述临时图像和所述预测图像合成包括:将时间扭曲参数应用于所述临时图像,其中,将时间扭曲参数应用于图像包括:平移所述图像以适应头部位置的变化。
3.根据权利要求1所述的方法,其中,所述一个或多个扭曲参数包括空间扭曲参数和时间扭曲参数。
4.根据权利要求3所述的方法,其中,所述空间扭曲参数是基于所述第一图像的经重新投影区域中的运动矢量来确定的,其中,所述运动矢量是基于与多个先前帧对应的图像来确定的。
5.根据权利要求4所述的方法,其中,应用所述空间扭曲参数包括:使所述第一图像的所述经重新投影区域失真,使得所述经重新投影区域中的运动对象是使用所确定的所述运动矢量来重新定位的。
6.根据权利要求4所述的方法,其中,基于光流来确定所述运动矢量。
7.根据权利要求4所述的方法,其中,确定空间扭曲参数是在如下的硬件编码器上执行的:所述硬件编码器与图形处理单元(GPU)分离。
8.根据权利要求1所述的方法,其中,所述临时图像中的经渲染区域和所述预测图像的经重新投影区域具有重叠区域。
9.根据权利要求8所述的方法,其中,将所渲染的所述临时图像和所述预测图像合成包括:对所述重叠区域内的像素进行混合。
10.根据权利要求1所述的方法,其中,所述临时图像的所述第一区域包括用于所述视频流的所述第二帧的、用户视野的中心区域。
11.根据权利要求1所述的方法,以及以下中的任一项:
a)其中,所述临时图像的所述第一区域包括图像的预定区域;或
b)其中,所述临时图像的所述第二区域不被渲染;或
c)其中,以比所述第一区域的像素密度更低的像素密度渲染所述临时图像的所述第二区域;或
d)其中,所述第一图像包括多个子区域,并且其中,所述多个子区域的像素密度彼此不同。
12.根据权利要求1所述的方法,其中,所述视频流是立体视频流,并且其中,所述第一图像和所述第二图像对应于用户的一眼睛;其中,可选地,在这种情况下,以下操作在双眼之间交替进行:通过将所渲染的所述临时图像和所述预测图像合成来生成与所述视频流的帧对应的图像,其中,在通过将所渲染的所述临时图像和所述预测图像合成来生成与用于第二眼睛的帧对应的图像的同时,渲染与用于第一眼睛的帧对应的整个图像。
13.一种或多种计算机可读非暂态存储介质,所述一种或多种计算机可读非暂态存储介质包含软件,所述软件在被执行时能够操作以:
访问与视频流的第一帧对应的第一图像,所述第一图像具有完整像素信息;
渲染与所述第一帧之后的、所述视频流的第二帧对应的临时图像,所述临时图像具有第一区域和第二区域,所述第一区域具有完整像素信息,所述第二区域具有不完整像素信息;
通过根据一个或多个扭曲参数对所述第一图像的至少一区域进行重新投影,来生成与所述第二帧对应的预测图像;以及
通过将所渲染的所述临时图像和所述预测图像合成,来生成与所述第二帧对应的第二图像。
14.根据权利要求13所述的介质,以及以下中的任一项:
a)其中,将所渲染的所述临时图像和所述预测图像合成包括:将时间扭曲参数应用于所述临时图像,其中,将时间扭曲参数应用于图像包括:移动所述图像以适应头部位置的变化;或
b)其中,所述一个或多个扭曲参数包括空间扭曲参数和时间扭曲参数。
15.一种***,包括:一个或多个处理器;以及非暂态存储器,所述非暂态存储器耦接到所述处理器并且包括能够由所述处理器执行的指令,所述处理器在执行所述指令时能够操作以:
访问与视频流的第一帧对应的第一图像,所述第一图像具有完整像素信息;
渲染与所述第一帧之后的、所述视频流的第二帧对应的临时图像,所述临时图像具有第一区域和第二区域,所述第一区域具有完整像素信息,所述第二区域具有不完整像素信息;
通过根据一个或多个扭曲参数对所述第一图像的至少一区域进行重新投影,来生成与所述第二帧对应的预测图像;以及
通过将所渲染的所述临时图像和所述预测图像合成,来生成与所述第二帧对应的第二图像。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/132,228 | 2020-12-23 | ||
US17/132,228 US20220201271A1 (en) | 2020-12-23 | 2020-12-23 | Temporal foveated rendering |
PCT/US2021/058129 WO2022139963A1 (en) | 2020-12-23 | 2021-11-04 | Temporal foveated rendering |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116686010A true CN116686010A (zh) | 2023-09-01 |
Family
ID=78822493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180090085.5A Pending CN116686010A (zh) | 2020-12-23 | 2021-11-04 | 时间注视点渲染 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220201271A1 (zh) |
EP (1) | EP4268450A1 (zh) |
JP (1) | JP2024502273A (zh) |
CN (1) | CN116686010A (zh) |
WO (1) | WO2022139963A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114175630A (zh) * | 2019-07-28 | 2022-03-11 | 谷歌有限责任公司 | 利用注视点网格渲染沉浸式视频内容的方法、***和介质 |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6266443B1 (en) * | 1998-12-22 | 2001-07-24 | Mitsubishi Electric Research Laboratories, Inc. | Object boundary detection using a constrained viterbi search |
GB201305402D0 (en) * | 2013-03-25 | 2013-05-08 | Sony Comp Entertainment Europe | Head mountable display |
KR20160139461A (ko) * | 2015-05-27 | 2016-12-07 | 엘지전자 주식회사 | 헤드 마운티드 디스플레이 및 그 제어 방법 |
US10198612B1 (en) * | 2015-07-29 | 2019-02-05 | Morphotrust Usa, Llc | System and method for scaling biometric images |
US10121221B2 (en) * | 2016-01-18 | 2018-11-06 | Advanced Micro Devices, Inc. | Method and apparatus to accelerate rendering of graphics images |
EP3335098A1 (en) * | 2016-02-22 | 2018-06-20 | Google LLC | Separate time-warping for a scene and an object for display of virtual reality content |
US10664949B2 (en) * | 2016-04-22 | 2020-05-26 | Intel Corporation | Eye contact correction in real time using machine learning |
EP3465627B1 (en) * | 2016-05-29 | 2020-04-29 | Google LLC | Time-warping adjustment based on depth information in a virtual/augmented reality system |
US10068553B2 (en) * | 2016-09-12 | 2018-09-04 | Intel Corporation | Enhanced rendering by a wearable display attached to a tethered computer |
US10110914B1 (en) * | 2016-09-15 | 2018-10-23 | Google Llc | Locally adaptive warped motion compensation in video coding |
US10379611B2 (en) * | 2016-09-16 | 2019-08-13 | Intel Corporation | Virtual reality/augmented reality apparatus and method |
US10698482B2 (en) * | 2016-12-01 | 2020-06-30 | Varjo Technologies Oy | Gaze tracking using non-circular lights |
US10043318B2 (en) * | 2016-12-09 | 2018-08-07 | Qualcomm Incorporated | Display synchronized image warping |
US10560680B2 (en) * | 2017-01-28 | 2020-02-11 | Microsoft Technology Licensing, Llc | Virtual reality with interactive streaming video and likelihood-based foveation |
US10152822B2 (en) * | 2017-04-01 | 2018-12-11 | Intel Corporation | Motion biased foveated renderer |
US10187607B1 (en) * | 2017-04-04 | 2019-01-22 | Gopro, Inc. | Systems and methods for using a variable capture frame rate for video capture |
US10602033B2 (en) * | 2017-05-02 | 2020-03-24 | Varjo Technologies Oy | Display apparatus and method using image renderers and optical combiners |
US10885607B2 (en) * | 2017-06-01 | 2021-01-05 | Qualcomm Incorporated | Storage for foveated rendering |
US11223848B2 (en) * | 2017-06-30 | 2022-01-11 | Vid Scale, Inc. | Weighted to spherically uniform PSNR for 360-degree video quality evaluation using cubemap-based projections |
US10779011B2 (en) * | 2017-07-31 | 2020-09-15 | Qualcomm Incorporated | Error concealment in virtual reality system |
US10152775B1 (en) * | 2017-08-08 | 2018-12-11 | Rockwell Collins, Inc. | Low latency mixed reality head wearable device |
US10742966B2 (en) * | 2017-11-16 | 2020-08-11 | Htc Corporation | Method, system and recording medium for adaptive interleaved image warping |
US11112613B2 (en) * | 2017-12-18 | 2021-09-07 | Facebook Technologies, Llc | Integrated augmented reality head-mounted display for pupil steering |
US10488917B2 (en) * | 2018-02-17 | 2019-11-26 | Varjo Technologies Oy | Gaze-tracking system and method of tracking user's gaze using reflective element |
US11064387B1 (en) * | 2018-05-23 | 2021-07-13 | Apple Inc. | Adaptive wireless transmission schemes |
WO2020141344A2 (en) * | 2018-07-20 | 2020-07-09 | Tobii Ab | Distributed foveated rendering based on user gaze |
US10706631B2 (en) * | 2018-10-31 | 2020-07-07 | Advanced Micro Devices, Inc. | Image generation based on brain activity monitoring |
US10771774B1 (en) * | 2019-03-22 | 2020-09-08 | Varjo Technologies Oy | Display apparatus and method of producing images having spatially-variable angular resolutions |
US11030719B2 (en) * | 2019-01-22 | 2021-06-08 | Varjo Technologies Oy | Imaging unit, display apparatus and method of displaying |
US11120591B2 (en) * | 2019-05-31 | 2021-09-14 | Apple Inc. | Variable rasterization rate |
US10712817B1 (en) * | 2019-06-27 | 2020-07-14 | Tobii Ab | Image re-projection for foveated rendering |
US10997954B2 (en) * | 2019-07-24 | 2021-05-04 | Qualcomm Incorporated | Foveated rendering using variable framerates |
US11307655B2 (en) * | 2019-09-19 | 2022-04-19 | Ati Technologies Ulc | Multi-stream foveal display transport |
US11410331B2 (en) * | 2019-10-03 | 2022-08-09 | Facebook Technologies, Llc | Systems and methods for video communication using a virtual camera |
US11269406B1 (en) * | 2019-10-24 | 2022-03-08 | Facebook Technologies, Llc | Systems and methods for calibrating eye tracking |
US20210192681A1 (en) * | 2019-12-18 | 2021-06-24 | Ati Technologies Ulc | Frame reprojection for virtual reality and augmented reality |
US11363247B2 (en) * | 2020-02-14 | 2022-06-14 | Valve Corporation | Motion smoothing in a distributed system |
-
2020
- 2020-12-23 US US17/132,228 patent/US20220201271A1/en active Pending
-
2021
- 2021-11-04 WO PCT/US2021/058129 patent/WO2022139963A1/en active Application Filing
- 2021-11-04 JP JP2023538783A patent/JP2024502273A/ja active Pending
- 2021-11-04 CN CN202180090085.5A patent/CN116686010A/zh active Pending
- 2021-11-04 EP EP21820377.6A patent/EP4268450A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220201271A1 (en) | 2022-06-23 |
JP2024502273A (ja) | 2024-01-18 |
EP4268450A1 (en) | 2023-11-01 |
WO2022139963A1 (en) | 2022-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11719933B2 (en) | Hand-locked rendering of virtual objects in artificial reality | |
US20230039100A1 (en) | Multi-layer reprojection techniques for augmented reality | |
US11954805B2 (en) | Occlusion of virtual objects in augmented reality by physical objects | |
US11410272B2 (en) | Dynamic uniformity correction | |
US11734808B2 (en) | Generating a composite image | |
CN114223196A (zh) | 用于中央凹渲染的***和方法 | |
CN112912823A (zh) | 生成和修改增强现实或虚拟现实场景中对象的表示 | |
CN116686010A (zh) | 时间注视点渲染 | |
US11715272B2 (en) | 3D reconstruction of a moving object | |
TW202320022A (zh) | 合成器層外推 | |
US11423616B1 (en) | Systems and methods for rendering avatar with high resolution geometry | |
US11783533B2 (en) | Frame extrapolation with application generated motion vector and depth | |
US20230136662A1 (en) | Parallax Asynchronous Spacewarp for Multiple Frame Extrapolation | |
US11423520B2 (en) | Distortion-corrected rasterization | |
US11640699B2 (en) | Temporal approximation of trilinear filtering | |
TW202316239A (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 |