CN106296566B - 一种虚拟现实移动端动态时间帧补偿渲染系统及方法 - Google Patents
一种虚拟现实移动端动态时间帧补偿渲染系统及方法 Download PDFInfo
- Publication number
- CN106296566B CN106296566B CN201610666409.6A CN201610666409A CN106296566B CN 106296566 B CN106296566 B CN 106296566B CN 201610666409 A CN201610666409 A CN 201610666409A CN 106296566 B CN106296566 B CN 106296566B
- Authority
- CN
- China
- Prior art keywords
- rendering
- frame
- time
- time frame
- module
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开了一种虚拟现实移动端动态时间帧补偿渲染系统和方法,所述方法为:应用帧渲染生成应用帧缓存序列,在应用帧缓存序列中提取最新的或者最近的应用帧进行二级渲染得到时间帧,时间帧发送至共享缓冲区,在垂直同步管理模块的时序控制下由屏幕读取时间帧渲染结果进行刷新。通过共享缓冲区的设计,让GPU渲染结果直接到屏幕刷新的缓存,降低多级缓存交换的延迟。通过垂直同步时间管理,控制GPU的渲染时间,避免GPU渲染写入和屏幕刷新读取的冲突,让画面能够在低延迟的同时正常显示,不会产生撕裂。
Description
技术领域
本发明涉及虚拟现实领域,具体是一种虚拟现实移动端动态时间帧补偿渲染方法。
背景技术
虚拟现实技术综合利用计算机图形学、光电成像技术、传感技术、计算机仿真、人工智能等多种技术,并借助各种交互设备,旨在为用户提供一个逼真的、具有多重感知的虚拟世界。
近年来,虚拟现实技术迅速发展,主机端虚拟现实利用高性能PC或者游戏主机作为计算核心提供虚拟现实体验。凭借其强悍的硬件,已经能够给用户带来很好的沉浸式体验,但因其成本高,配套设备繁琐,未能有很好的普及。相比之下,移动端虚拟现实技术门槛低,因现在高端智能手机的普及率高,加之移动端(如VR头盔)的成本和制造难度与电脑端相比微乎其微,给用户带来的体验也是极为方便,所以现在移动端的虚拟现实技术普及率远远超于主机端,并逐年上升。
移动端虚拟现实技术普及率虽然高,但是由于硬件性能受限于尺寸和功耗,无法达到主机端虚拟现实的体验。移动端虚拟现实主要面临两个主要问题,首先是操作系统在在图形渲染方面为了更加平滑,采用了多级缓存机制来匹配GPU计算和屏幕扫描的时间差距,然而在虚拟现实场景下,这种机制将产生高延迟,画面响应迟钝。其次,虚拟现实通过左右眼视差产生立体感,因此左右眼的画面需要单独渲染,此外,虚拟现实应用还需要针对光学参数进行反畸变操作,这些都将对GPU产生较大的负载。由于移动端虚拟现实的硬件性能有限,这样的负载将延长GPU的渲染时间,从而出现掉帧现象。另一方面,GPU长时间在高负载运行会产生大量的发热和功耗,因此对移动端硬件的散热带来挑战。并且高功耗带来的运行持续时间降低的问题也将直接影响用户体验。
为了解决虚拟现实中的延迟问题,一些厂商提出了一些技术方案,如Oculus提出的异步时间扭曲技术(Asynchronous Timewarp,简称ATW),其实就是一项生成中间帧技术,当游戏下一帧无法在规定时间内渲染完成时,该技术根据当前已经渲染好的帧及当前VR头盔的状态生成下一帧进行填充,虽然该方法一定层度解决了画面的抖动现象,但是该技术依然具有局限性,例如当移动物体或动画覆盖屏幕很大一部分时,就会产生伪影现象,同时这种方案也没有考虑到移动端虚拟现实的高功耗问题,GPU在处理应用渲染请求的同时还需要额外计算中间帧,一定程度上又增加了GPU的负担,增加了功耗,因此并不能直接适用于移动端虚拟现实。Nvidia针对虚拟现实也提供了SLI双显卡渲染方案,将左右两眼的渲染分配到不同的显卡处理,从而降低单个GPU的开销。然而这种技术主要面向主机端虚拟现实,没有考虑功耗的限制因素,因此也无法在移动虚拟现实端应用。
在移动端虚拟现实系统中,GPU的运算性能有限,其渲染计算时间受到场景复杂度和带宽的限制,因此渲染时间并不稳定,而屏幕的刷新频率是固定的(一般为60Hz),为了匹配显示屏刷新率和GPU渲染时间,操作系统中采用多缓冲机制。也就是GPU渲染操作的缓冲区并不直接显示,而是逐级交换显示。在这种机制下,即使GPU没来及时渲染完成,缓冲区中也有之前的帧可以刷新,因此系统能够保证流畅。在虚拟现实应用中,渲染的画面不仅来源于应用自身逻辑,也来源于交互,其中最主要的是头部位置追踪,也就是用户在戴上头盔后显示的画面应该随用户头部位置的转动而刷新。在多级缓冲区的机制下,根据姿态位置数据产生的画面,将通过多级缓冲区交换后才能最终在屏幕上显示。但是在显示时刻头部的位置姿态早已更新,因此产生了从姿态数据采集到最终画面显示间隔时间的高延迟。在高延迟的影响下,用户会感觉画面的更新滞后于头部的转动。从而产生眩晕感。
另一方面,移动端虚拟现实的GPU性能有限,相比于手机或者平板这种2D画面居多,更新频率较低的场景,虚拟现实场景渲染中每一帧都需要左右眼渲染,并且每一帧的内容都不一样,因此GPU将长期高负载运行,产生高功耗,移动端虚拟现实主要采用电池供电,高功耗将会产生散热和持久性的问题,这些都将直接影响用户体验。
发明内容
本发明为解决移动虚拟现实的高延迟和高功耗问题,提出一种虚拟现实移动端动态时间帧补偿渲染系统及方法。
技术方案:一种虚拟现实移动端动态时间帧补偿渲染系统,它包括应用-屏幕两级渲染模块、共享缓冲区渲染模块、垂直同步管理模块、应用运行场景识别模块、交互行为识别模块、时间帧补偿控制模块、系统性能配置模块、GPU和屏幕,所述应用-屏幕两级渲染模块包括应用帧渲染模块和时间帧渲染模块,分别进行应用帧一级渲染和时间帧二级渲染;所述应用运行场景识别模块和交互行为识别模块采集信息发送至时间帧补偿控制模块;时间帧补偿控制模块一方面连接应用渲染帧模块,控制应用渲染频率和渲染质量,应用帧的渲染周期和时序受时间帧补偿控制模块的控制;时间帧补偿控制模块另一方面通过系统性能配置模块连接包括CPU大小核、GPU、DDR、屏幕亮度的系统关键组件,控制系统性能,同时匹配预置的时间帧补偿策略进行补偿操作和性能配置;应用帧渲染模块和时间帧渲染模块均连接GPU,GPU连接共享缓冲区渲染模块并输出时间帧渲染结果;共享缓冲区渲染模块连接屏幕,进行屏幕显示刷新;屏幕连接垂直同步管理模块,发起垂直同步信号;垂直同步管理模块连接时间帧渲染模块和共享缓冲区渲染模块,垂直同步管理模块控制时间帧的渲染周期为屏幕刷新频率。
其中:
应用帧为应用实际渲染的帧,在应用帧渲染中,应用向GPU发送渲染指令进行渲染,该渲染时间受到应用本身业务逻辑和场景复杂度的影响;
屏幕刷新率是固定的,每隔固定时间屏幕刷新一遍,假如屏幕刷新率为60Hz,则刷新周期为16.66毫秒;
时间帧通过应用帧矫正得到,其中应用帧为:如果应用帧队列存在更新,找到更新中的最新的一帧;如果应用帧队列尚未更新,获取队列中的最新一帧;其中矫正为:读取当前头部位置参数和光学参数对应用帧采用相应的时间帧补偿策略进行位置矫正和光学矫正,生成二级渲染指令。
本发明还公开了一种虚拟现实移动端动态时间帧补偿渲染方法,基于本发明公开的一种虚拟现实移动端动态时间帧补偿渲染系统。应用帧渲染生成应用帧缓存序列,在应用帧缓存序列中提取最新的或者最近的应用帧进行二级渲染得到时间帧,时间帧发送至共享缓冲区,在垂直同步管理模块的时序控制下由屏幕读取时间帧渲染结果进行刷新。
优选的,应用帧的渲染周期和时序受时间帧补偿控制模块的控制;时间帧补偿控制模块通过应用场景识别模块和交互行为识别模块采集应用运行时光学参数信息和用户头部位置信息,同时匹配预置的时间帧补偿策略进行补偿操作和性能配置,具体流程如下:
步骤1:加载时间帧补偿策略文件,该文件定义不同运行场景和交互行为下的应用帧调度规则和性能等级配置规则;
步骤2:读取运行场景信息,该信息由应用运行场景识别模块提供,可以是应用指定的场景模式,也可以是系统根据硬件运行情况自动识别的结果;
步骤3:读取交互行为信息,交互行为包含了头部位置的变化,由交互行为识别模块提供;
步骤4:根据运行场景信息和交互行为信息匹配加载的时间帧补偿策略;
步骤5:如果未匹配到配置的策略规则,则加载默认规则策略;
步骤6:根据策略控制应用帧渲染帧率,控制的方式包括固定周期渲染和事件触发渲染;
步骤7:判断是否开始应用帧渲染,如果没有开始,等待渲染开始信号;
步骤8:开始应用帧渲染流程;
步骤9:在步骤6的同时根据策略设置系统性能等级;
步骤10,判断是否有垂直同步信号触发,如果没有,则等待垂直同步信息;
步骤11:在垂直同步触发后,时间帧渲染前获取应用帧队列;
步骤12:如果存在更新的应用帧,则用最新更新的应用帧做矫正二级渲染;
步骤13:如果不存在更新的应用帧,从队列中获取最近一个应用帧做矫正二级渲染,也就是进行一次时间帧补偿。
优选的,应用运行场景识别模块识别应用的运行场景,应用在运行期间有不同运行场景,包括菜单显示,进度条加载,视频播放,固定/指定视角浏览,这些场景信息传送到时间帧补偿控制模块来指导渲染补偿策略,识别流程如下:
步骤1:检查应用是否设置了当前运行场景,该运行场景由渲染框架预设提供,包括:菜单显示、进度条加载、视频播放、固定/指定视角浏览和自定义帧率上下限,如果应用已经定义了当前运行场景,直接将场景信息返回给时间帧补偿控制模块;
步骤2:如果应用没有定义运行场景,则检测系统组件,包括CPU,GPU,屏幕输出帧率,DDR带宽,解码器的运行情况,将这些信息反馈给时间帧补偿控制模块;
步骤3:检查是否到达下一次运行场景检查时间点,该时间点由时间帧补偿控制模块指定的场景检测周期决定;如果尚未到达检查时间点,则挂起线程等待。
优选的,交互行为识别模块通过移动端虚拟现实硬件中的九轴传感器来控制识别用户的姿态变化,最主要的为头部位置的转动,将用户头部位置信息输出到时间帧补偿控制模块进行渲染调度控制,交互行为识别模块流程如下:
步骤1:检查九轴传感器状态,如果九轴传感器已经关闭或者锁定,则直接返回九轴传感器状态信息给时间帧补偿控制模块;
步骤2:检查九轴传感器数据上报情况,如果当前没有数据上报,则回到步骤1检查和等待,如果当前有数据上报,则进一步获取位置数据;
步骤3:根据九轴传感器的九轴位置数据生成旋转矩阵,该旋转矩阵供应用帧渲染;
步骤4:从旋转矩阵中分离出XYZ三轴对应的欧拉角;
步骤5:将本轮得出的欧拉角与上一轮进行差值计算;
步骤6:计算后,对每轴欧拉角差值进行加权处理,加权系数由运行场景决定,该系数代表了不同方向偏移对整个交互行为影响的重要性,如当前画面是一个虚拟影院场景,则X轴的欧拉角加权系数将高于其他两个轴的系数,说明场景更关注用户左右方向的移动;
步骤7:将三轴欧拉角加权差值返回给时间帧补偿控制模块。
优选的,性能控制模块将包括CPU大小核、GPU、DDR、屏幕亮度的系统关键组件划分不同的性能级别,根据时间帧补偿策略下发的性能配置命令来控制,具体流程如下:
步骤1:初始化性能级别,该步骤从系统中获取性能配置表,解析配置表获取系统支持的性能等级,不同的等级有不同的频率,运行电压,带宽,亮度等;
步骤2:获取当前应用指定的性能等级,该等级由时间帧补偿控制模块采集运行场景和交互行为后决定,也可由应用直接指定;
步骤3:判断是否存在性能等级更新,如果不存在更新,结束性能控制流程;
步骤4:如果性能等级更新,根据系统组件性能等级列表调用性能配置指令进行设置;
步骤5:设置后,从系统中读取当前系统运行的系统等级;
步骤6:如果设置成功,结束控制流程;
步骤7:如果设置失败,返回步骤4。
优选的,应用帧的渲染流程为:
步骤1:获取时间帧补偿策略,该策略由时间帧补偿控制模块提供,策略内容定义了应用帧渲染的帧率、渲染质量和渲染模式,其中帧率为应用帧渲染行为发生的周期,渲染质量指定渲染目标缓存的大小和采样率,渲染模式指固定周期渲染和事件触发渲染;
步骤2:等待应用帧渲染信号,该信号由渲染模式决定:在固定周期渲染中,渲染信号由固定时钟周期决定;比如30FPS下,每隔33ms触发一次渲染信号。在事件触发渲染中,渲染信号由事件决定;如解码器准备好一帧视频帧后触发一次渲染事件,让应用帧开始渲染。如果信号未到来,则应用帧渲染线程挂起;
步骤3:在应用帧渲染信号触发后,获取头部位置信息,生成旋转矩阵和视图矩阵,应用根据这些矩阵更新虚拟现实场景信息并向GPU下发渲染指令,渲染指令下发后检测应用帧渲染状态,在渲染完成后回到步骤2来等待下一帧渲染信号。
优选的,时间帧的渲染流程为:
步骤1:检查垂直同步信号是否触发,垂直同步信号由垂直同步管理模块生成,该模块采集屏幕驱动开始渲染的信号,上报给系统和时间帧渲染线程;在垂直同步信号未到达时,线程挂起;
步骤2:初始化渲染参数,加载渲染参数,渲染参数包括渲染尺寸、sharder程序、顶点坐标、渲染顺序,其中渲染顺序由屏幕刷新方向指定,渲染顺序决定时间帧渲染中的前半帧和后半帧和左眼半帧和右眼半帧的对应关系;
步骤3:读取应用帧队列,如果应用帧队列存在更新,找到更新中的最新的一帧,如果应用帧队列尚未更新,获取队列中的最新一帧,在应用帧未更新时为了确保时间帧的渲染频率,采用上一个应用帧的缓冲进行渲染,本发明定义为一次时间帧补偿操作;
步骤4:获取前半帧缓存,访问前添加互斥锁防止访问冲突;
步骤5:读取当前头部位置参数和光学参数对前半帧进行位置矫正和光学矫正,生成二级渲染指令;
步骤6:二级渲染指令下发GPU,并指定以最高优先级渲染;
步骤7:检测半帧是否渲染完成;
步骤8:如果当前已经为后半帧,回到步骤1,否则进行步骤9;
步骤9:检测渲染时间是否超出半个垂直同步周期,该时刻也代表屏幕刷新到一半的位置,若超出则开始进行后半帧扫描刷新;如果渲染时间没有超过半个垂直同步周期,挂起线程等待半帧切换的时间点;
步骤10:触发后半帧渲染,返回步骤5。
更具体的,时间帧渲染的步骤5中:读取当前头部位置参数和光学参数对前半帧进行位置矫正和光学矫正,具体为将应用帧中的color buffer提取作为纹理,光学矫正和位置矫正的顶点坐标作为GPU shader程序的输入,生成二级渲染指令。
优选的:
共享缓冲区渲染模块的缓冲机制由传统的多级缓冲机制改为GPU和屏幕共享单缓冲的机制,由于GPU的渲染内容直接写入到屏幕读取的缓冲区中,会出现访问冲突,显示的画面将出现撕裂,因此需要垂直同步管理模块进行渲染时序控制;
垂直同步管理模块采用垂直同步信号来控制GPU、CPU和屏幕输出的时序,垂直同步信号来源于屏幕刷新时间,垂直同步管理模块将屏幕刷新时间从底层直接上报到本方案的渲染框架中,减少了信号传输延迟。在共享单缓冲机制中,垂直同步信号控制着屏幕开始从初始位置到结束位置刷新,利用该信号控制GPU的渲染顺序,从而避免共享缓冲区的访问冲突问题。垂直同步的具体控制流程见时间帧渲染流程。
本发明的有益效果
1,通过共享缓冲区的设计,让GPU渲染结果直接到屏幕刷新的缓存,降低多级缓存交换的延迟。
2,通过垂直同步时间管理,控制GPU的渲染时间,避免GPU渲染写入和屏幕刷新读取的冲突,让画面能够在低延迟的同时正常显示,不会产生撕裂。
3,应用-屏幕两级渲染机制降低了应用渲染和屏幕输出的依赖关系,支持动态调节应用渲染频率。
4,应用运行场景和交互行为识别结果指导时间帧动态补偿,从而降低应用帧的渲染频率,降低GPU的负载。
5,根据场景和交互行为,在帧率调整的同时,调节系统性能,进一步降低功耗。
附图说明
图1为本发明虚拟现实移动端动态时间帧补偿渲染系统结构示意图
图2为时间帧补偿控制模块工作流程图
图3为应用运行场景识别模块工作流程图
图4为交互行为识别模块工作流程图
图5为性能控制模块工作流程图
图6为应用帧的渲染流程图
图7为时间帧的渲染流程图
具体实施方式
下面结合实施例对本发明作进一步说明,但本发明的保护范围不限于此:
实施例1:结合图1,一种虚拟现实移动端动态时间帧补偿渲染系统,它包括应用-屏幕两级渲染模块、共享缓冲区渲染模块、垂直同步管理模块、应用运行场景识别模块、交互行为识别模块、时间帧补偿控制模块、系统性能配置模块、GPU和屏幕,所述应用-屏幕两级渲染模块包括应用帧渲染模块和时间帧渲染模块,分别进行应用帧一级渲染和时间帧二级渲染;所述应用运行场景识别模块和交互行为识别模块采集信息发送至时间帧补偿控制模块;时间帧补偿控制模块一方面连接应用渲染帧模块,控制应用渲染频率和渲染质量,应用帧的渲染周期和时序受时间帧补偿控制模块的控制;时间帧补偿控制模块另一方面通过系统性能配置模块连接包括CPU大小核、GPU、DDR、屏幕亮度的系统关键组件,控制系统性能,同时匹配预置的时间帧补偿策略进行补偿操作和性能配置;应用帧渲染模块和时间帧渲染模块均连接GPU,GPU连接共享缓冲区渲染模块并输出时间帧渲染结果;共享缓冲区渲染模块连接屏幕,进行屏幕显示刷新;屏幕连接垂直同步管理模块,发起垂直同步信号(屏幕开始刷新的信号,通知CPU和GPU开始一帧的计算);垂直同步管理模块连接时间帧渲染模块和共享缓冲区渲染模块,垂直同步管理模块控制时间帧的渲染周期为屏幕刷新频率。
其中:
应用帧为应用实际渲染的帧,在应用帧渲染中,应用向GPU发送渲染指令进行渲染,该渲染时间受到应用本身业务逻辑和场景复杂度的影响;
屏幕刷新率是固定的,每隔固定时间屏幕刷新一遍,假如屏幕刷新率为60Hz,则刷新周期为16.66毫秒;
时间帧通过应用帧矫正得到,其中应用帧为:如果应用帧队列存在更新,找到更新中的最新的一帧;如果应用帧队列尚未更新,获取队列中的最新一帧;其中矫正为:读取当前头部位置参数和光学参数对应用帧采用相应的时间帧补偿策略进行位置矫正和光学矫正,生成二级渲染指令。
实施例2:一种虚拟现实移动端动态时间帧补偿渲染方法,如实施例1所述的一种虚拟现实移动端动态时间帧补偿渲染系统,应用帧渲染生成应用帧缓存序列,在应用帧缓存序列中提取最新的或者最近的应用帧进行二级渲染得到时间帧,时间帧发送至共享缓冲区,在垂直同步管理模块的时序控制下由屏幕读取时间帧渲染结果进行刷新。
实施例3:如实施例2所述的一种虚拟现实移动端动态时间帧补偿渲染方法,应用帧的渲染周期和时序受时间帧补偿控制模块的控制;时间帧补偿控制模块通过应用场景识别模块和交互行为识别模块采集应用运行时光学参数信息和用户头部位置信息,同时匹配预置的时间帧补偿策略进行补偿操作和性能配置,结合图2,具体流程如下:
步骤1:加载时间帧补偿策略文件,该文件定义不同运行场景和交互行为下的应用帧调度规则和性能等级配置规则;
步骤2:读取运行场景信息,该信息由应用运行场景识别模块提供,可以是应用指定的场景模式,也可以是系统根据硬件运行情况自动识别的结果;
步骤3:读取交互行为信息,交互行为包含了头部位置的变化,由交互行为识别模块提供;
步骤4:根据运行场景信息和交互行为信息匹配加载的时间帧补偿策略;
步骤5:如果未匹配到配置的策略规则,则加载默认规则策略;
步骤6:根据策略控制应用帧渲染帧率,控制的方式包括固定周期渲染和事件触发渲染;
步骤7:判断是否开始应用帧渲染,如果没有开始,等待渲染开始信号;
步骤8:开始应用帧渲染流程;
步骤9:在步骤6的同时根据策略设置系统性能等级;
步骤10,判断是否有垂直同步信号触发,如果没有,则等待垂直同步信息;
步骤11:在垂直同步触发后,时间帧渲染前获取应用帧队列;
步骤12:如果存在更新的应用帧,则用最新更新的应用帧做矫正二级渲染;
步骤13:如果不存在更新的应用帧,从队列中获取最近一个应用帧做矫正二级渲染,也就是进行一次时间帧补偿。
时间帧动态补偿能够通过修改或设计新的GPU架构,使得原生支持,也就是在GPU渲染中就完成应用帧和时间帧的分离,直接输出时间帧结果。将控制算法移到GPU内部实现。也可以利用单独的硬件实现。
实施例4:如实施例2或3所述的一种虚拟现实移动端动态时间帧补偿渲染方法,应用运行场景识别模块识别应用的运行场景,应用在运行期间有不同运行场景,包括菜单显示,进度条加载,视频播放,固定/指定视角浏览,这些场景信息传送到时间帧补偿控制模块来指导渲染补偿策略,结合图3,识别流程如下:
步骤1:检查应用是否设置了当前运行场景,该运行场景由渲染框架预设提供,包括:菜单显示、进度条加载、视频播放、固定/指定视角浏览和自定义帧率上下限,如果应用已经定义了当前运行场景,直接将场景信息返回给时间帧补偿控制模块;
步骤2:如果应用没有定义运行场景,则检测系统组件,包括CPU,GPU,屏幕输出帧率,DDR带宽,解码器的运行情况,将这些信息反馈给时间帧补偿控制模块;
步骤3:检查是否到达下一次运行场景检查时间点,该时间点由时间帧补偿控制模块指定的场景检测周期决定;如果尚未到达检查时间点,则挂起线程等待。
优选的实施例中,运行场景识别模块可以通过检测硬件电压电流来识别硬件运行状态。
实施例5:如实施例2或3所述的一种虚拟现实移动端动态时间帧补偿渲染方法,交互行为识别模块通过移动端虚拟现实硬件中的九轴传感器来控制识别用户的姿态变化,最主要的为头部位置的转动,将用户头部位置信息输出到时间帧补偿控制模块进行渲染调度控制,结合图4,交互行为识别模块流程如下:
步骤1:检查九轴传感器状态,如果九轴传感器已经关闭或者锁定,则直接返回九轴传感器状态信息给时间帧补偿控制模块;
步骤2:检查九轴传感器数据上报情况,如果当前没有数据上报,则回到步骤1检查和等待,如果当前有数据上报,则进一步获取位置数据;
步骤3:根据九轴传感器的九轴位置数据生成旋转矩阵,该旋转矩阵供应用帧渲染;
步骤4:从旋转矩阵中分离出XYZ三轴对应的欧拉角;
步骤5:将本轮得出的欧拉角与上一轮进行差值计算;
步骤6:计算后,对每轴欧拉角差值进行加权处理,加权系数由运行场景决定,该系数代表了不同方向偏移对整个交互行为影响的重要性,如当前画面是一个虚拟影院场景,则X轴的欧拉角加权系数将高于其他两个轴的系数,说明场景更关注用户左右方向的移动;
步骤7:将三轴欧拉角加权差值返回给时间帧补偿控制模块。
优选的实施例中,交互行为识别模块能够在传感器硬件内部计算和识别,直接输出识别结果。
系统可以根据各个硬件的运行信息自动调节性能模式,让运行场景识别模块和交互行为识别模块变为系统软件/硬件的一部分来实现调节帧率和调节性能的目的。
实施例6:如实施例2或3所述的一种虚拟现实移动端动态时间帧补偿渲染方法,性能控制模块将包括CPU大小核、GPU、DDR、屏幕亮度的系统关键组件划分不同的性能级别,根据时间帧补偿策略下发的性能配置命令来控制,结合图5,具体流程如下:
步骤1:初始化性能级别,该步骤从系统中获取性能配置表,解析配置表获取系统支持的性能等级,不同的等级有不同的频率,运行电压,带宽,亮度等;
步骤2:获取当前应用指定的性能等级,该等级由时间帧补偿控制模块采集运行场景和交互行为后决定,也可由应用直接指定;
步骤3:判断是否存在性能等级更新,如果不存在更新,结束性能控制流程;
步骤4:如果性能等级更新,根据系统组件性能等级列表调用性能配置指令进行设置;
步骤5:设置后,从系统中读取当前系统运行的系统等级;
步骤6:如果设置成功,结束控制流程;
步骤7:如果设置失败,返回步骤4。
实施例7:如实施例2所述的一种虚拟现实移动端动态时间帧补偿渲染方法,结合图6,应用帧的渲染流程为:
步骤1:获取时间帧补偿策略,该策略由时间帧补偿控制模块提供,策略内容定义了应用帧渲染的帧率、渲染质量和渲染模式,其中帧率为应用帧渲染行为发生的周期,渲染质量指定渲染目标缓存的大小和采样率,渲染模式指固定周期渲染和事件触发渲染;
步骤2:等待应用帧渲染信号,该信号由渲染模式决定:在固定周期渲染中,渲染信号由固定时钟周期决定;比如30FPS下,每隔33ms触发一次渲染信号。在事件触发渲染中,渲染信号由事件决定;如解码器准备好一帧视频帧后触发一次渲染事件,让应用帧开始渲染。如果信号未到来,则应用帧渲染线程挂起;
步骤3:在应用帧渲染信号触发后,获取头部位置信息,生成旋转矩阵和视图矩阵,应用根据这些矩阵更新虚拟现实场景信息并向GPU下发渲染指令,渲染指令下发后检测应用帧渲染状态,在渲染完成后回到步骤2来等待下一帧渲染信号。
实施例8:如实施例2所述的一种虚拟现实移动端动态时间帧补偿渲染方法,结合图7,时间帧的渲染流程为:
步骤1:检查垂直同步信号是否触发,垂直同步信号由垂直同步管理模块生成,该模块采集屏幕驱动开始渲染的信号,上报给系统和时间帧渲染线程;在垂直同步信号未到达时,线程挂起;
步骤2:初始化渲染参数,加载渲染参数,渲染参数包括渲染尺寸、sharder程序、顶点坐标、渲染顺序,其中渲染顺序由屏幕刷新方向指定,渲染顺序决定时间帧渲染中的前半帧和后半帧和左眼半帧和右眼半帧的对应关系;
步骤3:读取应用帧队列,如果应用帧队列存在更新,找到更新中的最新的一帧,如果应用帧队列尚未更新,获取队列中的最新一帧,在应用帧未更新时为了确保时间帧的渲染频率,采用上一个应用帧的缓冲进行渲染,本发明定义为一次时间帧补偿操作;
步骤4:获取前半帧缓存,访问前添加互斥锁防止访问冲突;
步骤5:读取当前头部位置参数和光学参数对前半帧进行位置矫正和光学矫正,生成二级渲染指令;
步骤6:二级渲染指令下发GPU,并指定以最高优先级渲染;
步骤7:检测半帧是否渲染完成;
步骤8:如果当前已经为后半帧,回到步骤1,否则进行步骤9;
步骤9:检测渲染时间是否超出半个垂直同步周期,该时刻也代表屏幕刷新到一半的位置,若超出则开始进行后半帧扫描刷新;如果渲染时间没有超过半个垂直同步周期,挂起线程等待半帧切换的时间点;
步骤10:触发后半帧渲染,返回步骤5。
实施例9:如实施例8所述的一种虚拟现实移动端动态时间帧补偿渲染方法,时间帧渲染的步骤5中:读取当前头部位置参数和光学参数对前半帧进行位置矫正和光学矫正,具体为将应用帧中的color buffer提取作为纹理,光学矫正和位置矫正的顶点坐标作为GPU shader程序的输入,生成二级渲染指令。
实施例10:如实施例2所述的一种虚拟现实移动端动态时间帧补偿渲染方法,
共享缓冲区渲染模块的缓冲机制由传统的多级缓冲机制改为GPU和屏幕共享单缓冲的机制,由于GPU的渲染内容直接写入到屏幕读取的缓冲区中,会出现访问冲突,显示的画面将出现撕裂,因此需要垂直同步管理模块进行渲染时序控制;
垂直同步管理模块采用垂直同步信号来控制GPU、CPU和屏幕输出的时序,垂直同步信号来源于屏幕刷新时间,垂直同步管理模块将屏幕刷新时间从底层直接上报到本方案的渲染框架中,减少了信号传输延迟。在共享单缓冲机制中,垂直同步信号控制着屏幕开始从初始位置到结束位置刷新,利用该信号控制GPU的渲染顺序,从而避免共享缓冲区的访问冲突问题。垂直同步的具体控制流程见时间帧渲染流程。
本文中所描述的具体实施例仅仅是对本发明精神做举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (9)
1.一种虚拟现实移动端动态时间帧补偿渲染方法,其特征在于应用帧渲染生成应用帧缓存序列,在应用帧缓存序列中提取最新的或者最近的应用帧进行二级渲染得到时间帧,时间帧发送至共享缓冲区,在垂直同步管理模块的时序控制下由屏幕读取时间帧渲染结果进行刷新;最新的应用帧是指:更新的应用帧中时间戳与当前时间最接近的应用帧;最近的应用帧是指:在缓存队列中时间戳与当前时间最接近的应用帧;
应用帧的渲染周期和时序受时间帧补偿控制模块的控制;时间帧补偿控制模块通过应用场景识别模块和交互行为识别模块采集应用运行时光学参数信息和用户头部位置信息,同时匹配预置的时间帧补偿策略进行补偿操作和性能配置,具体流程如下:
步骤1:加载时间帧补偿策略文件,该文件定义不同运行场景和交互行为下的应用帧调度规则和性能等级配置规则;
步骤2:读取运行场景信息,该信息由应用运行场景识别模块提供,可以是应用指定的场景模式,也可以是系统根据硬件运行情况自动识别的结果;
步骤3:读取交互行为信息,交互行为包含了头部位置的变化,由交互行为识别模块提供;
步骤4:根据运行场景信息和交互行为信息匹配加载的时间帧补偿策略;
步骤5:如果未匹配到配置的策略规则,则加载默认规则策略;
步骤6:根据策略控制应用帧渲染帧率,控制的方式包括固定周期渲染和事件触发渲染;
步骤7:判断是否开始应用帧渲染,如果没有开始,等待渲染开始信号;
步骤8:开始应用帧渲染流程;
步骤9:在步骤6的同时根据策略设置系统性能等级;
步骤10,判断是否有垂直同步信号触发,如果没有,则等待垂直同步信息;
步骤11:在垂直同步触发后,时间帧渲染前获取应用帧队列;
步骤12:如果存在更新的应用帧,则用最新更新的应用帧做矫正二级渲染;步骤13:如果不存在更新的应用帧,从队列中获取最近一个应用帧做矫正二级渲染。
2.根据权利要求1所述的一种虚拟现实移动端动态时间帧补偿渲染方法,其特征在于应用运行场景识别模块识别应用的运行场景,应用在运行期间有不同运行场景,包括菜单显示,进度条加载,视频播放,固定/指定视角浏览,这些场景信息传送到时间帧补偿控制模块来指导渲染补偿策略,识别流程如下:
步骤1:检查应用是否设置了当前运行场景,该运行场景由渲染框架预设提供,包括:菜单显示、进度条加载、视频播放、固定/指定视角浏览和自定义帧率上下限,如果应用已经定义了当前运行场景,直接将场景信息返回给时间帧补偿控制模块;
步骤2:如果应用没有定义运行场景,则检测系统组件,包括CPU,GPU,屏幕输出帧率,DDR带宽,解码器的运行情况,将这些信息反馈给时间帧补偿控制模块;
步骤3:检查是否到达下一次运行场景检查时间点,该时间点由时间帧补偿控制模块指定的场景检测周期决定;如果尚未到达检查时间点,则挂起线程等待。
3.根据权利要求1所述的一种虚拟现实移动端动态时间帧补偿渲染方法,其特征在于交互行为识别模块通过移动端虚拟现实硬件中的九轴传感器来控制识别用户的姿态变化,将用户头部位置信息输出到时间帧补偿控制模块进行渲染调度控制,交互行为识别模块流程如下:
步骤1:检查九轴传感器状态,如果九轴传感器已经关闭或者锁定,则直接返回九轴传感器状态信息给时间帧补偿控制模块;
步骤2:检查九轴传感器数据上报情况,如果当前没有数据上报,则回到步骤1检查和等待,如果当前有数据上报,则进一步获取位置数据;
步骤3:根据九轴传感器的九轴位置数据生成旋转矩阵,该旋转矩阵供应用帧渲染;
步骤4:从旋转矩阵中分离出XYZ三轴对应的欧拉角;
步骤5:将本轮得出的欧拉角与上一轮进行差值计算;
步骤6:计算后,对每轴欧拉角差值进行加权处理;
步骤7:将三轴欧拉角加权差值返回给时间帧补偿控制模块。
4.根据权利要求1所述的一种虚拟现实移动端动态时间帧补偿渲染方法,其特征在于性能控制模块将包括CPU大小核、GPU、DDR、屏幕亮度的系统关键组件划分不同的性能级别,根据时间帧补偿策略下发的性能配置命令来控制,具体流程如下:
步骤1:初始化性能级别,该步骤从系统中获取性能配置表,解析配置表获取系统支持的性能等级;
步骤2:获取当前应用指定的性能等级,该等级由时间帧补偿控制模块采集运行场景和交互行为后决定,也可由应用直接指定;
步骤3:判断是否存在性能等级更新,如果不存在更新,结束性能控制流程;
步骤4:如果性能等级更新,根据系统组件性能等级列表调用性能配置指令进行设置;
步骤5:设置后,从系统中读取当前系统运行的系统等级;
步骤6:如果设置成功,结束控制流程;
步骤7:如果设置失败,返回步骤4。
5.根据权利要求1所述的一种虚拟现实移动端动态时间帧补偿渲染方法,其特征在于应用帧的渲染流程为:
步骤1:获取时间帧补偿策略,该策略由时间帧补偿控制模块提供,策略内容定义了应用帧渲染的帧率、渲染质量和渲染模式,其中帧率为应用帧渲染行为发生的周期,渲染质量指定渲染目标缓存的大小和采样率,渲染模式指固定周期渲染和事件触发渲染;
步骤2:等待应用帧渲染信号,该信号由渲染模式决定:在固定周期渲染中,渲染信号由固定时钟周期决定;在事件触发渲染中,渲染信号由事件决定;如果信号未到来,则应用帧渲染线程挂起;
步骤3:在应用帧渲染信号触发后,获取头部位置信息,生成旋转矩阵和视图矩阵,应用根据这些矩阵更新虚拟现实场景信息并向GPU下发渲染指令,渲染指令下发后检测应用帧渲染状态,在渲染完成后回到步骤2来等待下一帧渲染信号。
6.根据权利要求1所述的一种虚拟现实移动端动态时间帧补偿渲染方法,其特征在于时间帧的渲染流程为:
步骤1:检查垂直同步信号是否触发,垂直同步信号由垂直同步管理模块生成,该模块采集屏幕驱动开始渲染的信号,上报给系统和时间帧渲染线程;在垂直同步信号未到达时,线程挂起;
步骤2:初始化渲染参数,加载渲染参数,渲染参数包括渲染尺寸、sharder程序、顶点坐标、渲染顺序,其中渲染顺序由屏幕刷新方向指定,渲染顺序决定时间帧渲染中的前、后半部分渲染任务和左、右眼半帧的对应关系;
步骤3:读取应用帧队列,如果应用帧队列存在更新,找到更新中的最新的一帧,如果应用帧队列尚未更新,获取队列中的最新一帧;
步骤4:获取前半部分渲染任务缓存,访问前添加互斥锁防止访问冲突;
步骤5:读取当前头部位置参数和光学参数对前半部分渲染任务进行位置矫正和光学矫正,生成二级渲染指令;
步骤6:二级渲染指令下发GPU,并指定以最高优先级渲染;
步骤7:检测前半部分渲染任务或后半部分渲染任务是否渲染完成;
步骤8:如果当前已经为后半部分渲染任务,回到步骤1,否则进行步骤9;
步骤9:检测渲染时间是否超出半个垂直同步周期,若超出则开始进行后半部分渲染任务扫描刷新;如果渲染时间没有超过半个垂直同步周期,挂起线程等待前半部分渲染任务或后半部分渲染任务切换的时间点;
步骤10:触发后半部分渲染任务渲染,返回步骤5。
7.根据权利要求6所述的一种虚拟现实移动端动态时间帧补偿渲染方法,其特征在于时间帧渲染的步骤5中:读取当前头部位置参数和光学参数对前半部分渲染任务进行位置矫正和光学矫正,将应用帧中的color buffer提取作为纹理,光学矫正和位置矫正的顶点坐标作为GPUshader程序的输入,生成二级渲染指令。
8.根据权利要求1所述的一种虚拟现实移动端动态时间帧补偿渲染方法,其特征在于
共享缓冲区渲染模块的缓冲机制为GPU和屏幕共享单缓冲的机制;
垂直同步管理模块采用垂直同步信号来控制GPU、CPU和屏幕输出的时序,垂直同步信号来源于屏幕刷新时间。
9.一种用于执行权利要求1-权利要求8中任一种虚拟现实移动端动态时间帧补偿渲染方法的系统,其特征在于它包括应用-屏幕两级渲染模块、共享缓冲区渲染模块、垂直同步管理模块、应用运行场景识别模块、交互行为识别模块、时间帧补偿控制模块、系统性能配置模块、GPU和屏幕,所述应用-屏幕两级渲染模块包括应用帧渲染模块和时间帧渲染模块;所述应用运行场景识别模块和交互行为识别模块采集信息发送至时间帧补偿控制模块;时间帧补偿控制模块一方面连接应用渲染帧模块;时间帧补偿控制模块另一方面通过系统性能配置模块连接包括CPU大小核、GPU、DDR、屏幕亮度的系统关键组件;应用帧渲染模块和时间帧渲染模块均连接GPU,GPU连接共享缓冲区渲染模块;共享缓冲区渲染模块连接屏幕;屏幕连接垂直同步管理模块;垂直同步管理模块连接时间帧渲染模块和共享缓冲区渲染模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610666409.6A CN106296566B (zh) | 2016-08-12 | 2016-08-12 | 一种虚拟现实移动端动态时间帧补偿渲染系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610666409.6A CN106296566B (zh) | 2016-08-12 | 2016-08-12 | 一种虚拟现实移动端动态时间帧补偿渲染系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106296566A CN106296566A (zh) | 2017-01-04 |
CN106296566B true CN106296566B (zh) | 2019-05-17 |
Family
ID=57671847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610666409.6A Active CN106296566B (zh) | 2016-08-12 | 2016-08-12 | 一种虚拟现实移动端动态时间帧补偿渲染系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106296566B (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106971368A (zh) * | 2017-01-18 | 2017-07-21 | 上海拆名晃信息科技有限公司 | 一种用于虚拟现实的同步时间卷曲计算方法 |
US10394313B2 (en) | 2017-03-15 | 2019-08-27 | Microsoft Technology Licensing, Llc | Low latency cross adapter VR presentation |
CN107168780B (zh) * | 2017-04-06 | 2020-09-08 | 北京小鸟看看科技有限公司 | 虚拟现实场景的加载方法、设备及虚拟现实设备 |
US20180329742A1 (en) * | 2017-05-10 | 2018-11-15 | Mediatek Inc. | Timer-assisted frame running time estimation |
CN107220019B (zh) * | 2017-05-15 | 2021-01-08 | 固安县朔程燃气有限公司 | 一种基于动态vsync信号的渲染方法、移动终端及存储介质 |
CN107743223A (zh) * | 2017-10-31 | 2018-02-27 | 歌尔科技有限公司 | 图像写入控制方法、装置及电子设备 |
US10741143B2 (en) * | 2017-11-28 | 2020-08-11 | Nvidia Corporation | Dynamic jitter and latency-tolerant rendering |
US11077364B2 (en) * | 2018-04-02 | 2021-08-03 | Google Llc | Resolution-based scaling of real-time interactive graphics |
CN108681439B (zh) * | 2018-05-29 | 2021-04-27 | 北京维盛泰科科技有限公司 | 基于帧率控制的均匀显示方法 |
CN108921050B (zh) * | 2018-06-14 | 2021-10-15 | 华中科技大学 | 一种基于移动端的虚拟现实图像处理系统 |
CN110636306B (zh) * | 2018-06-22 | 2021-07-20 | 杭州海康威视数字技术股份有限公司 | 一种图像显示方法、解码设备及电视墙系统 |
CN108769785B (zh) * | 2018-06-29 | 2020-11-03 | 京东方科技集团股份有限公司 | 视频播放方法、装置及存储介质 |
WO2020019139A1 (zh) * | 2018-07-23 | 2020-01-30 | 深圳市大疆创新科技有限公司 | 视频均匀显示方法、终端设备、机器可读存储介质 |
CN109271219B (zh) * | 2018-07-25 | 2021-09-07 | 武汉斗鱼网络科技有限公司 | 一种倒计时动画位置的计算方法及装置 |
CN109064538B (zh) * | 2018-08-01 | 2023-05-12 | Oppo广东移动通信有限公司 | 视图渲染方法、装置、存储介质及智能终端 |
CN109358830B (zh) * | 2018-09-20 | 2022-04-22 | 京东方科技集团股份有限公司 | 消除ar/vr画面撕裂的双屏显示方法及ar/vr显示设备 |
CN109242944B (zh) * | 2018-09-28 | 2023-08-11 | 京东方科技集团股份有限公司 | 一种显示方法和装置 |
WO2020062069A1 (en) * | 2018-09-28 | 2020-04-02 | Qualcomm Incorporated | Frame composition alignment to target frame rate for janks reduction |
CN109727304B (zh) * | 2018-12-27 | 2022-09-09 | 北京恒泰实达科技股份有限公司 | 一种实现二维场景与三维场景实时互相嵌入的方法 |
CN110175062B (zh) * | 2019-05-20 | 2023-11-14 | 努比亚技术有限公司 | 一种移动终端的屏幕刷新帧率方法、移动终端及存储介质 |
CN110751711B (zh) * | 2019-09-03 | 2023-06-30 | 南京睿悦信息技术有限公司 | 应用于移动端虚拟/增强现实的远程扩展渲染系统 |
CN111179397B (zh) * | 2019-12-16 | 2022-06-28 | 广东省科学院广州地理研究所 | 一种基于限时绘制的vr虚拟地球眩晕减缓方法 |
CN111190560B (zh) * | 2019-12-24 | 2022-09-06 | 青岛小鸟看看科技有限公司 | 获取硬件垂直同步信号的方法、装置、设备及存储介质 |
CN111954067B (zh) * | 2020-09-01 | 2022-10-04 | 杭州视洞科技有限公司 | 一种提高视频渲染效率与用户交互流畅度的方法 |
CN114327103B (zh) * | 2020-09-25 | 2023-04-28 | 福建天泉教育科技有限公司 | 一种触屏延时优化方法及终端 |
CN112114767A (zh) * | 2020-10-26 | 2020-12-22 | 努比亚技术有限公司 | 一种投屏帧率控制方法、设备及计算机可读存储介质 |
CN112230776A (zh) * | 2020-10-29 | 2021-01-15 | 北京京东方光电科技有限公司 | 虚拟现实显示方法、装置及存储介质 |
CN112532606A (zh) * | 2020-11-24 | 2021-03-19 | 扆亮海 | 基于消息类型改良的Time Warp网游同步方法 |
CN112422873B (zh) * | 2020-11-30 | 2022-09-16 | Oppo(重庆)智能科技有限公司 | 插帧方法、装置、电子设备及存储介质 |
CN113473105A (zh) * | 2021-06-01 | 2021-10-01 | 青岛小鸟看看科技有限公司 | 图像同步方法、图像显示及处理设备、及图像同步系统 |
CN113660494A (zh) * | 2021-07-19 | 2021-11-16 | 惠州Tcl云创科技有限公司 | 一种帧率稳定输出方法、系统及智能终端 |
CN113485544A (zh) * | 2021-07-20 | 2021-10-08 | 歌尔光学科技有限公司 | 增强现实设备的帧率调整方法、系统、设备及存储介质 |
CN113750527B (zh) * | 2021-09-10 | 2023-09-01 | 福建天晴数码有限公司 | 一种高准确度的帧率控制方法及其系统 |
CN115660940B (zh) * | 2022-11-11 | 2023-04-28 | 北京麟卓信息科技有限公司 | 一种基于垂直消隐模拟的图形应用帧率同步方法 |
CN117130771A (zh) * | 2023-03-30 | 2023-11-28 | 荣耀终端有限公司 | 一种资源调度方法、电子设备及存储介质 |
CN116778079B (zh) * | 2023-05-26 | 2024-05-17 | 上海兴岩信息科技有限公司 | 一种三维可视化生产管理方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1845177A (zh) * | 2006-05-17 | 2006-10-11 | 浙江大学 | 基于图像传输的三维远程渲染系统及其方法 |
CN105847785A (zh) * | 2016-05-09 | 2016-08-10 | 上海乐相科技有限公司 | 一种图像处理方法、设备和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7973786B2 (en) * | 2007-01-16 | 2011-07-05 | Motorola Solutions, Inc. | System and method for managing interaction in a virtual environment |
-
2016
- 2016-08-12 CN CN201610666409.6A patent/CN106296566B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1845177A (zh) * | 2006-05-17 | 2006-10-11 | 浙江大学 | 基于图像传输的三维远程渲染系统及其方法 |
CN105847785A (zh) * | 2016-05-09 | 2016-08-10 | 上海乐相科技有限公司 | 一种图像处理方法、设备和系统 |
Non-Patent Citations (3)
Title |
---|
Two-step Prediction and Image Deflection for Exact Head Tracking in Virtual Environments;Tomasz Mazuryk等;《Computer Graphics Forum》;19951231;第14卷(第3期);第29-41页 |
虚拟现实关键技术分析及其应用综述;万波;《高等函授学报》;20000430;第13卷(第2期);52-54 |
虚拟现实关键技术及应用综述;郑轲 等;《通讯世界》;20160331;第52-54页 |
Also Published As
Publication number | Publication date |
---|---|
CN106296566A (zh) | 2017-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106296566B (zh) | 一种虚拟现实移动端动态时间帧补偿渲染系统及方法 | |
JP7442608B2 (ja) | 仮想現実および拡張現実ディスプレイシステムのための連続時間ワーピングおよび両眼時間ワーピングおよび方法 | |
CN109920040B (zh) | 显示场景处理方法和装置、存储介质 | |
US10401952B2 (en) | Reducing rendering computation and power consumption by detecting saccades and blinks | |
US10712817B1 (en) | Image re-projection for foveated rendering | |
CN108921951A (zh) | 虚拟现实图像显示方法及其装置、虚拟现实设备 | |
US8754904B2 (en) | Virtualization method of vertical-synchronization in graphics systems | |
CN103049257B (zh) | 一种开机显示动画的方法及电子设备 | |
US11321816B2 (en) | Systems and methods for frame time smoothing based on modified animation advancement and use of post render queues | |
CN108241213A (zh) | 头戴式显示器及其控制方法 | |
CN109887065B (zh) | 图像渲染方法及其装置 | |
WO2022089046A1 (zh) | 虚拟现实显示方法、装置及存储介质 | |
CN108604385A (zh) | 一种应用界面显示方法及装置 | |
WO2020003860A1 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2018041331A (ja) | 画像処理システム、画像処理方法およびコンピュータプログラム | |
CN108241211B (zh) | 一种头戴显示设备及图像渲染方法 | |
WO2023005042A1 (zh) | 图像渲染方法、装置、设备及计算机可读存储介质 | |
CN112470464B (zh) | 场顺序显示器中的场内子码时序 | |
US11810524B2 (en) | Virtual reality display device and control method thereof | |
US20240020913A1 (en) | Image processing method, image processing device and computer readable storage medium | |
MXPA02005310A (es) | Sistema de procesamiento de datos, programa de computadora y medio de registro. | |
WO2023000598A1 (zh) | 增强现实设备的帧率调整方法、系统、设备及存储介质 | |
US10209523B1 (en) | Apparatus, system, and method for blur reduction for head-mounted displays | |
JPWO2020150191A5 (zh) | ||
CN109874003A (zh) | Vr显示控制方法、vr显示控制装置和显示装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |