虚拟内容的调整方法、装置、终端设备及存储介质与流程

文档序号:19679305发布日期:2020-01-14 17:06阅读:152来源:国知局
虚拟内容的调整方法、装置、终端设备及存储介质与流程

本申请涉及显示技术领域,更具体地,涉及一种虚拟内容的调整方法、装置、终端设备及存储介质。



背景技术:

近年来,随着科技的进步,增强现实(ar,augmentedreality)和虚拟现实(vr,virtualreality)等技术已逐渐成为国内外研究的热点。用户通过ar/vr显示的虚拟画面,可沉浸在虚拟世界中,并与虚拟世界进行交互。但是,当虚拟内容无法准确进行显示时,不仅会影响到用户与虚拟画面的交互,也会影响用户观感。因此,如何保证虚拟内容的显示效果是增强现实或混合现实的重要研究方向。



技术实现要素:

本申请实施例提出了一种虚拟内容的调整方法、装置、终端设备及存储介质,能够对偏移的虚拟内容进行合理调整,保证了虚拟内容的显示效果。

第一方面,本申请实施例提供了一种虚拟内容的调整方法,应用于终端设备,方法包括:检测终端设备显示的虚拟内容是否出现偏移,偏移用于表征虚拟空间中虚拟内容的实际显示位置与理论显示位置存在误差;当虚拟内容出现偏移时,检测终端设备是否处于运动状态;当终端设备处于运动状态时,调整虚拟内容在虚拟空间中的显示位置,调整后的虚拟内容在虚拟空间中的实际显示位置与理论显示位置匹配。

第二方面,本申请实施例提供了一种虚拟内容的调整装置,应用于终端设备,装置包括:偏移检测模块、运动检测模块以及显示调整模块。其中,偏移检测模块用于检测终端设备显示的虚拟内容是否出现偏移,偏移用于表征虚拟空间中虚拟内容的实际显示位置与理论显示位置存在误差;运动检测模块用于当虚拟内容出现偏移时,检测终端设备是否处于运动状态;显示调整模块用于当终端设备处于运动状态时,调整虚拟内容在虚拟空间中的显示位置,调整后的虚拟内容在虚拟空间中的实际显示位置与理论显示位置匹配。

第三方面,本申请实施例提供了一种终端设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于执行上述第一方面提供的虚拟内容的调整方法。

第四方面,本申请实施例提供了一种计算机可读取存储介质,计算机可读取存储介质中存储有程序代码,程序代码可被处理器调用执行上述第一方面提供的虚拟内容的调整方法。

本申请实施例提供的方案,通过检测终端设备显示的虚拟内容是否出现偏移,当虚拟内容出现偏移时,检测终端设备是否处于运动状态,其中,偏移用于表征虚拟空间中虚拟内容的实际显示位置与理论显示位置存在误差,且当终端设备处于运动状态时,调整虚拟内容在虚拟空间中的显示位置,调整后的虚拟内容在虚拟空间中的实际显示位置与理论显示位置匹配。在终端设备处于运动状态时,才可以对偏移的虚拟内容的显示位置进行调整,从而避免了直接将虚拟内容从错误位置更新为正确位置而导致的视角跳转偏差情况,降低了用户对偏移较正过程的感知的同时,保证了虚拟内容的显示效果。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了一种适用于本申请实施例的应用环境示意图。

图2示出了根据本申请一个实施例的虚拟内容的调整方法流程图。

图3示出了根据本申请实施例的一种显示效果示意图。

图4示出了根据本申请实施例的另一种显示效果示意图。

图5示出了根据本申请另一个实施例的虚拟内容的调整方法流程图。

图6示出了根据本申请实施例的虚拟内容的调整方法中步骤s230的流程图。

图7示出了根据本申请实施例的虚拟内容的调整方法中步骤s233的流程图。

图8示出了根据本申请一个实施例的虚拟内容的调整装置的框图。

图9是本申请实施例的用于执行根据本申请实施例的虚拟内容的调整方法的终端设备的框图。

图10是本申请实施例的用于保存或者携带实现根据本申请实施例的虚拟内容的调整方法的程序代码的存储单元。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

在传统技术中,用户佩戴ar/vr设备进行ar/vr显示时,可以通过确定ar/vr设备的位置及姿态信息,显示虚拟画面。然而,由于惯性测量单元(inertialmeasurementunit,imu)等用于采集位置及姿态信息的装置的累积误差或是摄像头丢帧等情况,容易出现定位丢失,导致虚拟画面无法准确进行显示,出现显示的虚拟画面偏移的情况。当虚拟画面偏移后,需要对显示的虚拟画面进行较正,或是直接将虚拟画面从错误的位置更新为正确位置,都会给用户造成较大的视角跳转偏差,影响观感。

发明人经过研究,提出了本申请实施例中的虚拟内容的调整方法、装置、终端设备及存储介质,可以降低用户对偏移较正过程的感知,同时保证虚拟内容的显示效果。

下面对本申请实施例提供的虚拟内容的调整方法的应用场景进行介绍。

请参见图1,示出了本申请实施例提供的一种显示系统,包括终端设备100以及标记物200。

在本申请实施例中,终端设备100可以是头戴显示装置,头戴显示装置可以为一体式头戴显示装置,也可以为与外置电子设备连接的头戴显示装置。终端设备100也可以是与外接式/接入式头戴显示装置连接的手机等智能终端,即终端设备100可作为头戴显示装置的处理和存储设备,插入或者接入外接式头戴显示装置,通过头戴显示装置对虚拟内容300进行显示。

在一些实施方式中,标记物200为具有拓扑结构的图案,拓扑结构是指标记物200中的子标记物和特征点等之间连通关系。当标记物200处于终端设备100上的图像传感器的视觉范围内时,终端设备100可将上述标记物200作为目标标记物,采集包含目标标记物的图像,并通过对采集到的目标标记物图像进行识别追踪处理,得到目标标记物相对终端设备100的位置、姿态等空间位置信息,以及目标标记物的身份信息等识别结果,实现对目标标记物进行定位及追踪。终端设备100可根据与标记物200之间的相对位置及姿态信息,显示相应的虚拟内容。

在一些实施方式中,标记物200还可以为光点式的标记,终端设备100通过对光点追踪以相对位置、姿态等空间位置信息。在一个具体的实施方式中,可在交互装置上设置光点和惯性测量单元(inertialmeasurementunit,imu),终端设备100可以通过图像传感器采集交互装置上的光点图像,并通过惯性测量单元获取测量数据,根据该光点图像和测量数据即可确定交互装置与终端设备100之间的相对空间位置信息,实现对交互装置的定位及追踪。其中,交互装置上设置的光点可以是可见光点或者红外光点,光点的数量可以是一个或者由多个光点组成的光点序列。

可以理解地,终端设备100也可以通过其他定位追踪方式进行定位,并显示虚拟内容300,例如,可通过vio(visualinertialodometry,视觉惯性里程计)等,并不仅限于上述的基于标记物200的定位追踪方式。

下面对具体的虚拟内容的调整方法进行介绍。

请参阅图2,本申请实施例提供了一种虚拟内容的调整方法,应用于终端设备,该方法可以包括:

步骤s110:检测终端设备显示的虚拟内容是否出现偏移,偏移用于表征虚拟空间中虚拟内容的实际显示位置与理论显示位置存在误差。

在一些实施例中,虚拟内容的实际显示位置可以是虚拟内容在虚拟空间中实际的渲染位置,虚拟内容的理论显示位置可以是虚拟内容在虚拟空间中理想或期望的渲染位置,可以实时根据终端设备的位置及姿态信息确定、更新虚拟内容的理论显示位置。其中,渲染位置可以是虚拟内容在虚拟空间中三维的渲染空间坐标,以实现虚拟内容渲染于渲染位置处。

由于在一些情况下可能会出现影响虚拟内容的渲染位置的因素(如终端设备的位置及姿态的累积误差或信息丢失等),导致虚拟内容的实际显示位置可能会偏离了理论显示位置,影响视觉观感。例如,请参阅图3和图4,图3为虚拟内容300的理论显示位置,即虚拟内容300叠加显示在标记物200的正上方,然而用户通过佩戴的头戴显示装置,看到的虚拟内容300的实际显示位置偏离了标记物200的正上方(图4)。因此,在本申请实施例中,可以对终端设备当前显示的虚拟内容在虚拟空间中的显示位置进行实时检测,以判断该虚拟内容在虚拟空间中的实际显示位置与理论显示位置是否存在误差,从而判断出终端设备显示的虚拟内容是否发生偏移,以便后续对虚拟内容的偏移进行调整校正,保证视觉效果。

在一些实施方式中,上述检测终端设备显示的虚拟内容是否出现偏移,可以是终端设备在每次获取到位置及姿态等信息时,获取当前在虚拟空间中对虚拟内容的实际渲染位置,以及理论上应该对该虚拟内容进行渲染的的理想渲染位置,通过判断实际渲染位置与理想渲染位置是否存在误差,来确定终端设备显示的虚拟内容是否出现偏移。其中,实际渲染位置与理想渲染位置存在误差即可确定终端设备显示的虚拟内容出现偏移。

步骤s120:当虚拟内容出现偏移时,检测终端设备是否处于运动状态。

在本申请实施例中,当检测到上述显示的虚拟内容出现偏移时,也即检测到虚拟空间中虚拟内容的实际显示位置与理论显示位置存在误差时,可以检测终端设备是否处于运动状态,以根据终端设备的状态信息确定是否对偏移的虚拟内容进行调整校正。其中,运动状态可以包括运动速度和运动方向。

在一些实施例中,可通过检测终端设备的位置及姿态信息是否发生变化,来判断终端设备是否处于运动状态。其中,姿态信息可以包括终端设备的朝向及旋转角度。当检测到终端设备的位置及姿态信息发生变化时,即可确定终端设备处于运动状态。在一些实施方式中,当终端设备的位置及姿态信息发生变化时,还可通过具体的位置变化和姿态变化来确定终端设备的运动速度和运动方向。

步骤s130:当终端设备处于运动状态时,调整虚拟内容在虚拟空间中的显示位置,调整后的虚拟内容在虚拟空间中的实际显示位置与理论显示位置匹配。

在本申请实施例中,当检测到终端设备处于运动状态时,可以调整偏移的虚拟内容在虚拟空间中的显示位置,以保证调整后的虚拟内容在虚拟空间中的实际显示位置与理论显示位置匹配,使虚拟内容能够正确显示。从而实现了仅在终端设备处于运动状态时,才可以对偏移的虚拟内容的显示位置进行调整,避免了直接将虚拟内容的显示位置从偏移位置更新为正确位置而导致的视角跳转偏差情况,减少了突兀感,降低了用户对偏移较正过程的感知,保证了视觉效果。

在一些实施例中,调整虚拟内容在虚拟空间中的显示位置,可以是调整虚拟内容在虚拟空间中的渲染坐标。终端设备可以根据虚拟内容在虚拟空间中的理想的渲染坐标,以及虚拟内容当前在虚拟空间中的渲染坐标,确定渲染坐标的调整方向和调整数值,从而根据调整方向和调整数值对虚拟内容的渲染坐标进行适当调整。

在一些实施例中,调整虚拟内容在虚拟空间中的显示位置,也可以是将虚拟内容当前在虚拟空间中的渲染坐标,直接调整为理想的渲染坐标,使虚拟内容能够正确显示。可以理解的是,上述调整虚拟内容在虚拟空间中的显示位置仅为举例,在本申请实施例中并不作为限定,仅需终端设备处于运动状态时对显示位置调整即可。

在一些实施例中,也可以对运动状态进行设定,当终端设备的运动状态为指定运动状态时,例如,左右摇晃两次,终端设备也可以调整虚拟内容在虚拟空间中的显示位置,以保证调整后的虚拟内容在虚拟空间中的实际显示位置与理论显示位置匹配。从而当用户发现虚拟内容发生偏移时,可以直接通过改变佩戴的头戴显示装置的位置及姿态信息(如摇头),使得头戴显示装置的运动状态符合指定运动状态,直接触发对虚拟内容的显示位置的调整校正,而不必等待显示内容的偏移检测。其中,指定运动状态可由用户进行设定,在本申请实施例中并不作限定。

在一些实施例中,当检测到终端设备未处于运动状态时,可以不对虚拟内容在虚拟空间中的显示位置进行调整,即不对虚拟内容在虚拟空间中的渲染坐标进行调整。这样,当用户通过佩戴的头戴显示装置查看虚拟内容时,可以避免虚拟内容的显示位置的突然更新给用户造成的视觉突兀感,降低了用户对偏移较正过程的感知,保证了视觉效果。

本申请实施例提供的虚拟内容的调整方法,通过检测终端设备显示的虚拟内容是否出现偏移,当虚拟内容出现偏移时,检测终端设备是否处于运动状态,其中,偏移用于表征虚拟空间中虚拟内容的实际显示位置与理论显示位置存在误差,且当终端设备处于运动状态时,调整虚拟内容在虚拟空间中的显示位置,调整后的虚拟内容在虚拟空间中的实际显示位置与理论显示位置匹配。从而避免了直接将虚拟内容从偏移位置更新为正确位置而导致的视角跳转偏差情况,实现了仅在终端设备处于运动状态时,才可以对偏移的虚拟内容的显示位置进行调整,降低了用户对偏移较正过程的感知的同时,保证了虚拟内容的显示效果。

请参阅图5,本申请另一实施例提供了一种虚拟内容的调整方法,应用于终端设备,该方法可以包括:

步骤s210:检测终端设备显示的虚拟内容是否出现偏移,偏移用于表征虚拟空间中虚拟内容的实际显示位置与理论显示位置存在误差。

在一些实施例中,对虚拟内容进行显示时,可以根据现实空间中终端设备的位置及姿态信息对虚拟内容进行渲染生成。作为一种方式,可以根据现实空间中终端设备的位置及姿态信息,确定待显示的虚拟内容在现实空间中叠加的空间位置坐标,终端设备可将该空间位置坐标转换为虚拟空间中的空间坐标,从而得到待显示的虚拟内容在虚拟空间中的渲染位置,并实现将待显示的虚拟内容渲染于渲染位置处。从而终端设备可将渲染后的虚拟内容转化为显示画面,并将该显示画面通过显示屏或投射模组投射到显示镜片上,以显示出虚拟内容。从而用户通过头戴显示装置的显示镜片,可以看到三维立体的虚拟内容叠加显示于真实世界中,实现增强现实的效果。其中,虚拟空间中可包括虚拟摄像头,该虚拟摄像头用于模拟用户的人眼,虚拟摄像头在虚拟空间中的位置可看作终端设备在虚拟空间中的位置。在一些实施方式中,上述渲染位置可以是虚拟内容在虚拟空间中以虚拟摄像头为原点(也可看作是以人眼为原点)的三维空间坐标。

在本申请实施例中,可通过多种方式获取终端设备的位置及姿态信息。

作为一种方式,终端设备可包括imu,用以检测终端设备的姿态信息。其中,imu可以检测终端设备的三自由度信息,三自由度信息可包括终端设备沿空间中三个直角坐标轴的转动自由度,上述三个直角坐标轴对应的转动自由度可构成终端设备的姿态信息。因此,可以通过终端设备上的imu的感应数据,来得到imu检测到的终端设备的姿态信息。

作为另一种方式,终端设备可包括图像传感器,可通过图像传感器采集到的标记物图像以及终端设备上的imu的感应数据,精确得到终端设备的位置及姿态信息。具体地,终端设备可对标记物图像进行识别追踪处理,以得到终端设备相对标记物的位置、姿态等空间位置信息。

作为又一种方式,终端设备也可以利用vio(visual-inertialodometry,视觉惯性里程计)计算获得终端设备的位置及姿态信息。vio可以通过图像传感器采集到的当前场景图像中包含的关键点(或特征点)计算得到终端设备的相对自由度信息,进而推算出终端设备当前的位置及姿态。换句话说,vio可以利用图像传感器实时获取当前场景图像,并通过imu获取终端设备的角速度和加速度数据,结合图像传感器采集的当前场景图像即可以获取到终端设备的位置及姿态信息。

当然,上述终端设备的位置及姿态信息的获取仅为举例,在本申请实施例中并不作限定。例如,还可以是通过图像传感器采集到的交互设备的轮廓图像以及交互设备上的imu感应数据,得到终端设备的位置及姿态信息。其中,终端设备与交互设备通信连接。

在一些实施例中,由于imu的误差累积或是图像传感器丢帧等情况,导致得到的终端设备的位置及姿态信息可能存在误差,从而虚拟内容在虚拟空间中的渲染位置也可能存在误差,进而可能导致终端设备显示的虚拟内容出现偏移。因此,可以判断终端设备的位置及姿态信息是否存在误差,从而确定出终端设备显示的虚拟内容是否出现偏移。

由于imu或是图像传感器的定位是一个不断修正的过程,且终端设备的位置及姿态信息又是实时输出,即输出的每一帧之间实际很短,所以imu的误差累积或是图像传感器丢帧之后会很快被修正。

因此,终端设备在每次获取最新输出的终端设备当前的位置及姿态信息时,可根据当前的位置及姿态信息确定当前显示的虚拟内容是否出现偏移。具体地,在一些实施例中,在检测终端设备显示的虚拟内容是否出现偏移之前,本申请的虚拟内容的调整方法还可以包括:

获取终端设备当前的位置及姿态信息;根据位置及姿态信息,确定终端设备显示的虚拟内容在虚拟空间中的理论显示位置。

在一些实施例中,终端设备当前显示虚拟内容时,可获取最新得到的终端设备的位置及姿态信息即终端设备当前的位置及姿态信息,以根据当前的位置及姿态信息,重新获取虚拟内容在虚拟空间中的渲染坐标。终端设备可将重新获取的渲染坐标作为虚拟内容在虚拟空间中的理论显示位置。进一步的,终端设备也可获取当前显示的虚拟内容在虚拟空间中的实际渲染坐标,并作为虚拟内容在虚拟空间中的实际显示位置。从而终端设备可根据重新获取的渲染坐标与实际渲染坐标是否有偏差,确定当前显示的虚拟内容是否出现偏移。

例如,若虚拟内容当前在虚拟空间中的实际渲染坐标为b1,则虚拟内容当前被渲染在b1的位置。当根据当前的终端设备的位置及姿态信息,得到虚拟内容在虚拟空间中的理想渲染坐标为b2时,则可根据b1与b2确定当前显示的虚拟内容的偏移。

步骤s220:当虚拟内容出现偏移时,检测终端设备是否处于运动状态。

在本申请实施中,步骤s220的具体描述可参阅前述实施例,在此不再赘述。

在一些实施例中,当根据终端设备当前的位置及姿态信息,确定终端设备显示的虚拟内容在虚拟空间中的理论显示位置时,可根据理论显示位置与实际显示位置是否匹配,来确定虚拟内容是否发生偏移。具体地,上述当虚拟内容出现偏移时,检测终端设备是否处于运动状态,可以包括:

当在虚拟空间中理论显示位置与实际显示位置不匹配时,根据位置及姿态信息的变化信息,判断终端设备是否处于运动状态。

终端设备可以将虚拟内容在虚拟空间中的实际渲染坐标和根据最新的位置及姿态信息重新获取的渲染坐标进行匹配,以根据匹配结果确定虚拟内容是否出现偏移。当实际渲染坐标与重新获取的渲染坐标不匹配时,确定虚拟内容出现偏移;当实际渲染坐标与重新获取的渲染坐标匹配时,确定虚拟内容未出现偏移。

在一些实施例中,将实际渲染坐标和重新获取的渲染坐标进行匹配,可以是判断实际渲染坐标和重新获取的渲染坐标在虚拟空间中各个坐标轴的坐标值是否相同,也可以是求取在虚拟空间中各个坐标轴上的差值。

在一些实施例中,也可以设定一个最大允许误差,即当实际渲染坐标与重新获取的渲染坐标之间的误差小于该最大允许误差时,可以认为虚拟内容在虚拟空间中理论显示位置与实际显示位置匹配,当实际渲染坐标与重新获取的渲染坐标之间的误差大于该最大允许误差时,可以认为虚拟内容在虚拟空间中理论显示位置与实际显示位置不匹配。其中,该最大允许误差可以与实际渲染坐标和重新获取的渲染坐标在虚拟空间中各个坐标轴的差值对应,也可以与某一个坐标轴的差值对应(其他坐标轴可一一对应其他最大允许误差),还可以与实际渲染坐标和重新获取的渲染坐标在虚拟空间中的距离对应,在此并不作限定。

在本申请实施例中,当虚拟内容在虚拟空间中理论显示位置与实际显示位置不匹配时,可以根据位置及姿态信息的变化信息,判断终端设备是否处于运动状态。也就是说,当根据终端设备当前的位置及姿态信息,确定虚拟内容出现偏移时,可以根据后续实时获取的终端设备的位置及姿态信息,确定终端设备是否处于运动状态。

步骤s230:当终端设备处于运动状态时,调整虚拟内容在虚拟空间中的显示位置,调整后的虚拟内容在虚拟空间中的实际显示位置与理论显示位置匹配。

在一些实施例中,上述调整虚拟内容在虚拟空间中的显示位置,可以是仅调整与终端设备的运动方向相匹配的偏移。具体地,请参阅图6,上述当终端设备处于运动状态时,调整虚拟内容在虚拟空间中的显示位置,包括:

步骤s231:当终端设备处于运动状态时,确定终端设备的当前运动方向。

在一些实施例中,当根据终端设备的位置及姿态信息,检测到终端设备处于运动状态时,可以根据具体的终端设备的位置及姿态信息,确定终端设备的当前运动方向。作为一种方式,可以根据终端设备的位置变化,确定终端设备的移动方向及距离,可以根据终端设备的姿态信息,确定终端设备的朝向和旋转角度,从而可根据移动方向以及旋转方向,确定终端设备的当前运动方向。其中,终端设备的当前运动方向可以是终端设备当前在现实空间中的运动方向,也可以是转换到虚拟空间中后的运动方向,在此并不作限定。

例如,可根据终端设备的位置变化,确定终端设备的移动方向是后移,可根据终端设备的姿态信息,确定终端设备的朝向和旋转角度为左前方45°,则可确定终端设备的当前运动方向为面朝向左前方45°后退(即背向右后方45°前进)。

步骤s232:获取实际显示位置相对于理论显示位置的偏移方向。

在一些实施例中,终端设备在确定虚拟内容出现偏移后,可以根据虚拟内容在虚拟空间中的实际显示位置以及理论显示位置,确定虚拟内容的偏移方向。其中,该偏移方向可以是实际显示位置相对理论显示位置的方向。从而终端设备可以根据具体的偏移方向,确定是否对虚拟内容的偏移进行调整以及具体的调整方式。

步骤s233:当当前运动方向与偏移方向匹配时,调整虚拟内容在虚拟空间中的显示位置。

在一些实施例中,终端设备在得到终端设备的当前运动方向以及虚拟内容的偏移方向后,可以判断当前运动方向与偏移方向在同一个空间坐标系下是否匹配,以根据匹配结果确定是否对虚拟内容在虚拟空间中的显示位置进行调整。具体地,当当前运动方向与偏移方向在同一个空间坐标系下匹配时,可以调整虚拟内容在虚拟空间中的显示位置,当当前运动方向与偏移方向在同一个空间坐标系下不匹配时,可不调整虚拟内容在虚拟空间中的显示位置。

在一些实施例中,终端设备的运动方向可采用现实空间中以终端设备为原点的空间坐标系进行表示,虚拟内容的偏移方向则可采用虚拟空间中以世界坐标原点(例如,标记物所在的位置)的空间坐标系进行表示,二者对应的空间坐标系不同,可以将当前运动方向与偏移方向转换到同一空间坐标系下进行匹配。其中,该同一个空间坐标系可以是虚拟空间中以虚拟摄像头为原点的坐标系,也可以是虚拟空间中的世界坐标系,在此并不作限定,例如,还可以是以标记物在虚拟空间中的位置为原点建立的世界坐标系。

在一些实施例中,将当前运动方向与偏移方向进行匹配,可以是根据当前运动方向与偏移方向在同一个空间坐标系的各个坐标轴上的分量进行匹配。具体地,当前运动方向可以包括空间坐标系的各个坐标轴的运动分量,偏移方向可以包括空间坐标系的各个坐标轴的偏移分量,上述当当前运动方向与偏移方向匹配时,调整虚拟内容在虚拟空间中的显示位置,可以包括:

当终端设备在目标坐标轴的运动分量与虚拟内容在目标坐标轴的偏移分量的方向一致时,沿与虚拟内容在目标坐标轴的偏移分量相背的方向,移动虚拟内容在虚拟空间中的显示位置,目标坐标轴为各个坐标轴中的任一坐标轴。

在一些实施例中,空间坐标系包括x、y、z轴时,上述当当前运动方向与偏移方向匹配时,调整虚拟内容在虚拟空间中的显示位置,可以具体包括以下中的至少一种:

当终端设备在x轴运动分量与虚拟内容在x轴偏移分量的方向一致时,沿与x轴偏移分量相背的方向,移动虚拟内容在虚拟空间中的显示位置;

当终端设备在y轴运动分量与虚拟内容在y轴偏移分量的方向一致时,沿与y轴偏移分量相背的方向,移动虚拟内容在虚拟空间中的显示位置;

当虚拟内容在z轴运动分量与虚拟内容在z轴偏移分量的方向一致时,沿与z轴偏移分量相背的方向,移动虚拟内容在虚拟空间中的显示位置。

其中,上述方向一致可以是分量都沿同一轴的正方向或者分量都沿同一轴的负方向,相背的方向可以理解为逆转180°的反向。从而仅在终端设备的运动方向与偏移方向匹配时,才进行虚拟内容的偏移调整,避免了运动方向与偏移方向相背情况下调整虚拟内容而导致较大的视角跳转偏差,保证了视觉效果。

例如,用户佩戴有头戴显示装置时,若检测到虚拟内容的偏移方向在x轴的正方向上有分量即存在x轴偏移分量,则仅在检测到用户往x轴的负方向上运动时,才对虚拟内容的显示位置在x轴偏移分量上的调整。

在一些实施例中,上述调整虚拟内容在虚拟空间中的显示位置,可以是逐步进行调整,而非直接将虚拟画面调整到正确的位置,降低了用户对偏移较正过程的感知。具体地,请参阅图8,上述调整虚拟内容在虚拟空间中的显示位置,可以包括:

步骤s2331:根据实际显示位置以及理论显示位置,获取虚拟内容在虚拟空间中的偏移数值。

在一些实施例中,终端设备在获取到虚拟内容在虚拟空间中的实际显示位置以及理论显示位置时,可以得到虚拟内容在虚拟空间中的实际渲染坐标和重新获取到的渲染坐标(即理论渲染坐标)。从而可根据实际渲染坐标和理论渲染坐标,获取虚拟内容在虚拟空间中的偏移数值。其中,该偏移数值可以是坐标间的欧式距离,也可以是坐标间在各个坐标轴上的差值。

步骤s2332:根据偏移数值,逐步调整虚拟内容在虚拟空间中的显示位置,直到虚拟内容在虚拟空间中的实际显示位置与理论显示位置匹配。

终端设备在获取到虚拟内容在虚拟空间中的偏移数值后,可根据具体的偏移数值,逐步调整虚拟内容在虚拟空间中的显示位置,直到虚拟内容在虚拟空间中的实际显示位置与理论显示位置匹配。其中,逐步调整指的是分多次对虚拟内容的偏移进行调整,每次调整时可以是以指定幅度(即固定的距离)进行调整,也可以是以随机的距离进行调整,还可以是根据终端设备的运动速度对应调整,在此并不作限定。

例如,用户佩戴有头戴显示装置时,若虚拟内容在y轴的正方向上偏移了6cm,在用户控制头戴显示装置往y轴的正方向运动时,可将虚拟内容的显示位置在y轴的负方向上-1cm,即将虚拟内容向y轴负方向移动1cm,并重复上述过程实现逐步纠正。

在一些实施例中,也可以是当虚拟内容在虚拟空间中的偏移数值小于预设阈值时,直接将虚拟内容在虚拟空间中的显示位置调整为理论显示位置,无需进行逐步调整;而当虚拟内容在虚拟空间中的偏移数值大于预设阈值时,才逐步调整虚拟内容在虚拟空间中的显示位置。其中,预设阈值可以预存于终端设备,可根据具体应用场景进行合理设定,在此并不作限定,例如,预设阈值可设定为2。

在一些实施例中,当逐步调整为根据终端设备的运动速度对应调整时,上述根据虚拟内容的偏移数值,逐步调整虚拟内容在虚拟空间中的显示位置,可以包括:

获取终端设备的当前运动速度;根据偏移数值以及当前运动速度,确定在虚拟空间中对虚拟内容的显示位置的当前调整量;根据当前调整量,调整虚拟内容在虚拟空间中的显示位置。

在一些实施例中,终端设备可以通过imu实时检测终端设备的当前运动速度,以根据虚拟内容的偏移数值以及当前运动速度,确定终端设备在虚拟空间中对虚拟内容的显示位置的当前调整量,从而根据当前调整量,对应调整虚拟内容在虚拟空间中的显示位置。在一些实施方式中,当终端设备的当前运动速度比较快时,可以将当前调整量的值设定较大,从而体现出终端设备的当前运动速度越大,虚拟画面的调整得越快的效果。

在一些实施例中,根据偏移数值以及当前运动速度,确定当前调整量,可以是根据偏移数值以及当前运动速度在同一个空间坐标系的各个坐标抽上的分量,分别确定各个坐标轴的当前调整量。具体地,偏移数值可以包括空间坐标系的各个坐标轴的偏移值,当前运动速度可以包括空间坐标系的各个坐标轴的运动速度分量,上述根据偏移数值以及当前运动速度,确定在虚拟空间中对虚拟内容的显示位置的当前调整量,可以包括:

根据每个坐标轴上虚拟内容的偏移值以及终端设备对应的运动速度分量,确定虚拟内容的显示位置在空间坐标系的各个坐标轴上的当前调整量。

在一些实施例中,空间坐标系包括x、y、z轴时,可以具体包括以下中的至少一种:

根据虚拟内容在x轴偏移值以及终端设备在x轴运动速度分量,确定虚拟内容的显示位置在x轴上的当前调整量;

根据虚拟内容在y轴偏移值以及终端设备在y轴运动速度分量,确定虚拟内容的显示位置在y轴上的当前调整量;

根据虚拟内容在z轴偏移值以及终端设备在z轴运动速度分量,确定虚拟内容的显示位置在终端设备在z轴上的当前调整量。

在一些实施方式中,终端设备可根据虚拟内容在虚拟空间中的实际渲染坐标和理论渲染坐标,确定虚拟内容在空间坐标系的每个坐标轴上的偏移值。其中,每个坐标轴上的偏移值可以为实际渲染坐标减去理论渲染坐标后,得到的坐标差值对应在每个坐标轴上的差值。例如,虚拟内容的某个顶点的实际渲染坐标为(1,3,6),理论渲染坐标为(2,4,8),坐标差值为(-1,-1,-2),对应的每个坐标轴上的偏移值分别为-1,-1,-2。

在一些实施方式中,上述终端设备在空间坐标系的各个坐标轴的运动速度分量可以通过imu直接获取,也可以根据终端设备在同一空间坐标系下的每个坐标轴的运动位移和运动时间进行计算,以确定每个坐标轴的运动速度,在此不作限定。

终端设备在获取到同一坐标系下各个坐标轴的运动速度分量和偏移值时,可以分别确定虚拟内容的显示位置在空间坐标系的各个坐标轴上的当前调整量。从而可根据终端设备的具体运动状态,确定合适的调整方案,降低了用户对较正过程的感知,提高了视觉效果。

本申请实施例提供的虚拟内容的调整方法,通过根据终端设备当前的位置及姿态信息,检测终端设备显示的虚拟内容是否出现偏移,当虚拟内容出现偏移时,根据位置及姿态信息,确定终端设备是否处于运动状态,且当终端设备处于运动状态时,根据具体的运动速度、运动方向以及虚拟内容的偏移方向、偏移值,对应调整虚拟内容在虚拟空间中的显示位置,使得调整后的虚拟内容在虚拟空间中的实际显示位置与理论显示位置匹配。从而避免了直接将虚拟内容从错误位置更新为正确位置而导致的视角跳转偏差情况,实现了仅在终端设备处于运动状态时,才可以对偏移的虚拟内容的显示位置进行调整,并可根据终端设备的具体运动状态,确定对应的调整方案,降低了用户对偏移较正过程的感知的同时,保证了虚拟内容的显示效果。

请参阅图9,其示出了本申请实施例提供的一种虚拟内容的调整装置500的结构框图,该装置可以包括:偏移检测模块510、运动检测模块520以及显示调整模块530,其中,偏移检测模块510用于检测终端设备显示的虚拟内容是否出现偏移,偏移用于表征虚拟空间中虚拟内容的实际显示位置与理论显示位置存在误差;运动检测模块520用于当虚拟内容出现偏移时,检测终端设备是否处于运动状态;显示调整模块530用于当终端设备处于运动状态时,调整虚拟内容在虚拟空间中的显示位置,调整后的虚拟内容在虚拟空间中的实际显示位置与理论显示位置匹配。

在一些实施例中,运动检测模块520可以包括:方向确定单元、偏移确定单元以及匹配调整单元。其中,运动确定单元用于当终端设备处于运动状态时,确定终端设备的当前运动方向;偏移确定单元用于获取实际显示位置相对于理论显示位置的偏移方向;匹配调整单元用于当当前运动方向与偏移方向匹配时,调整虚拟内容在虚拟空间中的显示位置。

在一些实施例中,匹配调整单元可以具体用于:当终端设备在目标坐标轴的运动分量与虚拟内容在目标坐标轴的偏移分量的方向一致时,沿与虚拟内容在目标坐标轴的偏移分量相背的方向,移动虚拟内容在虚拟空间中的显示位置,目标坐标轴为各个坐标轴中的任一坐标轴。

在一些实施例中,显示调整模块530调整虚拟内容在虚拟空间中的显示位置,可以包括:数值获取单元以及逐步调整单元。其中,数值获取单元用于根据实际显示位置以及理论显示位置,获取虚拟内容在虚拟空间中的偏移数值;逐步调整单元用于根据偏移数值,逐步调整虚拟内容在虚拟空间中的显示位置,直到虚拟内容在虚拟空间中的实际显示位置与理论显示位置匹配。

在一些实施例中,逐步调整单元可以包括:速度确定子单元、调整量确定子单元以及量调整子单元。其中,速度确定子单元用于获取终端设备的当前运动速度;调整量确定子单元用于根据偏移数值以及当前运动速度,确定在虚拟空间中对虚拟内容的显示位置的当前调整量;量调整子单元用于根据当前调整量,调整虚拟内容在虚拟空间中的显示位置。

在一些实施例中,量调整子单元可以具体用于:根据每个坐标轴上虚拟内容的偏移值以及终端设备对应的运动速度分量,确定虚拟内容的显示位置在空间坐标系的各个坐标轴上的当前调整量。

在一些实施例中,该虚拟内容的调整装置500还可以包括:位姿获取模块以及理论位置确定模块。其中,位姿获取模块用于获取终端设备当前的位置及姿态信息;理论位置确定模块用于根据位置及姿态信息,确定终端设备显示的虚拟内容在虚拟空间中的理论显示位置。运动检测模块520可以具体用于:当在虚拟空间中理论显示位置与实际显示位置不匹配时,根据位置及姿态信息的变化信息,判断终端设备是否处于运动状态。

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

在本申请所提供的几个实施例中,所显示或讨论的模块相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

综上,本申请实施例提供的一种虚拟内容的调整装置,通过检测终端设备显示的虚拟内容是否出现偏移,当虚拟内容出现偏移时,检测终端设备是否处于运动状态,其中,偏移用于表征虚拟空间中虚拟内容的实际显示位置与理论显示位置存在误差,且当终端设备处于运动状态时,调整虚拟内容在虚拟空间中的显示位置,调整后的虚拟内容在虚拟空间中的实际显示位置与理论显示位置匹配。从而避免了直接将虚拟内容从错误位置更新为正确位置而导致的视角跳转偏差情况,实现了仅在终端设备处于运动状态时,才可以对偏移的虚拟内容的显示位置进行调整,降低了用户对偏移较正过程的感知的同时,保证了虚拟内容的显示效果。

在一些实施方式中,终端设备100可以外接式/接入式的头戴显示装置,头戴显示装置与交互设备连接。其中,头戴显示装置可以仅完成虚拟画面的显示,上述关于对虚拟画面的生成、显示位置的调整等所有的处理操作,均可由交互设备完成,交互设备在生成虚拟画面后,将虚拟画面对应的显示画面传输至头戴显示装置,即可完成虚拟画面的显示。

请参考图9,其示出了本申请实施例提供的一种终端设备的结构框图。该终端设备100可以是头戴显示装置等能够运行应用程序的终端设备。本申请中的终端设备100可以包括一个或多个如下部件:处理器110、存储器120,其中存储器120中存储有一个或多个应用程序,一个或多个应用程序被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。

处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个终端设备100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行终端设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器110可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。

存储器120可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端设备100在使用中所创建的数据等。

在一些实施例中,终端设备100还可以包括图像传感器130,用于采集现实物体的图像以及采集目标场景的场景图像。图像传感器130可以为红外相机,也可以是可见光相机,具体类型在本申请实施例中并不作为限定。

在一个实施例中,终端设备为头戴显示装置,除了包括上述的处理器、存储器及图像传感器外,还可包括如下一个或多个部件:显示模组、光学模组、通信模块以及电源。

显示模组可包括显示控制单元。显示控制单元用于接收处理器渲染后的虚拟内容的显示图像,然后将该显示图像显示并投射至光学模组上,使用户能够通过光学模组观看到虚拟内容。其中,显示模组可以是显示屏或投射装置等,可用于显示图像。

光学模组可采用离轴光学系统或波导光学系统,显示模组显示的显示图像经光学模组后,能够被投射至用户的眼睛。用户在通过光学模组看到显示模组投射的显示图像的同时。在一些实施方式中,用户还能够透过光学模组观察到现实环境,感受虚拟内容与现实环境叠加后的增强现实效果。

通信模块可以是蓝牙、wifi(wireless-fidelity,无线保真)、zigbee(紫峰技术)等模块,头戴显示装置可通过通信模块与终端设备建立通信连接。与终端设备通信连接的头戴显示装置,可以与终端设备进行信息以及指令的交互。例如,头戴显示装置可以通过通信模块接收终端设备的发送的图像数据,根据所接收的图像数据生成虚拟世界的虚拟内容进行显示。

电源可为整个头戴显示装置进行供电,保证头戴显示装置各个部件的正常运行。

请参考图10,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读存储介质800中存储有程序代码,程序代码可被处理器调用执行上述方法实施例中所描述的方法。

该计算机可读存储介质800可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitorycomputer-readablestoragemedium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。

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

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