CN112020858B - 利用感兴趣区域的确定的异步时间和空间扭曲 - Google Patents

利用感兴趣区域的确定的异步时间和空间扭曲 Download PDF

Info

Publication number
CN112020858B
CN112020858B CN201980028496.4A CN201980028496A CN112020858B CN 112020858 B CN112020858 B CN 112020858B CN 201980028496 A CN201980028496 A CN 201980028496A CN 112020858 B CN112020858 B CN 112020858B
Authority
CN
China
Prior art keywords
roi
metadata
processor
frame
user
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.)
Active
Application number
CN201980028496.4A
Other languages
English (en)
Other versions
CN112020858A (zh
Inventor
V.梅尔科特克里什纳普拉萨德
S.巴纳杰
P.K.巴赫蒂
A.V.拉奥
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN112020858A publication Critical patent/CN112020858A/zh
Application granted granted Critical
Publication of CN112020858B publication Critical patent/CN112020858B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/536Depth or shape recovery from perspective effects, e.g. by using vanishing points
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/167Detection; Localisation; Normalisation using comparisons between temporally consecutive images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/178Metadata, e.g. disparity information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/194Transmission of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking
    • H04N13/383Image reproducers using viewer tracking for tracking with gaze detection, i.e. detecting the lines of sight of the viewer's eyes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/247Aligning, centring, orientation detection or correction of the image by affine transforms, e.g. correction due to perspective effects; Quadrilaterals, e.g. trapezoids

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Computer Graphics (AREA)
  • Library & Information Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Investigating Or Analyzing Materials By The Use Of Ultrasonic Waves (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Radio Relay Systems (AREA)

Abstract

公开了一种用于扭曲渲染帧的方法和系统。在分割渲染系统的主机设备上,该方法包括基于用户的头部跟踪信息生成渲染帧。该方法还包括识别渲染帧的感兴趣区域(ROI)。该方法还包括从ROI生成用于扭曲操作的元数据。该方法还包括发送渲染帧和用于渲染帧的扭曲操作的元数据。在分割渲染系统的客户端设备上,该方法包括由客户端设备发送用户的头部跟踪信息。该方法还包括接收渲染帧和元数据。该方法还包括使用元数据和显示姿态信息扭曲渲染帧。主机设备和客户端设备可以组合成一体式头戴式显示器。

Description

利用感兴趣区域的确定的异步时间和空间扭曲
相关申请的交叉引用
本申请要求2018年4月30日向印度专利局提交的题目为“利用感兴趣区域的确定的异步时间和空间扭曲”的印度专利申请No.201841016253和2018年11月5日提交的题目为“利用感兴趣区域的确定的异步时间和空间扭曲”的美国专利申请No.16/181,288的优先权,通过引用将其全部内容明确结合于此。
技术领域
本公开涉及图像内容信息的处理,更具体地,涉及用于输出到显示器的图像内容信息的后处理。
背景技术
分割渲染系统(split-rendered system)可以包括通过网络(例如,无线网络、有线网络等)通信的至少一个主机设备和至少一个客户端设备。例如,Wi-Fi直接(WFD)系统包括通过Wi-Fi通信的多个设备。主机设备充当无线接入点,并使用一个或多个无线通信标准(例如,IEEE 802.11)向一个或多个客户端设备发送图像内容信息,该图像内容信息可以包括音频视频(AV)数据、音频数据和/或视频数据。图像内容信息可以在主机设备的显示器和每个客户端设备的显示器上回放。更具体地,每个参与的客户端设备处理接收到的图像内容信息,以在其显示器屏幕和音频设备上呈现。此外,主机设备可以执行图像内容信息的至少一些处理,以在客户端设备上呈现。
主机设备和一个或多个客户端设备可以是无线设备或具有无线通信能力的有线设备。在一个示例中,作为有线设备、主机设备和客户端设备中的一个或多个可以包括电视、监视器、投影仪、机顶盒、DVD或蓝光光盘播放器、数字录像机、膝上型或台式个人计算机、视频游戏控制台等,其包括无线通信能力。在另一示例中,作为无线设备、主机设备和客户端设备中的一个或多个可以包括移动电话、具有无线通信卡的便携式计算机、个人数字助理(PDAs)、便携式媒体播放器或具有无线通信能力的其他闪存设备,包括所谓的“智能”电话和“智能”平板或平板电脑,或其他类型的无线通信设备(WCD)。
在一些示例中,至少一个客户端设备可以包括可穿戴显示设备。可穿戴显示设备可以包括穿戴在用户身体上的任何类型的有线或无线显示设备。作为示例,可穿戴显示设备可以包括无线头戴式(head-worn)或无线头戴式(head-mounted)显示器(WHMD),其穿戴在用户的头部以便将一个或更多显示器屏幕定位在用户的眼睛前面。主机设备通常负责执行图像内容信息的至少一些处理,以在可穿戴显示设备上显示。可穿戴显示设备通常负责准备图像内容信息以在可穿戴显示设备上显示。
发明内容
一般而言,本公开涉及用于在可穿戴显示设备上向用户显示渲染帧时,校正从用于渲染帧的相机位置向相机位置的相机平移和旋转(例如,朝向或远离虚拟对象移动可穿戴显示设备)的技术。当主机设备基于从可穿戴显示设备的头部跟踪器接收的最后头部姿态来呈现图像时,在图像被呈现并可用于在可穿戴显示设备上向用户显示时,用户的头部姿态可能已经移动。主机设备可以具有可用于校正相机平移和旋转的每像素深度数据。然而,在分割渲染系统中(例如,其中主机设备和可穿戴显示设备都处理图像数据,诸如在游戏虚拟现实(VR)、增强现实(AR)应用等中),将每像素深度数据从主机设备发送到作为客户端设备的示例的可穿戴显示设备可能会消耗大量带宽。
本公开的技术涉及允许渲染帧的时间和空间扭曲以校正头部位置的移动和场景运动的系统,其中通过识别感兴趣区域来确定有助于时间和空间扭曲的元数据。使用感兴趣区域的时间和空间扭曲减少了与头部位置的移动相关联的有效运动到光子(motion-to-photon)延迟,以及与以比显示刷新率慢的帧速率渲染相关联的位置抖动(judder),而不需要发送/接收每像素深度数据(如深度缓冲)。使用来自感兴趣区域的元数据进行时间和空间扭曲还减少了与其他时间空间扭曲技术相关联的位置抖动和其他显示伪像。可以基于眼睛跟踪或内容信息来确定感兴趣区域。例如,分割渲染系统的主机设备可以为场景的感兴趣区域生成单个深度平面,以强调来自感兴趣区域的贡献。单个深度平面的值和参数可以基于眼睛跟踪信息来确定。
在一个方面,来自感兴趣区域的用于帮助时间和空间扭曲的元数据可以包括用于采样和过滤渲染帧中的运动对象的运动矢量的元数据。例如,分割渲染系统的显示设备和主机设备可以基于内容或眼睛跟踪信息来确定眼睛缓冲帧中的感兴趣区域。主机设备可以基于对感兴趣区域内的内容的分析来确定运动矢量网格尺寸。运动矢量网格尺寸可以表示覆盖在眼睛缓冲上的顶点网格,以对运动矢量进行采样。运动矢量网格尺寸的选择可能会影响扭曲帧的质量,诸如运动对象的拐角处的混乱和失真。显示设备可以基于对感兴趣区域内的内容的分析来确定运动矢量滤波器核尺寸。可以使用运动矢量滤波器核尺寸来过滤运动矢量,以消除相邻顶点之间运动矢量的大差异。运动矢量过滤器内核尺寸的选择可以影响背景对象在前景对象之上的折叠以及对象的拉伸和扭曲。可以分析感兴趣区域的内容,以在运动矢量网格尺寸、运动矢量滤波器核尺寸、位置抖动和,填充暴露(disocclusions)的纹理拉伸之间进行权衡。
在一个方面,可以分析感兴趣区域的内容以确定可以产生更少显示伪像的扭曲技术。在一个方面,来自感兴趣区域的元数据可以包括针对所谓的矢量流的技术的场景中对象的潜在可见三角形集合的计算,该技术解决了当扭曲到新姿势时的暴露。通过眼睛跟踪获得的感兴趣区域可以用于生成感兴趣区域中可见场景后面的潜在可见三角形集合。
在一个方面,感兴趣区域可以通过渲染帧中的内容信息确定。例如,可以标记场景中的一个或更多角色或对象为显著的,并且眼睛缓冲中的感兴趣区域可以包括包含显著内容的片段。在一个示例中,当场景中的运动吸引用户的焦点时,感兴趣区域可以包括移动对象。
在一个方面,公开了一种由主机设备生成元数据以帮助渲染帧扭曲的方法。该方法包括基于用户的头部跟踪信息生成渲染帧。该方法还包括识别渲染帧的感兴趣区域(ROI)。该方法还包括从ROI生成用于扭曲操作的元数据。该方法还包括发送渲染帧和用于渲染帧的扭曲操作的元数据。
在一个方面,公开了一种通过客户端设备扭曲渲染帧的方法。该方法包括发送用户的头部跟踪信息。该方法还包括接收渲染帧和元数据。渲染帧基于头部跟踪信息,并且元数据基于渲染帧的感兴趣区域(ROI)。该方法还包括使用元数据和显示姿态信息来扭曲渲染帧。
本公开的一个或更多示例的细节在附图和以下描述中阐述。从说明书、附图说明和权利要求中,其他特征、目的和优点将变得显而易见。
附图说明
图1是图示了包括主机设备和可穿戴显示设备的分割渲染系统的框图。
图2是更详细地图示了图1的主机设备和可穿戴显示设备的框图。
图3是图示了根据本公开中描述的一种或更多技术,使用从感兴趣区域识别的单个深度元数据扭曲渲染帧以校正相机平移和旋转的示例过程的概念性框图。
图4是图示了根据本公开中描述的一种或更多技术,使用从感兴趣区域识别的运动矢量网格尺寸和运动矢量滤波器核尺寸扭曲渲染帧以考虑对象运动的示例过程的概念性框图。
图5是图示了根据本公开中描述的一种或更多技术,使用从感兴趣区域识别的单个深度元数据扭曲渲染帧以校正相机平移和旋转的示例过程的流程图。
图6是图示了根据本公开中描述的一种或更多技术,基于眼睛跟踪信息从感兴趣区域生成单个深度元数据用于扭曲渲染帧来校正相机平移和旋转的示例过程的流程图。
图7是图示了根据本公开中描述的一种或更多技术,基于内容分析从感兴趣区域生成单个深度元数据用于扭曲渲染帧来校正相机平移和旋转的示例过程的流程图。
图8是图示了根据本公开中描述的一种或更多技术,生成从感兴趣区域识别的运动矢量滤波器核尺寸用于扭曲渲染帧以考虑对象的运动的示例过程的流程图。
图9是示出了根据本公开中描述的一种或更多技术,基于对感兴趣区域内的内容的分析来确定运动矢量网格尺寸用于采样运动矢量以扭曲渲染帧来考虑对象的运动的示例过程的流程图。
具体实施方式
成像系统可以生成用于显示视频的360度图像(例如,画布(canvas))。例如,成像系统可以在虚拟现实(VR)头盔处输出用户视野中的画布的部分。
某些成像系统可以是分割渲染的。示例分割渲染系统可以包括生成压缩的渲染视频缓冲(和压缩的渲染音频缓冲)的主机设备(例如,计算机、云等),和解压缩压缩的渲染视频缓冲(和音频缓冲)以在客户端设备上显示的客户端设备(例如,头戴式显示器(HMD))。
在分割渲染系统中,客户端设备可以输出指示用户视野的头部姿态。主机设备可以为头部姿势生成压缩的渲染视频/音频缓冲。然而,分割渲染系统在发送头部姿态和输出渲染的视频/音频缓冲之间可能具有小的处理时间(例如,20毫秒)。这种延迟可能导致实际内容被呈现为代表更早的头部姿态,而不是当前的头部姿态。例如,当分割渲染系统处理渲染的视频时,用户可以稍微旋转她的头部。在这种情况下,用户正在查看的内容来自不同的、比她当前视野更早的视野,从而导致负面体验。
为了解决分割渲染系统中导致显示延迟的处理时间,客户端设备可以执行时间和空间扭曲,以从它们在最后完全渲染帧中的状态校正头部位置和场景运动的演变。例如,客户端设备可以首先基于接收的内容完全渲染帧,其中渲染帧基于较早的头部姿态,然后客户端设备可以执行异步时间扭曲(ATW),其校正用户头部的旋转。
更具体地,例如,客户端设备可以包括从主机设备接收图像内容信息的图形处理单元(GPU),并且设备接收的图像内容信息可以基于客户端设备请求图像内容信息时客户端设备的用户的眼睛或头部的位置。对于眼睛缓冲轮(round),客户端设备的GPU可以基于接收到的图像内容信息生成渲染帧。然而,用户的眼睛或头部的位置可以从请求的时间改变到当前时间。因此,在扭曲轮中,客户端设备的GPU可以扭曲(例如,移动、旋转、拉伸或以其他方式修改)眼睛缓冲轮中生成的图像内容,以适应客户端设备的用户眼睛或头部的位置的任何变化。
然而,ATW技术可能无法校正用户的视野朝向(或远离)场景中的对象的移动。这样的仅考虑用户方向变化(3个自由度(DOF))的ATW技术可能导致“位置抖动”,尤其是对于虚拟空间中靠近用户的场景的对象。客户端设备考虑与场景中对象相关的头部平移的一种方式是通过利用每像素深度数据(例如,Z缓冲);然而,这样的每像素深度数据可能不容易由客户端设备访问。在分割渲染系统(例如,游戏VR)的上下文中,这样的每像素深度数据在主机设备(例如,渲染引擎)处容易获得。然而,从主机设备向客户端设备发送每像素深度数据可以消耗大量带宽。一种校正位置抖动和其他显示伪像的技术是利用诸如渲染场景的深度和/或运动矢量之类的附加信息来近似6DOF ATW,而不需要完整的Z缓冲的知识。
本公开的技术涉及分割渲染的系统,该系统允许时间和空间扭曲,以使用通过识别感兴趣区域帮助时间和空间扭曲的元数据,从它们在最后完全渲染的帧中的状态校正头部位置的移动(例如,相机平移)和场景运动。在一些诸如用于帮助ATW或被称为异步平面重投影(APR)的ATW的修改版本的元数据的实施例中,该技术消除了发送/移动全深度缓冲的需要,该全深度缓冲在带宽、延迟和功率方面可能是昂贵的,同时仍然保留了从3DOF ATW移动到6DOF ATW的大部分改进。使用来自感兴趣区域的元数据进行时间和空间扭曲减少了用户正在积极关注或非常可能关注的区域中的位置抖动和其他显示伪像,这不同于对诸如此类的感兴趣区域信息不可知的其他时间空间扭曲技术。可以基于眼睛跟踪或内容信息确定感兴趣区域。例如,在APR中,分割渲染系统的主机设备可以为场景中的感兴趣区域生成单个深度平面元数据。可以基于眼睛跟踪信息来确定单个深度平面的值和参数。在一个方面,在异步空间扭曲(ASW)中,在执行扭曲时外推对象的运动的技术,分割渲染系统的主机设备可以基于对感兴趣区域内的内容的分析来确定用于采样运动矢量的运动矢量网格尺寸。在一个方面,在ASW,显示设备可以基于对感兴趣区域内的内容的分析来确定用于过滤运动矢量的运动矢量过滤器核尺寸。可以基于眼睛跟踪来确定包含用于分析的场景的内容信息的感兴趣区域。
图1是图示了包括主机设备10和可穿戴显示设备16的分割渲染系统2的框图。在图1的示例中,分割渲染系统2包括主机设备10和仅一个客户端设备,即可穿戴显示设备16。在其他示例中,分割渲染系统2可以包括附加的客户端设备(未示出),其可以包括可穿戴的显示设备、无线设备或具有无线通信能力的有线设备。
在一些示例中,分割渲染系统2可以符合Wi-Fi联盟定义的Wi-Fi Direct(WFD)标准。WFD标准允许通过无线网络进行设备到设备的通信,例如无线局域网,其中设备协商它们作为访问点或客户端设备的角色。分割渲染系统2可以包括支持多个无线网络的一个或多个基站(未示出),通过这些无线网络可以在主机设备10、可穿戴显示设备16和其他参与的客户端设备之间建立通信会话。通信服务提供商或其他实体可以使用基站作为网络中枢来集中操作和管理这些无线网络中的一个或更多。
根据WFD标准,主机设备10可以充当无线访问点,并从可穿戴显示设备16接收建立通信会话的请求。例如,主机设备10可以使用实时流协议(RTSP)在主机设备10和可穿戴显示设备16之间建立通信会话。对等(peer-to-peer,P2P)群组通信会话可以在无线网络上建立,诸如使用无线通信标准的Wi-Fi网络,例如IEEE 802.11a、802.11g或802.11n对先前802.11标准的改进。在一个实施例中,主机设备10可以存在于云中,并且客户端设备可以通过包括4g或5g网络的蜂窝网络连接到主机设备10。
一旦P2P群组通信会话建立,主机设备10可以向可穿戴显示设备16和参与特定通信会话的任何其他客户端设备发送图像内容信息,该图像内容信息可以包括音频视频(AV)数据、音频数据和/或视频数据。例如,主机设备10可以使用实时传输协议(RTP)向可穿戴显示设备16发送图像内容信息。可以在主机设备10的显示器和可穿戴显示设备16的显示屏上回放图像内容信息。应当理解,在主机设备10上显示内容仅仅是一个例子,并不是在所有例子中都是必要的。可穿戴显示设备16可以处理从主机设备10接收的图像内容信息,以呈现在其显示屏和音频设备上。可穿戴显示设备16可以利用计算机处理单元和图形处理单元来执行这些操作,这些操作受到尺寸和重量的限制,以便适合手持设备的结构。在一个方面,主机设备10可以对图像内容信息执行至少一些处理,以呈现在可穿戴显示设备16上。
可穿戴显示设备16的用户可以通过包括在可穿戴显示设备16内或连接到可穿戴显示设备16的诸如人机接口设备(HID)的接口来提供用户输入。HID可以包括触摸显示器、对输入对象(例如,手指、触笔等)敏感的输入设备、键盘、跟踪球、鼠标、操纵杆、遥控器、麦克风等的一个或更多。如图所示,可穿戴显示设备16可以通过通用串行总线(USB)连接到一个或更多身体传感器和致动器12,该通用串行总线可以通过蓝牙BluetoothTM连接到一个或更多附件14。
可穿戴显示设备16向主机设备10发送所提供的用户输入。在一些示例中,可穿戴显示设备16通过被称为用户输入反向信道(UIBC)的反向信道架构发送用户输入。以该方式,主机设备10可以响应在可穿戴显示设备16处提供的用户输入。例如,主机设备10可以处理接收到的用户输入,并将用户输入的任何效果应用于诸如发送到可穿戴显示设备16的图像内容信息的后续数据。
主机设备10可以是无线设备或具有无线通信能力的有线设备。在一个示例中,作为有线设备,主机设备10可以包括电视、监视器、投影仪、机顶盒、DVD或蓝光盘播放器、数字录像机、膝上型或台式个人计算机、视频游戏控制台等的一个,其包括无线通信能力。主机设备10的其他示例是可能的。例如,主机设备10可以是存储图像内容的文件服务器,并且基于来自显示设备16的用户输入选择性地输出图像内容。例如,主机设备10可以存储360度视频内容,并且基于用户输入,可以向可穿戴显示设备16输出360度视频内容的选定部分。相应地,主机设备10不一定需要包括图1图示并且在下述所有示例中更详细地描述的高端图形处理单元(GPU)。主机设备10可以靠近可穿戴显示设备16(例如,在同一房间),或者主机设备10和可穿戴显示设备16可以在不同的位置。
如图所示,主机设备10可以经由局域网(LAN)连接到网络8(例如,互联网)。在另一个示例中,作为无线设备,主机设备10可以包括移动电话、具有无线通信卡的便携式计算机、个人数字助理(PDA)、便携式媒体播放器或具有无线通信能力的其他闪存设备中的一种,包括所谓的“智能”电话和“智能”平板或平板电脑,或者另一种类型的无线通信设备(WCD)。
可穿戴显示设备16可以包括穿戴在用户身体上的任何类型的有线或无线显示设备。作为示例,可穿戴显示设备16可以包括戴在用户头部的头戴式显示器或头戴式显示器(HMD),以便将一个或更多显示屏定位在用户的眼睛前面。通常,可穿戴显示设备16的显示屏可以包括诸如液晶显示器、等离子显示器、有机发光二极管显示器或另一种类型的显示屏的多种显示屏之一。
在一个示例中,可穿戴显示设备16可以包括形成眼镜的HMD设备,其包括一个或更多眼睛透镜中的显示屏,并且还包括穿戴在用户脸部的鼻梁架和眼镜腿。作为另一个示例,可穿戴显示设备16可以包括形成护目镜的HMD设备,其包括单独的目镜中的显示屏或单个显示屏,并且还包括至少一个将护目镜固定在用户头部的带子。虽然可穿戴显示设备16在本公开中主要被描述为HMD,但是在其他示例中,可穿戴显示设备16可以包括穿戴在用户身体的其他部分上的显示设备,例如穿戴在用户的脖子、肩膀、手臂或手腕上。
在分割渲染系统2中,典型地,主机设备10和可穿戴显示设备16是无线设备。例如,可穿戴显示设备16可以包括无线连接到主机设备10的无线HMD(WHMD),并且主机设备10可以包括WCD,诸如移动智能电话或智能板。在该示例中,除了典型的WCD操作之外,主机设备10执行至少一些用于在可穿戴显示设备16上呈现的图像内容信息处理,以及来自可穿戴显示设备16处的用户界面交互的用户输入处理。虽然主机设备10和可穿戴显示设备16在图1中被示为两个独立的设备,在其他实施例中,主机设备10和可穿戴显示设备16可以被组合成一体式(all-in-one)HMD。
在图1的示例中,可穿戴显示设备16向主机设备10输出传感器和/或致动器数据。传感器和/或致动器数据可以包括来自眼睛跟踪器的数据,该眼睛跟踪器生成指示用户可能正在聚焦场景的哪个区域的眼睛姿态数据。传感器和/或致动器数据可以包括来自头部跟踪器的数据,该头部跟踪器生成包括用于确定用户视野的用户头部位置的方位和/或位置信息的头部姿态数据。响应于接收到传感器和/或致动器数据,主机设备10可以生成用于渲染帧的图像内容信息。例如,主机设备10可以使用通过传感器和/或致动器数据指示的头部姿态数据生成压缩的视频和音频缓冲。然而,如上所述,用户可能已经移动了可穿戴显示设备16,使得在可穿戴显示设备16发送眼睛姿态数据、主机设备10生成压缩的渲染视频和音频缓冲以及发送压缩的渲染视频和音频缓冲的时间期间,头部姿态已经改变。为了解决头部姿态的变化,可穿戴显示设备16可以执行时间和/或空间扭曲以校正用户头部的旋转,并校正用户视野朝向(或远离)场景中的对象的移动。
在一个实施例中,主机设备使用的扭曲技术可以是APR,利用深度信息并对用户姿势的6DOF变化做出反应的ATW风格(与典型的仅定向ATW相反)。在这种情况下,主机设备10可以为由眼睛跟踪器确定的感兴趣区域内的像素生成单个深度平面数据,以允许可穿戴显示设备16校正用户的视野朝向(或远离)场景中的对象的移动。也就是说,在生成压缩的渲染视频和音频缓冲的同时,主机设备10可以使用每像素深度值为用户可能在渲染帧内关注的感兴趣区域生成单个深度近似。以这种方式,从主机设备10向可穿戴显示设备16传输的数据比在整个帧中传输场景的每像素深度值(例如,Z缓冲)少。可穿戴显示设备16可以使用感兴趣区域的单一深度元数据来执行时间和空间扭曲以校正头部位置和场景运动的平移。
在一个实施例中,当生成感兴趣区域的单一深度近似时,主机设备10可以生成感兴趣区域中的像素的加权深度值。例如,主机设备10可以向更靠近感兴趣区域中心的像素分配比更远离中心的像素更大的加权因子。以该方式,更靠近感兴趣区域中心并因此更靠近用户凝视中心的像素深度被强调在远离凝视中心的那些像素深度之上。在一个实施例中,当生成单一深度近似时,主机设备10可以向感兴趣区域内的所有像素分配相等的权重。在一个实施例中,主机设备10可以为场景的单一深度近似生成感兴趣区域内的像素深度的调和平均值。在一个实施例中,感兴趣区域内的像素深度可以被相等地加权,以生成像素深度的调和平均值。在一个实施例中,感兴趣区域内的像素深度可以具有取决于眼睛凝视信息的空间加权因子,使得更靠近感兴趣区域中心的像素被分配更大的加权因子。
在生成感兴趣区域的单个深度值近似之后,主机设备10可以将单个深度近似值输出到可穿戴显示设备16,其可以使用单个深度近似执行时间和空间扭曲,以从它们在最后完全渲染的帧的状态校正头部位置和场景运动中的平移。
以该方式,可穿戴显示设备16表示连接到主机设备的示例性可穿戴显示设备。可穿戴显示设备可以包括一个或更多传感器,配置为生成指示用户可能聚焦在场景的哪个区域的眼睛姿态数据,指示用户视野的头部姿态数据,一个或更多显示器,以及以电路实现的一个或更多处理器。一个或更多处理器配置为向主机设备10输出眼睛姿势数据和头部姿势数据的表示。一个或更多处理器配置为接收由眼睛姿态数据识别的感兴趣区域的单个深度近似,并从主机设备10接收表示渲染帧中场景的图像内容的眼睛缓冲。渲染帧是使用头部姿态数据生成的。所述一个或多个处理器还配置为使用所述单一深度近似来修改所述渲染帧的一个或更多像素值,以生成扭曲的渲染帧,并输出用于在所述一个或更多显示器上显示的所述扭曲的渲染帧。
另外,主机设备10表示连接到可穿戴显示设备16的主机设备的示例。主机设备10可以包括以电路实现的一个或更多处理器,其配置为基于从可穿戴显示设备16接收的头部姿态数据生成渲染帧的图像内容信息。渲染帧可以包括表示渲染帧中场景的图像内容的眼睛缓冲,以及表示渲染帧中场景的深度像素的Z缓冲。主机设备10可以为由从可穿戴显示设备16接收的眼睛姿态数据识别的感兴趣区域生成单个深度近似。一个或更多处理器进一步配置为向可穿戴显示设备16发送用于渲染帧的眼睛缓冲和用于时间和空间扭曲的单一深度近似。在一些实施例中,主机设备可以基于场景的内容来确定感兴趣区域。例如,场景中的移动对象可以表示感兴趣区域。单一深度近似可以从由场景内容确定的感兴趣区域中确定。
图2是更详细地图示了图1的主机设备10和可穿戴显示设备16的框图。出于本公开的目的,将主要将主机设备10和可穿戴显示设备16描述为无线设备。例如,主机设备10可以包括智能电话或智能平板或其他手持WCD,并且可穿戴显示设备16可以包括WHMD设备。然而,在其他示例中,主机设备10和可穿戴显示设备16可以包括无线设备或者具有无线通信能力的有线设备。
在图2图示的示例中,主机设备10包括应用处理器30、无线控制器36、连接处理器38和多媒体处理器42。在其他示例中,主机设备10可以包括用于控制和执行WCD操作的附加功能单元或模块。
应用处理器30可以包括控制主机设备10的操作的通用或专用处理器。用户可以向主机设备10提供输入,使得应用处理器30执行一个或更多软件应用。在应用处理器30上执行的软件应用可以包括例如操作系统、文字处理器应用、电子邮件应用、电子表格应用、媒体播放器应用、媒体编辑应用、视频游戏应用、图形用户界面应用、电话会议应用或其他程序。用户可以经由一个或更多输入设备(未示出)向主机设备10提供诸如键盘、鼠标、麦克风、触摸板或耦合到主机设备10的另一输入设备的输入。
在应用处理器30上执行的软件应用可以包括指示多媒体处理器42渲染图形数据的一个或更多图形渲染指令。在一些示例中,软件指令可以符合图形应用编程接口(API)(诸如开放图形库
Figure BDA0002743282140000141
API、开放图形库嵌入式系统(OpenGL ES)API、Direct3DAPI、X3D API、RenderMan API、WebGL API或任何其他公共或专有标准图形API)。为了处理图形渲染指令,应用处理器30可以向多媒体处理器42发出一个或更多图形渲染命令,以使多媒体处理器42执行图形数据的一些或全部渲染。在一些示例中,将要渲染的图形数据可以包括图形基元的列表,例如点、线、三角形、四边形、三角形条等。
如图2所图示,可穿戴显示设备16包括头部姿态感测单元20、眼睛姿态感测单元60、无线控制器46、连接处理器48、控制器50、多媒体处理器52和显示屏54。控制器50包括用于可穿戴显示设备16的主控制器,并且控制可穿戴显示设备16的整体操作。
控制器50可以包括控制可穿戴显示设备16的操作的通用或专用处理器。用户可以向可穿戴显示设备16提供输入,以使控制器50执行一个或更多软件应用。在控制器50上执行的软件应用可以包括例如操作系统、文字处理器应用、电子邮件应用、电子表格应用、媒体播放器应用、媒体编辑应用、视频游戏应用、图形用户界面应用、电话会议应用或其他程序。用户可以经由一个或更多输入设备(未示出)向可穿戴显示设备16提供输入,所述输入设备诸如键盘、鼠标、麦克风、触摸板或耦合到可穿戴显示设备16的另一输入设备。
在控制器50上执行的软件应用可以包括一个或更多图形渲染指令,该指令指示多媒体处理器52渲染图形数据。在一些示例中,软件指令可以符合图形应用编程接口(API),诸如开放图形库
Figure BDA0002743282140000151
API、开放图形库嵌入式系统(OpenGL ES)API、Direct3D API、X3D API、RenderMan API、WebGL API或任何其他公共或专有标准图形API。为了处理图形渲染指令,应用控制器50可以向多媒体处理器52发出一个或多个图形渲染命令,以使多媒体处理器52执行图形数据的一些或全部渲染。在一些示例中,要渲染的图形数据可以包括图形基元的列表,例如点、线、三角形、四边形、三角形条等。
显示屏54可以包括监视器、电视机、投影设备、液晶显示器(LCD)、等离子显示面板、发光二极管(LED)阵列、阴极射线管(CRT)显示器、电子纸、表面传导电子发射显示器(SED)、激光电视显示器、纳米晶体显示器或其他类型的显示单元。显示屏54可以集成在可穿戴显示设备16内。例如,显示屏54可以是HMD的屏幕。可选地,显示屏54可以是通过有线或无线通信链路耦合到可穿戴显示设备16的独立设备。
头部姿态感测单元20可以包括用于生成指示用户视野的数据的传感器和/或致动器。例如,头部姿态感测单元20可以生成指示可穿戴显示设备16的旋转角度和可穿戴显示设备16的位置的头部姿态数据(例如,通过加速度计、陀螺仪、眼睛跟踪电路等)。眼睛姿态感测单元60可以包括传感器和/或致动器,用于跟踪用户的注视或用户正在聚焦的区域。
如图所示,眼睛姿态数据从可穿戴显示设备16到主机设备10的传输图示为路径60。具体地,控制器50可以从眼睛姿态感测单元20接收头部姿态数据。多媒体处理器52可以从控制器50接收头部姿态数据。无线控制器46打包头部姿态数据,并且连接处理器48通过无线网络40将打包的用户输入传输到主机设备10。在主机设备10处,连接处理器38接收所发送的头部姿态数据,并且无线控制器36解包所接收的用户输入以供多媒体处理器42处理。以该方式,主机设备10可以为用户视野的特定头部姿态生成图像数据。
通常,主机设备10生成用于在显示屏54上呈现的图像内容信息。更具体地,多媒体处理器42可以生成由头部姿态感测单元20生成的头部姿态数据指示的用户视野的图像内容信息。例如,多媒体处理器42可以生成图像内容信息,该图像内容信息指示在由头部姿态感测单元20生成的头部姿态数据指示的用户视野中排列的一个或更多基元。在一些示例中,多媒体处理器42可以生成指示表示用户视野的二维帧的图像内容信息。
多媒体处理器42可以访问用于生成图像内容信息的每像素深度值(例如,眼睛缓冲)。例如,多媒体处理器42可以访问每像素深度值,以确定场景的基元在用户的视野中是否可见。这样,多媒体处理器42可以使用每像素深度值在Z缓冲中生成深度数据。例如,多媒体处理器42可以为图像内容信息生成一个或更多深度值。
在图2的示例中,可穿戴显示设备16可以经由路径62从主机设备10接收图像内容信息和深度数据。为了将图像内容信息和深度数据从主机设备10传送到可穿戴显示设备16,路径62可以从应用处理器30开始。
应用处理器30提供了一种环境,其中各种应用可以在主机设备10上运行。应用处理器30可以从内部或外部存储位置和/或与主机设备10相关联的内部或外部传感器或摄像机接收供这些应用使用的数据。运行在应用处理器30上的应用进而生成呈现给主机设备10和/或可穿戴显示设备16的用户的图像内容信息。在其他示例中,路径62可以开始于多媒体处理器42或一些其他功能设备,其或者生成图像内容信息或者直接从存储位置和/或传感器或照相机接收图像内容信息。
多媒体处理器42可以处理接收到的图像内容信息用于呈现在可穿戴显示设备16的显示屏54上。无线控制器36打包处理后的数据用于传输。打包处理后的数据可以包括将数据分组为分组、帧或信元(cell),其可以取决于无线网络40上使用的无线通信标准。接着,连接处理器38使用无线网络40将处理后的数据传输到可穿戴显示设备16。连接处理器38管理主机设备10的连接,包括通过无线网络40与可穿戴显示设备16的通信会话,以及通过连接的数据传输和接收。
当连接处理器48从主机设备10接收到发送的数据时,图像内容信息和深度数据的传输在可穿戴显示设备16处沿着路径62继续。类似于主机设备10的连接处理器38,可穿戴显示设备16的连接处理器48管理可穿戴显示设备16的连接,包括通过无线网络40与主机设备10的通信会话,以及通过连接的数据传输和接收。无线控制器46将接收到的数据解包,以供多媒体处理器52处理。
在分割渲染系统中,存在用户从发送图像内容信息的请求时的位置改变他或她的眼睛或头部位置的可能性。为了考虑该位置的变化,多媒体处理器52可以检索图像内容信息,并在用户移动他或她的眼睛和/或头部的方向上扭曲帧内容(例如,移动或旋转图像内容),这被称为扭曲轮。否则,用户可能会经历对观看体验产生负面影响的抖动。例如,多媒体处理器52可以借助于从用于在显示屏54上呈现的眼睛姿态数据中识别的感兴趣区域的单一深度近似来扭曲帧内容。
应当理解,可以由可穿戴显示设备16的多媒体处理器52使用主机设备10的多媒体处理器42生成的图像内容来生成渲染帧,可替代地,可以由多媒体处理器42生成渲染帧。在任何情况下,多媒体处理器52可以在生成和/或接收渲染帧时执行一个或更多扭曲过程。
图3是图示了根据本公开中描述的一种或多种技术、使用从感兴趣区域识别的单个深度元数据扭曲渲染帧以校正相机平移和旋转的示例过程的概念性框图300。该框图包括显示侧16和游戏引擎或渲染侧10。显示侧16可以在用户穿戴的HMD上。游戏引擎/渲染侧可以远程托管在主机上。在一个实施例中,游戏引擎/渲染侧可以在一体化HMD上。
显示侧16的眼睛跟踪器301可以生成用户眼睛姿态数据302,其可以用于指示用户可能正在关注或感兴趣的渲染帧的区域。眼睛跟踪器301可以是传感器、致动器、扫描仪或可以检测用户焦点的其他设备。游戏引擎/渲染侧10的模块303可以接收用户眼睛姿态数据302,并且可以使用眼睛姿态数据302来确定图像内容中的感兴趣区域(ROI)。在一些实施例中,模块303可以基于场景的内容来确定ROI。例如,场景中的移动对象可以表示ROI。ROI可用于帮助时间和空间扭曲,诸如确定感兴趣区域的单一深度近似,使得位置抖动或其他扭曲伪像最小化。在一个实施例中,ROI可用于进行全景渲染(foveated rendering)。在全景渲染中,图像帧(例如,眼睛缓冲)中的ROI可以以比其他区域更高的细节或分辨率来渲染以便节省用于传输眼睛缓冲的带宽或减少渲染负载。在一个实施例中,ROI可以与使用它用于全景渲染组合用于辅助时间和空间扭曲,从而减少视网膜中央凹进区域(foveal region)中的位置抖动或其他扭曲伪影。除了从用户眼睛姿态数据302生成ROI之外,当生成单个深度近似时,模块303可以生成应用于感兴趣区域内的像素的像素深度的权重。例如,靠近ROI中心的像素可以具有更高的权重,使得单一深度近似对靠近ROI中心的像素比靠近ROI外围的像素产生更小的误差。权重的假设是用户对ROI中心附近的图像更感兴趣,因此希望最小化ROI中心附近的扭曲伪像。在一个实施例中,权重可以是从ROI中心开始单调递减的函数。在一个实施例中,对于ROI内的所有像素,权重可以是均匀的,对于ROI外的像素,权重可以是零,从而有效遮蔽(mask)ROI外的像素。模块303生成掩模(mask)、权重和/或ROI信息312。
显示侧16上的头部跟踪器305可以生成渲染姿态304以指示用户视野。头部跟踪器305可以是传感器、致动器或可以在6DOF上检测用户头部的方向和位置的其他设备。游戏引擎/渲染侧10上的模块307可以接收渲染姿态304,并且可以渲染图像内容的眼睛缓冲帧和Z缓冲帧以生成渲染帧。眼睛缓冲帧表示基于由渲染姿态304表示的用户视野向用户显示的图像内容,并且可以包括左眼和右眼缓冲帧。Z缓冲帧可以包含图像内容的像素深度信息。模块307可以将包含眼睛缓冲帧和渲染姿态308的信息308传输到显示器侧16,并且可以将z缓冲310传输到单个深度计算模块,用于计算单个深度近似以帮助时间和空间扭曲。
模块309使用z缓冲310和掩模、权重和/或ROI信息312来计算ROI的单一深度近似。单一深度近似可以用于帮助APR中的时间和空间扭曲。在APR中,图像的整个可见表面可以近似为3D空间中的单个平面,即,使用平行于渲染相机的图像平面的平面。通过计算最佳(与场景相关的)深度z*作为场景的各种深度的近似值,不需要将整个z缓冲发送到显示侧16进行扭曲。在一个实施例中,单一深度近似z*计算为z缓冲中像素深度的调和平均值。在APR中,单一深度近似z*通过单应性(homography)映射到显示相机的图像平面。在单应性的一个实施例中,单一深度近似z*用于执行场景的深度感知扭曲以考虑显示相机从最后渲染帧的平移,随后是用于显示相机旋转的深度无关扭曲。使用场景的像素深度的调和平均值来近似单一深度近似z*意味着与更远的对象相比,单一深度近似z*更靠近用户附近的对象。这样,减小在附近物体上的位置抖动,并且当用户聚焦在这些物体上时,位置抖动可以不可察觉。然而,如果用户聚焦在更远的对象上,例如当在渲染帧的外围存在附近的对象时聚焦在远处的对象上时,则由于对远处的对象的单个深度近似z*的较大近似误差,位置抖动可以是可察觉的。通过使用眼睛跟踪来识别用户的ROI,可以减少感兴趣区域中的对象的单一深度近似z*的误差,从而减少用户注视附近的渲染帧的位置抖动。
在一个实施例中,模块309可以通过应用权重312,使用ROI内的像素深度的调和平均值来计算场景的单一深度近似z*。例如,单一深度近似z*可以计算为:
z*=∑(allpixels in ROI)(wi(e))/∑(all pixels)(wi(e)/zi)
[等式1]
其中Wi(e)是应用于具有像素深度Zi的第i个像素的空间加权因子。Wi(e)是眼睛凝视信息e的函数,其中最高权重分配给凝视中心的像素。例如,靠近ROI中心的像素可以具有更高的加权因子,使得单一深度近似z*对于靠近ROI中心的像素比靠近ROI外围的像素产生更小的误差。
在一个实施例中,模块309可以通过对感兴趣区域内的所有像素应用统一的权重,使用感兴趣区域内的像素深度的调和平均值来计算场景的单一深度近似z*。例如,单一深度近似z*可以计算为:
z*=∑(all pixels in ROI)1/∑(all pixels)(1/zi) [等式2]
其中均匀权重1被应用于ROI中的所有像素。遮蔽ROI之外的像素。因为ROI中的像素深度的调和平均值固有地为附近的像素产生比更远的像素更好的近似,所以即使对ROI应用了均匀的权重,与由于遮蔽了ROI外部的像素而没有感兴趣区域时相比,减少了近似误差。模块309可以向显示侧16发送单个深度近似z*314。
显示侧16上的模块311可以使用单深度近似z*314、从游戏引擎/渲染侧10接收的眼睛缓冲帧和渲染姿态信息308、以及从头部跟踪器305接收的显示姿态306来执行APR中的扭曲。在一个实施例中,单一深度近似z*用于执行眼睛缓冲的深度感知扭曲,以考虑头部跟踪器305从用于生成眼睛缓冲的渲染姿态304到显示姿态306的平移,随后是用于头部跟踪器305的旋转的深度无关扭曲。
在一个实施例中,可以从眼睛缓冲场景的内容分析确定ROI而不是从用户眼睛姿态数据302确定ROI。例如,模块303可以基于渲染姿态304接收用户的视野,并且可以确定用户视野内的对象。模块303可以为视野中的每个对象分配预定分数或显著性值作为对象的重要性或显著性的函数。在一个方面,可以根据对象的运动矢量来确定显著性值,使得具有更大运动的对象可以被分配更高的显著性值。在对象的显著性值被分配之后,模块303可以确定眼睛缓冲场景的哪个区域具有最高的显著性。例如,模块303可以确定眼睛缓冲内的256×256像素的哪个正方形区域(或者可以基于更大的正方形区域,例如1024×1024像素)具有最高的聚集显著性值。模块303可以使用z缓冲310将这样的区域识别为用于计算单一深度近似的感兴趣区域,以帮助APR中的时间和空间扭曲。
图4是图示了根据本公开中描述的一种或多种技术,使用从感兴趣区域识别的运动矢量网格尺寸和运动矢量滤波器核尺寸来扭曲渲染帧以考虑对象运动的示例过程的概念性框图。该框图包括显示侧16和游戏引擎或渲染侧10。显示侧16可以在用户穿戴的HMD上。游戏引擎/渲染端可以远程托管在主机上。在一个实施例中,游戏引擎/渲染侧可以在一体化HMD上。
显示侧16的眼睛跟踪器401可以生成用户眼睛姿态数据402。眼睛跟踪器401可以类似于图3的眼睛跟踪器301来操作。同一引擎/渲染侧10的模块403可以接收用户眼睛姿态数据402,并且可以使用眼睛姿态数据402来确定图像内容中的感兴趣区域(ROI)。
可以基于眼睛跟踪或内容信息来确定感兴趣区域。在一个方面,在ASW中,其在执行扭曲的同时外推对象的运动,游戏引擎/渲染侧10可以基于对感兴趣区域内的内容的分析来确定用于对顶点网格上的运动矢量进行采样的运动矢量网格尺寸。显示侧16可以基于对感兴趣区域内的内容的分析来确定用于过滤运动矢量的运动矢量过滤器内核尺寸。可以基于眼睛跟踪来确定包含用于分析的场景的内容信息的感兴趣区域。在ASW中,在运动矢量网格尺寸、运动矢量过滤器内核尺寸、位置抖动和填充暴露的纹理拉伸之间进行权衡。
在ASW中,有关于帧中不同区域的运动的信息,但是没有使用深度信息或前景/背景。当运动导致前景对象滑过其背景时,ASW可能无法解决导致的遮挡。此外,在扭曲的过程中,前景中的一些三角形对象可能如预期落在背景顶部,但是背景中的一些其他三角形对象可能出现在前景中。结果是叫做z-格斗(z-fighting)的在其边缘附近破坏对象的效果。为了避免z-格斗,可以使用2D滤波器平滑运动矢量,使得减小相邻网格顶点之间运动矢量的大差异。然而,过滤可以导致移动对象的运动扩散到应该是静止的相邻区域,从而导致拉伸和变形。平滑运动矢量的2D滤波器的选择可能取决于相邻网格顶点的运动矢量之间的最大差值。位置抖动失真和z-格斗之间存在权衡。滤波器内核越大,位置抖动或失真边缘越高,但z-格斗伪影越少。
影响ASW中的扭曲帧质量的另一个参数选择是运动矢量采样的粒度,即网格点(例如顶点)之间的间距或运动矢量网格尺寸。对于相同的滤波器内核尺寸,较大的运动矢量网格尺寸可以减少z-格斗但可以引入失真。例如,运动矢量网格越细(即,16×16像素的一个运动矢量与4×4像素相反),网格中各个点的运动矢量表示越不精确,并且位置抖动越高。另一方面,粒度运动矢量网格可以意味着更少的填充暴露的纹理拉伸并且发送需要更低的比特率。眼睛跟踪信息提供了可以分析的ROI以帮助权衡来确定运动矢量网格尺寸和滤波器内核尺寸的选择。例如,如果眼睛跟踪指示用户正聚焦在很大程度上被单个对象覆盖的区域上,则暴露可以不是问题,并且可以选择更精细的运动矢量网格尺寸表示对象的运动。在一个方面,运动矢量滤波器内核尺寸可以由ROI内的运动矢量之间的最大差异来确定,以便不强调可能在ROI之外的伪快速移动对象。在一个实施例中,可以分析ROI以确定哪种扭曲技术在该区域中工作得最好,即产生最少的显示伪像,并且分析的结果可以用于在不同的时间和空间扭曲技术之间切换,例如在APR和ASW之间切换。
游戏引擎/渲染端10的模块403可以从用户眼睛姿态数据402确定ROI,并且可以分析ROI内的内容以确定用于采样运动矢量的运动矢量网格尺寸410。在一个方面,如果ROI中的移动物体可以导致暴露,则大的运动矢量网格尺寸410将导致拐角的扭曲或拉伸,因此选择更精细的网格尺寸可以是期望的。在一个方面,如果感兴趣区域中的运动对象可以遮挡背景,从而增加了z-格斗的可能性,则可能希望选择更大的运动矢量网格尺寸。因此,使用运动矢量选择元数据来帮助扭曲的过程可能会受到ROI和ROI内的内容的影响。
显示侧16上的头部跟踪器405可以生成渲染姿态404以指示用户视野。头部跟踪器405可以类似于图3中的头部跟踪器305进行操作。游戏引擎/渲染端10上的模块407可以接收渲染姿态404并且可以渲染图像内容的眼睛缓冲帧408以生成渲染帧。眼睛缓冲帧408表示基于由渲染姿态404表示的用户视野向用户显示的图像内容,并且可以包括左眼和右眼缓冲帧。模块409可以为渲染帧中的像素生成运动矢量。像素的运动矢量指示与对应于前一渲染帧中相同对象中相同点的像素位置的位置差异。
模块411可以对由覆盖在眼睛缓冲帧408上的运动矢量网格尺寸410确定的顶点网格上的运动矢量进行采样,以生成采样的运动矢量。运动矢量网格尺寸410可以由游戏引擎/渲染端10的模块403从ROI确定。模块413可以对眼睛缓冲408进行编码以生成编码渲染帧。编码渲染帧和采样运动矢量412可以发送到显示侧16。
在显示侧16,模块415可以接收编码渲染帧和采样运动矢量412,并且可以解码编码的渲染帧以生成解的帧416。模块415可以解析采样运动矢量,以生成解析的运动矢量414。
类似于游戏引擎/渲染侧10上的模块403,显示侧16上的模块403可以从用户眼睛姿态数据402确定ROI,并且可以分析ROI内的内容以确定用于过滤解析的运动矢量414的运动矢量过滤器内核尺寸418。例如,如果ROI中的大多数点在移动,则ROI中相邻顶点的运动矢量之间的差异可以更小。这样,可以不需要平滑运动矢量,因此可以需要更小的运动矢量滤波器核尺寸418。
模块417可以使用运动矢量过滤器内核尺寸418过滤解析的运动矢量414以减少相邻顶点之间的运动的大差异,以平滑相反的运动,并减少z-格斗。模块417可以过滤运动矢量以生成扭曲矢量420。
模块419可以接收扭曲矢量420并且可以基于扭曲矢量420将网格上顶点的位置外推至新位置,并且可以经由取决于渲染姿态404和显示姿态406之间的方向变化的单应性将这些顶点重新投影到从头部跟踪器405接收的显示姿态406。
模块421可以使用解码帧416的扭曲矢量420执行解码帧416的ASW扭曲。在一个实施例中,片段着色器和光栅化操作可以执行来创建显示帧。
图5是是图示了根据本公开中描述的一种或更多技术,使用从感兴趣区域识别的单个深度元数据扭曲渲染帧以校正相机平移和旋转的示例过程的流程图。显示侧16可以针对图3的APR扭曲操作执行图5的过程。
在502中,显示侧16可以输出来自眼睛跟踪器的指示用户聚焦区域的眼睛姿态数据表示。眼睛姿态数据可以用于指示用户可能关注或感兴趣的渲染帧的区域。在504中,显示侧16可以输出来自头部跟踪器的渲染姿势数据。渲染姿态可以包括关于用户头部在6ODOF的方向和位置的信息。在506中,显示设备16可以接收渲染帧的眼睛缓冲并渲染姿态数据,诸如来自游戏引擎/渲染方10的姿态数据。在508中,显示设备16可以接收感兴趣区域的单一深度元数据。用于ROI的单一深度元数据可以是从ROI内像素深度的调和平均值计算的ROI的单一深度近似z*。在510中,显示侧16可以确定或接收来自头部跟踪器的显示姿势数据。在512中,显示侧16可以使用单一深度元数据和显示姿态数据来修改渲染帧的眼睛缓冲的一个或更多像素值以生成扭曲的渲染帧。在514中,显示设备16可以输出用于在一个或更多显示器上显示的扭曲的渲染帧。
图6是图示了根据本公开中描述的一种或更多技术,基于眼睛跟踪信息从感兴趣区域生成单深度元数据以扭曲渲染帧来校正相机平移和旋转的示例过程的流程图。游戏引擎/渲染侧10可以执行图6的过程为图3的APR扭曲操作生成ROI的单一深度近似。
在602中,游戏引擎/渲染侧10可以从显示侧16的眼睛跟踪器接收指示用户聚焦区域的眼睛姿态数据表示。在604中,游戏引擎/渲染侧10可以确定ROI并且可以为ROI中的像素生成关于加权因子和掩模的信息。在606中,游戏引擎/渲染侧10可以从显示器侧16的头部跟踪器接收渲染姿势数据。在608中,游戏引擎/渲染侧10可以使用渲染姿势数据生成渲染帧的眼睛缓冲和z缓冲。在610中,游戏引擎/渲染侧10可以为ROI生成单一深度元数据。例如,ROI的单一深度元数据可以是从ROI内的像素深度的调和平均值计算的感兴趣区域的单一深度近似z*。在612中,游戏引擎/渲染侧10可以将渲染帧的眼睛缓冲和渲染姿态数据发送到显示端16。在614中,游戏引擎/渲染侧10可以将感兴趣区域的单个深度元数据发送到显示侧16,以便显示侧16使用单个深度元数据来执行眼睛缓冲的APR扭曲操作。
图7是图示了根据本公开中描述的一种或更多技术,基于内容分析从感兴趣区域生成单深度元数据以扭曲渲染帧来校正相机平移和旋转的示例过程的流程图。游戏引擎/渲染侧10可以执行图7的过程为图3的APR扭曲操作生成感兴趣区域的单一深度近似。
在702中,游戏引擎/渲染侧10可以从显示侧16的头部跟踪器接收渲染姿势数据。在704中,游戏引擎/渲染端10可以从渲染姿态的眼睛缓冲场景的内容分析中确定ROI,并且可以为ROI中的像素生成关于加权因子和掩膜的信息。在一个方面,游戏引擎/渲染侧10可以基于渲染姿态接收用户视野,并且可以分析用户视野内的对象以确定ROI。游戏引擎/渲染侧10可以为视野中的每个对象分配预定分数或显著性值作为对象的重要性或显著性的函数。在一个方面,可以根据对象的运动矢量确定显著性值使得具有更大运动的对象可以分配更高的显著性值。在分配对象的显著性值之后,游戏引擎/渲染侧10可以确定眼睛缓冲场景的哪个区域具有最高的显著性。例如,游戏引擎/渲染侧10可以确定眼睛缓冲内256×256像素的哪个正方形区域(或者可以基于更大的正方形区域,例如1024×1024像素)具有最高的聚集显著性值。游戏引擎/渲染侧10可以使用z缓冲310识别ROI这样的区域用于计算单个深度近似,以帮助APR中的时间和空间扭曲。
在708中,游戏引擎/渲染侧10可以使用渲染姿势数据生成渲染帧的眼睛缓冲和z缓冲。在710中,游戏引擎/渲染端10可以为ROI生成单一深度元数据。例如,ROI的单一深度元数据可以是从ROI内像素深度的调和平均值计算的感兴趣区域的单一深度近似z*。在712中,游戏引擎/渲染侧10可以将渲染帧的眼睛缓冲和渲染姿态数据发送到显示端16。在714中,游戏引擎/渲染侧10可以将ROI的单个深度元数据发送到显示侧16以便显示侧16使用单个深度元数据执行眼睛缓冲的APR扭曲操作。
图8是示出根据本公开中描述的一种或更多技术,生成从感兴趣区域识别的运动矢量滤波器核尺寸用于扭曲渲染帧以考虑对象的运动的的示例过程的流程图。显示侧16可以针对图4的ASW操作执行图8的过程。
在802中,显示侧16可以输出来自眼睛跟踪器的指示用户聚焦区域的眼睛姿态数据的表示。眼睛姿态数据可用于指示用户可能关注或感兴趣的渲染帧的区域。在804中,显示侧16可以输出来自头部跟踪器的渲染姿势数据。渲染姿态可以包括关于用户头部在6DOF的方向和位置的信息。在806,显示设备16可以接收编码的渲染帧和采样的运动矢量,例如来自游戏引擎/渲染端10。在808中,显示设备16可以解码编码的渲染帧,并且可以解析采样的运动矢量以生成解码帧和解析的运动矢量。在810,显示设备16可以确定或接收来自头部跟踪器的显示姿势数据。在812中,显示设备16可以从眼睛姿态数据确定ROI并且可以基于对ROI内的内容的分析来确定运动矢量滤波器内核尺寸。在一个实施例中,显示设备16可以从渲染姿态的眼睛缓冲场景的内容分析来确定ROI。在814中,显示设备16可以使用运动矢量滤波器核尺寸过滤解析的运动矢量以生成扭曲矢量。在816中,显示设备16可以接收扭曲矢量并且可以基于扭曲矢量将网格上顶点的位置外推至新位置,并且可以经由依赖于渲染姿态和显示姿态之间的方位变化的单应性来重新投影这些顶点以显示姿态数据。在818中,显示设备16可以使用经滤波的运动矢量来修改渲染帧的像素值,以生成扭曲的渲染帧。在820处,显示设备16可以输出用于在一个或多个显示器上显示的扭曲的渲染帧。
图9是示出了根据本公开中描述的一种或更多技术,基于对感兴趣区域内的内容的分析来确定运动矢量网格尺寸用于采样运动矢量以扭曲渲染帧来考虑对象的运动的示例过程的流程图。游戏引擎/渲染侧10可以执行图9的过程,以基于从感兴趣区域内的内容分析确定的运动矢量网格尺寸生成采样的运动矢量用于图4的ASW扭曲操作。
在902中,游戏引擎/渲染侧10可以从显示侧16的眼睛跟踪器接收指示用户聚焦区域的眼睛姿态数据的表示。在904,游戏引擎/渲染侧10可以从眼睛姿态数据确定ROI。在一个实施例中,游戏引擎/渲染侧10可以根据渲染姿态的眼睛缓冲场景的内容分析来确定ROI。在906中,游戏引擎/渲染侧10可以基于对感兴趣区域内的内容的分析来确定运动矢量网格尺寸。在908,游戏引擎/渲染端10可以从显示端16的头部跟踪器接收渲染姿态数据。在910中,游戏引擎/渲染侧10可以使用渲染姿势数据生成渲染帧。在912中,游戏引擎/渲染侧10可以从渲染帧生成运动矢量。在914中,游戏引擎/渲染侧10可以基于运动矢量网格尺寸对运动矢量进行采样,以生成采样运动矢量914。在916,游戏引擎/渲染侧10,游戏引擎/渲染侧10可以编码并发送编码的渲染帧到显示端16。在918中,游戏引擎/渲染侧10可以向显示端16发送采样运动矢量,以便显示端16使用采样运动矢量执行渲染帧的ASW操作。
在一个实施例中,从眼睛跟踪确定的感兴趣区域可以用于矢量流。矢量流是像素流的一种替代方法,其解决了扭曲到新姿势时的暴露问题。对于每个渲染的眼睛缓冲,矢量流计算场景中三角形的“潜在可见集”(PVS)。这包括什么对象的三角形是“从渲染头部姿态完全可见的”(也在像素流中捕获)以及当用户移动到不同的姿态时什么变得可见。PVS包括纹理用于绘制这些暴露。然而,PVS的计算可以是昂贵的并且可以需要将附加数据从渲染设备传输到显示设备。在一个实施例中,可以通过考虑经由眼睛跟踪获得的ROI简化PVS的生成。PVS可以只需要查看ROI中可见场景的后面,而不需要查看渲染帧中的每个地方。因此,生成的PVS可以更小,并且可以招致更少的开销。
在一个实施例中,场景中的特征或对象可以被明确地标记为显著的,并且眼睛缓冲中的ROI可以是包含该显著内容的片段。在一个实施例中,可以为包含运动对象的区域标记ROI,因为场景中的运动可以吸引我们的焦点。这样,无论是作为APR中的单个深度近似、ASW中的运动矢量网格尺寸或滤波器核尺寸,还是用于矢量流中的PVS,都可以使用来自眼睛跟踪的ROI或使用从场景中对象的分析中确定的ROI确定帮助扭曲操作的元数据,以提高扭曲质量。
在一个或更多示例中,所描述的功能可以在硬件、软件、固件或其任意组合中实施。如果在软件中实施,这些功能可以作为一个或多个指令或代码存储或发送到计算机可读介质上。计算机可读介质可以包括计算机数据存储介质或包括便于将计算机程序从一个地方传送到另一个地方的任何介质的通信介质。在一些示例中,计算机可读介质可以包括非暂时性计算机可读介质。数据存储介质可以是可由一个或更多计算机或一个或更多处理器访问以检索指令、代码和/或数据结构来实现本公开中描述的技术的任何可用介质。
作为示例而非限定,诸如此类的计算机可读介质可以包括非暂时性介质,诸如RAM,ROM,EEPROM,CD-ROM或其他光盘存储器、磁盘存储器或其他磁存储设备、闪存或任何其他可以用于以指令或数据结构的形式携带或存储期望的程序代码并且可以由计算机访问的介质。此外,任何连接都被恰当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线路(DSL)或无线技术(如红外线、无线电和微波)从网站、服务器或其他远程源传输软件,则介质的定义包括同轴电缆、光纤电缆、双绞线、DSL或无线技术(诸如红外线、无线电和微波)。本文所用的磁盘和光盘包括光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地再现数据,而光盘用激光光学地再现数据。上述的组合也应该包括在计算机可读介质的范围内。
代码可以由一个或多个处理器执行,例如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效的集成或分立逻辑电路。因此,这里使用的术语“处理器”可以指任何前述结构或者适合于实现这里描述的技术的任何其他结构。此外,在一些方面,这里描述的功能可以在被配置用于编码和解码的专用硬件和/或软件模块中提供,或者结合在组合编解码器中。同样,这些技术可以完全在一个或多个电路或逻辑元件中实现。
本公开的技术可以在多种设备或装置中实现,包括无线手机、集成电路或一组集成电路(例如芯片组)。在本公开中描述了各种组件、模块或单元,以强调被配置为执行所公开的技术的设备的功能方面,但是不一定需要通过不同的硬件单元来实现。相反,如上所述,各种单元可以组合在编解码器硬件单元中,或者由包括如上所述的一个或更多处理器的互操作硬件单元的集合结合合适的软件和/或固件提供。
应当理解,所公开的过程/流程图中的块的特定顺序或层次是示例性方法的说明。基于设计偏好,可以理解,过程/流程图中的块的特定顺序或层次可以被重新排列。此外,一些块可以被组合或省略。所附方法权利要求以示例顺序呈现各种块的元素,并且不意味着限于所呈现的特定顺序或层次。
提供前面的描述是为了使本领域的任何技术人员能够实践这里描述的各个方面。对这些方面的各种修改对于本领域技术人员来说将是显而易见的,并且这里定义的一般原理可以应用于其他方面。因此,权利要求不旨在限于本文所示的方面,而是符合与语言权利要求一致的全部范围,其中除非特别说明,否则以单数形式提及的元件不旨在表示“一个且仅一个”,而是“一个或多个”。词语“示例性的”在这里用来表示“用作例子、实例或说明”。本文中描述为“示例性”的任何方面不一定被解释为优于或优于其他方面。除非特别说明,术语“一些”是指一个或多个。诸如“A、B或C中的至少一种”、“A、B或C中的一种或多种”、“A、B和C中的至少一种”、“A、B和C中的一种或多种”以及“A、B、C或其任意组合”的组合包括A、B和/或C的任意组合,并且可以包括A的倍数、B的倍数或C的倍数。具体地,诸如“A、B或C中的至少一种”、“A、B或C中的一种或多种”、“A、B和C中的至少一种”、“A、B和C中的一种或多种”和“A、B、C或它们的任何组合”可以是A单、B单、C单、A和B、A和C、B和C、或A和B和C,其中任何这样的组合可以包含A、B或C的一个或多个部件。本领域普通技术人员已知的或以后将会知道的贯穿本公开所描述的各个方面的元素的所有结构和功能等同物通过引用明确地结合于此,并且旨在被权利要求所包含。此外,这里公开的任何内容都不旨在专用于公众,无论这种公开是否在权利要求中明确陈述。词语“模块”、“机构”、“元件”、“设备”等不能代替词语“装置”。因此,除非使用短语“用于……的部件”明确地限定了元件,否则没有权利要求元件被解释为部件加功能。

Claims (21)

1.一种用于由主机设备生成元数据以帮助渲染帧的扭曲的方法,包括:
从客户端设备接收用户的头部跟踪信息;
基于所述头部跟踪信息生成渲染帧;
识别渲染帧的感兴趣区域(ROI);
从所述ROI生成用于扭曲操作的元数据;以及
向所述客户端设备发送渲染帧和用于所述渲染帧的扭曲操作的元数据;
其中所述ROI从用户的眼睛跟踪信息确定;并且
其中生成所述元数据包括计算所述ROI内的像素的多个像素深度的单一深度近似。
2.根据权利要求1所述的方法,其中计算所述单一深度近似包括计算所述ROI内的像素的多个像素深度的调和平均深度。
3.根据权利要求1所述的方法,其中计算所述单一深度近似包括通过将加权因子应用于所述多个像素深度来计算所述ROI内的像素的所述多个像素深度的加权平均值,其中选择所述加权因子以有利于来自更靠近所述ROI中心的像素子集的贡献。
4.根据权利要求1所述的方法,其中生成元数据包括:
分析ROI内渲染帧的内容信息;以及
基于所述分析生成运动矢量网格尺寸作为元数据,其中所述运动矢量网格尺寸用于在扭曲操作期间对渲染帧的运动矢量进行采样。
5.根据权利要求4所述的方法,进一步包括:
将渲染帧和用于所述渲染帧的扭曲操作的元数据发送到客户端设备。
6.一种由客户端设备扭曲渲染帧的方法,包括:
发送用户的眼睛跟踪信息;
发送用户的头部跟踪信息;
接收渲染帧和元数据,其中渲染帧基于头部跟踪信息以及元数据基于渲染帧的感兴趣区域(ROI),所述ROI从用户的眼睛跟踪信息确定;以及
确定用户的显示姿势信息;
基于元数据和显示姿势信息扭曲渲染帧;
其中所述元数据包括所述ROI内的像素的多个像素深度的单一深度近似。
7.根据权利要求6所述的方法,进一步包括:
分析ROI内渲染帧的内容信息;
基于分析ROI内的渲染帧的内容信息,生成运动矢量滤波器核尺寸;
接收渲染帧的多个运动矢量;
使用所述运动矢量滤波器核尺寸过滤所述渲染帧的多个运动矢量以生成扭曲矢量;以及
基于扭曲矢量扭曲渲染帧。
8.根据权利要求6所述的方法,其中,基于元数据和显示姿势信息扭曲渲染帧包括:
基于从头部跟踪信息和显示姿态信息确定的客户端设备的平移,扭曲渲染帧以考虑ROI内的像素的单一深度近似;和
基于从头部跟踪信息和显示姿态信息确定的客户端设备的旋转,独立于ROI内的像素的单一深度近似扭曲渲染帧。
9.根据权利要求6所述的方法,其中,基于所述元数据和所述显示姿势信息扭曲渲染帧包括:
基于元数据,仅针对渲染帧的ROI生成用于矢量流的渲染帧中的潜在可见三角形;和
基于渲染帧中的潜在可见三角形扭曲渲染帧。
10.一种装置,包括:
存储处理器可读代码的存储器;和
处理器,耦合到所述存储器,并被配置为执行所述处理器可读代码,使得所述装置:
从客户端设备接收用户的头部跟踪信息;
基于用户的头部跟踪信息生成渲染帧;
识别渲染帧的感兴趣区域(ROI);
从所述ROI生成用于扭曲操作的元数据;以及
向所述客户端设备发送渲染帧和用于渲染帧的扭曲操作的元数据;
其中所述ROI是从用户的眼睛跟踪信息确定的;并且
其中为了生成元数据,所述处理器在执行所述处理器可读代码时,进一步使得所述装置计算所述ROI内的像素的多个像素深度的单个深度近似。
11.根据权利要求10所述的装置,其中为了计算所述ROI内的像素的多个像素深度的单个深度近似,所述处理器在执行所述处理器可读代码时,还使得所述装置计算所述ROI内的像素的多个像素深度的调和平均深度。
12.根据权利要求10所述的装置,其中为了计算所述ROI内像素的多个像素深度的单个深度近似,所述处理器在执行所述处理器可读代码时,还使得所述装置将加权因子应用于所述多个像素深度,以计算所述ROI内像素的多个像素深度的加权平均值,其中,选择所述加权因子以有利于来自更靠近所述ROI中心的像素子集的贡献。
13.根据权利要求10所述的装置,其中为了生成元数据,所述处理器在执行处理器可读代码时进一步使所述装置:
分析ROI内渲染帧的内容信息;和
基于所分析的内容信息生成运动矢量网格尺寸作为元数据,其中运动矢量网格尺寸用于在扭曲操作期间对渲染帧的运动矢量进行采样。
14.根据权利要求13所述的装置,其中,所述处理器在执行所述处理器可读代码时进一步使所述装置:
将渲染帧和用于渲染帧的扭曲操作的元数据发送到客户端设备。
15.一种装置,包括:
存储处理器可读代码的存储器;以及
处理器,耦合到所述存储器,并被配置为执行所述处理器可读代码,以使所述装置:
发送用户的眼睛跟踪信息;
发送用户的头部跟踪信息;
接收渲染帧和元数据,其中渲染帧基于头部跟踪信息,以及元数据基于渲染帧的感兴趣区域(ROI),所述ROI从用户的眼睛跟踪信息确定;
确定用户的显示姿势信息;以及
基于元数据和显示姿势信息扭曲渲染帧;
其中所述元数据包括所述ROI内的像素的多个像素深度的单一深度近似。
16.根据权利要求15所述的装置,其中所述处理器在执行所述处理器可读代码时进一步使得所述装置:
分析ROI内渲染帧的内容信息;
基于所分析的内容信息生成运动矢量滤波器核尺寸;
接收渲染帧的多个运动矢量;
使用运动矢量滤波器核尺寸来过滤渲染帧的多个运动矢量,以生成扭曲矢量;和
基于扭曲矢量扭曲渲染帧。
17.根据权利要求15所述的装置,其中,为了基于元数据和显示姿态信息扭曲渲染帧,所述处理器在执行处理器可读代码时进一步使得所述装置:
基于根据头部跟踪信息和显示姿态信息确定的装置的平移,扭曲渲染帧以考虑ROI内的像素的单一深度近似;和
基于根据头部跟踪信息和显示姿态信息确定的装置的旋转,独立于ROI内的像素的单一深度近似扭曲渲染帧。
18.根据权利要求15所述的装置,其中,为了基于所述元数据和所述显示姿势信息扭曲渲染帧,所述处理器在执行所述处理器可读代码时还使得所述装置:
基于元数据,仅针对渲染帧的ROI生成用于矢量流的渲染帧中的潜在可见三角形;和
基于渲染帧中的潜在可见三角形扭曲渲染帧。
19.一种可穿戴显示设备,包括:
存储处理器可读代码的存储器;以及
处理器,耦合到所述存储器,并被配置为执行所述处理器可读代码,以使所述可穿戴显示设备:
获取用户的头部跟踪信息;
基于所述头部跟踪信息生成渲染帧;
获取用户的眼睛追踪信息;
根据所述用户的眼睛追踪信息识别所述渲染帧的感兴趣区域ROI;
从所述ROI生成用于扭曲操作的元数据;
确定所述用户的显示姿势信息;以及
基于所述元数据和所述显示姿势信息扭曲所述渲染帧;
其中为了生成所述元数据,所述处理器在执行所述处理器可读代码时使得所述可穿戴显示设备计算所述ROI内的像素的多个像素深度的单一深度近似。
20.根据权利要求19所述的可穿戴显示设备,其中为了计算所述ROI内的像素的多个像素深度的单一深度近似,所述处理器在执行所述处理器可读代码时还使得所述可穿戴显示设备计算所述ROI内的像素的多个像素深度的调和平均深度。
21.根据权利要求19所述的可穿戴显示设备,其中为了计算所述ROI内的像素的多个像素深度的单一深度近似,所述处理器在执行所述处理器可读代码时还使得所述可穿戴显示设备将加权因子应用于所述多个像素深度来计算所述ROI内的像素的所述多个像素深度的加权平均值,其中选择所述加权因子以有利于来自更靠近所述ROI中心的像素子集的贡献。
CN201980028496.4A 2018-04-30 2019-03-11 利用感兴趣区域的确定的异步时间和空间扭曲 Active CN112020858B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
IN201841016253 2018-04-30
IN201841016253 2018-04-30
US16/181,288 2018-11-05
US16/181,288 US10861215B2 (en) 2018-04-30 2018-11-05 Asynchronous time and space warp with determination of region of interest
PCT/US2019/021669 WO2019212643A1 (en) 2018-04-30 2019-03-11 Asynchronous time and space warp with determination of region of interest

Publications (2)

Publication Number Publication Date
CN112020858A CN112020858A (zh) 2020-12-01
CN112020858B true CN112020858B (zh) 2022-06-24

Family

ID=68290751

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980028496.4A Active CN112020858B (zh) 2018-04-30 2019-03-11 利用感兴趣区域的确定的异步时间和空间扭曲

Country Status (5)

Country Link
US (2) US10861215B2 (zh)
EP (1) EP3788781A1 (zh)
CN (1) CN112020858B (zh)
TW (1) TWI803590B (zh)
WO (1) WO2019212643A1 (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10838207B2 (en) 2015-03-05 2020-11-17 Magic Leap, Inc. Systems and methods for augmented reality
EP3265866B1 (en) 2015-03-05 2022-12-28 Magic Leap, Inc. Systems and methods for augmented reality
CA3007367A1 (en) 2015-12-04 2017-06-08 Magic Leap, Inc. Relocalization systems and methods
CA3032567A1 (en) 2016-08-02 2018-02-08 Magic Leap, Inc. Fixed-distance virtual and augmented reality systems and methods
US10812936B2 (en) 2017-01-23 2020-10-20 Magic Leap, Inc. Localization determination for mixed reality systems
KR20230149347A (ko) 2017-03-17 2023-10-26 매직 립, 인코포레이티드 컬러 가상 콘텐츠 워핑을 갖는 혼합 현실 시스템 및 이를 사용하여 가상 콘텐츠를 생성하는 방법
EP3596703A4 (en) 2017-03-17 2020-01-22 Magic Leap, Inc. VIRTUAL CONTENT DEFORMATION MIXED REALITY SYSTEM AND VIRTUAL CONTENT GENERATION METHOD USING THE SAME
EP3596702A4 (en) 2017-03-17 2020-07-22 Magic Leap, Inc. MIXED REALITY SYSTEM WITH MULTI-SOURCE VIRTUAL CONTENT COMPOSITION AND ASSOCIATED VIRTUAL CONTENT GENERATION PROCESS
US10861215B2 (en) 2018-04-30 2020-12-08 Qualcomm Incorporated Asynchronous time and space warp with determination of region of interest
WO2020023383A1 (en) 2018-07-23 2020-01-30 Magic Leap, Inc. Mixed reality system with virtual content warping and method of generating virtual content using same
US10600236B2 (en) * 2018-08-06 2020-03-24 Valve Corporation Prediction and throttling adjustments based on application rendering performance
US11455705B2 (en) 2018-09-27 2022-09-27 Qualcomm Incorporated Asynchronous space warp for remotely rendered VR
US10733783B2 (en) * 2018-10-09 2020-08-04 Valve Corporation Motion smoothing for re-projected frames
CA3066838A1 (en) * 2019-01-08 2020-07-08 Comcast Cable Communications, Llc Processing media using neural networks
US11625806B2 (en) * 2019-01-23 2023-04-11 Qualcomm Incorporated Methods and apparatus for standardized APIs for split rendering
US11405913B2 (en) * 2019-03-08 2022-08-02 Facebook Technologies, Llc Latency reduction for artificial reality
WO2020191147A1 (en) * 2019-03-21 2020-09-24 Ocelot Laboratories Llc Frame rate extrapolation
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
US11107290B1 (en) 2020-02-27 2021-08-31 Samsung Electronics Company, Ltd. Depth map re-projection on user electronic devices
US11688073B2 (en) 2020-04-14 2023-06-27 Samsung Electronics Co., Ltd. Method and system for depth map reconstruction
TW202201350A (zh) * 2020-05-08 2022-01-01 美商高通公司 用於增強現實的多層重投影技術
US11510750B2 (en) * 2020-05-08 2022-11-29 Globus Medical, Inc. Leveraging two-dimensional digital imaging and communication in medicine imagery in three-dimensional extended reality applications
US11412310B2 (en) 2020-05-18 2022-08-09 Qualcomm Incorporated Performing and evaluating split rendering over 5G networks
JP2023528264A (ja) 2020-05-21 2023-07-04 マジック リープ, インコーポレイテッド 眼追跡を使用したレーザビーム走査ディスプレイのためのワーピング
WO2022028684A1 (en) * 2020-08-05 2022-02-10 Telefonaktiebolaget Lm Ericsson (Publ) Improved split rendering for extended reality (xr) applications
US11488345B2 (en) * 2020-10-22 2022-11-01 Varjo Technologies Oy Display apparatuses and rendering servers incorporating prioritized re-rendering
KR20220093985A (ko) 2020-12-28 2022-07-05 삼성전자주식회사 이미지 지연 보정 방법 및 이를 이용한 장치
US11615594B2 (en) 2021-01-21 2023-03-28 Samsung Electronics Co., Ltd. Systems and methods for reconstruction of dense depth maps
CN115314696A (zh) * 2021-05-08 2022-11-08 中国移动通信有限公司研究院 一种图像信息的处理方法、装置、服务器及终端
EP4142285A4 (en) * 2021-05-17 2023-11-15 Qingdao Pico Technology Co., Ltd. HEAD-MOUNTED DISPLAY DEVICE AND HEAD-MOUNTED DISPLAY SYSTEM
US11822713B2 (en) 2021-06-11 2023-11-21 Rockwell Collins, Inc. Pose augmentation of head worn display video for latency reduction
JP2023027651A (ja) * 2021-08-17 2023-03-02 富士フイルムビジネスイノベーション株式会社 遠隔支援システム、端末装置、遠隔装置、誘導画像表示プログラム、及び遠隔支援プログラム
CN113663328B (zh) * 2021-08-25 2023-09-19 腾讯科技(深圳)有限公司 画面录制方法、装置、计算机设备及存储介质
WO2023048955A1 (en) * 2021-09-24 2023-03-30 Callisto Design Solutions Llc Warping a frame based on pose and warping data
US20230128288A1 (en) * 2021-10-27 2023-04-27 Meta Platforms Technologies, Llc Compositor layer extrapolation
CN114286036A (zh) * 2021-12-22 2022-04-05 小派科技(上海)有限责任公司 用于虚拟现实设备的图像处理方法、装置及虚拟现实设备
WO2023211803A1 (en) * 2022-04-26 2023-11-02 Google Llc Encoding independent user interface streams to perform asynchronous reprojection
WO2023227223A1 (en) * 2022-05-26 2023-11-30 Telefonaktiebolaget Lm Ericsson (Publ) Split transport for warping
WO2024003577A1 (en) * 2022-07-01 2024-01-04 V-Nova International Ltd Applications of layered encoding in split computing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105325001A (zh) * 2013-06-27 2016-02-10 高通股份有限公司 面向深度的视图间运动向量预测
CN105404393A (zh) * 2015-06-30 2016-03-16 指点无限(美国)有限公司 低延迟虚拟现实显示系统
CN107943287A (zh) * 2017-11-16 2018-04-20 烽火通信科技股份有限公司 一种基于Android机顶盒系统解决VR画面抖动的系统及方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9557812B2 (en) * 2010-07-23 2017-01-31 Gregory A. Maltz Eye gaze user interface and calibration method
US9727991B2 (en) * 2013-03-01 2017-08-08 Microsoft Technology Licensing, Llc Foveated image rendering
EP3092806A4 (en) * 2014-01-07 2017-08-23 Nokia Technologies Oy Method and apparatus for video coding and decoding
KR20160016468A (ko) * 2014-08-05 2016-02-15 삼성전자주식회사 리얼 3d 영상 생성 방법 및 그 장치
US9704250B1 (en) * 2014-10-30 2017-07-11 Amazon Technologies, Inc. Image optimization techniques using depth planes
JP6664512B2 (ja) * 2015-12-17 2020-03-13 ルキシド ラブズ インコーポレイテッド アイブレインインターフェースシステムのキャリブレーション方法、及びシステム内のスレーブデバイス、ホストデバイス
WO2017147178A1 (en) * 2016-02-22 2017-08-31 Google Inc. Separate time-warping for a scene and an object for display of virtual reality content
US10401952B2 (en) * 2016-03-31 2019-09-03 Sony Interactive Entertainment Inc. Reducing rendering computation and power consumption by detecting saccades and blinks
CN108604391B (zh) * 2016-05-29 2022-06-14 谷歌有限责任公司 基于虚拟/增强现实系统中的深度信息的时间扭曲调整
US10379611B2 (en) * 2016-09-16 2019-08-13 Intel Corporation Virtual reality/augmented reality apparatus and method
GB2556634B (en) * 2016-11-18 2020-05-27 Advanced Risc Mach Ltd Graphics processing systems
US10580200B2 (en) * 2017-04-07 2020-03-03 Intel Corporation Virtual reality apparatus and method including prioritized pixel shader operations, alternate eye rendering, and/or augmented timewarp
US10467796B2 (en) * 2017-04-17 2019-11-05 Intel Corporation Graphics system with additional context
CN116456097A (zh) * 2017-04-28 2023-07-18 苹果公司 视频流水线
US10503456B2 (en) * 2017-05-05 2019-12-10 Nvidia Corporation Method and apparatus for rendering perspective-correct images for a tilted multi-display environment
US10509463B2 (en) * 2017-11-17 2019-12-17 Microsoft Technology Licensing, Llc Mixed reality offload using free space optics
US11430169B2 (en) * 2018-03-15 2022-08-30 Magic Leap, Inc. Animating virtual avatar facial movements
US10861215B2 (en) 2018-04-30 2020-12-08 Qualcomm Incorporated Asynchronous time and space warp with determination of region of interest
US10733783B2 (en) * 2018-10-09 2020-08-04 Valve Corporation Motion smoothing for re-projected frames

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105325001A (zh) * 2013-06-27 2016-02-10 高通股份有限公司 面向深度的视图间运动向量预测
CN105404393A (zh) * 2015-06-30 2016-03-16 指点无限(美国)有限公司 低延迟虚拟现实显示系统
CN107943287A (zh) * 2017-11-16 2018-04-20 烽火通信科技股份有限公司 一种基于Android机顶盒系统解决VR画面抖动的系统及方法

Also Published As

Publication number Publication date
US20190333263A1 (en) 2019-10-31
US11321906B2 (en) 2022-05-03
CN112020858A (zh) 2020-12-01
EP3788781A1 (en) 2021-03-10
US10861215B2 (en) 2020-12-08
US20210042985A1 (en) 2021-02-11
TWI803590B (zh) 2023-06-01
WO2019212643A1 (en) 2019-11-07
TW201946463A (zh) 2019-12-01

Similar Documents

Publication Publication Date Title
CN112020858B (zh) 利用感兴趣区域的确定的异步时间和空间扭曲
US11127214B2 (en) Cross layer traffic optimization for split XR
US10776992B2 (en) Asynchronous time warp with depth data
US10779011B2 (en) Error concealment in virtual reality system
US11243402B2 (en) Video compression methods and apparatus
US20190026864A1 (en) Super-resolution based foveated rendering
JP2019507509A (ja) 仮想現実コンテンツのビデオレンダリング速度の調整および立体画像の処理
US11375170B2 (en) Methods, systems, and media for rendering immersive video content with foveated meshes
US10572764B1 (en) Adaptive stereo rendering to reduce motion sickness
US20210368152A1 (en) Information processing apparatus, information processing method, and program
CN115190993A (zh) 用于对应用计算的分配的方法和装置
JP2012511200A (ja) 写実的画像形成の処理負荷を分散するためのシステム及び方法
US10867368B1 (en) Foveated image capture for power efficient video see-through
WO2023133082A1 (en) Resilient rendering for augmented-reality devices
WO2023000547A1 (zh) 图像处理方法、装置和计算机可读存储介质
US11544822B2 (en) Image generation apparatus and image generation method
US20230093933A1 (en) Low latency augmented reality architecture for camera enabled devices
US20240107086A1 (en) Multi-layer Foveated Streaming
US20240114170A1 (en) Feature reconstruction using neural networks for video streaming systems and applications

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
GR01 Patent grant
GR01 Patent grant