头显设备的显示校正方法、设备及存储介质与流程

文档序号:23146405发布日期:2020-12-01 13:26阅读:120来源:国知局
头显设备的显示校正方法、设备及存储介质与流程

本发明涉及虚拟现实技术领域,尤其涉及一种头显设备的显示校正方法、设备及存储介质。



背景技术:

虚拟现实设备,简称vr设备,是利用仿真技术、计算机图形学、人机接口技术、多媒体技术、传感技术以及网络技术等多种技术集合的产品,是借助计算机及最新传感器技术创造的一种崭新的人机交互手段。其具体技术内涵是一种综合利用计算机图形系统和各种现实及控制等接口设备,在计算机上生成的可交互的三维环境中提供沉浸感觉的技术。

虚拟现实设备包括头显设备,现有技术中,头显设备一般通过惯性传感器计算玩家的朝向,当设备通电时,其内部会使用当前朝向作为设备的初始朝向,头显设备中的显示画面根据惯性传感器计算的玩家的朝向进行调整,然而,惯性传感器在计算玩家的朝向时存在误差,且该误差会随着时间的累积而累积,若不进行校正,头显设备的显示画面会出现偏差,导致用户在体验虚拟现实设备的过程中无法正常游戏。



技术实现要素:

本发明的主要目的在于解决现有技术中,vr设备通过惯性传感器进行显示调整的方式,其误差会随着时间的累积逐渐增大,导致调整精准较低的技术问题。

本发明第一方面提供了一种头显设备的显示校正方法,所述头显设备至少包括刚体和惯性传感器,所述头显设备的显示校正方法包括:

获取所述头显设备上刚体的刚体数据,其中,所述刚体数据包括所述刚体的当前位置信息和当前姿态信息;

根据所述当前姿态信息计算出所述头显设备的第一偏航角;

获取所述头显设备上惯性传感器计算得到的第二偏航角;

判断所述第一偏航角和所述第二偏航角是否满足校正条件;

若满足,则根据所述第一偏航角和所述第二偏航角,以及预设的刚体和惯性传感器数据之间的差异比,计算所述头显设备的显示校正参数;

根据所述显示校正参数和所述刚体的当前位置信息,对所述头显设备的当前显示画面进行校正。

可选的,在本发明第一方面的第一种实现方式中,所述刚体设置有动捕标记点,在获取所述头显设备上刚体的刚体数据之前,还包括:

设置动捕坐标系,并获取所述刚体上的n个动捕标记点在所述动捕坐标系中的初始坐标位置,其中,所述n为不小于2的自然数;

根据n个所述动捕标记点的初始坐标信息,计算n个所述动捕标记点的初始重心位置,并将所述初始重心位置的坐标信息作为所述刚体的初始位置信息;

将所述初始重心位置朝向所述动捕标记点中的第一标记点的方向作为所述刚体的初始姿态信息,并获取所述初始重心位置朝向所述动捕标记点中的第一标记点的方向的单位向量为第一向量。

可选的,在本发明第一方面的第二种实现方式中,所述获取所述头显设备上刚体的刚体数据包括:

获取当前所述刚体上的n个动捕标记点在所述动捕坐标系中的当前坐标位置;

根据所述n个所述动捕标记点的当前坐标信息,计算n个所述动捕标记点的当前重心位置,并将所述当前重心位置的坐标信息作为所述刚体的当前位置信息;

将所述当前重心位置朝向所述动捕标记点中的第一标记点的方向作为所述刚体的当前姿态信息。

可选的,在本发明第一方面的第三种实现方式中,所述根据所述当前姿态信息计算出所述头显设备的第一偏航角包括:

根据所述当前姿态信息,获得所述当前重心位置朝向所述动捕标记点中的第一标记点的方向的单位向量作为第二向量

计算所述第一向量和所述第二向量的点积,得到所述第一向量和所述第二向量的点积值;

计算所述点积值的反余弦函数,所述头显设备的第一偏航角。

可选的,在本发明第一方面的第四种实现方式中,所述判断所述第一偏航角和所述第二偏航角是否满足校正条件包括:

将所述第一偏航角和所述第二偏航角进行差值运算,得到显示误差值;

判断所述显示误差值是否大于预设阈值;

若所述显示误差值大于预设阈值,则确定所述第一偏航角和所述第二偏航角满足校正条件。

可选的,在本发明第一方面的第五种实现方式中,所述根据所述第一偏航角和所述第二偏航角,以及预设的刚体和惯性传感器数据之间的差异比,计算所述头显设备的显示校正参数包括:

当获取到所述头显设备上刚体的刚体数据时,修改预设位置重置函数,得到目标位置校准函数;

将所述第一偏航角所述第二偏航角和预设的刚体和惯性传感器数据之间的差异比输入所述目标位置校准函数,确定显示校正参数。

可选的,在本发明第一方面的第六种实现方式中,所述根据所述显示校正参数和所述刚体的位置信息,对所述头显设备的当前的显示画面进行校正包括:

根据所述显示校正参数进行所述头显设备的当前的显示画面的水平角度的校正;

根据所述刚体的初始位置信息和当前位置信息进行所述头显设备的当前的显示画面的水平位置的校正。

本发明第二方面提供了一种头显设备,包括:

获取模块,用于获取所述头显设备上刚体的刚体数据,其中,所述刚体数据包括所述刚体的当前位置信息和当前姿态信息;

第一偏航角计算模块,用于根据所述当前姿态信息计算出所述头显设备的第一偏航角;

第二偏航角计算模块,用于获取所述头显设备上惯性传感器计算得到的第二偏航角;

判断模块,用于判断所述第一偏航角和所述第二偏航角是否满足校正条件;

参数计算模块,用于当满足校正条件时,根据所述第一偏航角和所述第二偏航角,以及预设的刚体和惯性传感器数据之间的差异比,计算所述头显设备的显示校正参数;

校正模块,用于根据所述显示校正参数和所述刚体的当前位置信息,对所述头显设备的当前显示画面进行校正。

可选的,在本发明第二方面的第一种实现方式中,所述头显设备还包括初始设置模块,所述初始设置模块具体用于:

设置动捕坐标系,并获取所述刚体上的n个动捕标记点在所述动捕坐标系中的初始坐标位置,其中,所述n为不小于2的自然数;

根据n个所述动捕标记点的初始坐标信息,计算n个所述动捕标记点的初始重心位置,并将所述初始重心位置的坐标信息作为所述刚体的初始位置信息;

将所述初始重心位置朝向所述动捕标记点中的第一标记点的方向作为所述刚体的初始姿态信息,并获取所述初始重心位置朝向所述动捕标记点中的第一标记点的方向的单位向量为第一向量。

可选的,在本发明第二方面的第二种实现方式中,所述获取模块包括:

坐标获取单元,用于获取当前所述刚体上的n个动捕标记点在所述动捕坐标系中的当前坐标位置;

重心计算单元,用于根据所述n个所述动捕标记点的当前坐标信息,计算n个所述动捕标记点的当前重心位置,并将所述当前重心位置的坐标信息作为所述刚体的当前位置信息;

姿态设定单元,用于将所述当前重心位置朝向所述动捕标记点中的第一标记点的方向作为所述刚体的当前姿态信息。

可选的,在本发明第二方面的第三种实现方式中,所述第一偏航角计算模块具体用于:

根据所述当前姿态信息,获得所述当前重心位置朝向所述动捕标记点中的第一标记点的方向的单位向量作为第二向量

计算所述第一向量和所述第二向量的点积,得到所述第一向量和所述第二向量的点积值;

计算所述点积值的反余弦函数,所述头显设备的第一偏航角。

可选的,在本发明第二方面的第四种实现方式中,所述判断模块具体用于:

将所述第一偏航角和所述第二偏航角进行差值运算,得到显示误差值;

判断所述显示误差值是否大于预设阈值;

若所述显示误差值大于预设阈值,则确定所述第一偏航角和所述第二偏航角满足校正条件。

可选的,在本发明第二方面的第五种实现方式中,所述参数计算模块具体用于:

当获取到所述头显设备上刚体的刚体数据时,修改预设位置重置函数,得到目标位置校准函数;

将所述第一偏航角所述第二偏航角和预设的刚体和惯性传感器数据之间的差异比输入所述目标位置校准函数,确定显示校正参数。

可选的,在本发明第二方面的第六种实现方式中,所述校正模块具体用于:

根据所述显示校正参数进行所述头显设备的当前的显示画面的水平角度的校正;

根据所述刚体的初始位置信息和当前位置信息进行所述头显设备的当前的显示画面的水平位置的校正。

本发明第三方面提供了一种头显设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述头显设备执行上述的头显设备的显示校正方法。

本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的头显设备的显示校正方法。

本发明的技术方案中,通过实时获取所述头显设备的刚体数据,其中,所述头显设备上设置有刚体,所述刚体数据包括所述刚体的位置信息和姿态信息;将所述姿态信息输入至预置的定位系统中,通过所述定位系统计算所述头显设备的第一偏航角;获取所述头显设备的旋转信息,根据所述旋转信息计算所述头显设备的第二偏航角;根据所述第一偏航角和所述第二偏航角计算所述头显设备的显示校正参数;根据所述显示校正参数和所述刚体的位置信息,对所述头显设备的当前的显示画面进行校正。本发明通过在头显设备上设置有刚体,通过动捕系统获取刚体的信息,同时与头显设备的信息进行比,辅助进行显示画面的校正,避免虚拟现实模拟过程中动捕系统与头显系统不同步导致显示画面错误的情况出现。

附图说明

图1为本发明实施例中头显设备的显示校正方法的第一个实施例示意图;

图2为本发明实施例中头显设备的显示校正方法的第二个实施例示意图;

图3为本发明实施例中头显设备的显示校正方法的第三个实施例示意图;

图4为本发明实施例中头显设备的显示校正方法的第四个实施例示意图;

图5为本发明实施例中头显设备的显示校正方法的第五个实施例示意图;

图6为本发明实施例中头显设备的第一个实施例示意图;

图7为本发明实施例中头显设备的第二个实施例示意图;

图8为本发明实施例中头显设备的第三个实施例示意图;

图9为本发明实施例中头显设备的佩戴示意图。

具体实施方式

本发明实施例提供了一种头显设备的显示校正方法、设备及存储介质,本发明的技术方案中,所述头显设备至少包括刚体和惯性传感器,所述刚体设置有动捕标记点,通过获取所述头显设备上刚体的刚体数据,其中,所述刚体数据包括所述刚体的当前位置信息和当前姿态信息;根据所述当前姿态信息计算出所述头显设备的第一偏航角;获取所述头显设备上惯性传感器计算得到的第二偏航角;判断所述第一偏航角和所述第二偏航角是否满足校正条件;若满足,则根据所述第一偏航角和所述第二偏航角,以及预设的刚体和惯性传感器数据之间的差异比,计算所述头显设备的显示校正参数;根据所述显示校正参数和所述刚体的当前位置信息,对所述头显设备的当前显示画面进行校正。本发明通过在头显设备上设置有刚体,通过动捕系统获取刚体的信息,同时与头显设备的信息进行比,辅助进行显示画面的校正,避免虚拟现实模拟过程中头显设备上惯性传感器的误差累积导致显示画面错误的情况出现。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中头显设备的显示校正方法的第一个实施例包括:

101、获取头显设备上刚体的刚体数据,其中,刚体数据包括刚体的当前位置信息和当前姿态信息;

可以理解的是,本发明的执行主体可以为头显设备,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。

在实际应用中,用户在进行虚拟现实模拟游戏的过程中,需要佩戴头显设备,所述头显设备能够向用户的眼睛发送光学信号,通过一组光学系统(主要是精密光学透镜)放大超微显示屏上的图像,将影像投射于视网膜上,进而呈现于用户眼中大屏幕图像,使得用户真实体验“身临其境”的感觉。

在实际应用中,一般使用惯性传感器计算头显设备的朝向角度等信息,并根据这些对头显设备的显示画面进行更新,但是应用在头显设备的惯性传感器的精度较低,会产生误差,所以可以使用动捕系统对误差进行校正。

在本实施例中,所述头显设备上设置有刚体,在实际应用中,所述刚体是指在运动中和受力作用后,形状和大小不变,而且内部各点的相对位置不变的物体,绝对刚体实际上是不存在的,只是一种理想模型,因为任何物体在受力作用后,都或多或少地变形,如果变形的程度相对于物体本身几何尺寸来说极为微小,在研究物体运动时变形就可以忽略不计,可以将该物体视为刚体,在本实施例中,头显设备上能够设置刚体时由于用户在佩戴头显设备进行游戏的过程中,头显设备的形变基本可以忽略不计,刚体上设置有若干个动捕标记点,通过动捕系统获取每个动捕标记点的信息,进而推导出刚体在各个时间点的信息。

在本实施例中,动捕系统捕捉的主要是头显设备上的刚体上的标记点的信息,进而推导出刚体的信息,刚体的信息即为刚体数据,动捕信息包括刚体的位置信息和姿态信息,其中,姿态信息表示当前刚体的朝向,可以在头显设备上的正前方设置一个标记点,并连接该标记点与所有标记点获得的中心点,从中心点到该标记点的方向就是当前刚体的朝向。

102、根据当前姿态信息计算出头显设备的第一偏航角;

在本实施例中,设置有动捕坐标系,所述动捕坐标系是由动作捕捉设备进行设置的,在本实施例中,还设置有世界坐标系,所述坐标坐标系为绝对坐标系,在没有建立动捕坐标系前,画面上的所有点的坐标都是以世界坐标系的原点进行确定的,动捕坐标系设置与世界坐标系相同,世界坐标系是绝对坐标系。

在本实施例中,头显设备确定用户在空间中的位置可以通过动捕系统对刚体的捕捉进行调整,确定用户在空间中的方向需要三个角度,如图9所示,分别为围绕y轴旋转的偏航角yaw、围绕x轴旋转的俯仰角pitch和围绕z轴旋转的翻滚角roll,其中,偏航角是偏离目标方向(沿oy坐标轴)的角度,偏航角值是重置当前头显设备所处的水平旋转(即偏航角)数值,由于头显设备的俯仰角和翻滚角是用重力感应校正的,所以这两个角的旋转是永远正确默认的(永远以地心引力为准),由于偏航角无法用重力感应校正,所以在校准时,只需要对偏航角进行校准即可。

在本实施例中,在用户开始佩戴头显设备,按动头显设备的开关后,将开机瞬间的头显设备的朝向设置为初始姿态信息,在后续获取到刚体的朝向,也就是姿态信息后,计算初始状态信息和刚体当前姿态信息的夹角,即为当前头显设备的第一偏航角。

103、获取头显设备上惯性传感器计算得到的第二偏航角;

在本实施例中,除了动作捕捉系统进行头显设备偏航角的捕捉计算外,在进行游戏的过程中,头显设备本身的惯性传感器也会计算实时计算偏航角,但是惯性传感器计算的偏航角叫会存在误差,通过动捕系统得到的偏航角和惯性传感器的偏航角综合计算得到校正参数,根据校正参数进行显示画面的校正。

在本实施例中,还预先设置了一个头显设备的坐标系,该坐标系是头显设备上的惯性传感器设置的,在初始时,可以将头显设备的坐标系原点与动捕系统设置的坐标系原点设置的同一原点。

104、判断第一偏航角和第二偏航角是否满足校正条件;

在本实施例中,由于误差是不断累积的,为了节约服务器的计算成本,可以在误差接近影响用户体验时,再进行校正,例如在获得第一偏航角和第二偏航角后,对第一偏航角和第二偏航角进行差值计算,当差值到达一定的数值时,则进行校正,进一步地,也可以设置定时器,定期发送校正请求,服务器接收到校正请求后,再根据第一偏航角和第二偏航角进行计算,进一步地,也可以是用户通过按动头显设备上设置的校准按钮,触发信号生成的,或者是用户在游戏中点击虚拟的校准按钮触发生成的。

105、若满足,则根据第一偏航角和第二偏航角,以及预设的刚体和惯性传感器数据之间的差异比,计算头显设备的显示校正参数;

在本实施例中,头显设备基于第一偏航角的角度信息和第二偏航角的角度信息确定显示校正参数,显示校正参数用于对头显设备的显示画面进行校准,使得头显设备的显示画面可以和用户的动作保持一致。其中,头显设备通过第一偏航角的角度信息和第二偏航角的角度信息确定显示校正参数的方法可以有多种方式,例如通过预设的校正函数进行计算,或者简单计算第一偏航角和第二偏航角之间的差值,并将差值作为显示校正参数,此处不做限制。

106、根据显示校正参数和刚体的当前位置信息,对头显设备的当前显示画面进行校正。

在本实施例中,头显设备除了通过显示校正参数进行水平方向上旋转角度的校正外,还可以通过动捕系统捕捉到的刚体的位置信息,进行头显设备在空间上位置的调整。

本发明实施例中,所述头显设备至少包括刚体和惯性传感器,所述刚体设置有动捕标记点,通过获取所述头显设备上刚体的刚体数据,其中,所述刚体数据包括所述刚体的当前位置信息和当前姿态信息;根据所述当前姿态信息计算出所述头显设备的第一偏航角;获取所述头显设备上惯性传感器计算得到的第二偏航角;判断所述第一偏航角和所述第二偏航角是否满足校正条件;若满足,则根据所述第一偏航角和所述第二偏航角,以及预设的刚体和惯性传感器数据之间的差异比,计算所述头显设备的显示校正参数;根据所述显示校正参数和所述刚体的当前位置信息,对所述头显设备的当前显示画面进行校正。本发明通过在头显设备上设置有刚体,通过动捕系统获取刚体的信息,同时与头显设备的信息进行比,辅助进行显示画面的校正,避免虚拟现实模拟过程中头显设备上惯性传感器的误差累积导致显示画面错误的情况出现。

请参阅图2,本发明实施例中头显设备的显示校正方法的第二个实施例包括:

201、设置动捕坐标系,并获取刚体上的n个动捕标记点在动捕坐标系中的初始坐标位置;

在本实施例中,所述头显设备上设置有刚体,在一个刚体上设置有多个动捕标记点,通过动捕标记点能够标识一个刚体的位置,一般设置不少于4个,在本发明中不作限定;由于头显设备作为刚体在进行游戏的过程中虽然会有位置上的移动,但是本身的形变基本可以忽略不计,所以动捕标记点之间的相对位置基本保持不变,通过动捕标记点即可标识一个刚体。在头显设备启动时,将刚体上各动捕标记点的位置作为初始位置,并且获取各动捕标记点在初始时在动捕坐标系上的位置坐标信息。

202、根据n个动捕标记点的初始坐标信息,计算n个动捕标记点的初始重心位置,并将初始重心位置的坐标信息作为刚体的初始位置信息;

在本实施例中,头显设备上设置有多个动捕标记点,每个动捕标记点与邻近的动捕标记点相连,可以构成一个多边形,多边形的重心为该多边形的几何中心,根据多边形在空间坐标系中计算重心的计算公式能够计算出多边形重心的位置信息,本实施例以存在三个动捕标记点为例,设动捕标记点分别为a(x1,y1,z1)、b(x2,y2,z2)、c(x3,y3,z3),设重心为g(x,y,z),根据向量ga+向量gb+向量gc=零向量的原理,求解出x,y,z,即可得到重心g的位置信息。

203、将初始重心位置朝向动捕标记点中的第一标记点的方向作为刚体的初始姿态信息,并获取初始重心位置朝向动捕标记点中的第一标记点的方向的单位向量为第一向量;

在本实施例中,需要设置初始朝向,可以将刚体上的某个标记点设置为第一标记点,在实际应用中,多在头显设备正前方设置动捕标记点,并将该标记点作为第一标记点,这是因为头显设备的正前方一般就是用户进行游戏时头的朝向,将前步骤获得的中心位置朝向初始时的第一标记点的方向设置为刚体的初始朝向,也就是初始姿态信息。

204、获取头显设备上刚体的刚体数据,其中,刚体数据包括刚体的当前位置信息和当前姿态信息;

205、根据当前姿态信息,获得当前重心位置朝向动捕标记点中的第一标记点的方向的单位向量作为第二向量;

在本实施例中,设置第一向量和第二向量是为了计算初始姿态信息代表的朝向和当前姿态信息代表的朝向之间的夹角,两个向量都为单位向量,计算通过中心位置和第一标记点的位置坐标,能够计算出两向量的坐标表示形式,并根据两向量的坐标表示形式计算出两向量的点积值。

206、计算第一向量和第二向量的点积,得到第一向量和第二向量的点积值;

207、计算点积值的反余弦函数,得到头显设备的第一偏航角;

在实际应用中,两单位向量点积值的反余弦函数即为两向量的夹角,由于设置了初始朝向,所以计算出来的该夹角就是头显设备的第一偏航角。

208、获取头显设备上惯性传感器计算得到的第二偏航角;

209、判断第一偏航角和第二偏航角是否满足校正条件;

210、若满足,则根据第一偏航角和第二偏航角,以及预设的刚体和惯性传感器数据之间的差异比,计算头显设备的显示校正参数;

211、根据显示校正参数和刚体的当前位置信息,对头显设备的当前显示画面进行校正。

本实施例中的步骤208-211与第一实施例中的步骤103-106相似,此处不再赘述。

本发明实施例在上一实施例的基础上,详细描述了实时获取头显设备的刚体数据的过程,通过计算动捕标记点的当前位置和初始位置之间的距离值并根据所述距离值和动捕标记点的初始位置的初始坐标信息,计算动捕标记点的当前坐标信息;根据动捕标记点当前的坐标信息计算所述刚体的当前位置信息,将刚体的当前位置信息作为旋转中心,通过向量的方式计算刚体当前朝向和初始朝向之间的夹角,该夹角为刚体的姿态信息,根据所述姿态信息计算头显设备的第一偏航角,通过刚体的动捕标记点进行辅助计算的方式,能够方便快速的计算出头显设备的第一偏航角,根据第一偏航角能够计算出显示校正参数,进行显示画面的校正,避免虚拟现实模拟过程中动捕系统与头显系统不同步导致显示画面错误的情况出现。

请参阅图3,本发明实施例中头显设备的显示校正方法的第三个实施例包括:

301、获取当前刚体上的n个动捕标记点在动捕坐标系中的当前坐标位置;

在本实施例中,在动捕系统中提前设置了动捕坐标系,根据动捕系统获取到头显设备上刚体的各动捕标记点的光强等信息,可以判各标记点在系统中的位置,并推导出个动捕标记点在动捕坐标系的坐标信息。

302、根据n个动捕标记点的当前坐标信息,计算n个动捕标记点的当前重心位置,并将当前重心位置的坐标信息作为刚体的当前位置信息;

本实施例中的重心的计算方式与上一实施例相同,本实施例中不再赘述。

303、将当前重心位置朝向动捕标记点中的第一标记点的方向作为刚体的当前姿态信息;

本实施例中当前姿态信息与上一实施例中的初始姿态信息的获取方式相似,此处不再赘述。

304、根据当前姿态信息计算出头显设备的第一偏航角;

305、获取头显设备上惯性传感器计算得到的第二偏航角;

306、将第一偏航角和第二偏航角进行差值运算,得到显示误差值;

在本实施例中,惯性传感器的误差是误差是不断累积的,在不影响用户体验的情况下,为了节约服务器的计算成本,并不需要实时进行校正,可以在误差接近影响用户体验时,再进行校正,例如在获得第一偏航角和第二偏航角后,对第一偏航角和第二偏航角进行差值计算,当差值到达一定的数值时,则进行校正,进一步地,也可以设置定时器,定期发送校正请求,服务器接收到校正请求后,再根据第一偏航角和第二偏航角进行计算,进一步地,也可以是用户通过按动头显设备上设置的校准按钮,触发信号生成的,或者是用户在游戏中点击虚拟的校准按钮触发生成的。

307、判断显示误差值是否大于预设阈值;

308、若显示误差值大于预设阈值,则确定第一偏航角和第二偏航角满足校正条件;

309、根据第一偏航角和第二偏航角,以及预设的刚体和惯性传感器数据之间的差异比,计算头显设备的显示校正参数;

310、根据显示校正参数和刚体的当前位置信息,对头显设备的当前显示画面进行校正。

本发明实施例在前实施例的基础上,描述了获取头显设备上刚体数据的的过程,通过获取当前所述刚体上的n个动捕标记点在所述动捕坐标系中的当前坐标位置根据所述n个所述动捕标记点的当前坐标信息,计算n个所述动捕标记点的当前重心位置,并将所述当前重心位置的坐标信息作为所述刚体的当前位置信息;将所述当前重心位置朝向所述动捕标记点中的第一标记点的方向作为所述刚体的当前姿态信息,刚体辅助标记点识别能够使得动捕系统的识别更加精准,同时描述了判断是否满足校正条件的过程,通过将所述第一偏航角和所述第二偏航角进行差值运算,得到显示误差值;判断所述显示误差值是否大于预设阈值;若所述显示误差值大于预设阈值,则确定所述第一偏航角和所述第二偏航角满足校正条件,在满足校正条件后进行校正,能够减少服务器的计算量。

请参阅图4,本发明实施例中头显设备的显示校正方法的第四个实施例包括:

401、获取头显设备上刚体的刚体数据,其中,刚体数据包括刚体的当前位置信息和当前姿态信息;

402、根据当前姿态信息计算出头显设备的第一偏航角;

403、获取头显设备上惯性传感器计算得到的第二偏航角;

404、判断第一偏航角和第二偏航角是否满足校正条件;

405、若满足,修改预设位置重置函数,得到目标位置校准函数;

头显设备中预先存储位置重置函数,但是通过该函数无法实时地对头显设备的显示画面进行校准,所以要想实现实时的对头显设备的显示画面进行校准,需要对该函数进行修改。头显设备检测到修改指令时,基于修改指令修改预设位置重置函数。位置重置函数为resetorientationandposition函数,当检测到修改指令时,调用resetorientationandposition函数下的一个新写的函数resetpicoyaw(设置了yaw值,即偏航角参数),该函数设置在头显设备的插件自带的picoimort(用于处理pico旋转逻辑的类)类里,然后在picoimort类中声明一个transform(变换结构体,包含位置、旋转、缩放三个属性)类型的静态变量calibrationyawt,该calibrationyawt用于保存resetpicoyaw函数中的偏航角参数,即第一偏航角的角度信息;根据保存的偏航角参数设置calibrationyawt中的旋转属性中的偏航角值,其他俯仰角和翻滚角数值为默认数值,根据上述静态变量calibrationyawt对picoimort类中的getmainsensorstate(此函数为插件代码中自带)函数进行修改,修改后得到目标位置校准函数,通过目标位置校准函数可以获取到显示校正参数,从而进行校准。

406、将第一偏航角第二偏航角和预设的刚体和惯性传感器数据之间的差异比输入目标位置校准函数,确定显示校正参数;

头显设备中预先设置目标位置校准函数,目标位置校准函数用于获取显示校正参数。头显设备调用目标位置校准函数,并且将第一偏航角的角度信息和第二偏航角的角度信息输入目标位置校准函数中,输出的结果为显示校正参数。在具体实施过程中,在虚幻引擎的插件c++源码中,可以预先设置resetorientationandposition函数,使得该函数可以获取到显示校正参数,该c++函数是虚幻引擎中预留的用于校正头显设备的旋转值的接口,在需要校正的时候,调用该函数即可得到显示校正参数,从而实现校正。

407、根据显示校正参数和刚体的当前位置信息,对头显设备的当前显示画面进行校正。

本实施例在前实施例的基础上,提出了另外一种获得显示校正参数的过程,通过在获取到头显设备的刚体数据时,修改预设位置重置函数,得到目标位置校准函数,基于目标位置校准函数、第一偏航角和第二偏航角,确定显示校正参数,该过程在在虚幻引擎的插件c++源码中预先设置resetorientationandposition函数使得该函数可以获取到显示校正参数,该c++函数是虚幻引擎中预留的用于校正头显设备的旋转值的接口,在需要校正的时候,调用该函数即可得到显示校正参数,从而实现校正。

请参阅图5,本发明实施例中头显设备的显示校正方法的第五个实施例包括:

501、获取头显设备上刚体的刚体数据,其中,刚体数据包括刚体的当前位置信息和当前姿态信息;

502、根据当前姿态信息计算出头显设备的第一偏航角;

503、获取头显设备上惯性传感器计算得到的第二偏航角;

504、根根据第一偏航角和第二偏航角计算头显设备的显示校正参数;

505、判断第一偏航角和第二偏航角是否满足校正条件;

506、若满足,则根据第一偏航角和第二偏航角,以及预设的刚体和惯性传感器数据之间的差异比,计算头显设备的显示校正参数;

507、根据显示校正参数进行头显设备的当前的显示画面的水平角度的校正。

在本实施例中,在获得显示校正参数之后,即可对头显设备的显示画面进行校正,显示校正参数主要校正的是显示画面的水平旋转方向,也就是如图9所示的yaw方向,这是因为头显设备的俯仰角和翻滚角是用重力感应校正的,所以这两个角的旋转是永远正确默认的(永远以地心引力为准),由于偏航角无法用重力感应校正,所以在校准时,只需要对偏航角的方向,也就是水平旋转方向进行校准即可。

508、根据刚体的初始位置信息和当前位置信息进行头显设备的当前的显示画面的水平位置的校正。

在本实施例中,为了避免显示画面除了在旋转角度上出现偏差外,还存在空间位置上的偏差,可以根据动捕系统捕捉头显设备上的刚体的位置信息,对头显设备的显示屏在水平方向上的显示画面进行校正,提高虚拟现实的真实度和用户在进行游戏时的沉浸感。

本实施例在前实施例基础上,详细描述了得到显示校正参数后对头显设备的显示画面进行校正的过程,通过显示校正参数,能够对显示画面进行水平旋转方向的校正,通过前面步骤得到的刚体的当前位置和初始位置,能够对显示画面在水平空间位置上进行校正,通过对显示画面的水平旋转方向和空间水平位置的校正,避免了虚拟现实模拟过程中动捕系统与头显系统不同步导致显示画面错误的情况出现,提高了用户进行虚拟模拟游戏的真实感和沉浸感。

上面对本发明实施例中头显设备的显示校正方法进行了描述,下面对本发明实施例中头显设备进行描述,请参阅图6,本发明实施例中头显设备第一个实施例包括:

获取模块601,用于获取所述头显设备上刚体的刚体数据,其中,所述刚体数据包括所述刚体的当前位置信息和当前姿态信息;

第一偏航角计算模块602,用于根据所述当前姿态信息计算出所述头显设备的第一偏航角;

第二偏航角计算模块603,用于获取所述头显设备上惯性传感器计算得到的第二偏航角;

判断模块604,用于判断所述第一偏航角和所述第二偏航角是否满足校正条件;

参数计算模块605,用于当满足校正条件时,根据所述第一偏航角和所述第二偏航角,以及预设的刚体和惯性传感器数据之间的差异比,计算所述头显设备的显示校正参数;

校正模块606,用于根据所述显示校正参数和所述刚体的当前位置信息,对所述头显设备的当前显示画面进行校正。

本发明实施例中提供一种头显设备,所述头显设备能够运行所述头显设备的显示校正方法,包括:所述头显设备至少包括刚体和惯性传感器,所述刚体设置有动捕标记点,通过获取所述头显设备上刚体的刚体数据,其中,所述刚体数据包括所述刚体的当前位置信息和当前姿态信息;根据所述当前姿态信息计算出所述头显设备的第一偏航角;获取所述头显设备上惯性传感器计算得到的第二偏航角;判断所述第一偏航角和所述第二偏航角是否满足校正条件;若满足,则根据所述第一偏航角和所述第二偏航角,以及预设的刚体和惯性传感器数据之间的差异比,计算所述头显设备的显示校正参数;根据所述显示校正参数和所述刚体的当前位置信息,对所述头显设备的当前显示画面进行校正。本发明通过在头显设备上设置有刚体,通过动捕系统获取刚体的信息,同时与头显设备的信息进行比,辅助进行显示画面的校正,避免虚拟现实模拟过程中头显设备上惯性传感器的误差累积导致显示画面错误的情况出现。

请参阅图7,本发明实施例中头显设备的第二个实施例包括:

获取模块601,用于获取所述头显设备上刚体的刚体数据,其中,所述刚体数据包括所述刚体的当前位置信息和当前姿态信息;

第一偏航角计算模块602,用于根据所述当前姿态信息计算出所述头显设备的第一偏航角;

第二偏航角计算模块603,用于获取所述头显设备上惯性传感器计算得到的第二偏航角;

判断模块604,用于判断所述第一偏航角和所述第二偏航角是否满足校正条件;

参数计算模块605,用于当满足校正条件时,根据所述第一偏航角和所述第二偏航角,以及预设的刚体和惯性传感器数据之间的差异比,计算所述头显设备的显示校正参数;

校正模块606,用于根据所述显示校正参数和所述刚体的当前位置信息,对所述头显设备的当前显示画面进行校正。

其中,所述头显设备还包括初始设置模块607,所述初始设置模块607具体用于:

设置动捕坐标系,并获取所述刚体上的n个动捕标记点在所述动捕坐标系中的初始坐标位置,其中,所述n为不小于2的自然数;

根据n个所述动捕标记点的初始坐标信息,计算n个所述动捕标记点的初始重心位置,并将所述初始重心位置的坐标信息作为所述刚体的初始位置信息;

将所述初始重心位置朝向所述动捕标记点中的第一标记点的方向作为所述刚体的初始姿态信息,并获取所述初始重心位置朝向所述动捕标记点中的第一标记点的方向的单位向量为第一向量。

其中,所述获取模块601包括:

坐标获取单元6011,用于获取当前所述刚体上的n个动捕标记点在所述动捕坐标系中的当前坐标位置;

重心计算单元6012,用于根据所述n个所述动捕标记点的当前坐标信息,计算n个所述动捕标记点的当前重心位置,并将所述当前重心位置的坐标信息作为所述刚体的当前位置信息;

姿态设定单元6013,用于将所述当前重心位置朝向所述动捕标记点中的第一标记点的方向作为所述刚体的当前姿态信息。

可选的,所述第一偏航角计算模块602具体用于:

根据所述当前姿态信息,获得所述当前重心位置朝向所述动捕标记点中的第一标记点的方向的单位向量作为第二向量

计算所述第一向量和所述第二向量的点积,得到所述第一向量和所述第二向量的点积值;

计算所述点积值的反余弦函数,所述头显设备的第一偏航角。

可选的,所述判断模块604具体用于:

将所述第一偏航角和所述第二偏航角进行差值运算,得到显示误差值;

判断所述显示误差值是否大于预设阈值;

若所述显示误差值大于预设阈值,则确定所述第一偏航角和所述第二偏航角满足校正条件。

可选的,所述参数计算模块605具体用于:

当获取到所述头显设备上刚体的刚体数据时,修改预设位置重置函数,得到目标位置校准函数;

将所述第一偏航角所述第二偏航角和预设的刚体和惯性传感器数据之间的差异比输入所述目标位置校准函数,确定显示校正参数。

可选的,所述校正模块606具体用于:

根据所述显示校正参数进行所述头显设备的当前的显示画面的水平角度的校正;

根据所述刚体的初始位置信息和当前位置信息进行所述头显设备的当前的显示画面的水平位置的校正。

本发明实施例中,提供了一种头显设备,所述头显设备在上一实施例的基础上,增加了初始设置模块,初始设置模块用于设置刚体上的多个动捕标记点的初始位置的初始坐标信息,并根据多个动捕标记点的初始坐标信息,计算动捕标记点的重心位置信息,将重心位置信息作为所述刚体的初始位置信息,通过本发明避免虚拟现实模拟过程中动捕系统与头显系统不同步导致显示画面错误的情况出现。

上面图6和图7从模块化功能实体的角度对本发明实施例中的头显设备进行详细描述,下面从硬件处理的角度对本发明实施例中头显设备进行详细描述。

图8是本发明实施例提供的一种头显设备的结构示意图,该头显设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)810(例如,一个或一个以上处理器)和存储器820,一个或一个以上存储应用程序833或数据832的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器820和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对头显设备800中的一系列指令操作。更进一步地,处理器810可以设置为与存储介质830通信,在头显设备800上执行存储介质830中的一系列指令操作,以实现上述的头显设备的显示校正方法。

头显设备800还可以包括一个或一个以上电源840,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口860,和/或,一个或一个以上操作系统831,例如windowsserve,macosx,unix,linux,freebsd等等。本领域技术人员可以理解,图8示出的头显设备结构并不构成对头显设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述头显设备的显示校正方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1