一种降低本地算力负荷的视频渲染方法及系统与流程

未命名 10-08 阅读:101 评论:0


1.本发明涉及视频渲染计算技术领域,具体涉及一种降低本地算力负荷的视频渲染方法及系统。


背景技术:

2.实时渲染的本质就是图形数据的实时计算和输出。即计算设备边进行计算画面,边输出显示画面;故实时渲染具有更佳的实时性与交互性。实时渲染的实时性具体体现在:不论用户进行了何种操作动作,均能够在画面上实时得到反馈结果;例如,用户在键盘的输入动作,或鼠标的点击动作,都会导致显示的画面出现相应的改变。
3.随着计算机视觉技术的发展,实时渲染技术得到了广泛应用,例如:大型的3d游戏、家具模拟设计软件、三维结构设计平台等。用户通过个人计算机即可实现各种基于实时渲染的虚拟场景的使用与交互。
4.但当前的实时渲染技术仍然存在限制,因实时渲染需要使用计算机的图形处理器(例如显卡)对图像数据进行实时计算和输出,故进行视频渲染时图形处理器的负载较大,若图形处理器的性能不足,则视频渲染会出现卡顿或交互无响应的情况,大大降低了用户体验。


技术实现要素:

5.本发明的主要目的是提供一种降低本地算力负荷的视频渲染方法及系统,旨在解决现有的视频实时渲染技术对图形处理器的性能要求过高,若图形处理器的性能不足,则视频渲染会出现卡顿或交互无响应的情况,大大降低了用户体验的问题。
6.本发明提出的技术方案为:一种降低本地算力负荷的视频渲染方法,应用于降低本地算力负荷的视频渲染系统;所述系统包括终端,以及与终端通信连接的云服务器;终端包括第一图形处理器;云服务器包括第二图形处理器;所述方法,包括:终端基于第一图形处理器的运行日志生成并训练第一贴图数量-渲染时长预估模型;终端获取显示指令,并通过第一图形处理器基于显示指令生成并显示初始图像帧;终端获取输入的操作指令,并将操作指令对应的贴图文件的数量标记为实际数量;终端将实际数量输入第一贴图数量-渲染时长预估模型以得到第一图形处理器完成操作指令对应的渲染操作所需要的第一预计时长;终端判断第一预计时长是否大于第一预设时长,其中,第一预设时长为终端的显示画面不出现人眼察觉的卡顿所对应的最大渲染时长;若是,终端将操作指令发送至云服务器;
云服务器获取与操作指令对应的图像数据,并标记为目标数据,其中,图像数据包括贴图文件、坐标数据、材质数据和灯光数据;第二图形处理器基于目标数据进行渲染以生成更新图像帧;云服务器将更新图像帧发送至终端,以通过终端显示更新图像帧。
7.优选的,所述终端判断第一预计时长是否大于第一预设时长,之后还包括:若否,终端获取与操作指令对应的图像数据,并标记为目标数据;第一图形处理器基于目标数据进行渲染以生成更新图像帧,并将更新图像帧进行显示。
8.优选的,所述终端基于第一图形处理器的运行日志生成并训练第一贴图数量-渲染时长预估模型,包括:终端建立第一贴图数量-渲染时长预估模型,其中,第一贴图数量-渲染时长预估模型为卷积神经网络模型;终端将第一图形处理器的运行日志标记为第一日志,并获取第一日志中各历史操作指令对应的贴图数量,以及各历史操作指令对应的渲染时长;终端将第一日志中历史操作指令对应的贴图数量作为第一贴图数量-渲染时长预估模型的输入变量,并将第一日志中历史操作指令对应的渲染时长作为第一贴图数量-渲染时长预估模型的输出变量以对第一贴图数量-渲染时长预估模型进行训练。
9.优选的,还包括:云服务器建立第二贴图数量-渲染时长预估模型,其中,第二贴图数量-渲染时长预估模型为卷积神经网络模型;云服务器将第二图形处理器的运行日志标记为第二日志,并获取第二日志中各历史操作指令对应的贴图数量,以及各历史操作指令对应的渲染时长;云服务器将第二日志中历史操作指令对应的贴图数量作为第二贴图数量-渲染时长预估模型的输入变量,并将第二日志中历史操作指令对应的渲染时长作为第二贴图数量-渲染时长预估模型的输出变量以对第二贴图数量-渲染时长预估模型进行训练;云服务器将训练好的第二贴图数量-渲染时长预估模型发送至终端;所述终端判断第一预计时长是否大于第一预设时长,之后还包括:若是,终端获取当前时刻终端与云服务器之间的网络延迟时长;终端将实际数量输入第二贴图数量-渲染时长预估模型得到第二图形处理器完成操作指令对应的渲染操作所需要的第二预计时长;终端将第二预计时长与网络延迟时长之和标记为第一实际工作时长;终端比较第一实际工作时长与第一预计时长;若第一预计时长大于或等于第一实际工作时长,执行所述终端将操作指令发送至云服务器的步骤;若第一预计时长小于第一实际工作时长,执行所述终端获取与操作指令对应的图像数据,并标记为目标数据的步骤。
10.优选的,云服务器的数量为多个,且不同的云服务器处于不同的物理位置;所述终端判断第一预计时长是否大于第一预设时长,之后还包括:终端获取当前时刻终端与各云服务器之间的网络延迟时长,并将网络延迟时长最
小的云服务器标记为目标服务器;终端将实际数量输入目标服务器对应的第二贴图数量-渲染时长预估模型以得到目标服务器的第二图形处理器完成操作指令对应的渲染操作所需要的第三预计时长;终端将第三预计时长与目标服务器对应的网络延迟时长之和标记为第二实际工作时长;终端比较第二实际工作时长与第一预计时长;若第一预计时长大于或等于第二实际工作时长,终端将操作指令发送至目标服务器;目标服务器获取与操作指令对应的图像数据,并标记为目标数据;目标服务器的第二图形处理器基于目标数据进行渲染以生成更新图像帧;目标服务器将更新图像帧发送至终端,以通过终端显示更新图像帧;若第二预计时长小于第二实际工作时长,执行所述终端获取与操作指令对应的图像数据,并标记为目标数据的步骤。
11.优选的,所述目标服务器的第二图形处理器基于目标数据进行渲染以生成更新图像帧,与所述目标服务器将更新图像帧发送至终端,以通过终端显示更新图像帧之间,还包括:终端将已发送至云服务器,且经过第二预设时长仍未接受到对应的更新图像帧的操作指令标记为待进行指令;终端将待进行指令对应的云服务器标记为故障服务器;终端将除故障服务器之外的其他云服务器标记为空闲服务器;终端获取当前时刻终端与各空闲服务器之间的网络延迟时长,并将目标服务器替换为网络延迟时长最小的空闲服务器。
12.优选的,所述第二图形处理器基于目标数据进行渲染以生成更新图像帧,之后还包括:云服务器检测当前时刻与终端之间的网络延迟时长,并判断当前时刻与终端之间的网络延迟时长是否大于第三预设时长;若是,云服务器基于终端的标准分辨率和当前时刻与终端之间的网络延迟时长得到目标分辨率:,,,,
式中,为目标分辨率的横轴分量;为目标分辨率的纵轴分量;为终端的标准分辨率的横轴分量;为终端的标准分辨率的纵轴分量;为第二预设时长;为当前时刻与终端之间的网络延迟时长;云服务器将更新图像帧的分辨率调整为目标分辨率之后再发送至终端。
13.优选的,所述第二图形处理器基于目标数据进行渲染以生成更新图像帧,之后还包括:云服务器检测当前时刻与终端之间的网络延迟时长,并判断当前时刻与终端之间的网络延迟时长是否大于第三预设时长;若是,云服务器将当前时刻的更新图像帧标记为起始帧;云服务器获取第二图形处理器自当前时刻起渲染生成的第一预设数量个更新图像帧,并将自当前时刻起渲染生成的第一预设数量个更新图像帧标记为后续帧;云服务器将各后续帧分别与起始帧进行对比,以判断各后续帧与起始帧的画面相似程度是否均达到预设程度;若均达到预设程度,云服务器将生成时刻最晚的后续帧标记为目标帧,并将目标帧发送至终端;终端显示目标帧,且显示次数为第一预设数量。
14.优选的,所述云服务器将各后续帧分别与起始帧进行对比,以判断各后续帧与起始帧的画面相似程度是否均达到预设程度,包括:云服务器对起始帧进行图像分析,以获取起始帧各像素点对应的rgb值;云服务器对后续帧进行图像分析,以获取后续帧各像素点对应的rgb值;云服务器基于起始帧的各像素点对应的rgb值,以及后续帧各像素点对应的rgb值获取后续帧中与起始帧中处于同一位置点且rgb值的差值为0的像素点,并标记为后续帧对应的相同点;当各后续帧对应的相同点的数量均大于第二预设数量时,云服务器基于起始帧的各像素点对应的rgb值,以及后续帧各像素点对应的rgb值计算图像相似程度值:,式中,为图像相似程度值;为第j个后续帧中第i个像素点的rgb值的r分量值;为第j个后续帧中第i个像素点的rgb值的g分量值;为第j个后续帧中第i个像素点的rgb值的b分量值;m为后续帧的数量,且满足1≤j≤m;为起始帧中第i个像素点的rgb值的r分量值;为起始帧中第i个像素点的rgb值的g分量值;为起始帧中第i个像素点的rgb值的b分量值;n为起始帧中像素点的数量,且起始帧中像素点的数量与后续帧中像素点的数量一致,且满足1≤i≤n;
当图像相似程度值小于或等于预设值时,云服务器确定各后续帧与起始帧的画面相似程度均达到预设程度;当图像相似程度值大于预设值时,云服务器确定各后续帧与起始帧的画面相似程度未均达到预设程度。
15.本发明还提出一种降低本地算力负荷的视频渲染系统,应用所述的降低本地算力负荷的视频渲染方法;所述系统包括终端,以及与终端通信连接的云服务器;终端包括第一图形处理器;云服务器包括第二图形处理器。
16.通过上述技术方案,能实现以下有益效果:本发明提出的降低本地算力负荷的视频渲染方法能够有效降低本地的图形处理器的负载;具体使用时,先建立第一贴图数量-渲染时长预估模型,第一贴图数量-渲染时长预估模型是第一图形处理器在对不同贴图数量的渲染任务进行处理时所需要的时长的预估模型,能够基于渲染任务的贴图数量来预估相应的处理时长,然后获取输入的操作指令,并基于操作指令对应的贴图文件的数量得到第一图形处理器完成操作指令对应的渲染操作所需要的第一预计时长,若第一预计时长大于第一预设时长,说明本地的第一图形处理器对操作指令对应的渲染任务进行处理时比较费时,即第一图形处理器的性能不足以流畅的运行操作指令对应的渲染任务,会导致用户感觉到卡顿;因此为了降低本地算力的负载,将操作指令对应的渲染任务发送至云服务器进行处理;这样能够解决现有的视频实时渲染技术对图形处理器的性能要求过高的问题,避免视频渲染出现卡顿或交互无响应的情况,大大提升用户体验。
附图说明
17.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
18.图1为本发明提出的一种降低本地算力负荷的视频渲染方法第一实施例的流程图。
具体实施方式
19.应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
20.本发明提出一种降低本地算力负荷的视频渲染方法及系统。
21.如附图1所示,在本发明提出的一种降低本地算力负荷的视频渲染方法的第一实施例中,本方法应用于降低本地算力负荷的视频渲染系统;所述系统包括终端,以及与终端通信连接的云服务器;终端包括第一图形处理器;云服务器包括第二图形处理器;本实施例包括如下步骤:步骤s110:终端基于第一图形处理器的运行日志生成并训练第一贴图数量-渲染时长预估模型。
22.具体的,这里的第一贴图数量-渲染时长预估模型是第一图形处理器在对不同贴图数量的渲染任务进行处理时所需要的时长的预估模型,渲染时需要处理的贴图文件数量
越多,则相应的处理时长也越长。
23.步骤s120:终端获取显示指令,并通过第一图形处理器基于显示指令生成并显示初始图像帧。
24.具体的,这里的初始图形帧即是终端开机之后的默认图像,这个默认图形通过第一图形处理器即可进行渲染和显示。
25.步骤s130:终端获取输入的操作指令,并将操作指令对应的贴图文件的数量标记为实际数量。
26.具体的,这里的操作指令即是用户对终端进行相应的操作(例如键盘的输入,鼠标的移动等),这些操作会使终端的显示画面进行相应的变化,而这些显示画面的变化是需要图形处理器来进行渲染处理才能得到,故后续需要进一步判断是由本地的第一图形处理器还是由云服务器的第二图形处理器来进行渲染处理。
27.步骤s140:终端将实际数量输入第一贴图数量-渲染时长预估模型以得到第一图形处理器完成操作指令对应的渲染操作所需要的第一预计时长。
28.步骤s150:终端判断第一预计时长是否大于第一预设时长(例如0.01s),其中,第一预设时长为终端的显示画面不出现人眼察觉的卡顿所对应的最大渲染时长。
29.具体的,若第一预计时长大于第一预设时长,说明本地的第一图形处理器对操作指令对应的渲染任务进行处理时比较费时,会导致用户感觉到卡顿,故为了降低本地算力的负载,将操作指令对应的渲染任务发送至云服务器进行处理。
30.若是,执行步骤s160:终端将操作指令发送至云服务器。
31.步骤s170:云服务器获取与操作指令对应的图像数据,并标记为目标数据,其中,图像数据包括贴图文件、坐标数据、材质数据和灯光数据。
32.步骤s180:第二图形处理器基于目标数据进行渲染以生成更新图像帧。
33.步骤s190:云服务器将更新图像帧发送至终端,以通过终端显示更新图像帧。
34.本发明提出的降低本地算力负荷的视频渲染方法能够有效降低本地的图形处理器的负载;具体使用时,先建立第一贴图数量-渲染时长预估模型,第一贴图数量-渲染时长预估模型是第一图形处理器在对不同贴图数量的渲染任务进行处理时所需要的时长的预估模型,即能够基于渲染任务的贴图数量来预估相应的处理时长;然后获取输入的操作指令,并基于操作指令对应的贴图文件的数量得到第一图形处理器完成操作指令对应的渲染操作所需要的第一预计时长,若第一预计时长大于第一预设时长,说明本地的第一图形处理器对操作指令对应的渲染任务进行处理时比较费时,即第一图形处理器的性能不足以流畅的运行操作指令对应的渲染任务,会导致用户感觉到卡顿;因此为了降低本地算力的负载,将操作指令对应的渲染任务发送至云服务器进行处理;这样能够解决现有的视频实时渲染技术对图形处理器的性能要求过高的问题,避免视频渲染出现卡顿或交互无响应的情况,大大提升用户体验。
35.在本发明提出的一种降低本地算力负荷的视频渲染方法的第二实施例中,基于第一实施例,步骤s150,之后还包括如下步骤:若否,执行步骤s210:终端获取与操作指令对应的图像数据,并标记为目标数据。
36.步骤s220:第一图形处理器基于目标数据进行渲染以生成更新图像帧,并将更新图像帧进行显示。
37.具体的,若第一预计时长不大于第一预设时长,说明本地的第一图形处理器尚能应对操作指令对应的渲染任务,故直接将操作指令对应的渲染任务在终端本地进行处理。
38.在本发明提出的一种降低本地算力负荷的视频渲染方法的第三实施例中,基于第一实施例,步骤s110,包括如下步骤:步骤s310:终端建立第一贴图数量-渲染时长预估模型,其中,第一贴图数量-渲染时长预估模型为卷积神经网络模型。
39.步骤s320:终端将第一图形处理器的运行日志标记为第一日志,并获取第一日志中各历史操作指令对应的贴图数量,以及各历史操作指令对应的渲染时长。
40.步骤s330:终端将第一日志中历史操作指令对应的贴图数量作为第一贴图数量-渲染时长预估模型的输入变量,并将第一日志中历史操作指令对应的渲染时长作为第一贴图数量-渲染时长预估模型的输出变量以对第一贴图数量-渲染时长预估模型进行训练。
41.具体的,本实施例给出了建立并训练第一贴图数量-渲染时长预估模型的具体方案。
42.在本发明提出的一种降低本地算力负荷的视频渲染方法的第四实施例中,基于第二实施例,本实施例还包括如下步骤:步骤s401:云服务器建立第二贴图数量-渲染时长预估模型,其中,第二贴图数量-渲染时长预估模型为卷积神经网络模型。
43.具体的,这里的第二贴图数量-渲染时长预估模型是第二图形处理器在对不同贴图数量的渲染任务进行处理时所需要的时长的预估模型,渲染时需要处理的贴图文件数量越多,则相应的处理时长也越长。
44.步骤s402:云服务器将第二图形处理器的运行日志标记为第二日志,并获取第二日志中各历史操作指令对应的贴图数量,以及各历史操作指令对应的渲染时长。
45.步骤s403:云服务器将第二日志中历史操作指令对应的贴图数量作为第二贴图数量-渲染时长预估模型的输入变量,并将第二日志中历史操作指令对应的渲染时长作为第二贴图数量-渲染时长预估模型的输出变量以对第二贴图数量-渲染时长预估模型进行训练。
46.具体的,上述步骤是建立并训练第二贴图数量-渲染时长预估模型的具体方案。
47.步骤s404:云服务器将训练好的第二贴图数量-渲染时长预估模型发送至终端。
48.步骤s150,之后还包括如下步骤:若是,执行步骤s405:终端获取当前时刻终端与云服务器之间的网络延迟时长。
49.具体的,终端与云服务器之间的网络延迟时长能够反映终端和云服务器之间的网络传输状态,若网络延迟时长过长,会导致云服务器将渲染好的更新图像帧发送至终端的时长变长,从而导致终端的显示画面卡顿,降低用户体验。
50.本实施例中,终端获取当前时刻终端与各云服务器之间的网络延迟时长的具体步骤为:终端生成测试信息,并将测试信息发送至云服务器,且测试信息包括发送测试信息的起始时刻的时间戳,云服务器接收到测试信息后生成反馈信息,并将反馈信息发送至终端,且反馈信息包括发送测试信息的起始时刻的时间戳,终端接收到反馈信息后,基于当前时刻和发送测试信息的起始时刻的时间戳即可得到终端与云服务器之间的网络延迟时长。
51.步骤s406:终端将实际数量输入第二贴图数量-渲染时长预估模型得到第二图形
处理器完成操作指令对应的渲染操作所需要的第二预计时长。
52.步骤s407:终端将第二预计时长与网络延迟时长之和标记为第一实际工作时长。
53.具体的,这里的第一实际工作时长即是终端发送操作指令后,实际接收到云服务器返回的操作指令对应的更新图像帧所需要的时长。
54.步骤s408:终端比较第一实际工作时长与第一预计时长。
55.步骤s409:若第一预计时长大于或等于第一实际工作时长,执行步骤s160。
56.具体的,若第一预计时长大于或等于第一实际工作时长,说明即便在网络延迟时长的影响下,终端的本地第一图形处理器处理操作指令对应的渲染任务所耗费的时长仍大于或等于第一实际工作时长,因此还是将操作指令发送至云服务器,以通过云服务器进行渲染处理。
57.步骤s410:若第一预计时长小于第一实际工作时长,执行步骤s210。
58.具体的,若第一预计时长小于第一实际工作时长,说明在网络延迟时长的影响下,终端的本地第一图形处理器处理操作指令对应的渲染任务所耗费的时长小于第一实际工作时长,故为了保证用户的视觉体验,直接将操作指令对应的渲染任务在终端本地进行处理。
59.在本发明提出的一种降低本地算力负荷的视频渲染方法的第五实施例中,基于第四实施例,云服务器的数量为多个,且不同的云服务器处于不同的物理位置;步骤s150,之后还包括如下步骤:步骤s510:终端获取当前时刻终端与各云服务器之间的网络延迟时长,并将网络延迟时长最小的云服务器标记为目标服务器。
60.步骤s520:终端将实际数量输入目标服务器对应的第二贴图数量-渲染时长预估模型以得到目标服务器的第二图形处理器完成操作指令对应的渲染操作所需要的第三预计时长。
61.步骤s530:终端将第三预计时长与目标服务器对应的网络延迟时长之和标记为第二实际工作时长。
62.步骤s540:终端比较第二实际工作时长与第一预计时长。
63.步骤s550:若第一预计时长大于或等于第二实际工作时长,终端将操作指令发送至目标服务器。
64.步骤s560:目标服务器获取与操作指令对应的图像数据,并标记为目标数据。
65.步骤s570:目标服务器的第二图形处理器基于目标数据进行渲染以生成更新图像帧。
66.步骤s580:目标服务器将更新图像帧发送至终端,以通过终端显示更新图像帧。
67.步骤s590:若第二预计时长小于第二实际工作时长,执行所述终端获取与操作指令对应的图像数据,并标记为目标数据的步骤。
68.具体的,终端通过同时通信连接多个云服务器,且不同的云服务器处于不同的物理位置,这样能够使不同的云服务器与终端之间的网络延迟时长不相同,找出网络延迟时长最小的云服务器,并标记为目标服务器,这样后续将操作指令对应的渲染任务发送至目标服务器进行处理,能够最大程度减少网络传输速度对于终端的视频显示影响,保证用户的体验。
69.在本发明提出的一种降低本地算力负荷的视频渲染方法的第六实施例中,基于第五实施例,步骤s570和步骤s580,之间还包括如下步骤:步骤s610:终端将已发送至云服务器,且经过第二预设时长(例如0.5s)仍未接受到对应的更新图像帧的操作指令标记为待进行指令,其中,第二预设时长大于第一预设时长。
70.步骤s620:终端将待进行指令对应的云服务器标记为故障服务器。
71.具体的,终端经过第二预设时长后仍未接受到对应的更新图像帧,说明故障服务器和终端之间的网络通信出现故障导致网速明显下降。
72.步骤s630:终端将除故障服务器之外的其他云服务器标记为空闲服务器。
73.步骤s640:终端获取当前时刻终端与各空闲服务器之间的网络延迟时长,并将目标服务器替换为网络延迟时长最小的空闲服务器。
74.具体的,在第五实施例的基础上,本实施例在向多个不同的云服务器分配操作指令时,先会考虑云服务器的空闲情况,即只有空闲服务器(即未出现故障,且没有待完成的渲染任务时)才能有可能成为目标服务器,这样能够避免使用故障服务器来进行渲染。
75.在本发明提出的一种降低本地算力负荷的视频渲染方法的第七实施例中,基于第一实施例,步骤s180,之后还包括如下步骤:步骤s710:云服务器检测当前时刻与终端之间的网络延迟时长,并判断当前时刻与终端之间的网络延迟时长是否大于第三预设时长(例如0.4s)。
76.具体的,若云服务器与终端之间的网络延迟时长大于第三预设时长,说明云服务器于终端之间的网络传输速度低于正常水平。
77.若是,执行步骤s720:云服务器基于终端的标准分辨率和当前时刻与终端之间的网络延迟时长得到目标分辨率:,,,,式中,为目标分辨率的横轴分量;为目标分辨率的纵轴分量;为终端的标准分辨率的横轴分量(例如1920);为终端的标准分辨率的纵轴分量(例如1080);为第二预设时长;为当前时刻与终端之间的网络延迟时长。
78.步骤s730:云服务器将更新图像帧的分辨率调整为目标分辨率之后再发送至终端。
79.具体的,当云服务器与终端之间的网速出现下降时,为了保证更新图形帧能够正常传输,进而保证终端的显示画面不出现卡顿,云服务器将更新图像帧的分辨率降低,能够有效降低更新图像帧的大小,从而在较低的网速下也能够正常发送至终端。
80.在本发明提出的一种降低本地算力负荷的视频渲染方法的第八实施例中,基于第一实施例,步骤s180,之后还包括如下步骤:步骤s810:云服务器检测当前时刻与终端之间的网络延迟时长,并判断当前时刻与终端之间的网络延迟时长是否大于第三预设时长(例如0.4s)。
81.具体的,若云服务器于终端之间的网络延迟时长大于第三预设时长,说明云服务器于终端之间的网络传输速度低于正常水平。
82.若是,执行步骤s820:云服务器将当前时刻的更新图像帧标记为起始帧。
83.步骤s830:云服务器获取第二图形处理器自当前时刻起渲染生成的第一预设数量(例如10)个更新图像帧,并将自当前时刻起渲染生成的第一预设数量个更新图像帧标记为后续帧。
84.步骤s840:云服务器将各后续帧分别与起始帧进行对比,以判断各后续帧与起始帧的画面相似程度是否均达到预设程度。
85.具体的,这里的预设程度表述为各后续帧与起始帧的画面相似程度较高,且用户并不能分辨出各后续帧与起始帧的画面差别的程度。
86.步骤s850:若均达到预设程度,云服务器将生成时刻最晚的后续帧标记为目标帧,并将目标帧发送至终端。
87.步骤s850:终端显示目标帧,且显示次数为第一预设数量。
88.具体的,若各后续帧与起始帧的画面相似程度是否均达到预设程度,直接将生成时刻最晚的后续帧标记为目标帧,并将目标帧发送至终端,这样能够减少云服务器发送至终端的更新图像帧的数量,从而在较差的网络传输速度下保证云服务器与终端之间的传输效率,且用户并不会感知到画面的过度变化而引起的卡顿。
89.具体的,即云服务器在网速较差时仅发送一幅目标帧以替代原本应该发送10次的不同的后续帧,这样能够降低网络传输速度慢而对云服务器和终端时间的传输效率的影响,终端接收到目标帧后,同样的将目标帧显示10次,以替换原本应该分别显示的后续帧,这样能够保证帧率,以避免出现卡顿,保证用户的视觉体验。
90.在本发明提出的一种降低本地算力负荷的视频渲染方法的第九实施例中,基于第八实施例,步骤s840,包括如下步骤:步骤s910:云服务器对起始帧进行图像分析,以获取起始帧各像素点对应的rgb值。
91.步骤s920:云服务器对后续帧进行图像分析,以获取后续帧各像素点对应的rgb值。
92.步骤s930:云服务器基于起始帧的各像素点对应的rgb值,以及后续帧各像素点对应的rgb值获取后续帧中与起始帧中处于同一位置点且rgb值的差值为0的像素点,并标记为后续帧对应的相同点。
93.具体的,相同点即对应后续帧与起始帧完全一致的像素点,相同点的数量越多,说明后续帧和起始帧的画面相似程度越高。
94.步骤s940:当各后续帧对应的相同点的数量均大于第二预设数量(这里的第二预设数量优选为起始帧中像素点的数量的50%)时,云服务器基于起始帧的各像素点对应的rgb值,以及后续帧各像素点对应的rgb值计算图像相似程度值:,式中,为图像相似程度值;为第j个后续帧中第i个像素点的rgb值的r分量值;为第j个后续帧中第i个像素点的rgb值的g分量值;为第j个后续帧中第i个像素点的rgb值的b分量值;m为后续帧的数量,且满足1≤j≤m;为起始帧中第i个像素点的rgb值的r分量值;为起始帧中第i个像素点的rgb值的g分量值;为起始帧中第i个像素点的rgb值的b分量值;n为起始帧中像素点的数量,且起始帧中像素点的数量与后续帧中像素点的数量一致,且满足1≤i≤n。
95.具体的,rgb值能够清楚地图像的色彩特征,进而通过比较起始帧和各后续帧的rgb值即可知晓各后续帧与起始帧的画面相似程度。
96.步骤s950:当图像相似程度值小于或等于预设值(例如50)时,云服务器确定各后续帧与起始帧的画面相似程度均达到预设程度。
97.步骤s960:当图像相似程度值大于预设值时,云服务器确定各后续帧与起始帧的画面相似程度未均达到预设程度。
98.本实施例给出了判断各后续帧与起始帧的画面相似程度是否均达到预设程度的具体方案。
99.本发明还提出一种降低本地算力负荷的视频渲染系统,本系统应用降低本地算力负荷的视频渲染方法;所述系统包括终端,以及与终端通信连接的云服务器;终端包括第一图形处理器;云服务器包括第二图形处理器。
100.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
101.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
102.上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

技术特征:
1.一种降低本地算力负荷的视频渲染方法,其特征在于,应用于降低本地算力负荷的视频渲染系统;所述系统包括终端,以及与终端通信连接的云服务器;终端包括第一图形处理器;云服务器包括第二图形处理器;所述方法,包括:终端基于第一图形处理器的运行日志生成并训练第一贴图数量-渲染时长预估模型;终端获取显示指令,并通过第一图形处理器基于显示指令生成并显示初始图像帧;终端获取输入的操作指令,并将操作指令对应的贴图文件的数量标记为实际数量;终端将实际数量输入第一贴图数量-渲染时长预估模型以得到第一图形处理器完成操作指令对应的渲染操作所需要的第一预计时长;终端判断第一预计时长是否大于第一预设时长,其中,第一预设时长为终端的显示画面不出现人眼察觉的卡顿所对应的最大渲染时长;若是,终端将操作指令发送至云服务器;云服务器获取与操作指令对应的图像数据,并标记为目标数据,其中,图像数据包括贴图文件、坐标数据、材质数据和灯光数据;第二图形处理器基于目标数据进行渲染以生成更新图像帧;云服务器将更新图像帧发送至终端,以通过终端显示更新图像帧。2.根据权利要求1所述的一种降低本地算力负荷的视频渲染方法,其特征在于,所述终端判断第一预计时长是否大于第一预设时长,之后还包括:若否,终端获取与操作指令对应的图像数据,并标记为目标数据;第一图形处理器基于目标数据进行渲染以生成更新图像帧,并将更新图像帧进行显示。3.根据权利要求1所述的一种降低本地算力负荷的视频渲染方法,其特征在于,所述终端基于第一图形处理器的运行日志生成并训练第一贴图数量-渲染时长预估模型,包括:终端建立第一贴图数量-渲染时长预估模型,其中,第一贴图数量-渲染时长预估模型为卷积神经网络模型;终端将第一图形处理器的运行日志标记为第一日志,并获取第一日志中各历史操作指令对应的贴图数量,以及各历史操作指令对应的渲染时长;终端将第一日志中历史操作指令对应的贴图数量作为第一贴图数量-渲染时长预估模型的输入变量,并将第一日志中历史操作指令对应的渲染时长作为第一贴图数量-渲染时长预估模型的输出变量以对第一贴图数量-渲染时长预估模型进行训练。4.根据权利要求2所述的一种降低本地算力负荷的视频渲染方法,其特征在于,还包括:云服务器建立第二贴图数量-渲染时长预估模型,其中,第二贴图数量-渲染时长预估模型为卷积神经网络模型;云服务器将第二图形处理器的运行日志标记为第二日志,并获取第二日志中各历史操作指令对应的贴图数量,以及各历史操作指令对应的渲染时长;云服务器将第二日志中历史操作指令对应的贴图数量作为第二贴图数量-渲染时长预估模型的输入变量,并将第二日志中历史操作指令对应的渲染时长作为第二贴图数量-渲染时长预估模型的输出变量以对第二贴图数量-渲染时长预估模型进行训练;云服务器将训练好的第二贴图数量-渲染时长预估模型发送至终端;
所述终端判断第一预计时长是否大于第一预设时长,之后还包括:若是,终端获取当前时刻终端与云服务器之间的网络延迟时长;终端将实际数量输入第二贴图数量-渲染时长预估模型得到第二图形处理器完成操作指令对应的渲染操作所需要的第二预计时长;终端将第二预计时长与网络延迟时长之和标记为第一实际工作时长;终端比较第一实际工作时长与第一预计时长;若第一预计时长大于或等于第一实际工作时长,执行所述终端将操作指令发送至云服务器的步骤;若第一预计时长小于第一实际工作时长,执行所述终端获取与操作指令对应的图像数据,并标记为目标数据的步骤。5.根据权利要求4所述的一种降低本地算力负荷的视频渲染方法,其特征在于,云服务器的数量为多个,且不同的云服务器处于不同的物理位置;所述终端判断第一预计时长是否大于第一预设时长,之后还包括:终端获取当前时刻终端与各云服务器之间的网络延迟时长,并将网络延迟时长最小的云服务器标记为目标服务器;终端将实际数量输入目标服务器对应的第二贴图数量-渲染时长预估模型以得到目标服务器的第二图形处理器完成操作指令对应的渲染操作所需要的第三预计时长;终端将第三预计时长与目标服务器对应的网络延迟时长之和标记为第二实际工作时长;终端比较第二实际工作时长与第一预计时长;若第一预计时长大于或等于第二实际工作时长,终端将操作指令发送至目标服务器;目标服务器获取与操作指令对应的图像数据,并标记为目标数据;目标服务器的第二图形处理器基于目标数据进行渲染以生成更新图像帧;目标服务器将更新图像帧发送至终端,以通过终端显示更新图像帧;若第二预计时长小于第二实际工作时长,执行所述终端获取与操作指令对应的图像数据,并标记为目标数据的步骤。6.根据权利要求5所述的一种降低本地算力负荷的视频渲染方法,其特征在于,所述目标服务器的第二图形处理器基于目标数据进行渲染以生成更新图像帧,与所述目标服务器将更新图像帧发送至终端,以通过终端显示更新图像帧之间,还包括:终端将已发送至云服务器,且经过第二预设时长仍未接受到对应的更新图像帧的操作指令标记为待进行指令;终端将待进行指令对应的云服务器标记为故障服务器;终端将除故障服务器之外的其他云服务器标记为空闲服务器;终端获取当前时刻终端与各空闲服务器之间的网络延迟时长,并将目标服务器替换为网络延迟时长最小的空闲服务器。7.根据权利要求1所述的一种降低本地算力负荷的视频渲染方法,其特征在于,所述第二图形处理器基于目标数据进行渲染以生成更新图像帧,之后还包括:云服务器检测当前时刻与终端之间的网络延迟时长,并判断当前时刻与终端之间的网络延迟时长是否大于第三预设时长;
若是,云服务器基于终端的标准分辨率和当前时刻与终端之间的网络延迟时长得到目标分辨率:,,,,式中,为目标分辨率的横轴分量;为目标分辨率的纵轴分量;为终端的标准分辨率的横轴分量;为终端的标准分辨率的纵轴分量;为第二预设时长;为当前时刻与终端之间的网络延迟时长;云服务器将更新图像帧的分辨率调整为目标分辨率之后再发送至终端。8.根据权利要求1所述的一种降低本地算力负荷的视频渲染方法,其特征在于,所述第二图形处理器基于目标数据进行渲染以生成更新图像帧,之后还包括:云服务器检测当前时刻与终端之间的网络延迟时长,并判断当前时刻与终端之间的网络延迟时长是否大于第三预设时长;若是,云服务器将当前时刻的更新图像帧标记为起始帧;云服务器获取第二图形处理器自当前时刻起渲染生成的第一预设数量个更新图像帧,并将自当前时刻起渲染生成的第一预设数量个更新图像帧标记为后续帧;云服务器将各后续帧分别与起始帧进行对比,以判断各后续帧与起始帧的画面相似程度是否均达到预设程度;若均达到预设程度,云服务器将生成时刻最晚的后续帧标记为目标帧,并将目标帧发送至终端;终端显示目标帧,且显示次数为第一预设数量。9.根据权利要求8所述的一种降低本地算力负荷的视频渲染方法,其特征在于,所述云服务器将各后续帧分别与起始帧进行对比,以判断各后续帧与起始帧的画面相似程度是否均达到预设程度,包括:云服务器对起始帧进行图像分析,以获取起始帧各像素点对应的rgb值;云服务器对后续帧进行图像分析,以获取后续帧各像素点对应的rgb值;云服务器基于起始帧的各像素点对应的rgb值,以及后续帧各像素点对应的rgb值获取后续帧中与起始帧中处于同一位置点且rgb值的差值为0的像素点,并标记为后续帧对应的相同点;当各后续帧对应的相同点的数量均大于第二预设数量时,云服务器基于起始帧的各像
素点对应的rgb值,以及后续帧各像素点对应的rgb值计算图像相似程度值:,式中,为图像相似程度值;为第j个后续帧中第i个像素点的rgb值的r分量值;为第j个后续帧中第i个像素点的rgb值的g分量值;为第j个后续帧中第i个像素点的rgb值的b分量值;m为后续帧的数量,且满足1≤j≤m;为起始帧中第i个像素点的rgb值的r分量值;为起始帧中第i个像素点的rgb值的g分量值;为起始帧中第i个像素点的rgb值的b分量值;n为起始帧中像素点的数量,且起始帧中像素点的数量与后续帧中像素点的数量一致,且满足1≤i≤n;当图像相似程度值小于或等于预设值时,云服务器确定各后续帧与起始帧的画面相似程度均达到预设程度;当图像相似程度值大于预设值时,云服务器确定各后续帧与起始帧的画面相似程度未均达到预设程度。10.一种降低本地算力负荷的视频渲染系统,其特征在于,应用如权利要求1-9中任一项所述的降低本地算力负荷的视频渲染方法;所述系统包括终端,以及与终端通信连接的云服务器;终端包括第一图形处理器;云服务器包括第二图形处理器。

技术总结
本发明公开了一种降低本地算力负荷的视频渲染方法及系统,本方法先建立第一贴图数量-渲染时长预估模型,然后获取输入的操作指令,并基于操作指令对应的贴图文件的数量得到第一图形处理器完成操作指令对应的渲染操作所需要的第一预计时长,若第一预计时长大于第一预设时长,说明本地的第一图形处理器对操作指令对应的渲染任务进行处理时比较费时,即第一图形处理器的性能不足以流畅的运行操作指令对应的渲染任务;为了降低本地算力的负载,将操作指令对应的渲染任务发送至云服务器进行处理;这样能够解决现有的视频实时渲染技术对图形处理器的性能要求过高的问题,避免视频渲染出现卡顿或交互无响应的情况,大大提升用户体验。户体验。户体验。


技术研发人员:邓正秋 杨易
受保护的技术使用者:湖南马栏山视频先进技术研究院有限公司
技术研发日:2023.08.30
技术公布日:2023/10/5
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐