CN109564466A - 用于在虚拟现实系统中减小运动光子时延和存储器带宽的系统和方法 - Google Patents

用于在虚拟现实系统中减小运动光子时延和存储器带宽的系统和方法 Download PDF

Info

Publication number
CN109564466A
CN109564466A CN201780046225.2A CN201780046225A CN109564466A CN 109564466 A CN109564466 A CN 109564466A CN 201780046225 A CN201780046225 A CN 201780046225A CN 109564466 A CN109564466 A CN 109564466A
Authority
CN
China
Prior art keywords
acceleration
virtual reality
speed
sensor
updated position
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
CN201780046225.2A
Other languages
English (en)
Other versions
CN109564466B (zh
Inventor
N·郭
M·卡恩
M·里布尔
M·伦施勒
M·塔瓦科利
R·库尔卡尼
R·W·K·元
T·勒莫因
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN109564466A publication Critical patent/CN109564466A/zh
Application granted granted Critical
Publication of CN109564466B publication Critical patent/CN109564466B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • 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
    • 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/0147Head-up displays characterised by optical features comprising a device modifying the resolution of the displayed image
    • 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
    • G02B2027/0178Eyeglass type
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)
  • Digital Computer Display Output (AREA)

Abstract

公开了用于在虚拟现实显示系统中减小运动光子时延和存储器带宽的系统、方法和计算机程序。一种示例性方法涉及:从跟踪针对虚拟现实应用的用户的平移和旋转运动的一个或多个传感器接收传感器数据。基于所接收的传感器数据来计算用户的经更新的位置。可以基于传感器数据来计算用户运动的速度和加速度。可以将经更新的位置、速度和加速度提供给硬件扭曲引擎,硬件扭曲引擎被配置为:在将经渲染的图像发送给虚拟现实显示器之前,基于经更新的位置、速度和加速度中的一项或多项来更新经渲染的图像。

Description

用于在虚拟现实系统中减小运动光子时延和存储器带宽的系 统和方法
优先权要求和相关申请的交叉引用
本专利申请基于35U.S.C.§119(e)要求享受于2016年7月29日提交的名称为“SYSTEMS AND METHODS FOR REDUCING MOTION-TO-PHOTON LATENCY AND MEMORYBANDWIDTH IN A VIRTUAL REALITY SYSTEM”的美国临时申请序列No.62/368,241的优先权,该申请的全部内容通过引用方式并入本文。
背景技术
运动光子(motion-to-photon,M2P)时延或延迟是虚拟现实(VR)系统中的关键性能度量。M2P时延是从用户动作(例如,头、眼睛或其它身体部分)到在显示器上更新虚拟现实场景时的时间延迟。例如,如果当戴有头戴式显示器(HMD)的用户将其头部向左/右移动时,花费50ms来在显示器上反映用户运动,则50ms是该虚拟现实系统的M2P时延。高M2P时延提供较差的虚拟现实体验并且可能甚至导致动晕症和恶心,这是因为当用户进行运动时,大脑期望显示器被更新以反映该动作。当显示器滞后于用户运动时,用户可能体验迷失和动晕症。低M2P时延对于使虚拟现实用户确信他们在另一地方(被称为“存在感”)是必要的。存在感是虚拟现实用户感觉他们仿佛在计算机模拟的世界中的状态。研究表明利用HMD,当M2P时延低于大约20ms时,可以实现虚拟现实系统中的存在感。
现有VR系统使用被称为“时间扭曲”、“二次投影”或“二次渲染”(统称为“时间扭曲”)的图形渲染技术来减小M2P时延。时间扭曲涉及在将所渲染的图像发送给显示器之前对将其扭曲,以校正在渲染之后出现的用户运动。时间扭曲可以减小时延并且增加或保持帧率(即,每秒显示的帧数(fps))。该过程取一个已经渲染的图像,基于收集的从传感器(例如,封装在HMD中的传感器)获得的位置信息来利用所预测的位置信息对该图像进行修改,并且然后在VR显示器上显示经修改的图像。
不利用时间扭曲的话,VR系统将捕获关于用户位置的数据,基于该位置数据来渲染图像,并且然后当下一场景到期时显示该图像。例如,在每秒60帧(fps)的VR应用中,可以每16.7ms显示一次新场景。显示的每个图像是基于大约16.7ms之前获得的位置数据的。然而,利用时间扭曲的话,HMD捕获位置数据,基于位置数据来渲染图像,并且在HMD上显示该图像之前捕获更新的位置数据。使用更新的位置数据,利用适当算法对所渲染的图像进行修改以适合用户的最新位置,并且然后将其显示给用户。以这种方式,与最初渲染的图像相比,经修改的图像是更近期的并且更准确地反映用户在显示时的位置。
然而,现有VR系统具有若干限制,这些限制可能使最佳地最小化M2P时延是有问题的。当实现时间扭曲时,位置数据通常需要由各种中间单元操控,这在到达用于渲染的图形处理单元(GPU)之前,花费到双数据速率(DDR)存储器和从DDR存储器的多跳。例如,中间位置数据可以由中间前端(IFE)处理并且被存储在DDR存储器中。传感器处理组件和/或处理设备可以访问中间位置数据,计算位置,在DDR存储器中存储所计算的位置,并且向VR应用、GPU命令缓冲器、扭曲引擎等提供所计算的位置。到DDR存储器和从DDR存储器的这些多跳增加处理时延并且可以限制使M2P时延最小化的能力。
现有VR系统中的另一个限制是缺少可用的DDR存储器。为了模拟虚拟现实,显示器分辨率需要处于非常高的分辨率(例如,每眼8K像素)和帧率(例如,120Hz)。这两个因素显著地增加系统中的DDR带宽需求。为了缓解这些问题,现有解决方案可以依靠诸如注视点渲染之类的图形渲染技术。
因此,需要用于在VR系统中减小M2P时延和DDR带宽需求的改进的系统和方法。
发明内容
公开了用于在虚拟现实显示系统中减小运动光子时延和DDR存储器带宽的系统、方法和计算机程序。一种示例性方法涉及:从跟踪针对虚拟现实应用的用户的平移和旋转运动的一个或多个传感器接收传感器数据。基于所接收的传感器数据来计算用户的经更新的位置。可以基于传感器数据来计算用户运动的速度和加速度。可以将经更新的位置、速度和加速度提供给硬件扭曲引擎,硬件扭曲引擎被配置为:在将经渲染的图像发送给虚拟现实显示器之前,基于经更新的位置、速度和加速度中的一项或多项来更新经渲染的图像。
另一个实施例是一种计算机系统,其包括用于跟踪用户的平移和旋转运动的一个或多个传感器。该计算机系统包括由处理设备执行的虚拟现实应用。图形处理单元(GPU)显示与虚拟现实应用相关联的经渲染的图像。专用传感器处理组件电耦合到一个或多个传感器和GPU。专用传感器处理组件从一个或多个传感器接收传感器数据,并且基于传感器数据来计算用户的经更新的位置、速度和加速度。专用传感器处理组件将经更新的位置、速度和加速度馈送给与GPU相关联的扭曲引擎。
附图说明
在附图中,除非另外指示,否则遍及各个视图,相似的附图标记指代相似的部分。对于具有诸如“102A”或“102B”的字母字符标记的附图标记,字母字符标记可以区分出现在同一附图中的两个相似的部分或元素。当旨在使附图标记涵盖在所有附图中具有相同附图标记的所有部分时,可以省略附图标记的字母字符标记。
图1是用于在虚拟现实系统中减小运动光子时延和DDR带宽的系统的实施例的框图。
图2示出了用于并入图1的系统的头戴式虚拟现实显示器的实施例。
图3示出了图1的虚拟现实系统中的数据流的实施例。
图4示出了图1中的传感器数据处理卸载硬件的示例性实施例的组件和输入/输出。
图5是示出在图1的用于减小运动光子时延和DDR带宽的系统中实现的方法的实施例的流程图。
图6是用于实现图1的虚拟现实系统的某些方面的便携式计算设备的实施例的框图。
具体实施方式
本文使用的词语“示例性”意味着“作为示例、实例或说明”。本文中描述为“示例性”的任何方面不必被解释为优选于其它方面或者比其它方面有优势。
在本描述中,术语“应用”还可以包括具有可执行内容(诸如:对象代码、脚本、字节代码、标记语言文件以及补丁)的文件。另外,本文中所引用的“应用”还可以包括本质上不可执行的文件(诸如可能需要被打开的文档或需要被访问的其它数据文件)。
术语“内容”还可以包括具有可执行内容(诸如:对象代码、脚本、字节代码、标记语言文件以及补丁)的文件。另外,本文中所引用的“内容”还可以包括本质上不可执行的文件(诸如可能需要被打开的文档或需要被访问的其它数据文件)。
如在本描述中使用的,术语“组件”、“数据库”、“模块”、“系统”、“引擎”等等旨在指代计算机相关的实体,要么是硬件、固件、硬件和软件的组合、软件,要么是执行中的软件。例如,组件可以是,但不限于是:在处理器上运行的过程、处理器、对象、可执行文件、执行的线程、程序和/或计算机。通过说明的方式,在计算设备运行上的应用和计算设备两者可以是组件。一个或多个组件可以存在于过程和/或执行的线程中,并且组件可以位于一个计算机中和/或分布在两个或更多计算机之间。此外,这些组件可以从具有存储在其上的各种数据结构的各种计算机可读介质中执行。组件可以诸如根据具有一个或多个数据分组(例如,来自与本地系统、分布式系统中的另一个组件进行交互,和/或跨越诸如互联网的网络通过信号的方式与其它系统进行交互的一个组件的数据)的信号通过本地和/或远程过程进行通信。
图1示出了用于在虚拟现实系统中减小运动光子(M2P)时延和双数据速率(DDR)带宽需求的系统100的实施例。应当理解的是,系统100可以实现在各种类型的虚拟现实系统(例如,头戴式耳机、眼镜、护目镜、外部VR显示器、投影系统等)中。如图2的实施例中所示,系统100可以并入到由用户佩戴的集成头戴式显示器(HMD)200中。在其它实施例中,系统100中的组件中的一些组件可以集成到HMD 200中,而其它组件可以由外部处理系统(例如,便携式计算设备)或外部显示器(例如,计算机显示器、投影显示器等)来提供。
如图1中所示,系统100包括片上系统(SoC)102,其经由存储器总线电耦合到一个或多个传感器和存储器系统。在图1的实施例中,存储器系统包括动态随机存取存储器(DRAM)104,其经由随机存取存储器(RAM)总线(例如,双数据速率(DDR)总线105)耦合到SoC102。传感器可以包括相机124、加速计传感器126和陀螺仪传感器128,其中的每一个都可以电耦合到位于SoC 102中的传感器输入/输出(I/O)组件120。如图2中所示,传感器使得系统100能够使用六个自由度(6DOF)来跟踪用户(例如,用户的头、眼睛和/或其它身体部分)在三维空间内的旋转和平移运动。如本领域已知的,术语6DOF指代用户在三维空间中的运动自由。传感器将运动作为三个垂直轴上的向前/向后(进退(surge))、向上/向下(升降(heave))、向左/向右(侧向(sway))变换结合通过关于三个垂直轴的旋转(即,俯仰(pitch)、横转(yaw)、侧倾(roll))产生的朝向变化进行跟踪。
虽然可以在系统100中实现各种类型、配置和数量的传感器,但是一个或多个相机124可以跟踪眼部动作。一个或多个加速计传感器126可以感测用户的头和/或其它身体部分的正确加速度的大小和/或方向的变化。一个或多个陀螺仪传感器128可以用于跟踪用户的头和/或其它身体部分的角向运动。
如图1中所示,SoC 102包括经由SoC总线122互连的中央处理单元(CPU)106、图形处理单元(GPU)108、一个或多个虚拟现实应用组件120、DRAM控制器112、系统高速缓存118、静态随机存取存储器(SRAM)116、只读存储器(ROM)114和传感器I/O 120。系统100包括高级操作系统(HLOS)122。
虚拟现实应用组件120可以被实现成用于提供虚拟现实环境的专用处理设备(例如,应用数字信号处理器(ADSP))。在其它实施例中,虚拟现实应用组件120可以包括在CPU106和GPU 108上执行的软件。应当理解的是,虚拟现实环境可以被设计用于任何期望目的,包括例如视频游戏、娱乐、设计应用、训练模拟、工业应用等。
DRAM控制器112控制数据在DDR总线105上的传输。系统高速缓存118是存储数据的组件,因此针对该数据的将来请求可以被更快地服务。在一个实施例中,系统高速缓存118可以包括多级层级(例如,L1高速缓存、L2高速缓存等),其中最后一级高速缓存是在SoC102上的多个存储器客户端之间共享的。
如图1中所示,系统100还包括传感器数据处理卸载硬件组件130。传感器数据处理卸载硬件组件130包括专用硬件单元,其被配置为卸载传感器数据的处理。应当理解的是,将传感器数据处理卸载到专用硬件单元可以通过以下操作来减小M2P时延和带宽需求:将经优化的传感器数据流管道从跟踪传感器经由传感器数据处理卸载硬件组件130提供给GPU 108。经优化的传感器数据流管道包括来自跟踪传感器(例如,经由传感器I/O 120的相机124、加速计传感器126、陀螺仪传感器128)的直接馈送132和至GPU 108的直接馈送。
图3示出了用于在虚拟现实系统100中减小M2P时延和DDR带宽需求的传感器数据流管道300的实施例。传感器数据处理卸载硬件组件130可以经由接口301、303和305分别从加速计传感器126、陀螺仪传感器128和相机124接收原始传感器数据。传感器数据处理卸载硬件组件130包括用于处理传感器数据的计算引擎。来自相机124、加速计传感器126、陀螺仪传感器128的原始传感器数据可以被转换成平移和旋转坐标。可以基于从陀螺仪传感器128和/或加速计传感器126接收的数据来计算速度和加速度信息。以这种方式,应当理解的是,计算引擎确定可以被提供给扭曲引擎的经更新的位置信息以及速度和加速度数据。速度和加速度数据可以用于更准确地预测用户的位置。例如,有了速度和加速度数据,扭曲引擎可以预测用户在更新时将在何处。扭曲引擎可以使用速度数据连同眼部跟踪信息来调整渲染分辨率。例如,如果用户的头(或眼睛)移动地足够快(例如,超过某个门限--100度/秒),则可以以较低分辨率执行渲染以使DDR带宽最小化。
如图3中所示,传感器数据处理卸载硬件组件130可以直接地向位于DRAM存储器104中的GPU命令缓冲器314馈送经更新的位置信息、速度数据和/或加速度数据(附图标记331)。如本领域已知的,GPU命令缓冲器314向GPU 108提供用于在立体显示器302上显示经渲染的图像的命令。如果GPU 108包括硬件扭曲引擎,则传感器数据处理卸载硬件组件130可以通过直接地向GPU 108馈送经更新的位置信息、速度数据和/或加速度数据(附图标记335)来绕过命令缓冲器314。虚拟现实应用120与命令缓冲器314对接(附图标记329)。
GPU 108可以实现纹理处理(框316)以生成多视图渲染图像320(附图标记337和339)。GPU 108还可以实现瓦片行处理(框332)以生成后处理图像324(附图标记343)。后处理图像324被呈现在显示器302上(附图标记343和345)。
如图1中进一步所示,系统100可以经由传感器处理组件350来实现传统传感器处理。在这种情况下,传感器数据将被写入到DRAM存储器104中。然后,传感器数据将由传感器数据处理块350(图3)取回并且处理,以生成位置和旋转信息,然后,位置和旋转信息被写回到DRAM存储器104中以用于VR应用120或CPU 106(图3)稍后使用。应当理解的是,传感器数据处理可以涉及:多次对DRAM存储器104进行读取和写入。如图3中进一步所示,相机数据在被CPU 106或VR应用120使用之前,由IFE(成像前端)304块处理,并且然后由IPE(成像处理后引擎)块310处理。
图4示出了传感器数据处理卸载硬件130的示例性实施例的组件和输入/输出。在该实施例中,传感器数据处理卸载硬件130包括采样/滤波组件404、配置寄存器402、计算引擎406和存储器(例如,SRAM 408)。CPU 106可以经由配置寄存器402来对传感器数据处理卸载硬件130的方面进行控制和编程。SRAM 408可以存储历史位置、速度和加速度数据,其可以增强计算引擎406。采样/滤波组件404从相机124、加速计传感器126和陀螺仪传感器128接收原始传感器数据401。采样/滤波组件404可以降低原始传感器数据401中的噪声。应当理解的是,基于经滤波的位置信息,计算引擎406可以执行各种算法来生成被提供给扭曲引擎403的速度数据414和/或加速度416。这些算法包括简单地取位置数据的一阶或二阶导数以分别产生速度和加速度数据。
图5示出了在用于减小运动光子时延和DDR带宽的系统100中实现的方法500的实施例。在框502处,从跟踪虚拟现实用户的平移和旋转运动的一个或多个传感器(例如,相机124、加速计传感器126和陀螺仪传感器128)接收原始传感器数据401。在框504处,传感器数据处理卸载硬件130基于所接收的传感器数据来计算针对用户的经更新的位置数据。传感器数据处理卸载硬件130还可以基于所接收的传感器数据来计算速度和加速度数据(框506)。在框508处,传感器数据处理卸载硬件130可以将经更新的位置、速度和/或加速度直接馈送给扭曲引擎403。
如上文提及的,系统100可以被并入到任何期望的计算系统中。图6示出了其中虚拟现实系统100的一个或多个组件被并入到示例性便携式计算设备(PCD)600中的实施例。PCD 600可以包括智能电话、平板型计算机、可穿戴设备(例如,HMD 200)。将容易理解的是,系统100的某些组件(例如,传感器数据处理卸载硬件130和虚拟现实应用120)被包括在SoC322(图6)中,而其它组件(例如,DRAM 104)是耦合到SoC 322的外部组件。SoC 322可以包括多内核CPU 602。多内核CPU 602可以包括第零内核610、第一内核612以及第N内核614。这些内核中的一个内核包括例如图形处理单元(GPU),而其它内核中的一个或多个内核包括CPU
显示器控制器328和触摸屏控制器330可以耦合到多内核CPU 602。继而,在片上系统322外部的触摸屏显示器506可以耦合到显示器控制器328和触摸屏控制器330。
图6还示出了视频编码器334(例如,逐行倒相制式(PAL)编码器、顺序存储彩色制式(SECAM)编码器、或国家电视系统委员会(NTSC)编码器)耦合到多内核CPU 602。此外,视频放大器336耦合到视频编码器334和触摸屏显示器606。此外,视频端口338耦合到视频放大器336。如图6所示,通用串行总线(USB)控制器340耦合到多内核CPU 602。此外,USB端口342耦合到USB控制器340。存储器104和用户身份模块(SIM)卡346也可以耦合到多内核CPU502。
此外,如图6所示,数字相机348可以耦合到多内核CPU 602。在示例性方面中,数字相机348是电荷耦合器件(CCD)相机或互补金属氧化物半导体(CMOS)相机。
如图6中进一步所示,立体声音频编解码器(CODEC)350可以耦合到多内核CPU602。此外,音频放大器352可以耦合到立体声音频CODEC 350。在示例性方面中,第一立体声扬声器354和第二立体声扬声器356耦合到音频放大器352。图6示出麦克风放大器358也可以耦合到立体声音频CODEC 350。此外,麦克风360可以耦合到麦克风放大器358。在特定方面中,调频(FM)无线电调谐器362可以耦合到立体声音频CODEC 350。此外,FM天线364耦合到FM无线电调谐器362。此外,立体声耳机366可以耦合到立体声音频CODEC 350。
图6还示出了可以耦合到多内核CPU 602的射频(RF)收发机368。RF开关370可以耦合到RF收发机368和RF天线372。小键盘204可以耦合到多内核CPU 602。此外,具有麦克风的单声道耳麦376可以耦合到多内核CPU 602。此外,振动器设备378可以耦合到多内核CPU602。
图6还示出电源380可以耦合到片上系统322。在特定方面中,电源380是向PCD 600的需要电力的各个组件提供电力的直流(DC)电源。此外,在特定方面中,电源是可再充电DC电池或者从连接到交流(AC)电源的AC到DC变压器得到的DC电源。
图6还指示PCD 600还可以包括网卡388,其可以用于接入数据网络,例如,局域网、个域网或任何其它网络。网卡388可以是蓝牙网卡、WiFi网卡、个域网(PAN)卡、个域网超低功率技术(PeANUT)网卡、电视机/电缆/卫星调谐器、或本领域公知的任何其它网卡。此外,网卡388可以集成在芯片中,即,网卡388可以是芯片中的完全解决方案,并且可以不是单独的网卡388。
如图6中描绘的,触摸屏显示器606、视频端口338、USB端口342、相机348、第一立体声扬声器354、第二立体声扬声器356、麦克风360、FM天线364、立体声耳机366、RF开关370、RF天线372、小键盘374、单声道耳麦376、振动器378以及电源380可以在片上系统322外部。
应当理解的是,本文描述的方法步骤中的一个或多个方法步骤可以作为计算机程序指令(诸如上文描述的模块)被存储在存储器中。这些指令可以由任何适当的处理器与相应的模块结合或合作来执行,以执行本文描述的方法。
在本说明书中描述的过程或过程流中的某些步骤自然地先于其它步骤,以使本发明如所描述的运作。但是,本发明不限于所描述的步骤的次序,如果这样的次序或顺序不改变本发明的功能的话。即,要认识到的是,在不脱离本发明的范围和精神的情况下,某些步骤可以在其它步骤之前、之后或与其它步骤并行地(大体同时地)执行。在一些实例中,可以在不脱离本发明的情况下省略或不执行某些步骤。此外,诸如“其后”、“然后”、“接下来”等的词语不旨在限制步骤的次序。这些词语仅用于引导读者完成示例性方法的描述。
另外,编程领域的普通技术人员能够基于例如在本说明书中的流程图和相关联的描述,在没有困难的情况下编写计算机代码或识别适当的硬件和/或电路以实现所公开的发明。
因此,对程序代码指令的特定集合或详细的硬件设备的公开不被认为是获得对如何实现以及使用本发明的足够的理解所必须的。在上文描述中并且结合附图更加详细地解释了所要求保护的计算机实现过程的发明性功能,所述附图可以说明各个过程流。
在一个或多个示例性的方面中,所描述的功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则所述功能可以作为一个或多个指令或代码存储在计算机可读介质中或者通过其进行传输。计算机可读介质包括计算机存储介质和通信介质两者,所述通信介质包括促进程序从一个地方传送到另一个地方的任何介质。存储介质可以是可由计算机或处理器存取的任何可用的介质。通过举例而非限制性的方式,这样的计算机可读介质可以包括RAM、ROM、EEPROM、NAND闪存、NOR闪存、M-RAM、P-RAM、R-RAM、CD-ROM或其它光盘存储、磁盘存储介质或其它磁存储设备、或者可以用于以指令或数据结构的形式携带或存储期望的程序代码以及可以由计算机来存取的任何其它介质。
此外,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤光缆、双绞线、数字用户线(“DSL”)或者无线技术(例如,红外线、无线电和微波)从网站、服务器或其它远程源传输软件,则同轴电缆、光纤光缆、双绞线、DSL或者无线技术(例如,红外线、无线电和微波)被包括在介质的定义中。
如本文所使用的,磁盘和光盘包括压缩光盘(“CD”)、激光光盘、光盘、数字多功能光盘(“DVD”)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则利用激光来光学地复制数据。上述的组合也应当包括在非暂时性计算机可读介质的范围内。
在不脱离本发明的精神和范围的情况下,替代实施例对于本发明所涉及的领域的技术人员将变得显而易见。因此,尽管已经详细地说明和描述了选择的方面,但是将理解的是,如下面的权利要求书所限定的,可以在不脱离本发明的精神和范围的情况下,在本文中作出各种替代和改变。

Claims (30)

1.一种用于在虚拟现实显示系统中减小运动光子时延和存储器带宽的方法,所述方法包括:
从跟踪针对虚拟现实应用的用户的平移和旋转运动的一个或多个传感器接收传感器数据;
基于所述传感器数据来计算所述用户的经更新的位置;
基于所述传感器数据来计算所述用户的速度和加速度;以及
将所述经更新的位置、所述速度和所述加速度提供给扭曲引擎,所述扭曲引擎被配置为:在将经渲染的图像发送给虚拟现实显示器之前,基于所述经更新的位置、所述速度和所述加速度中的一项或多项来更新所述经渲染的图像。
2.根据权利要求1所述的方法,其中,所述经更新的位置、所述速度和所述加速度被直接地馈送给与图像处理单元(GPU)相关联的命令缓冲器。
3.根据权利要求1所述的方法,其中,将所述经更新的位置、所述速度和所述加速度提供给所述扭曲引擎包括:绕过与图像处理单元(GPU)相关联的命令缓冲器。
4.根据权利要求1所述的方法,其中,所述一个或多个传感器包括相机、加速计传感器和陀螺仪传感器。
5.根据权利要求4所述的方法,其中,专用硬件设备直接从所述相机、所述加速计传感器和所述陀螺仪传感器接收所述传感器数据。
6.根据权利要求1所述的方法,其中,所述扭曲引擎还被配置为:基于所述速度和所述加速度中的一项来调整渲染分辨率。
7.根据权利要求1所述的方法,所述方法是被实现在头戴式虚拟现实设备中的。
8.一种用于在虚拟现实显示系统中减小运动光子时延和存储器带宽的系统,所述系统包括:
用于从跟踪针对虚拟现实应用的用户的平移和旋转运动的一个或多个传感器接收传感器数据的单元;
用于基于所述传感器数据来计算所述用户的经更新的位置的单元;
用于基于所述传感器数据来计算所述用户的速度和加速度的单元;以及
用于将所述经更新的位置、所述速度和所述加速度提供给扭曲引擎的单元,所述扭曲引擎被配置为:在将经渲染的图像发送给虚拟现实显示器之前,基于所述经更新的位置、所述速度和所述加速度中的一项或多项来更新所述经渲染的图像。
9.根据权利要求8所述的系统,其中,所述经更新的位置、所述速度和所述加速度被直接地馈送给与图像处理单元(GPU)相关联的命令缓冲器。
10.根据权利要求8所述的系统,其中,所述用于将所述经更新的位置、所述速度和所述加速度提供给所述扭曲引擎的单元包括:
用于绕过与图像处理单元(GPU)相关联的命令缓冲器的单元。
11.根据权利要求8所述的系统,其中,所述一个或多个传感器包括相机、加速计传感器和陀螺仪传感器。
12.根据权利要求11所述的系统,其中,所述用于接收所述传感器数据的单元包括:耦合到所述相机、所述加速计传感器和所述陀螺仪传感器的专用硬件单元。
13.根据权利要求8所述的系统,其中,所述扭曲引擎还被配置为:基于所述速度和所述加速度中的一项来调整渲染分辨率。
14.根据权利要求8所述的系统,所述系统是被实现在头戴式虚拟现实设备中的。
15.一种体现在存储器中并且可由处理设备执行用于实现一种用于在虚拟现实显示系统中减小运动光子时延和存储器带宽的方法的计算机程序,所述方法包括:
从跟踪针对虚拟现实应用的用户的平移和旋转运动的一个或多个传感器接收传感器数据;
基于所述传感器数据来计算所述用户的经更新的位置;
基于所述传感器数据来计算所述用户的速度和加速度;以及
将所述经更新的位置、所述速度和所述加速度提供给扭曲引擎,所述扭曲引擎被配置为:在将经渲染的图像发送给虚拟现实显示器之前,基于所述经更新的位置、所述速度和所述加速度中的一项或多项来更新所述经渲染的图像。
16.根据权利要求15所述的计算机程序,其中,所述经更新的位置、所述速度和所述加速度被直接地馈送给与图像处理单元(GPU)相关联的命令缓冲器。
17.根据权利要求15所述的计算机程序,其中,将所述经更新的位置、所述速度和所述加速度提供给所述扭曲引擎包括:绕过与图像处理单元(GPU)相关联的命令缓冲器。
18.根据权利要求15所述的计算机程序,其中,所述一个或多个传感器包括相机、加速计传感器和陀螺仪传感器。
19.根据权利要求18所述的计算机程序,其中,专用硬件设备直接从所述相机、所述加速计传感器和所述陀螺仪传感器接收所述传感器数据。
20.根据权利要求15所述的计算机程序,其中,所述扭曲引擎还被配置为:基于所述速度和所述加速度中的一项来调整渲染分辨率。
21.根据权利要求15所述的计算机程序,其是被实现在头戴式虚拟现实设备中的。
22.一种用于在虚拟现实显示系统中减小运动光子时延的计算机系统,所述计算机系统包括:
一个或多个传感器,其用于跟踪用户的平移和旋转运动;
虚拟现实应用,其由处理设备执行;
图形处理单元(GPU),其用于显示与所述虚拟现实应用相关联的经渲染的图像;以及
专用传感器处理组件,其电耦合到所述一个或多个传感器和所述GPU,所述专用传感器处理组件被配置为:
从所述一个或多个传感器接收传感器数据;
基于所述传感器数据来计算所述用户的经更新的位置;
基于所述传感器数据来计算所述用户的速度和加速度;以及
将所述经更新的位置、所述速度和所述加速度馈送给与所述GPU相关联的扭曲引擎。
23.根据权利要求22所述的计算机系统,其中,所述经更新的位置、所述速度和所述加速度被直接地馈送给在双数据速率(DDR)存储器中存储的并且与所述GPU相关联的命令缓冲器。
24.根据权利要求22所述的计算机系统,其中,所述经更新的位置、所述速度和所述加速度被直接馈送给所述GPU,同时绕过与GPU相关联的命令缓冲器。
25.根据权利要求22所述的计算机系统,其中,所述一个或多个传感器包括相机、加速计传感器和陀螺仪传感器,所述相机、所述加速计传感器和所述陀螺仪传感器中的每一项电耦合到所述专用传感器处理组件。
26.根据权利要求22所述的计算机系统,其中,所述扭曲引擎由所述GPU来实现。
27.根据权利要求22所述的计算机系统,其中,所述扭曲引擎还被配置为:基于所述速度和所述加速度中的一项来调整渲染分辨率。
28.根据权利要求22所述的计算机系统,其中,所述虚拟现实应用、所述GPU、所述专用传感器处理组件位于电耦合到双数据速率(DDR)存储器的片上系统(SoC)上。
29.根据权利要求22所述的计算机系统,其中,所述专用传感器处理组件包括中央处理单元(CPU)。
30.根据权利要求22所述的计算机系统,其被实现在头戴式虚拟现实设备中。
CN201780046225.2A 2016-07-29 2017-06-29 用于在虚拟现实系统中减小运动光子时延和存储器带宽的系统和方法 Active CN109564466B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662368241P 2016-07-29 2016-07-29
US62/368,241 2016-07-29
US15/253,201 2016-08-31
US15/253,201 US9858637B1 (en) 2016-07-29 2016-08-31 Systems and methods for reducing motion-to-photon latency and memory bandwidth in a virtual reality system
PCT/US2017/040080 WO2018022250A1 (en) 2016-07-29 2017-06-29 Systems and methods for reducing motion-to-photon latency and memory bandwidth in a virtual reality system

Publications (2)

Publication Number Publication Date
CN109564466A true CN109564466A (zh) 2019-04-02
CN109564466B CN109564466B (zh) 2020-08-25

Family

ID=60788960

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780046225.2A Active CN109564466B (zh) 2016-07-29 2017-06-29 用于在虚拟现实系统中减小运动光子时延和存储器带宽的系统和方法

Country Status (7)

Country Link
US (1) US9858637B1 (zh)
EP (1) EP3491489B1 (zh)
JP (1) JP6556973B1 (zh)
KR (1) KR101979564B1 (zh)
CN (1) CN109564466B (zh)
BR (1) BR112019001320A2 (zh)
WO (1) WO2018022250A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114167992A (zh) * 2021-12-17 2022-03-11 深圳创维数字技术有限公司 显示画面渲染方法、电子设备及可读存储介质

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9332285B1 (en) 2014-05-28 2016-05-03 Lucasfilm Entertainment Company Ltd. Switching modes of a media content item
EP3347810A1 (en) * 2015-09-10 2018-07-18 Google LLC Playing spherical video on a limited bandwidth connection
US10962780B2 (en) * 2015-10-26 2021-03-30 Microsoft Technology Licensing, Llc Remote rendering for virtual images
EP3619568A4 (en) * 2017-05-01 2021-01-27 Infinity Augmented Reality Israel Ltd. OPTICAL MOTOR TIME ALIGNMENT FOR AN AUGMENTED OR MIXED REALITY ENVIRONMENT
US20180329465A1 (en) * 2017-05-11 2018-11-15 Qualcomm Incorporated System and method for intelligent adjustment of an immersive multimedia workload in a portable computing device
US10496579B2 (en) * 2017-11-13 2019-12-03 Bobby Gene Burrough Graphics processing unit with sensor interface
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
US10706813B1 (en) 2018-02-03 2020-07-07 Facebook Technologies, Llc Apparatus, system, and method for mitigating motion-to-photon latency in head-mounted displays
US10818086B2 (en) * 2018-02-09 2020-10-27 Lenovo (Singapore) Pte. Ltd. Augmented reality content characteristic adjustment
US10796407B2 (en) * 2018-05-11 2020-10-06 Samsung Electronics Co., Ltd. Foveated domain storage and processing
US10678325B2 (en) 2018-05-22 2020-06-09 Facebook Technologies, Llc Apparatus, system, and method for accelerating positional tracking of head-mounted displays
CN108632598A (zh) * 2018-05-25 2018-10-09 小派科技(上海)有限责任公司 降低vr设备mtp延时的方法及装置
US10388255B2 (en) * 2018-06-29 2019-08-20 Intel Corporation Computers for supporting multiple virtual reality display devices and related methods
WO2020139755A1 (en) 2018-12-28 2020-07-02 Magic Leap, Inc. Virtual and augmented reality display systems with emissive micro-displays
CN113453774A (zh) * 2018-12-28 2021-09-28 奇跃公司 用于增强和虚拟现实显示系统的低运动到光子延迟架构
KR102261993B1 (ko) * 2019-08-20 2021-06-07 주식회사 엘지유플러스 가상 현실 영상 제공 방법
US20210192681A1 (en) * 2019-12-18 2021-06-24 Ati Technologies Ulc Frame reprojection for virtual reality and augmented reality
KR20230058712A (ko) * 2020-09-03 2023-05-03 삼성전자주식회사 통신 시스템에서 컨텐츠와 디바이스들의 성능 차이 완화를 위한 방법 및 장치
EP4059581A1 (en) * 2021-03-16 2022-09-21 Deutsche Telekom AG Method and system to reduce vr sickness in a cloud game service
US11822713B2 (en) * 2021-06-11 2023-11-21 Rockwell Collins, Inc. Pose augmentation of head worn display video for latency reduction
US11652513B2 (en) 2021-08-17 2023-05-16 Cisco Technology, Inc. Wireless reliability for devices in motion
US20240096026A1 (en) * 2022-06-20 2024-03-21 Jan Bajana Low latency hand-tracking in augmented reality systems
WO2024063253A1 (ko) * 2022-09-23 2024-03-28 삼성전자주식회사 카메라로부터 획득한 이미지 내에 포함된 복수의 영역들 각각의 해상도들을 제어하기 위한 전자 장치 및 그 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102156658A (zh) * 2010-02-26 2011-08-17 微软公司 对象的低等待时间呈现
CN102246146A (zh) * 2008-11-07 2011-11-16 谷歌公司 针对使用本地代码模块的web应用的硬件加速图形
US9024972B1 (en) * 2009-04-01 2015-05-05 Microsoft Technology Licensing, Llc Augmented reality computing with inertial sensors
CN105404393A (zh) * 2015-06-30 2016-03-16 指点无限(美国)有限公司 低延迟虚拟现实显示系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6801989B2 (en) * 2001-06-28 2004-10-05 Micron Technology, Inc. Method and system for adjusting the timing offset between a clock signal and respective digital signals transmitted along with that clock signal, and memory device and computer system using same
JP2007532585A (ja) 2004-04-26 2007-11-15 テバ ジョジセルジャール ザ−トケルエン ムケド レ−スベニュタ−ルシャシャ−グ ミコフェノール酸及びそのエステル誘導体の調製方法
WO2006012678A1 (en) * 2004-08-03 2006-02-09 Silverbrook Research Pty Ltd Walk-up printing
US7483806B1 (en) 2007-07-20 2009-01-27 International Business Machines Corporation Design structures, method and systems of powering on integrated circuit
JP5388534B2 (ja) * 2008-10-09 2014-01-15 キヤノン株式会社 画像処理装置およびその方法、頭部装着型ディスプレイ、プログラム、記録媒体
US20110242427A1 (en) * 2010-04-01 2011-10-06 Timothy Ramsdale Method and System for Providing 1080P Video With 32-Bit Mobile DDR Memory
WO2014160342A1 (en) 2013-03-13 2014-10-02 The University Of North Carolina At Chapel Hill Low latency stabilization for head-worn displays
US10203812B2 (en) * 2013-10-10 2019-02-12 Eyesight Mobile Technologies, LTD. Systems, devices, and methods for touch-free typing
US9412332B2 (en) * 2013-12-20 2016-08-09 Blackberry Limited Method for wirelessly transmitting content from a source device to a sink device
US9529195B2 (en) * 2014-01-21 2016-12-27 Osterhout Group, Inc. See-through computer display systems
US9766463B2 (en) * 2014-01-21 2017-09-19 Osterhout Group, Inc. See-through computer display systems
CN106937531B (zh) 2014-06-14 2020-11-06 奇跃公司 用于产生虚拟和增强现实的方法和系统
US20150370322A1 (en) * 2014-06-18 2015-12-24 Advanced Micro Devices, Inc. Method and apparatus for bezel mitigation with head tracking
US20160027141A1 (en) * 2014-07-22 2016-01-28 Oculus Vr, Llc In-band latency detection system
US9659410B2 (en) 2014-10-21 2017-05-23 Honeywell International Inc. Low latency augmented reality display
WO2016092698A1 (ja) * 2014-12-12 2016-06-16 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102246146A (zh) * 2008-11-07 2011-11-16 谷歌公司 针对使用本地代码模块的web应用的硬件加速图形
US9024972B1 (en) * 2009-04-01 2015-05-05 Microsoft Technology Licensing, Llc Augmented reality computing with inertial sensors
CN102156658A (zh) * 2010-02-26 2011-08-17 微软公司 对象的低等待时间呈现
CN105404393A (zh) * 2015-06-30 2016-03-16 指点无限(美国)有限公司 低延迟虚拟现实显示系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114167992A (zh) * 2021-12-17 2022-03-11 深圳创维数字技术有限公司 显示画面渲染方法、电子设备及可读存储介质

Also Published As

Publication number Publication date
US9858637B1 (en) 2018-01-02
WO2018022250A1 (en) 2018-02-01
KR101979564B1 (ko) 2019-05-16
EP3491489A1 (en) 2019-06-05
CN109564466B (zh) 2020-08-25
EP3491489B1 (en) 2023-04-05
JP2019532375A (ja) 2019-11-07
KR20190015577A (ko) 2019-02-13
BR112019001320A2 (pt) 2019-05-07
JP6556973B1 (ja) 2019-08-07

Similar Documents

Publication Publication Date Title
CN109564466A (zh) 用于在虚拟现实系统中减小运动光子时延和存储器带宽的系统和方法
US10241470B2 (en) No miss cache structure for real-time image transformations with data compression
US11838518B2 (en) Reprojecting holographic video to enhance streaming bandwidth/quality
CN110249317B (zh) 用于实时图像变换的无未命中高速缓存结构
US10672368B2 (en) No miss cache structure for real-time image transformations with multiple LSR processing engines
CN110050250B (zh) 显示器同步的图像规整
WO2020192458A1 (zh) 一种图像处理的方法及头戴式显示设备
WO2020140758A1 (zh) 图像显示方法、图像处理方法和相关设备
KR102381433B1 (ko) 화각 가상 현실 스트리밍을 위한 세션 제어 지원을 위한 방법 및 장치
US20160086386A1 (en) Method and apparatus for screen capture
KR20180073327A (ko) 영상 표시 방법, 저장 매체 및 전자 장치
US20230334684A1 (en) Scene camera retargeting
US11468611B1 (en) Method and device for supplementing a virtual environment
CN107872666A (zh) 图像流传输方法和支持该方法的电子设备
KR20210125403A (ko) 손실 없는 데이터 감소를 통해 통신 부하를 감소하기 위한 방법, 장치 및 저장 매체
WO2024020258A1 (en) Late stage occlusion based rendering for extended reality (xr)
CN115601481A (zh) 处理方法、智能终端及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant