CN108921951B - 虚拟现实图像显示方法及其装置、虚拟现实设备 - Google Patents
虚拟现实图像显示方法及其装置、虚拟现实设备 Download PDFInfo
- Publication number
- CN108921951B CN108921951B CN201810708870.2A CN201810708870A CN108921951B CN 108921951 B CN108921951 B CN 108921951B CN 201810708870 A CN201810708870 A CN 201810708870A CN 108921951 B CN108921951 B CN 108921951B
- Authority
- CN
- China
- Prior art keywords
- image
- rendered
- buffer
- display
- rendering
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/30—Scenes; Scene-specific elements in albums, collections or shared content, e.g. social network photos or video
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明提供一种虚拟现实图像显示方法及其装置、虚拟现实设备,该方法可应用于虚拟现实设备,该方法包括:获取最新完成渲染的图像;基于获取到的第一当前头部姿态预测第一预设时长后的第一头部姿态,所述第一预设时长为对所述最新完成渲染的图像进行第一时间扭曲处理所需时长;根据所述第一头部姿态对所述最新完成渲染的图像进行第一时间扭曲处理,得到与所述第一头部姿态匹配的第一扭曲图像;将所述第一扭曲图像输出到显示缓存中,以在接收到当前帧的垂直同步信号Vsync时显示所述第一扭曲图像。该方法可以减小图像的显示延迟,提高显示画面的流畅性。
Description
技术领域
本发明涉及图像识别技术领域,尤其涉及虚拟现实图像显示方法及其装置、虚拟现实设备。
背景技术
虚拟现实(Virtual Reality,简称VR)技术是一种可以创建和体验虚拟世界的计算机仿真技术,其结合了计算机技术和显示技术,构造出的虚拟环境,使用户沉浸到该虚拟环境中,具有很强的沉浸感。
为了实现三维立体显示效果,虚拟现实设备的显示屏的图像帧率通常要高于普通显示器的帧率,显示屏的帧率指显示屏上显示图像每秒钟更新的次数,其单位是赫兹(Hz)。
VR设备的显示系统中,一般包括中央处理器CPU(Central Processing Unit,简称CPU),图形处理器GPU(Graphics Processing Unit,简称GPU),又可称显示核心、视觉处理器、显示芯片等,显示器display等,CPU是显示系统的控制单元,用于对接收到的原始图像数据进行拼帧解码等处理,实现对显示系统各部分的逻辑控制,GPU用于对图像数据进行渲染,渲染好后可存储到帧缓存中,显示器(也可称为显示屏)从帧缓存中读取图像数据显示到其屏幕。
图像显示过程,显示器显示图像的帧率通常是固定的,帧率指显示图像每秒钟更新的次数,帧率例如为60Hz或120Hz等,但是在目前的硬件架构下,GPU的图像渲染能力受到一定限制,当GPU的图像渲染能力不足时,容易导致图像显示不流畅的问题。
发明内容
本发明提供一种虚拟现实图像显示方法及其装置、虚拟现实设备,以解决相关技术中的不足。
根据本发明实施例的第一方面,提供一种虚拟现实图像显示方法,应用于虚拟现实设备,包括:
获取最新完成渲染的图像;
基于获取到的第一当前头部姿态预测第一预设时长后的第一头部姿态,所述第一预设时长为对所述最新完成渲染的图像进行第一时间扭曲处理所需时长;
根据所述第一头部姿态对所述最新完成渲染的图像进行第一时间扭曲处理,得到与所述第一头部姿态匹配的第一扭曲图像;
将所述第一扭曲图像输出到显示缓存中,以在接收到当前帧的垂直同步信号Vsync时显示所述第一扭曲图像。
可选的,在显示所述第一扭曲图像之后,还包括:
基于获取到的第二当前头部姿态预测第二时刻的第二头部姿态,所述第二时刻为接收到下一帧垂直同步信号Vsync的时刻;
根据所述第二头部姿态对所述最新完成渲染的图像进行第二时间扭曲处理,得到与所述第二头部姿态匹配第二扭曲图像;
将所述第二扭曲图像输出到显示缓存中,以在接收到下一帧垂直同步信号Vsync时显示所述第二扭曲图像。
可选的,所述获取最新完成渲染的图像,包括:
判断对当前帧图像的渲染是否完成;
如是,将完成渲染的当前帧图像作为最新完成渲染的图像,若否,将完成渲染的当前帧图像的上一帧作为最新完成渲染的图像。
可选的,所述获取最新完成渲染的图像之前,还包括:
依次缓存至少三帧相邻的完成渲染的图像;
所述获取最新完成渲染的图像包括:
从已缓存的完成渲染的各帧所述图像中获取最新完成渲染的图像。
可选的,还包括:
获取本设备的当前电量,判断所述当前电量是否大于电量阈值;
若是,采用单缓存模式工作;
若否,采用三缓存模式工作。
根据本发明实施例的第二方面,提供一种虚拟现实图像显示装置,应用于虚拟现实设备,包括:
应用于虚拟现实设备,其特征在于,包括:
图像获取单元,用于获取最新完成渲染的图像帧;
第一头部姿态预测单元,用于基于获取到的第一当前头部姿态预测第一预设时长后的第一头部姿态,所述第一预设时长为对所述最新完成渲染的图像进行第一时间扭曲处理所需时长;
第一时间扭曲处理单元,用于根据所述第一头部姿态对所述最新完成渲染的图像进行第一时间扭曲处理,得到与所述第一头部姿态匹配的第一扭曲图像;
第一扭曲图像输出单元,用于将所述第一扭曲图像输出到显示缓存中,以在接收到当前帧的垂直同步信号Vsync时显示所述第一扭曲图像。
可选的,还包括:
第二头部姿态预测单元,用于基于获取到的第二当前头部姿态预测第二时刻的第二头部姿态,所述第二时刻为接收到下一帧垂直同步信号Vsync的时刻;
第二扭曲图像处理单元,用于根据所述第二头部姿态对所述最新完成渲染的图像进行第二时间扭曲处理,得到与所述第二头部姿态匹配第二扭曲图像;
第二扭曲图像输出单元,用于将所述第二扭曲图像输出到显示缓存中,以在接收到下一帧垂直同步信号Vsync时显示所述第二扭曲图像。
可选的,所述图像获取单元具体用于:
判断对当前帧图像的渲染是否完成;
如是,将完成渲染的当前帧图像作为最新完成渲染的图像,若否,将完成渲染的当前帧图像的上一帧作为最新完成渲染的图像。
可选的,还包括:
当前电量判断单元,用于获取本设备的当前电量,判断所述当前电量是否大于电量阈值,若是,采用单缓存模式工作,若否,采用三缓存模式工作。
根据本发明实施例的第三方面,提供一种虚拟现实设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使执行上述任一所述方法。
根据上述技术方案可知,该虚拟现实图像显示方法可以减小图像的显示延迟,提高显示画面的流畅性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据本发明一实施例提供的虚拟现实图像显示方法的工作流程图;
图2是根据本发明一实施例提供的虚拟现实图像显示方法各步骤的时序关系示意图;
图3是根据本发明另一实施例提供的虚拟现实图像显示方法各步骤的时序关系示意图;
图4是根据本发明又一实施例提供的虚拟现实图像显示方法的工作流程图;
图5是根据本发明另一实施例提供的虚拟现实图像显示方法的工作流程图;
图6是根据本发明一实施例提供的虚拟现实图像显示装置的方框图;
图7是根据本发明一实施例提供的虚拟现实设备的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
针对现有虚拟现实设备中图像显示不流畅问题,本发明实施例提供一种基于虚拟现实图像显示方法,应用于虚拟现实设备,如图1所示,该方法包括:
步骤S10、获取最新完成渲染的图像;
步骤S20、基于获取到的第一当前头部姿态预测第一预设时长后的第一头部姿态,第一预设时长为对最新完成渲染的图像进行第一时间扭曲处理所需时长;
步骤S30、根据第一头部姿态对最新完成渲染的图像进行第一时间扭曲处理,得到与第一头部姿态匹配的第一扭曲图像;
步骤S40、将第一扭曲图像输出到显示缓存中,以在接收到当前帧的垂直同步信号Vsync时显示第一扭曲图像。
虚拟现实VR设备的显示系统,在显示图像过程中,显示系统中的CPU可接收到通过图像采集装置(例如摄像机)采集生成的图像数据,连续采集的多帧图像数据经过编码后可生成视频流,可实时的传输给CPU,或者预先保存在存储设备中后再传输给CPU,CPU对接收到的视频数据进行拼帧解码后传输给GPU。
GPU需要对接收到的图像数据进行渲染,渲染是将三维的光能传递处理转换为一个二维图像的过程,渲染是通常利用三维几何模型,通过几何变换,投影变换,透视变换和窗口剪裁,以及为追求三维真实感而进行各种光线跟踪,辐射度等算法,经过图像渲染后的图像数据可输出到显示屏的显示缓存中,通过显示屏进行显示。
在显示图像过程中,是采用扫描方式,将显示缓存中的图像数据一行一行的进行显示,在扫描时,通常采用从左至右的顺序,扫描完显示屏的整个屏幕的各行称为一帧图像,一帧图像包括多行,通常将每秒钟从左至右扫描的次数称为水平扫描频率(又称为行频),将每秒钟整个显示屏幕刷新的次数称为垂直扫描频率(又称为场频),由此也可以得出它们的关系:行频=场频*纵坐标分辨率。
当扫描过程中,当扫描完一帧图像后,需要重新回到第一行以进入下一次的循环扫描,此时有一段时间空隙,称为场消隐期VBI(Vertical Blanking Interval,简称VBI),该时间为两帧图像进行切换的时间点,可通过生成的垂直同步信号Vsync(VerticalSynchronization,简称Vsync)控制该切换点,显示屏在每次接收到该垂直同步信号Vsync时,将显示缓存中的图像数据进行显示,进而控制显示屏显示各帧图像,本文将每一帧图像称为图像。
在行扫描时,由于速度较,人眼有时间暂留,所以人眼看到的是一帧图像的画面,显示屏每秒显示画面的次数通常是固定的,称为帧率(也可称为刷新频率),帧率例如为60Hz或120Hz等。对于VR设备而言,为了实现立体显示效果,包括左眼图像和右眼图像,其显示屏的帧率通常比普通显示屏具有更高的帧率,例如为120Hz,因此,GPU也需要分别对左眼图像和右眼图像进行渲染,然后分别输出到显示缓存,通过显示屏进行显示,利用两眼视差实现立体显示的效果。
由于各帧图像的复杂度不同,GPU对各帧图像进行渲染的速度可能并不是固定的,如果在下一帧的垂直同步信号Vsync到来时,还没有完成对下一帧图像的渲染,会造成显示画面不流畅,例如,画面抖动,即显示屏无法及时完成下一帧图像画面的显示。
因此,本实施例中,获取最新完成渲染的图像,该最新完成渲染的图像可能为当前要显示帧的图像,可称为当前帧图像,或者是当前要显示帧的上一帧完成渲染的图像,可称为当前帧的上一帧图像(简称上一帧图像)。
具体而言,如图2和3所示,图中Vsync0表示上一帧的垂直同步信号,Vsync1表示当前帧的垂直同步信号,Vsync2表示下一帧的垂直同步信号,依次类推,Vsync3和Vsync3分别表示后续帧的垂直同步信号。
对于图像渲染而言,GPU可能能够在当前要显示该帧图像之前完成渲染,即接收到当前帧的垂直同步信号Vsync1时已经完成当前帧图像的渲染,如图2中所示的图像渲染1在接收到垂直同步信号Vsync1时已经完成,则将完成渲染的当前帧图像作为最新完成渲染的图像。
或者有可能在接收到当前帧的垂直同步信号Vsync1时未完成当前帧图像的渲染,如图3中所示的图像渲染1在接收到垂直同步信号Vsync1时未完成,通常上一帧图像已经完成渲染,例如图3中所示的图像渲染0已经完成,此时,将完成渲染的上一帧图像作为最新完成渲染的图像,这样可以避免显示缓存无法获取到完成渲染的图像造成的画面抖动。
为了实现虚拟现实效果,VR设备需要追踪用户的头部姿态,头部姿态例如包括头部的方向和位置等,可采用陀螺仪追踪头部姿态,根据头部姿态显示对应图像的画面,以实现虚拟现实效果,在理想的情况下,每一帧渲染的图像为发送给显示缓存的这一时刻的头部姿态的图像,但是,实际情况是,对图像进行渲染需要耗费一定时间,GPU对图像进行渲染时使用的头部姿态是发送给显示缓存之前若干毫秒的数据,之后头部已经运动了,因此,显示的图像是会比实际情况延迟一些,造成显示画面不流畅。
为减小图像延迟,进一步的,在获取到完成渲染的图像后,如图2和图3所示,根据第一当前头部姿态预测第一预设时间后的第一头部姿态,即根据最新获取到的当前时刻的头部姿态预测第一预设时长后的第一头部姿态,例如,可根据之前实时获取到的多个头部姿态确定头部运行方向和运动速度等对头部进行追踪,据此根据第一当前头部姿态预测第一预设时长后的头部姿态,该第一预设时长为对最新完成渲染的图像进行第一时间扭曲处理所需时长,该时长比对图像进行渲染的时间小很多,通常在2ms-3ms之间,该第一预设时长可根据经验设定,可参考VR设备的GPU和CPU的处理能力等。
上述第一头部姿态是通过预测获得的头部运动之后的头部姿态,即完成第一时间扭曲处理时刻的头部姿态,得到第一扭曲图像会输出到显示缓存,接收到当前帧的垂直同步信号Vsync时,显示屏直接显示该显示缓存中的第一扭曲图像,该第一扭曲图像为当前帧图像,因此,该第一头部姿态更接近当前帧图像的头部姿态。
根据第一头部姿态对最新完成渲染的图像进行第一时间扭曲处理,是根据第一头部姿态对该图像进行校正得到与第一头部姿态匹配的第一扭曲图像,第一扭曲图像为头部运动到显示当前帧图像位置时刻的图像,举例而言,假设水平视场角为100度,在该水平视场角范围内的显示屏显示的每帧图像横向排列有1000列像素,第一当前头部姿态与水平视场角的中心线之间的夹角为向右20度,通过对头部追踪确定头部的旋转速度为200度每秒,旋转方向为向右,第一预设时长为2ms,则可以预测出第一头部姿态与水平视场角的中心线之间的夹角为向右20.4度,意味着图像有0.4度的延迟,0.4度的延迟即该最新完成渲染的图像与实际要显示图像在横向方向向右延迟了4列像素,则对完成渲染的图像进行第一时间扭曲处理的方式可以为,向该帧图像向右平移4列像素,则最右侧的4列移除该帧图像,对于该帧图像左侧的空白像素可以用预设像素值填充,例如填充为黑色,或者渲染后的图像的分辨率大于显示屏的分辨率,这样可能不会产生空白像素,虽然第一扭曲图像是平移后得到的,有部分像素进行了填充,但是几列图像对人眼而言并不以察觉,最终显示的该第一扭曲图像并不影响显示画面的效果,可以减小图像的显示延迟,提高显示画面的流畅性。
在一个可选的实施方式中,如图4所示,该方法在上述S40所述的显示第一扭曲图像之后,还可以包括:
步骤S50、基于获取到的第二当前头部姿态预测第二时刻的第二头部姿态,第二时刻为接收到下一帧垂直同步信号Vsync的时刻;
步骤S60、根据第二头部姿态对最新完成渲染的图像进行第二时间扭曲处理,得到与第二头部姿态匹配第二扭曲图像;
步骤S70、将第二扭曲图像输出到显示缓存中,以在接收到下一帧垂直同步信号Vsync时显示第二扭曲图像。
上述对完成渲染的图像进行第一时间扭曲处理是在当前帧完成的,可以减小当前帧图像的延迟,对于VR设备而言,通常具有较高的帧率,例如120HZ,GPU的处理能力是有限的,因此,对于较为复杂的一帧图像而言,对图像进行渲染的时间可能大于显示相邻两帧图像的间隔时间,这样也会造成显示图像的延迟,为了在高帧率的情况下减小图像延迟,本实施例中,进一步的,进行第二时间扭曲处理。
具体而言,如图2和如3所示,在显示第一扭曲图像之后,即完成当前帧图像的显示后,进一步的获取当前时刻的头部姿态,本文称为第二当前头部姿态,根据该第二当前头部姿态预测第二时刻的第二头部姿态,第二时刻为接收到下一帧垂直同步信号Vsync2的时刻,由于显示屏的帧率是固定的,因此,根据接收到当前帧的垂直同步信号Vsync1的时刻可以确定接收到下一帧垂直同步信号Vsync2的时刻,例如,帧率为120H在,则相邻两帧的间隔为1/120s,即接收到当前帧的垂直同步信号Vsync1的时刻与接收到下一帧垂直同步信号Vsync2的时刻之间的间隔为1/120s,当前时刻为0s,则第二时刻为0s+8ms,据此,可根据第二当前头部姿态预测第二时刻的第二头部姿态,具体可参考上述预测第一头部姿态的方法,在次不再赘述。
第二头部姿态是通过预测获得的头部运动之后的头部姿态,即假设显示下一帧图像时刻的头部姿态,根据第二头部姿态对最新完成渲染的图像进行第二时间扭曲处理,得到第二扭曲图像,然后将该第二扭曲图像输出到显示缓存中,显示屏在接收到下一帧垂直同步信号Vsync2时直接显示该第二扭曲图像。
第二时间扭曲处理具体处理方式与第一时间扭曲处理类似,并且都是基于相同的最细完成渲染的图像,进行了两次时间扭曲处理,二者不同之后在于,第一时间扭曲处理是在当前帧完成,经过第一时间扭曲处理后的图像为当前帧图像,而第二时间扭曲处理是根据最新完成渲染的图像得到下一帧图像,为头部运动到显示下一帧图像位置时刻的图像,而对于显示图像的控制是基于垂直同步信号Vsync,因此,本实施例中,可以在对当前帧的图像未完成渲染的情况下实现对图像的更新显示,对图像渲染的速度可与显示屏显示图像的帧率达到同步,在现有VR设备的硬件架构下,可以实现VR设备的高帧率,弥补VR设备硬件能力的不足,并且整体图像的延时低,流畅性好,可以实现更好的虚拟现实效果,用户具有更好的沉浸感。
需要说明输的,上述第一时间扭曲处理和第二时间扭曲处理,可通过一个独立于GPU对图像进行渲染的进程追踪头部姿态,追踪头部姿态的进程和对图像渲染的进程是平行运行,并且,在每一次接收到垂直同步信号Vsync之前,是基于最新已经渲染完成图像进行时间扭曲处理生成一帧新的图像,该进行时间扭曲处理的进程可以与对图像进行渲染的进程相分离,异步进行,因此上述的第一时间扭曲处理和第二时间扭曲处理也可称为异步时间扭曲ATW(Asynchr onous Timewarp,简称ATW)。
上述方法中,根据接收到的垂直同步信号Vsync,循环执行各步骤,后续的下一帧图像和下一帧的下一帧图像,也是根据获取最新完成渲染的图像及进行第一时间扭曲处理和第二时间扭曲处理,依次显示各帧图像的画面。
例如,在接收到垂直同步信号Vsync3时已经完成该帧图像的渲染,若如图2中所示的图像渲染2在接收到垂直同步信号Vsync3时已经完成,则将完成渲染的该帧图像作为最新完成渲染的图像,进行第一时间扭曲处理和第二时间扭曲处理,依次显示第一扭曲图像和第二扭曲图像;若如图3中所示的图像渲染2在接收到垂直同步信号Vsync3时未完成,则将完成渲染的该帧图像的上一帧图像(即图像渲染1时完成的图像)作为最新完成渲染的图像,进行第一时间扭曲处理和第二时间扭曲处理,依次显示第一扭曲图像和第二扭曲图像。
在一些例子中,上述方法在步骤S10之前还可以包括:
步骤S101、依次缓存至少三帧完成渲染的相邻图像;
上述步骤S10获取最新完成渲染的图像包括:
从已缓存的渲染完成的各帧图像帧中获取最新完成渲染的图像。
在较为理想情况下,GPU可以在较短时间内稳定的完成图像的渲染,但如果CPU的处理流程中出现堵塞,不能及时在规定时间内对接收到的图像数据进行拼帧解码,此时,GPU也无法及时完成对图像的渲染处理,这样造成无法获取到最新完成渲染的图像,也就无法进行后续的时间扭曲处理,因此,造成图像显示的卡顿等显示不良。
为了避免这种现象,对完成渲染的图像进行缓存,且至少缓存三帧渲染完成的相邻图像,即在图像渲染与后面时间扭曲处理之间增加三个过渡缓存,也可称为渲染缓存(Render Buffer),这样在获取最新完成渲染的图像时,可以从已缓存的渲染完成的各帧图像中获取最新完成渲染的图像,这样可以保证对图像进行渲染和时间扭曲处理的流畅性。
由于缓存之间数据的存储与读取速度较快,对图像显示的整体不会造成延时影响,增加三个缓存可依次存储完成渲染的图像,保持三个缓存皆有完成渲染的图像,依次循环更新存储三帧相邻的完成渲染的图像,最新完成渲染的图像更新存入最早存入完成渲染的图像的缓存中,后续进行时间扭曲处理时从三个缓存中选择存入的最新完成渲染的图像,这样可有效改善由于CPU处理数据不及时影响后续依据完成渲染的图像进行时间扭曲处理,避免造成中断。
在一个可选的实施方式中,如图5所示,上述方法还包括:
步骤S80、获取本设备的当前电量,判断所述当前电量是否大于电量阈值;
步骤S81、若是,采用单缓存模式工作;
步骤S82、若否,采用三缓存模式工作。
现有的VR设备通常采用单缓存模式工作,即GPU对图像进行渲染的缓存与显示屏的显示缓存共用同一块缓存区,此种模式工作在延时上表现较优异,但缺点是当系统不稳定时,容易出现画面撕裂(tearing)现象,尤其在VR设备的电量较低时,画面出现撕裂的概率会急剧上升,严重影响用户体验。
基于此原理,本实施例中加入电量检测并动态调节工作模式的机制,如果电量充足,例如当前电量大于电量阈值时,VR设置采用单缓存模式工作,当VR设备的当前电量小于等于电量阈值时,则切换至三缓存工作模式,虽然可能会造成一定的延时,但不会出现画面撕裂现象,维持画面依旧稳定输出。
电量阈值可根据经验设置,例如,电量阈值为满负荷电量的一定比例,如10%。
三缓存(Triple Buffering)工作模式指其中一个缓冲区单独用作显示缓存区,缓存待显示的已完成渲染的一帧图像数据,其中一个缓存区单独用作缓存正在渲染的一帧图像数据,等该帧图像全部渲染完成后在输出到显示缓存中,覆盖显示缓存区中之前缓存的图像数据,当上述两个缓存区均被占用时,应用程序会另外开辟一个缓存区用作处理CPU处理数据,称为三缓存工作模式。
综上所述,本发明提供的虚拟现实图像显示方法,可应用为VR设备,可在既有VR设备的硬件基础上,基于现有VR设备中的应用系统框架,例如安卓系统的框架,根据最细完成渲染的图像,结合对头部姿态的预测进行两次时间扭曲处理,输出两帧图像,实现两帧画面的显示,深度优化了现有的时间扭曲算法,可减小画面延迟,并且,创新性地通过缓存至少三帧完成渲染的图像,减提供画面显示的流畅性,且通过引入电量比较机制,解决低电量时带来的显示画面容易不稳定问题,减少显示画面撕裂,保持显示画面的流畅度。
本发明的方法可在作为移动端的VR设备硬件性能不足情况下,使VR设备可搭载高分辨率和高帧率的屏幕,实现高分辨率和高帧率的显示效果,保证画面显示的流畅度,有效降低画面撕裂现象,增强用户的沉浸式体验,且容易实现。
本发明实施例还提供一种虚拟现实图像显示装置,应用于虚拟现实设备,如图6所示,该虚拟现实图像显示装置06包括:
图像获取单元601,用于获取最新完成渲染的图像帧;
第一头部姿态预测单元602,用于基于获取到的第一当前头部姿态预测第一预设时长后的第一头部姿态,所述第一预设时长为对所述最新完成渲染的图像进行第一时间扭曲处理所需时长;
第一时间扭曲处理单元603,用于根据所述第一头部姿态对所述最新完成渲染的图像进行第一时间扭曲处理,得到与所述第一头部姿态匹配的第一扭曲图像;
第一扭曲图像输出单元604,用于将所述第一扭曲图像输出到显示缓存中,以在接收到当前帧的垂直同步信号Vsync时显示所述第一扭曲图像。
在一个可选的实施方式中,该虚拟现实图像显示装置还可以包括:
第二头部姿态预测单元,用于基于获取到的第二当前头部姿态预测第二时刻的第二头部姿态,所述第二时刻为接收到下一帧垂直同步信号Vsync的时刻;
第二扭曲图像处理单元,用于根据所述第二头部姿态对所述最新完成渲染的图像进行第二时间扭曲处理,得到与所述第二头部姿态匹配第二扭曲图像;
第二扭曲图像输出单元,用于将所述第二扭曲图像输出到显示缓存中,以在接收到下一帧垂直同步信号Vsync时显示所述第二扭曲图像。
上述的所述图像获取单元具体可用于:
判断对当前帧图像的渲染是否完成;
如是,将完成渲染的当前帧图像作为最新完成渲染的图像,若否,将完成渲染的当前帧图像的上一帧作为最新完成渲染的图像。
在一个可选的实施方式中,该虚拟现实图像显示装置还可以包括:
当前电量判断单元,用于获取本设备的当前电量,判断所述当前电量是否大于电量阈值,若是,采用单缓存模式工作,若否,采用三缓存模式工作。
在一些例子中,该装置还可以包括:
渲染缓存单元,用于依次缓存至少三帧相邻的完成渲染的图像;
所述图像获取单元具体用于:从已缓存的完成渲染的各帧所述图像中获取最新完成渲染的图像。
与前述虚拟现实图像显示方法的实施例相对应,本发明提供的虚拟现实图像显示装置可减小图像的显示延迟,提高显示画面的流畅性。
对于装置实施例而言,其中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上;上述各单元可以合并为一个单元,也可以进一步拆分成多个子单元。
通过以上的实施方式的描述,本实施例的装置可借助软件的方式实现,或者软件加必需的通用硬件的方式来实现,当然也可以通过硬件实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,以软件实现为例,作为一个逻辑意义上的装置,是通过应用该装置的VR设备所在的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。
参见图7,本发明还提供一种虚拟现实设备的硬件架构图,该虚拟现实设备包括:机器可读存储介质101和处理器102,还可以包括非易失性介质103、通信接口104和总线105;其中,机器可读存储介质101、处理器102、非易失性介质103和通信接口104通过总线105完成相互间的通信。处理器102通过读取并执行机器可读存储介质101中与视觉疲劳识别方法的控制逻辑对应的机器可执行指令,可执行上文描述的虚拟现实图像显示方法。
本文中提到的机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
非易失性介质可以是非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、任何类型的存储盘(如光盘、dvd等),或者类似的非易失性存储介质,或者它们的组合。
当然,上述的VR设备还可以包括其他已有部件,此处不再赘述。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。
Claims (7)
1.一种虚拟现实图像显示方法,应用于虚拟现实设备,其特征在于,包括:
获取最新完成渲染的图像;
基于获取到的第一当前头部姿态预测第一预设时长后的第一头部姿态,所述第一预设时长为对所述最新完成渲染的图像进行第一时间扭曲处理所需时长;
根据所述第一头部姿态对所述最新完成渲染的图像进行第一时间扭曲处理,得到与所述第一头部姿态匹配的第一扭曲图像;
将所述第一扭曲图像输出到显示缓存中,以在接收到当前帧的垂直同步信号Vsync时显示所述第一扭曲图像;
还包括:
获取本设备的当前电量,判断所述当前电量是否大于电量阈值;
若是,采用单缓存模式工作,所述单缓存模式为对图像进行渲染的缓存与显示屏的显示缓存共用一块缓存区的工作模式;
若否,采用三缓存模式工作,所述三缓存模式为一个缓存用作显示缓存区,另一个缓存用作缓存正在渲染的一帧图像数据,另一个缓存在上述两个缓存区均被占用时用作处理处理器的处理数据的工作模式;
其中,所述获取最新完成渲染的图像之前,还包括:
依次缓存至少三帧相邻的完成渲染的图像,其中,所述至少三帧相邻的完成渲染的图像被缓存在三个渲染缓存中,所述渲染缓存为在图像渲染过程和时间扭曲处理过程之间增加的过渡缓存;
所述获取最新完成渲染的图像包括:
从已缓存的完成渲染的各帧所述图像中获取最新完成渲染的图像;
所述方法还包括:
保持所述三个渲染缓存中均存储有完成渲染的图像,依次循环更新存储三帧相邻的完成渲染的图像,最新完成渲染的图像更新存入最早完成渲染的图像的渲染缓存中。
2.根据权利要求1所述的方法,其特征在于,在显示所述第一扭曲图像之后,还包括:
基于获取到的第二当前头部姿态预测第二时刻的第二头部姿态,所述第二时刻为接收到下一帧垂直同步信号Vsync的时刻;
根据所述第二头部姿态对所述最新完成渲染的图像进行第二时间扭曲处理,得到与所述第二头部姿态匹配第二扭曲图像;
将所述第二扭曲图像输出到显示缓存中,以在接收到下一帧垂直同步信号Vsync时显示所述第二扭曲图像。
3.根据权利要求1所述的方法,其特征在于,所述获取最新完成渲染的图像,包括:
判断对当前帧图像的渲染是否完成;
如是,将完成渲染的当前帧图像作为最新完成渲染的图像,若否,将完成渲染的当前帧图像的上一帧作为最新完成渲染的图像。
4.一种虚拟现实图像显示装置,应用于虚拟现实设备,其特征在于,包括:
图像获取单元,用于获取最新完成渲染的图像帧;
第一头部姿态预测单元,用于基于获取到的第一当前头部姿态预测第一预设时长后的第一头部姿态,所述第一预设时长为对所述最新完成渲染的图像进行第一时间扭曲处理所需时长;
第一时间扭曲处理单元,用于根据所述第一头部姿态对所述最新完成渲染的图像进行第一时间扭曲处理,得到与所述第一头部姿态匹配的第一扭曲图像;
第一扭曲图像输出单元,用于将所述第一扭曲图像输出到显示缓存中,以在接收到当前帧的垂直同步信号Vsync时显示所述第一扭曲图像;
还包括:
当前电量判断单元,用于获取本设备的当前电量,判断所述当前电量是否大于电量阈值,若是,采用单缓存模式工作,若否,采用三缓存模式工作;
其中,所述单缓存模式为对图像进行渲染的缓存与显示屏的显示缓存共用一块缓存区的工作模式;所述三缓存模式为一个缓存用作显示缓存区,另一个缓存用作缓存正在渲染的一帧图像数据,另一个缓存在上述两个缓存区均被占用时用作处理处理器的处理数据的工作模式;
其中,所述装置还包括:
渲染缓存单元,用于依次缓存至少三帧相邻的完成渲染的图像,其中,所述至少三帧相邻的完成渲染的图像被缓存在三个渲染缓存中,所述渲染缓存为在图像渲染过程和时间扭曲处理过程之间增加的过渡缓存;
所述图像获取单元具体用于:从已缓存的完成渲染的各帧所述图像中获取最新完成渲染的图像;
所述虚拟现实图像显示装置,还用于保持所述三个渲染缓存中均存储有完成渲染的图像,依次循环更新存储三帧相邻的完成渲染的图像,最新完成渲染的图像更新存入最早完成渲染的图像的渲染缓存中。
5.根据权利要求4所述的装置,其特征在于,还包括:
第二头部姿态预测单元,用于基于获取到的第二当前头部姿态预测第二时刻的第二头部姿态,所述第二时刻为接收到下一帧垂直同步信号Vsync的时刻;
第二扭曲图像处理单元,用于根据所述第二头部姿态对所述最新完成渲染的图像进行第二时间扭曲处理,得到与所述第二头部姿态匹配第二扭曲图像;
第二扭曲图像输出单元,用于将所述第二扭曲图像输出到显示缓存中,以在接收到下一帧垂直同步信号Vsync时显示所述第二扭曲图像。
6.根据权利要求4或5项所述的装置,其特征在于,所述图像获取单元具体用于:
判断对当前帧图像的渲染是否完成;
如是,将完成渲染的当前帧图像作为最新完成渲染的图像,若否,将完成渲染的当前帧图像的上一帧作为最新完成渲染的图像。
7.一种虚拟现实设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使执行如权利要求1至3任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810708870.2A CN108921951B (zh) | 2018-07-02 | 2018-07-02 | 虚拟现实图像显示方法及其装置、虚拟现实设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810708870.2A CN108921951B (zh) | 2018-07-02 | 2018-07-02 | 虚拟现实图像显示方法及其装置、虚拟现实设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108921951A CN108921951A (zh) | 2018-11-30 |
CN108921951B true CN108921951B (zh) | 2023-06-20 |
Family
ID=64424715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810708870.2A Active CN108921951B (zh) | 2018-07-02 | 2018-07-02 | 虚拟现实图像显示方法及其装置、虚拟现实设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108921951B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109739356B (zh) * | 2018-12-29 | 2020-09-11 | 歌尔股份有限公司 | Vr系统中图像显示的控制方法、装置及vr头戴设备 |
CN109782912B (zh) * | 2019-01-03 | 2022-10-25 | 京东方科技集团股份有限公司 | 用于测量设备延时的方法、装置、介质及电子设备 |
CN109874003B (zh) * | 2019-02-28 | 2021-09-14 | 京东方科技集团股份有限公司 | Vr显示控制方法、vr显示控制装置和显示装置 |
CN111751982B (zh) * | 2019-03-29 | 2022-11-08 | 成都理想境界科技有限公司 | 一种扫描显示方法及装置 |
CN110018874B (zh) * | 2019-04-09 | 2021-07-13 | Oppo广东移动通信有限公司 | 垂直同步方法、装置、终端及存储介质 |
CN110379017B (zh) * | 2019-07-12 | 2023-04-28 | 北京达佳互联信息技术有限公司 | 一种场景构建方法、装置、电子设备及存储介质 |
CN110488977B (zh) * | 2019-08-21 | 2021-10-08 | 京东方科技集团股份有限公司 | 虚拟现实显示方法、装置、系统及存储介质 |
CN110488494B (zh) | 2019-08-30 | 2023-08-15 | 京东方科技集团股份有限公司 | 一种近眼显示装置、增强现实设备以及虚拟现实设备 |
CN111563879B (zh) * | 2020-03-27 | 2023-09-26 | 北京视博云信息技术有限公司 | 一种应用画面显示质量的检测方法及装置 |
CN111586391B (zh) * | 2020-05-07 | 2022-07-08 | 中国联合网络通信集团有限公司 | 一种图像处理方法、装置及系统 |
CN111679739B (zh) * | 2020-06-04 | 2024-04-09 | 京东方科技集团股份有限公司 | 可读存储介质、虚拟现实设备及其控制方法、控制装置 |
CN111652962B (zh) * | 2020-06-08 | 2024-04-23 | 北京联想软件有限公司 | 图像渲染方法、头戴式显示设备及存储介质 |
CN112104855B (zh) * | 2020-09-17 | 2022-05-31 | 联想(北京)有限公司 | 一种图像处理方法及装置 |
CN112230776B (zh) * | 2020-10-29 | 2024-07-02 | 北京京东方光电科技有限公司 | 虚拟现实显示方法、装置及存储介质 |
CN112489226B (zh) * | 2020-11-26 | 2024-07-26 | 京东方科技集团股份有限公司 | 虚拟现实设备图像显示方法、装置、存储介质及电子设备 |
CN112446965A (zh) * | 2020-12-04 | 2021-03-05 | 上海影创信息科技有限公司 | Vr眼镜的延时检测安全防护方法和系统及其vr眼镜 |
CN113596569B (zh) * | 2021-07-22 | 2023-03-24 | 歌尔科技有限公司 | 图像处理方法、装置和计算机可读存储介质 |
CN113538648B (zh) * | 2021-07-27 | 2024-04-30 | 歌尔科技有限公司 | 图像渲染方法、装置、设备及计算机可读存储介质 |
CN114237393A (zh) * | 2021-12-13 | 2022-03-25 | 北京航空航天大学 | 一种基于头动意图的vr画面刷新方法及系统 |
CN114827575B (zh) * | 2022-03-10 | 2024-04-30 | 晋江市博感电子科技有限公司 | 一种vr显示控制方法及装置 |
CN115131528A (zh) * | 2022-06-14 | 2022-09-30 | 北京凌宇智控科技有限公司 | 虚拟现实场景确定方法、装置及系统 |
CN115984457A (zh) * | 2022-12-02 | 2023-04-18 | 北京百度网讯科技有限公司 | 三维模型显示方法、装置和电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106658170A (zh) * | 2016-12-20 | 2017-05-10 | 福州瑞芯微电子股份有限公司 | 一种降低虚拟现实延迟的方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3745117B2 (ja) * | 1998-05-08 | 2006-02-15 | キヤノン株式会社 | 画像処理装置及び画像処理方法 |
US10962780B2 (en) * | 2015-10-26 | 2021-03-30 | Microsoft Technology Licensing, Llc | Remote rendering for virtual images |
EP3335098A1 (en) * | 2016-02-22 | 2018-06-20 | Google LLC | Separate time-warping for a scene and an object for display of virtual reality content |
WO2018039586A1 (en) * | 2016-08-26 | 2018-03-01 | Magic Leap, Inc. | Continuous time warp and binocular time warp for virtual and augmented reality display systems and methods |
CN106502427B (zh) * | 2016-12-15 | 2023-12-01 | 北京国承万通信息科技有限公司 | 虚拟现实系统及其场景呈现方法 |
CN106919360B (zh) * | 2017-04-18 | 2020-04-14 | 珠海全志科技股份有限公司 | 一种头部姿态补偿方法及装置 |
CN107943287A (zh) * | 2017-11-16 | 2018-04-20 | 烽火通信科技股份有限公司 | 一种基于Android机顶盒系统解决VR画面抖动的系统及方法 |
-
2018
- 2018-07-02 CN CN201810708870.2A patent/CN108921951B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106658170A (zh) * | 2016-12-20 | 2017-05-10 | 福州瑞芯微电子股份有限公司 | 一种降低虚拟现实延迟的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108921951A (zh) | 2018-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108921951B (zh) | 虚拟现实图像显示方法及其装置、虚拟现实设备 | |
CN109863538B (zh) | 用于虚拟及增强现实显示的连续时间扭曲及双目时间扭曲系统和方法 | |
US10733789B2 (en) | Reduced artifacts in graphics processing systems | |
CN109920040B (zh) | 显示场景处理方法和装置、存储介质 | |
CN112422873B (zh) | 插帧方法、装置、电子设备及存储介质 | |
US8913664B2 (en) | Three-dimensional motion mapping for cloud gaming | |
CN110166758B (zh) | 图像处理方法、装置、终端设备及存储介质 | |
US20230267578A1 (en) | Virtual reality display method, device and storage medium | |
US11341655B2 (en) | Image processing method, image processing apparatus and display device | |
US20200252580A1 (en) | Video data processing method and video data processing device | |
US20200252581A1 (en) | Video data processing method and video data processing device | |
US10957020B2 (en) | Systems and methods for frame time smoothing based on modified animation advancement and use of post render queues | |
CN108241211B (zh) | 一种头戴显示设备及图像渲染方法 | |
CN110402462B (zh) | 无用户感知情况下的低延时断裂 | |
US20240205294A1 (en) | Resilient rendering for augmented-reality devices | |
WO2023076474A1 (en) | Compositor layer extrapolation | |
US20240007612A1 (en) | Virtual reality display method, device and storage medium | |
CN118264859A (zh) | 显示输出方法、装置、设备及介质 | |
NZ751028B2 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |