CN111902842A - 在头戴式显示器中实现帧内图像处理的装置、系统和方法 - Google Patents

在头戴式显示器中实现帧内图像处理的装置、系统和方法 Download PDF

Info

Publication number
CN111902842A
CN111902842A CN201880091636.8A CN201880091636A CN111902842A CN 111902842 A CN111902842 A CN 111902842A CN 201880091636 A CN201880091636 A CN 201880091636A CN 111902842 A CN111902842 A CN 111902842A
Authority
CN
China
Prior art keywords
frame
image
mounted display
head
display system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201880091636.8A
Other languages
English (en)
Inventor
弗拉德·弗鲁赫特
欧哈德·梅塔夫
大卫·瓦克拉特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meta Platforms Technologies LLC
Original Assignee
Facebook Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Facebook Technologies LLC filed Critical Facebook Technologies LLC
Publication of CN111902842A publication Critical patent/CN111902842A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/12Synchronisation between the display unit and other units, e.g. other display units, video-disc players
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • G09G5/397Arrangements specially adapted for transferring the contents of two or more bit-mapped memories to the screen simultaneously, e.g. for mixing or overlay
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/08Details of timing specific for flat panels, other than clock recovery
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0252Improving the response speed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0261Improving the quality of display appearance in the context of movement of objects on the screen or movement of the observer relative to the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user

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)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)

Abstract

一种用于在头戴式显示器中实现帧内图像处理的专用硬件设备可以包括图像校正组件,该图像校正组件接收预定被显示以呈现给佩戴头戴式显示系统的用户的单个图像帧。图像校正组件还可以接收用户运动数据,该用户运动数据指示佩戴头戴式显示系统的用户自生成单个图像帧以来已经进行了至少一次移动。图像校正组件还可以根据用户运动数据对单个图像帧执行硬件加速的帧内处理操作,以在逐行的基础上补偿用户做出的移动。此外,专用硬件设备可以包括帧输出接口,该帧输出接口将单个图像帧馈送到头戴式显示系统的显示设备,以便于显示单个图像帧以呈现给用户。还公开了各种其他装置、系统和方法。

Description

在头戴式显示器中实现帧内图像处理的装置、系统和方法
相关申请的交叉引用
本申请要求2018年2月3日提交的美国临时申请第62/626,004号和2018年6月12日提交的美国非临时申请第16/006,438号的权益,这两个申请的公开内容通过引用以其整体并入本文。
背景
在过去的几年里,头戴式显示器彻底改变了人们体验各种数字媒体的方式。例如,头戴式显示器可以让虚拟现实用户在玩视频游戏的同时、在飞行模拟训练期间或甚至在与全球的同事互动时,体验逼真、沉浸式虚拟环境。除了这种虚拟现实应用之外,头戴式显示器还可以使用户能够增强现实和/或将现实的某些方面与虚拟世界的那些方面相结合。
尽管这种技术取得了令人难以置信的进步,但传统的头戴式显示器仍然存在某些缺陷,这些缺陷对整体用户体验产生了负面影响。例如,一些头戴式显示器可能无法精确地补偿和/或考虑到用户做出的物理移动。更具体地,这些头戴式显示器可能表现出一定量的延时(delay),这导致显示器落后于用户的实际物理移动。这种延时有时被称为动显延迟(motion-to-photon latency)。除了对用户的整体体验造成困扰之外,动显延迟在某些情况下可能会导致用户生病和/或恶心。
不幸的是,为了确保从一个图像帧到下一个图像帧的视觉连续性,传统的头戴式显示器可能被迫通过仅执行低粒度、低效的逐帧(frame-by-frame)操作来限制它们的图像处理。例如,由于某些处理限制,一些头戴式显示器可能无法执行帧内(intraframe)或子帧逐行处理操作,同时也确保用于显示的稳定的图像帧流。换句话说,仅执行低粒度逐帧处理的实践可以帮助传统的头戴式显示器避免更严重的显示问题(例如下溢(underflow)和/或上溢(overflow)),这可能导致帧丢失。
因此,本公开识别并解决了对用于在头戴式显示器中实现帧内图像处理的附加装置、系统和方法的需求。
概述
如下文将更详细描述的,本公开总体上涉及用于在头戴式显示器中实现帧内图像处理的装置、系统和方法。在一些实施例中,专用硬件设备可以实现这个目标。例如,专用硬件设备可以包括图像校正组件,该图像校正组件接收预定被显示以呈现给佩戴头戴式显示系统的用户的单个图像帧。图像校正组件还可以从与头戴式显示系统结合操作的运动检测传感器接收用户运动数据,该用户运动数据指示佩戴头戴式显示系统的用户自生成单个图像帧以来已经进行了至少一次移动。图像校正组件还可以根据用户运动数据对单个图像帧执行一个或更多个硬件加速的帧内处理操作,以在逐行的基础上补偿用户进行的移动。此外,专用硬件设备可以包括帧输出接口,在完成硬件加速的帧内处理操作时,该帧输出接口将单个图像帧馈送到头戴式显示系统的显示设备,以便于显示单个图像帧,从而呈现给用户。
在一些示例中,专用硬件设备可以包括包含图像校正组件和/或操作的显示成像流水线(pipeline)。显示流水线可以以时钟信号进行操作,该时钟信号由包括在头戴式显示系统上的时钟发生器产生和/或为头戴式显示系统的显示设备和显示成像流水线所共用。公共时钟信号可以使显示成像流水线和显示设备彼此同步。通过这样做,公共时钟信号可以使显示成像流水线放弃与显示设备的至少一个基于握手的同步操作。附加地或可替代地,至少部分由于显示成像流水线放弃了与显示设备的基于握手的同步操作,公共时钟信号可以使得图像校正组件能够在逐行的基础上对单个图像帧执行硬件加速的帧内处理操作。
在一些示例中,单个图像帧可以包括适于硬件加速的帧内处理操作的行的子集和不适于硬件加速的帧内处理操作的行的附加子集。在这样的示例中,图像校正组件可以接收适于硬件加速的帧内处理操作的行的子集。图像校正组件可以通过至少部分地基于用户运动数据修改行的子集来对行的子集执行硬件加速的帧内处理操作,即使行的附加子集不适于硬件加速的帧内处理操作。然后,帧输出接口可以向显示设备转发修改后的行的子集,以便于显示修改后的行的子集以及行的附加子集,从而呈现给用户。
在一些示例中,行的附加子集可能没有被修改以补偿自生成单个图像帧以来用户所做的移动。在这样的示例中,显示设备可以在至少一个时间点期间同时显示经修改的行的子集和行的附加子集,以呈现给用户。
在一些示例中,单个图像帧可以包括和/或表示由结合头戴式显示器操作的相机设备捕获的摄影帧。在其他示例中,单个图像帧可以包括和/或表示包括计算机生成的影像(imagery)的虚拟现实帧。在另外的示例中,单个图像帧可以包括和/或表示包括摄影内容和计算机生成的影像的混合现实帧。
在一些示例中,硬件加速的帧内处理操作可以包括和/或表示异步时间扭曲(warping)。附加地或替代地,硬件加速的帧内处理操作可以包括和/或表示异步空间扭曲。
在一些示例中,专用硬件组件可以包括融合(blending)组件,该融合组件通过将计算机生成的影像叠加到由结合头戴式显示器操作的相机设备捕获的摄影帧上来生成混合现实帧。在一个示例中,专用硬件设备可以包括处理组件(例如,图像校正组件本身或单独的图像信号处理器),该处理组件通过直接通信路径通信地耦合到融合组件,该直接通信路径使得由相机设备捕获的摄影帧能够被直接馈送到融合组件,而不被缓冲在存储器中。
相应的头戴式显示系统可以包括专用硬件设备,该专用硬件设备接收预定被显示以呈现给佩戴头戴式显示系统的用户的单个图像帧。专用硬件设备还可以从与头戴式显示系统结合操作的运动检测传感器接收用户运动数据,该用户运动数据指示自生成单个图像帧以来用户已经进行了至少一次移动。然后,专用硬件设备可以根据用户运动数据对单个图像帧执行一个或更多个硬件加速的帧内处理操作,以在逐行的基础上补偿用户进行的移动。此外,头戴式显示系统可以包括显示设备,该显示设备从专用硬件设备接收单个图像帧,然后显示该单个图像帧以呈现给佩戴头戴式显示系统的用户。
在一些示例中,头戴式显示系统可以包括时钟发生器,该时钟发生器生成时钟信号和/或使专用硬件设备和显示设备彼此同步。时钟信号可以使显示成像流水线和显示设备彼此同步。通过这样做,时钟信号可以使显示成像流水线放弃与显示设备的至少一个基于握手的同步操作。附加地或替代地,至少部分由于显示成像流水线放弃了与显示设备的基于握手的同步操作,时钟信号可以使得图像校正组件能够在逐行的基础上对单个图像帧执行硬件加速的帧内处理操作。
相应的方法可以包括(a)由专用硬件设备接收预定被显示以呈现给佩戴头戴式显示系统的用户的单个图像帧,(b)由专用硬件设备接收用户运动数据,该用户运动数据指示佩戴头戴式显示系统的用户自生成单个图像帧以来已经进行了至少一次移动,(c)由专用硬件设备根据用户运动数据来执行对单个图像帧的一个或更多个硬件加速的帧内处理操作,以在逐行的基础上补偿用户做出的移动,然后(d)由专用硬件设备将单个图像帧馈送到头戴式显示系统的显示设备,以便于显示该单个图像帧,从而呈现给用户。
根据本文描述的一般原理,来自上面提到的实施例中的任一个的特征可以与彼此组合地被使用。当结合附图和权利要求阅读下面的详细描述时,这些和其他实施例、特征和优点将被更充分地理解。
根据本发明的实施例在涉及专用硬件设备、头戴式显示系统和方法的所附权利要求中被具体公开,其中在一个权利要求类别(例如方法)中提到的任何特征也可以在另一个权利要求类别(例如专用硬件设备、头戴式显示系统、系统、存储介质、计算机程序产品)中被要求保护。所附权利要求中的从属关系或往回引用仅出于形式原因而选择。然而,也可以要求保护由对任何前面权利要求的有意往回引用(特别是多项引用)而产生的任何主题,使得权利要求及其特征的任何组合被公开并可被要求保护,而不考虑在所附权利要求中选择的从属性。可以要求保护的主题不仅包括所附权利要求中阐述的特征的组合,还包括权利要求中特征的任何其他组合,其中权利要求中提到的每个特征可以与权利要求中的任何其他特征或其他特征的组合相结合。此外,本文描述或描绘的任何实施例和特征可以在单独的权利要求中和/或在与本文描述或描绘的任何实施例或特征或与所附权利要求的任何特征的任何组合中要求保护。
附图简述
为了更好地理解所描述的各种实施例,应该结合以下附图参考下面的详细描述,贯穿全部附图和描述,相同的参考数字指代相应的部分。
图1是根据一些实施例的用于在头戴式显示器中实现帧内图像处理的示例性专用硬件设备的框图。
图2是根据一些实施例的示例性头戴式显示系统的图示,该系统结合了用于在头戴式显示器中实现帧内图像处理的专用硬件设备。
图3是根据一些实施例的示例性头戴式显示器的框图,该头戴式显示器结合了用于在头戴式显示器中实现帧内图像处理的专用硬件设备。
图4是根据一些实施例的用于在头戴式显示器中实现帧内图像处理的示例性实现的框图。
图5是根据一些实施例的用于在头戴式显示器中的头戴式显示器中实现帧内图像处理的示例性实现的框图。
图6是根据一些实施例的用于在头戴式显示器中实现帧内图像处理的示例性实现的框图。
图7是根据一些实施例的用于在头戴式显示器中实现帧内图像处理的示例性实现的框图。
图8是根据一些实施例的示例性图像帧的框图,该图像帧在朝向显示设备行进时在显示成像流水线中经历帧内图像处理。
图9是根据一些实施例的用于对朝向显示设备穿过显示成像流水线的图像帧执行帧内图像处理的示例性实现的框图。
图10是根据一些实施例的用于在头戴式显示器中实现帧内图像处理的示例性方法的流程图。
在所有附图中,相同的参考符号和描述表示相似但不一定相同的元素。虽然本文描述的示例性实施例易于进行各种修改和替代形式,但是特定实施例已经通过附图中的示例示出,并且将在本文详细描述。然而,本文描述的示例性实施例不旨在限于所公开的特定形式。更确切地,本公开覆盖了落入所附权利要求的范围内的所有修改、等同物和替代物。
示例性实施例的详细描述
本公开总体上涉及用于在头戴式显示器中实现帧内图像处理的装置、系统和方法。如下面将更详细解释的,本文公开的装置、系统和方法可以减少图像帧处理周期中涉及的动态随机存取存储器(DRAM)访问的数量。通过这样做,这些装置、系统和方法可以减少完成这种图像帧处理周期所需的时间量,从而减轻动显延迟,并潜在地改善佩戴头戴式显示器的用户的整体体验。
附加地或可替代地,这些装置、系统和方法可以实现能够经由公共时钟信号与相应的显示设备同步的硬件加速显示成像流水线。经由公共时钟信号的这种硬连线和/或硬件驱动的同步可以消除在图像传送设备(在该示例中是硬件加速显示成像流水线)和显示设备之间执行耗时的基于握手的同步操作的需要。通过这样做,这些装置、系统和方法可以减少头戴式显示器中的资源消耗和/或时间延时或损失,从而进一步减轻动显延迟,并潜在地改善佩戴头戴式显示器的用户的整体体验。
此外,经由公共时钟信号的这种硬连线和/或硬件驱动的同步可以使得硬件加速显示成像流水线能够在线执行图像处理操作。通过这样做,硬件加速显示成像流水线能够逐行地执行图像处理操作,而不是逐帧地执行这些操作。因此,硬件加速显示成像流水线可以比传统的图像传送设备更快地(通过例如帧内修改)补偿和/或考虑到用户移动。通过这样做,硬件加速显示成像流水线可以减少和/或改善这种头戴式显示器的响应时间,从而减轻动显延迟,并潜在地改善佩戴头戴式显示器的用户的整体体验。
现在将参考各种示例性实施例,其示例在附图中示出。在以下描述中,阐述了许多具体细节,以便提供对各种描述的实施例的理解。然而,对于本领域的普通技术人员来说将明显的是,可以在没有这些具体细节的情况下实施各种所描述的实施例。在其他情况下,没有详细描述众所周知的系统、方法、过程、组件、电路和网络,以免不必要地模糊实施例的各个方面。
参考图1-11,下面将提供用于在头戴式显示器中实现帧内图像处理的示例性装置、系统和/或相应实现的详细描述。将结合图12提供在头戴式显示器中实现帧内图像处理的方法的详细描述。
图1示出了根据一些实施例的用于在头戴式显示器中实现帧内图像处理的示例性专用硬件设备100。在某些示例中,专用硬件设备100可以被结合在头戴式显示器中和/或表示头戴式显示器的一部分。在这样的示例中,专用硬件设备100可以负责对最终显示给佩戴头戴式显示器的用户的图像执行某些图像处理操作。
专用硬件设备100通常代表被设计成执行各种时间敏感的图像处理操作的物理电路、系统和/或硬件加速器。在一些示例中,专用硬件设备100可以包括和/或表示片上系统(SoC)和/或专用集成电路(ASIC)。例如,专用硬件设备100可以通过SoC和/或ASIC实现显示成像流水线。除了显示成像流水线之外,SoC和/或ASIC还可以包括各种其他计算组件,这些组件涉及处理图像以供头戴式显示器显示。这种计算组件的示例包括但不限于高级精简指令集计算机(RISC)机器(ARM)处理器、中央处理单元(CPU)、图像信号处理器(ISP)、数字信号处理器(DSP)、计算机视觉(CV)加速器、视频编码器、视频解码器、硬件加速处理组件、它们中的一个或更多个的组合或变体、和/或任何其他合适的组件。
如图1所示,专用硬件设备100可以包括图像信号处理器102、输入格式化组件104、融合组件106和帧输出接口108。在一些示例中,图像信号处理器102可以从头戴式显示器上机载的相机接收图像帧和/或对那些图像帧执行某些图像处理操作(例如图像缩放、透镜校正、噪声校正、对比度调整、锐化等)。
在一些示例中,输入格式化组件104可以从头戴式显示系统外部的独立主机设备接收计算机生成的影像,和/或解压缩或解码这种计算机生成的影像,用于叠加到由机载相机捕获的图像帧上。附加地或可替代地,输入格式化组件104可以从头戴式显示器上机载的内部源设备接收计算机生成的影像。输入格式化组件104还可以对从独立主机设备接收的计算机生成的影像执行某些图像处理和/或格式化操作(例如解压缩、解码、提取、缩放、边缘保留等)。
在一些示例中,融合组件106可以通过将从独立主机设备接收的计算机生成的影像叠加到由机载相机捕获的图像帧上来生成混合现实帧。换句话说,融合组件106可以有效地将图像帧中捕获的真实世界的某些元素与计算机生成的影像中表示的虚拟世界的其他元素融合。在一些示例中,术语“混合现实帧”可以指包括和/或组合照片内容和/或图像的一个或更多个元素与计算机生成的影像的一个或更多个元素的任何类型或形式的图像帧。
在一些示例中,帧输出接口108可以将混合现实帧发送、传输和/或馈送到集成和/或结合到头戴式显示器中的显示设备。通过这样做,帧输出接口108可以使显示设备能够显示混合现实帧,以呈现给佩戴头戴式显示器的用户。在一个示例中,帧输出接口108可以包括和/或表示移动产业处理器接口(MIPI)显示器串行接口(DSI)。
图2示出了根据一些实施例的由用户204佩戴的示例性头戴式显示系统200。如图2所示,头戴式显示系统200可以包括耦合到头戴式显示器202的带206。在该示例中,头戴式显示器202可以至少包括捕捉用户204的周围环境的图像和/或视频的相机210(1)和210(2)。因此,相机210(1)和210(2)可以促进透视功能和/或成像,或者使头戴式显示器202能够用作混合现实门户(portal),其中用户204的现实世界周围环境与虚拟世界内容融合。相机210(1)和210(2)的示例包括但不限于数码相机、RGB相机、互补金属氧化物半导体(CMOS)图像传感器、电荷耦合器件(CCD)图像传感器、成像传感器阵列、它们中的一个或更多个的变体或组合、它们中的一个或更多个的组合和/或任何其他合适的相机。
在一些示例中,术语“头戴式显示器”可以指佩戴在用户脸上或周围并向用户显示视觉内容的任何类型或形式的显示设备或系统。头戴式显示器可以以任何合适的方式显示内容,包括通过屏幕(例如,LCD或LED屏幕)、投影仪、阴极射线管、光学混合器等。头戴式显示器可以以一种或更多种媒体格式显示内容。例如,头戴式显示器202可以显示视频、照片、计算机生成的影像(CGI)和/或它们的组合。
头戴式显示器可以提供多样化和独特的用户体验。一些头戴式显示器可以提供虚拟现实体验(即,它们可以显示计算机生成或预先记录的内容),而其他头戴式显示器可以提供现实世界体验(即,它们可以显示来自物理世界的实况图像)。头戴式显示器也可以提供实时和虚拟内容的任何混合。例如,虚拟内容可以被投影到物理世界上(例如,通过光学或视频透视),这可以产生增强现实或混合现实体验。
头戴式显示器可以被配置成以多种方式安装到用户的头部。一些头戴式显示器可以被结合到眼镜或面罩(visors)中。其他头戴式显示器可以被结合到头盔、帽子或其他头戴装备中。头戴式显示器的示例可以包括OCULUS RIFT、GOOGLE GLASS、VIVE、SAMSUNG GEAR等。
如图2所示,用户204可以将头戴式显示系统200放置在用户的头上,使得头戴式显示器202位于和/或置于用户的脸上。通过以这种方式将头戴式显示系统200放置在他或她的脸上,用户204可以将头戴式显示器202放置在他或她的眼睛上,以体验和/或观看头戴式显示器202上呈现的虚拟内容。用户204还可以通过将带206缠绕在用户的后脑勺周围来将头戴式显示器202固定在正确的位置。
图3示出了根据一些实施例的并入头戴式显示器202中用于实现帧内图像处理的示例性组件。如图3所示,头戴式显示器202可以包括专用硬件设备100、相机320(1)-(N)和显示设备318。在一些示例中,显示设备318可以包括呈现图像帧(例如虚拟现实、增强现实和/或混合现实帧)以呈现给佩戴头戴式显示器202的用户的屏幕。显示设备318的示例包括但不限于液晶显示器(LCD)、发光二极管(LED)显示器、视网膜投影显示器、它们中的一个或更多个的变体或组合、和/或任何其他合适的显示设备。
如图3所示,专用硬件设备100可以包括各种组件和/或硬件加速设备。例如,专用硬件设备100可以包括图像信号处理器102、相机接口302、计算机视觉硬件加速器304、视频编码器306、视频解码器308、中央处理单元312、数字信号处理器314、显示成像流水线310和帧输出接口316。如下面将更详细描述的,显示成像流水线310可以包括负责执行时间敏感的图像处理操作的各种硬件加速图像校正组件。
在一些示例中,图像信号处理器102可以集成和/或结合在专用硬件设备100内的显示成像流水线310的内部或外部。例如,如图3所示,图像信号处理器102可以位于专用硬件设备100内的显示成像流水线310的外部。在该示例中,专用硬件设备100可以包括直接通信路径322,其便于从图像信号处理器102到显示成像流水线310的通信。直接通信路径322可以使专用硬件设备100能够最小化整个图像帧处理周期中准备由显示设备318呈现的图像帧所需的存储器访问次数。
例如,直接通信路径322可以使图像信号处理器102能够将图像帧直接转发到显示成像流水线310中的后续组件(例如,融合组件、硬件加速图像校正和/或失真组件、或多路复用器),而无需首先在DRAM中缓冲。因此,直接通信路径322可以有效地消除在图像信号处理器102和后续组件之间在DRAM中缓冲图像帧的需要。通过这样做,直接通信路径322可以减少图像帧处理周期中涉及的DRAM访问的数量。
在一些示例中,显示成像流水线310可以被专门设计用于执行时间敏感的图像处理操作(例如色差校正、伽马校正和/或调整、多图像融合和/或重叠、显示器过驱动补偿、Mura校正、抖动、图像解压缩、图像缩放、透镜校正、噪声校正、图像失真、异步时间扭曲、异步空间扭曲等)。这些操作中的一些可能传统上是由图形处理单元(GPU)执行的,而不是由SoC和/或ASIC执行。然而,因为GPU本质上是虚拟现实、增强现实和/或混合现实环境中的通用计算组件,所以它们不是专门为在这些环境中执行这些操作而设计的。结果,GPU可以结合和/或实现减慢这种操作的某些特征和/或功能,使得在GPU被部署在虚拟现实、增强现实和/或混合现实环境中时潜在地导致和/或促成动显延迟。
作为这种缺陷的具体示例,传统的头戴式显示器可以包括被编程为执行各种时间敏感的图像处理操作的GPU,这些操作包括色差校正、伽马校正和/或调整、多图像融合和/或重叠、显示器过驱动补偿、Mura校正、抖动、图像缩放、透镜校正、噪声校正、对比度调整和/或锐化等。该GPU可以被设计成使得在对图像帧完成这些操作之一之后,该GPU在DRAM中临时存储和/或缓冲图像帧,直到下一个操作。在适当的时候,GPU然后可以从DRAM中取出图像帧,以对图像帧执行下一个操作。将图像帧写入DRAM并随后从DRAM中读取图像帧的这种循环可以继续,直到每个图像处理操作完成。
当图像帧准备好显示时,图像帧可能已经经历了多次DRAM读取和/或写入操作。不幸的是,每次DRAM访问(无论是读还是写)都可能导致和/或等于图像帧的延时或时间损失。因此,在该GPU驱动的实施例中,至少部分由于GPU的通用架构和/或其对DRAM缓冲器的严重依赖,完成针对图像帧的所有图像处理操作所需的时间量可能被延长和/或拉长(drawnout)。
在某些应用中(如GPU驱动的电视或计算机监视器),这种延时可能对整体用户体验的影响很小(如果有的话)。事实上,这种延时可能完全不引人注意。然而,在虚拟现实、增强现实和/或混合现实环境中,这种延时对某些用户来说可能是引人注意的,甚至是显而易见的,这可能会导致不连贯的用户体验,让他们感觉不舒服。
为了解决这个缺陷,头戴式显示器202可以包括和/或结合专用硬件设备100(例如,SoC和/或ASIC),其执行传统上由GPU负责的许多图像处理操作。如下面将更详细解释的,由于各种原因,SoC和/或ASIC驱动的显示流水线可以优于和/或改进传统的GPU驱动的显示流水线。
图4示出了根据一些实施例的用于在头戴式显示器中实现帧内图像处理的显示成像流水线310的示例性实现400。如图4所示,实现400可以包括和/或涉及显示成像流水线310、显示设备318和/或存储器设备418。存储器设备418通常表示能够存储数据和/或计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。在一个示例中,存储器设备418可以包括和/或表示DRAM设备和/或缓冲器。存储器设备418的其他示例包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、闪存、固态驱动器(SSD)、光驱、高速缓存、这些部件中的一个或更多个的变体或组合、和/或任何其他合适的储存存储器。
如图4所示,显示成像流水线310可以包括图像信号处理器102、输入格式化组件104、图像校正组件408(1)和408(2)、融合组件106和/或硬件加速图像校正组件412(1)-(N)。在一些示例中,图像校正组件408(1)和408(2)可以各自表示对图像帧和/或计算机生成的影像执行某些失真校正操作(例如图像失真校正、异步时间扭曲、异步空间扭曲等)和/或某些图像处理操作(例如图像缩放、透镜校正、噪声校正、对比度调整、锐化等)的集成设备和/或电路。
在一些示例中,硬件加速图像校正组件412(1)-(N)可以各自表示执行一个或更多个图像处理操作的集成设备或电路。这种图像处理操作的示例包括但不限于色差校正、伽马校正和/或调整、显示器过驱动补偿、Mura校正、抖动、图像缩放、透镜校正、噪声校正、前述操作中一个或更多个的变体或组合、和/或任何其他合适的操作。
在一些示例中,实现400可以对应于和/或表示混合现实环境。在一个示例中,图像帧402可以在去往显示设备318的途中到达显示成像流水线310内的图像信号处理器102。在该示例中,图像帧402可能已经被头戴式显示器202上的相机320(1)-(N)捕获。
当图像帧402到达时,图像信号处理器102可以对图像帧402执行某些图像处理操作(例如透镜校正、图像缩放、噪声校正、对比度调整、清晰度调整、颜色调整等),然后将其转发到图像校正组件408(1)。由图像信号处理器102执行的那些图像处理操作可以应用于和/或专用于图像帧402。因此,那些图像处理操作可能不应用于和/或不旨在用于随后与图像帧402融合的计算机生成的影像404。
一旦接收到图像帧402,图像校正组件408(1)可以对图像帧402应用异步时间扭曲和/或异步空间扭曲。图像校正组件408(1)然后可以将图像帧402转发到融合组件106,用于与计算机生成的影像404融合。
在一些示例中,术语“异步时间扭曲”可以指一种图像处理操作,其中生成图像帧以至少部分基于先前帧和用户运动数据来表示和/或反映用户的头部位置的变化。例如,异步时间扭曲可以包括通过修改最后一个图像帧来补偿和/或考虑到用户的头部运动,从而再利用该图像帧。这种修改可以基于用户的头部运动,有效地向左、向右、向上和/或向下移动帧内的图像,或者甚至顺时针和/或逆时针旋转帧内的图像。这种异步时间扭曲可以确保头戴式显示器202即使在头戴式显示器202(例如,由于显示成像流水线中的延迟)无法在所需时间段内准备和/或呈现全新的图像帧的情况下也始终具有要显示的图像帧。
在一些示例中,术语“异步空间扭曲”可以指一种图像处理操作,其中修改图像帧内的景物和/或对象,以至少部分基于在先前帧和用户运动数据中识别的差异来补偿和/或考虑到用户的头部位置的变化。例如,异步空间扭曲可以包括通过响应于用户的移动调整先前呈现的图像帧内的景物和/或对象来修改该图像帧。在一个示例中,某些景物和/或对象可以在用户环视一个角落(无论是真实的还是虚拟的)之后,通过异步空间扭曲在图像帧内被暴露和/或变得可见。类似地,某些景物和/或对象可以在用户在角落周围扫视之后通过异步空间扭曲在图像帧内被遮挡。
在该示例中,计算机生成的影像404可以在去往显示设备318的途中到达显示成像流水线310内的输入格式化组件104。在该示例中,计算机生成的影像404可能已经由位于头戴式显示系统200外部和/或与其分离的独立主机设备生成和/或提供。
当计算机生成的影像404到达时,输入格式化组件104可以对计算机生成的影像404执行某些图像处理操作(例如解压缩、解码、缩放、边缘保留等),然后将其转发给图像校正组件408(2)。由输入格式化组件104执行的那些图像处理操作可以应用于和/或专用于计算机生成的影像404。因此,那些图像处理操作可能不应用于和/或不旨在用于计算机生成的影像404随后与之融合的图像帧402。
一旦接收到计算机生成的影像404,图像校正组件408(2)可以对计算机生成的影像404应用异步时间扭曲和/或异步空间扭曲。图像校正组件408(2)然后可以将计算机生成的影像404转发到融合组件106,用于与图像帧402融合。
在一个示例中,图像校正组件408(1)可以使图像帧402失真,以将图像帧402的某些像素与计算机生成的影像404的相应像素对齐。图像校正组件408(1)还可以将图像帧402的那些像素中的每一个映射到显示设备318的特定显示元素。类似地,图像校正组件408(2)可以使计算机生成的影像404失真,以将计算机生成的影像404的相应像素与图像帧402的那些像素对齐。图像校正组件408(2)还可以将计算机生成的影像404的每个对应像素映射到显示设备318的特定元素。
在一些示例中,融合组件106可以接收图像帧402和/或计算机生成的影像404。在这样的示例中,融合组件106可以通过将计算机生成的影像404叠加到图像帧402上来生成混合现实帧。这些混合现实帧可以包括来自图像帧402和计算机生成的影像404的真实和虚拟元素的组合。融合组件106然后可以在显示设备318处呈现给用户之前,将混合现实帧转发到硬件加速图像校正组件412(1)-(N)以进行帧处理周期的最后阶段。
在硬件加速图像校正组件412(1)-(N)处,混合现实帧可以在融合阶段之后经历旨在用于图像帧402和计算机生成的影像404的某些图像处理操作。在完成那些图像处理操作后,硬件加速图像校正组件412(1)-(N)可以将混合现实帧转发到显示设备318,用于再现和/或呈现给用户。
以上结合图4提供的描述可以表示示例性图像帧处理周期,其中图像帧402和计算机生成的影像404经历预融合处理操作,被融合成混合现实帧,然后经历进一步的融合后处理操作。图4中的实现400可以使显示成像流水线310能够优化和/或最小化对存储器设备418进行的存储器访问(例如,读或写操作)的数量。例如,如图4所示,显示成像流水线310可以提供图像信号处理器102和显示成像流水线310中的后续组件(在该示例中,图像校正组件408(1))之间的直接路径。该直接路径可以使图像信号处理器102能够将图像帧402直接转发到显示成像流水线310中的后续组件,而无需首先在存储器设备418中缓冲。因此,该直接路径可以有效地消除在图像信号处理器102和后续组件之间在存储器设备418中缓冲图像帧402的需要。通过这样做,与传统的GPU驱动的实施例相比,该直接路径可以减少图像帧处理周期中涉及的DRAM访问的数量。
图5示出了根据一些实施例的用于在头戴式显示器中实现帧内图像处理的专用硬件设备100的示例性实现500。如图5所示,实现500可以包括和/或涉及专用硬件设备100、显示设备318、DRAM 518和时钟发生器520。时钟发生器520的示例包括但不限于谐振器、振荡器、波发生电路、锁相环(PLL)、它们中的一个或更多个的变体或组合、和/或任何其他合适的时钟发生器。
在一个示例中,时钟发生器520可以生成时钟信号522和/或将其馈送给专用硬件设备100和显示设备318。在该示例中,时钟信号522可以用于使专用硬件设备100和显示设备318彼此同步。换句话说,专用硬件设备100和显示设备318可以至少部分基于时钟信号522彼此同步。
在一些示例中,图5中的专用硬件设备100可以被专门设计用于在虚拟现实、增强现实和/或混合现实环境中执行时间敏感的图像处理操作。如图5中的实现500所表示的这种设计可以使专用硬件设备100能够优化和/或最小化对DRAM 518进行的DRAM访问516(1)-(N)的数量。例如,专用硬件设备100可以包括内部组件之间的一个或更多个直接路径。这些直接路径可以将图像帧和/或计算机生成的影像从一个图像处理组件直接传送到下一个图像处理组件,而无需首先在DRAM 518中缓冲。因此,这些直接路径可以有效地消除当图像帧和/或计算机生成的影像向显示设备318行进时在该图像处理组件和下一个图像处理组件之间在DRAM 518中缓冲该图像帧和/或计算机生成的影像的需要。通过这样做,与传统的GPU驱动的实施例相比,这些直接路径可以减少图像帧处理周期中涉及的DRAM访问的数量。
如下面将更详细描述的,在专用硬件设备100上实现的显示成像流水线310可以在线地执行一些或所有图像处理操作,以减少帧处理周期的延迟。在一些示例中,术语“在线(in-line)”当相对于处理操作使用时,可以指图像帧从一个硬件加速组件直接行进到另一个硬件加速组件而不在存储器中间歇缓冲的进展或过渡。这种在线处理在传统的GPU驱动的实施例中可能无法实现和/或不切实际,这至少部分是由于GPU的通用架构和/或其对DRAM缓冲器的严重依赖。
通过在线地执行这些图像处理操作,在专用硬件设备100上实现的显示成像流水线310能够实现传统的GPU驱动的实施例所不能实现的进一步的效率增益和/或处理精度。例如,传统的GPU驱动的显示流水线可以被设计和/或编程为逐帧执行图像处理操作。在该示例中,每个图像处理操作可以应用于整个图像帧,而不是图像帧的单独行。因此,传统的GPU可能无法对少于整个图像帧应用某些图像操纵和/或校正措施。
传统GPU驱动的实施例中这种缺陷的一个原因是GPU和显示设备之间的同步。例如,传统的GPU可能需要定期向显示设备馈送和/或传送图像帧,以从用户的角度保持视觉连续性。然而,传统的GPU和显示设备可能依赖和/或操作相对于彼此不同的时钟信号。为了实现图像帧从GPU到显示设备的稳定传送,GPU和显示设备可能需要定期地执行彼此之间的基于握手的同步操作。
在一些示例中,术语“基于握手的同步操作”可以指设备和/或组件通过来回通信彼此同步的任何过程。在一个示例中,传统的GPU能够通过基于握手的同步操作与头戴式显示器内的显示设备同步。在该示例中,基于握手的同步操作可以包括传统GPU和显示设备之间的双向或三向握手、处理和/或通信。
不幸的是,像DRAM访问一样,每个基于握手的同步操作可能导致和/或相当于受影响的图像帧的延时或时间损失(更不用说额外的资源消耗)。因此,完成针对某些图像帧的所有图像处理操作所需的时间量可能被延长和/或拉长,这至少部分是由于传统的GPU和显示设备的正在进行的同步要求。
为了向用户提供视觉连续性,即使传统的GPU和显示设备依赖和/或操作不同的时钟信号,传统的GPU可能在某种程度上被限制为执行低粒度、低效的图像处理操作(例如基于帧的操作),以确保向显示设备馈送稳定的图像帧流。换句话说,这种低粒度图像处理的实践可以帮助传统的GPU驱动的实施例避免更严重的显示问题(例如下溢和/或上溢),这可能潜在地导致显示器丢失某些帧。
然而,在专用硬件设备100上实现的显示成像流水线310可以避免和/或减轻上述同步问题。例如,专用硬件设备100可以被设计成依赖和/或操作与显示设备318相同的时钟信号。在该示例中,如上所述,头戴式显示器202可以包括生成和/或产生时钟信号522的时钟发生器520。时钟发生器520可以向专用硬件设备100和显示设备318输送和/或馈送时钟信号522。
通过以这种方式将时钟信号522输送和/或馈送到专用硬件设备100,时钟发生器520可以有效地使显示成像流水线310和显示设备318能够避免相对于图像流变得不同步。该公共时钟发生器还可以使在专用硬件设备100上实现的显示成像流水线310和显示设备318能够避免耗时的基于握手的同步操作。因此,在专用硬件设备100上实现的显示成像流水线310能够对图像流执行更高粒度、更有效或动态的图像处理操作,而不会有下溢和/或上溢的风险。例如,在没有下溢和/或上溢风险的情况下,在专用硬件设备100上实现的显示成像流水线310能够对图像流执行帧内和/或子帧处理。换句话说,在专用硬件设备100上实现的显示成像流水线310可以逐行动态地处理图像帧,而不是仅仅逐帧处理,不会导致显示设备318处的帧丢失。
在一些示例中,时钟信号522可以使显示成像流水线310能够放弃与显示设备318的至少一个基于握手的同步操作。附加地或可替代地,时钟信号522可以使得图像校正组件408(1)或408(2)能够在逐行的基础上对单个图像帧执行硬件加速的帧内处理操作。因此,图像校正组件408(1)或408(2)执行这种硬件加速的帧内处理操作的能力可以至少部分地通过显示成像流水线310放弃与显示设备的基于握手的同步操作来实现。
图6示出了根据一些实施例的用于在头戴式显示器中实现帧内图像处理的专用硬件设备100的示例性实现600。如图6所示,实现600可以包括和/或涉及通过通信链路604彼此通信的头戴式显示器202和独立主机设备606。在一个示例中,独立主机设备606可以代表个人计算机(PC)和/或游戏控制台。在该示例中,独立主机设备606可以包括物理处理器630、通信接口632和存储器640。
如图6所示,头戴式显示器202可以包括专用硬件设备100、相机320(1)-(N)、通信接口634和存储器设备418。在一个示例中,独立主机设备606和头戴式显示器202可以分别通过通信接口632和634建立和/或形成彼此之间的通信链路604。在该示例中,头戴式显示器202上的相机320(1)-(N)可以从用户的角度捕捉图像帧402。
在一个示例中,独立主机设备606可以经由通信链路604将计算机生成的影像404馈送到头戴式显示器202,使得头戴式显示器202能够将计算机生成的影像404与由机载相机捕获的图像帧402融合。最终的体验对用户来说可以看起来是现实和虚拟现实的混合。因此,头戴式显示器202可以有效地用作透视相机,其使得用户能够观看他或她的被从独立主机设备606馈送的虚拟对象修改的周围环境。
作为一个特定的用例示例,用户可以在他或她的起居室佩戴和/或操作头戴式显示器202。在该示例中,头戴式显示器202可以捕捉他或她的周围环境(包括例如客厅家具)的视频,然后将该视频与从附近的PC馈送的虚拟对象融合。在完成相应的处理和/或融合之后,在头戴式显示器202中向用户显示的视频可以显示和/或呈现在起居室中他或她的沙发上的虚拟覆盖物(或所谓的皮肤),从而从用户的角度操纵沙发的外观。在该示例中,专用硬件设备100可以代表实现显示成像流水线310的ASIC。由于在该ASIC实现的显示流水线中,许多时间敏感的图像处理操作是由ASIC而不是由GPU执行的,所以通过设计ASIC的硬件和/或架构来最小化和/或优化DRAM的访问次数,可以减少完成所有这些操作所需的时间量。
图7示出了根据一些实施例的并入头戴式显示器202中用于实现帧内图像处理的示例性组件。如图7所示,头戴式显示器202可以包括和/或涉及专用硬件设备100、相机320(1)-(N)、显示设备318和一个或更多个运动检测传感器704。在一些示例中,运动检测传感器704可以检测和/或测量由佩戴头戴式显示器202的用户做出的某些运动和/或动作。运动检测传感器704的示例包括但不限于陀螺仪、加速度计、磁强计、电子罗盘、它们中的一个或更多个的组合或变体和/或任何其他合适的运动检测传感器。
在一个示例中,当用户操作头戴式显示器202时,运动检测传感器704可以生成图7中的用户运动数据706,然后将用户运动数据706发送到专用硬件设备100,以在图像帧处理周期期间补偿和/或考虑到用户运动数据706。在该示例中,用户运动数据706可以在来自单个图像帧的一些帧数据仍在被处理时到达专用硬件设备100。用户运动数据706可以指示和/或用于确定用户在该单个图像帧被机载相机捕获之后进行了一个或更多个移动。
更具体地,用户运动数据706可以在帧的一些单独行已经被转发到显示设备318以呈现给用户之后到达显示成像流水线310。例如,单个图像帧可以包括和/或由图像帧行708(例如,帧的顶行)和图像帧行710(例如,帧的中行和/或底行)组成。在该示例中,用户运动数据706可以在图像帧行708已经被处理之后但是在图像帧行710已经被处理之前到达显示成像流水线310。换句话说,图像帧行708可能已经被显示成像流水线310处理和/或被转发到显示设备318或由显示设备318呈现。因此,显示成像流水线310可能无法在图像帧行708中补偿和/或考虑到用户运动数据706中表示的用户最近的移动。然而,显示成像流水线310仍然能够在图像帧行710中补偿和/或考虑到用户的最近移动,这些图像帧行仍在被处理和/或尚未被转发到显示设备318。
因此,因为显示成像流水线310是在专用硬件设备100(而不是GPU)上实现的,所以显示成像流水线310可以对单个帧执行在线的帧内图像处理。这种在线的帧内处理可以使显示成像流水线310能够当单个帧从相机320(1)-(N)行进到头戴式显示器202上的显示设备318时动态地更新和/或操纵该单个帧的单独的行。通过这样做,显示成像流水线310可以在帧的某些行上补偿和/或考虑到用户的移动,即使这种补偿对于已经被处理和/或转发到显示设备以进行呈现的帧的其他行是不可用的。
图8和图9共同示出了根据一些实施例的用于通过硬件加速的帧内处理来实现头戴式显示器中的帧内图像处理的示例性实现900。在一些示例中,术语“帧内处理”可以指在少于整个图像帧上执行的图像处理操作。例如,显示成像流水线310可以对单个图像帧的某些行执行帧内处理,但不对该单个图像帧的其他行执行帧内处理。如本文所解释的,显示成像流水线310能够通过硬件加速来实现这种帧内处理,这在传统的GPU驱动的实施例中是不能成功实现的。
如图8所示,单个图像帧802可以由各种图形行组成,包括行804、806、808、810、812和814(在本文统称为“行804-814”)。在一个示例中,行804-814可以各自包括图形和/或图像数据或像素。在该示例中,行804-814可以各自包括由相机320(1)-(N)捕获的和/或由本地存储在头戴式显示器202上的照片文件源提供的和/或从远程设备(例如独立主机设备606)传输到头戴式显示器202的照片数据或像素。附加地或可替代地,行804-814可以各自包括代表存储在本地图像文件源中和/或由远程设备提供的虚拟对象和/或元素(例如CGI)的虚拟图像数据。
在一个示例中,行804-814可以各自对应于和/或表示将由头戴式显示器202的显示设备318呈现的离散图像帧行。例如,行804可以对应于和/或表示图像帧802中的从用户的角度来看由显示设备318的最顶端和/或最高显示元素呈现的顶行。在该示例中,行814可以对应于和/或表示图像帧802中的从用户的角度来看将由显示设备318的最底部和/或最低显示元素呈现的底行。
如图9所示,实现900可以包括和/或涉及显示成像流水线310、显示设备318、相机320(1)和/或运动检测传感器704。在实现900中,图像帧802可以作为单独行的流和/或序列穿过显示成像流水线310。例如,相机320(1)可以在特定时间点捕获图像帧802,然后以逐行方式将图像帧802馈送到显示成像流水线310中。在该示例中,行804可以是第一个进入和退出显示成像流水线310的行,其后是行806等等。最后,行814可以是在去往显示设备318的途中进入和退出显示成像流水线310的最后一行。因此,这种单独行的特定序列可以对应于和/或表示先进先出(FIFO)数据传送方案。
在实现900中,运动检测传感器704可以连续地测量用户的运动和/或移动。因此,运动检测传感器704可以连续地生成表示这种运动和/或移动的用户运动数据,和/或将其发送到显示成像流水线310,以使显示成像流水线310能够在由相机320(1)捕获的图像帧中补偿和/或考虑到用户的运动和/或移动。例如,在相机捕获图像帧802之后,用户可以突然运动和/或移动他或她的头。在该示例中,运动检测传感器704可以检测和/或测量用户做出的该运动和/或移动。运动检测传感器704然后可以至少部分基于该运动和/或移动来生成用户运动数据。
在一个示例中,运动检测传感器704可以生成反映用户在某个时间点的运动和/或当前位置或定向的用户运动数据706。在该示例中,运动检测传感器704随后可以生成反映用户在后续时间点的运动和/或当前位置或定向的用户运动数据706。
在一些示例中,运动检测传感器704可以将用户运动数据馈送到显示成像流水线310,使得显示成像流水线310能够修改图像帧802的至少一部分,以反映用户正在进行的运动和/或移动。例如,仅在(1)行804和806已经被显示成像流水线310处理并在显示设备318的显示屏918上呈现,以及(2)行808和810已经被显示成像流水线310处理并正在去往显示设备318的路上之后,用户运动数据706才变得可用于显示成像流水线310。因此,行804、806、808和810中的每一个可能不再适于基于用户运动数据706进行任何种类的修改。然而,即使行804、806、808和810不再适于进行这种修改,但行812和814仍然可以适于至少部分基于用户运动数据706进行修改。
在一个示例中,当用户运动数据706从运动检测传感器704到达时,显示成像流水线310可以执行将用户运动数据706应用于行812的至少一个图像处理操作910。在该示例中,图像处理操作910可以至少部分基于用户运动数据706来补偿和/或考虑到用户的最近运动和/或当前位置或定向。例如,图像处理操作910可以包括和/或涉及异步时间扭曲和/或异步空间扭曲。在完成图像处理操作910之后,显示成像流水线310可以将行812的修改版本馈送到显示设备318,用于在显示屏918上呈现。
类似地,仅在行804、806、808、810和812中的每一个已经被显示成像流水线310处理和/或在显示设备318的显示屏918上呈现之后,用户运动数据706才变得可用于显示成像流水线310。因此,行804、806、808、810和812中的每一个可不适于基于用户运动数据706进行任何种类的修改。然而,即使行804、806、808、810和812不适于进行这种修改,但行814仍然可适于至少部分基于用户运动数据706进行修改。
在该示例中,当用户运动数据706从运动检测传感器704到达时,显示成像流水线310可以执行将用户运动数据706应用于行814的至少一个图像处理操作。该图像处理操作可以至少部分基于用户运动数据706来补偿和/或考虑到用户的最近运动和/或当前位置或定向。在完成该图像处理操作之后,显示成像流水线310可以将行814的修改版本馈送到显示设备318,用于在显示屏918上呈现。
作为显示成像流水线310逐行处理的结果,由显示设备318呈现的帧的每一行可以有效地对应于和/或表示相对于用户的移动和/或头部位置或定向的不同的离散时间点。因此,显示成像流水线310可以使头戴式显示器202能够以最小的动显延迟实现图像流的高帧速率呈现。在专用硬件设备100上实现的显示成像流水线310甚至可以将这种头戴式显示技术推向和/或推进到零动显延迟。
图10是根据本文公开的任何实施例的用于在头戴式显示器中实现帧内图像处理的示例性方法1000的流程图。图10中所示的步骤可以由结合到头戴式显示器中的专用硬件设备(例如ASIC或SoC)来执行。此外,图10中所示的步骤还可以结合和/或涉及与以上结合图1-图9描述的描述一致的各种子步骤和/或变体。
如图10所示,在步骤1010,专用硬件设备可以包括图像校正组件,该图像校正组件接收预定被显示以呈现给佩戴头戴式显示系统的用户的单个图像帧。例如,相机320(1)-(N)之一可以捕获单个摄影帧,然后将其转发给专用硬件设备100。在另一示例中,头戴式显示系统200和/或独立主机设备606机载的CGI源设备可以生成单个CGI帧,然后将其发送到专用硬件设备100。无论哪种方式,当图像帧到达专用硬件设备100时,图像校正组件(例如,图像信号处理器102、图像校正组件408(1)或408(2)、图像校正组件412(1)-(N)之一等)可以接收图像帧以进行处理,以准备向用户204显示。
作为另一个示例,融合组件106可以通过组合来自由相机320(1)-(N)之一捕获的摄影图像的某些特征和/或来自由独立主机设备606提供的CGI的某些特征来生成单个混合现实和/或增强现实帧。融合组件106然后可以将混合现实和/或增强现实帧发送到图像校正组件412(1)。当混合现实和/或增强现实帧到达时,图像校正组件412(1)可以接收图像帧用于进一步处理,以准备显示给用户204。
在图10中的步骤1020,专用硬件设备可以接收用户运动数据,该用户运动数据指示佩戴头戴式显示系统的用户自生成单个图像帧以来已经进行了至少一次移动。例如,运动检测传感器704可以生成用户运动数据706,用户运动数据706表示和/或用于确定用户在单个图像帧被生成和/或被捕捉之后立即进行的移动。运动检测传感器704然后可以将用户运动数据706发送到图像校正组件(例如,图像信号处理器102、图像校正组件408(1)或408(2)、图像校正组件412(1)-(N)之一等)。当用户运动数据706到达时,图像校正组件可以接收用户运动数据706,用于处理和/或修改单个图像帧以准备显示给用户204。
在图10中的步骤1030,专用硬件设备可以根据用户运动数据对单个图像帧执行一个或更多个硬件加速的帧内处理操作,以在逐行的基础上补偿用户进行的移动。例如,专用硬件设备100可以通过将用户运动数据706仅应用于包括在单个图像帧中的行的子集来对单个图像帧执行硬件加速的帧内处理。在一个示例中,专用硬件设备100可以使包括在单个图像帧中的行的子集异步时间扭曲和/或异步空间扭曲。在该示例中,这种异步时间和/或空间扭曲可以修改该行的子集,以补偿和/或考虑用户所做的移动。
在图10中的步骤1040,专用硬件设备可以在完成硬件加速的帧内处理操作后,将单个图像帧馈送到头戴式显示系统的显示设备,以便于显示该单个图像帧,从而呈现给用户。例如,在完成硬件加速的帧内处理后,专用硬件设备100可以将包括在单个图像帧中的经修改的行的子集传递和/或转发给头戴式显示器202的显示设备318。在接收到经修改的行的那个子集时,显示设备318可以显示经修改的行以及包括在单个图像帧中的行的另一个子集。在该示例中,行的另一子集可能没有被用户运动数据706修改以补偿用户所做的移动。
已经提供了前面的描述,以使本领域的其他技术人员能够最好地利用本文公开的示例性实施例的各个方面。该示例性描述不旨在穷举或限制于所公开的任何精确形式。在不脱离本公开的精神和范围的情况下,许多修改和变化是可能的。本文公开的实施例在所有方面都应该被认为是说明性的,而不是限制性的。在确定本公开的范围时,应当参考所附权利要求及其等同物。
本公开的实施例可以包括人工现实系统或者结合人工现实系统来实现。人工现实是一种在呈现给用户之前已经以某种方式进行了调整的现实形式,其可以包括例如虚拟现实(VR)、增强现实(AR)、混合现实(mixed reality,MR)、混杂现实(hybrid reality)或其某种组合和/或衍生物。人工现实内容可以包括完全生成的内容或者与捕获的(例如,真实世界的)内容相结合的生成的内容。人工现实内容可以包括视频、音频、触觉反馈或它们的某种组合,它们中的任何一个都可以在单个通道或多个通道中呈现(例如向观众产生三维效果的立体视频)。此外,在一些实施例中,人工现实还可以与应用、产品、附件、服务或其某种组合相关联,这些应用、产品、附件、服务或其某种组合用于例如在人工现实中创建内容和/或在人工现实中以其他方式使用(例如在人工现实中执行活动)。提供人工现实内容的人工现实系统可以在各种平台上实现,这些平台包括连接到主计算机系统的头戴式显示器(HMD)、独立的HMD、移动设备或计算系统、或者能够向一个或更多个观众提供人工现实内容的任何其他硬件平台。
本文描述和/或示出的过程参数和步骤顺序仅作为示例给出,并且可以根据需要改变。例如,虽然在本文示出和/或描述的步骤可以以特定顺序示出或讨论,但是这些步骤不一定需要以示出或讨论的顺序执行。本文描述和/或示出的各种示例性方法也可以省略本文描述或示出的一个或更多个步骤,或者包括除了那些公开的步骤之外的附加步骤。
除非另有说明,否则说明书和权利要求书中使用的术语“连接到”和“耦合到”(及其派生词)应被解释为允许直接和间接(即,通过其他元件或组件)连接。此外,说明书和权利要求书中使用的术语“一个(a)”或“一个(an)”应被解释为意指“...中的至少一个”。最后,为了便于使用,说明书和权利要求书中使用的术语“包括(including)”和“具有”(及其派生词)可与词语“包括(comprising)”互换并具有相同的含义。
权利要求书(按照条约第19条的修改)
1.一种专用集成电路(ASIC),包括:
硬件加速的图像校正组件,所述硬件加速的图像校正组件:
接收要在头戴式显示系统上显示的图像帧;和
从与所述头戴式显示系统结合操作的运动检测传感器接收运动数据,所述运动数据指示自所述图像帧生成以来所述头戴式显示系统已经移动;
根据所述运动数据对所述图像帧执行一个或更多个硬件加速的帧内处理操作,以在逐行的基础上补偿所述头戴式显示系统的移动;和
帧输出接口,所述帧输出接口通信地耦合到所述硬件加速的图像校正组件,其中在完成所述硬件加速的帧内处理操作时,所述帧输出接口将所述图像帧馈送到所述头戴式显示系统的显示设备,以便于显示所述图像帧。
2.根据权利要求1所述的ASIC,还包括显示成像流水线,所述显示成像流水线:
包含所述硬件加速的图像校正组件;和
以时钟信号进行操作,所述时钟信号:
由包括在所述头戴式显示系统中的时钟发生器生成;和
对于所述头戴式显示系统的所述显示设备和所述显示成像流水线是共用的;和
其中所述时钟信号使所述显示成像流水线和所述显示设备彼此同步。
3.根据权利要求2所述的ASIC,其中,所述时钟信号使得所述显示成像流水线能够放弃与所述显示设备的至少一个基于握手的同步操作。
4.根据权利要求3所述的ASIC,其中,至少部分由于所述显示成像流水线放弃与所述显示设备的基于握手的同步操作,所述时钟信号使得所述硬件加速的图像校正组件能够在逐行的基础上对所述图像帧执行所述硬件加速的帧内处理操作。
5.根据权利要求1所述的ASIC,其中:
所述图像帧包括:
适于所述硬件加速的帧内处理操作的行的子集;和
不适于所述硬件加速的帧内处理操作的行的附加子集;
所述硬件加速的图像校正组件:
接收适于所述硬件加速的帧内处理操作的所述行的子集;和
通过至少部分地基于所述运动数据修改所述行的子集,对所述行的子集执行所述硬件加速的帧内处理操作,即使所述行的附加子集不适于所述硬件加速的帧内处理操作;和
所述帧输出接口将经修改的行的子集转发给所述显示设备,以便于将所述经修改的行的子集与所述行的附加子集一起显示。
6.根据权利要求5所述的ASIC,其中:
所述行的附加子集没有被修改以补偿所述头戴式显示系统自从生成所述图像帧以来的移动;和
所述显示设备在至少一个时间点期间同时显示所述经修改的行的子集和所述行的附加子集。
7.根据权利要求1所述的ASIC,其中,所述图像帧包括以下至少一个:
由与所述头戴式显示系统结合操作的相机设备捕获的摄影帧;
包括计算机生成的影像的虚拟现实帧;和
包括摄影内容和计算机生成的影像两者的混合现实帧。
8.根据权利要求1所述的ASIC,其中,所述硬件加速的帧内处理操作包括以下至少一项:
异步时间扭曲;和
异步空间扭曲。
9.根据权利要求1所述的ASIC,其中,所述图像帧包括混合现实帧,所述混合现实帧包括摄影内容和计算机生成的影像;和
所述ASIC还包括通信地耦合到所述硬件加速的图像校正组件的融合组件,其中所述融合组件通过将计算机生成的影像叠加到由结合所述头戴式显示系统操作的相机设备捕获的摄影帧上来生成所述混合现实帧。
10.根据权利要求9所述的ASIC,还包括通过直接通信路径通信地耦合到所述融合组件的处理组件,所述直接通信路径使得由所述相机设备捕获的所述摄影帧能够被直接馈送到所述融合组件,而不被缓冲在存储器中。
11.根据权利要求10所述的ASIC,其中,所述处理组件包括以下至少一个:
所述硬件加速的图像校正组件;和
图像信号处理器,在所述摄影帧被馈送到所述融合组件进行融合之前,所述图像信号处理器对所述摄影帧执行一个或更多个图像处理操作。
12.一种头戴式显示系统,包括:
专用集成电路(ASIC),所述ASIC:
接收要在所述头戴式显示系统上显示的图像帧;
从与所述头戴式显示系统结合操作的运动检测传感器接收运动数据,所述运动数据指示自所述图像帧生成以来所述头戴式显示系统已经移动;和
根据所述运动数据对所述图像帧执行一个或更多个硬件加速的帧内处理操作,以在逐行的基础上补偿所述头戴式显示系统的移动;和
显示设备,所述显示设备与所述ASIC通信耦合,其中所述显示设备:
从所述ASIC接收所述图像帧;和
显示所述图像帧。
13.根据权利要求12所述的头戴式显示系统,还包括时钟发生器,所述时钟发生器:
生成时钟信号;和
通过将所述时钟信号馈送给所述ASIC和所述显示设备,使所述ASIC和所述显示设备彼此同步。
14.根据权利要求13所述的头戴式显示系统,其中,所述时钟信号使得所述ASIC能够放弃与所述显示设备的至少一个基于握手的同步操作。
15.根据权利要求14所述的头戴式显示系统,其中,至少部分由于所述ASIC放弃与所述显示设备的基于握手的同步操作,所述时钟信号使得所述ASIC能够在逐行的基础上对所述图像帧执行所述硬件加速的帧内处理操作。
16.根据权利要求15所述的头戴式显示系统,其中:
所述图像帧包括:
适于所述硬件加速的帧内处理操作的行的子集;和
不适于所述硬件加速的帧内处理操作的行的附加子集;
所述ASIC:
接收适于所述硬件加速的帧内处理操作的所述行的子集;和
通过至少部分地基于所述运动数据修改所述行的子集来对所述行的子集执行所述硬件加速的帧内处理操作,即使所述行的附加子集不适于所述硬件加速的帧内处理操作;和
帧输出接口将经修改的行的子集转发给所述显示设备,以便于将所述经修改的行的子集与所述行的附加子集一起显示。
17.根据权利要求16所述的头戴式显示系统,其中:
所述行的附加子集没有被修改以补偿自从生成所述图像帧以来所述头戴式显示系统的移动;和
所述显示设备在至少一个时间点期间同时显示所述经修改的行的子集和所述行的附加子集。
18.根据权利要求12所述的头戴式显示系统,其中,所述图像帧包括以下至少一个:
由与所述头戴式显示系统结合操作的相机设备捕获的摄影帧;
包括计算机生成的影像的虚拟现实帧;和
包括摄影内容和计算机生成的影像两者的混合现实帧。
19.根据权利要求12所述的头戴式显示系统,其中,所述硬件加速的帧内处理操作包括以下至少一项:
异步时间扭曲;和
异步空间扭曲。
20.一种方法,包括:
由专用集成电路(ASIC)接收要在头戴式显示系统上显示的图像帧;
由所述ASIC接收运动数据,所述运动数据指示自所述图像帧生成以来所述头戴式显示系统已经移动;
由所述ASIC根据所述运动数据对所述图像帧执行一个或更多个硬件加速的帧内处理操作,以在逐行的基础上补偿所述头戴式显示系统的移动;和
在完成所述硬件加速的帧内处理操作时,由所述ASIC将所述图像帧馈送到所述头戴式显示系统的显示设备,以便于显示所述图像帧。
21.一种专用集成电路(ASIC),包括:
硬件加速的图像校正组件,所述硬件加速的图像校正组件:
接收要在头戴式显示系统上显示的图像帧;和
从与所述头戴式显示系统结合操作的运动检测传感器接收运动数据,所述运动数据指示自所述图像帧生成以来所述头戴式显示系统已经移动;
根据所述运动数据对所述图像帧执行一个或更多个硬件加速的帧内处理操作,以在逐行的基础上补偿所述头戴式显示系统的移动;和
帧输出接口,所述帧输出接口通信地耦合到所述硬件加速的图像校正组件,其中在完成所述硬件加速的帧内处理操作时,所述帧输出接口将所述图像帧馈送到所述头戴式显示系统的显示设备,以便于显示所述图像帧。
22.根据权利要求21所述的ASIC,还包括显示成像流水线,所述显示成像流水线:
包含所述硬件加速的图像校正组件;和
以时钟信号进行操作,所述时钟信号:
由包括在所述头戴式显示系统中的时钟发生器生成;和
对于所述头戴式显示系统的所述显示设备和所述显示成像流水线是共用的;和
其中所述时钟信号使所述显示成像流水线和所述显示设备彼此同步。
23.根据权利要求22所述的ASIC,其中,所述时钟信号使得所述显示成像流水线能够放弃与所述显示设备的至少一个基于握手的同步操作;
可选地,其中,至少部分由于所述显示成像流水线放弃与所述显示设备的基于握手的同步操作,所述时钟信号使得所述硬件加速的图像校正组件能够在逐行的基础上对所述图像帧执行所述硬件加速的帧内处理操作。
24.根据权利要求21至23中任一项所述的ASIC,其中:
所述图像帧包括:
适于所述硬件加速的帧内处理操作的行的子集;和
不适于所述硬件加速的帧内处理操作的行的附加子集;
所述硬件加速的图像校正组件:
接收适于所述硬件加速的帧内处理操作的所述行的子集;和
通过至少部分地基于所述运动数据修改所述行的子集来对所述行的子集执行所述硬件加速的帧内处理操作,即使所述行的附加子集不适于所述硬件加速的帧内处理操作;和
所述帧输出接口将经修改的行的子集转发给所述显示设备,以便于将所述经修改的行的子集与所述行的附加子集一起显示;
可选地,其中:
所述行的附加子集没有被修改以补偿自从生成所述图像帧以来所述头戴式显示系统的移动;和
所述显示设备在至少一个时间点期间同时显示所述经修改的行的子集和所述行的附加子集。
25.根据权利要求21至24中任一项所述的ASIC,其中,所述图像帧包括以下至少一个:
由与所述头戴式显示系统结合操作的相机设备捕获的摄影帧;
包括计算机生成的影像的虚拟现实帧;和
包括摄影内容和计算机生成的影像两者的混合现实帧。
26.根据权利要求21至25中任一项所述的ASIC,其中,所述硬件加速的帧内处理操作包括以下至少一项:
异步时间扭曲;和
异步空间扭曲。
27.根据权利要求21至26中任一项所述的ASIC,其中,所述图像帧包括混合现实帧,所述混合现实帧包括摄影内容和计算机生成的影像;和
所述ASIC还包括通信地耦合到所述硬件加速的图像校正组件的融合组件,其中所述融合组件通过将计算机生成的影像叠加到由结合所述头戴式显示系统操作的相机设备捕获的摄影帧上来生成所述混合现实帧;
可选地,所述ASIC还包括通过直接通信路径通信地耦合到所述融合组件的处理组件,所述直接通信路径使得由所述相机设备捕获的摄影帧能够被直接馈送到所述融合组件,而不被缓冲在存储器中;
可选地,其中所述处理组件包括以下至少一个:
所述硬件加速的图像校正组件;和
图像信号处理器,在所述摄影帧被馈送到所述融合组件进行融合之前,所述图像信号处理器对所述摄影帧执行一个或更多个图像处理操作。
28.一种头戴式显示系统,包括:
专用集成电路(ASIC),所述ASIC:
接收要在所述头戴式显示系统上显示的图像帧;
从与所述头戴式显示系统结合操作的运动检测传感器接收运动数据,所述运动数据指示自所述图像帧生成以来所述头戴式显示系统已经移动;和
根据所述运动数据对所述图像帧执行一个或更多个硬件加速的帧内处理操作,以在逐行的基础上补偿所述头戴式显示系统的移动;和
显示设备,所述显示设备与所述ASIC通信地耦合,其中所述显示设备:
从所述ASIC接收所述图像帧;和
显示所述图像帧。
29.根据权利要求28所述的头戴式显示系统,还包括时钟发生器,所述时钟发生器:
生成时钟信号;和
通过将所述时钟信号馈送给所述ASIC和所述显示设备,使所述ASIC和所述显示设备彼此同步。
30.根据权利要求29所述的头戴式显示系统,其中,所述时钟信号使得所述ASIC能够放弃与所述显示设备的至少一个基于握手的同步操作;
可选地,其中,至少部分由于所述ASIC放弃与所述显示设备的基于握手的同步操作,所述时钟信号使得所述ASIC能够在逐行的基础上对所述图像帧执行所述硬件加速的帧内处理操作。
31.根据权利要求30所述的头戴式显示系统,其中:
所述图像帧包括:
适于所述硬件加速的帧内处理操作的行的子集;和
不适于所述硬件加速的帧内处理操作的行的附加子集;
所述ASIC:
接收适于所述硬件加速的帧内处理操作的所述行的子集;和
通过至少部分地基于所述运动数据修改所述行的子集来对所述行的子集执行所述硬件加速的帧内处理操作,即使所述行的附加子集不适于所述硬件加速的帧内处理操作;和
帧输出接口将经修改的行的子集转发给所述显示设备,以便于将所述经修改的行的子集与所述行的附加子集一起显示;
可选地,其中:
所述行的附加子集没有被修改以补偿自从生成所述图像帧以来所述头戴式显示系统的移动;和
所述显示设备在至少一个时间点期间同时显示所述经修改的行的子集和所述行的附加子集。
32.根据权利要求28至31中任一项所述的头戴式显示系统,其中,所述图像帧包括以下至少一个:
由与所述头戴式显示系统结合操作的相机设备捕获的摄影帧;
包括计算机生成的影像的虚拟现实帧;和
包括摄影内容和计算机生成的影像两者的混合现实帧。
33.根据权利要求28至32中任一项所述的头戴式显示系统,其中,所述硬件加速的帧内处理操作包括以下操作中的至少一个:
异步时间扭曲;和
异步空间扭曲。
34.一种方法,包括:
通过专用集成电路(ASIC),特别是根据权利要求21至27中任一项所述的ASIC,接收要在头戴式显示系统特别是根据权利要求28至33中任一项所述的头戴式显示系统上显示的图像帧;
由所述ASIC接收运动数据,所述运动数据指示自所述图像帧生成以来所述头戴式显示系统已经移动;
由所述ASIC根据所述运动数据对所述图像帧执行一个或更多个硬件加速的帧内处理操作,以在逐行的基础上补偿所述头戴式显示系统的移动;和
在完成所述硬件加速的帧内处理操作时,由所述ASIC将所述图像帧馈送到所述头戴式显示系统的显示设备,以便于显示所述图像帧。

Claims (34)

1.一种专用硬件设备,包括:
图像校正组件,所述图像校正组件:
接收要在头戴式显示系统上显示的图像帧;和
从与所述头戴式显示系统结合操作的运动检测传感器接收运动数据,所述运动数据指示自所述图像帧生成以来所述头戴式显示系统已经移动;
根据所述运动数据对所述图像帧执行一个或更多个硬件加速的帧内处理操作,以在逐行的基础上补偿所述头戴式显示系统的移动;和
帧输出接口,所述帧输出接口通信地耦合到所述图像校正组件,其中在完成所述硬件加速的帧内处理操作时,所述帧输出接口将所述图像帧馈送到所述头戴式显示系统的显示设备,以便于显示所述图像帧。
2.根据权利要求1所述的专用硬件设备,还包括显示成像流水线,所述显示成像流水线:
包含所述图像校正组件;和
以时钟信号进行操作,所述时钟信号:
由包括在所述头戴式显示系统中的时钟发生器生成;和
对于所述头戴式显示系统的所述显示设备和所述显示成像流水线是共用的;和
其中所述时钟信号使所述显示成像流水线和所述显示设备彼此同步。
3.根据权利要求2所述的专用硬件设备,其中,所述时钟信号使得所述显示成像流水线能够放弃与所述显示设备的至少一个基于握手的同步操作。
4.根据权利要求3所述的专用硬件设备,其中,至少部分由于所述显示成像流水线放弃与所述显示设备的基于握手的同步操作,所述时钟信号使得所述图像校正组件能够在逐行的基础上对所述图像帧执行所述硬件加速的帧内处理操作。
5.根据权利要求1所述的专用硬件设备,其中:
所述图像帧包括:
适于所述硬件加速的帧内处理操作的行的子集;和
不适于所述硬件加速的帧内处理操作的行的附加子集;
所述图像校正组件:
接收适于所述硬件加速的帧内处理操作的所述行的子集;和
通过至少部分地基于所述运动数据修改所述行的子集,对所述行的子集执行所述硬件加速的帧内处理操作,即使所述行的附加子集不适于所述硬件加速的帧内处理操作;和
所述帧输出接口将经修改的行的子集转发给所述显示设备,以便于将所述经修改的行的子集与所述行的附加子集一起显示。
6.根据权利要求5所述的专用硬件设备,其中:
所述行的附加子集没有被修改以补偿所述头戴式显示系统自从生成所述图像帧以来的移动;和
所述显示设备在至少一个时间点期间同时显示所述经修改的行的子集和所述行的附加子集。
7.根据权利要求1所述的专用硬件设备,其中,所述图像帧包括以下至少一个:
由与所述头戴式显示系统结合操作的相机设备捕获的摄影帧;
包括计算机生成的影像的虚拟现实帧;和
包括摄影内容和计算机生成的影像两者的混合现实帧。
8.根据权利要求1所述的专用硬件设备,其中,所述硬件加速的帧内处理操作包括以下至少一项:
异步时间扭曲;和
异步空间扭曲。
9.根据权利要求1所述的专用硬件设备,其中,所述图像帧包括混合现实帧,所述混合现实帧包括摄影内容和计算机生成的影像;和
所述专用硬件设备还包括通信地耦合到所述图像校正组件的融合组件,其中所述融合组件通过将计算机生成的影像叠加到由结合所述头戴式显示系统操作的相机设备捕获的摄影帧上来生成所述混合现实帧。
10.根据权利要求9所述的专用硬件设备,还包括通过直接通信路径通信地耦合到所述融合组件的处理组件,所述直接通信路径使得由所述相机设备捕获的所述摄影帧能够被直接馈送到所述融合组件,而不被缓冲在存储器中。
11.根据权利要求10所述的专用硬件设备,其中,所述处理组件包括以下至少一个:
所述图像校正组件;和
图像信号处理器,在所述摄影帧被馈送到所述融合组件进行融合之前,所述图像信号处理器对所述摄影帧执行一个或更多个图像处理操作。
12.一种头戴式显示系统,包括:
专用硬件设备,所述专用硬件设备:
接收要在所述头戴式显示系统上显示的图像帧;
从与所述头戴式显示系统结合操作的运动检测传感器接收运动数据,所述运动数据指示自所述图像帧生成以来所述头戴式显示系统已经移动;和
根据所述运动数据对所述图像帧执行一个或更多个硬件加速的帧内处理操作,以在逐行的基础上补偿所述头戴式显示系统的移动;和
显示设备,所述显示设备与所述专用硬件设备通信耦合,其中所述显示设备:
从所述专用硬件设备接收所述图像帧;和
显示所述图像帧。
13.根据权利要求12所述的头戴式显示系统,还包括时钟发生器,所述时钟发生器:
生成时钟信号;和
通过将所述时钟信号馈送给所述专用硬件设备和所述显示设备,使所述专用硬件设备和所述显示设备彼此同步。
14.根据权利要求13所述的头戴式显示系统,其中,所述时钟信号使得所述专用硬件设备能够放弃与所述显示设备的至少一个基于握手的同步操作。
15.根据权利要求14所述的头戴式显示系统,其中,至少部分由于所述专用硬件设备放弃与所述显示设备的基于握手的同步操作,所述时钟信号使得所述专用硬件设备能够在逐行的基础上对所述图像帧执行所述硬件加速的帧内处理操作。
16.根据权利要求15所述的头戴式显示系统,其中:
所述图像帧包括:
适于所述硬件加速的帧内处理操作的行的子集;和
不适于所述硬件加速的帧内处理操作的行的附加子集;
所述专用硬件设备:
接收适于所述硬件加速的帧内处理操作的所述行的子集;和
通过至少部分地基于所述运动数据修改所述行的子集来对所述行的子集执行所述硬件加速的帧内处理操作,即使所述行的附加子集不适于所述硬件加速的帧内处理操作;和
帧输出接口将经修改的行的子集转发给所述显示设备,以便于将所述经修改的行的子集与所述行的附加子集一起显示。
17.根据权利要求16所述的头戴式显示系统,其中:
所述行的附加子集没有被修改以补偿自从生成所述图像帧以来所述头戴式显示系统的移动;和
所述显示设备在至少一个时间点期间同时显示所述经修改的行的子集和所述行的附加子集。
18.根据权利要求12所述的头戴式显示系统,其中,所述图像帧包括以下至少一个:
由与所述头戴式显示系统结合操作的相机设备捕获的摄影帧;
包括计算机生成的影像的虚拟现实帧;和
包括摄影内容和计算机生成的影像两者的混合现实帧。
19.根据权利要求12所述的头戴式显示系统,其中,所述硬件加速的帧内处理操作包括以下至少一项:
异步时间扭曲;和
异步空间扭曲。
20.一种方法,包括:
由专用硬件设备接收要在头戴式显示系统上显示的图像帧;
由所述专用硬件设备接收运动数据,所述运动数据指示自所述图像帧生成以来所述头戴式显示系统已经移动;
由所述专用硬件设备根据所述运动数据对所述图像帧执行一个或更多个硬件加速的帧内处理操作,以在逐行的基础上补偿所述头戴式显示系统的移动;和
在完成所述硬件加速的帧内处理操作时,由所述专用硬件设备将所述图像帧馈送到所述头戴式显示系统的显示设备,以便于显示所述图像帧。
21.一种专用硬件设备,包括:
图像校正组件,所述图像校正组件:
接收要在头戴式显示系统上显示的图像帧;和
从与所述头戴式显示系统结合操作的运动检测传感器接收运动数据,所述运动数据指示自所述图像帧生成以来所述头戴式显示系统已经移动;
根据所述运动数据对所述图像帧执行一个或更多个硬件加速的帧内处理操作,以在逐行的基础上补偿所述头戴式显示系统的移动;和
帧输出接口,所述帧输出接口通信地耦合到所述图像校正组件,其中在完成所述硬件加速的帧内处理操作时,所述帧输出接口将所述图像帧馈送到所述头戴式显示系统的显示设备,以便于显示所述图像帧。
22.根据权利要求21所述的专用硬件设备,还包括显示成像流水线,所述显示成像流水线:
包含所述图像校正组件;和
以时钟信号进行操作,所述时钟信号:
由包括在所述头戴式显示系统中的时钟发生器生成;和
对于所述头戴式显示系统的所述显示设备和所述显示成像流水线是共用的;和
其中所述时钟信号使所述显示成像流水线和所述显示设备彼此同步。
23.根据权利要求22所述的专用硬件设备,其中,所述时钟信号使得所述显示成像流水线能够放弃与所述显示设备的至少一个基于握手的同步操作;
可选地,其中,至少部分由于所述显示成像流水线放弃与所述显示设备的基于握手的同步操作,所述时钟信号使得所述图像校正组件能够在逐行的基础上对所述图像帧执行所述硬件加速的帧内处理操作。
24.根据权利要求21至23中任一项所述的专用硬件设备,其中:
所述图像帧包括:
适于所述硬件加速的帧内处理操作的行的子集;和
不适于所述硬件加速的帧内处理操作的行的附加子集;
所述图像校正组件:
接收适于所述硬件加速的帧内处理操作的所述行的子集;和
通过至少部分地基于所述运动数据修改所述行的子集来对所述行的子集执行所述硬件加速的帧内处理操作,即使所述行的附加子集不适于所述硬件加速的帧内处理操作;和
所述帧输出接口将经修改的行的子集转发给所述显示设备,以便于将所述经修改的行的子集与所述行的附加子集一起显示;
可选地,其中:
所述行的附加子集没有被修改以补偿自从生成所述图像帧以来所述头戴式显示系统的移动;和
所述显示设备在至少一个时间点期间同时显示所述经修改的行的子集和所述行的附加子集。
25.根据权利要求21至24中任一项所述的专用硬件设备,其中,所述图像帧包括以下至少一个:
由与所述头戴式显示系统结合操作的相机设备捕获的摄影帧;
包括计算机生成的影像的虚拟现实帧;和
包括摄影内容和计算机生成的影像两者的混合现实帧。
26.根据权利要求21至25中任一项所述的专用硬件设备,其中,所述硬件加速的帧内处理操作包括以下至少一项:
异步时间扭曲;和
异步空间扭曲。
27.根据权利要求21至26中任一项所述的专用硬件设备,其中,所述图像帧包括混合现实帧,所述混合现实帧包括摄影内容和计算机生成的影像;和
所述专用硬件设备还包括通信地耦合到所述图像校正组件的融合组件,其中所述融合组件通过将计算机生成的影像叠加到由结合所述头戴式显示系统操作的相机设备捕获的摄影帧上来生成所述混合现实帧;
可选地,所述专用硬件设备还包括通过直接通信路径通信地耦合到所述融合组件的处理组件,所述直接通信路径使得由所述相机设备捕获的摄影帧能够被直接馈送到所述融合组件,而不被缓冲在存储器中;
可选地,其中所述处理组件包括以下至少一个:
所述图像校正组件;和
图像信号处理器,在所述摄影帧被馈送到所述融合组件进行融合之前,所述图像信号处理器对所述摄影帧执行一个或更多个图像处理操作。
28.一种头戴式显示系统,包括:
专用硬件设备,所述专用硬件设备:
接收要在所述头戴式显示系统上显示的图像帧;
从与所述头戴式显示系统结合操作的运动检测传感器接收运动数据,所述运动数据指示自所述图像帧生成以来所述头戴式显示系统已经移动;和
根据所述运动数据对所述图像帧执行一个或更多个硬件加速的帧内处理操作,以在逐行的基础上补偿所述头戴式显示系统的移动;和
显示设备,所述显示设备与所述专用硬件设备通信地耦合,其中所述显示设备:
从所述专用硬件设备接收所述图像帧;和
显示所述图像帧。
29.根据权利要求28所述的头戴式显示系统,还包括时钟发生器,所述时钟发生器:
生成时钟信号;和
通过将所述时钟信号馈送给所述专用硬件设备和所述显示设备,使所述专用硬件设备和所述显示设备彼此同步。
30.根据权利要求29所述的头戴式显示系统,其中,所述时钟信号使得所述专用硬件设备能够放弃与所述显示设备的至少一个基于握手的同步操作;
可选地,其中,至少部分由于所述专用硬件设备放弃与所述显示设备的基于握手的同步操作,所述时钟信号使得所述专用硬件设备能够在逐行的基础上对所述图像帧执行所述硬件加速的帧内处理操作。
31.根据权利要求30所述的头戴式显示系统,其中:
所述图像帧包括:
适于所述硬件加速的帧内处理操作的行的子集;和
不适于所述硬件加速的帧内处理操作的行的附加子集;
所述专用硬件设备:
接收适于所述硬件加速的帧内处理操作的所述行的子集;和
通过至少部分地基于所述运动数据修改所述行的子集来对所述行的子集执行所述硬件加速的帧内处理操作,即使所述行的附加子集不适于所述硬件加速的帧内处理操作;和
帧输出接口将经修改的行的子集转发给所述显示设备,以便于将所述经修改的行的子集与所述行的附加子集一起显示;
可选地,其中:
所述行的附加子集没有被修改以补偿自从生成所述图像帧以来所述头戴式显示系统的移动;和
所述显示设备在至少一个时间点期间同时显示所述经修改的行的子集和所述行的附加子集。
32.根据权利要求28至31中任一项所述的头戴式显示系统,其中,所述图像帧包括以下至少一个:
由与所述头戴式显示系统结合操作的相机设备捕获的摄影帧;
包括计算机生成的影像的虚拟现实帧;和
包括摄影内容和计算机生成的影像两者的混合现实帧。
33.根据权利要求28至32中任一项所述的头戴式显示系统,其中,所述硬件加速的帧内处理操作包括以下操作中的至少一个:
异步时间扭曲;和
异步空间扭曲。
34.一种方法,包括:
通过专用硬件设备,特别是根据权利要求21至27中任一项所述的专用硬件设备,接收要在头戴式显示系统特别是根据权利要求28至33中任一项所述的头戴式显示系统上显示的图像帧;
由所述专用硬件设备接收运动数据,所述运动数据指示自所述图像帧生成以来所述头戴式显示系统已经移动;
由所述专用硬件设备根据所述运动数据对所述图像帧执行一个或更多个硬件加速的帧内处理操作,以在逐行的基础上补偿所述头戴式显示系统的移动;和
在完成所述硬件加速的帧内处理操作时,由所述专用硬件设备将所述图像帧馈送到所述头戴式显示系统的显示设备,以便于显示所述图像帧。
CN201880091636.8A 2018-02-03 2018-06-19 在头戴式显示器中实现帧内图像处理的装置、系统和方法 Pending CN111902842A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862626004P 2018-02-03 2018-02-03
US62/626,004 2018-02-03
US16/006,438 US10706813B1 (en) 2018-02-03 2018-06-12 Apparatus, system, and method for mitigating motion-to-photon latency in head-mounted displays
US16/006,438 2018-06-12
PCT/US2018/038230 WO2019152068A1 (en) 2018-02-03 2018-06-19 Apparatus, system, and method for achieving intraframe image processing in head-mounted displays

Publications (1)

Publication Number Publication Date
CN111902842A true CN111902842A (zh) 2020-11-06

Family

ID=67479440

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880091636.8A Pending CN111902842A (zh) 2018-02-03 2018-06-19 在头戴式显示器中实现帧内图像处理的装置、系统和方法

Country Status (3)

Country Link
US (1) US10706813B1 (zh)
CN (1) CN111902842A (zh)
WO (1) WO2019152068A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10559276B2 (en) 2018-02-03 2020-02-11 Facebook Technologies, Llc Apparatus, system, and method for mitigating motion-to-photon latency in head-mounted displays
US10714050B2 (en) * 2018-03-21 2020-07-14 Daqri, Llc Reducing latency in augmented reality (AR) displays
US11729370B2 (en) * 2018-11-28 2023-08-15 Texas Instruments Incorporated Multi-perspective display driver
KR102145852B1 (ko) * 2018-12-14 2020-08-19 (주)이머시브캐스트 카메라 기반의 혼합현실 글래스 장치 및 혼합현실 디스플레이 방법
US20210192681A1 (en) * 2019-12-18 2021-06-24 Ati Technologies Ulc Frame reprojection for virtual reality and augmented reality

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103608716A (zh) * 2011-06-17 2014-02-26 微软公司 体视频呈现
US20150029218A1 (en) * 2013-07-25 2015-01-29 Oliver Michael Christian Williams Late stage reprojection
US20160238852A1 (en) * 2015-02-13 2016-08-18 Castar, Inc. Head mounted display performing post render processing
US20170243324A1 (en) * 2016-02-22 2017-08-24 Google Inc. Separate time-warping for a scene and an object for display of virtual reality content
CN107430786A (zh) * 2015-06-12 2017-12-01 谷歌公司 用于头戴式显示器的电子显示稳定

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3745117B2 (ja) 1998-05-08 2006-02-15 キヤノン株式会社 画像処理装置及び画像処理方法
US7312766B1 (en) 2000-09-22 2007-12-25 Canadian Space Agency Method and system for time/motion compensation for head mounted displays
FR2840753A1 (fr) 2002-06-06 2003-12-12 Artabel Procede et dispositif pour traiter des signeaux video numeriques generes par un ensemble d'ordinateurs pour produire une image numerique
JP2007219082A (ja) 2006-02-15 2007-08-30 Canon Inc 複合現実感表示システム
KR100809479B1 (ko) 2006-07-27 2008-03-03 한국전자통신연구원 혼합 현실 환경을 위한 얼굴 착용형 디스플레이 장치
JP4857196B2 (ja) 2007-05-31 2012-01-18 キヤノン株式会社 頭部装着型表示装置、及びその制御方法
US8327071B1 (en) 2007-11-13 2012-12-04 Nvidia Corporation Interprocessor direct cache writes
JP5078147B2 (ja) 2008-03-04 2012-11-21 株式会社リコー 画像処理装置及び画像撮像装置
US8207983B2 (en) 2009-02-18 2012-06-26 Stmicroelectronics International N.V. Overlaying videos on a display device
US9529426B2 (en) 2012-02-08 2016-12-27 Microsoft Technology Licensing, Llc Head pose tracking using a depth camera
WO2014160342A1 (en) 2013-03-13 2014-10-02 The University Of North Carolina At Chapel Hill Low latency stabilization for head-worn displays
AU2013273829A1 (en) 2013-12-23 2015-07-09 Canon Kabushiki Kaisha Time constrained augmented reality
US9386234B2 (en) 2014-07-31 2016-07-05 Apple Inc. Auto filter extent management
US9659411B2 (en) 2015-01-14 2017-05-23 Oculus Vr, Llc Passive locators for a virtual reality headset
US10013808B2 (en) 2015-02-03 2018-07-03 Globus Medical, Inc. Surgeon head-mounted display apparatuses
US11956414B2 (en) * 2015-03-17 2024-04-09 Raytrx, Llc Wearable image manipulation and control system with correction for vision defects and augmentation of vision and sensing
CN114063302B (zh) 2015-04-22 2023-12-12 易赛特股份有限公司 光学像差校正的方法和装置
KR20160128119A (ko) 2015-04-28 2016-11-07 엘지전자 주식회사 이동 단말기 및 이의 제어방법
DE112016002043T5 (de) 2015-05-04 2018-04-19 Google Llc Durchlaufanzeige von erfassten bildern
KR20160139461A (ko) 2015-05-27 2016-12-07 엘지전자 주식회사 헤드 마운티드 디스플레이 및 그 제어 방법
US9984499B1 (en) 2015-11-30 2018-05-29 Snap Inc. Image and point cloud based tracking and in augmented reality systems
US10643381B2 (en) 2016-01-12 2020-05-05 Qualcomm Incorporated Systems and methods for rendering multiple levels of detail
US10838206B2 (en) 2016-02-18 2020-11-17 Apple Inc. Head-mounted display for virtual and mixed reality with inside-out positional, user body and environment tracking
US10496156B2 (en) 2016-05-17 2019-12-03 Google Llc Techniques to change location of objects in a virtual/augmented reality system
EP3465627B1 (en) 2016-05-29 2020-04-29 Google LLC Time-warping adjustment based on depth information in a virtual/augmented reality system
US9858637B1 (en) 2016-07-29 2018-01-02 Qualcomm Incorporated Systems and methods for reducing motion-to-photon latency and memory bandwidth in a virtual reality system
US10379611B2 (en) 2016-09-16 2019-08-13 Intel Corporation Virtual reality/augmented reality apparatus and method
US20180082482A1 (en) 2016-09-22 2018-03-22 Apple Inc. Display system having world and user sensors
US10869026B2 (en) 2016-11-18 2020-12-15 Amitabha Gupta Apparatus for augmenting vision
US10242654B2 (en) * 2017-01-25 2019-03-26 Microsoft Technology Licensing, Llc No miss cache structure for real-time image transformations
US10152822B2 (en) 2017-04-01 2018-12-11 Intel Corporation Motion biased foveated renderer
US10152775B1 (en) 2017-08-08 2018-12-11 Rockwell Collins, Inc. Low latency mixed reality head wearable device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103608716A (zh) * 2011-06-17 2014-02-26 微软公司 体视频呈现
US20150029218A1 (en) * 2013-07-25 2015-01-29 Oliver Michael Christian Williams Late stage reprojection
US20160238852A1 (en) * 2015-02-13 2016-08-18 Castar, Inc. Head mounted display performing post render processing
CN107430786A (zh) * 2015-06-12 2017-12-01 谷歌公司 用于头戴式显示器的电子显示稳定
US20170243324A1 (en) * 2016-02-22 2017-08-24 Google Inc. Separate time-warping for a scene and an object for display of virtual reality content

Also Published As

Publication number Publication date
US10706813B1 (en) 2020-07-07
WO2019152068A1 (en) 2019-08-08

Similar Documents

Publication Publication Date Title
CN111656433B (zh) 减轻头戴式显示器中动显延迟的装置、系统和方法
EP3441935B1 (en) Low latency mixed reality head wearable device
US10706813B1 (en) Apparatus, system, and method for mitigating motion-to-photon latency in head-mounted displays
AU2017314940B2 (en) Continuous time warp and binocular time warp for virtual and augmented reality display systems and methods
US10678325B2 (en) Apparatus, system, and method for accelerating positional tracking of head-mounted displays
EP3521899A1 (en) Apparatus, system, and method for achieving intraframe image processing in head-mounted displays
CA2927046A1 (en) Method and system for 360 degree head-mounted display monitoring between software program modules using video or image texture sharing
US11137604B2 (en) Image generation device, image extraction device, image generation method, and image extraction method
WO2019082794A1 (ja) 画像生成装置、画像生成システム、画像生成方法、およびプログラム
CN113330478B (zh) 一种在虚拟、增强或混合现实系统中的方法
WO2019098198A1 (ja) 画像生成装置、ヘッドマウントディスプレイ、画像生成システム、画像生成方法、およびプログラム
EP3522150A2 (en) Apparatus, system, and method for mitigating motion-to-photon latency in head-mounted displays
US20230222741A1 (en) Video pass-through computing system
JP7365183B2 (ja) 画像生成装置、ヘッドマウントディスプレイ、コンテンツ処理システム、および画像表示方法
CN116437065A (zh) 一种基于三维场景输出可偏振观影的方法及系统
NZ791691A (en) Continuous time warp and binocular time warp for virtual and augmented reality display systems and methods

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
CB02 Change of applicant information

Address after: California, USA

Applicant after: Yuan Platform Technology Co.,Ltd.

Address before: California, USA

Applicant before: Facebook Technologies, LLC

CB02 Change of applicant information