场景渲染方法、装置以及设备与流程

文档序号:17931888发布日期:2019-06-15 00:57阅读:155来源:国知局
场景渲染方法、装置以及设备与流程
本发明涉及虚拟现实(virtualreality,vr)/增强现实(augmentedreality,ar)图形渲染
技术领域
,尤其涉及一种场景渲染方法、装置以及设备。
背景技术
:随着vr/ar设备的逐渐普及,用户对于其能够带来的体验感受(包括图像的低时延、高帧率、高画质)也有越来越高的要求。现有技术中,为了提供高沉浸感的图像呈现,需要以极高的分辨率呈现图像,其对渲染引擎和数据传输过程对图形处理器(graphicsprocessingunit,gpu)的运算能力有很高的要求,如图1所示,为常规的场景渲染方式,通过惯性测量单元(inertialmeasurementunit,imu)获得原始数据,通过姿态解算(sensorfusion)追踪设备姿态,将姿态传给场景,渲染出图像,再将图像传到屏幕显示。然而,在用户使用vr头盔进行场景的快速浏览时,例如快速转动头部、移动位置时,此时实时渲染的场景需要快速进行变化,而增加渲染场景的运算复杂性会使计算量超过负荷,从而容易由于计算性能的差异导致画面的抖动甚至撕裂,进而造成用户体验较差的问题。技术实现要素:本发明提供一种场景渲染方法、装置以及设备,用于实现场景快速浏览时,提供符合人眼感知的高质量vr/ar内容,以提高用户体验。本发明第一方面提供一种场景渲染方法,应用于智能设备,所述方法包括:获取所述智能设备当前的第一运动状态,所述第一运动状态用于表示所述智能设备当前的运动的位置和/或速度;确定与所述第一运动状态对应的第一渲染参数;根据所述第一渲染参数进行场景渲染。在一种具体的实现方式中,所述获取所述智能设备当前的第一运动状态,包括:根据设置在所述智能设备中的惯性传感器获取所述智能设备当前的所述第一运动状态;或者,根据设置在所述智能设备中的惯性传感器以及位置追踪装置,获取所述智能设备当前的所述第一运动状态;其中,所述惯性传感器包括以下至少一种:陀螺仪、加速度计以及磁力计。在一种具体的实现方式中,所述根据设置在所述智能设备中的惯性传感器获取所述智能设备当前的所述第一运动状态,包括:根据所述惯性传感器获取所述智能设备当前的第一运动速度;根据所述第一运动速度以及预先设置的运动速度与运动状态的对应关系,确定所述第一运动状态;其中,所述第一运动速度包括角速度和/或线速度;或者,根据所述惯性传感器获取所述智能设备当前的第一运动速度;根据所述位置追踪装置获取所述智能设备当前的第一位置数据;根据所述第一运动速度、所述第一位置数据,以及预先设置的运动速度、位置数据与运动状态的对应关系,确定所述第一运动状态;其中,所述第一运动速度包括角速度和/或线速度。在一种具体的实现方式中,所述确定与所述第一运动状态对应的第一渲染参数,包括:根据所述第一运动状态获取模型简化级别;根据所述模型简化级别对渲染模型进行简化处理,得到处理后的第一渲染模型,所述第一渲染参数包括所述模型简化级别。在一种具体的实现方式中,所述根据所述第一渲染参数进行场景渲染,包括:根据所述第一渲染模型进行场景渲染。本发明第二方面提供一种场景渲染装置,所述装置包括:获取模块,用于获取所述智能设备当前的第一运动状态,所述第一运动状态用于表示所述智能设备当前的运动的位置和/或速度;处理模块,用于确定与所述第一运动状态对应的第一渲染参数;所述处理模块还用于根据所述第一渲染参数进行场景渲染。在一种具体的实现方式中,所述获取模块具体用于:根据设置在所述智能设备中的惯性传感器获取所述智能设备当前的所述第一运动状态;或者,根据设置在所述智能设备中的惯性传感器以及位置追踪装置,获取所述智能设备当前的所述第一运动状态;其中,所述惯性传感器包括以下至少一种:陀螺仪、加速度计以及磁力计。进一步地,所述获取模块具体用于:根据所述惯性传感器获取所述智能设备当前的第一运动速度;根据所述第一运动速度以及预先设置的运动速度与运动状态的对应关系,确定所述第一运动状态;其中,所述第一运动速度包括角速度和/或线速度;或者,根据所述惯性传感器获取所述智能设备当前的第一运动速度;根据所述位置追踪装置获取所述智能设备当前的第一位置数据;根据所述第一运动速度、所述第一位置数据,以及预先设置的运动速度、位置数据与运动状态的对应关系,确定所述第一运动状态;其中,所述第一运动速度包括角速度和/或线速度。在一种具体的实现方式中,所述处理模块具体用于:根据所述第一运动状态获取模型简化级别;根据所述模型简化级别对渲染模型进行简化处理,得到处理后的第一渲染模型,所述第一渲染参数包括所述模型简化级别。在一种具体的实现方式中,所述处理模块具体用于:根据所述第一渲染模型进行场景渲染。本发明第三方面提供一种智能设备,包括:处理器、存储器;所述存储器用于存储计算机程序和数据;所述处理器调用存储器存储的所述计算机程序和所述数据,以执行第一方面任一项所述的场景渲染方法。本发明实施例提供的一种场景渲染方法、装置以及设备,通过获取智能设备当前的用于表示所述智能设备当前的运动的位置和/或速度第一运动状态,确定与第一运动状态对应的第一渲染参数,并根据第一渲染参数进行场景渲染,实现了在用户进行场景的快速浏览时,提供符合人眼感知的高质量vr/ar图像内容,以提高用户体验。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为现有技术中常规的场景渲染方式的流程示意图;图2为本发明提供的场景渲染方法的流程示意框图;图3为本发明提供的场景渲染方法实施例一的流程示意图;图4为本发明提供的姿态角的示意图;图5为本发明提供的场景渲染方法实施例二的流程示意图;图6为本发明提供的场景渲染方法实施例三的流程示意图;图7为本发明提供的场景渲染方法实施例四的流程示意图;图8(a-c)为本发明提供的四边形细分着色器示意图;图9为本发明提供的场景渲染方法实施例五的流程示意图;图10为本发明提供的场景渲染装置的结构示意图;图11为本发明提供的智能设备的硬件结构示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本申请提供的场景渲染方法的执行主体为一种智能设备,该智能设备包括虚拟现实(virtualreality,vr)设备、增强现实(augmentedreality,ar)设备等,其具体可以为一种头戴vr/ar设备。在现有技术中,为了提供高沉浸感的图像呈现效果,不断提高智能设备的分辨率,然而在智能设备随着用户的快速移动的过程中,对高分辨率图像以及场景的渲染带来的超负荷的计算量,容易导致画面的抖动甚至撕裂,而在实际应用场景中,应考虑到,在头部的快速转动或者身体快速移动的过程中,人眼视觉通道并不能完全接受高分辨信息的特性,因此,本方案提供的一种场景渲染方法根据此特性,根据用户的运动状态对渲染参数进行实时的适应性的调整,从而降低渲染资源的占用,节省运算时间,减少图像延迟,进而提高用户体验。具体的,如图2所示,本方案的方法在如图1所示的常规方法的基础上,加入了运动状态的判断,并根据判断结果,调整渲染参数,在进行场景渲染、显示。本申请中涉及的多细节层次(levelsofdetail,lod)技术,在进行模型简化中会根据模型的重要程度来对重要的细节进行较高质量绘制,对不重要的细节进行较低质量的绘制,并在简化后能够充分保持模型的尖锐特征和模型的几何特征,通过适当的选择细节层次模型能在不丢失图形尖锐特征的条件下加速模型的实时绘制,提高系统运算能力,一般对图形对象重要性评判可根据:距离标准、尺寸标准、剔除标准等,而本专利中主要依靠位姿运动状态进行模型的简化。下面通过几个实施例,对本方案进行具体说明。图3为本发明提供的场景渲染方法实施例一的流程示意图。如图3所示,该场景渲染方法包括以下步骤:s101:获取智能设备当前的第一运动状态。智能设备可根据设置在智能设备中的惯性传感器(例如惯性测量单元(inertialmeasurementunit,imu))和/或位置追踪装置,获取智能设备当前的运动的位置和/或速度,并根据位置和/或速度,确定当前的运动状态为静止、慢速运动、快速运动、非常慢速运动、非常快速运动等。应理解,通过位置的变化大小和/或速度的大小,能够确定第一运动状态,其中,速度包括角速度、线速度、加速度等。应理解,第一运动状态用于表示该智能设备当前的运动的位置和/或速度,可选的,其具体可以是静止状态、慢速运动状态、快速运动状态、非常慢速运动状态、非常快速运动状态等。在一种具体的实现方式中,根据位置和/或速度,确定当前的运动状态,可根据预设置的阈值进行确定,例如,预设置的角速度第一阈值为0.002弧度/秒,第二阈值为4.0弧度/秒,当智能设备的当前角速度小于0.002弧度/秒时,第一运动状态为静止状态,当智能设备的当前角速度大于4.0弧度/秒时,第一运动状态为快速运动状态。s102:确定与第一运动状态对应的第一渲染参数。在智能设备中预先设置了运动状态与第一渲染参数的对应关系,根据步骤s101获取的智能设备当前的第一运动状态,确定第一运动状态对应的第一渲染参数,此处应理解,运动速度越快,则第一渲染参数所对应的渲染过程的计算速度越快,渲染结果越简单。此处的渲染参数可理解为进行场景渲染时采用的渲染公式、渲染模型中涉及的某个或某几个参数,也可理解为人为设置的对应于运动状态的参数。在一种具体的实现方式中,第一渲染参数包括与第一运动状态对应的模型简化级别,在智能设备中预先设置了运动状态与模型简化级别的对应关系,根据智能设备当前的第一运动状态,确定与第一运动状态对应的模型简化级别,运动速度越快,则对应的模型简化级别越高,对应的渲染过程的计算速度越快,渲染的结果越简单。可选的,预设置的运动状态与模型简化级别的对应关系,具体可以是如表1所示的对应关系,或者,可以是如表2所示的运动状态对应的角速度与模型简化级别的对应关系,或者,可以是位置数据与模型简化级别的对应关系。表1角速度模型简化级别w1k1w2k2w3k3w4k4......表2在本实施例中,应理解,第一渲染参数包括模型简化级别。智能设备根据第一运动状态获取对应的模型简化级别,并根据该模型简化级别对渲染模型进行简化处理,得到处理后的第一渲染模型。s103:根据第一渲染参数进行场景渲染。在一种具体的实现方式中,智能设备根据第一渲染参数获取的第一渲染模型进行场景渲染。具体的,可通过多细节层次(levelsofdetail,lod)技术根据模型简化级别对模型进行场景渲染。本实施例提供的场景渲染方法,通过获取智能设备当前的第一运动状态,确定该第一运动状态对应的第一渲染参数,并根据该第一渲染参数进行场景渲染,第一运动状态所表示的运动速度越慢或者静止时,通过对应的第一渲染参数渲染场景的运算过程就越复杂,以获取高质量的渲染效果,而第一运动状态所表示的运动速度越快时,通过对应的第一渲染参数渲染场景的运算过程就越简单,以提高渲染帧速,从而减小延迟,避免了运算量超负荷引起画面抖动甚至撕裂的情况,进而提高了用户体验。在本方案中,获取智能设备当前的第一运动状态包括以下两种方式:方式一:根据设置在智能设备中的惯性传感器imu获取所述智能设备当前的第一运动状态。惯性传感器至少包括陀螺仪、加速度计以及磁力计中的至少一种。具体的:(1)陀螺仪,可测得角速度,通过积分角速度即可得到姿态,但积分过程中会产生误差,随着时间的增加,误差会累积。(2)加速度计,可测得设备的加速度,其中包含重力信息,因此,可利用加速度计数据矫正与重力方向相关的姿态偏差,即利用加速度计可矫正翻滚角(roll)、俯仰角(pitch)的角度偏差,参见图4。(3)磁力计,由磁力计可计算得到偏航角(yaw),依此矫正姿态。方式一所述的方案具体包括如图5所示的流程,图5为本发明提供的场景渲染方法实施例二的流程示意图。具体步骤如下:s201:根据惯性传感器获取智能设备当前的第一运动速度。根据惯性传感器imu可获取智能设备当前的速度或者姿态,即智能设备当前第一运动速度。其中,速度包括角速度、线速度、加速度等。s202:根据第一运动速度以及预先设置的运动速度与运动状态的对应关系,确定第一运动状态。在智能设备中预设置了运动速度与运动状态的对应关系,根据第一运动速度在对应关系中确定与之对应的运动状态,该运动状态即为第一运动状态。或者,方式二:根据设置在智能设备中的惯性传感器以及位置追踪装置,获取智能设备当前的第一运动状态。具体的,可根据惯性传感器获取的速度或者姿态以及位置追踪装置获取的位置,获取智能设备当前的第一运动状态。其中,位置追踪装置用于追踪智能设备的位置,利用光学方法实现位置追踪,例如:htcvive的“lighthouse”追踪套件、oculus的“星座”追踪套件、psvr的追踪套件等。可选的,该位置追踪装置所追踪的方式可以为3自由度(dof)或者6dof。在一种具体的实现方式中,方式二所述的方案包括如图6所示的流程,图6为本发明提供的场景渲染方法实施例三的流程示意图。具体步骤如下:s301:根据惯性传感器获取智能设备当前的第一运动速度。s302:根据位置追踪装置获取智能设备当前的第一位置数据。在本步骤中,智能设备根据位置追踪装置获取智能设备当前的第一位置数据,该第一位置数据包括智能设备当前的位置、位移、移动轨迹等。s303:根据第一运动速度、第一位置数据,以及预先设置的运动速度、位置数据与运动状态的对应关系,确定第一运动状态。在智能设备中预设置了运动速度、位置数据与运动状态的对应关系,根据第一运动速度、第一位置数据在对应关系中确定与之对应的运动状态,该运动状态即为第一运动状态。图7为本发明提供的场景渲染方法实施例四的流程示意图。如图7所示,在一种具体的实现方式中,确定与第一运动状态对应的第一渲染参数,具体包括以下步骤:s401:根据第一运动状态获取模型简化级别。应理解,在智能设备中预设置有运动状态与模型简化级别的对应关系,包括角速度与模型简化级别的对应关系,位置数据与模型简化级别的对应关系等。根据获取的第一运动状态,或者第一运动状态对应的角速度、线速度、位置数据,确定与之对应的模型简化级别。s402:根据模型简化级别对渲染模型进行简化处理,得到处理后的第一渲染模型。根据模型简化级别对渲染模型进行简化处理,以达到对根据不同细节的重要程度进行不同质量标准的绘制,经过简化处理后得到第一渲染模型,第一渲染参数包括该模型简化级别。可选的,模型简化的算法包括:几何元素删除法、区域合并法、顶点聚类法等。本实施例提供的确定与第一运动状态对应的第一渲染参数的方法,根据第一运动状态获取模型简化级别,并根据模型简化级别对渲染模型进行简化处理,得到处理后的第一渲染模型,根据智能设备当前运动状态的不同,包括根据当前运动速度的快慢,确定对场景渲染的第一渲染参数,不同的渲染参数代表不同的渲染程度,当运动速度越快时,用户对于浏览的图像质量并不敏感,其对应的模型简化级别的简化程度就越高,则渲染参数对应的场景渲染的运算过程就越简单,本实施例实现了在快速浏览的过程中选取合适渲染参数。本方案提供的一种优选的模型简化算法为结合利用渲染管线中的曲面细分着色器(tessellationshader)进行lod机制的实现,具体如下:开放图形库(opengraphicslibrary,opengl)支持三种不同的细分域,四边形、三角形、或者等值线集合,这里选择四边形作为细分类型示例,主要有以下6个相关细分参数:通过控制不同系数,产生不同的效果,以上六个参数分别控制四边形外部的左侧、下侧、右侧的细分参数以及四边形内部垂向、横向细分参数。通过视点距离d作为细分系数的计算标准。图8(a-c)为四边形细分着色器示意图。通过对不同的速度级别建立细分因数,分别对以上6个参数进行级别修改:gl_tesslevelouter[i]=λ0﹡tgl_tesslevelinner[i]=α0﹡t其中λ0、α0分别代表初始细分参数,t为根据速度进行调整的参数,对细分参数进行调整。图9为本发明提供的场景渲染方法实施例五的流程示意图。如图9所示,在上述实施例的基础上,获取智能设备当前的第一运动状态,还包括:姿态预测和/或位置预测。1、姿态预测:根据惯性传感器获取的智能设备当前的第一运动速度确定预测姿态。2、位置预测:根据位置追踪装置获取的智能设备当前的第一位置数据,确定预测位置。具体的,根据位置s0、速度v0、加速度a、预测时间t,可预测位置st。具体预测方式有多种,例如可用如下两种公式计算:s0+v0×t=st或者1)预测计算有多种方式,以上公式仅为举例,不作限定。2)对于位置,可以通过历史信息进行优化(平滑,去掉抖动),例如最近的3个历史位置取平均,作为当前位置,再用于预测。此处优化方式可有不同,不作限制。图10为本发明提供的场景渲染装置的结构示意图,如图10所示,该场景渲染装置10包括:获取模块101:用于获取所述智能设备当前的第一运动状态,所述第一运动状态用于表示所述智能设备当前的运动的位置和/或速度;处理模块102:用于确定与所述第一运动状态对应的第一渲染参数;所述处理模块102还用于根据所述第一渲染参数进行场景渲染。本实施例提供的场景渲染装置包括:获取模块和处理模块,通过获取智能设备当前的第一运动状态,确定该第一运动状态对应的第一渲染参数,并根据该第一渲染参数进行场景渲染,第一运动状态所表示的运动速度越慢或者静止时,通过对应的第一渲染参数渲染场景的运算过程就越复杂,以获取高质量的渲染效果,而第一运动状态所表示的运动速度越快时,通过对应的第一渲染参数渲染场景的运算过程就越简单,以提高渲染帧速,从而减小延迟,避免了运算量超负荷引起画面抖动甚至撕裂的情况,进而提高了用户体验。在一种具体的实现方式中,所述获取模块101具体用于:根据设置在所述智能设备中的惯性传感器获取所述智能设备当前的所述第一运动状态;或者,根据设置在所述智能设备中的惯性传感器以及位置追踪装置,获取所述智能设备当前的所述第一运动状态;其中,所述惯性传感器包括以下至少一种:陀螺仪、加速度计以及磁力计。在一种具体的实现方式中,获取模块101具体用于:根据所述惯性传感器获取所述智能设备当前的第一运动速度;根据所述第一运动速度以及预先设置的运动速度与运动状态的对应关系,确定所述第一运动状态;其中,所述第一运动速度包括角速度和/或线速度。在一种具体的实现方式中,获取模块101具体用于:根据所述惯性传感器获取所述智能设备当前的第一运动速度;根据所述位置追踪装置获取所述智能设备当前的第一位置数据;根据所述第一运动速度、所述第一位置数据,以及预先设置的运动速度、位置数据与运动状态的对应关系,确定所述第一运动状态;其中,所述第一运动速度包括角速度和/或线速度。在一种具体的实现方式中,处理模块102具体用于:根据所述第一运动状态获取模型简化级别;根据所述模型简化级别对渲染模型进行简化处理,得到处理后的第一渲染模型,所述第一渲染参数包括所述模型简化级别。在一种具体的实现方式中,处理模块102具体用于:根据所述第一渲染模型进行场景渲染。本实施例提供的场景渲染装置用于执行前述任一方法实施例中涉及的技术方案,其实现原理和技术效果类似,在此不再赘述。图11为本发明提供的智能设备的硬件结构示意图,如图11所示,该智能设备100,包括:处理器111、存储器112;所述存储器112用于存储计算机程序和数据;所述处理器111调用所述存储器112存储的所述计算机程序和所述数据,以执行前述任一项方法实施例所述的场景渲染方法。在上述智能设备的实现中,存储器和处理器之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可以通过一条或者多条通信总线或信号线实现电性连接,如可以通过总线连接。存储器中存储有实现数据访问控制方法的计算机执行指令,包括至少一个可以软件或固件的形式存储于存储器中的软件功能模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可以是,但不限于,随机存取存储器(randomaccessmemory,简称:ram),只读存储器(readonlymemory,简称:rom),可编程只读存储器(programmableread-onlymemory,简称:prom),可擦除只读存储器(erasableprogrammableread-onlymemory,简称:eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,简称:eeprom)等。其中,存储器用于存储程序,处理器在接收到执行指令后,执行程序。进一步地,上述存储器内的软件程序以及模块还可包括操作系统,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通信,从而提供其他软件组件的运行环境。处理器可以是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称:cpu)、网络处理器(networkprocessor,简称:np)等。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质包括程序,所述程序在被处理器执行时用于实现任一方法实施例中的场景渲染方法。本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1