一种图像的显示方法、装置及系统

文档序号:1408361 发布日期:2020-03-06 浏览:11次 >En<

阅读说明:本技术 一种图像的显示方法、装置及系统 (Image display method, device and system ) 是由 包孝东 马翠娟 黄茵 刘建滨 陈�光 于 2018-08-28 设计创作,主要内容包括:一种图像的显示方法、装置及系统,用以解决现有技术Cloud VR中显示延时过长的问题。本申请中,终端设备向云端设备发送第一信息,第一信息指示终端设备在第一时刻的姿态与位置;之后,终端设备接收来自云端设备的第一视角图像的信息,第一视角图像为终端设备在第一时刻的姿态与位置对应的视角图像;终端设备基于第一视角图像的信息以及终端设备从第一时刻到第二时刻的姿态变化与位置变化,显示第二时刻终端设备的视角范围内的图像。可以有效地缩短从所述终端设备在所述第二时刻的姿态和位置变化到所述终端设备显示所述第二时刻所述终端设备视角范围内的图像的时间,能够减少图像的显示延时,进一步可以提高用户体验。(A method, a device and a system for displaying images are used for solving the problem of overlong display delay in Cloud VR in the prior art. In the application, the terminal equipment sends first information to the cloud equipment, and the first information indicates the posture and the position of the terminal equipment at a first moment; then, the terminal equipment receives information of a first visual angle image from the cloud equipment, wherein the first visual angle image is a visual angle image corresponding to the posture and the position of the terminal equipment at a first moment; and the terminal equipment displays the image within the visual angle range of the terminal equipment at the second moment based on the information of the first visual angle image and the posture change and the position change of the terminal equipment from the first moment to the second moment. The time from the change of the posture and the position of the terminal equipment at the second moment to the display of the image within the visual angle range of the terminal equipment at the second moment by the terminal equipment can be effectively shortened, the display delay of the image can be reduced, and the user experience can be further improved.)

一种图像的显示方法、装置及系统

技术领域

本申请涉及图像显示技术领域,尤其涉及一种图像的显示方法、装置及系统。

背景技术

虚拟现实(virtual reality,VR)技术是一种可以创建和体验虚拟世界的计算机仿真系统,它利用计算机生成一种模拟环境,是一种多源信息融合的、交互式的三维动态视景和实体行为的系统仿真使用户沉浸到该环境中。

目前,为了能够达到较佳的用户体验,VR技术一般采用VR设备与本地高性能主机结合的方式,利用本地高性能主机实现应用逻辑运算、画面渲染等功能,最后向VR设备输出显示画面。但这种方式无疑增加了用户成本,致使VR技术不能被广泛的普及、用户群体受限。故而提出了Cloud VR(云化虚拟现实)方案,Cloud VR方案将云计算的理念与VR技术结合;Cloud VR方案中在云端设备中部署VR内容如应用数据、视频数据等,并在云端设备实现应用的逻辑运算、画面渲染等功能;用户只需拥有VR设备就可以体验各种VR应用,如VR游戏、VR电影等;Cloud VR方案可以有效降低用户消费成本、提升用户体验等优势。

但由于Cloud VR中将逻辑运算、画面渲染的功能转交给云端设备,VR设备只有在接收到云端设备处理后的视场角(field of view,FOV)图像,才能进行显示,无疑增加了显示延时;显示延时过长会降低用户体验。

发明内容

本申请提供一种图像的显示方法、装置及系统,用以解决现有技术Cloud VR中显示延时过长的问题。

第一方面,本申请实施例提供了一种图像的显示方法,所述方法包括:首先,终端设备向云端设备发送第一信息,所述第一信息需要指示所述终端设备在第一时刻的姿态与位置;之后,所述终端设备接收来自所述云端设备的第一视角图像的信息,所述第一视角图像为所述终端设备在所述第一时刻的姿态与位置对应的视角图像;在接收到所述第一视角图像之后,所述终端设备可以基于所述第一视角图像的信息以及所述终端设备从所述第一时刻到第二时刻的姿态变化与位置变化,显示所述第二时刻所述终端设备的视角范围内的图像,其中,所述第二时刻晚于所述第一时刻。

通过上述方法,所述终端设备接收到所述第一视角图像的信息后,可以通过所述第一视角图像的信息以及所述终端设备从所述第一时刻到第二时刻的姿态变化与位置变化,显示所述第一时刻之后的所述第二时刻所述终端设备的视角范围内的图像,而并不是显示所述第一时刻所述终端设备的视角范围内的图像,可以有效地缩短从所述终端设备在所述第二时刻的姿态和位置变化到所述终端设备显示所述第二时刻所述终端设备视角范围内的图像的时间,也即可以缩短图像的显示延时,进一步可以提高用户体验。

在一种可能的设计中,为了可以显示所述第二时刻所述终端设备的视角范围内的图像需要对所述第一视角图像进行转换;所述第一视角图像的信息需要包括所述第一视角图像,所述终端设备可以基于所述终端设备从所述第一时刻到所述第二时刻的位置变化,将所述第一视角图像转换为第二视角图像,所述第二视角图像为所述终端设备在所述第二时刻的位置对应的视角图像;也就是说,所述第二视角图像的视角范围大小与所述第一视角图像的视角范围大小是一致的,且较好地覆盖所述第二时刻所述终端设备所有可能的视角范围。之后,所述终端设备基于所述终端设备从所述第一时刻到所述第二时刻的姿态变化,显示所述第二视角图像中所述终端设备的视角范围内的图像。

通过上述方法,基于所述终端设备从所述第一时刻到所述第二时刻的位置变化,通过对所述第一视角图像的转换获取所述第二视角图像,能够更加方便地从所述第二视角图像确定所述第二时刻所述终端设备视角范围内的图像,进而可以减少所述第二时刻终端设备的姿态与位置发生变化,到显示所述第二时刻所述终端设备视角范围内的图像的时间,可以较好地改善用户体验。

在一种可能的设计中,所述终端设备在基于所述第一时刻和所述第二时刻所述终端设备的位置变化,将所述第一视角图像转换为所述第二视角图像时,先需要根据所述终端设备从所述第一时刻到所述第二时刻的位置变化,确定所述第二视角图像的深度信息以及所述第一视角图像转换为所述第二视角图像的像素变化信息;之后,所述终端设备根据所述第二视角图像的深度信息和所述像素变化信息,将所述第一视角图像转换为所述第二视角图像。

通过上述方法,通过所述终端设备从所述第一时刻到所述第二时刻的位置变化获得的所述第二视角图像的深度信息以及所述像素变化信息可以保证准确的将所述第一视角图像转换为的所述第二视角图像,之后,所述终端设备可以基于所述第二视角图像显示所述第二时刻所述终端设备视角范围内的图像,以减少显示延时。

在一种可能的设计中,在所述第二视角图像的深度信息以及所述像素变化信息时,具体需要通过如下方式:

所述第一视角图像的信息还包括深度信息,所述终端设备基于所述第一视角图像信息的深度信息,根据所述终端设备从所述第一时刻到所述第二时刻的位置变化,确定所述第二视角图像信息的深度信息;

所述第一视角图像的信息还包括运动矢量,所述运动矢量用于表征所述第一视角图像上像素的变化趋势,所述终端设备基于所述运动矢量,根据所述终端设备从所述第一时刻到所述第二时刻的位置变化,确定所述像素变化信息。

通过上述方法,根据所述第一视角图像的相关信息,如所述第一视角图像的深度信息和所述运动矢量,可以简单、方便地确定出所述第二视角图像的深度信息以及所述像素变化信息,可以保证后续将所述第一视角图像转换为所述第二视角图像,进一步,可以有效缩短显示延时。

在一种可能的设计中,所述终端设备显示所述第二时刻所述终端设备的视角范围内的图像之前,所述终端设备可以根据所述终端设备在所述第二时刻的姿态确定所述第二时刻所述终端设备的视角范围。

通过上述方法,可以保证所述终端设备准确的显示所述第二时刻所述终端设备的视角范围,能够改善用户体验。

在一种可能的设计中,所述第一视角图像包括所述第一时刻所述终端设备的视角范围内的图像,且所述第一视角图像的视角范围大于所述第一时刻所述终端设备的视角范围。

通过上述方法,所述第一视角图像的视角范围较大,可以保证在所述第一视角图像转换为所述第二视角图像后,所述第二视角图像可以覆盖较大的视角范围,其中可以包括所述第二时刻所述终端设备所有可能的视角范围内的图像,最终能够较好地显示所述第二时刻所述终端设备视角范围内的图像。

第二方面,本申请实施例提供了一种图像的显示方法,所述方法包括:首先,云端设备先接收来自终端设备的第一信息,所述第一信息用于指示第一时刻所述终端设备的姿态与位置;之后,所述云端设备根据所述第一信息对预存的所述终端设备的环境图像进行渲染获得第一视角图像,所述第一视角图像为所述终端设备在所述第一时刻的姿态与位置对应的视角图像;在渲染完成后,所述云端设备向所述终端设备发送所述第一视角图像的信息。

通过上述方法,所述云端设备接收到所述第一信息后,可以输出所述第一视角图像,在向所述终端设备发送所述第一视角图像时,还要携带所述第一视角图像的其他信息,以保证所述终端设备可以基于所述第一视角图像的信息以及所述终端设备从所述第一时刻到第二时刻的姿态变化与位置变化,显示所述第二时刻所述终端设备的视角范围内的图像,进一步,可以有效地缩短从所述终端设备在所述第二时刻的姿态和位置发生变化到所述终端设备显示所述第二时刻所述终端设备视角范围内的图像的时间,图像的显示延时可以变短,进一步可以提高用户体验。

在一种可能的设计中,所述第一视角图像的信息包括第一视角图像、深度信息和运动矢量。

通过上述方法,将所述第一视角图像的信息发送给所述终端设备,可以方便所述终端设备对所述第一视角图像进行转换,最后,所述终端设备可以较好地显示所述第二时刻所述终端设备视角范围内的图像,可以减少显示延时,能够提高用户体验。

一种可能的设计中,所述第一视角图像包括所述第一时刻所述终端设备的视角范围内的图像,且所述第一视角图像的视角范围大于所述第一时刻所述终端设备的视角范围。

通过上述方法,所述第一视角图像的视角范围较大,可以使得所述第一视角图像转换为的所述第二视角图像覆盖较大的视角范围,能够覆盖所述第二时刻所述终端设备所有可能的视角范围内的图像,最终能够较好的显示所述第二时刻所述终端设备视角范围内的图像。

第三方面,本申请实施例还提供了一种装置,所述装置应用于所述终端设备,有益效果可以参见第一方面的描述此处不再赘述。该装置具有实现上述第一方面的方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述装置的结构中包括发送单元、接收单元和显示单元,这些单元可以执行上述第一方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。

第四方面,本申请实施例还提供了一种装置,所述装置应用于云端设备,有益效果可以参见第二方面的描述此处不再赘述。该装置具有实现上述第二方面的方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述装置的结构中包括接收单元、处理单元和发送单元,这些单元可以执行上述第二方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。

第五方面,本申请实施例还提供了一种装置,所述装置应用于所述终端设备,有益效果可以参见第一方面的描述此处不再赘述。所述通信装置的结构中包括处理器和收发器,还可以包括存储器,所述处理器被配置为支持所述终端设备执行上述第一方面方法中相应的功能。所述存储器与所述处理器耦合,其保存所述通信装置必要的程序指令和数据。所述收发器,用于与其他设备进行通信,还可以包括显示器,用于接收所述处理器的指示,显示图像。

第六方面,本申请实施例还提供了一种装置,所述装置应用于所述云端设备,有益效果可以参见第二方面的描述此处不再赘述。所述装置的结构中包括处理器,还可以包括收发器或存储器,所述处理器被配置为支持所述终端设备执行上述第二方面方法中相应的功能。所述存储器与所述处理器耦合,其保存所述装置必要的程序指令和数据。所述收发器,用于与其他设备进行通信。

第七方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

第八方面,本申请还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

第九方面,本申请还提供一种计算机芯片,所述芯片与存储器相连,所述芯片用于读取并执行所述存储器中存储的软件程序,执行上述各方面所述的方法。

附图说明

图1为现有的Cloud VR方案的流程图;

图2为本申请提供的一种网络系统的架构示意图;

图3为本申请提供的一种图像的显示方法示意图;

图4为本申请提供的第一视角图像的视角范围和第一时刻终端设备的视角范围的示意图;

图5为本申请提供的一种图像的显示方法的流程图;

图6~图9为本申请提供的一种装置的结构示意图。

具体实施方式

本申请提供了一种图像的显示方法、设备及系统,用以解决现有技术中Cloud VR方案显示延时过长降低用户体验的问题。

现有的Cloud VR方案中云端设备可以实现应用的逻辑运算、画面渲染等功能,VR设备只是接收FOV图像,显示图像,下面对现有的Cloud VR方案的具体流程进行说明。

如图1所示,首先,所述VR设备中的追踪器对所述VR设备的姿态和位置进行捕捉,并将捕获到的姿态和位置的信息上传至所述云端设备。

所述云端设备会以固定的频率获取所述VR设备上传的姿态与位置的信息,并进行相应的刷新,当所述云端设备获取到所述VR设备上传的姿态与位置的信息后,会触发所述云端设备中的逻辑引擎开始进行逻辑运算。

所述云端设备中的逻辑引擎在进行了逻辑运算之后,将逻辑运算后获得的逻辑信息输出至所述云端设备中的渲染引擎;所述云端设备中的渲染引擎根据所述逻辑信息进行FOV图像渲染,输出渲染帧,将所述渲染帧发送至所述云端设备中的编码器,进行编码压缩等处理操作,所述云端设备中的编码器将处理后的渲染帧发送至所述云端设备中的封装推流模块。

所述云端设备中的封装推流模块对处理后的渲染帧进行封装,并推流发送至所述VR设备。

所述VR设备中的解封装模块接收到所述云端设备下发的数据,进行解包、解封装;将解封装后的数据发送给所述VR设备中的解码器。

所述VR设备中的解码器对解封装之后的数据进行解码,获得所述渲染帧,将所述渲染帧作为显示帧发送至所述VR设备中的显示模块。

所述VR设备中的显示模块对显示帧进行刷新显示。

由上,可以看出Cloud VR方案中将逻辑计算及画面渲染交付给所述云端设备,并在所述云端设备中增加编码压缩、封装以及推流发送等一系列处理操作。事实上,所述云端设备进行一系列处理操作与所述VR设备显示是串行执行的,只有当所述云端设备完成一系列处理操作(如逻辑运算、FOV图像渲染、编码压缩、封装等处理操作)之后,所述VR设备才能有新的图像显示;使得从所述VR设备的姿态与位置发生变化,到所述VR设备显示所述VR设备的姿态与位置对应的图像的时间增大,增加了显示延时,也就是说,针对一个时刻,所述VR设备在该时刻的姿态与位置的变化到显示该时刻下相应图像的时间变大;针对VR技术,显示延时是影响用户体验的一个重要因素,显示延时过大,会严重影响到用户体验。

需要说明的是,本申请实施例中的显示延时是指所述终端设备(如VR设备)的姿态与位置发生变化到所述终端设备显示相应图像的时间。

为此,本申请提出了一种图像的显示方法、装置及系统,可以有效缩短Cloud VR方案中的显示延时,进一步,提升用户体验,下面结合附图进行详细进行介绍。

如图2所示,为本申请实施例的一种网络系统的架构示意图,所述网络系统中包括云端设备和终端设备。

所述云端设备是部署在云端的远程服务器,所述云端设备需要具体较强的图像处理功能以及数据计算功能,例如可以执行渲染操作、逻辑运算功能等;所述云端设备可以是超多核服务器、部署有图形处理器(graphics processing unit,GPU)集群的计算机、大型的分布式计算机、硬件资源池化的集群计算机等等,在本申请实施例中所述云端设备可以根据终端设备的姿态和位置输出视角图像,并将视角图像的信息(如深度信息、运动矢量、视角图像等信息)传输给所述终端设备。

所述云端设备中还可以保存有所述终端设备的应用数据,如应用中的环境图像等数据。将所述终端设备的应用数据存储在所述云端设备,一方面可以减轻所述终端设备的数据存储压力,也可以保证所述终端设备中的应用数据的安全性,不易被窃取。

所述终端设备可以捕捉所述终端设备的姿态和位置,也可以通过显示器向用户显示VR应用中的图像,其中,所述终端设备可以在本地保存VR应用的数据,也可以不在本地保存VR应用的数据,而将VR应用的数据保存在所述云端设备,在需要运行VR应用时,通过所述云端设备加载VR应用的数据。

所述终端设备包括佩戴在用户的头部的设备,如VR眼镜、VR头盔等,还可以包括佩戴在用户的其他部位的设备,如佩戴在用户的手部、肘部、脚部、膝盖处的设备等,例如,游戏手柄等,在本申请实施例中所述终端设备也需要具有一定的图像处理能力以及图像显示能力,例如需要基于从所述云端设备获取的视角图像进行再投影,以获取能够显示的图像,并将图像呈现给用户,且所述终端设备需要捕捉所述终端设备的姿态与位置,具有一定的动作捕捉能力,如所述终端设备需要有触觉反馈、手势识别、眼动追踪等功能。

所述终端设备中包括的佩戴在用户的头部的设备,可以捕捉用户头部的变化,转换为所述终端设备的姿态与位置,还可以向用户显示所述终端设备视角范围内的图像;所述终端设备中包括的佩戴在用户的非头部的设备,可以捕捉用户其他部位的动作变化,并将其转换为所述终端设备的姿态与位置。

在本申请实施例中所述终端设备在第一时刻或第二时刻的姿态与位置,应当是由佩戴所述终端设备的用户运动所产生的所述终端设备的姿态与位置,所述终端设备在所述第一时刻或所述第二时刻的姿态与位置应当反映出用户的运动朝向及运动终止点。

基于如图2所示的网络系统,本申请实施例提供了一种图像的显示方法,如图3所示,所述方法包括:

步骤301:所述终端设备向所述云端设备发送第一信息,所述第一信息用于指示所述终端设备在第一时刻的姿态与位置。

所述终端设备的姿态与位置包括所述终端设备的姿态、所述终端设备的位置,所述终端设备的姿态是指所述终端设备在空间内的旋转状态,所述终端设备的姿态的表征方式有许多种,例如所述终端设备旋转时,所述终端设备的中心轴在空间的位置以及所述终端设备的中心轴转动的角度,又例如所述终端设备旋转时,所述终端设备在空间内互相垂直的三个面的上的投影面积等;所述终端设备的位置是指所述终端设备在空间内的位置,所述终端设备的位置的表征方式有许多种,例如所述终端设备三维坐标系中的坐标点,也可以采用其他方式,本申请实施例并不限定,凡是可以表征所述终端设备的姿态和位置均适用于本申请实施例。

所述终端设备在向所述云端设备发送所述第一信息之前,所述终端设备可以先获取所述终端设备在所述第一时刻的姿态与位置。

所述终端设备可以通过内置的装置获取所述终端设备在所述第一时刻的姿态与位置,也可以通过其他设备获取所述终端设备在所述第一时刻的姿态与位置,如当用户佩戴所述终端设备进行VR游戏时,可以在所述用户附近设置可以捕捉所述用户运动的设备,如传感器等。

一种可能的实施方式中,所述终端设备中可以部署有追踪器,所述终端设备中的追踪器能够捕捉所述终端设备的姿态和位置,捕捉的方式可以根据具体场景进行设置,例如所述终端设备中追踪器可以实时对所述终端设备的姿态和位置进行捕捉,也可以周期性地对所述终端设备的姿态和位置进行捕捉,所述终端设备也可以根据所述终端设备所运行的应用,在特点的时间点获取所述终端设备的姿态和位置,例如,当前所述终端设备运行的应用是具有一定节奏的跳舞游戏,只在特定的节奏点所述终端设备的姿态和位置才可能会发生改变,所述终端设备中的追踪器可以只在特定节奏点之前开始捕捉所述终端设备的姿态和位置。

在另一种可能的实施方式中,所述终端设备可以通过部署的传感器,如红外传感器、温度传感器,识别佩戴所述终端设备的用户在所述第一时刻的运动状态,所述部署的传感器可以实时地识别佩戴所述终端设备的用户的运动状态,检测到佩戴所述终端设备的用户的运动状态在所述第一时刻发生变化时,可以立即向所述终端设备发送所述佩戴所述终端设备的用户在所述第一时刻的运动状态,之后,所述终端设备将佩戴有所述终端设备的用户的运动状态转化为所述终端设备在所述第一时刻的姿态和位置,所述部署的传感器可以部署在佩戴所述终端设备的用户的附近,也可以部署在佩戴所述终端设备的用户的身体上。

上述通过追踪器和传感器获取所述终端设备在所述第一时刻的姿态与位置的方式均为举例说明,事实上,在实际应用中,可以通过许多方式获取所述终端设备在所述第一时刻的姿态与位置,本申请实施例并不限定,凡是可以获取所述终端设备在所述第一时刻的姿态与位置的方式均适用于本申请实施例。

在所述终端设备获取所述终端设备在所述第一时刻的姿态与位置后,所述终端设备可以直接向所述云端设备发送所述第一信息;又例如所述终端设备可以保留所述终端设备的历史时刻的姿态与位置,所述历史时刻的位置中至少包括所述终端设备在所述第一时刻之前的一个时刻的姿态与位置,所述终端设备也可以仅在所述终端设备在所述第一时刻的姿态与位置与所述终端设备在所述第一时刻之前的一个时刻的姿态与位置不同的情况下,向所述云端设备发送所述终端设备在所述第一时刻的姿态与位置。

步骤302:所述云端设备接收来自所述终端设备的所述第一信息后,所述云端设备根据所述第一信息对预存的所述终端设备的环境图像进行渲染获得第一视角图像,所述第一视角图像为所述终端设备在所述第一时刻的姿态与位置对应的视角图像。

在一种可能的实施方式中,所述云端设备在接收到所述第一信息后,所述云端设备可以周期性地对所述云端设备保存的所述终端设备的姿态与位置进行刷新;也就是说,以一定的频率对所述云端设备保存的所述终端设备的姿态与位置进行刷新,当所述云端设备在接收到所述第一信息后,并不一定立刻从所述第一信息获取所述终端设备在所述第一时刻的姿态与位置,而是在特定的时间点,从所述第一信息中获取所述终端设备在所述第一时刻的姿态与位置,并刷新所述云端设备在本地保存的所述终端设备的姿态与位置;所述云端设备也可以始终对所述云端设备保存的所述终端设备的姿态与位置进行刷新,只要接收到所述第一信息,便对所述云端设备保存的所述终端设备的姿态与位置进行刷新,以便可以一直获取所述终端设备的姿态与位置。

所述云端设备在接收到所述第一信息后,所述云端设备可以对所述终端设备在所述第一时刻的姿态与位置进行逻辑运算。

逻辑运算是指根据所述终端设备在所述第一时刻的姿态与位置,进行逻辑判断,确定所述终端设备在所述第一时刻所需显示的图像状态信息,所述终端设备在所述第一时刻所需显示的图像状态信息表征所述终端设备在所述第一时刻的姿态与位置引起的所应显示的图像的状态变化,其中包括所述终端设备在所述第一时刻所需显示的图像中包括的各个素材如人、物、背景等的状态信息。

如当前所述终端设备进行射击游戏,所述终端设备在所述第一时刻的姿态与位置的信息显示在进行射击,逻辑运算是获取当前的射击动作是否击中目标、击中的位置等信息。

具体的,所述云端设备中可以部署有逻辑引擎,所述云端设备中的逻辑引擎基于所述终端设备在所述第一时刻的姿态与位置进行逻辑运算,获得所述终端设备在所述第一时刻所需显示的图像状态信息。

所述云端设备中的逻辑引擎是所述云端设备中部署的逻辑运算模块,本申请实施例以逻辑引擎表示所述云端设备中的逻辑运算模块,所述云端设备中的逻辑运算模块也可以是一个单独的处理器;本申请实施例并不限定所述云端设备中的逻辑运算模块的具体表现形式和名称,凡是可以进行逻辑运算的模块均适用于本申请实施例。

所述云端设备基于所述终端设备在所述第一时刻所需显示的图像状态信息,对预存的所述终端设备的环境图像进行渲染。

所述云端设备可以预先保存所述终端设备的应用数据,如所述终端设备的应用的所有的环境图像,例如,所述终端设备的应用是某一个游戏应用,所述云端设备可以预先保存所述游戏应用中基本的环境图像,其中包括了游戏应用的人、物、背景等图像。

所述云端设备通过所述终端设备在所述第一时刻所需显示的图像状态信息,可以确定所述终端设备在所述第一时刻应显示的图像数据,其中包括图像所应显示的人、物、背景等图像,进而可以确定需要渲染的环境图像,并进行渲染,获得所述第一视角图像。

渲染可以简单理解为将三维虚拟空间的物体通过透视原理投影到一个平面形成双眼的视觉图像的过程。

具体的,所述云端设备中部署有渲染引擎,可以根据逻辑运算后的数据,对所述终端设备的环境图像进行渲染,获得所述第一视角图像。

所述云端设备中的渲染引擎是所述云端设备中部署的进行图像渲染的模块,本申请实施例以渲染引擎表示所述云端设备中的进行图像渲染的模块,所述云端设备中进行图像渲染的模块也可以是一个单独的图像处理器;本申请实施例并不限定所述云端设备中进行图像渲染的模块的具体表现形式和名称,凡是可以进行图像渲染的模块均适用于本申请实施例。

所述第一视角图像为所述终端设备在所述第一时刻的姿态与位置对应的视角图像,具体的,所述第一视角图像中包括所述第一时刻所述终端设备的视角范围内的图像,且所述第一视角图像的视角范围应大于所述第一时刻所述终端设备的视角范围。

所述第一视角图像的视角范围是所述第一视角图像可显示的最大视角范围,举例来说,所述第一视角图像的视角范围可以看作是以所述第一时刻所述终端设备所在位置为顶点,所述第一视角图像所显示的位于图像边缘的各个素材在三维空间内到所述终端设备的空间范围;可以理解为所述第一视角图像的视角范围为所述第一视角图像所显示的位于图像边缘的各个素材在三维空间内与所述终端设备所在位置的连线构成的空间大小。

所述第一时刻所述终端设备的视角范围指以所述第一时刻所述终端设备能够观测的空间范围,所述终端设备的视角范围的大小可以是预设的,例如在所述终端设备出厂时可以设置以人眼的视野范围作为所述终端设备的视角范围,或某一固定大小的视场角作为所述终端设备的视角范围。

作为一种可能的实施方式,所述第一时刻所述终端设备的视角范围也可以是用户根据自身的需要设置的,本申请实施例对所述一时刻所述终端设备的视角范围的设置方式不做限定。

为了便于理解所述第一视角范围的视角范围与所述第一时刻所述终端设备的视角范围的关系,下面以图示的方式进行说明,如图4所示,为所述第一视角图像的视角范围与所述第一时刻所述终端设备的视角范围的示意图,也就是说,所述第一视角图像中需要覆盖所述第一时刻所述终端设备的视角范围内的图像,且还需要包括所述第一时刻所述终端设备视角范围以外的部分图像。

所述终端设备视角范围以外的部分图像的范围可以是以所述终端设备的视角范围为中心均匀扩展的,也可以是以所述终端设备的视角范围为起点以朝向某一特定方向扩展的,可以根据所述终端设备在所述第一时刻的姿态与位置来确定,如当所述终端设备在所述第一时刻以到达一侧的临界位置,则所述终端设备视角范围以外的部分图像的范围可以是以所述终端设备的视角范围为起点,向另一侧扩展的。

应需理解的是,所述第一视角图像的视角范围和所述第一时刻所述终端设备的视角范围通常是立体的范围,如通常可以抽象为圆锥体,圆锥体的顶点为所述终端设备,圆锥体的底面为图像可显示的范围。所述第一视角图像的视角范围对应的圆锥体的顶角需要大于所述第一时刻所述终端设备的视角范围对应的圆锥体。

由于所述终端设备需要根据第一视角图像显示所述第二时刻所述终端设备的视角范围内的图像,则需要所述第一视角图像的视角范围要大于所述第一时刻所述终端设备的视角范围,才可以保证所述终端设备能够更加准确地输出所述第二时刻所述终端设备的视角范围内的图像。

示例性的,为了能够使得所述第一视角图像的视角范围更大,所述第一视角图像的视角范围可以比所述终端设备的视角范围在各个方向均大。具体的,所述第一视角图像的视角范围比所述终端设备的视角范围在各个方向扩展的角度可根据实际场景进行设定。

所述云端设备在对预存的所述终端设备的环境图像进行渲染的过程中还可以产生所述第一视角图像的深度信息,所述深度信息用于指示所述第一视角图像所显示的各个素材(如人、物、背景图像等)到所述终端设备的距离。如所述第一视角图像中包括人物A,则所述深度信息中包括了人物A到所述终端设备距离。

所述终端设备可以显示图像,事实上,所述终端设备可以抽象为一个相机,所述终端设备显示的图像即为所述相机能够拍摄出的图像,所述相机的位置为所述用户在VR应用中所处的位置;所述深度信息可以理解为述第一视角图像所显示的各个素材(如人、物、背景图像等)到所述虚拟相机的距离。

可选的,所述第一视角图像的深度信息可以是所述第一视角图像的深度图。

所述云端设备还可以获得所述第一视角图像的运动矢量,所述运动矢量用于表征所述第一视角图像上像素的变化趋势,也就是说所述第一视角图像上各个像素均会有一定的移动趋势,所述云端设备需要预测出所述第一视角图像上各个像素的移动趋势,将各个像素的移动趋势转化为所述运动矢量。

在具体实施中,所述第一视角图像中的各个像素是成块进行处理的,也就是说,多个像素构成一个像素块,可以认为所述像素块中的多个像素移动趋势一样。

为了更便捷地指示所述第一视角图像上像素的变化趋势,所述运动矢量用于表征所述第一视角图像上像素块的变化趋势。

所述第一视角图像的运动矢量是在对所述第一视角图像进行编码压缩获取的,在所述云端设备在进行编码压缩的过程中会产生多帧图像,其中包括所述第一视角图像以及所述第一视角图像的临近帧的图像。获取所述第一视角图像的运动矢量的具体过程如下:

所述云端设备需要获取所述第一视角图像的临近帧的图像(如,所述第一视角图像的前一帧图像或所述第一视角图像的前几帧图像中的一帧),将所述第一视角图像分为若干像素块,搜索每个像素块在所述第一视角图像的临近帧的图像中的位置,从而可以计算出所述第一视角图像的临近帧的图像到所述第一视角图像,同一像素块的空间位置的相对偏移量,各个像素块的相对偏移量则可以构成所述第一视角图像的运动矢量。

所述云端设备在获得所述第一视角图像、所述第一视角图像的深度信息以及所述运动矢量后,可以将上述信息的部分或全部作为所述第一视角图像的信息,之后将所述第一视角图像的信息发送给所述终端设备。

可选的,为了能够高效地将所述第一视角图像的信息发送给所述终端设备,所述云端设备可以对所述第一视角图像进行编码压缩,以保证在数据传输时占用较少的资源,进而,可以提高数据传输的效率。

所述云端设备中可以部署有编码器,用于实现对所述第一视角图像的编码压缩。

由于所述第一视角图像与所述第一视角图像的深度信息、以及所述运动矢量有一定的对应关系,所述云端设备可以对所述第一视角图像的信息进行封装,之后再向所述终端设备发送封装后的所述第一视角图像的信息。

步骤303:所述云端设备向所述终端设备发送所述第一视角图像的信息,所述第一视角图像为所述终端设备在所述第一时刻的姿态与位置对应的视角图像。

所述云端设备中可以部署有封装推流模块,用于实现对所述第一视角图像的信息进行封装,所述云设备中的封装推流模块还可以向所述终端设备推送封装后的所述第一视角图像的信息。

作为一种可能的实施方式,所述第一视角图像的信息中还可以包括所述终端设备在所述第一时刻的姿态与位置的信息,以便于所述终端设备在接收到所述第一视角图像的信息后,可以明确地确定出所述第一视角图像是所述终端设备在所述第一时刻的姿态与位置对应的视角图像。

所述第一视角图像的信息中也可以不携带所述终端设备在所述第一时刻的姿态与位置的信息,当所述终端设备在向所述云端设备发送所述第一信息时,所述终端设备可以保存所述终端设备在所述第一时刻的姿态与位置的信息,当所述终端设备接收到所述第一视角图像的信息时,则可以从本地获取所述终端设备在所述第一时刻的姿态与位置的信息。

需要说明的是,当所述云端设备是以一定的频率接收来自所述终端设备的信息时,所述终端设备发送的所述第一信息并不一定被所述云端设备接收,也就是说,所述终端设备发送所述第一信息的时间点并未到达所述云端设备的接收信息的时间点,为了能够在所述第一视角图像的信息中不携带所述终端设备在所述第一时刻的姿态与位置的信息的情况下,所述终端设备能够明确所述第一视角图像是所述终端设备在所述第一时刻的姿态与位置对应的视角图像,所述云端设备可以在成功接收到所述第一信息情况下,向所述终端设备发送响应消息,用于通知所述终端设备已成功接收所述第一信息,在接收到所述响应消息后,所述终端设备保存所述终端设备在所述第一时刻的姿态与位置的信息;所述终端设备也可以根据所述云端设备接收信息的频率或刷新本地保存的所述终端设备的姿态与位置的频率向所述云端设备发送所述第一信息,也就是说,所述终端设备发送的所述第一信息所述云端设备均能收到,且均可以根据所述终端设备在所述第一时刻的姿态与位置对预存的所述终端设备的环境图像进行渲染,获得所述第一视角图像,这样所述云端设备在向所述终端设备下发所述第一视角图像的信息时,所述终端设备可以确定所述第一视角图像对应的所述终端设备在所述第一时刻的姿态与位置。

上述所述终端设备获取所述终端设备在所述第一时刻的姿态与位置方式仅是举例说明,凡是可以使得所述终端设备在接收到所述第一视角图像的信息时,确定所述第一视角图像的信息是所述终端设备在所述第一时刻的姿态与位置对应的视角图像的方式均适用于本申请实施例。

步骤304:所述终端设备接收来自所述云端设备的所述视角图像的信息后,所述终端设备基于所述第一视角图像的信息以及所述终端设备从所述第一时刻到所述第二时刻的姿态变化与位置变化,显示所述第二时刻所述终端设备的视角范围内的图像,所述第二时刻晚于所述第一时刻。

若所述云端设备对所述第一视角图像的信息进行了封装,则所述终端设备需要对封装后的所述第一视角图像的信息进行解封装。

也就是说,所述终端设备中可以部署解封装模块,用于对接收到的封装后的所述第一视角图像的信息进行解封装,获得所述第一视角图像的信息。

若所述云端设备对所述第一视角图像进行了编码压缩,则所述终端设备还需要对编码压缩后的第一视角图像进行解码,获得所述第一视角图像。

由于从所述终端设备向所述云端设备发送所述第一信息,到所述终端设备接收到所述第一视角图像的信息,所述终端设备的姿态与位置可能发生了变化,也就是说,所述终端设备的姿态与位置已经从在所述第一时刻的姿态与位置变为在所述第二时刻的姿态与位置。

为了保证所述终端设备能够正确地显示图像,缩小显示延时,所述终端设备应该显示所述第二时刻所述终端设备的视角范围内的图像;为了能够正常显示图像,所述终端设备需要借助所述终端设备在所述第二时刻的姿态与位置和接收到的所述第一视角图像的信息。

首先,所述终端设备需要获取所述终端设备在所述第二时刻的姿态与位置,示例性的,所述终端设备可以通过所述追踪器或传感器获取所述终端设备在所述第二时刻的姿态与位置,所述终端设备需要获取所述终端设备在所述第二时刻的姿态与位置的方式与所述终端设备需要获取所述终端设备在所述第一时刻的姿态与位置的方式相同,具体可参见前述内容,此处不再赘述。

所述终端设备除了获取所述终端设备在所述第二时刻的姿态与位置,还需要确定所述终端设备在所述第一时刻的姿态与位置,所述终端设备确定所述终端设备在所述第一时刻的姿态与位置的方式可参见步骤303中的描述,此处不再赘述。

所述终端设备在确定了所述终端设备在所述第二时刻的姿态与位置和所述终端设备在所述第一时刻的姿态与位置,可以确定所述终端设备从所述第一时刻到所述第二时刻的姿态变化与位置变化。

所述终端设备可以获知所述终端设备从所述第一时刻到所述第二时刻的姿态变化和位置变化,也就是说可以确定出所述终端设备从所述第一时刻到所述第二时刻的旋转状态的变化,以及在空间的位置变化。

之后,所述终端设备可以基于所述终端设备从所述第一时刻到所述第二时刻的位置变化,将所述第一视角图像转换为第二视角图像,其中,所述第二视角图像为所述终端设备在所述第二时刻的姿态与位置对应的视角图像。

所述终端设备在获知了所述终端设备在所述终端设备从所述第一时刻到所述第二时刻在空间的位置变化,可对所述第一视角图像所显示的素材进行一定的移动。如此可以获得所述第二视角图像,由于所述第一视角图像的视角范围大于所述终端设备的视角范围,在进行了一定的旋转和移动后获得的所述第二视角图像对应的是所述终端设备在所述第二时刻的位置,且所述第二视角图像的视角范围与所述第一视角图像的视角范围一致,且大于所述第二时刻所述终端设备的视角范围。

应需理解的是,由于所述第一视角图像的视角范围是在所述终端设备的视角范围进行了一定的扩展,在进行扩展时,扩展的范围大小可以考虑到所述终端设备在所述第一时刻和所述第二时刻内所述终端设备可能的移动的最大范围,如此可以保证所述第一视角图像在转换为所述第二视角图像后,所述第二视角图像可以覆盖到所述终端设备在所述第二时刻所有可能的视角范围内的图像。

而所述第一视角图像的视角范围可以是预先设置的,在预先设置所述第一视角图像的视角范围时,所述云端设备提前预估从接收到来自所述终端设备的信息,到输出视角图像的信息之间的时间,根据预估的所述时间确定出所述终端设备可能的移动范围,再确定所述第一视角图像的视角范围。

可选的,若所述第一视角图像的视角范围大于所述第一时刻所述终端设备的视角范围,由于第一视角图像的视角范围更大,使得所述第二视角图像可以更好地覆盖到所述终端设备在所述第二时刻所有可能的视角范围内的图像,进而,所述终端设备可以更加准确地显示所述第二时刻所述终端设备的视角范围内的图像,使得用户体验变好。

所述终端设备在转换获得所述第二视角图像后,所述终端设备可以从所述第二视角图像中确定所述终端设备视角范围内的图像,之后就可以显示所述第二视角图像中所述终端设备的视角范围内的图像。

具体的,所述终端设备将所述第一视角图像转换为所述第二视角图像时,需要先获取所述第二视角图像的深度信息以及所述第一视角图像转换为所述第二视角图像的像素变化信息。

所述第一视角图像信息转换为所述第二视角图像的像素变化信息是指所述第一视角图像转换为所述第二视角图像后,所述第一视角图像的任一像素在转换前后的相对位置的变化,由于像素变化通常是以块移动,所述像素变化信息可以是所述第一视角图像的各个像素块在转后前后的相对位置的变化。

之后,所述终端设备根据所述第二视角图像的深度信息和所述像素变化信息,对所述第一视角图像进行调整,将所述第一视角图像转换为所述第二视角图像。

具体的,分为如下两个操作:

一、所述终端设备根据所述第二视角图像的深度信息,可以对所述第一视角图像的深度信息进行调整,对所述第一视角图像所显示的各个素材的到所述终端设备的距离进行调整。

二、所述终端设备根据所述像素变化信息,对所述第一视角图像的各个像素的位置进行调整。

上述两个操作可以同时进行,也可以先后进行,执行的顺序本申请实施例不做限制。

下面对所述终端设备获取所述第二视角图像的深度信息以及所述像素变化信息的方式进行说明:

第一、所述第二视角图像的深度信息。

所述终端设备基于所述第一视角图像信息的深度信息,可以根据所述终端设备从所述第一时刻到所述第二时刻的位置变化,确定所述第二视角图像信息的深度信息。

具体的,由于视角图像的深度信息是与所述终端设备的位置相关,故所述终端设备可以确定所述终端设备从所述第一时刻到所述第二时刻的位置变化,之后,再基于所述第一视角图像信息的深度信息,可以确定所述第二视角图像信息的深度信息,进而可以确定所述第二视角图像所应显示各个的素材的前后遮挡关系。

所述第二视角图像的深度信息用于指示所述第二视角图像所显示的各个素材(如人、物、背景图像等)到所述相机(所述相机为所述终端设备抽象的,具体描述可参见对所述第一视角图像的深度信息中关于所述相机的相关描述,此处不再赘述)的距离。如所述第二视角图像中包括人物B,则所述深度信息中包括了人物B到所述终端设备距离。

可选的,所述第二视角图像的深度信息可以是所述第二视角图像的深度图。

第二、所述像素变化信息。

所述终端设备基于所述运动矢量,可以根据所述终端设备从所述第一时刻到所述第二时刻的位置变化,确定所述像素变化信息。

具体的,由于像素变化是由于所述终端设备的位置的变化引起,故所述终端设备可以确定所述终端设备从所述第一时刻到所述第二时刻的位置变化,之后,基于所述第一视角图像信息的各个像素的位置以及所述运动矢量,可以确定出所述像素变化信息。

所述第一视角图像所显示的各个素材中由于前后位置的不同,存在一些遮挡区域,基于所述第二视角图像的深度信息和所述像素变化信息可以判断这些遮挡区域在所述第一图在转换为所述第二视角图像后是否可见,对于转换后可见的所述遮挡部分需要进行恢复,也就是说需要对像素进行插值,以显示图像。

在根据所述第二时刻深度信息和所述像素变化信息确定所述第二视角图像后,可以基于所述终端设备从所述第一时刻到所述第二时刻的姿态变化,显示所述第二视角图像中所述终端设备的视角范围内的图像。

所述终端设备根据所述终端设备从所述第一时刻到所述第二时刻的姿态变化可以确定所述终端设备从所述第一时刻到所述第二时刻所述终端设备的视角范围的变化,之后便可以根据所述终端设备的视角范围的变化显示第二视角图像中所述终端设备的视角范围内的图像。

具体的,由于所述第二视角图像的视角范围要大于所述第二时刻所述终端设备的视角范围,为了能够显示所述第二时刻所述终端设备视角范围内的图像,所述终端设备需要确定所述第二时刻所述终端设备的视角范围。

具体的,所述终端设备根据所述终端设备在所述第二时刻的姿态确定所述第二时刻所述终端设备的视角范围。

由于所述终端设备的姿态会影响到所述终端设备的视角范围,所述终端设备可以确定所述终端设备在所述第二时刻的姿态,之后,就可以根据所述终端设备在所述第二时刻的姿态确定所述第二时刻所述终端设备的视角范围。

在将所述第一视角图像转换为所述第二视角图像的过程中,只考虑了所述终端设备的位置变化,为了能够最终显示出所述终端设备在所述第二时刻视角范围内的图像,需要通过所述终端设备从所述第一时刻到所述第二时刻的姿态变化,根据所述终端设备从所述第一时刻到所述第二时刻的姿态变化能够确定所述第一时刻到所述第二时刻视角范围的变化,进而,可以确定所述第二时刻所述终端设备的视角范围;基于所述第二视角图像,根据所述第二时刻所述终端设备的视角范围就可以确定所述终端设备在所述第二时刻视角范围内的图像,之后就可以显示所述第二时刻所述终端设备的视角范围内的图像。

在本申请实施例中,所述终端设备在接收到所述终端设备在所述第一时刻的姿态与位置对应的视角图像后,可以根据从所述第一时刻到所述第二时刻的姿态变化与位置变化,显示所述第二时刻所述终端设备的视角范围内的图像,相比于现有的串行显示的方案,能够有效缩短显示延时,可以保证较佳的用户体验。

下面将所述终端设备确定所述第二时刻所述终端设备的视角范围内的图像的过程结合具体的数据进行进一步的说明:

以四元数(rX,rY,rZ,w)表示所述终端设备的姿态,其中rX、rY、rZ分别表示所述终端设备旋转时的旋转轴分别在x轴、y轴、z轴的分量,w表示沿着旋转轴旋转的角度;(pX,pY,pZ)表示所述终端设备的位置信息,pX,pY,pZ分别表示所述终端设备在x轴、y轴、z轴的分量。

假设所述第一视角图像的图像矩阵为S,所述终端设备在所述第一时刻的姿态为Rs=(rXs,rYs,rZs,ws),位置为Ps=(pXs,pYs,pZs),所述第一视角图像的深度信息为Ds,所述运动矢量为Ms,其中,所述Ds和所述Ms均为矩阵,所述终端设备在所述第二时刻的姿态为Rt=(rXt,rYt,rZt,wt),位置为Pt=(pXt,pYt,pZt),所述第二时刻所述终端设备的视角范围内的图像的图像矩阵为T。

首先,根据所述终端设备的位置变化ΔP、所述第一视角图像及其深度信息Ds、所述运动矢量Ms,获得所述第二视角图像。

具体分为如下几步:

第一步、计算所述终端设备从所述第一时刻到所述第二时刻的位置变化ΔP,其中,ΔP=Pt-Ps

第二步、由所述第一视角图像的深度信息Ds可确定所述第一视角图像中某个像素点的三维坐标Ppixel=(pXpixel,pYpixel,pZpixel)。根据所述终端位置的位置变化,可以确定所述第二视角图像中的每个像素点Ppixel的深度值dt=‖Pt-Ppixel‖,也就是说可以确定所述第二视角图像的深度信息Dt

第三步、根据所述运动矢量Ms、所述终端设备的位置变化ΔP,可以确定所述像素变化信息Ms·(ΔP/ΔP′),其中,ΔP′为所述第一视角图像临近帧对应的所述终端设备的位置到所述第一时刻所述终端设备的位置的变化。

第四步、对所述第一视角图像的各个像素进行调整获得像素调整后的图像矩阵T0,其中,

Figure BDA0001780739770000131

第五步、根据所述第二视角图像的深度信息Dt,对像素调整后的图像矩阵T0进行调整,最终获得所述第二视角图像的图像矩阵T0

转换获得所述第二视角图像后,确定所述第二时刻所述终端设备的视角范围内的图像。

具体的,计算所述终端设备从所述第一时刻到所述第二时刻的姿态变化ΔR,其中,ΔR=Rt-Rs,并ΔR将转化为旋转矩阵ΔRr

根据所述旋转矩阵ΔRr获得所述第二时刻所述终端设备的视角范围内的图像的图像矩阵T,其中,T0·ΔRr→T。

如图5所示,为本申请实施例提供的一种图像的显示方法的流程示意图。

步骤501、首先,所述终端设备中的追踪器捕捉到所述终端设备在所述第一时刻的姿态与位置后,向所述云端设备上传所述终端设备在所述第一时刻的姿态与位置的信息(可以看做发送所述第一信息)。

步骤502、所述云端设备周期性地接收来自所述终端设备的信息,在接收的时间点接收所述终端设备在所述第一时刻的姿态与位置的信息,触发所述云端设备中的逻辑引擎进行逻辑运算。

步骤503、之后,所述逻辑引擎将逻辑运算后的数据发送至所述云端设备中的渲染引擎,将所述终端设备在所述第一时刻的姿态与位置的信息发送至所述云端设备中的封装推流模块。

步骤504、所述云端设备中的渲染引擎执行渲染操作,获得所述第一视角图像,且所述第一视角图像包括所述第一时刻所述终端设备的视角范围内的图像,且所述第一视角图像的视角范围大于所述第一时刻所述终端设备的视角范围。

步骤505、所述云端设备中的渲染引擎在渲染过程中,产生所述第一视角图像的深度信息,所述云端设备中的渲染引擎将所述第一视角图像发送给所述云端设备中的编码器,将述第一视角图像的深度信息发送至所述云端设备中的封装推流模块。

步骤506、所述云端设备中的编码器对所述第一视角图像进行编码压缩,并输出所述运动矢量;将所述运动矢量和编码压缩后的所述第一视角图像发送给所述云端设备中的封装推流模块。

步骤507、所述云端设备中的封装推流模型在接收到所述终端设备在所述第一时刻的姿态与位置的信息、编码压缩后的所述第一视角图像、所述第一视角图像的深度信息以及所述运动矢量之后,将所述终端设备在所述第一时刻的姿态与位置的信息、编码压缩后的所述第一视角图像、所述第一视角图像的深度信息以及所述运动矢量作为所述第一视角图像的信息,并进行封装,将封装后的所述第一视角图像的信息发送给所述终端设备。

步骤508、所述终端设备接收到封装后的所述第一视角图像的信息,封装后的所述第一视角图像的信息到达所述终端设备中的解封装模块,所述终端设备中的解封装模块对封装后的所述第一视角图像的信息进行解封装,获得所述第一视角图像的信息,将所述第一视角图像的信息发送至所述终端设备中的解码器。

步骤509、所述终端设备中的解封装模块将所述终端设备在所述第一时刻的姿态与位置的信息和所述第一视角图像的深度信息发送至所述终端设备中的图像处理系统。

步骤5010、所述解码器对编码压缩后的所述第一视角图像进行解码,获得所述第一视角图像,并输出所述运动矢量,将所述第一视角图像、所述运动矢量发送至所述终端设备中的图像处理系统。

步骤5011、当前处于第二时刻,所述终端设备中的追踪器捕捉到所述终端设备在所述第二时刻的姿态与位置后,向所述终端设备中的图像处理模块发送所述终端设备在所述第二时刻的姿态与位置的信息。

步骤5012、在所述终端设备中的图像处理系统中,所述图像处理系统根据所述终端设备在所述第一时刻的姿态与位置和所述终端设备在所述第二时刻的姿态与位置,确定所述终端设备从所述第一时刻到所述第二时刻的姿态变化和位置变化;根据所述终端设备从所述第一时刻到所述第二时刻的位置变化、所述第一视角图像的深度信息、所述运动矢量确实所述第二视角图像的深度信息和所述第一视角图像转换为所述第二视角图像的像素变化信息;根据所述第二视角图像的深度信息和所述像素变化信息,将所述第一视角图像转换为所述第二视角图像;根据所述终端设备从所述第一时刻到所述第二时刻的姿态变化,确定所述第二时刻所述终端设备的视角范围,进而确定所述第二视角图像中所述终端设备的视角范围内的图像。

步骤5013、所述终端设备中的图像处理系统将所述第二视角图像中所述终端设备的视角范围内的图像发送至所述终端设备中的显示模块。

步骤5014、所述终端设备中的显示模块显示所述第二视角图像中所述终端设备的视角范围内的图像。

需要说明的是,在所述终端设备中的图像处理系统,所述图像处理系统基于所述第一视角图像的信息以及所述终端设备从所述第一时刻到所述第二时刻的姿态变化与位置变化,确定所述第二时刻所述终端设备的视角范围内的图像,是对所述第一视角图像的一次再投影操作,以获取所述第二时刻所述终端设备的视角范围内的图像,为了便于理解,将所述终端设备中图像处理系统的操作过程称为二次投影。

为了衡量VR技术中的显示延时引入了MTP时延的概念,运动到显示(motion tophoton,MTP)时延是指用户佩戴的所述终端设备发生运动(其中涉及所述终端设备的姿态变化与位置变化)到用户看见的图像会发生变化的时间差,当所述MTP时延不大于20ms可以较好地规避运动与感知不匹配导致的晕动症。

采用本申请实施例提供的图像的显示方法可以有效的缩减显示延时,也就是说可以对Cloud VR方案的MTP时延进行有效优化,进而,可以较好地改善Cloud VR方案容易引起用户晕动症问题。

以所述终端设备捕捉所述终端设备的姿态与位置的时延、所述终端设备向所述云端设备上传所述终端设备的姿态与位置的时延、所述云端设备进行渲染并将图像数据下发到所述终端设备的时延之和预估为30~50ms,所述终端设备的图像显示帧率为90Hz为例,若采用现有的云端设备渲染和终端设备显示串行的方式,现有的Cloud VR方案的MTP时延预估为36~68ms,也就是说,针对一个时刻,所述终端设备在该时刻的姿态与位置发生变化到所述终端设备接收并显示所述终端设备在该时刻的图像的时延预估为36~68ms,其中,包括了所述终端设备捕捉所述终端设备的姿态与位置的时延、所述终端设备向所述云端设备上传所述终端设备的姿态和位置的时延、所述云端设备进行渲染及下发图像的时延及所述终端设备显示图像的预估时延6~18ms。而采用本申请实施例提供的图像的显示方法,由于所述云端设备进行渲染和下发所述第一视角图像的信息与所述终端设备显示图像的过程转换为并行处理,且所述云端设备与所述终端设备是协调处理的关系,应用本申请实施例提供的图像的显示方法的Cloud VR方案的MTP时延与所述终端设备捕捉所述终端设备的姿态与位置的时延、所述终端设备向所述云端设备上传所述终端设备的姿态与位置的时延以及所述云端设备渲染和下发图像的时延无关,只与所述终端设备相关,所述终端设备的第一时刻的姿态与位置发生变化,所述终端设备将所述第一时刻的姿态与位置上传至所述云端设备,所述终端设备根据从所述云端设备获取的所述第一时刻的视角图像,显示并不是所述第一时刻所述终端设备视角范围内的图像,而是所述第一时刻之后的第二时刻所述终端设备视角范围内的图像,如此,所述终端设备从第二时刻姿态与位置发生变化到显示所述终端设备在第二时刻视角范围内的图像的时间会减少,也就是说,针对一个时刻,所述终端设备从该时刻姿态与位置发生变化到显示所述终端设备在该时刻视角范围内的图像的时延变短,此时Cloud VR方案中的MTP时延会有效减少,MTP时延预估为10~25ms,其中包括所述终端设备的姿态与位置捕捉预估时延1ms、二次投影的预估时延3~5ms及刷新显示的图像的预估时延6~18ms。

基于与方法实施例的同一发明构思,本发明实施例提供一种装置600,具体用于实现上述方法实施例中所述终端设备执行的方法,该装置的结构如图6所示,包括发送单元601、接收单元602和显示单元603,其中:

所述发送单元601,用于向云端设备发送第一信息,所述第一信息用于指示终端设备在第一时刻的姿态与位置。

所述接收单元602,用于接收来自所述云端设备的第一视角图像的信息,所述第一视角图像为所述终端设备在所述第一时刻的姿态与位置对应的视角图像。

所述显示单元603,用于基于所述第一视角图像的信息以及所述终端设备从所述第一时刻到第二时刻的姿态变化与位置变化,显示所述第二时刻所述终端设备的视角范围内的图像,所述第二时刻晚于所述第一时刻。

一种可能的实施方式中,所述接收单元602可以包括解封装单元(所述解封装单元也可以称为解封装模块),所述云端设备对所述第一视角图像的信息进行了封装,则所述解封装单元需要对封装后的所述第一视角图像的信息进行解封装。

所述显示单元603为了能够显示所述第二时刻所述终端设备的视角范围内的图像需要先对所述第一视角图像进行转换,具体过程如下:

所述第一视角图像的信息需包括所述第一视角图像,所述显示单元603可以基于所述终端设备从所述第一时刻到所述第二时刻的位置变化,将所述第一视角图像转换为第二视角图像,所述第二视角图像为所述终端设备在所述第二时刻的姿态与位置对应的视角图像。

之后,所述显示单元603基于所述终端设备从所述第一时刻到所述第二时刻的姿态变化,显示所述第二视角图像中所述终端设备的视角范围内的图像。

当所述显示单元603将所述第一视角图像转换为所述第二视角图像时,需要基于所述第一时刻和所述第二时刻所述终端设备的位置变化确定两个参数,分别为所述第二视角图像的深度信息以及所述第一视角图像转换为所述第二视角图像的像素变化信息。

所述显示单元603可以根据所述终端设备从所述第一时刻到所述第二时刻的位置变化,确定所述第二视角图像的深度信息以及所述第一视角图像转换为所述第二视角图像的像素变化信息。之后,再根据所述第二视角图像的深度信息和所述像素变化信息,将所述第一视角图像转换为所述第二视角图像。

一种可能的实施方式中,所述显示单元603确定所述第二视角图像的深度信息以及所述第一视角图像转换为所述第二视角图像的像素变化信息的方式如下:

所述第一视角图像的信息还包括深度信息,基于所述第一视角图像信息的深度信息,根据所述终端设备从所述第一时刻到所述第二时刻的位置变化,确定所述第二视角图像信息的深度信息。

所述第一视角图像的信息还包括运动矢量,所述运动矢量用于表征所述第一视角图像上像素的变化趋势,所述显示单元603基于所述运动矢量,根据所述终端设备从所述第一时刻到所述第二时刻的位置变化,确定所述像素变化信息。

具体的,所述第一视角图像中可以包括所述第一时刻所述终端设备的视角范围内的图像,所述第一视角图像的视角范围还需要大于所述第一时刻所述终端设备的视角范围,以保证所述第一视角图像可以将尽可能覆盖所述第二时刻所述终端设备所有可能的视角范围内的图像。

所述显示单元603在显示所述第二时刻所述终端设备的视角范围内的图像之前,需要根据所述终端设备在所述第二时刻的姿态确定所述第二时刻所述终端设备的视角范围,以便可以从所述第二视角图像中确定所述第二时刻所述终端设备视角范围内的图像。

可选的,所述显示单元603中可以包括解码单元,如所述解码单元可以为所述解码器,所述解码单元用于对编码压缩后的所述第一视角图像进行解码。

所述显示单元603中还可以包括图像处理单元,用于根据所述第一视角图像的信息进行二次投影获取所述终端设备第二时刻视角范围内的图像。所述图像处理单元用于实现方法实施例中图像处理系统所执行的方法,具体可参见前述内容,此处不再赘述。

基于与方法实施例的同一发明构思,本发明实施例提供一种装置700,具体用于实现上述方法实施例中所述云端设备执行的方法,该装置的结构如图7所示,包括接收单元701、处理单元702和发送单元703,其中:

所述接收单元701,用于接收来自终端设备的第一信息,所述第一信息用于指示第一时刻所述终端设备的姿态与位置。

所述处理单元702,用于根据所述第一信息对预存的所述终端设备的环境图像进行渲染获得第一视角图像,所述第一视角图像为所述终端设备在所述第一时刻的姿态与位置对应的视角图像。

所述发送单元703,用于向所述终端设备发送所述第一视角图像的信息。

一种可能的实施方式中,所述发送单元703中可以包括封装推流单元(所述封装推流单元可以称为所述封装推流模块),所述封装推流模块用于实现对所述第一视角图像的信息进行封装,并可以将封装后的所述第一视角图像的信息发送给所述终端设备。

可选地,所述第一视角图像的信息包括所述第一视角图像;所述第一视角图像的信息还可以包括深度信息和运动矢量。

其中,所述第一视角图像包括所述第一时刻所述终端设备的视角范围内的图像,且所述第一视角图像的视角范围大于所述第一时刻所述终端设备的视角范围。

可选的,所述处理单元702中可以包括逻辑运算单元,如所述逻辑运算单元可以为逻辑引擎,所述逻辑运算单元用于实现根据所述第一信息进行逻辑运算,获得所述终端设备在所述第一时刻所需显示的图像状态信息。

所述处理单元702中还可以包括图像渲染单元,如所述图像渲染单元可以为渲染引擎,所述图像渲染单元用于对预存的所述终端设备的环境图像进行渲染获得所述第一视角图像,具体的,可以基于所述逻辑运算单元输出的所述终端设备在所述第一时刻所需显示的图像状态信息,对预存的所述终端设备的环境图像进行渲染,获得所述第一视角图像。

一种可能的实现方式中,所述处理单元702中还可以包括编码单元,如所述编码单元可以为编码器,所述编码单元用于实现对所述第一视角图像的编码压缩。

本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能单元可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

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

在本申请实施例中,所述云端设备和所述终端设备均可以采用集成的方式划分各个功能模块的形式来呈现。这里的“模块”可以指特定ASIC,电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。

在一个简单的实施例中,本领域的技术人员可以想到所述终端设备可采用图8所示的形式。

如图8所示的装置800,包括至少一个处理器801、收发器802,可选的,还可以包括存储器803。

一种可能的实现方式中,所述装置800还可以包括显示器804;所述装置还可以包括传感器805,用于捕捉终端设备的姿态和位置。

存储器803可以是易失性存储器,例如随机存取存储器;存储器也可以是非易失性存储器,例如只读存储器,快闪存储器,硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器803是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器803可以是上述存储器的组合。

本申请实施例中不限定上述处理器801以及存储器803之间的具体连接介质。本申请实施例在图中以存储器803和处理器801之间通过总线806连接,总线806在图中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。该总线806可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

处理器801可以具有数据收发功能,能够与其他设备进行通信,如在本申请实施例中,处理器801可以向云端设备发送第一信息,也可以接收来自所述云端设备的第一视角图像的信息,在如图8装置中,也可以设置独立的数据收发模块,例如收发器802,用于收发数据;处理器801在与其他设备进行通信时,可以通过收发器802进行数据传输,如在本申请实施例中,处理器801可以通过收发器802向云端设备发送第一信息,也可以通过收发器802接收来自所述云端设备的第一视角图像的信息。

当所述终端设备采用图8所示的形式时,图8中的处理器801可以通过调用存储器803中存储的计算机执行指令,使得所述终端设备可以执行上述任一方法实施例中的所述终端设备执行的方法。

具体的,存储器803中存储有用于实现图6中的发送单元、接收单元和显示单元的功能的计算机执行指令,图6中的发送单元、接收单元和显示单元的功能/实现过程均可以通过图8中的处理器801调用存储器803中存储的计算机执行指令来实现。

或者,存储器803中存储有用于实现图6中的显示单元的功能的计算机执行指令,图6中的显示单元的功能/实现过程可以通过图8中的处理器801调用存储器803中存储的计算机执行指令来实现,图6的发送单元和接收单元的功能/实现过程可以通过图8中的收发器802来实现。

其中,所述处理器801在执行显示单元的功能时,如涉及显示图像的操作,如显示所述第二时刻所述终端设备的视角范围内的图像,处理器801可以通过所述装置800中的显示器804显示图像;也就是说,所述处理器801可以基于所述第一视角图像的信息以及所述终端设备从所述第一时刻到第二时刻的姿态变化与位置变化,通过显示器804显示所述第二时刻所述终端设备的视角范围内的图像。

可选的,处理器801在执行显示单元的功能时,也可以通过其他设备中的显示器显示图像,如向其他设备发送显示指令,指示显示图像;也就是说,处理器801可以基于所述第一视角图像的信息以及所述终端设备从所述第一时刻到第二时刻的姿态变化与位置变化,通过其他设备中的显示器显示所述第二时刻所述终端设备的视角范围内的图像。

在一个简单的实施例中,本领域的技术人员可以想到所述云端设备可采用图9所示的形式。

如图9所示的通信装置900,包括至少一个处理器901,可选的,还可以包括存储器902、收发器903。

存储器902可以是易失性存储器,例如随机存取存储器;存储器也可以是非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘、或者存储器902是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器902可以是上述存储器的组合。

本申请实施例中不限定上述处理器901以及存储器902之间的具体连接介质。本申请实施例在图中以存储器902和处理器901之间通过总线904连接,总线904在图中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。该总线904可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

处理器901可以具有数据收发功能,能够与其他设备进行通信,在如图9装置中,也可以设置独立的数据收发模块,例如收发器903,用于收发数据;处理器901在与其他设备进行通信时,可以通过收发器903进行数据传输。

当所述云端设备采用图9所示的形式时,图9中的处理器901可以通过调用存储器902中存储的计算机执行指令,使得所述云端设备可以执行上述任一方法实施例中的所述云端设备执行的方法。

具体的,存储器902中存储有用于实现图7中的发送单元、接收单元和处理单元的功能的计算机执行指令,图7中的发送单元、接收单元和处理单元的功能/实现过程均可以通过图9中的处理器901调用存储器902中存储的计算机执行指令来实现。或者,存储器902中存储有用于实现图7中处理单元的功能的计算机执行指令,图7中的处理单元的功能/实现过程可以通过图9中的处理器901调用存储器902中存储的计算机执行指令来实现,图7的发送单元和接收单元的功能/实现过程可以通过图9中的收发器903来实现。

基于与方法实施例同一发明构思,本申请实施例还提供了一种系统,可参见图2,所述系统包括云端设备和终端设备。

所述终端设备,用于向所述云端设备发送第一信息,所述第一信息用于指示所述终端设备在第一时刻的姿态与位置。

所述云端设备,用于接收来自所述终端设备的第一信息,所述第一信息用于指示第一时刻所述终端设备的姿态与位置;以及根据所述第一信息对预存的所述终端设备的环境图像进行渲染获得第一视角图像,所述第一视角图像为所述终端设备在所述第一时刻的姿态与位置对应的视角图像;以及向所述终端设备发送所述第一视角图像的信息。

之后,所述终端设备,还用于接收来自所述云端设备的第一视角图像的信息,所述第一视角图像为所述终端设备在所述第一时刻的姿态与位置对应的视角图像;以及基于所述第一视角图像的信息以及所述终端设备从所述第一时刻到第二时刻的姿态变化与位置变化,显示所述第二时刻所述终端设备的视角范围内的图像,所述第二时刻晚于所述第一时刻。

具体的,所述终端设备在显示所述第二时刻所述终端设备的视角范围内的图像时,需要对所述第一视角图像进行转换,具体过程如下:

所述第一视角图像的信息包括所述第一视角图像,所述终端设备先基于所述终端设备从所述第一时刻到所述第二时刻的位置变化,将所述第一视角图像转换为第二视角图像,所述第二视角图像为所述终端设备在所述第二时刻的位置对应的视角图像;之后,再基于所述终端设备从所述第一时刻到所述第二时刻的姿态变化,显示所述第二视角图像中所述终端设备的视角范围内的图像。

为了能够将所述第一视角图像转换为所述第二视角图像,所述终端设备需要先根据所述终端设备从所述第一时刻到所述第二时刻的位置变化,确定所述第二视角图像的深度信息以及所述第一视角图像转换为所述第二视角图像的像素变化信息;之后再根据所述第二视角图像的深度信息和所述像素变化信息,将所述第一视角图像转换为所述第二视角图像。

下面介绍一下所述第二视角图像的深度信息以及所述像素变化信息的确定方式:

一、所述第一视角图像的信息还包括深度信息,所述终端设备基于所述第一视角图像信息的深度信息,根据所述终端设备从所述第一时刻到所述第二时刻的位置变化,确定所述第二视角图像信息的深度信息;

二、所述第一视角图像的信息还包括运动矢量,所述运动矢量用于表征所述第一视角图像上像素的变化趋势,所述终端设备基于所述运动矢量,根据所述终端设备从所述第一时刻到所述第二时刻的位置变化,确定所述像素变化信息。

一种可能的实施方式中,所述终端设备在显示所述第二时刻所述终端设备的视角范围内的图像之前,还需要根据所述终端设备在所述第二时刻的姿态确定所述第二时刻所述终端设备的视角范围。

为了能够使所述第一视角图像转换为所述第二视角图像,且尽可能覆盖所述终端设备在所述第二时刻的所有可能的视角范围,所述第一视角图像的视角范围应该较大;具体的,所述第一视角图像包括所述第一时刻所述终端设备的视角范围内的图像,且所述第一视角图像的视角范围大于所述第一时刻所述终端设备的视角范围。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

32页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:具有校正功能的图像获取系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类