编码加速方法、设备、服务器及系统

文档序号:1864733 发布日期:2021-11-19 浏览:1次 >En<

阅读说明:本技术 编码加速方法、设备、服务器及系统 (Coding acceleration method, device, server and system ) 是由 李魁 于 2021-07-14 设计创作,主要内容包括:本公开提供一种编码加速方法、设备、服务器及系统,涉及图像技术领域,所述方法包括在检测到接收端设备接入显示设备时,获取显示设备的当前显示参数;确定物理显卡是否支持显示设备的显示需求;在未支持显示设备的显示需求时,向编码服务器发送显卡资源请求,使得编码服务器向源端设备发送目标显卡资源;根据目标显卡资源和物理显卡的资源对待编码数据进行编码。本公开实现了在不需要更换物理显卡的情况下,提升源端设备端的编码能力的灵活性,同时给用户带来极大的方便。(The invention provides a coding acceleration method, a device, a server and a system, which relate to the technical field of images, wherein the method comprises the steps of acquiring current display parameters of display equipment when detecting that receiving end equipment is connected to the display equipment; determining whether the physical display card supports the display requirement of the display equipment; when the display requirement of the display equipment is not supported, a display card resource request is sent to the coding server, so that the coding server sends a target display card resource to the source end equipment; and coding the data to be coded according to the target display card resources and the resources of the physical display card. The method and the device realize the flexibility of the coding capability of the source end equipment end under the condition that the physical display card does not need to be replaced, and bring great convenience to users.)

编码加速方法、设备、服务器及系统

技术领域

本公开涉及图像技术领域,尤其涉及编码加速方法、设备、服务器及系统。

背景技术

现有VDI(Virtual Desktop Infrastructure,虚拟桌面基础架构)系统的基本结构可参照图1。如图1所示,该系统主要包括零终端(简称R端)和云服务器端(简称S端)。其中,R端用于接收来自云端的虚拟桌面图像,同时将本地鼠标和键盘信息反向传输到云端,由云端注入当前R端所对应的云桌面中,虚拟桌面图像是由云服务器为当前零终端所分配的虚拟机或物理机生成的;S端是运行在云端虚拟操作系统中的图像采集和编码模块,同时负责进行用户输入数据的注入功能。当前,随着用户显示需求的不断提高,对云服务器端的渲染资源要求也越来越高。

相关技术中,若云服务器的显卡资源不能够满足用户连接的显示设备的显示要求时,通常是需要不断更换云服务器的物理设备(显卡)来满足显示要求,这样不断更换显卡的方式比较死板,而且给用户带来极大的不便。

发明内容

本公开实施例提供一种编码加速方法、服务器及系统,能够解决现有技术中不断更换显卡的方式比较死板,而且给用户带来极大的不便的问题。所述技术方案如下:

根据本公开实施例的第一方面,提供一种编码加速方法,应用于源端设备,所述方法包括:

在检测到接收端设备接入显示设备时,获取所述显示设备的当前显示参数;

根据所述当前显示参数和所述源端设备的物理显卡支持的所有显示模式参数,确定所述物理显卡是否支持所述显示设备的显示需求;

在确定所述物理显卡未支持所述显示设备的显示需求时,向编码服务器发送显卡资源请求,使得所述编码服务器向所述源端设备发送目标显卡资源;

接收所述编码服务器发送的所述目标显卡资源;

根据所述目标显卡资源和所述物理显卡的资源对待编码数据进行编码。

本公开实施例提供一种编码加速方法,根据显示设备的当前显示参数和源端设备的显卡支持的所有显示模式参数确定显卡是否支持显示设备的显示需求,在确定显卡未支持显示设备的显示需求时,向编码服务器发送显卡资源请求,使得编码服务器向源端设备发送目标显卡资源,这样源端设备就可以根据目标显卡资源和物理显卡的资源对待编码数据进行编码,实现了在不需要更换物理显卡的情况下,提升源端设备端的编码能力的灵活性,同时给用户带来极大的方便。

在一个实施例中,所述向编码服务器发送显卡资源请求包括:

获取所述物理显卡的当前资源占用率;

在确定所述当前资源占用率大于第一预设阈值时,向所述编码服务器发送所述显卡资源请求。

在一个实施例中,所述接收所述编码服务器发送的所述目标显卡资源包括:

接收所述编码服务器每次发送的第一预设单位个显卡资源;

根据所述第一预设单位个显卡资源确定所述物理显卡的当前资源占用率;

向所述编码服务器发送所述当前资源占用率,使得所述编码服务器根据所述当前资源占用率确定是否继续向所述源端设备发送第一预设单位个显卡资源。

在一个实施例中,还包括:

接收所述编码服务器发送的资源返回指令;所述资源返回指令用于指示根据第二预设频率每次向所述编码服务器返回第二预设单位个显卡资源,直至所述当前资源占用率大于所述第二预设阈值;所述第二预设阈值小于所述第一预设阈值;所述第二预设单位小于所述第一预设单位;

响应于所述资源返回指令,根据第二预设频率每次向所述编码服务器返回第二预设单位个显卡资源,直至所述当前资源占用率大于所述第二预设阈值。

在一个实施例中,还包括:

在确定所述物理显卡支持所述显示设备的显示需求时,根据所述物理显卡的资源对待编码数据进行编码。

在一个实施例中,在所述根据所述目标显卡资源和所述物理显卡的资源对待编码数据进行编码之后,还包括:

确定所述当前显示参数是否发生变化;

在确定所述当前显示参数发生变化时,根据变化后的当前显示参数确定所述物理显卡是否支持所述显示设备的显示需求;

在确定所述物理显卡支持所述显示设备的显示需求时,向所述编码服务器发送显卡资源释放请求,使得所述编码服务器将所述目标显卡资源重新存储至资源池中。

在一个实施例中,所述当前显示参数包括当前显示分辨率和当前显示帧率,所述显示模式参数包括所述物理显卡的分辨率和帧率。

根据本公开实施例的第二方面,提供一种编码加速方法,应用于编码服务器,所述方法包括:

接收源端设备发送的显卡资源请求;

向所述源端设备发送目标显卡资源,使得所述源端设备根据所述目标显卡资源和显卡的资源对待编码数据进行编码。

在一个实施例中,所述向所述源端设备发送目标显卡资源包括:

根据第一预设频率每次向所述源端设备发送第一预设单位个显卡资源;

在每次发送所述第一预设单位个显示资源后,接收所述源端设备发送的显卡的当前资源占用率;

在确定所述当前资源占用率大于所述第一预设阈值时,持续向所述源端设备发送第一预设单位个显卡资源,直至所述当前资源占用率小于所述第一预设阈值时,停止向所述源端设备发送第一预设单位个显卡资源。

在一个实施例中,在所述停止向所述源端设备发送第一预设单位个显卡资源之后,还包括:

监测所述物理显卡的当前资源占用率;

在确定所述当前资源占用率小于第二预设阈值时,向所述源端设备发送资源返回指令;所述资源返回指令用于指示根据第二预设频率每次向所述编码服务器返回第二预设单位个显卡资源,直至所述当前资源占用率大于所述第二预设阈值;所述第二预设阈值小于所述第一预设阈值;所述第二预设单位小于所述第一预设单位;

接收所述源端设备返回的第二预设单位个显卡资源。

根据本公开实施例的第三方面,提供一种源端设备,包括:

获取模块,用于在检测到接收端设备接入显示设备时,获取所述显示设备的当前显示参数;

第一确定模块,用于根据所述当前显示参数和所述源端设备的物理显卡支持的所有显示模式参数,确定所述物理显卡是否支持所述显示设备的显示需求;

第一发送模块,用于在确定所述物理显卡未支持所述显示设备的显示需求时,向编码服务器发送显卡资源请求,使得所述编码服务器向所述源端设备发送目标显卡资源;

第一接收模块,用于接收所述编码服务器发送的所述目标显卡资源;

第一编码模块,用于根据所述目标显卡资源和所述物理显卡的资源对待编码数据进行编码。

在一个实施例中,所述第一发送模块包括获取子模块和第一发送子模块;

所述获取子模块,用于获取所述物理显卡的当前资源占用率;

所述第一发送子模块,用于在确定所述当前资源占用率大于第一预设阈值时,向所述编码服务器发送所述显卡资源请求。

在一个实施例中,所述第一接收模块包括第一接收子模块、确定子模块和第二发送子模块;

所述第一接收子模块,用于接收所述编码服务器每次发送的第一预设单位个显卡资源;

所述确定子模块,用于根据所述第一预设单位个显卡资源确定所述物理显卡的当前资源占用率;

所述第二发送子模块,用于向所述编码服务器发送所述当前资源占用率,使得所述编码服务器根据所述当前资源占用率确定是否继续向所述源端设备发送第一预设单位个显卡资源。

在一个实施例中,所述设备还包括第三接收模块和返回模块;

所述第三接收模块,用于接收所述编码服务器发送的资源返回指令;所述资源返回指令用于指示根据第二预设频率每次向所述编码服务器返回第二预设单位个显卡资源,直至所述当前资源占用率大于所述第二预设阈值;所述第二预设阈值小于所述第一预设阈值;所述第二预设单位小于所述第一预设单位;

所述返回模块,用于响应于所述资源返回指令,根据第二预设频率每次向所述编码服务器返回第二预设单位个显卡资源,直至所述当前资源占用率大于所述第二预设阈值。

在一个实施例中,所述设备还包括第二编码模块;

所述第二编码模块,用于在确定所述物理显卡支持所述显示设备的显示需求时,根据所述物理显卡的资源对待编码数据进行编码。

在一个实施例中,所述设备还包括第二确定模块、第三确定模块和第三发送模块;

所述第二确定模块,用于确定所述当前显示参数是否发生变化;

所述第三确定模块,用于在确定所述当前显示参数发生变化时,根据变化后的当前显示参数确定所述物理显卡是否支持所述显示设备的显示需求;

所述第三发送模块,用于在确定所述物理显卡支持所述显示设备的显示需求时,向所述编码服务器发送显卡资源释放请求,使得所述编码服务器将所述目标显卡资源重新存储至资源池中。

在一个实施例中,所述当前显示参数包括当前显示分辨率和当前显示帧率,所述显示模式参数包括所述物理显卡的分辨率和帧率。

根据本公开实施例的第四方面,提供一种编码服务器,包括:

第二接收模块,用于接收源端设备发送的显卡资源请求;

第二发送模块,用于向所述源端设备发送目标显卡资源,使得所述源端设备根据所述目标显卡资源和显卡的资源对待编码数据进行编码。

在一个实施例中,所述第二发送模块包括第三发送子模块、第二接收子模块和第四发送子模块;

所述第三发送子模块,用于根据第一预设频率每次向所述源端设备发送第一预设单位个显卡资源;

所述第二接收子模块,用于在每次发送所述第一预设单位个显示资源后,接收所述源端设备发送的显卡的当前资源占用率;

所述第四发送子模块,用于在确定所述当前资源占用率大于所述第一预设阈值时,持续向所述源端设备发送第一预设单位个显卡资源,直至所述当前资源占用率小于所述第一预设阈值时,停止向所述源端设备发送第一预设单位个显卡资源。

在一个实施例中,所述编码服务器还包括监测模块、第四发送模块和第三接收模块;

所述监测模块,用于监测所述物理显卡的当前资源占用率;

所述第四发送模块,用于在确定所述当前资源占用率小于第二预设阈值时,向所述源端设备发送资源返回指令;所述资源返回指令用于指示根据第二预设频率每次向所述编码服务器返回第二预设单位个显卡资源,直至所述当前资源占用率大于所述第二预设阈值;所述第二预设阈值小于所述第一预设阈值;所述第二预设单位小于所述第一预设单位;

所述第三接收模块,用于接收所述源端设备返回的第二预设单位个显卡资源。

根据本公开实施例的第五方面,提供一种编码加速系统,包括至少一个接收端设备、至少一个上述任一实施例所述的源端设备、以及上述任一实施例所述的编码服务器。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是现有技术中的一种VDI系统的结构示意图;

图2是本公开实施例提供的一种编码加速方法的流程图;

图3是本公开实施例提供的一种源端设备的物理显卡的有效模式列表的示意图;

图4是本公开实施例提供的一种编码加速方法的流程图;

图5是本公开实施例提供的一种编码加速方法的流程图;

图6是本公开实施例提供的一种编码加速方法的流程图;

图7是本公开实施例提供的一种编码加速方法的交互图;

图8a是本公开实施例提供的一种源端设备的结构图;

图8b是本公开实施例提供的一种源端设备的结构图;

图8c是本公开实施例提供的一种源端设备的结构图;

图8d是本公开实施例提供的一种源端设备的结构图;

图8e是本公开实施例提供的一种源端设备的结构图;

图8f是本公开实施例提供的一种源端设备的结构图;

图9a是本公开实施例提供的一种编码服务器的结构图;

图9b是本公开实施例提供的一种编码服务器的结构图;

图9c是本公开实施例提供的一种编码服务器的结构图;

图10是本公开实施例提供的一种编码加速系统的框架图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本公开实施例提供一种编码加速方法,应用于源端设备,如图2所示,该方法包括以下步骤:

步骤201、在检测到接收端设备接入显示设备时,获取所述显示设备的当前显示参数。

其中,所述当前显示参数包括当前显示分辨率和当前显示帧率。

示例的,源端设备包括虚拟机或者物理机,虚拟机运行在云服务器上,物理机可以为一个云服务器,虚拟机或者物理机与接收端设备建立连接,当虚拟机或者物理机对应的接收端设备接入显示设备(例如显示器)时,接收端设备会将检测到的EDID(Extendeddisplay identification data,扩展显示器识别数据)反馈给对应的虚拟机或者物理机,使得虚拟机或者物理机获取到显示设备的当前显示参数,该当前显示参数包括当前显示分辨率和当前显示帧率。

需要说明的是,当前显示分辨率和当前显示帧率为用户设置的显示设备的分辨率和显示帧率,可能是显示设备的最大显示分辨率和最大显示帧率,也可能是小于最大显示分辨率和最大显示帧率的值,本公开对此不作限定。

需要说明的是,获取当前显示分辨率和当前显示帧率的目的是实现超分辨率显示,比如接收端设备上接入4K 144的显示器,而以现有能力来说,S端最多只能显示1K 144的分辨率和帧率,这时如果接收端设备与S端进行分辨率和帧率协商的话,最多只能和S端协商1K 144的分辨率和帧率,显然是不能满足接收端设备的显示器的显示需求的,因此,本公开的主要目的是通过编码服务器加速,使得接收端设备能够协商到尽可能高的分辨率和帧率(比如,4K144)。

步骤202、根据所述当前显示参数和所述源端设备的物理显卡支持的所有显示模式参数,确定所述物理显卡是否支持所述显示设备的显示需求。

其中,所述显示模式参数包括所述物理显卡的分辨率和帧率。

示例的,在获取到显示设备的当前显示参数时,查找源端设备的物理显卡的有效模式列表,如图3所示,该有效模式列表中存储有物理显卡的所有显示模式参数,显示模式参数包括分辨率和帧率,因此,如果显示设备的当前显示分辨率和当前显示帧率在源端设备的物理显卡的有效模式列表中,则确定物理显卡支持显示设备的显示需求;如果在有效模式列表中没有查找到显示设备的当前显示分辨率和当前显示帧率,则说明物理显卡无法支持显示设备的显示需求。

步骤203、在确定所述物理显卡未支持所述显示设备的显示需求时,向编码服务器发送显卡资源请求,使得所述编码服务器向所述源端设备发送目标显卡资源。

可选的,获取所述物理显卡的当前资源占用率;在确定所述当前资源占用率大于第一预设阈值时,向所述编码服务器发送所述显卡资源请求。

示例的,在确定物理显卡未支持显示设备的显示需求时,持续监测物理显卡的当前资源占用率,并将当前资源占用率与第一预设阈值进行比较,在确定当前资源占用率大于第一预设阈值时,说明物理显卡当前剩余的显卡资源不足,此时向编码服务器发送显卡资源请求,用于请求显卡资源,编码服务器预先对本地的显卡资源做切分,例如以0.1为单位进行划分,这样,在接收到显卡资源请求时,就可以直接向源端设备调配预定数量的目标显卡资源。

步骤204、接收所述编码服务器发送的所述目标显卡资源。

可选的,接收所述编码服务器每次发送的第一预设单位个显卡资源;根据所述第一预设单位个显卡资源确定所述物理显卡的当前资源占用率;向所述编码服务器发送所述当前资源占用率,使得所述编码服务器根据所述当前资源占用率确定是否继续向所述源端设备发送第一预设单位个显卡资源。

示例的,编码服务器向源端设备调配预定数量的目标显卡资源具体可以采用如下方法:编码服务器每次调配第一预设单位个显卡资源给源端设备,源端设备在接收到第一预设单位个显卡资源时,将第一预设单位个显卡资源和物理显卡的剩余资源相加得到物理显卡的当前资源占用率,并将物理显卡的当前资源占用率实时反馈给编码服务器,编码服务器在确定物理显卡的当前资源占用率大于第一预设阈值时,持续调配第一预设单位个显卡资源给源端设备,直至源端设备的物理显卡的当前资源占用率小于第一预设阈值时,停止继续向源端设备调配第一预设单位个显卡资源。

进一步的,接收所述编码服务器发送的资源返回指令;所述资源返回指令用于指示根据第二预设频率每次向所述编码服务器返回第二预设单位个显卡资源,直至所述当前资源占用率大于所述第二预设阈值;响应于所述资源返回指令,根据第二预设频率每次向所述编码服务器返回第二预设单位个显卡资源,直至所述当前资源占用率大于所述第二预设阈值。

其中,所述第二预设阈值小于所述第一预设阈值;所述第二预设单位小于所述第一预设单位。

示例的,在源端设备进行编码过程中,源端设备的显卡资源占用率处于一个动态变化中,因此,编码服务器还需要不断对源端设备的物理显卡的当前资源占用率进行实时监测,在确定物理显卡的当前资源占用率小于第二预设阈值时,则说明源端设备的物理显卡的资源有富余,此时向源端设备发送资源返回指令,即控制源端设备向编码服务器返回第二预设单位个显卡资源,并将物理显卡的当前资源占用率实时反馈给编码服务器,编码服务器在确定物理显卡的当前资源占用率还小于第二预设阈值时,持续控制源端设备向编码服务器返回第二预设单位个显卡资源,直至源端设备的物理显卡的当前资源占用率大于第二预设阈值时,禁止源端设备向编码端设备返回显卡资源,编码服务器将返回的显卡资源重新存储在资源池中。

步骤205、根据所述目标显卡资源和所述物理显卡的资源对待编码数据进行编码。

示例的,源端设备在接收到目标显卡资源时,可以根据物理显卡的剩余资源和目标显卡资源的组合对待编码数据进行编码,实现编码的加速。

进一步的,如图4所示,在确定所述物理显卡支持所述显示设备的显示需求时,所述方法还包括以下步骤206:

步骤206、在确定所述物理显卡支持所述显示设备的显示需求时,根据所述物理显卡的资源对待编码数据进行编码。

示例的,源端设备在确定物理显卡支持显示设备的显示需求时,说明物理显卡的显卡资源充足,此时可以之间利用物理显卡的显卡资源进行编码。

进一步的,如图5所示,在执行完步骤205之后,所述方法还包括以下步骤:

步骤207、确定所述当前显示参数是否发生变化。

示例的,若用户更换与接收端设备连接的显示设备,或者修改显示设备的显示参数时,则会引起显示设备的当前显示参数发生变化。

步骤208、在确定所述当前显示参数发生变化时,根据变化后的当前显示参数确定所述物理显卡是否支持所述显示设备的显示需求。

示例的,源端设备在确定显示设备的当前显示参数发生变化时,需要在有效模式列表中查找变化后的当前显示参数,若在有效模式列表中查找到变化后的当前显示参数,则说明物理显卡支持显示设备的显示需求;若在有效模式列表中没有查找到变化后的当前显示参数,则说明物理显卡无法支持显示设备的显示需求。

步骤209、在确定所述物理显卡支持所述显示设备的显示需求时,向所述编码服务器发送显卡资源释放请求,使得所述编码服务器将所述目标显卡资源重新存储至资源池中。

示例的,在确定物理显卡支持显示设备的显示需求时,说明源端设备的算力足够,此时需要向编码服务器发送显卡资源释放请求,使得编码服务器在接收到显卡资源释放请求时,对下放给源端设备的目标显卡资源进行释放,被释放的显卡资源重新回到资源池中,后续可以分配给其他源端设备,同时编码服务器不再对源端设备的物理显卡的显卡资源占用率进行监控和调整。

需要说明的是,为了保证编码服务器与源端设备之间的正常通信,通常需要源端设备和编码服务器最好在一个网段,由于需要高速通信,所以最好是万兆局域网。

本公开实施例提供一种编码加速方法,根据显示设备的当前显示参数和源端设备的显卡支持的所有显示模式参数确定显卡是否支持显示设备的显示需求,在确定显卡未支持显示设备的显示需求时,向编码服务器发送显卡资源请求,使得编码服务器向源端设备发送目标显卡资源,这样源端设备就可以根据目标显卡资源和物理显卡的资源对待编码数据进行编码,实现了在不需要更换物理显卡的情况下,提升源端设备端的编码能力的灵活性,同时给用户带来极大的方便;随着源端设备算力的需求增加,只需要在编码服务器的资源池中增加显卡即可,无需不断更换物理显卡。

本公开实施例提供一种编码加速方法,应用于编码服务器,如图6所示,该方法包括以下步骤:

步骤601、接收源端设备发送的显卡资源请求。

步骤602、向所述源端设备发送目标显卡资源,使得所述源端设备根据所述目标显卡资源和显卡的资源对待编码数据进行编码。

可选的,根据第一预设频率每次向所述源端设备发送第一预设单位个显卡资源;在每次发送所述第一预设单位个显示资源后,接收所述源端设备发送的显卡的当前资源占用率;在确定所述当前资源占用率大于所述第一预设阈值时,持续向所述源端设备发送第一预设单位个显卡资源,直至所述当前资源占用率小于所述第一预设阈值时,停止向所述源端设备发送第一预设单位个显卡资源。

示例的,编码服务器预先对本地的显卡资源做切分,例如以0.1为单位进行划分,这样,在接收到显卡资源请求时,就可以直接向源端设备调配预定数量的目标显卡资源,即编码服务器每次调配第一预设单位个显卡资源给源端设备,源端设备在接收到第一预设单位个显卡资源时,将第一预设单位个显卡资源和物理显卡的剩余资源相加得到物理显卡的当前资源占用率,并将物理显卡的当前资源占用率实时反馈给编码服务器,编码服务器在确定物理显卡的当前资源占用率大于第一预设阈值时,持续调配第一预设单位个显卡资源给源端设备,直至源端设备的物理显卡的当前资源占用率小于第一预设阈值时,停止继续向源端设备调配第一预设单位个显卡资源。例如,显示设备需要得到4K 144的显示资源,物理显卡的当前资源占用率为100%,此时调用编码服务器的显卡资源来加速,编码服务器可以将资源池中的显卡资源分为整数等份,每次给源端设备1个等份或者多个等份,若还不够,再给1个等份或者多个等份,直至物理显卡的当前资源占用率低于第一预设阈值(例如80%)为止。

进一步的,监测所述物理显卡的当前资源占用率;在确定所述当前资源占用率小于第二预设阈值时,向所述源端设备发送资源返回指令,接收所述源端设备返回的第二预设单位个显卡资源。

其中,所述资源返回指令用于指示根据第二预设频率每次向所述编码服务器返回第二预设单位个显卡资源,直至所述当前资源占用率大于所述第二预设阈值;所述第二预设阈值小于所述第一预设阈值;所述第二预设单位小于所述第一预设单位。

示例的,在源端设备进行编码过程中,源端设备的显卡资源占用率处于一个动态变化中,因此,编码服务器还需要不断对源端设备的物理显卡的当前资源占用率进行实时监测,在确定物理显卡的当前资源占用率小于第二预设阈值时,则说明源端设备的物理显卡的资源有富余,此时向源端设备发送资源返回指令,即控制源端设备向编码服务器返回第二预设单位个显卡资源,并将物理显卡的当前资源占用率实时反馈给编码服务器,编码服务器在确定物理显卡的当前资源占用率还小于第二预设阈值时,持续控制源端设备向编码服务器返回第二预设单位个显卡资源,直至源端设备的物理显卡的当前资源占用率大于第二预设阈值时,禁止源端设备向编码端设备返回显卡资源,编码服务器将返回的显卡资源重新存储在资源池中。通过这样的调配方式可以将源端设备的物理显卡的当前资源占用率稳定在第一预设阈值(80%)与第二预设阈值(60%)之间,即稳定在[60%,80%]这个区间,一旦小于60%就控制源端设备向编码服务器返回下放的显卡资源,一旦大于80%就增加向源端设备下放显卡资源,从而使得源端设备的物理显卡的显卡资源既能满足显示设备的显示需求,又能处于一个相对合理的区间范围内,从而实现了编码服务器的资源的合理化利用。

本公开实施例提供一种编码加速方法,编码服务器在接收到源端设备发送的显卡资源请求时,向源端设备发送目标显卡资源,这样源端设备就可以根据目标显卡资源和物理显卡的资源对待编码数据进行编码,实现了在不需要更换物理显卡的情况下,提升源端设备端的编码能力的灵活性,同时给用户带来极大的方便;随着源端设备算力的需求增加,只需要在编码服务器的资源池中增加显卡即可,无需不断更换物理显卡。

本公开实施例提供一种编码加速方法,应用于源端设备和编码服务器,如图7所示,该方法包括以下步骤:

步骤701、源端设备在检测到接收端设备接入显示设备时,获取所述显示设备的当前显示参数。

其中,所述当前显示参数包括当前显示分辨率和当前显示帧率。

步骤702、源端设备根据所述当前显示参数和所述源端设备的物理显卡支持的所有显示模式参数,确定所述物理显卡是否支持所述显示设备的显示需求。

其中,所述显示模式参数包括所述物理显卡的分辨率和帧率。

步骤703、源端设备在确定所述物理显卡未支持所述显示设备的显示需求时,获取所述物理显卡的当前资源占用率。

步骤704、源端设备在确定所述当前资源占用率大于第一预设阈值时,向所述编码服务器发送所述显卡资源请求。

步骤705、编码服务器根据第一预设频率每次向所述源端设备发送第一预设单位个显卡资源。

步骤706、编码服务器在每次发送所述第一预设单位个显示资源后,接收所述源端设备发送的显卡的当前资源占用率。

步骤707、编码服务器在确定所述当前资源占用率大于所述第一预设阈值时,持续向所述源端设备发送第一预设单位个显卡资源,直至所述当前资源占用率小于所述第一预设阈值时,停止向所述源端设备发送第一预设单位个显卡资源。

步骤708、编码服务器监测所述物理显卡的当前资源占用率。

步骤709、编码服务器在确定所述当前资源占用率小于第二预设阈值时,向所述源端设备发送资源返回指令。

其中,所述资源返回指令用于指示根据第二预设频率每次向所述编码服务器返回第二预设单位个显卡资源,直至所述当前资源占用率大于所述第二预设阈值;所述第二预设阈值小于所述第一预设阈值;所述第二预设单位小于所述第一预设单位。

步骤710、源端设备响应于所述资源返回指令,根据第二预设频率每次向所述编码服务器返回第二预设单位个显卡资源,直至所述当前资源占用率大于所述第二预设阈值。

步骤711、源端设备确定所述当前显示参数是否发生变化。

步骤712、源端设备在确定所述当前显示参数发生变化时,根据变化后的当前显示参数确定所述物理显卡是否支持所述显示设备的显示需求。

步骤713、源端设备在确定所述物理显卡支持所述显示设备的显示需求时,向所述编码服务器发送显卡资源释放请求,使得所述编码服务器将所述目标显卡资源重新存储至资源池中。

本公开实施例提供一种编码加速方法,根据显示设备的当前显示参数和源端设备的显卡支持的所有显示模式参数确定显卡是否支持显示设备的显示需求,在确定显卡未支持显示设备的显示需求时,向编码服务器发送显卡资源请求,使得编码服务器向源端设备发送目标显卡资源,这样源端设备就可以根据目标显卡资源和物理显卡的资源对待编码数据进行编码,实现了在不需要更换物理显卡的情况下,提升源端设备端的编码能力的灵活性,同时给用户带来极大的方便;随着源端设备算力的需求增加,只需要在编码服务器的资源池中增加显卡即可,无需不断更换物理显卡。

基于上述实施例中所描述的编码加速方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。

本公开实施例提供一种源端设备,如图8a所示,该源端设备80包括:获取模块801、第一确定模块802、第一发送模块803、第一接收模块804和第一编码模块805。

其中,获取模块801,用于在检测到接收端设备接入显示设备时,获取所述显示设备的当前显示参数。

第一确定模块802,用于根据所述当前显示参数和所述源端设备的物理显卡支持的所有显示模式参数,确定所述物理显卡是否支持所述显示设备的显示需求。

第一发送模块803,用于在确定所述物理显卡未支持所述显示设备的显示需求时,向编码服务器发送显卡资源请求,使得所述编码服务器向所述源端设备发送目标显卡资源。

第一接收模块804,用于接收所述编码服务器发送的所述目标显卡资源。

第一编码模块805,用于根据所述目标显卡资源和所述物理显卡的资源对待编码数据进行编码。

在一个实施例中,如图8b所示,所述第一发送模块803包括获取子模块8031和第一发送子模块8032。

其中,所述获取子模块8031,用于获取所述物理显卡的当前资源占用率。

所述第一发送子模块8032,用于在确定所述当前资源占用率大于第一预设阈值时,向所述编码服务器发送所述显卡资源请求。

在一个实施例中,如图8c所示,所述第一接收模块804包括第一接收子模块8041、确定子模块8042和第二发送子模块8043。

其中,所述第一接收子模块8041,用于接收所述编码服务器每次发送的第一预设单位个显卡资源。

所述确定子模块8042,用于根据所述第一预设单位个显卡资源确定所述物理显卡的当前资源占用率。

所述第二发送子模块8043,用于向所述编码服务器发送所述当前资源占用率,使得所述编码服务器根据所述当前资源占用率确定是否继续向所述源端设备发送第一预设单位个显卡资源。

在一个实施例中,如图8d所示,所述设备还包括第三接收模块806和返回模块807。

其中,所述第三接收模块806,用于接收所述编码服务器发送的资源返回指令;所述资源返回指令用于指示根据第二预设频率每次向所述编码服务器返回第二预设单位个显卡资源,直至所述当前资源占用率大于所述第二预设阈值;所述第二预设阈值小于所述第一预设阈值;所述第二预设单位小于所述第一预设单位。

所述返回模块807,用于响应于所述资源返回指令,根据第二预设频率每次向所述编码服务器返回第二预设单位个显卡资源,直至所述当前资源占用率大于所述第二预设阈值。

在一个实施例中,如图8e所示,所述设备还包括第二编码模块808。

其中,所述第二编码模块808,用于在确定所述物理显卡支持所述显示设备的显示需求时,根据所述物理显卡的资源对待编码数据进行编码。

在一个实施例中,如图8f所示,所述设备还包括第二确定模块809、第三确定模块810和第三发送模块811。

其中,所述第二确定模块809,用于确定所述当前显示参数是否发生变化。

所述第三确定模块810,用于在确定所述当前显示参数发生变化时,根据变化后的当前显示参数确定所述物理显卡是否支持所述显示设备的显示需求。

所述第三发送模块811,用于在确定所述物理显卡支持所述显示设备的显示需求时,向所述编码服务器发送显卡资源释放请求,使得所述编码服务器将所述目标显卡资源重新存储至资源池中。

在一个实施例中,所述当前显示参数包括当前显示分辨率和当前显示帧率,所述显示模式参数包括所述物理显卡的分辨率和帧率。

本公开实施例提供一种编码服务器,如图9a所示,该编码服务器90包括:第二接收模块901和第二发送模块902。

其中,第二接收模块901,用于接收源端设备发送的显卡资源请求。

第二发送模块902,用于向所述源端设备发送目标显卡资源,使得所述源端设备根据所述目标显卡资源和显卡的资源对待编码数据进行编码。

在一个实施例中,如图9b所示,所述第二发送模块902包括第三发送子模块9021、第二接收子模块9022和第四发送子模块9023。

其中,所述第三发送子模块9021,用于根据第一预设频率每次向所述源端设备发送第一预设单位个显卡资源。

所述第二接收子模块9022,用于在每次发送所述第一预设单位个显示资源后,接收所述源端设备发送的显卡的当前资源占用率。

所述第四发送子模块9023,用于在确定所述当前资源占用率大于所述第一预设阈值时,持续向所述源端设备发送第一预设单位个显卡资源,直至所述当前资源占用率小于所述第一预设阈值时,停止向所述源端设备发送第一预设单位个显卡资源。

在一个实施例中,如图9c所示,所述编码服务器还包括监测模块903、第四发送模块904和第三接收模块905。

其中,所述监测模块903,用于监测所述物理显卡的当前资源占用率。

所述第四发送模块904,用于在确定所述当前资源占用率小于第二预设阈值时,向所述源端设备发送资源返回指令;所述资源返回指令用于指示根据第二预设频率每次向所述编码服务器返回第二预设单位个显卡资源,直至所述当前资源占用率大于所述第二预设阈值;所述第二预设阈值小于所述第一预设阈值;所述第二预设单位小于所述第一预设单位。

所述第三接收模块905,用于接收所述源端设备返回的第二预设单位个显卡资源。

图10是本公开实施例提供的一种编码加速系统的框架图,如图10所示的编码加速系统包括至少一个接收端设备1001、至少一个上述任一实施例所述的源端设备1002、以及上述任一实施例所述的编码服务器1003。

基于上述图2对应的实施例中所描述的编码加速方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:ReadOnly Memory,ROM)、随机存取存储器(英文:Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图2对应的实施例中所描述的编码加速方法,此处不再赘述。

基于上述图6对应的实施例中所描述的编码加速方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器、随机存取存储器、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图6对应的实施例中所描述的编码加速方法,此处不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

29页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:设备间的通话方法、装置、设备和存储介质

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类