CN110574375A - 视频流水线 - Google Patents

视频流水线 Download PDF

Info

Publication number
CN110574375A
CN110574375A CN201880027784.3A CN201880027784A CN110574375A CN 110574375 A CN110574375 A CN 110574375A CN 201880027784 A CN201880027784 A CN 201880027784A CN 110574375 A CN110574375 A CN 110574375A
Authority
CN
China
Prior art keywords
hmd
frame
base station
user
frames
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.)
Granted
Application number
CN201880027784.3A
Other languages
English (en)
Other versions
CN110574375B (zh
Inventor
A·Y·张
R·L·张
T·R·奥里奥尔
苏玲
G·S·桑德
G·科特
J·C·周
潘昊
T·埃布尔
A·巴-兹夫
张晟
J·A·亨斯利
G·斯塔尔
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.)
Apple Inc
Original Assignee
Apple 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 Apple Inc filed Critical Apple Inc
Priority to CN202310625521.5A priority Critical patent/CN116456097A/zh
Publication of CN110574375A publication Critical patent/CN110574375A/zh
Application granted granted Critical
Publication of CN110574375B publication Critical patent/CN110574375B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/162User input
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • 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
    • G06T19/00Manipulating 3D models or images for computer graphics
    • 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
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0141Head-up displays characterised by optical features characterised by the informative content of the display
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0181Adaptation to the pilot/driver
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/08Access point devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Optics & Photonics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本公开提供了一种混合现实系统,该混合现实系统包括经由无线连接进行通信的头戴式显示器(HMD)和基站。该HMD可包括收集关于用户的环境和关于用户的信息的传感器。由该传感器收集的信息可经由无线连接传输至基站。该基站至少部分地基于从HMD接收的传感器信息来渲染帧或切片,对该帧或切片进行编码,并且将压缩的帧或切片传输至HMD以进行解码和显示。基站可提供比常规的独立系统更多的计算能力,并且无线连接不像在常规系绳系统中那样将HMD系于基站。系统可实现用于保持通过无线链路的目标帧率并且最小化帧渲染、传输和显示中的延迟的方法和装置。

Description

视频流水线
背景技术
虚拟现实(VR)系统显示提供沉浸式虚拟环境的虚拟视图。混合现实(MR)系统将虚拟内容与真实世界的视图相结合,或将真实世界对象的虚拟表示添加到虚拟环境中。常规VR和MR系统通常为系绳系统或独立HMD,该系绳系统包括执行用于显示的内容的渲染中的至少一些的基站和经由物理连接(即,数据通信电缆)连接到基站的头戴式显示器(HMD),该独立HMD局部地执行内容的渲染。独立系统允许用户自由移动;然而,由于限制因素(包括尺寸、重量、电池和热量),独立HMD通常在计算能力方面受到限制,因此在可渲染的内容的质量方面受到限制。相较于独立HMD,系绳系统的基站可提供更多的计算能力并因此提供更高质量的渲染;然而,物理电缆将HMD系于基站并且因此约束用户的移动。
发明内容
本文描述了通过无线连接为用户提供混合现实视图的方法和装置的各种实施方案。描述了混合现实系统的实施方案,该混合现实系统可包括用户穿戴的头戴式耳机、头盔、护目镜或眼镜,在本文中称为头戴式显示器(HMD),以及单独的计算设备,在本文中称为基站。HMD和基站可各自包括无线通信技术,该无线通信技术允许HMD和基站经由无线连接来通信和交换数据。HMD可包括收集关于用户的环境的信息的面向世界的传感器和收集关于用户的信息的面向用户的传感器。由传感器收集的信息可经由无线连接传输至基站。基站可包括软件和硬件,该软件和硬件被配置为至少部分地基于经由无线连接从HMD接收的传感器信息来生成和渲染包括虚拟内容的帧,并且将渲染的帧压缩并经由无线连接将其传输至HMD以用于显示。基站可提供比常规的独立系统可提供的多得多的计算能力。此外,HMD和基站之间的无线连接不像在常规系绳系统中那样将HMD系于基站,并且因此允许用户具有比系绳系统多得多的移动自由度。
描述了各种方法和装置,这些方法和装置可用于保持通过无线链路的目标帧率并且最小化帧渲染、传输和显示中的延迟。
在一些实施方案中可使用的方法可被称为翘曲空间渲染。在翘曲空间渲染方法中,代替执行趋于过采样图像边缘的直线投影,尤其是在宽FOV帧中,应用将帧转换成翘曲空间的转换。然后以相等的角度对翘曲空间进行重采样。翘曲空间渲染方法对帧进行重采样,使得渲染引擎仅光栅化并渲染其实际需要的样本数,而不管用户正在查看的方向如何。翘曲空间渲染方法降低了渲染帧所需的分辨率,并且因此减少了渲染帧所需的时间,这减少了延迟,并且还减少了需要通过HMD和基站之间的无线链路传输的位的数量,这减少了带宽使用和延迟。
在一些实施方案中可使用的另一种方法可被称为中心凹形渲染。在中心凹形渲染方法中,从HMD接收的注视跟踪信息可用于识别用户当前正在查看的方向。可至少部分地基于所确定的注视方向来确定中心凹形区域。在传输至HMD之前,可将中心凹形区域之外的帧的区域(称为外围区域)转换为较低分辨率,例如通过将滤波器(例如带通滤波器)应用到外围区域。中心凹形渲染方法减少渲染帧中的像素数量,这减少了需要通过无线链路传输至HMD的位的数量,这减少了带宽使用和延迟。此外,在一些实施方案中,帧的中心凹形区域之外的外围区域可通过无线链路以低于中心凹形区域的帧率传输。
在一些实施方案中可使用的另一种方法可被称为中心凹形压缩。在中心凹形压缩方法中,可动态地基于从注视跟踪区域所确定的注视方向或静态地基于设定的系统参数确定中心凹形区域和外围区域。在一些实施方案中,可基于对人类视觉系统的了解预过滤外围区域来减少信息,例如通过过滤高频信息和/或增加色彩压缩。应用到外围区域的过滤的量可增大朝向图像的周边延伸。外围区域的预过滤可导致改进的帧压缩。另选地,在外围区域中可使用比在中心凹形区域中使用的压缩比更高的压缩比。
在一些实施方案中可使用的另一种方法可被称为动态渲染。在动态渲染方法中,为了保持目标帧率和延迟,基站上的监视过程监视无线链路上的带宽以及基站上的渲染应用程序正在生成帧的速率。在检测到带宽低于阈值或帧渲染速率低于阈值时,监视过程可动态地调节基站上的一个或多个渲染过程,以降低渲染帧的复杂性,并且因此降低渲染的帧的分辨率,从而可保持对HMD的目标帧率和延迟。在检测到所监视的量度已达到或超过阈值时,可再次调节渲染复杂性以增大渲染帧的复杂性,并且因此增大帧的分辨率。
代替动态渲染或除了动态渲染之外,在一些实施方案中可使用的另一种方法可被称为动态压缩。在动态压缩方法中,为了保持目标帧率和延迟,基站上的监视过程监视无线链路上的带宽以及基站上的渲染应用程序正在生成帧的速率。在检测到带宽低于阈值或帧渲染速率低于阈值时,监视过程可动态地调节基站上的一个或多个压缩过程,以增大压缩比和/或增加图像的预过滤以减少高频内容,从而可保持对HMD的目标帧率和延迟。在检测到所监视的量度已达到或超过阈值时,可再次调节压缩过程以减小压缩比和/或预过滤。
在一些实施方案中可使用的另一种方法可被称为基于运动的渲染。在该方法中,从HMD接收的运动跟踪信息可用于识别用户的头部的运动。如果用户未移动其头部或未移动太多,则可渲染帧并以较低的帧率发送至HMD。如果检测到快速头部运动,则可增大帧率。
在一些实施方案中可使用的另一种方法可被称为基于切片的渲染。在基于切片的渲染中,基站可渲染帧的一部分(称为切片)并且在渲染的切片准备好时将渲染的切片传输至HMD,而不是在基站中渲染整个帧并将渲染的帧传输至HMD。切片可以是帧的一条或多条线,或者可以是帧的N×M像素区段或区域。基于切片的渲染减少了延迟,并且还减少了缓冲所需的内存量,这减少了芯片或处理器上的内存占用量以及功率需求。
此外,描述了方法和装置,如果与基站的无线链路丢失,则该方法和装置允许HMD用作独立设备作为回退位置。此外,描述了用于处理和显示由HMD经由无线连接从基站接收的帧的方法和装置,以及利用先前接收的帧替换不完整或缺失帧的方法和装置。
附图说明
图1示出了根据至少一些实施方案的混合或虚拟现实系统。
图2示出了根据至少一些实施方案的如图1所示的系统中的头戴式显示器(HMD)的传感器。
图3为根据至少一些实施方案的示出如图1所示的混合现实系统的部件的框图。
图4是根据至少一些实施方案的如图1至图3所示的混合现实系统的操作的方法的高级流程图。
图5A至图5D以图形方式示出了根据一些实施方案的翘曲空间渲染。
图6是根据一些实施方案的用于翘曲空间渲染以降低由基站渲染的帧的分辨率的方法的流程图。
图7以图形方式示出了根据一些实施方案的中心凹形渲染。
图8是根据一些实施方案的用于中心凹形渲染以在通过无线连接传输帧之前降低渲染的帧的分辨率的方法的流程图。
图9是根据一些实施方案的用于动态渲染以保持通过无线连接的目标帧率和延迟的方法的流程图。
图10是根据一些实施方案的用于基于运动的渲染以保持通过无线连接的目标帧率和延迟的方法的流程图。
图11是根据一些实施方案的用于在检测到无线连接已丢失时在HMD上渲染和显示帧的方法的流程图。
图12是根据一些实施方案的用于处理和显示由HMD经由无线连接从基站接收的帧的方法的流程图。
图13是根据一些实施方案的示出如图1至图12所示的示例性混合现实系统中的功能部件和处理的框图。
本说明书包括参考“一个实施方案”或“实施方案”。出现短语“在一个实施方案中”或“在实施方案中”并不一定是指同一个实施方案。特定特征、结构或特性可以与本公开一致的任何合适的方式被组合。
“包括”。该术语是开放式的。如在权利要求书中所使用的,该术语不排除附加结构或步骤。考虑以下引用的权利要求:“一种包括一个或多个处理器单元...的装置”此类权利要求不排除该装置包括附加部件(例如,网络接口单元、图形电路等)。
“被配置为”。各种单元、电路或其它部件可被描述为或叙述为“被配置为”执行一项或多项任务。在此类上下文中,“被配置为”用于通过指示单元/电路/部件包括在操作期间执行这一项或多项任务的结构(例如,电路)来暗指该结构。如此,单元/电路/部件可被配置为即使在指定的单元/电路/部件当前不可操作(例如,未接通)时也执行该任务。与“被配置为”语言一起使用的单元/电路/部件包括硬件——例如电路、存储可执行以实现操作的程序指令的存储器等。引用单元/电路/部件“被配置为”执行一项或多项任务明确地旨在针对该单元/电路/部件不援引35U.S.C.§112的第六段。此外,“被配置为”可包括由软件或固件(例如,FPGA或执行软件的通用处理器)操纵的通用结构(例如,通用电路)以能够执行待解决的一项或多项任务的方式操作。“被配置为”还可包括调整制造过程(例如,半导体制作设施),以制造适用于实现或执行一项或多项任务的设备(例如,集成电路)。
“第一”“第二”等。如本文所用,这些术语充当它们所在之前的名词的标签,并且不暗指任何类型的排序(例如,空间的、时间的、逻辑的等)。例如,缓冲电路在本文中可被描述为执行“第一”值和“第二”值的写入操作。术语“第一”和“第二”未必暗指第一值必须在第二值之前被写入。
“基于”或“取决于”。如本文所用,这些术语用于描述影响确定的一个或多个因素。这些术语不排除可影响确定的附加因素。即,确定可仅基于这些因素或至少部分地基于这些因素。考虑短语“基于B来确定A”。在这种情况下,B为影响A的确定的因素,此类短语不排除A的确定也可基于C。在其它实例中,可仅基于B来确定A。
“或”。在权利要求书中使用时,术语“或”被用作包含性的或,而不是排他性的或。例如,短语“x、y或z中的至少一个”表示x、y和z中的任何一个以及它们的任何组合。
具体实施方式
本文描述了通过无线连接为用户提供混合现实视图的方法和装置的各种实施方案。描述了混合现实系统的实施方案,该混合现实系统可包括用户穿戴的头戴式耳机、头盔、护目镜或眼镜,在本文中称为头戴式显示器(HMD),以及单独的计算设备,在本文中称为基站。HMD和基站可各自包括无线通信技术,该无线通信技术允许HMD和基站经由无线连接来通信和交换数据。HMD可包括收集关于用户的环境的信息(例如,视频、深度信息、照明信息等)的面向世界的传感器,以及收集关于用户的信息(例如,用户的表情、眼睛移动、手势等)的面向用户的传感器。由传感器收集的信息可经由无线连接传输至基站。基站可包括软件和硬件(例如,处理器(片上系统(SOC)、CPU、图像信号处理器(ISP)、图形处理单元(GPU)、编码器/解码器(编解码器)等)、存储器等),该软件和硬件被配置为至少部分地基于经由无线连接从HMD接收的传感器信息来生成和渲染包括虚拟内容的帧,并且将渲染的帧压缩并经由无线连接将其传输至HMD以用于显示。
如本文所述的混合现实系统的实施方案可收集、分析、传输和存储个人信息,例如个人的面部的和/或人正在使用系统的环境的图像。由传感器收集的个人信息应仅由HMD和/或基站存储、传输和使用,并且仅用于HMD和基站上的混合现实系统的操作。实施方案将符合公认的隐私政策和/或隐私实践。具体地,应当实施一般被认为满足或超过工业或政府将个人信息保持为私有和安全的要求的隐私政策和实践。例如,个人信息应当被收集用于合法且合理的用途,并且不在这些合法用途之外共享或出售。此外,个人信息的收集和其它用途应仅在接收到用户知情同意之后进行。此外,应采取保卫和保障对此类个人信息的访问并确保能够访问个人信息的任何实体遵守隐私政策和程序的任何所需步骤。此外,能够访问个人信息的任何实体都可接受第三方的评估,以证明其遵守隐私政策和实践。此外,在一些实施方案中,用户可选择性地阻止其个人信息的使用或访问。例如,可提供允许用户选择性地防止或阻止对其个人信息的访问的硬件和/或软件元件。
常规VR、AR和MR系统通常为系绳系统或独立HMD,该系绳系统包括执行用于显示的内容的渲染中的至少一些的基站和经由物理连接(即,数据通信电缆)连接到基站的HMD,该独立HMD局部地执行内容的渲染。独立系统允许用户自由移动;然而,由于限制因素(包括尺寸、重量、电池和热量),独立HMD通常在计算能力方面受到限制,因此在可渲染的内容的质量方面受到限制。相较于独立HMD,系绳系统的基站可提供更多的计算能力并因此提供更高质量的渲染;然而,物理电缆将HMD系于基站并且因此约束用户的移动。
如本文所述的混合现实系统的实施方案包括基站,该基站提供比常规独立系统可提供的多得多的计算能力。此外,HMD和基站之间的无线连接不像在常规系绳系统中那样将HMD系于基站,并且因此允许用户具有比系绳系统多得多的移动自由度。
在一些实施方案中,混合现实系统可实现在HMD和基站之间提供高度定向无线链路的专有无线通信技术(例如,60千兆赫(GHz)无线技术)。在一些实施方案中,无线通信技术的定向性和带宽(例如,60GHz)可支持同时与基站通信的多个HMD,从而使得多个用户能够同时在协同定位的环境中使用该系统。然而,在一些实施方案中,可支持其它商业(例如,Wi-Fi、蓝牙等)或专有无线通信技术。
在无线链路上要考虑的两个主要约束是带宽和延迟。目标是以为用户提供高质量MR视图的帧率(例如,60帧至120帧每秒(FPS))向用户提供高分辨率、宽视场(FOV)虚拟显示。另一个目标是使HMD捕获视频帧的时间与HMD显示基于视频帧的渲染MR帧的时间之间的延迟最小化,例如减小到亚毫秒(ms)范围。然而,无线链路的信道容量可随时间而变化,并且因此无线链路可仅支持在任何给定时间传输的特定量的信息。本文描述了各种方法和装置,这些方法和装置可用于保持通过无线链路的目标帧率并且最小化帧渲染、传输和显示中的延迟。
在一些实施方案中可使用的方法可被称为翘曲空间渲染,其可用于降低基站渲染帧的分辨率,这减少了计算时间、功耗、带宽使用和延迟。理想的是,在用户正在查看的任何方向上,显示器上应具有相同的分辨率。在翘曲空间渲染方法中,代替基站的渲染引擎在渲染帧时执行直线投影,其趋于过采样图像的边缘,尤其是在宽FOV帧中,应用将帧转换成翘曲空间的转换。然后以相等的角度对翘曲空间进行重采样。翘曲空间渲染方法对帧进行重采样,使得渲染引擎仅光栅化并渲染其实际需要的样本数,而不管用户正在查看的方向如何。翘曲空间渲染方法降低了渲染帧所需的分辨率,并且因此减少了渲染帧所需的时间,这减少了延迟,并且还减少了需要通过HMD和基站之间的无线链路传输的位的数量,这减少了带宽使用和延迟。
在一些实施方案中可使用的另一种方法可被称为中心凹形渲染,其可用于在将帧传输至HMD之前降低减小由基站渲染的帧的分辨率,这减少了延迟和带宽使用。在中心凹形渲染方法中,从HMD接收的注视跟踪信息可用于识别用户当前正在查看的方向。人眼在中心凹区域中可感知到比在外围区域中高的分辨率。因此,可至少部分地基于所确定的注视方向来识别对应于中心凹的帧的区域(称为中心凹形区域),并且经由无线连接以较高分辨率传输至HMD,而在传输至HMD之前,可将中心凹形区域之外的帧的区域(称为外围区域)转换为较低分辨率,例如通过将滤波器(例如带通滤波器)应用到外围区域。中心凹形渲染方法减少渲染帧中的像素数量,这减少了需要通过无线链路传输至HMD的位的数量,这减少了带宽使用和延迟。此外,在一些实施方案中,帧的中心凹形区域之外的外围区域可通过无线链路以低于中心凹形区域的帧率传输。
在一些实施方案中可使用的另一种方法可被称为中心凹形压缩。在中心凹形压缩方法中,可动态地基于从注视跟踪区域所确定的注视方向或静态地基于设定的系统参数确定中心凹形区域和外围区域。在一些实施方案中,可基于对人类视觉系统的了解预过滤外围区域来减少信息,例如通过过滤高频信息和/或增加色彩压缩。应用到外围区域的过滤的量可增大朝向图像的周边延伸。外围区域的预过滤可导致改进的帧压缩。另选地,可在外围区域中使用较高的压缩比。这两种方法之间的折衷可以是更模糊的外围区域(通过预过滤)或可能更高的压缩伪影(通过增加压缩)。
在一些实施方案中可使用的另一种方法可被称为动态渲染。在动态渲染方法中,为了保持目标帧率和延迟,基站上的监视过程监视无线链路上的带宽以及基站上的渲染应用程序正在生成帧的速率。在检测到带宽低于阈值或帧渲染速率低于阈值时,监视过程可动态地调节基站上的一个或多个渲染过程,以降低渲染帧的复杂性,并且因此降低渲染的帧的分辨率,从而可保持对HMD的目标帧率和延迟。在检测到所监视的量度已达到或超过阈值时,可再次调节渲染复杂性以增大渲染帧的复杂性,并且因此增大帧的分辨率。
代替动态渲染或除了动态渲染之外,在一些实施方案中可使用的另一种方法可被称为动态压缩。在动态压缩方法中,为了保持目标帧率和延迟,基站上的监视过程监视无线链路上的带宽以及基站上的渲染应用程序正在生成帧的速率。在检测到带宽低于阈值或帧渲染速率低于阈值时,监视过程可动态地调节基站上的一个或多个压缩过程,以增大压缩比和/或增加图像的预过滤以减少高频内容,从而可保持对HMD的目标帧率和延迟。在检测到所监视的量度已达到或超过阈值时,可再次调节压缩过程以减小压缩比和/或预过滤。
在一些实施方案中可使用的另一种方法可被称为基于运动的渲染。在该方法中,从HMD接收的运动跟踪信息可用于识别用户的头部的运动。如果用户未移动其头部或未移动太多,则可渲染帧并以较低的帧率发送至HMD。由于用户的头部未处于快速运动中,因此在较低的帧率下,用户可感知到很少或没有感知到差异。如果检测到快速头部运动,则可增大帧率。
在一些实施方案中可使用的另一种方法可被称为基于切片的渲染。渲染和传输整个帧可具有延迟和存储器影响,因为每个帧需要被完成、存储,然后被传输至混合现实系统的下一阶段。在基于切片的渲染中,基站可渲染帧的一部分(称为切片)并且在渲染的切片准备好时将渲染的切片传输至HMD,而不是在基站中渲染整个帧并将渲染的帧传输至HMD。切片可以是帧的一条或多条线,或者可以是帧的N×M像素区段或区域。基于切片的渲染减少了延迟,并且还减少了缓冲所需的内存量,这减少了芯片或处理器上的内存占用量以及功率需求。需注意,本文可使用术语“帧部分”以指代如上所述的整个帧或帧的切片。
此外,描述了方法和装置,如果与基站的无线链路丢失,例如如果基站关闭或对象来到HMD和基站之间,从而阻断无线链路,则该方法和装置允许HMD用作独立设备作为回退位置。
图1示出了根据至少一些实施方案的混合或虚拟现实系统10。在一些实施方案中,系统10可包括用户190穿戴的HMD 100诸如头戴式耳机、头盔、护目镜或眼镜,以及基站160,该基站160被配置为渲染包括虚拟内容110的混合真实帧以供HMD 100显示。混合现实帧可包括与真实世界图像或真实世界视图复合的计算机生成的信息(称为虚拟内容),以增强或向用户的世界视图添加内容,或者另选地可包括与计算机生成的三维(3D)虚拟世界的视图复合的真实世界对象的表示。HMD 100和基站160可各自包括无线通信技术,该无线通信技术允许HMD 100和基站160经由无线连接180来通信和交换数据。
HMD 100可包括收集关于用户190的环境的信息(视频、深度信息、照明信息等)和关于于用户190的信息(例如,用户的表情、眼睛移动、注视方向、手势等)的传感器140和150。示例性传感器140和150在图2中示出。HMD 100可经由无线连接180将由传感器140和150收集的信息中的至少一些传输至系统10的基站160。基站160可至少部分地基于从传感器140和150获得的各种信息来渲染包括虚拟内容110的供HMD 100显示的帧,压缩帧,并且经由无线连接180将帧传输至HMD 100以向用户190显示。由传感器140和150收集的信息应当仅由HMD 100和/或基站160存储、传输和使用,并且仅用于HMD 100和基站160上的混合现实系统的操作。
3D虚拟视图102可以是包括在用户190使用混合或虚拟现实系统10时看到的不同深度处的虚拟内容110的三维(3D)空间。在一些实施方案中,可通过HMD 100将虚拟内容110在3D虚拟视图102中向用户190显示;在3D虚拟视图102中,不同的虚拟对象可在3D虚拟空间中的不同深度处被显示。在一些实施方案中,在3D虚拟视图102中,虚拟内容110可在相对于由HMD 100提供的用户的当前视线的用户190的环境的视图中进行覆盖或复合。HMD 100可实现各种类型的虚拟现实投影技术中的任一种。例如,HMD 100可为近眼VR系统,该近眼VR系统在用户190的眼睛前面的屏幕上显示左图像和右图像(该左图像和右图像由受试者查看),诸如DLP(数字光处理)、LCD(液晶显示器)和LCoS(硅上液晶)技术VR系统。在一些实施方案中,屏幕可以是透视显示器。作为另一示例,HMD 100可为直接视网膜投影仪系统,该直接视网膜投影仪系统逐像素地将左图像和右图像扫描到受试者的眼睛。为扫描图像,左投影仪和右投影仪生成光束,该光束被引导到位于用户190的眼睛的前面的左反射部件和右反射部件(例如,椭球反射镜);反射部件将光束反射到用户的眼睛。为了创建三维(3D)效果,3D虚拟视图102中的不同深度或距离处的虚拟内容110在两个图像中作为距离的三角测量的函数向左或向右移位,其中较近的对象比较远的对象移位得更多。
虽然未在图1中示出,但是,在一些实施方案中,混合现实系统10可包括一个或多个其它部件。例如,系统可包括光标控制设备(例如,鼠标),以用于在3D虚拟视图102中移动虚拟光标以与虚拟内容110进行交互。
虽然图1示出了单个用户190和HMD 100,但在一些实施方案中,混合现实系统10可支持同时与基站160通信的多个HMD 100,从而使得多个用户190能够同时在协同定位的环境中使用该系统。
图2示出根据至少一些实施方案的示例性HMD 200的传感器。图2示出根据一些实施方案的具有传感器220-227的示例性HMD 200的侧视图。需注意,如图2所示的HMD 200以举例的方式给出,并且不旨在为限制性的。在各种实施方案中,HMD的形状、尺寸及其它特征可不一致,并且世界传感器和用户传感器的位置、数量、类型和其它特征可有所不同。
HMD 200可包括收集关于用户290的环境的信息(视频、深度信息、照明信息等)和关于用户290的信息(例如,用户的表情、眼睛移动、手势等)的传感器220-227。HMD 200可被用户290穿戴,使得投影系统显示器202(例如,近眼VR系统的屏幕和光学器件,或直接视网膜投影仪系统的反射部件(例如,椭球反射镜))设置在用户290的眼睛292的前面。
HMD 200可包括各种类型的处理器204(片上系统(SOC)、CPU、图像信号处理器(ISP)、图形处理单元(GPU)、编码器/解码器(编解码器)等)中的一种或多种处理器,该处理器可例如对由传感器220-227收集的信息执行初始处理(例如,压缩)并经由无线连接280将信息传输至混合现实系统的基站260,并且可对从基站260接收的压缩帧执行处理(例如,解码/解压缩)并将经处理帧提供到显示子系统以供显示。在一些实施方案中,可通过HMD 200将虚拟内容在3D虚拟视图中向用户290显示;在3D虚拟视图中,不同的虚拟对象可在3D虚拟空间中的不同深度处被显示。在一些实施方案中,在3D虚拟视图中,虚拟内容可在相对于由HMD 200提供的用户的当前视线的用户290的环境的视图中进行覆盖或复合。
在一些实施方案中,无线连接280可根据在HMD 200和基站260之间提供高度定向无线链路的专有无线通信技术(例如,60千兆赫(GHz)无线技术)来实现。然而,在一些实施方案中,可使用其它商业(例如,Wi-Fi、蓝牙等)或专有无线通信技术。
基站260可以是经由无线接口通信地耦接到HMD 200的外部设备(例如,计算系统、游戏控制台等)。基站260可包括各种类型的处理器262(例如,SOC、CPU、ISP、GPU、编解码器和/或用于处理和渲染视频和/或图像的其它部件)中的一种或多种处理器。基站260可至少部分地基于经由无线连接280从传感器220-227获得的各种输入来渲染包括虚拟内容的帧(每个帧包括左图像和右图像),压缩渲染的帧,并且将压缩的帧传输至HMD 200以向左右显示器202显示。图3和图12还示出了根据一些实施方案的混合现实系统的HMD 200和基站260的部件和操作。
例如,HMD传感器220-227可位于HMD 200的外表面和内表面上,并且可收集关于用户290和关于用户的环境的各种信息。在一些实施方案中,由传感器收集的信息可用于为用户提供其真实环境的虚拟视图。由传感器220-227收集的信息应当仅由HMD 200和/或基站260存储、传输和使用,并且仅用于HMD 200和基站260上的混合现实系统的操作。在一些实施方案中,传感器可用于为在真实环境中的对象提供深度信息。在一些实施方案中,传感器可用于为在真实环境中的用户提供取向和运动信息。在一些实施方案中,传感器可用于收集真实环境中的颜色和照明信息。在一些实施方案中,由传感器收集的信息可用于调节待投影的图像的渲染,和/或通过HMD 200的投影系统调节图像的投影。在一些实施方案中,由传感器收集的信息可用于在由HMD 200投影到用户的3D虚拟视图中生成用户290的化身。在一些实施方案中,由传感器收集的信息可用于在由HMD 200投影的3D虚拟视图中与虚拟内容进行交互或操纵虚拟内容。在一些实施方案中,由面向用户的传感器(例如,传感器224-227)收集的用户信息可用于调节由面向世界的传感器(例如,传感器220-223)收集的信息的收集和/或处理。
在一些实施方案中,传感器220-227可包括捕获用户环境的高质量视频的一个或多个场景相机220(例如,RGB(可见光)摄像机),该高质量视频可用于向用户290提供其真实环境的虚拟视图。在一些实施方案中,由相机220捕获的视频流可被HMD 200压缩并经由无线连接280传输至基站260。帧可至少部分地根据经由无线连接280从HMD 200接收的其它传感器信息而被基站260解压缩和处理以渲染包括虚拟内容的帧;然后渲染的帧可被压缩并经由无线连接280传输至HMD 200以向用户290显示。
在一些实施方案中,如果由于某种原因而丢失到基站200的无线连接280,则由相机200捕获的至少一些视频帧可由HMD 200的处理器204处理以经由显示器202向用户290提供真实环境的虚拟视图。例如,这可出于安全原因而进行,使得即使基站260不可用,用户290仍可查看他们所处的真实环境。在一些实施方案中,处理器204可渲染待在虚拟视图中显示的虚拟内容,例如通知用户290无线连接280已丢失的消息。
在示例非限制性实施方案中,场景相机220可包括高质量、高分辨率RGB摄像机,例如具有60帧每秒(FPS)或更大的帧率、大于90度的水平视场(HFOV)并且具有0.1米(m)至无穷大的工作距离的1000万像素(例如,3072×3072像素数)相机。在一些实施方案中,可存在两个场景相机220(例如,左相机和右相机220),它们位于HMD 200的前表面上,基本上在用户290的眼睛292中的每一只眼睛前面的位置处。然而,可在HMD 200中使用更多或更少的场景相机220来捕获用户290的环境的视频,并且场景相机220可被定位在其它位置处。
在一些实施方案中,传感器220-227可包括一个或多个世界标测传感器221(例如,具有IR照明源的红外(IR)相机或光检测和测距(LIDAR)发射器和接收器/检测器),该一个或多个世界标测传感器221例如捕获在用户环境中的对象和表面的深度信息或范围信息。例如,该范围信息可以用于在正确的深度处定位与真实环境的图像复合的虚拟内容。在一些实施方案中,该范围信息可用于在显示时调节真实对象在环境中的深度;例如,附近对象可在显示器中被重新渲染为较小,以帮助用户在环境周围移动时避开对象。在一些实施方案中,可存在位于HMD 200的前表面上的一个世界标测传感器221。然而,在各种实施方案中,可使用多于一个世界标测传感器221,并且可将世界标测传感器221定位在其它位置处。在示例非限制性实施方案中,世界标测传感器221可包括IR光源和IR相机,例如,具有60帧每秒(FPS)或更大的帧率、90度或更大的HFOV并且具有0.1m至1.5m的工作距离的100万像素(例如,1000×1000像素数)相机。
在一些实施方案中,传感器220-227可包括一个或多个头部姿势传感器222(例如,IR或RGB相机),该一个或多个头部姿势传感器222可捕获关于用户和/或用户的头部在环境中的位置、取向和/或运动的信息。例如,由头部姿势传感器222收集的信息可用于扩充由HMD 200的惯性测量单元(IMU)206收集的信息。扩充的位置、取向和/或运动信息可以用于确定如何渲染和显示用户环境的虚拟视图和该视图内的虚拟内容。例如,无论用户当前是否正在走过环境等等,都可至少部分地基于用户的头部的位置或取向来渲染环境的不同视图。作为另一示例,扩充的位置、取向和/或运动信息可用于相对于用户的环境的背景视图将虚拟内容与固定位置中的场景复合。在一些实施方案中,可存在位于HMD 200的前表面或顶表面上的两个头部姿势传感器222。然而,在各种实施方案中,可使用更多或更少的传感器222,并且传感器222可被定位在其它位置处。在示例非限制性实施方案中,头部姿势传感器222可包括RGB或IR相机,例如,具有120帧每秒(FPS)或更大的帧率、宽视场(FOV)并且具有1m至无穷大的工作距离的400×400像素数相机。传感器222可包括宽FOV透镜,并且两个传感器222可在不同的方向上查看。传感器222可提供用于跟踪头部位置和运动的低延迟单色成像,并且可与HMD 200的IMU集成以扩充由IMU捕获的头部位置和移动信息。
在一些实施方案中,传感器220-227可包括在用户的环境中捕获照明信息(例如,方向、颜色和强度)的一个或多个光传感器223(例如,RGB相机),例如,该照明信息可用于在用户环境的虚拟视图中渲染虚拟内容,例如用于为虚拟视图中的虚拟对象确定着色、照明、阴影效果等。例如,如果检测到红光源,则渲染到场景中的虚拟内容可用红光照明,并且更一般来讲,虚拟对象可用正确的颜色和强度的光从正确的方向和角度进行渲染。在一些实施方案中,可存在位于HMD 200的前表面或顶表面上的一个光传感器223。然而,在各种实施方案中,可使用多于一个光传感器223,并且光传感器223可被定位在其它位置处。在示例非限制性实施方案中,光传感器223可包括RGB高动态范围(HDR)摄像机,例如具有30FPS的帧率、180度或更大的HFOV并且具有1m至无穷大的工作距离的500×500像素数相机。
在一些实施方案中,传感器220-227可包括一个或多个注视跟踪传感器224(例如,具有IR照明源的IR相机),该一个或多个注视跟踪传感器224可用于跟踪用户眼睛的位置和移动。在一些实施方案中,注视跟踪传感器224也可用于跟踪用户瞳孔的扩张。在一些实施方案中,可存在两个注视跟踪传感器224,其中每个注视跟踪传感器跟踪相应的眼睛292。在一些实施方案中,由注视跟踪传感器224收集的信息可用于调节待投影的图像的渲染,和/或基于用户眼睛查看的方向和角度来调节通过HMD 200的投影系统进行的图像的投影。例如,在一些实施方案中,在用户的眼睛当前查看的位置周围的区域中的图像的内容可用更多细节进行渲染,并且可处于比用户未查看的区域中的内容更高的分辨率,这允许可用的图像数据处理时间花费在由眼睛的中心凹区域查看的内容,而不是花费在由眼睛的外围区域查看的内容。同样地,用户未注视的区域中的图像的内容可比用户当前查看的点周围的区域的内容压缩得更多。在一些实施方案中,由注视跟踪传感器224收集的信息可用于将用户290的化身的眼睛的方向与用户的眼睛的方向匹配。在一些实施方案中,可基于由注视跟踪传感器224确定的用户瞳孔扩张来调节投影的图像的亮度。在一些实施方案中,可存在两个注视跟踪传感器224,它们位于HMD 200的内表面上,在使得传感器224具有用户290的眼睛292中的相应眼睛的视图的位置处。然而,在各种实施方案中,可在HMD 200中使用更多或更少的注视跟踪传感器224,并且传感器224可被定位在其它位置处。在示例非限制性实施方案中,每个注视跟踪传感器224可包括IR光源和IR相机,例如具有120FPS或更大的帧率、70度的HFOV并且具有10毫米(mm)至80mm的工作距离400×400像素数相机。
在一些实施方案中,传感器220-227可包括跟踪用户前额区域和/或用户口部/颌部区域的表情的一个或多个传感器225和226(例如,具有IR照明的IR相机)。在一些实施方案中,由传感器224、225和226捕获的眉毛、口部、颌部和眼睛的表情可用于模拟虚拟空间中的化身上的表情,和/或至少部分地基于用户对投影内容的反应来选择性地渲染和复合虚拟内容。在一些实施方案中,可存在两个传感器225,它们位于HMD 200的内表面上,在使得传感器225具有用户290前额的视图的位置处,以及两个传感器226,它们位于HMD 200的内表面上,在使得传感器226具有用户290的下颌部和口部的视图的位置处。然而,在各种实施方案中,可在HMD 200中使用更多或更少的传感器225和/或226,并且传感器225和/或226可被定位在其它位置处,而不是示出的那些位置。在示例非限制性实施方案中,每个传感器225和226可包括IR光源和IR相机。在一些实施方案中,来自两个或更多个传感器225和/或226的图像可组合以形成用户的面部的一部分的立体视图。
在一些实施方案中,用户传感器220-227可包括跟踪用户的手部、手指和/或臂部的位置、移动和手势的一个或多个传感器227(例如,具有IR照明的IR相机)。例如,用户的检测到的手部和手指手势可用于确定用户与虚拟空间中的虚拟内容的交互,包括但不限于操纵虚拟对象的手势、与虚拟空间中显示的虚拟用户界面元素交互的手势等。在一些实施方案中,可存在位于HMD 200的底表面上的一个传感器227。然而,在各种实施方案中,可使用多于一个传感器227,并且传感器227可被定位在其它位置处。在示例非限制性实施方案中,传感器227可包括IR光源和IR相机。
图3是根据至少一些实施方案的示出示例性混合现实系统的部件的框图。在一些实施方案中,混合现实系统可包括HMD 300诸如头戴式耳机、头盔、护目镜或眼镜和基站360(例如,计算系统、游戏控制台等)。
HMD 300可包括可实现各种类型的虚拟现实投影仪技术中的任一种的显示器302部件或子系统。例如,HMD 300可包括近眼VR投影仪,该近眼VR投影仪显示包括由用户查看的屏幕上的左图像和右图像的帧,诸如DLP(数字光处理)、LCD(液晶显示器)和LCoS(硅上液晶)技术投影仪。在一些实施方案中,屏幕可以是透视显示器。作为另一示例,HMD 300可包括直接视网膜投影仪,该直接视网膜投影仪经由反射表面(例如,反射眼镜镜片)将包括左图像和右图像的帧逐像素地直接扫描到用户的眼睛。为了在3D虚拟视图310中创建三维(3D)效果,在两个图像中的不同深度或距离处的对象作为距离的三角测量的函数向左或向右移位,其中较近的对象比较远的对象移位得更多。
HMD 300还可包括控制器304,该控制器304被配置为实现如本文所述的混合现实系统的HMD侧功能。在一些实施方案中,HMD 300还可包括存储器330,该存储器330被配置为存储可由控制器304执行的混合现实系统的HMD部件的软件(代码332)以及在控制器304上执行时可由代码332使用的数据334。
在各种实施方案中,控制器304可为包括一个处理器的单处理器系统、或者包括若干个处理器(例如,两个、四个、八个或另一个适当数量)的多处理器系统。控制器304可包括被配置为实现任何合适的指令集架构的中央处理单元(CPU),并且可被配置为执行在该指令集架构中定义的指令。例如,在各种实施方案中,控制器304可包括实现多种指令集架构(ISA)(诸如x86、PowerPC、SPARC、RISC或MIPS ISA、或任何其它合适的ISA)中的任何指令集架构的通用处理器或嵌入式处理器。在多处理器系统中,每个处理器可共同实现相同的ISA,但不是必需的。控制器304可采用任何微架构,包括标量、超标量、流水线、超流水线、乱序、有序、推测性、非推测性等,或它们的组合。控制器304可包括实现微码技术的电路。控制器304可包括各自被配置为执行指令的一个或多个处理核心。控制器304可包括一个或多个级别的高速缓存,其可采用任何大小和任何配置(集合关联、直接映射等)。
在一些实施方案中,控制器304可包括至少一个图形处理单元(GPU),该至少一个图形处理单元(GPU)可包括任何合适的图形处理电路。通常,GPU可被配置为将待显示对象渲染到帧缓冲区中(例如,包括整个帧的像素数据的帧缓冲区)。GPU可包括一个或多个图形处理器,该图形处理器可执行图形软件以进行部分或全部的图形操作或某些图形操作的硬件加速。在一些实施方案中,控制器304可包括用于处理和渲染视频和/或图像的一个或多个其它部件,例如图像信号处理器(ISP)、编码器/解码器(编解码器)等。在一些实施方案中,控制器304可包括至少一个片上系统(SOC)。
存储器330可包括任何类型的存储器,诸如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双数据速率(DDR、DDR2、DDR3等)SDRAM(包括SDRAM的移动版本,诸如mDDR3等,或SDRAM的低功率版本,诸如LPDDR2等)、RAMBUS DRAM(RDRAM)、静态RAM(SRAM)等,或存储器模块,诸如单列直插存储器模块(SIMM)、双列直插存储器模块(DIMM)等。在一些实施方案中,存储器设备可以与实现系统的集成电路在芯片堆叠构型、封装堆叠构型或者多芯片模块构型中安装。
在一些实施方案中,HMD 300可包括各种类型的传感器。在一些实施方案中,HMD300可包括至少一个惯性测量单元(IMU)306,该惯性测量单元(IMU)306被配置为检测HMD300的位置、取向和/或运动并向HMD 300的控制器304提供检测到的位置、取向和/或运动数据。在一些实施方案中,HMD 300包括收集关于用户的环境的信息(视频、深度信息、照明信息等)和关于用户的信息(例如,用户的表情、眼睛移动、手势等)的传感器320和322。传感器320和322可向HMD 300的控制器304提供收集的信息。传感器320和322可包括但不限于可见光相机(例如,摄像机)、红外(IR)相机、具有IR照明源的IR相机、光检测和测距(LIDAR)发射器和接收器/检测器,以及具有激光发射器和接收器/检测器的基于激光的传感器。图2中示出了示例性HMD的传感器。
HMD 300还可包括被配置为经由无线连接380与外部基站360通信以将传感器输入发送至基站360并从基站360接收压缩的渲染帧或切片的一个或多个无线技术接口308。在一些实施方案中,无线技术接口308可实现在HMD 300和基站360之间提供高度定向无线链路的专有无线通信技术(例如,60千兆赫(GHz)无线技术)。然而,在一些实施方案中,可使用其它商业(例如,Wi-Fi、蓝牙等)或专有无线通信技术。
基站360可为或可包括任何类型的计算系统或计算设备,诸如台式计算机、笔记本或膝上型计算机、平板或平板设备、智能电话、手持式计算设备、游戏控制器、游戏系统等等。基站360可包括控制器362,该控制器362包括被配置为实现如本文所述的混合现实系统的基站侧功能的一个或多个处理器。基站360还可包括存储器364,该存储器364被配置为存储可由控制器362执行的混合现实系统的基站部件的软件(代码366)以及在控制器362上执行时可由代码366使用的数据368。
在各种实施方案中,控制器362可为包括一个处理器的单处理器系统、或者包括若干个处理器(例如,两个、四个、八个或另一个适当数量)的多处理器系统。控制器362可包括被配置为实现任何合适的指令集架构的中央处理单元(CPU),并且可被配置为执行在该指令集架构中定义的指令。例如,在各种实施方案中,控制器362可包括实现多种指令集架构(ISA)(诸如x86、PowerPC、SPARC、RISC或MIPS ISA、或任何其它合适的ISA)中的任何指令集架构的通用处理器或嵌入式处理器。在多处理器系统中,每个处理器可共同实现相同的ISA,但不是必需的。控制器362可采用任何微架构,包括标量、超标量、流水线、超流水线、乱序、有序、推测性、非推测性等,或它们的组合。控制器362可包括实现微码技术的电路。控制器362可包括各自被配置为执行指令的一个或多个处理核心。控制器362可包括一个或多个级别的高速缓存,其可采用任何大小和任何配置(集合关联、直接映射等)。
在一些实施方案中,控制器362可包括至少一个图形处理单元(GPU),该至少一个图形处理单元(GPU)可包括任何合适的图形处理电路。通常,GPU可被配置为将待显示对象渲染到帧缓冲区中(例如,包括整个帧的像素数据的帧缓冲区)。GPU可包括一个或多个图形处理器,该图形处理器可执行图形软件以进行部分或全部的图形操作或某些图形操作的硬件加速。在一些实施方案中,控制器362可包括用于处理和渲染视频和/或图像的一个或多个其它部件,例如图像信号处理器(ISP)、编码器/解码器(编解码器)等。在一些实施方案中,控制器362可包括至少一个片上系统(SOC)。
存储器364可包括任何类型的存储器,诸如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双数据速率(DDR、DDR2、DDR3等)SDRAM(包括SDRAM的移动版本,诸如mDDR3等,或SDRAM的低功率版本,诸如LPDDR2等)、RAMBUS DRAM(RDRAM)、静态RAM(SRAM)等,或存储器模块,诸如单列直插存储器模块(SIMM)、双列直插存储器模块(DIMM)等。在一些实施方案中,存储器设备可以与实现系统的集成电路在芯片堆叠构型、封装堆叠构型或者多芯片模块构型中安装。
基站360还可包括被配置为经由无线连接380与HMD 300通信以从HMD 300接收传感器输入并将压缩的渲染帧或切片从基站360发送至HMD 300的一个或多个无线技术接口370。在一些实施方案中,无线技术接口370可实现在HMD 300和基站360之间提供高度定向无线链路的专有无线通信技术(例如,60千兆赫(GHz)无线技术)。在一些实施方案中,无线通信技术的定向性和带宽(例如,60GHz)可支持同时与基站360通信的多个HMD 300,从而使得多个用户能够同时在协同定位的环境中使用该系统。然而,在一些实施方案中,可使用其它商业(例如,Wi-Fi、蓝牙等)或专有无线通信技术。
基站360可被配置为至少部分地基于从HMD 300接收的世界传感器320和用户传感器322输入来渲染帧并将帧传输至HMD 300,从而为用户提供3D虚拟视图310。虚拟视图310可包括渲染用户的环境,包括基于由一个或多个场景相机(例如,RGB(可见光)摄像机)捕获的视频来渲染用户的环境中的真实对象312,该一个或多个场景相机实时捕获用户的环境的高质量、高分辨率视频以用于显示。虚拟视图310还可包括由基站360渲染并与用户真实环境的投影3D视图复合的虚拟内容(例如,虚拟对象314、用于真实对象312的虚拟标签315、用户的化身等)。图4描述了根据一些实施方案的用于收集和处理传感器输入以生成3D虚拟视图310中的内容的示例性方法,该内容可用于如图3所示的混合现实系统。
图4是根据至少一些实施方案的如图1至图3所示的混合现实系统的操作的方法的高级流程图。混合现实系统可包括HMD,诸如头戴式耳机、头盔、护目镜或眼镜,该HMD包括用于向用户的眼睛显示包括左图像和右图像的帧的显示器部件,从而向用户提供3D虚拟视图。3D虚拟视图可包括用虚拟内容(例如,虚拟对象、虚拟标签等)扩充的用户环境的视图。混合现实系统还可包括基站,该基站被配置为经由无线接口从HMD接收传感器输入(包括在HMD上由相机捕获的帧以及眼睛和运动跟踪输入),至少部分地根据传感器输入渲染混合现实帧,压缩混合现实帧,并经由无线接口将压缩帧传输至HMD以用于显示。
如在400处所指示的,在HMD上的一个或多个世界传感器可捕获关于用户的环境的信息(例如,视频、深度信息、照明信息等),并将该信息作为输入提供到HMD的控制器。如在410处所指示的,在HMD上的一个或多个用户传感器可捕获关于用户的信息(例如,用户的表情、眼睛移动、手势等),并将该信息作为输入提供到HMD的控制器。元素410和420可并行地执行,并且可在用户使用混合现实系统时连续地执行以提供传感器输入。如在420处所指示的,HMD通过无线连接向基站发送至少一些传感器数据。在一些实施方案中,HMD的控制器可在将传感器数据传输至基站之前执行传感器数据的一些处理,例如压缩。如在430处所指示的,基站的控制器可至少部分地基于经由无线连接从HMD接收的来自世界传感器和用户传感器的输入来渲染包括虚拟内容的帧部分(帧部分可包括整个帧或帧的切片)。如在440处所指示的,基站压缩渲染的帧或切片,并且通过无线连接将压缩的帧或切片发送至HMD。如在450处所指示的,HMD解压缩从基站接收的帧或切片并显示帧或切片以提供包括虚拟内容的3D虚拟视图和用户的环境的视图以供用户查看。如从元素460返回到元素400的箭头所指示的,只要用户正在使用混合现实系统,基站就可继续接收和处理来自传感器的输入以渲染由HMD显示的帧或切片。
渲染和传输整个帧可具有延迟和存储器影响,因为每个帧需要被完成、存储,然后被传输至混合现实系统的下一阶段。在一些实施方案中,基站可渲染帧的一部分(称为切片)并在渲染的切片准备好时将渲染的切片传输至HMD,而不是在基站中渲染整个帧并将渲染的帧传输至HMD。切片可以是帧的一条或多条线,或者可以是帧的N×M像素区段或区域。需注意,本文可使用术语“帧部分”以指代如上所述的整个帧或帧的切片。
无线连接上的带宽和延迟约束
在如图1至图4所示的混合现实系统中HMD和基站之间的无线链路上要考虑的两个主要约束是带宽和延迟。目标是以为用户提供高质量MR视图的帧率(例如,60帧至120帧每秒(FPS))向用户提供高分辨率、宽视场(FOV)虚拟显示。另一个目标是使HMD捕获视频帧的时间与HMD显示基于视频帧的渲染MR帧的时间之间的延迟最小化,例如减小到亚毫秒(ms)范围。在实施方案中,可使用各种方法和装置来保持通过无线链路的目标帧率并且最小化帧渲染、发送和显示中的延迟。
翘曲空间渲染
一些实施方案可采用翘曲空间渲染来降低场景相机捕获的帧的分辨率,这减少了计算时间、功耗、带宽使用和延迟。理想的是,在用户正在查看的任何方向上,显示器上应具有相同的分辨率。在翘曲空间渲染方法中,代替在渲染帧时执行直线投影,其趋于过采样图像的边缘,尤其是在宽FOV帧中,应用将帧转换成翘曲空间的转换。然后以相等的角度对翘曲空间进行重采样。以相等角度重采样产生了朝向边缘具有较低分辨率的翘曲空间帧,并且在应用于翘曲空间帧时渲染过程导致渲染的帧在用户正在查看的任何方向上在显示器上提供相同或相似的分辨率。
图5A至图5D以图形方式示出了根据一些实施方案的翘曲空间渲染。图5A和图5B示出了常规的直线渲染。图5A示出了使用常规直线投影方法从视点发射光线以对帧500进行采样。在直线投影方法中,光线以相等的距离d从视点发射到3D虚拟空间中以对帧500进行重采样。然后由渲染应用程序渲染重采样的帧以生成用于显示的图像。
如图5B所示,直线投影方法生成在整个显示器502上具有相同分辨率504的图像。可选择距离d以在用户查看显示器502的中心时提供良好的细节。然而,人眼592只能以一定角度分辨率594来分辨细节。如在5B图中可见,当用户正朝显示器502的边缘看时,图像分辨率高于眼睛的角度分辨率594。因此,直线投影方法趋于朝向图像的边缘过采样。对于宽视场显示器尤其如此。
图5C和图5D示出了翘曲空间渲染。图5C示出了使用翘曲空间投影方法从视点发射光线以对帧500进行采样。在翘曲空间投影方法中,帧500被转换成翘曲空间510,并且光线以相等角度A从视点发射到3D虚拟空间中以对帧500进行重采样。然后由渲染应用程序渲染重采样的帧以生成用于显示的图像。
如5D图所示,翘曲空间投影方法生成在显示器502的中心处具有较高分辨率并且朝向显示器502的边缘分辨率较低的图像。如在图5D中可见,当用户正朝显示器502的边缘看时,因为显示器502的边缘比显示器的中心距眼睛592的瞳孔更远,所以边缘处的较低图像分辨率提供与在显示器502的中心处提供的类似分辨率并且不像在直线投影方法中那样对于眼睛的角度分辨率594过采样。
因此,翘曲空间渲染方法对帧进行重采样,使得渲染引擎仅光栅化并渲染其实际需要的样本数,而不管用户正在查看的方向如何。翘曲空间渲染方法降低了渲染帧所需的分辨率,并且因此减少了渲染帧所需的时间,这减少了延迟,并且还减少了需要通过HMD和基站之间的无线链路传输的位的数量,这减少了带宽使用和延迟。
图6是根据一些实施方案的用于翘曲空间渲染以降低由基站渲染的帧的分辨率的方法的流程图。在一些实施方案中,HMD的部件(例如ISP)可执行翘曲空间投影方法,以在将帧传输至基站之前对由场景相机捕获的帧进行重采样。如在600处所指示的,可从HMD场景相机获得帧。如在610处所指示的,可对帧应用转换以将帧转换成翘曲空间。如在620处所指示的,然后可如图5C所示以相等角度对翘曲空间帧进行重采样。如在630处所指示的,重采样的帧可被压缩并通过无线连接被发送至基站。如在640处所指示的,基站然后可对翘曲空间帧执行渲染操作以生成用于显示的渲染帧。如在650处所指示的,基站然后可压缩渲染的帧并通过无线连接将压缩的帧发送至HMD。如在660处所指示的,HMD然后可解压缩并显示帧。如通过从元素670返回到元素60的箭头所指示的,只要用户正在使用混合现实系统,该方法就可以继续。
中心凹形渲染
在一些实施方案中可使用的另一种方法可被称为中心凹形渲染,其可用于在将帧传输至HMD之前降低由基站渲染的帧的分辨率,这减少了带宽使用和延迟。图7以图形方式示出了根据一些实施方案的中心凹形渲染。在中心凹形渲染方法中,由基站从HMD的注视跟踪相机708接收的注视跟踪信息可用于识别用户当前正在查看的方向(称为注视方向706)。人眼792在中心凹794处可感知到比在视网膜的外围区域796中更高的分辨率。可根据所确定的注视方向706和已知的参数(例如,眼睛792参数和从眼睛792到显示器700的距离)来估计对应于中心凹的帧区域(称为中心凹形区域702)。中心凹形区域702可以较高的分辨率(例如,渲染其的分辨率)经由无线连接传输至HMD,而在传输至HMD之前,可将中心凹形区域702之外的帧(称为外围区域704)转换为较低分辨率,例如,通过将滤波器(例如带通滤波器)应用到外围区域704。中心凹形渲染方法减少渲染图像中的像素数量,这减少了需要通过无线链路传输至HMD的位的数量,这减少了带宽使用和延迟。此外,在一些实施方案中,帧的中心凹形区域702之外的外围区域704可通过无线连接以低于中心凹形区域702的帧率传输。
图8是根据一些实施方案的用于中心凹形渲染以在通过无线连接传输帧之前降低渲染的帧的分辨率的方法的流程图。例如,图8的方法可在图4的元素430和440之间执行。
基站可如图4的430处所示来渲染帧。如在800处所指示的,基站可根据从HMD接收的注视跟踪信息来确定用户的注视方向。在一些实施方案中,注视跟踪相机(例如,IR相机)可捕获用户眼睛的图像。捕获的图像可通过无线连接传输至基站。然后,基站可分析眼睛的图像以估计用户的当前注视方向。如在810处所指示的,可根据注视方向来确定中心凹形区域。在一些实施方案中,可根据所确定的注视方向和已知的参数(例如,眼睛参数和从眼睛到显示器700的距离)来估计中心凹形区域。如在820处指示的,例如,可通过将滤波器(例如带通滤波器)应用到外围区域来降低中心凹形区域之外的渲染的帧(称为外围区域)的分辨率。然后可压缩外围区域中具有降低分辨率的渲染帧,并通过无线连接将其传输至HMD,如图4的440处所示。
由于用户不能分辨外围区域以及中心凹形区域,因此在用户未注意到很大差异的情况下,相较于中心凹区域,可能较不频繁地更新外围区域。因此,在一些实施方案中,可减小用于更新外围区域的帧率。例如,可将帧的中心凹区域以目标帧率以每一帧的形式传输至HMD,而外围区域可仅每N帧(例如,每两帧、三帧或四帧)传输。
在一些实施方案中可使用的另一种方法可被称为中心凹形压缩。在中心凹形压缩方法中,可动态地基于从注视跟踪区域所确定的注视方向或静态地基于设定的系统参数确定中心凹形区域和外围区域。在一些实施方案中,可基于对人类视觉系统的了解预过滤外围区域来减少信息,例如通过过滤高频信息和/或增加色彩压缩。应用到外围区域的过滤的量可增大朝向图像的周边延伸。外围区域的预过滤可导致改进的帧压缩。另选地,可在外围区域中使用较高的压缩比。
动态渲染
在一些实施方案中可使用的另一种方法可被称为动态渲染。在动态渲染方法中,为了保持目标帧率和延迟,基站上的监视过程可监视无线连接上的带宽使用以及基站上的渲染应用程序正在生成帧的速率。在检测到带宽使用高于带宽阈值或帧渲染速率低于渲染阈值时,监视过程可动态地调节基站上的一个或多个渲染过程,以降低渲染帧的复杂性,并且因此降低渲染的帧的分辨率,从而可保持对HMD的目标帧率和延迟。在检测到带宽使用低于带宽阈值或帧渲染速率高于渲染阈值时,可调节渲染过程以增大渲染帧的复杂性并因此增大帧的分辨率。
在一些实施方案中,在编码过程之前对帧的处理可分成多个层,包括基底层和一个或多个附加层,使得传输至HMD的层数可基于无线连接的性能而改变。动态调节一个或多个渲染过程可涉及对层中的一个或多个层进行优先级划分;其它层可能不会被渲染。基底层是最重要的;如果不生成基底层,则系统将不得不丢弃帧。利用基底层,可渲染帧并以至少一定水平的质量显示帧。当包括附加层时,渲染和显示的帧的质量改进。
图9是根据一些实施方案的用于动态渲染保持通过无线连接的目标帧率和延迟的方法的流程图。如在900处所指示的,基站上的过程可监视基站上渲染过程的输出帧率,并且还可监视无线连接上的带宽使用。在一些实施方案中,为了监视输出帧率,可监视正在渲染的帧的输出缓冲量以确保渲染应用程序将及时完成帧,以便帧被传输至HMD并在足够的时间内由HMD显示。在910处,如果输出帧率低于渲染阈值或带宽使用高于带宽阈值,则该方法可转到元素920。否则,该过程将继续监视输出帧率和带宽使用。在一些实施方案中,如果检测到当前帧的输出缓冲量接近、等于或低于缓冲区阈值,则可减小用于一个或多个后续帧的渲染目标以保持帧高于缓冲阈值,这可有助于确保帧不被错过并且帧传输至HMD和由HMD显示帧保持在目标延迟内。在减小渲染目标之后,渲染应用程序以较低分辨率生成帧和/或向帧添加具有较少的虚拟内容的帧,这减少渲染帧所需的时间以及带宽使用,并且因此可允许系统保持目标帧率。
在920处减小渲染目标之后,该过程可继续监视输出帧率和带宽使用。在930处,如果检测到输出帧率高于渲染阈值或检测到带宽使用低于带宽阈值,则可增大渲染目标以生成更高分辨率的帧。
代替动态渲染或除了动态渲染之外,在一些实施方案中可使用的另一种方法可被称为动态压缩。在动态压缩方法中,为了保持目标帧率和延迟,基站上的监视过程监视无线链路上的带宽以及基站上的渲染应用程序正在生成帧的速率。在检测到带宽低于阈值或帧渲染速率低于阈值时,监视过程可动态地调节基站上的一个或多个压缩过程,以增大压缩比和/或增加图像的预过滤以减少高频内容,从而可保持对HMD的目标帧率和延迟。在检测到所监视的量度已达到或超过阈值时,可再次调节压缩过程以减小压缩比和/或预过滤。动态压缩可根据类似于图9所示的用于动态渲染的方法来实现。
基于运动的渲染
在一些实施方案中可使用的另一种方法可被称为基于运动的渲染。在该方法中,从HMD接收的运动跟踪信息可用于识别用户的头部的运动。如果用户未移动其头部或未移动太多,则可渲染帧并以较低的帧率发送至HMD。由于用户的头部未处于快速运动中,因此在较低的帧率下,用户可感知到很少或没有感知到差异。如果检测到快速头部运动,则能够增大帧率。
图10是根据一些实施方案的基于运动的渲染保持通过无线连接的目标帧率和延迟的方法的流程图。如在1000处所指示的,基站上的过程可根据从HMD接收的用户传感器数据来监视用户的头部的运动。在一些实施方案中,用户传感器数据可包括从HMD 200的头部姿势传感器222收集的信息,该信息由来自如图2所示的HMD 200的惯性测量单元(IMU)206的信息扩充。在1010处,如果检测到用户头部的快速运动,并且如果在1020处确定帧率当前较低(例如,低于目标帧率),则可增大帧率,如在1030处所指示。在1010处,如果未检测到用户的头部的快速运动,并且如果在1040处确定帧率当前较高(例如,处于目标帧率),则可增大帧率,如在1050处所指示。如由从元素1020-1050返回到元素100的箭头所指示的,只要用户正在使用混合现实系统,基站就可以继续监视用户的头部的运动并相应地调节帧率。
HMD独立模式
在一些实施方案中,如果与基站的无线连接丢失,例如如果基站关闭或对象来到HMD和基站之间,从而阻断无线链路,则HMD可被配置为用作独立设备作为回退位置。例如,这可出于安全原因而进行,使得即使基站不可用,用户仍可查看他们所处的真实环境。在检测到与基站的无线连接已被重新建立时,HMD可切换回处理和显示通过无线链路从基站接收的帧。
图11是根据一些实施方案的用于在检测到无线连接已丢失时在HMD上渲染和显示帧的方法的流程图。如在1100处所指示的,HMD上的过程可检测与基站的无线连接已丢失。如在1110处所指示的,在检测到无线连接已丢失时,HMD的场景相机捕获的帧可被路由到HMD的渲染引擎以待渲染用于显示。在一些实施方案中,HMD应用程序可在HMD处理器上执行以渲染待与渲染的帧复合并在虚拟视图中显示的虚拟内容,例如通知用户无线连接已丢失的消息。如在1120处所指示的,HMD然后可显示渲染的帧以生成3D虚拟视图以供用户查看。在检测到与基站的无线连接已被重新建立时,HMD可切换回处理和显示通过无线链路从基站接收的帧。
HMD帧处理
如前所述,HMD经由无线连接从基站接收压缩的帧。HMD包括用于解码(例如,解压缩和扩展/放大)并显示所接收的帧的流水线。目标是针对HMD的显示器保持目标帧率。缺失或不完整的帧是可能的。在一些实施方案中,为了保持对显示器的目标帧率,如果检测到缺失或不完整的帧,则可基于根据利用IMU信息扩充的头部姿势相机图像确定的头部姿势预测来旋转先前的帧;然后可由HMD来显示旋转的先前帧以代替当前帧。
虽然有可能解码并存储当前帧以用作先前帧,但如果下一帧缺失或不完整,则如本文所述的HMD的实施方案可包括两个解码器(称为当前帧解码器和先前帧解码器),并且因此可包括可基本上并行操作的两个解码流水线或路径。运行两个解码路径所需的功率量小于将完全解压缩的帧写至存储器以及从存储器读取帧所需的量。代替简单地解码和存储当前帧以可能用作先前帧,当从基站通过无线连接接收压缩的帧数据并开始在当前帧解码路径上处理时,压缩的当前帧数据也被写入先前帧解码路径上的缓冲区。在当前帧解码器路径上处理压缩的当前帧并写入先前帧缓冲区的同时,从先前帧缓冲区读取压缩的先前帧数据并在先前帧解码器路径上进行处理,该先前帧解码器路径解码(例如,解压缩和扩展/放大)并且基于根据利用IMU信息扩充的头部姿势相机图像确定的头部姿势预测来旋转先前帧。如果检测到当前帧是缺失或不完整的,则HMD可显示在先前帧解码器路径上处理的帧以代替缺失或不完整的当前帧。
图12是根据一些实施方案的用于处理和显示由HMD经由无线连接从基站接收的帧的方法的流程图。如在1200处所指示的,HMD经由无线连接从基站接收压缩的帧。元素1210、1220和1230可基本上并行地执行。如在1210处所指示的,当前帧在当前帧解码路径上解压缩和处理。如在1220处所指示的,还将压缩的当前帧数据写入先前帧解码路径上的缓冲区。如在1230处所指示的,在先前帧解码路径上解压缩和处理存储在缓冲区中的先前帧。在1240处,如果确定整个当前帧已被接收和处理并且因此准备好显示,则经处理的当前帧由HMD显示。否则,在1240处,如果确定当前帧为缺失或不完整的,则被旋转以匹配用户的预测运动的经处理的先前帧可由HMD显示以代替缺失或不完整的当前帧。如通过从元素1270返回到元素1200的箭头所指示的,只要用户正在使用混合现实系统,HMD就可继续接收、处理和显示帧。
示例性实施方案
可根据以下条款描述本公开的实施方案:
1.一种头戴式显示器(HMD),包括:
一个或多个处理器;
一个或多个相机,所述一个或多个相机被配置为捕获包括用户的环境的视图的帧;和
显示子系统,所述显示子系统用于向所述用户显示3D虚拟视图;
其中所述一个或多个处理器被配置为:
将由所述一个或多个相机捕获的帧转换成翘曲空间;
对于每个帧,以相等的角度对所述翘曲空间进行重采样以生成翘曲空间帧;
通过无线连接将所述翘曲空间帧传输至基站;以及
解压缩通过所述无线连接从所述基站接收的压缩的渲染帧并将所述渲染的帧提供至所述显示子系统以用于显示。
2.根据条款1所述的HMD,其中所述基站渲染、压缩帧切片并通过所述无线连接将帧切片传输至所述HMD,并且其中为了解压缩通过所述无线连接从所述基站接收的所述压缩的渲染帧并将所述渲染的帧提供至所述显示子系统以用于显示,所述一个或多个处理器被配置为解压缩所述压缩的所述帧切片并将所述渲染的帧提供至所述显示子系统以用于显示。
3.根据条款1所述的HMD,其中所述渲染的帧包括与所述用户的环境的视图复合的计算机生成的虚拟内容或与计算机生成的三维(3D)虚拟世界的视图复合的所述用户的环境中的对象的表示。
4.根据条款1所述的HMD,其中所述一个或多个处理器被配置为在通过所述无线连接传输至所述基站之前压缩所述翘曲空间帧。
5.根据条款1所述的HMD,其中所述HMD还包括被配置为捕获所述用户的眼睛的图像的一个或多个注视跟踪相机,其中所述一个或多个处理器被进一步配置为通过所述无线连接将由所述注视跟踪相机捕获的所述图像传输至所述基站,并且其中所述基站被配置为至少部分地基于根据由所述一个或多个注视跟踪相机捕获并且通过所述无线连接从所述HMD接收的所述图像确定的注视方向来渲染所述帧。
6.根据条款1所述的HMD,其中所述HMD还包括被配置为捕获关于所述用户和所述用户的环境的数据的多个传感器,其中所述一个或多个处理器被进一步配置为通过所述无线连接将所述传感器数据传输至所述基站,并且其中所述基站被配置为至少部分地基于从所述HMD接收的所述传感器数据来渲染所述帧。
7.根据条款6所述的HMD,其中所述多个传感器包括以下中的一者或多者:
被配置为捕获所述环境中的深度信息的一个或多个传感器;
被配置为跟踪所述用户的眼睛的注视方向的一个或多个传感器;
被配置为跟踪所述HMD在所述环境中的位置和运动的一个或多个传感器;或者
被配置为跟踪所述用户的面部的表情的一个或多个传感器。
8.根据条款1所述的HMD,其中所述HMD还包括被配置为捕获所述环境中的对象的范围信息的一个或多个深度传感器,其中所述一个或多个处理器被进一步配置为通过所述无线连接将所述范围信息传输至所述基站,其中所述基站被配置为至少部分地基于来自所述一个或多个深度传感器的所述范围信息来渲染所述帧。
9.根据条款1所述的HMD,其中所述HMD还包括惯性测量单元(IMU)和被配置为跟踪所述环境中所述用户的位置和运动的一个或多个头部姿势相机,其中所述一个或多个处理器被配置为:
基于由利用从所述IMU接收的信息扩充的一个或多个头部姿势相机捕获的图像来确定所述用户的头部的位置并且预测所述用户的头部的运动;以及
通过所述无线链路将头部位置和头部运动预测信息传输至所述基站;
其中所述基站被配置为至少部分地基于从所述HMD接收的所述头部位置和所述头部运动预测信息来渲染所述帧。
10.根据条款1所述的HMD,其中所述一个或多个处理器被进一步配置为:
监视与所述基站的所述无线连接;
响应于检测到与所述基站的所述无线连接已丢失:
通过所述一个或多个处理器,基于由所述一个或多个相机捕获的所述帧来渲染包括所述用户的环境的视图的一个或多个帧;
以及
将所述渲染的一个或多个帧提供至所述显示子系统以用于显示。
11.根据条款1所述的HMD,其中所述HMD还包括存储器,所述存储器包括可由所述HMD的所述一个或多个处理器中的至少一个处理器执行以实现渲染应用程序的程序指令,所述渲染应用程序被配置为生成虚拟内容,其中所述一个或多个处理器被配置为将由所述HMD生成的所述虚拟内容与由所述HMD渲染的所述一个或多个帧中的至少一个帧复合。
12.根据条款1所述的HMD,其中所述HMD还包括当前帧解码器和先前帧解码器,所述当前帧解码器和所述先前帧解码器各自被配置为解压缩和处理通过所述无线连接从所述基站接收的帧,其中所述一个或多个处理器被配置为:
通过所述无线连接从所述基站接收压缩的当前帧;
将所述压缩的当前帧写入先前帧缓冲区,并且将所述压缩的当前帧传送到所述当前帧解码器以解压缩和处理所述当前帧;以及
在所述当前帧解码器正在解压缩和处理所述当前帧时,同时解压缩和处理来自所述先前帧解码器上的所述先前帧缓冲区的先前帧。
13.根据条款12所述的HMD,其中所述一个或多个处理器被进一步配置为:
监视通过所述无线连接从所述基站接收所述压缩的当前帧以及由所述当前帧解码器对所述当前帧的解压缩和处理,以检测缺失或不完整的帧;以及
在检测到当前帧是缺失或不完整的时,显示由所述先前帧解码器解压缩和处理的所述先前帧以代替所述缺失或不完整的当前帧。
14.根据条款12所述的HMD,其中在所述先前帧解码器上处理所述先前帧包括基于根据由所述HMD的一个或多个传感器收集的传感器数据确定的头部姿势预测来旋转所述先前帧。
15.一种系统,包括:
基站,所述基站包括一个或多个处理器;和
头戴式显示器(HMD),所述头戴式显示器包括:
一个或多个处理器;
一个或多个相机,所述一个或多个相机被配置为捕获包括用户的环境的视图的帧;和
显示子系统,所述显示子系统用于向所述用户显示3D虚拟视图;
其中所述HMD被配置为:
将由所述一个或多个相机捕获的帧转换成翘曲空间;
对于每个帧,以相等的角度对所述翘曲空间进行重采样以生成翘曲空间帧;以及
通过无线连接将所述翘曲空间帧传输至所述基站;
其中所述基站被配置为:
至少部分地基于所述翘曲空间帧来渲染帧部分;
压缩所述渲染的帧部分;以及
通过所述无线连接将所述压缩的帧部分传输至所述HMD;
其中所述HMD被配置为解压缩从所述基站接收的所述压缩的帧部分,并且将所述渲染的帧部分提供至所述显示子系统以用于显示。
16.根据条款15所述的系统,其中帧部分包括整个帧或帧的切片。
17.根据条款15所述的系统,其中所述渲染的帧部分包括与所述用户的环境的视图复合的计算机生成的虚拟内容或与计算机生成的三维(3D)虚拟世界的视图复合的所述用户的环境中的对象的表示。
18.根据条款15所述的系统,其中所述HMD被配置为在通过所述无线连接传输至所述基站之前,压缩所述翘曲空间帧,并且其中所述基站被配置为在渲染来自所述翘曲空间帧的所述帧部分之前,解压缩所述压缩的翘曲空间帧。
19.根据条款15所述的系统,其中所述HMD还包括被配置为捕获所述用户的眼睛的图像的一个或多个注视跟踪相机,其中所述HMD被进一步配置为通过所述无线连接将由所述注视跟踪相机捕获的所述图像传输至所述基站,并且其中所述基站被配置为在压缩渲染的帧部分之前:
根据由所述一个或多个注视跟踪相机捕获并且通过所述无线连接从所述HMD接收的至少一个图像来确定注视方向;
至少部分地基于所述确定的注视方向来确定所述渲染的帧部分内的中心凹形区域;以及
将滤波器应用到所述中心凹形区域之外的所述渲染的帧部分的外围区域,以降低所述外围区域中的分辨率,同时保持所述中心凹形区域中的较高分辨率。
20.根据条款15所述的系统,其中所述HMD还包括被配置为捕获关于所述用户和所述用户的环境的数据的多个传感器,其中所述HMD被进一步配置为通过所述无线连接将所述传感器数据传输至所述基站,并且其中为了渲染来自翘曲空间帧的帧部分,所述基站被配置为至少部分地基于从所述HMD接收的所述传感器数据来渲染所述帧部分。
21.根据条款20所述的系统,其中所述多个传感器包括以下中的一者或多者:
被配置为捕获所述环境中的深度信息的一个或多个传感器;
被配置为跟踪所述用户的眼睛的注视方向的一个或多个传感器;
被配置为跟踪所述HMD在所述环境中的位置和运动的一个或多个传感器;或者
被配置为跟踪所述用户的面部的表情的一个或多个传感器。
22.根据条款15所述的系统,其中所述HMD还包括被配置为捕获所述环境中的对象的范围信息的一个或多个深度传感器,其中所述基站被配置为至少部分地基于来自所述一个或多个深度传感器的所述范围信息来确定渲染用于在所述3D虚拟视图中显示的内容的深度。
23.根据条款15所述的系统,其中所述HMD还包括惯性测量单元(IMU)和被配置为跟踪所述环境中所述用户的位置和运动的一个或多个头部姿势相机,其中所述HMD被配置为:
基于由利用从所述IMU接收的信息扩充的一个或多个头部姿势相机捕获的图像来确定所述用户的头部的位置并且预测所述用户的头部的运动;以及
通过所述无线链路将头部位置和头部运动预测信息传输至所述基站;
其中,为了渲染来自翘曲空间帧的帧部分,所述基站被配置为至少部分地基于从所述HMD接收的所述头部位置和所述头部运动预测信息来渲染所述帧部分。
24.根据条款15所述的系统,其中所述系统被配置为以一定帧率渲染、传输和显示渲染的帧部分,并且其中所述基站被配置为:
根据从所述HMD接收的传感器数据来监视所述用户的头部的运动;
在检测到所述用户的头部未处于快速运动时,降低渲染帧部分并且传输至所述HMD以用于显示的速率;以及
在检测到所述用户的头部的快速运动时,提高渲染帧部分和传输至所述HMD以用于显示的速率。
25.根据条款15所述的系统,其中所述基站还包括存储器,所述存储器包括可由所述一个或多个处理器中的至少一个处理器执行以实现渲染应用程序的程序指令,所述渲染应用程序被配置为至少部分地基于通过所述无线连接从所述HMD接收的传感器数据来生成与来自所述翘曲空间帧的所述用户的环境的视图复合的虚拟内容。
26.根据条款25所述的系统,其中所述系统被配置为以一定帧率渲染、传输和显示渲染的帧部分,并且其中所述基站被配置为:
监视由所述基站上的所述渲染应用程序渲染帧部分的速率;
以及
响应于检测到所述渲染速率低于阈值,引导所述渲染应用程序降低一个或多个渲染过程的复杂性,其中降低所述一个或多个渲染过程的复杂性降低了所述渲染的帧部分的分辨率并且增大渲染帧部分的速率。
27.根据条款25所述的系统,其中所述系统被配置为以目标帧率渲染、传输和显示所述渲染的帧部分,并且其中所述基站被配置为:
监视所述HMD和所述基站之间的所述无线连接上的带宽使用;以及
响应于检测到所述带宽使用高于阈值,引导所述渲染应用程序降低一个或多个渲染过程的复杂性,其中降低所述一个或多个渲染过程的复杂性降低了所述渲染的帧部分的分辨率。
28.根据条款15所述的系统,其中所述HMD被配置为:
监视与所述基站的所述无线连接;
响应于检测到与所述基站的所述无线连接已丢失:
通过所述HMD,基于由所述一个或多个相机捕获的所述帧来渲染包括所述用户的环境的视图的一个或多个帧;以及
将所述渲染的一个或多个帧提供至所述显示子系统以用于显示。
29.根据条款15所述的系统,其中所述HMD还包括存储器,所述存储器包括可由所述HMD的所述一个或多个处理器中的至少一个处理器执行以实现渲染应用程序的程序指令,所述渲染应用程序被配置为生成虚拟内容,其中所述HMD被进一步配置为将由所述HMD生成的所述虚拟内容与由所述HMD渲染的所述一个或多个帧中的至少一个帧复合。
30.根据条款15所述的系统,其中所述HMD还包括当前帧解码器和先前帧解码器,所述当前帧解码器和所述先前帧解码器各自被配置为解压缩和处理通过所述无线连接从所述基站接收的帧,其中所述HMD被配置为:
通过所述无线连接从所述基站接收压缩的当前帧;
将所述压缩的当前帧写入先前帧缓冲区,并且将所述压缩的当前帧传送到所述当前帧解码器以解压缩和处理所述当前帧;以及
在所述当前帧解码器正在解压缩和处理所述当前帧时,同时解压缩和处理来自所述先前帧解码器上的所述先前帧缓冲区的先前帧。
31.根据条款30所述的系统,其中所述HMD被进一步配置为:
监视通过所述无线连接从所述基站接收所述压缩的当前帧以及由所述当前帧解码器对所述当前帧的解压缩和处理,以检测缺失或不完整的帧;以及
在检测到当前帧是缺失或不完整的时,显示由所述先前帧解码器解压缩和处理的所述先前帧以代替所述缺失或不完整的当前帧。
32.根据条款30所述的系统,其中在所述先前帧解码器上处理所述先前帧包括基于根据由所述HMD的一个或多个传感器收集的传感器数据确定的头部姿势预测来旋转所述先前帧。
33.一种方法,包括:
通过由用户穿戴的头戴式显示器(HMD)的一个或多个相机,捕获包括所述用户的环境的视图的帧;
通过所述HMD,将由所述一个或多个相机捕获的所述帧转换成翘曲空间;
对于每个帧,以相等的角度对所述翘曲空间进行重采样以生成翘曲空间帧;
通过无线连接将所述翘曲空间帧传输至基站;
通过所述基站,至少部分地基于所述翘曲空间帧来渲染帧部分;
压缩所述渲染的帧部分;
通过所述无线连接将所述压缩的帧部分传输至所述HMD;
通过所述HMD,解压缩从所述基站接收的所述压缩的帧部分;以及
通过所述HMD,显示所述渲染的帧部分以向所述用户提供3D虚拟视图。
34.根据条款33所述的方法,其中帧部分包括整个帧或帧的切片。
35.根据条款33所述的方法,其中所述渲染的帧部分包括与所述用户的环境的视图复合的计算机生成的虚拟内容或与计算机生成的三维(3D)虚拟世界的视图复合的所述用户的环境中的对象的表示。
36.根据条款33所述的方法,还包括在通过所述无线连接传输至所述基站之前压缩所述翘曲空间帧,并且在渲染来自所述翘曲空间帧的所述帧部分之前,解压缩所述压缩的翘曲空间帧。
37.根据条款33所述的方法,还包括:
通过所述HMD的或多个注视跟踪相机,捕获所述用户的眼睛的图像;
通过所述无线连接将由所述注视跟踪相机捕获的所述图像传输至所述基站;
在压缩渲染的帧部分之前,所述基站执行:
根据由所述一个或多个注视跟踪相机捕获并且通过所述无线连接从所述HMD接收的至少一个图像确定注视方向;
至少部分地基于所述确定的注视方向来确定所述渲染的帧部分内的中心凹形区域;以及
将滤波器应用到所述中心凹形区域之外的所述渲染的帧部分的外围区域,以降低所述外围区域中的分辨率,同时保持所述中心凹形区域中的较高分辨率。
38.根据条款33所述的方法,还包括:
通过所述HMD的多个传感器,捕获关于所述用户和所述用户的环境的传感器数据;以及
通过所述无线连接将所述传感器数据传输至所述基站;其中渲染来自翘曲空间帧的帧部分包括至少部分地基于从所述HMD接收的所述传感器数据来渲染所述帧部分。
39.根据条款38所述的方法,其中所述多个传感器包括被配置为捕获所述环境中的对象的范围信息的一个或多个深度传感器,其中渲染来自翘曲空间帧的帧部分包括至少部分地基于来自所述一个或多个深度传感器的所述范围信息来确定渲染内容在所述3D虚拟视图中的深度。
40.根据条款38所述的方法,还包括:
通过所述HMD,基于由利用从所述HMD的惯性测量单元(IMU)接收的信息扩充的所述一个或多个头部姿势相机捕获的图像来确定所述用户的头部的位置并且预测所述用户的头部的运动;以及
通过所述无线链路将头部位置和头部运动预测信息传输至所述基站;
其中渲染来自翘曲空间帧的帧部分包括至少部分地基于从所述HMD接收的所述头部位置和所述头部运动预测信息来渲染所述帧部分中的内容。
41.根据条款38所述的方法,还包括:
根据从所述HMD接收的所述传感器数据来监视所述用户的头部的运动;
在检测到所述用户的头部未处于快速运动时,降低渲染所述帧部分和传输至所述HMD以用于显示的帧率;以及
在检测到所述用户的头部的快速运动时,提高渲染所述帧部分和传输至所述HMD以用于显示的所述帧率。
42.根据条款33所述的方法,还包括:
监视由所述基站上的渲染应用程序渲染帧部分的速率;以及响应于检测到所述渲染速率低于阈值,引导所述渲染应用程序降低一个或多个渲染过程的复杂性,其中降低所述一个或多个渲染过程的复杂性降低了所述渲染的帧部分的分辨率并且增大渲染帧部分的速率。
43.根据条款33所述的方法,还包括:
监视所述HMD和所述基站之间的所述无线连接上的带宽使用;以及
响应于检测到所述带宽使用高于阈值,引导所述基站上的渲染应用程序降低一个或多个渲染过程的复杂性,其中降低所述一个或多个渲染过程的复杂性降低了所述渲染的帧部分的分辨率。
44.根据条款33所述的方法,还包括响应于所述HMD检测到与所述基站的所述无线连接已丢失:
通过所述HMD,基于由所述一个或多个相机捕获的所述帧来渲染包括所述用户的环境的视图的一个或多个帧;
通过所述HMD,生成指示所述无线连接已丢失的虚拟内容;
将所述虚拟内容与所述一个或多个渲染的帧中的至少一个渲染的帧复合;以及
通过所述HMD,向所述用户显示包括所述虚拟内容的所述渲染的一个或多个帧。
45.根据条款33所述的方法,还包括:
通过所述HMD,通过所述无线连接从所述基站接收压缩的当前帧;
将所述压缩的当前帧写入先前帧缓冲区,并将所述压缩的当前帧传送到所述HMD的当前帧解码器以解压缩和处理所述当前帧;并且
在所述当前帧解码器正在解压缩和处理所述当前帧时,同时解压缩和处理来自所述HMD的先前帧解码器上的所述先前帧缓冲区的先前帧,其中通过所述先前帧解码器处理所述先前帧包括基于根据由所述HMD的一个或多个传感器收集的传感器数据确定的头部姿势预测来旋转所述先前帧。
46.根据条款45所述的方法,还包括:
通过所述HMD,监视通过所述无线连接从所述基站接收所述压缩的当前帧以及由所述当前帧解码器对所述当前帧的解压缩和处理,以检测缺失或不完整的帧;以及
在检测到当前帧是缺失或不完整的时,显示由所述先前帧解码器解压缩和处理的所述先前帧以代替所述缺失或不完整的当前帧。
47.一种头戴式显示器(HMD),包括:
一个或多个处理器;
一个或多个相机,所述一个或多个相机被配置为捕获包括用户的环境的视图的帧;和
显示子系统;
其中所述一个或多个处理器被配置为:
将由所述一个或多个相机捕获的帧转换成翘曲空间;以及
对于每个帧,以相等的角度对所述翘曲空间进行重采样以生成翘曲空间帧;
通过无线连接将所述翘曲空间帧传输至基站;
通过所述无线连接从所述基站接收压缩的渲染帧部分,其中所述渲染的帧部分包括通过所述基站与所述翘曲空间帧复合的虚拟内容;以及
解压缩从所述基站接收的所述压缩的渲染帧部分;并且
其中所述显示子系统被配置为显示所述渲染的帧部分以向所述用户提供3D虚拟视图。
48.根据条款47所述的HMD,其中帧部分包括整个帧或帧的切片。
49.根据条款47所述的HMD,其中所述渲染的帧部分包括与所述用户的环境的视图复合的计算机生成的虚拟内容或与计算机生成的三维(3D)虚拟世界的视图复合的所述用户的环境中的对象的表示。
50.根据条款47所述的HMD,还包括被配置为捕获关于所述用户和所述用户的环境的数据的多个传感器,其中所述一个或多个处理器被进一步配置为通过所述无线连接将所述传感器数据传输至所述基站,其中所述基站至少部分地基于从所述HMD接收的所述传感器数据来渲染包括与所述翘曲空间帧复合的虚拟内容的所述帧部分。
51.根据条款50所述的HMD,其中所述多个传感器包括以下的一者或多者:
被配置为捕获所述环境中的深度信息的一个或多个传感器;
被配置为跟踪所述用户的眼睛的注视方向的一个或多个传感器;
被配置为跟踪所述HMD在所述环境中的位置和运动的一个或多个传感器;或者
被配置为跟踪所述用户的面部的表情的一个或多个传感器。52.根据条款47所述的HMD,其中所述HMD还包括:
惯性测量单元(IMU);和
一个或多个头部姿势相机,所述一个或多个头部姿势相机被配置为跟踪所述环境中所述用户的位置和运动;
其中所述一个或多个处理器被进一步配置为:
基于由利用从所述IMU接收的信息扩充的所述一个或多个头部姿势相机捕获的图像来确定所述用户的头部的位置并且预测所述用户的头部的运动;以及
通过所述无线链路将头部位置和头部运动预测信息传输至所述基站;
其中所述基站至少部分地基于从所述HMD接收的所述头部位置和所述头部运动预测信息来渲染包括与所述翘曲空间帧复合的虚拟内容的所述帧部分。
53.根据条款47所述的HMD,其中所述一个或多个处理器被进一步配置为:
监视与所述基站的所述无线连接;
响应于检测到与所述基站的所述无线连接已丢失:
基于由所述一个或多个相机捕获的所述帧来渲染包括所述用户的环境的视图的一个或多个帧;以及
将所述渲染的一个或多个帧提供至所述显示子系统以用于显示。
54.根据条款53所述的HMD,其中所述HMD还包括存储器,所述存储器包括可由所述一个或多个处理器中的至少一个处理器执行以实现渲染应用程序的程序指令,所述渲染应用程序被配置为生成虚拟内容,其中所述一个或多个处理器被进一步配置为将由所述HMD生成的所述虚拟内容与由所述HMD渲染的所述一个或多个帧中的至少一个帧复合。
55.根据条款47所述的HMD,还包括当前帧解码器和先前帧解码器,所述当前帧解码器和所述先前帧解码器各自被配置为解压缩和处理通过所述无线连接从所述基站接收的帧,其中所述一个或多个处理器被进一步配置为:
通过所述无线连接从所述基站接收压缩的当前帧;
将所述压缩的当前帧写入先前帧缓冲区,并且将所述压缩的当前帧传送到所述当前帧解码器以解压缩和处理所述当前帧;以及
在所述当前帧解码器正在解压缩和处理所述当前帧时,同时解压缩和处理来自所述先前帧解码器上的所述先前帧缓冲区的先前帧。
56.根据条款55所述的HMD,其中所述一个或多个处理器被进一步配置为:
监视通过所述无线连接从所述基站接收所述压缩的当前帧以及由所述当前帧解码器对所述当前帧的解压缩和处理,以检测缺失或不完整的帧;以及
在检测到当前帧是缺失或不完整的时,显示由所述先前帧解码器解压缩和处理的所述先前帧以代替所述缺失或不完整的当前帧。
57.根据条款55所述的HMD,其中在所述先前帧解码器上处理所述先前帧包括基于根据由所述HMD的一个或多个传感器收集的传感器数据确定的头部姿势预测来旋转所述先前帧。
58.一种设备,包括:
一个或多个处理器;和
存储器,所述存储器包括程序指令,所述程序指令可由所述一个或多个处理器执行以:
经由无线连接从头戴式显示器(HMD)接收翘曲空间帧,其中所述翘曲空间帧包括由所述HMD的一个或多个相机捕获的环境的视图,其中所述翘曲空间帧由所述HMD通过将由所述一个或多个相机捕获的帧转换成翘曲空间并对所述翘曲空间进行重采样以生成翘曲空间帧而生成;
渲染帧部分,所述帧部分包括与来自所述翘曲空间帧的所述用户的环境的视图复合的虚拟内容;
压缩所述渲染的帧部分;以及
通过所述无线连接将所述压缩的渲染帧部分传输至所述HMD以显示给所述用户,其中所述显示的渲染帧部分向穿戴所述HMD的用户提供包括所述虚拟内容的所述环境的3D虚拟视图。
59.根据条款58所述的设备,其中帧部分包括整个帧或帧的切片。
60.根据条款58所述的设备,其中所述渲染的帧部分包括与所述用户的环境的视图复合的计算机生成的虚拟内容或与计算机生成的三维(3D)虚拟世界的视图复合的所述用户的环境中的对象的表示。
61.根据条款58所述的设备,其中所述程序指令进一步可由所述一个或多个处理器执行以:
经由所述无线连接接收由所述HMD的注视跟踪相机捕获的图像;并且
在压缩渲染的帧部分之前:
根据由所述一个或多个注视跟踪相机捕获的至少一个图像确定注视方向;
至少部分地基于所述确定的注视方向来确定所述渲染的帧部分内的中心凹形区域;以及
将滤波器应用到所述中心凹形区域之外的所述渲染的帧部分的外围区域,以降低所述外围区域中的分辨率,同时保持所述中心凹形区域中的较高分辨率。
62.根据条款58所述的设备,其中为了压缩渲染的帧部分,所述程序指令进一步可由所述一个或多个处理器执行以:
确定所述渲染的帧部分内的中心凹形区域;
以一定压缩比压缩所述渲染的帧部分的所述中心凹形区域;
并且
以比用于中心凹形区域的压缩比高的压缩比压缩所述渲染的帧部分的外围区域。
63.根据条款58所述的设备,其中所述程序指令进一步可由所述一个或多个处理器执行以:
经由所述无线连接从所述HMD接收由所述HMD的多个传感器从所述用户和所述用户的环境捕获的传感器数据;以及
至少部分地基于从所述HMD接收的所述传感器数据来渲染所述帧部分。
64.根据条款63所述的设备,其中所述多个传感器包括被配置为捕获所述环境中的对象的范围信息的一个或多个深度传感器,其中所述程序指令进一步可由所述一个或多个处理器执行以至少部分地基于来自所述一个或多个深度传感器的所述范围信息来渲染用于在所述3D虚拟视图中显示的内容。
65.根据条款63所述的设备,其中所述多个传感器包括:
惯性测量单元(IMU);和
一个或多个头部姿势相机,所述一个或多个头部姿势相机被配置为跟踪所述环境中所述用户的位置和运动;
其中所述程序指令进一步可由所述一个或多个处理器执行,以至少部分地基于由利用来自所述IMU的信息扩充的所述一个或多个头部姿势相机捕获的图像估计的头部位置和头部运动预测信息来渲染用于在所述3D虚拟视图中显示的内容。
66.根据条款63所述的设备,其中所述程序指令进一步可由所述一个或多个处理器执行以:
根据从所述HMD接收的所述传感器数据来监视所述用户的头部的运动;
在检测到所述用户的头部未处于快速运动时,降低渲染所述帧部分和传输至所述HMD以用于显示的速率;以及
在检测到所述用户的头部的快速运动时,提高渲染所述帧部分和传输至所述HMD以用于显示的速率。
67.根据条款58所述的设备,其中所述程序指令进一步可由所述一个或多个处理器执行以:
监视渲染帧部分的速率;以及
响应于检测到所述渲染速率低于阈值,降低一个或多个渲染过程的复杂性,其中降低所述一个或多个渲染过程的复杂性降低了所述渲染的帧部分的分辨率并且增大渲染帧部分的速率。
68.根据条款58所述的设备,其中所述程序指令进一步可由所述一个或多个处理器执行以:
监视所述HMD和所述基站之间的所述无线连接上的带宽使用;以及
响应于检测到所述带宽使用高于阈值,降低一个或多个渲染过程的复杂性,其中降低所述一个或多个渲染过程的复杂性降低了所述渲染的帧部分的分辨率。
69.根据条款58所述的设备,其中所述程序指令进一步可由所述一个或多个处理器执行以:
监视在所述基站上渲染帧部分的速率以及所述HMD和所述基站之间的所述无线连接上的带宽使用;
响应于检测到所述渲染速率低于渲染阈值或所述带宽使用高于带宽阈值,调节所述基站上的一个或多个压缩过程以增大压缩所述渲染的帧部分的压缩比。
70.根据条款58所述的设备,其中所述程序指令进一步可由所述一个或多个处理器执行以:
经由相应的无线连接从两个或更多个HMD接收翘曲空间帧,其中所述翘曲空间帧包括由所述相应HMD的所述相机捕获的所述环境的视图;
渲染帧部分,所述帧部分包括与来自所述翘曲空间帧的所述环境的视图复合的虚拟内容;
压缩所述渲染的帧部分;以及
通过所述相应无线连接将所述压缩的渲染帧部分传输至所述两个或更多个HMD中的相应HMD,以用于显示给相应用户,其中所述显示的渲染帧部分向穿戴所述HMD的用户提供包括相应虚拟内容的所述环境的相应3D虚拟视图。
71.一种头戴式显示器(HMD),包括:
一个或多个处理器;
惯性测量单元(IMU);
一个或多个头部姿势相机,所述一个或多个头部姿势相机被配置为跟踪所述环境中所述用户的位置和运动;和
显示子系统,所述显示子系统用于向所述用户显示3D虚拟视图;
其中所述一个或多个处理器被配置为:
基于由利用从所述IMU接收的信息扩充的一个或多个头部姿势相机捕获的图像来确定所述用户的头部的位置并且预测所述用户的头部的运动;以及
通过无线链路将头部位置和头部运动预测信息传输至基站,其中所述基站至少部分地基于从所述HMD接收的所述头部位置和所述头部运动预测信息来渲染帧;以及
解压缩通过所述无线连接从所述基站接收的压缩的渲染帧并将所述渲染的帧提供至所述显示子系统以用于显示。
71.一种头戴式显示器(HMD),包括:
一个或多个处理器;
显示子系统,所述显示子系统用于向所述用户显示3D虚拟视图;
当前帧解码器和先前帧解码器,所述当前帧解码器和所述先前帧解码器各自被配置为解压缩和处理通过无线连接从基站接收的帧;
其中所述一个或多个处理器被配置为:
通过所述无线连接从所述基站接收压缩的当前帧;
将所述压缩的当前帧写入先前帧缓冲区,并且将所述压缩的当前帧传送到所述当前帧解码器以解压缩和处理所述当前帧;以及
在所述当前帧解码器正在解压缩和处理所述当前帧时,同时解压缩和处理来自所述先前帧解码器上的所述先前帧缓冲区的先前帧。
72.根据条款71所述的HMD,其中所述一个或多个处理器被进一步配置为:
监视通过所述无线连接从所述基站接收所述压缩的当前帧以及由所述当前帧解码器对所述当前帧的解压缩和处理,以检测缺失或不完整的帧;以及
在检测到当前帧是缺失或不完整的时,显示由所述先前帧解码器解压缩和处理的所述先前帧以代替所述缺失或不完整的当前帧。
73.根据条款71所述的HMD,其中在所述先前帧解码器上处理所述先前帧包括基于根据由所述HMD的一个或多个传感器收集的传感器数据确定的头部姿势预测来旋转所述先前帧。
示例性混合现实系统
图13是根据一些实施方案的示出如图1至图12所示的示例性混合现实系统中的功能部件和处理的框图。混合现实系统可包括HMD 2000(用户穿戴的头戴式耳机、头盔、护目镜或眼镜)和基站2060(例如,计算系统、游戏控制台等)。HMD 2000和基站2060可各自包括无线接口部件(未示出),该无线接口部件允许HMD 2000和基站2060通过无线连接2080交换数据。在一些实施方案中,无线接口可根据在HMD 2000和基站2060之间提供高度定向无线链路的专有无线通信技术(例如,60千兆赫(GHz)无线技术)来实现。在一些实施方案中,无线通信技术的定向性和带宽(例如,60GHz)可支持同时与基站2060通信的多个HMD 2000,从而使得多个用户能够同时在协同定位的环境中使用该系统。然而,在一些实施方案中,可支持其它商业(例如,Wi-Fi、蓝牙等)或专有无线通信技术。
HMD 2000可包括收集关于用户的环境的信息(例如,视频、深度信息、照明信息等)的世界传感器和收集关于用户的信息(例如,用户的表情、眼睛移动、注视方向、手势等)的用户传感器(在图13中共同示为跟踪传感器2008)。示例性世界传感器和用户传感器在图2中示出。
在一些实施方案中,世界传感器可包括一个或多个场景相机2001(例如,RGB(可见光)摄像机),该一个或多个场景相机2001捕获用户环境的高质量视频,该高质量视频可用于向用户提供其真实环境的虚拟视图。在一些实施方案中,可存在两个场景相机2001(例如,左相机和右相机),它们位于HMD 2000的前表面上,基本上在用户每只眼睛前面的位置处。然而,在各种实施方案中,可使用更多或更少的场景相机2001,并且场景相机2001可被定位在其它位置处。
在一些实施方案中,世界传感器可包括一个或多个头部姿势相机2004(例如,IR或RGB相机),该一个或多个头部姿势相机2004可捕获可用于提供关于用户和/或用户的头部在环境中的位置、取向和/或运动的信息的图像。例如,当生成位置/预测数据时,由头部姿势相机2004收集的信息可用于扩充由HMD 2000的惯性测量单元(IMU)2012收集的信息。
在一些实施方案中,世界传感器可包括一个或多个世界标测或深度传感器2006(例如,具有IR照明源的红外(IR)相机或光检测和测距(LIDAR)发射器和接收器/检测器),该一个或多个世界标测或深度传感器2006例如捕获在用户的环境中的对象和表面的深度或范围信息(例如,IR图像)。
在一些实施方案中,跟踪传感器2008可包括可用于跟踪用户的眼睛的位置和移动的一个或多个注视跟踪传感器(例如,具有IR照明源的IR相机)。在一些实施方案中,注视跟踪传感器也可用于跟踪用户瞳孔的扩张。在一些实施方案中,可存在两个注视跟踪传感器,其中每个注视跟踪传感器跟踪相应的眼睛。
在一些实施方案中,跟踪传感器2008可包括跟踪用户的眉毛/前额的表情的一个或多个眉毛传感器(例如,具有IR照明的IR相机)。在一些实施方案中,跟踪传感器2008可包括跟踪用户的口部/颌部的表情的一个或多个下颌跟踪传感器(例如,具有IR照明的IR相机)。在一些实施方案中,跟踪传感器2008可包括跟踪用户的手部、手指和/或臂部的位置、移动和手势的一个或多个手部传感器(例如,具有IR照明的IR相机)。
HMD 2000可包括含有显示流水线2044和显示屏的显示部件或子系统;显示部件可实现各种类型的虚拟现实投影仪技术中的任一种。例如,HMD 2000可包括近眼VR投影仪,该近眼VR投影仪显示包括由用户查看的屏幕上的左图像和右图像的帧,诸如DLP(数字光处理)、LCD(液晶显示器)和LCoS(硅上液晶)技术投影仪。在一些实施方案中,屏幕可以是透视显示器。作为另一示例,HMD 2000可包括直接视网膜投影仪,该直接视网膜投影仪经由反射表面(例如,反射眼镜镜片)将包括左图像和右图像的帧逐像素地直接扫描到用户的眼睛。
HMD 2000可包括各种类型的处理器(片上系统(SOC)、CPU、图像信号处理器(ISP)、图形处理单元(GPU)、编码器/解码器(编解码器)等)中的一种或多种,该处理器可例如对由世界传感器和跟踪传感器收集的信息执行初始处理(例如,压缩)之后经由无线连接2080将信息传输至基站2060,并且可对从基站2060接收的压缩的帧执行处理(例如,解码/解压缩)之后将经处理帧提供到显示子系统以用于显示。
HMD 2000可包括软件应用程序2052(称为HMD应用程序),该软件应用程序2052被配置为在HMD 2000的至少一个处理器(例如,CPU)上执行以至少部分地基于来自HMD 2000的传感器输入生成内容以通过HMD 2000在3D虚拟视图中向用户显示。
基站2060可包括软件和硬件(例如,处理器(片上系统(SOC)、CPU、图像信号处理器(ISP)、图形处理单元(GPU)、编码器/解码器(编解码器)等)、存储器等),该软件和硬件被配置为至少部分地基于经由无线连接2080从HMD 2000接收的传感器信息来生成和渲染包括虚拟内容的帧,并且将渲染的帧压缩并经由无线连接2080将其传输至HMD 2000以用于显示。
基站2060可包括软件应用程序2063(称为基础应用程序),例如混合现实或虚拟现实应用程序,该软件应用程序2063被配置为在基站2060的至少一个处理器(例如CPU)上执行以至少部分地基于来自HMD 2000的传感器输入生成内容以通过HMD 2000在3D虚拟视图中向用户显示。内容可包括世界锚固的内容(包括基于场景相机2001输入的用户环境的虚拟视图和锚固到该视图的生成的虚拟内容)和头部锚固的内容(跟踪用户的头部的运动的生成的虚拟内容)。
以下描述了如图13所示的混合现实系统中的数据流和操作。
场景相机2001捕获用户的环境的视频帧。捕获的帧可例如通过HMD 2000的SOC上的ISP 2002进行初始处理、压缩2002,并且通过无线连接2080传输至基站2060。初始处理可包括但不限于一次或多次透镜校正。在一些实施方案中,ISP 2002可执行如图5A至图5B和图6所示的翘曲空间投影方法,以在帧被压缩2003和通过无线连接2080传输至基站2060之前,对由场景相机2001捕获的帧进行重采样。基站2060可经由无线连接2080接收压缩的场景相机翘曲空间帧,解压缩2061帧,并将帧数据写入帧缓冲区2062。
头部姿势相机2004(例如,IR或RGB相机)捕获可用于提供关于用户和/或用户的头部在环境中的位置、取向和/或运动的信息的图像。头部姿势图像可被传送至例如在HMD2000的SOC上执行的头部姿势预测2014过程。头部姿势预测2014过程也可从HMD 2000的惯性测量单元(IMU)2012获得数据。头部姿势预测2014过程可基于头部姿势图像和IMU数据生成位置/预测数据,并且通过无线连接2080将位置/预测数据发送至基站2060的世界锚固的内容处理2066部件。此外,可以通过无线连接2080将头部姿势图像发送至基站2060的基础应用程序2063。在一些实施方案中,头部姿势图像可在被传输至基站2060之前被HMD 2000压缩。
深度传感器2006可捕获用户环境中的对象和表面的深度或范围信息(例如,IR图像)。可通过无线连接2080将深度图像发送至基站2060的深度处理2064部件。在一些实施方案中,深度图像可在被传输至基站2060之前被HMD 2000压缩。
跟踪传感器2008可捕获关于用户的信息(例如,IR图像),例如注视跟踪信息和手势信息。用户跟踪图像可通过无线连接2080被发送至基站2060。在一些实施方案中,用户跟踪图像可在被传输至基站2060之前被HMD 2000压缩。可将用户跟踪图像中的至少一些发送至基础应用程序2063以用于处理和用于渲染虚拟视图的虚拟内容。也可将注视跟踪图像提供给基站2060的成凹2074过程。
基础应用程序2063从帧缓冲区2062读取场景相机帧数据。基础应用程序2063还经由无线连接2080接收和分析来自头部姿势相机的头部姿势图像和来自跟踪传感器2008的跟踪图像。基础应用程序2063可至少部分地基于由头部姿势图像和跟踪图像的分析生成的信息来生成场景的世界锚固的内容和头部锚固的内容。世界锚固的内容可被传送到例如由基站2060的GPU实现的世界锚固的内容处理2066流水线。头部锚固的内容可被传送到例如由基站2060的GPU实现的头部锚固的内容处理2068流水线。世界锚固的内容处理2066流水线和头部锚固的内容处理2068流水线的输出(例如,渲染的帧)可被传送到例如由基站2060的GPU实现的复合/阿尔法掩模2070过程。复合/阿尔法掩模2070过程可对从流水线2066和2068接收的帧进行复合,并将复合的帧传送至例如由基站2060的SOC实现的编码2072流水线。
在编码2072流水线中,成凹2074部件可如图7和图8所示对复合的帧执行中心凹形渲染,以在压缩和通过无线连接2080传输帧之前降低渲染的帧的分辨率。在中心凹形渲染方法中,基站2060从HMD 2000的注视跟踪相机接收的注视跟踪信息可用于识别用户当前正在查看的方向(称为注视方向)。可根据确定的注视方向来估计中心凹形区域,并且可将滤波器(例如带通滤波器)应用到位于中心凹形区域之外的帧的外围区域,以降低外围区域中的分辨率,同时保持中心凹形区域中的较高分辨率。然后,可将凹形帧可传送至编码2072流水线的压缩2076部件,该压缩2076部件根据视频编码协议(例如,高效视频编码(HEVC),也称为H.265,或MPEG-4Part 10、高级视频编码(MPEG-4AVC),也称为H.264等)压缩帧。然后通过无线连接2080将压缩的帧传输至HMD 2000。
在HMD 2000处,从基站2060接收的压缩的帧被传送至例如由HMD 200的SOC实现的当前帧解码2030流水线,并且还被写入先前帧缓冲区2036。解码2030流水线在2032处解压缩或解码压缩的帧,并且在2034处执行帧的扩展/放大。在解码2030流水线中处理当前帧的同时,从先前帧缓冲区2036读取先前帧,并通过例如在HMD 2000的SOC上实现的先前帧解码/旋转流水线2038来处理(解码、扩展/放大和旋转)。在2040处,可检查当前帧解码2030流水线的当前帧输出。如果当前帧良好,则选择当前帧以用于显示。如果当前帧被确定为缺失或不完整的,则可选择被旋转以匹配用户的预测运动的流水线2030输出的先前帧以代替缺失或不完整的当前帧。
在一些实施方案中,如果与基站2060的无线连接2080丢失并且因此不从基站2060接收帧,则HMD 2000可被配置为用作独立设备作为回退位置。例如,这可出于安全原因而进行,使得即使基站2080不可用,用户仍可查看他们所处的真实环境。在检测到无线连接2080已丢失时,场景相机2001捕获的帧可被路由到待渲染的直接显示处理流水线2050以用于显示。HMD 2000可包括软件应用程序2052(称为HMD应用程序),该软件应用程序2052被配置为在HMD 2000的至少一个处理器(例如,CPU)上执行以至少部分地基于来自HMD 2000的传感器输入生成内容以通过HMD 2000在3D虚拟视图中向用户显示。HMD应用程序2052可执行以渲染待与渲染的帧复合2042并在虚拟视图中显示的虚拟内容,例如,通知用户无线连接2080已丢失的消息。
被渲染和处理的帧(其可以是从基站2060接收并由当前帧解码2030流水线处理的当前帧、从缓冲区2036读取的从基站2060接收并由先前帧解码/旋转2038流水线处理的先前帧,或由直接显示处理流水线2050处理并且可能与HMD应用程序2052生成的内容复合的直接显示帧)被传送至显示流水线2044,该显示流水线2044根据显示格式进一步处理用于在显示屏2010上显示的帧。
在不同的实施方案中,本文所述的方法可以在软件、硬件或它们的组合中实现。此外,可改变方法的框的次序,并且可对各种要素进行添加、重新排序、组合、省略、修改等。对于受益于本公开的本领域的技术人员,显然可做出各种修改和改变。本文所述的各种实施方案旨在为例示的而非限制性的。许多变型、修改、添加和改进是可能的。因此,可为在本文中被描述为单个实例的部件提供多个实例。各种部件、操作和数据存储库之间的界限在一定程度上是任意性的,并且在具体的示例性配置的上下文中示出了特定操作。预期了功能的其它分配,它们可落在所附权利要求的范围内。最后,被呈现为示例性配置中的分立部件的结构和功能可被实现为组合的结构或部件。这些和其它变型、修改、添加和改进可落入如以下权利要求书中所限定的实施方案的范围内。

Claims (20)

1.一种头戴式显示器(HMD),包括:
显示子系统,所述显示子系统用于显示3D虚拟视图;
当前帧解码器和先前帧解码器,所述当前帧解码器和所述先前帧解码器各自被配置为解压缩和处理通过无线连接从基站接收的帧并且将所述帧提供至所述显示子系统以用于显示;
其中所述HMD被配置为:
通过所述无线连接从所述基站接收压缩的当前帧;
将所述压缩的当前帧写入先前帧缓冲区,并且将所述压缩的当前帧传送到所述当前帧解码器以解压缩和处理所述当前帧;以及
在所述当前帧解码器正在解压缩和处理所述当前帧时,同时解压缩和处理来自所述先前帧解码器上的所述先前帧缓冲区的先前帧。
2.根据权利要求1所述的HMD,其中所述HMD被进一步配置为:
监视通过所述无线连接从所述基站接收所述压缩的当前帧以及由所述当前帧解码器对所述当前帧的解压缩和处理,以检测缺失或不完整的帧;以及
在检测到当前帧是缺失或不完整的时,显示由所述先前帧解码器解压缩和处理的所述先前帧以代替所述缺失或不完整的当前帧。
3.根据权利要求1所述的HMD,其中在所述先前帧解码器上处理所述先前帧包括基于根据由所述HMD的一个或多个传感器收集的传感器数据确定的头部姿势预测来旋转所述先前帧。
4.根据权利要求1所述的HMD,其中所述HMD还包括被配置为捕获包括用户的环境的视图的帧的一个或多个相机,并且其中所述HMD被进一步配置为:
将由所述一个或多个相机捕获的帧转换成翘曲空间;
对于每个转换的帧,以相等的角度对所述翘曲空间进行重采样以生成翘曲空间帧;以及
压缩所述翘曲空间帧并通过所述无线连接将所述翘曲空间帧传输至所述基站。
5.根据权利要求1所述的HMD,其中所述基站渲染、压缩帧切片并通过所述无线连接将帧切片传输至所述HMD,并且其中为了解压缩和处理通过所述无线连接从所述基站接收的所述帧,所述当前帧解码器和所述先前帧解码器被配置为解压缩和处理所述帧切片。
6.根据权利要求1所述的HMD,其中从所述基站接收的所述帧包括与用户的环境的视图复合的计算机生成的虚拟内容或与计算机生成的三维(3D)虚拟世界的视图复合的所述用户的环境中的对象的表示。
7.根据权利要求1所述的HMD,其中所述HMD还包括被配置为捕获用户的眼睛的图像的一个或多个注视跟踪相机,其中所述HMD被进一步配置为通过所述无线连接将由所述注视跟踪相机捕获的所述图像传输至所述基站,其中所述基站被配置为至少部分地基于根据由所述一个或多个注视跟踪相机捕获并通过所述无线连接从所述HMD接收的所述图像确定的注视方向来渲染帧。
8.根据权利要求1所述的HMD,其中所述HMD还包括被配置为捕获关于用户和所述用户的环境的数据的多个传感器,其中所述HMD被进一步配置为通过所述无线连接将所述传感器数据传输至所述基站,并且其中所述基站被配置为至少部分地基于从所述HMD接收的所述传感器数据来渲染帧。
9.根据权利要求6所述的HMD,其中所述多个传感器包括以下中的一者或多者:
被配置为捕获所述环境中的深度信息的一个或多个传感器;
被配置为跟踪所述用户的眼睛的注视方向的一个或多个传感器;
被配置为跟踪所述HMD在所述环境中的位置和运动的一个或多个传感器;或者
被配置为跟踪所述用户的面部的表情的一个或多个传感器。
10.根据权利要求1所述的HMD,其中所述HMD还包括被配置为捕获环境中的对象的范围信息的一个或多个深度传感器,其中所述HMD被进一步配置为通过所述无线连接将所述范围信息传输至所述基站,其中所述基站被配置为至少部分地基于来自所述一个或多个深度传感器的所述范围信息来渲染帧。
11.根据权利要求1所述的HMD,其中所述HMD还包括惯性测量单元(IMU)和被配置为跟踪在环境中用户的位置和运动的一个或多个头部姿势相机,其中所述HMD被配置为:
基于由利用从所述IMU接收的信息扩充的一个或多个头部姿势相机捕获的图像来确定所述用户的头部的位置并且预测所述用户的头部的运动;以及
通过所述无线链路将头部位置和头部运动预测信息传输至所述基站;
其中所述基站被配置为至少部分地基于从所述HMD接收的所述头部位置和所述头部运动预测信息来渲染帧。
12.根据权利要求1所述的HMD,其中所述HMD还包括被配置为捕获包括用户的环境的视图的帧的一个或多个相机,并且其中所述HMD被进一步配置为:
监视与所述基站的所述无线连接;
响应于检测到与所述基站的所述无线连接已丢失:
基于由所述一个或多个相机捕获的所述帧,生成包括所述用户的环境的视图的一个或多个帧;以及
将所述一个或多个帧提供至所述显示子系统以用于显示。
13.根据权利要求12所述的HMD,其中所述HMD被进一步配置为生成虚拟内容并将所述虚拟内容与所述一个或多个帧复合。
14.一种方法,包括:
由头戴式显示器(HMD)执行:
通过无线连接从基站接收压缩的当前帧;
将所述压缩的当前帧写入所述HMD的先前帧缓冲区并将所述压缩的当前帧传送至所述HMD的当前帧解码器以解压缩和处理所述当前帧;以及
在所述当前帧解码器正在解压缩和处理所述当前帧时,同时解压缩和处理来自所述HMD的先前帧解码器上的所述先前帧缓冲区的先前帧。
15.根据权利要求14所述的方法,还包括:
监视通过所述无线连接从所述基站接收所述压缩的当前帧以及由所述当前帧解码器对所述当前帧的解压缩和处理,以检测缺失或不完整的帧;以及
在检测到当前帧是缺失或不完整的时,显示由所述先前帧解码器解压缩和处理的所述先前帧以代替所述缺失或不完整的当前帧。
16.根据权利要求14所述的方法,其中由所述先前帧解码器处理所述先前帧包括基于根据由所述HMD的一个或多个传感器收集的传感器数据确定的头部姿势预测来旋转所述先前帧。
17.根据权利要求14所述的方法,还包括:
通过所述HMD的多个传感器捕获关于用户和所述用户的环境的数据;
通过所述无线连接将所述传感器数据传输至所述基站;以及
通过所述基站,至少部分地基于从所述HMD接收的所述传感器数据来渲染一个或多个帧。
18.根据权利要求14所述的方法,还包括:
通过所述HMD上的一个或多个相机捕获包括用户的环境的视图的帧;
将由所述一个或多个相机捕获的所述帧转换成翘曲空间;
对于每个转换的帧,以相等的角度对所述翘曲空间进行重采样以生成翘曲空间帧;以及
压缩所述翘曲空间帧并通过所述无线连接将所述翘曲空间帧传输至所述基站。
19.根据权利要求14所述的方法,还包括:
通过所述HMD的一个或多个注视跟踪相机捕获用户的眼睛的图像;
通过所述无线连接将由所述注视跟踪相机捕获的所述图像传输至所述基站;并且
通过所述基站,至少部分地基于根据由所述一个或多个注视跟踪相机捕获并且通过所述无线连接从所述HMD接收的所述图像确定的注视方向来渲染一个或多个帧。
20.一种系统,包括:
头戴式显示器(HMD),所述头戴式显示器包括:
显示子系统,所述显示子系统用于显示3D虚拟视图;和
当前帧解码器和先前帧解码器,所述当前帧解码器和所述先前帧解码器各自被配置为解压缩和处理帧并将所述帧提供至所述显示子系统以用于显示;
包括一个或多个处理器的基站,所述基站被配置为:
渲染包括虚拟内容的帧;
压缩所述渲染的帧;以及
通过无线连接将所述压缩的帧传输至所述HMD;
其中所述HMD被配置为:
通过所述无线连接从所述基站接收压缩的当前帧;
将所述压缩的当前帧写入先前帧缓冲区,并且将所述压缩的当前帧传送到所述当前帧解码器以解压缩和处理所述当前帧;以及
在所述当前帧解码器正在解压缩和处理所述当前帧时,同时解压缩和处理来自所述先前帧解码器上的所述先前帧缓冲区的先前帧。
CN201880027784.3A 2017-04-28 2018-04-27 视频流水线 Active CN110574375B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310625521.5A CN116456097A (zh) 2017-04-28 2018-04-27 视频流水线

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762492000P 2017-04-28 2017-04-28
US62/492,000 2017-04-28
PCT/US2018/029862 WO2018200993A1 (en) 2017-04-28 2018-04-27 Video pipeline

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310625521.5A Division CN116456097A (zh) 2017-04-28 2018-04-27 视频流水线

Publications (2)

Publication Number Publication Date
CN110574375A true CN110574375A (zh) 2019-12-13
CN110574375B CN110574375B (zh) 2023-06-02

Family

ID=62218315

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201880027784.3A Active CN110574375B (zh) 2017-04-28 2018-04-27 视频流水线
CN202310625521.5A Pending CN116456097A (zh) 2017-04-28 2018-04-27 视频流水线

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202310625521.5A Pending CN116456097A (zh) 2017-04-28 2018-04-27 视频流水线

Country Status (3)

Country Link
US (3) US11043018B2 (zh)
CN (2) CN110574375B (zh)
WO (1) WO2018200993A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109509150A (zh) * 2018-11-23 2019-03-22 京东方科技集团股份有限公司 图像处理方法和装置、显示装置、虚拟现实显示系统

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10657674B2 (en) 2016-06-17 2020-05-19 Immersive Robotics Pty Ltd. Image compression method and apparatus
AU2018218182B2 (en) 2017-02-08 2022-12-15 Immersive Robotics Pty Ltd Antenna control for mobile device communication
WO2018200993A1 (en) 2017-04-28 2018-11-01 Zermatt Technologies Llc Video pipeline
US10979685B1 (en) 2017-04-28 2021-04-13 Apple Inc. Focusing for virtual and augmented reality systems
US10586434B1 (en) * 2017-10-25 2020-03-10 Amazon Technologies, Inc. Preventing unauthorized access to audio/video recording and communication devices
TW201935927A (zh) 2017-11-21 2019-09-01 澳大利亞商伊門斯機器人控股有限公司 用於影像壓縮之頻率分量選擇
EP3714602A4 (en) 2017-11-21 2021-07-28 Immersive Robotics Pty Ltd IMAGE COMPRESSION FOR DIGITAL REALITY
US10714050B2 (en) * 2018-03-21 2020-07-14 Daqri, Llc Reducing latency in augmented reality (AR) displays
US11432187B2 (en) * 2018-04-04 2022-08-30 Charter Communications Operating, Llc Dynamic use of header compression in a wireless network
US10861215B2 (en) * 2018-04-30 2020-12-08 Qualcomm Incorporated Asynchronous time and space warp with determination of region of interest
WO2019217264A1 (en) * 2018-05-07 2019-11-14 Zermatt Technologies Llc Dynamic foveated compression
DE112019002368T5 (de) 2018-05-07 2021-01-28 Apple Inc. Dynamische "foveated pipeline"
US10607396B2 (en) * 2018-05-25 2020-03-31 Hulu, LLC Dynamic rendering of low frequency objects in a virtual reality system
US11455705B2 (en) * 2018-09-27 2022-09-27 Qualcomm Incorporated Asynchronous space warp for remotely rendered VR
US11381825B2 (en) * 2018-11-27 2022-07-05 Advanced Micro Devices, Inc. Variable rate rendering based on motion estimation
CN109637406A (zh) * 2019-01-04 2019-04-16 京东方科技集团股份有限公司 一种显示装置的显示方法、显示装置以及可读存储介质
KR102579700B1 (ko) * 2019-06-03 2023-09-18 삼성전자주식회사 데이터를 처리하기 위한 방법 및 이를 지원하는 전자 장치
EP4005201A1 (en) * 2019-07-28 2022-06-01 Google LLC Methods, systems, and media for rendering immersive video content with foveated meshes
GB2587230B (en) * 2019-09-20 2022-09-28 Sony Interactive Entertainment Inc Graphical rendering method and apparatus
AU2020368424A1 (en) * 2019-10-18 2023-07-06 Immersive Robotics Pty Ltd Content display process
US20210192681A1 (en) * 2019-12-18 2021-06-24 Ati Technologies Ulc Frame reprojection for virtual reality and augmented reality
US20210240257A1 (en) * 2020-01-31 2021-08-05 Ati Technologies Ulc Hiding latency in wireless virtual and augmented reality systems
DE102020206940A1 (de) 2020-06-03 2021-12-09 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Rendern einer Ansicht einer dreidimensionalen Szene
US11601883B2 (en) * 2020-09-18 2023-03-07 Qualcomm Incorporated Techniques for managing uplink transmissions for power saving
US11297332B1 (en) * 2020-10-30 2022-04-05 Capital One Services, Llc Gaze-tracking-based image downscaling for multi-party video communication
US11567567B2 (en) * 2020-11-12 2023-01-31 Varjo Technologies Oy Encoders, methods and display apparatuses incorporating gaze-directed compression ratios
WO2022177745A1 (en) * 2021-02-18 2022-08-25 Qualcomm Incorporated Low latency frame delivery
US11620725B2 (en) 2021-02-18 2023-04-04 Qualcomm Incorporated Low latency frame delivery
US20230136064A1 (en) * 2021-11-04 2023-05-04 Meta Platforms Technologies, Llc Priority-based graphics rendering for multi-part systems
US11917011B2 (en) 2022-01-10 2024-02-27 Meta Platforms Technologies, Llc Resilient rendering for augmented-reality devices
CN114850147B (zh) 2022-05-07 2023-03-21 西南石油大学 一种管道自动化除垢及储垢装置

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030117585A1 (en) * 2001-12-24 2003-06-26 Lee Seung Ho Moving picture decoding processor for multimedia signal processing
US20070160152A1 (en) * 2003-12-08 2007-07-12 Kanazawa University Technology Licensing Organization Ltd. System for encoding/decoding motion picture and method for encoding/decoding motion picture
US20080297436A1 (en) * 2007-05-29 2008-12-04 Canon Kabushiki Kaisha Head mounted display, display, and control method thereof
US20090189981A1 (en) * 2008-01-24 2009-07-30 Jon Siann Video Delivery Systems Using Wireless Cameras
CN102158713A (zh) * 2004-12-30 2011-08-17 微软公司 通过网络传输信号的方法和系统
US20140071143A1 (en) * 2012-09-13 2014-03-13 Samsung Electronics Co., Ltd. Image Compression Circuit, Display System Including the Same, and Method of Operating the Display System
CN104035760A (zh) * 2014-03-04 2014-09-10 苏州天魂网络科技有限公司 跨移动平台实现沉浸式虚拟现实的系统
CN104125472A (zh) * 2013-04-26 2014-10-29 辉达公司 扩展预测模式和视频编解码器的性能
US20140364209A1 (en) * 2013-06-07 2014-12-11 Sony Corporation Entertainment America LLC Systems and Methods for Using Reduced Hops to Generate an Augmented Virtual Reality Scene Within A Head Mounted System
CN104284622A (zh) * 2012-05-25 2015-01-14 Hoya株式会社 模拟装置
CN104915979A (zh) * 2014-03-10 2015-09-16 苏州天魂网络科技有限公司 跨移动平台实现沉浸式虚拟现实的系统
US20160012855A1 (en) * 2014-07-14 2016-01-14 Sony Computer Entertainment Inc. System and method for use in playing back panorama video content
US20160026242A1 (en) * 2014-07-25 2016-01-28 Aaron Burns Gaze-based object placement within a virtual reality environment
CN105392538A (zh) * 2013-06-07 2016-03-09 索尼电脑娱乐公司 响应于头戴式显示器中的用户动作的图像渲染
CN106464951A (zh) * 2014-06-24 2017-02-22 谷歌公司 高效帧渲染
CN106454322A (zh) * 2016-11-07 2017-02-22 金陵科技学院 Vr的图像处理系统及其方法
CN106547092A (zh) * 2015-09-21 2017-03-29 三星电子株式会社 用于补偿头戴式显示器的移动的方法和设备

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446501A (en) 1992-10-22 1995-08-29 Accom, Incorporated Three-dimensional median and recursive filtering apparatus and method for video image enhancement
US6331856B1 (en) 1995-11-22 2001-12-18 Nintendo Co., Ltd. Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
EP1205881A3 (en) 1998-02-17 2004-10-27 Sun Microsystems, Inc. Graphics system with variable resolution super-sampling
ES2189425T3 (es) 1999-06-18 2003-07-01 Swisscom Mobile Ag Transmision y representacion visual de datos de video.
US20030067476A1 (en) 2001-10-04 2003-04-10 Eastman Kodak Company Method and system for displaying an image
US7796095B2 (en) * 2005-03-18 2010-09-14 Ati Technologies Ulc Display specific image processing in an integrated circuit
US20090123066A1 (en) * 2005-07-22 2009-05-14 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein,
US8009963B2 (en) 2006-01-26 2011-08-30 Qualcomm Incorporated Adaptive filtering to enhance video bit-rate control performance
US9923124B2 (en) 2011-01-31 2018-03-20 Mohammad A Mazed Display device
US20080212888A1 (en) 2007-03-01 2008-09-04 Barinder Singh Rai Frame Region Filters
US9600067B2 (en) * 2008-10-27 2017-03-21 Sri International System and method for generating a mixed reality environment
JP2010258624A (ja) * 2009-04-22 2010-11-11 Panasonic Corp 画像再生装置及び画像再生方法
US9460601B2 (en) 2009-09-20 2016-10-04 Tibet MIMAR Driver distraction and drowsiness warning and sleepiness reduction for accident avoidance
US20120249797A1 (en) 2010-02-28 2012-10-04 Osterhout Group, Inc. Head-worn adaptive display
KR101295714B1 (ko) 2010-06-30 2013-08-16 주식회사 팬택 3차원 증강 현실 제공 장치 및 방법
US9292973B2 (en) 2010-11-08 2016-03-22 Microsoft Technology Licensing, Llc Automatic variable virtual focus for augmented reality displays
US8953242B2 (en) 2011-03-31 2015-02-10 Honeywell International Inc. Varible focus stereoscopic display system and method
US8184069B1 (en) 2011-06-20 2012-05-22 Google Inc. Systems and methods for adaptive transmission of data
US10585472B2 (en) * 2011-08-12 2020-03-10 Sony Interactive Entertainment Inc. Wireless head mounted display with differential rendering and sound localization
WO2013040170A1 (en) 2011-09-16 2013-03-21 Dolby Laboratories Licensing Corporation Frame-compatible full resolution stereoscopic 3d compression and decompression
US20150153572A1 (en) 2011-10-05 2015-06-04 Google Inc. Adjustment of Location of Superimposed Image
US20130088413A1 (en) 2011-10-05 2013-04-11 Google Inc. Method to Autofocus on Near-Eye Display
US9352207B2 (en) 2012-01-19 2016-05-31 Nike, Inc. Action detection and activity classification
KR102257542B1 (ko) 2012-10-01 2021-05-31 지이 비디오 컴프레션, 엘엘씨 향상 레이어에서 변환 계수 블록들의 서브블록-기반 코딩을 이용한 스케일러블 비디오 코딩
US10514541B2 (en) 2012-12-27 2019-12-24 Microsoft Technology Licensing, Llc Display update time reduction for a near-eye display
CN103458265B (zh) 2013-02-01 2015-03-04 深圳信息职业技术学院 一种视频质量评价方法、装置
US9727991B2 (en) 2013-03-01 2017-08-08 Microsoft Technology Licensing, Llc Foveated image rendering
US10163049B2 (en) * 2013-03-08 2018-12-25 Microsoft Technology Licensing, Llc Inconspicuous tag for generating augmented reality experiences
US9118932B2 (en) 2013-06-14 2015-08-25 Nvidia Corporation Adaptive filtering mechanism to remove encoding artifacts in video data
US9686466B1 (en) * 2013-06-27 2017-06-20 Google Inc. Systems and methods for environment content sharing
US20150003819A1 (en) 2013-06-28 2015-01-01 Nathan Ackerman Camera auto-focus based on eye gaze
US9712834B2 (en) 2013-10-01 2017-07-18 Dolby Laboratories Licensing Corporation Hardware efficient sparse FIR filtering in video codec
JPWO2015162910A1 (ja) 2014-04-24 2017-04-13 パナソニックIpマネジメント株式会社 車載用表示装置、車載用表示装置の制御方法、プログラム
US9965835B2 (en) 2014-11-28 2018-05-08 Axis Ab Defogging images and video
JP6197801B2 (ja) * 2015-01-30 2017-09-20 コニカミノルタ株式会社 データ入力システム、データ入力装置、データ入力方法およびデータ入力プログラム
US20160267884A1 (en) 2015-03-12 2016-09-15 Oculus Vr, Llc Non-uniform rescaling of input data for displaying on display device
TWI569040B (zh) 2015-05-07 2017-02-01 尚立光電股份有限公司 自動調焦頭戴式顯示裝置
US10810797B2 (en) * 2015-05-22 2020-10-20 Otoy, Inc Augmenting AR/VR displays with image projections
JP2016218341A (ja) 2015-05-25 2016-12-22 日本放送協会 画像信号生成装置、及び、表示装置
CN204709990U (zh) 2015-06-16 2015-10-21 无锡思强环保设备有限公司 一种滤袋撑包器
US9955196B2 (en) 2015-09-14 2018-04-24 Google Llc Selective degradation of videos containing third-party content
US10241569B2 (en) 2015-12-08 2019-03-26 Facebook Technologies, Llc Focus adjustment method for a virtual reality headset
US11010956B2 (en) 2015-12-09 2021-05-18 Imagination Technologies Limited Foveated rendering
US9761056B1 (en) * 2016-03-10 2017-09-12 Immersv, Inc. Transitioning from a virtual reality application to an application install
US10325610B2 (en) 2016-03-30 2019-06-18 Microsoft Technology Licensing, Llc Adaptive audio rendering
US10401952B2 (en) * 2016-03-31 2019-09-03 Sony Interactive Entertainment Inc. Reducing rendering computation and power consumption by detecting saccades and blinks
US10748339B2 (en) * 2016-06-03 2020-08-18 A Big Chunk Of Mud Llc System and method for implementing computer-simulated reality interactions between users and publications
US11017712B2 (en) * 2016-08-12 2021-05-25 Intel Corporation Optimized display image rendering
US10140695B2 (en) 2016-10-04 2018-11-27 Facebook Technologies, Llc Head-mounted compound display including a high resolution inset
US20180114288A1 (en) 2016-10-26 2018-04-26 Gabriel Aldaz System and methods of improved human machine interface for data entry into electronic health records
AU2017362344B2 (en) * 2016-11-16 2023-09-28 Magic Leap, Inc. Multi-resolution display assembly for head-mounted display systems
US10324531B2 (en) 2016-12-27 2019-06-18 Immersion Corporation Haptic feedback using a field of view
CN107074348B (zh) 2016-12-30 2021-06-15 深圳市大疆创新科技有限公司 控制方法、装置、设备及无人飞行器
EP3596542B1 (en) * 2017-03-17 2024-01-17 Magic Leap, Inc. Technique for recording augmented reality data
US10475243B2 (en) * 2017-03-31 2019-11-12 Intel Corporation Transition between virtual reality and real world
WO2018200993A1 (en) 2017-04-28 2018-11-01 Zermatt Technologies Llc Video pipeline
US10979685B1 (en) 2017-04-28 2021-04-13 Apple Inc. Focusing for virtual and augmented reality systems
US10504272B2 (en) * 2017-06-13 2019-12-10 Intel Corporation Apparatus and method for optimizing time/space warp for virtual reality using dynamic tiling and dirty tile marking
US10861142B2 (en) 2017-07-21 2020-12-08 Apple Inc. Gaze direction-based adaptive pre-filtering of video data
US11057500B2 (en) * 2017-11-20 2021-07-06 Asg Technologies Group, Inc. Publication of applications using server-side virtual screen change capture
US11941082B2 (en) 2019-04-12 2024-03-26 Ul Llc Technologies for classifying feedback using machine learning models
US11568655B2 (en) 2020-03-26 2023-01-31 Intel Corporation Methods and devices for triggering vehicular actions based on passenger actions

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030117585A1 (en) * 2001-12-24 2003-06-26 Lee Seung Ho Moving picture decoding processor for multimedia signal processing
US20070160152A1 (en) * 2003-12-08 2007-07-12 Kanazawa University Technology Licensing Organization Ltd. System for encoding/decoding motion picture and method for encoding/decoding motion picture
CN102158713A (zh) * 2004-12-30 2011-08-17 微软公司 通过网络传输信号的方法和系统
US20080297436A1 (en) * 2007-05-29 2008-12-04 Canon Kabushiki Kaisha Head mounted display, display, and control method thereof
US20090189981A1 (en) * 2008-01-24 2009-07-30 Jon Siann Video Delivery Systems Using Wireless Cameras
CN104284622A (zh) * 2012-05-25 2015-01-14 Hoya株式会社 模拟装置
US20140071143A1 (en) * 2012-09-13 2014-03-13 Samsung Electronics Co., Ltd. Image Compression Circuit, Display System Including the Same, and Method of Operating the Display System
CN104125472A (zh) * 2013-04-26 2014-10-29 辉达公司 扩展预测模式和视频编解码器的性能
US20140364209A1 (en) * 2013-06-07 2014-12-11 Sony Corporation Entertainment America LLC Systems and Methods for Using Reduced Hops to Generate an Augmented Virtual Reality Scene Within A Head Mounted System
CN105392538A (zh) * 2013-06-07 2016-03-09 索尼电脑娱乐公司 响应于头戴式显示器中的用户动作的图像渲染
CN104035760A (zh) * 2014-03-04 2014-09-10 苏州天魂网络科技有限公司 跨移动平台实现沉浸式虚拟现实的系统
CN104915979A (zh) * 2014-03-10 2015-09-16 苏州天魂网络科技有限公司 跨移动平台实现沉浸式虚拟现实的系统
CN106464951A (zh) * 2014-06-24 2017-02-22 谷歌公司 高效帧渲染
US20160012855A1 (en) * 2014-07-14 2016-01-14 Sony Computer Entertainment Inc. System and method for use in playing back panorama video content
US20160026242A1 (en) * 2014-07-25 2016-01-28 Aaron Burns Gaze-based object placement within a virtual reality environment
CN106547092A (zh) * 2015-09-21 2017-03-29 三星电子株式会社 用于补偿头戴式显示器的移动的方法和设备
CN106454322A (zh) * 2016-11-07 2017-02-22 金陵科技学院 Vr的图像处理系统及其方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DANIEL POHL ET AL: "Improved pre-warping for wide angle,head mounted displays", 《THE 19TH ACM SYMPOSIUM ON VIRTUAL REALITY SOFTWARE AND TECHNOLOGY, VRST 13 》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109509150A (zh) * 2018-11-23 2019-03-22 京东方科技集团股份有限公司 图像处理方法和装置、显示装置、虚拟现实显示系统

Also Published As

Publication number Publication date
WO2018200993A1 (en) 2018-11-01
US11043018B2 (en) 2021-06-22
CN110574375B (zh) 2023-06-02
US20230351672A1 (en) 2023-11-02
US20200058152A1 (en) 2020-02-20
US11727619B2 (en) 2023-08-15
US20210312694A1 (en) 2021-10-07
CN116456097A (zh) 2023-07-18

Similar Documents

Publication Publication Date Title
CN110574375B (zh) 视频流水线
US11243402B2 (en) Video compression methods and apparatus
US11217021B2 (en) Display system having sensors
US20230009707A1 (en) Rate control for low latency video encoding and transmission
US11496758B2 (en) Priority-based video encoding and transmission
JP7441924B2 (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
GR01 Patent grant
GR01 Patent grant