掌桥专利:专业的专利平台
掌桥专利
首页

基于多线程的人体模型渲染方法、系统及存储介质

文献发布时间:2023-06-19 16:04:54



技术领域

本发明涉及图像数据处理技术领域,尤其涉及一种基于多线程的人体模型渲染方法、系统及存储介质。

背景技术

在图像渲染过程中,存在本地渲染和云端渲染等多种方式。随机云技术、图像处理技术处理的发展,云端渲染方式越来越被大众所需要,在云端渲染的过程中,用户可以通过用户端向云端服务器发送需要渲染的人体模型图像,云端服务器根据相应的需求对人体模型图像进行渲染后发回至相应的云端处。

云端服务器在进行渲染的过程中,一般会通过CPU和GPU的配合控制进行渲染,渲染速度与CPU和GPU所构成的线程数量存在一定的关系,一般来说,CPU和GPU所构成的线程数量越多,则云端服务器在对多个移动终端分别发送的人体模型图像渲染的速度越快。

在实际的渲染场景中,不同的移动终端所发送的需要渲染的人体模型图像的分辨率都是不同的,并且其需要渲染的方式也都是不同的,所以渲染时间都会存在一定的差异,所以亟需一种技术方案,能够根据线程的工作情况的不同、人体模型图像属性的不同对人体模型图像进行分发。

发明内容

本发明实施例提供一种基于多线程的人体模型渲染方法、系统及存储介质,能够根据线程的工作情况的不同、人体模型图像属性的不同对人体模型图像进行分发并得到相应的渲染时间,在并发场景对人体模型图像在多个线程中进行合理分配,提高人体模型图像的渲染效率。

本发明实施例的第一方面,提供一种基于多线程的人体模型渲染方法,包括云端服务器以及与所述云端服务器连接的多个用户终端,通过以下步骤对多个用户终端发送的人体模型图像进行渲染,具体包括:

获取每个用户终端在当前时刻发送的待处理人体模型图像以及相对应的渲染需求数据,根据所述渲染需求数据中的一维渲染信息对待处理人体模型图像分类得到多个第一类的待处理人体模型图像;

根据每个第一类的待处理人体模型图像的图像信息和二维渲染信息计算得到渲染需求信息,根据所述渲染需求信息对第一类的待处理人体模型图像按照第一预设顺序排序得到渲染需求排序结果;

根据所述渲染需求数据确定待处理人体模型图像所对应的多个第一类的渲染线程;

对每个渲染线程内的人体模型图像的图像属性、图像数量进行计算生成该线程在当前时刻的当前处理量信息,根据所述当前处理量信息对多个渲染线程按照第二预设顺序排序得到渲染量排序结果;

根据所述渲染需求排序结果和渲染量排序结果,将第一类的待处理人体模型图像分发至相应的渲染线程中进行渲染。

可选地,在第一方面的一种可能实现方式中,在获取每个用户终端在当前时刻发送的待处理人体模型图像以及相对应的渲染需求数据,根据所述渲染需求数据中的一维渲染信息对待处理人体模型图像分类得到多个第一类的待处理人体模型图像的步骤中,具体包括:

若所述一维渲染信息为融合渲染方式,则得到第一类为融合渲染类别的多个处理人体模型图像;

若所述一维渲染信息为像素调整渲染方式,则得到第一类为像素调整渲染类别的多个处理人体模型图像。

可选地,在第一方面的一种可能实现方式中,在根据每个第一类的待处理人体模型图像的图像信息和二维渲染信息计算得到渲染需求信息,根据所述渲染需求信息对第一类的待处理人体模型图像按照第一预设顺序排序得到渲染需求排序结果的步骤中,具体包括:

若所述第一类为融合渲染类别,则根据所述二维渲染信息确定其他的融合渲染图像;

根据所述待处理人体模型图像的图像信息中像素点的数量值、其他的融合渲染图像的数量值以及每个融合渲染图像中像素点的数量值进行计算得到渲染需求信息;

根据渲染需求信息对第一类的待处理人体模型图像按照第一预设顺序排序得到渲染需求排序结果。

可选地,在第一方面的一种可能实现方式中,在根据所述待处理人体模型图像的图像信息中像素点的数量值、其他的融合渲染图像的数量值以及每个融合渲染图像中像素点的数量值进行计算得到渲染需求信息的步骤中,具体包括:

通过以下公式计算渲染需求信息,

其中,x

可选地,在第一方面的一种可能实现方式中,在根据每个第一类的待处理人体模型图像的图像信息和二维渲染信息计算得到渲染需求信息,根据所述渲染需求信息对第一类的待处理人体模型图像按照第一预设顺序排序得到渲染需求排序结果的步骤中,具体包括:

若所述第一类为像素调整渲染类别,则根据所述二维渲染信息确定像素调整方式和/或像素调整幅度;

根据所述像素调整方式得到所对应的像素调整权重值,其中每种像素调整方式所对应的像素调整权重值是预先设定的;

根据不同的像素调整方式和/或像素调整幅度、以及待处理人体模型图像的图像信息中像素点的数量值进行计算,得到每种像素调整方式的待处理人体模型图像所对应的渲染需求信息;

根据渲染需求信息对第一类的待处理人体模型图像按照第一预设顺序排序得到渲染需求排序结果。

可选地,在第一方面的一种可能实现方式中,在根据不同的像素调整方式和/或像素调整幅度、以及待处理人体模型图像的图像信息中像素点的数量值进行计算,得到每种像素调整方式的待处理人体模型图像所对应的渲染需求信息的步骤中,具体包括:

若所述像素调整方式为二值化调整方式,则获取二值化调整方式所对应的二值化区间的数量以及待处理人体模型图像的图像信息中像素点的数量值,通过以下公式计算二值化调整方式的待处理人体模型图像所对应的渲染需求信息,

其中,x

若所述像素调整方式为像素偏移调整方式,则获取待处理人体模型图像的图像信息中像素点的数量值,通过以下公式计算像素偏移调整方式的待处理人体模型图像所对应的渲染需求信息,

其中,x

可选地,在第一方面的一种可能实现方式中,在对每个渲染线程内的人体模型图像的图像属性、图像数量进行计算生成该线程在当前时刻的当前处理量信息,根据所述当前处理量信息对多个渲染线程按照第二预设顺序排序得到渲染量排序结果的步骤中,具体包括:

获取每个线程中正在渲染的人体模型图像的第一图像属性、第一图像数量;

获取每个线程中准备渲染的人体模型图像的第二图像属性、第二图像数量;

根据第一图像属性、第一图像数量、第二图像属性以及第二图像数量计算得到当前处理量信息;

根据所述当前处理量信息对多个渲染线程按照第二预设顺序排序得到渲染量排序结果;

通过以下公式计算当前处理量信息,

其中,u为当前处理量信息,β

可选地,在第一方面的一种可能实现方式中,还包括:

对不同类别的渲染线程在多个时间段的渲染处理量进行统计,得到每个类别的渲染线程的处理总量以及每个渲染线程的平均处理量;

若不同类别的渲染线程的平均处理量的差值大于预设处理量差值,则根据所述平均处理量的差值确定转换数量;

将平均处理量较小类别中转换数量的渲染线程归类为平均处理量较大类别的渲染线程。

本发明实施例的第二方面,提供一种基于多线程的人体模型渲染系统,包括云端服务器以及与所述云端服务器连接的多个用户终端,通过以下模块对多个用户终端发送的人体模型图像进行渲染,具体包括:

图像分类模块,用于获取每个用户终端在当前时刻发送的待处理人体模型图像以及相对应的渲染需求数据,根据所述渲染需求数据中的一维渲染信息对待处理人体模型图像分类得到多个第一类的待处理人体模型图像;

需求排序模块,用于根据每个第一类的待处理人体模型图像的图像信息和二维渲染信息计算得到渲染需求信息,根据所述渲染需求信息对第一类的待处理人体模型图像按照第一预设顺序排序得到渲染需求排序结果;

线程分类模块,用于根据所述渲染需求数据确定待处理人体模型图像所对应的多个第一类的渲染线程;

线程排序模块,用于对每个渲染线程内的人体模型图像的图像属性、图像数量进行计算生成该线程在当前时刻的当前处理量信息,根据所述当前处理量信息对多个渲染线程按照第二预设顺序排序得到渲染量排序结果;

分发渲染模块,用于根据所述渲染需求排序结果和渲染量排序结果,将第一类的待处理人体模型图像分发至相应的渲染线程中进行渲染。

本发明实施例的第三方面,提供一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现本发明第一方面及第一方面各种可能设计的所述方法。

本发明提供的一种基于多线程的人体模型渲染方法、系统及存储介质。能够在高并发人体模型渲染的场景下进行高效的人体模型图像渲染,本发明会采取多线程的工作方式,根据每个线程的类型分发相应类型的待处理人体模型图像,使得本发明在多场景的渲染需求时,能够将不同渲染处理量级的人体模型图像区分渲染,使得渲染处理量级低的人体模型图像具有显然速度快、渲染效率高的优点,提高整体的人体模型渲染效率。本发明在对某一个类的多个待处理人体模型图像进行渲染时,会根据多个待处理人体模型图像的图像信息和二维渲染信息进行计算得到渲染需求排序结果,以及根据渲染线程的处理中人体模型的图像属性、图像数量计算得到渲染量排序结果,结合渲染需求排序结果和渲染量排序结果对待处理人体模型图像进行分发,使得每个渲染线程能够得到与其当前相对处理能力相适应的渲染任务,进而提高整体的人体模型渲染效率。

本发明提供的技术方案,在计算渲染需求信息时,会根据类别的不同采取不同的计算方式。当第一类为融合渲染类别时,本发明会综合待处理人体模型图像的图像信息中像素点的数量值、其他的融合渲染图像的数量值以及每个融合渲染图像中像素点的数量值等维度进行计算,得到将多个图片融合时的渲染需求信息,使得所得到的渲染需求信息能够反映出在融合过程中的计算量,进而能够将其匹配与其所需要的计算量相应的渲染线程,提高融合渲染类别的待处理人体模型图像的渲染效率。

本发明提供的技术方案,在计算像素调整渲染类别时,会根据像素的二值化调整方式和像素偏移调整方式分别对待处理人体模型图像进行渲染需求信息的计算,使得二值化调整方式和像素偏移调整方式的渲染需求信息能够进行比较,进而使得本发明在对二值化调整方式和像素偏移调整方式的待处理人体模型图像进行渲染时可以匹配、分配至同一个渲染线程进行处理,使得二值化调整方式和像素偏移调整方式的待处理人体模型图像能够分配至相应渲染能力的渲染线程处,提高了渲染效率。

本发明提供的技术方案,会对不同类别的渲染线程在多个时间段的渲染处理量进行统计,根据不同类别的渲染线程的工作情况得到相应的渲染线程的转换数量,使得不同的渲染线程之间能够进行相互的转换,最大化的利用每种类型的渲染线程的计算量,提高本发明提供的技术方案的整体的渲染效率,避免出现部分类型的渲染线程的工作量、部分类型的渲染线程的工作量小的情况出现。

附图说明

图1为基于多线程的人体模型渲染方法的适用场景示意图;

图2为基于多线程的人体模型渲染方法的第一种实施方式的流程图;

图3为基于多线程的人体模型渲染方法的第二种实施方式的流程图;

图4为基于多线程的人体模型渲染装置的第一种实施方式的结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。

应当理解,在本发明的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

应当理解,在本发明中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

应当理解,在本发明中,“多个”是指两个或两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含A、B和C”、“包含A、B、C”是指A、B、C三者都包含,“包含A、B或C”是指包含A、B、C三者之一,“包含A、B和/或C”是指包含A、B、C三者中任1个或任2个或3个。

应当理解,在本发明中,“与A对应的B”、“与A相对应的B”、“A与B相对应”或者“B与A相对应”,表示B与A相关联,根据A可以确定B。根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。A与B的匹配,是A与B的相似度大于或等于预设的阈值。

取决于语境,如在此所使用的“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。

下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

本发明提供一种基于多线程的人体模型渲染方法,如图1所示,为本发明提供的技术方案的场景示意图,包括云端服务器以及与所述云端服务器连接的多个用户终端。云端服务器可以是服务器集群的形式,服务器集群中会包括多个CPU、GPU,通过CPU、GPU进行组合得到多个对人体模型进行渲染的线程。本发明会预先对渲染线程进行分类,例如部分渲染线程对人体模型进行融合渲染,部分渲染线程对人体模型进行像素调整渲染等等。对于CPU和GPU组成的线程的方式本发明不做任何限定,1个CPU可以和1个GPU组成一个渲染线程。2个CPU可以与1个GPU组成一个渲染线程。1个CPU可以与2个GPU组成一个渲染线程。云端服务器连接有数据库,数据库内可以存储有融合渲染图像。

本发明所提供的基于多线程的人体模型渲染方法,如图2所示,通过以下步骤对多个用户终端发送的人体模型图像进行渲染,具体包括:

步骤S110、获取每个用户终端在当前时刻发送的待处理人体模型图像以及相对应的渲染需求数据,根据所述渲染需求数据中的一维渲染信息对待处理人体模型图像分类得到多个第一类的待处理人体模型图像。本发明提供的技术方案,用户可以通过用户终端向云端服务器发送需要渲染的待处理人体模型图像,与待处理人体模型图像一同发送的还有渲染需求数据。在通过用户终端收集渲染需求数据时,会得到2个维度的渲染信息,2个维度的渲染信息即分别包括一维渲染信息和二维渲染信息,本发明会根据一维渲染信息对待处理人体模型图像进行分类,使得后续渲染的步骤中,能够使不同类别的线程对相应类别的待处理人体模型图像进行处理。

本发明提供的技术方案,在一个可能的实施方式中,如图3所示,步骤S110具体包括:

步骤S1101、若所述一维渲染信息为融合渲染方式,则得到第一类为融合渲染类别的多个处理人体模型图像。融合渲染方式为用户选择的,融合渲染方式可以理解为是2个图像的叠加渲染。例如存在一个人体模型,需要对人体模型添加某个表情、某件衣服,则此时需要在先前的人体模型的基础上融合上新的融合图像,即将两个图像进行融合。此时本发明将融合渲染方式作为本发明所提供的其中一种渲染方式、模式。

步骤S1102、若所述一维渲染信息为像素调整渲染方式,则得到第一类为像素调整渲染类别的多个处理人体模型图像。在进行人体模型的渲染过程中,需求可能是对人体模型的颜色、肤色等内容进行调整,此时并没有对原始的人体模型图像添加新的图像,而是在原始的人体模型图像的基础上进行像素的改变,所以此时的渲染模式可以理解为是像素调整渲染方式。

本发明会根据一维渲染信息对多个处理人体模型图像进行分类,得到不同处理、渲染需求的类别的人体模型图像。

步骤S120、根据每个第一类的待处理人体模型图像的图像信息和二维渲染信息计算得到渲染需求信息,根据所述渲染需求信息对第一类的待处理人体模型图像按照第一预设顺序排序得到渲染需求排序结果。本发明提供的技术方案,在对待处理人体模型图像分类后,会对每个类别的待处理人体模型图像进行渲染需求信息的计算。一般来说,渲染需求信息越大,则所需要的计算量就越大,本发明会根据每个渲染需求信息对第一类的待处理人体模型图像进行排序,第一预设顺序可以是降序的排序,即渲染需求信息越大的待处理人体模型图像在渲染需求排序结果中越靠前。渲染需求信息可以是在进行待处理人体模型图像时所预测的需要处理的数据项的数量。

本发明提供的技术方案,在一个可能的实施方式中,步骤S120具体包括:

若所述第一类为融合渲染类别,则根据所述二维渲染信息确定其他的融合渲染图像。在待处理人体模型图像的第一类为融合渲染类别时,则此时其会与其他的融合渲染图像进行融合处理,融合渲染图像例如说表情图像、装饰图像、衣服图像等等。二维渲染信息中可以具有所需要确定其他的融合渲染图像的图像标签、地址信息、链接信息等等,根据二维渲染信息能够快速确定其他的融合渲染图像。

根据所述待处理人体模型图像的图像信息中像素点的数量值、其他的融合渲染图像的数量值以及每个融合渲染图像中像素点的数量值进行计算得到渲染需求信息。本发明提供的技术方案,会得到待处理人体模型图像的图像信息中像素点的数量值,用户终端向云服务端发送的待处理人体模型图像的分辨率都是固定的几个,不同的分辨率会具有不同的像素点的数量值,所以本发明可以快速的确定图像信息中像素点的数量值。融合渲染的需求不同,则此时所确定的融合渲染图像的数量即存在不同的情况,例如待处理人体模型图像可能添加1个装饰、2个装饰等等。不同的融合渲染图像可能也会具有不同的像素点的数量,由于融合渲染图像中的元素不同,所以不同的融合渲染图像的像素点的数量也可能会存在不同。所以,本发明还需要得到融合渲染图像的数量值以及每个融合渲染图像中像素点的数量值,并计算相应的渲染需求信息。

本发明提供的技术方案,在一个可能的实施方式中,在根据所述待处理人体模型图像的图像信息中像素点的数量值、其他的融合渲染图像的数量值以及每个融合渲染图像中像素点的数量值进行计算得到渲染需求信息的步骤中,具体包括:

通过以下公式计算渲染需求信息,

其中,x

根据渲染需求信息对第一类的待处理人体模型图像按照第一预设顺序排序得到渲染需求排序结果。本发明提供的技术方案,会按照渲染需求信息的数量值大小对待处理人体模型图像进行排序,第一预设顺序可以是降序的排序。

本发明提供的技术方案,在一个可能的实施方式中,步骤S120具体包括:

若所述第一类为像素调整渲染类别,则根据所述二维渲染信息确定像素调整方式和/或像素调整幅度。在用户需要对人体模型图像进行像素调整渲染时,本发明提供的技术方案会根据二维渲染信息确定像素调整方式和/或像素调整幅度。像素调整方式例如对人体模型图像进行二值化调整、像素偏移调整。在对像素偏移调整时,则需要像素调整幅度,例如当前像素的RGB值向上偏移10个点、向下偏移20个点等等。在对人体模型渲染时,则需要相应的像素调整幅度。

根据所述像素调整方式得到所对应的像素调整权重值,其中每种像素调整方式所对应的像素调整权重值是预先设定的。本发明提供的技术方案,会预先对不同的像素调整方式设置不同的像素调整权重值,如果二值化调整的计算量普遍大于像素偏移调整,则此时二值化调整方式所对应的权重值则大于像素偏移调整方式所对应的权重值。

根据不同的像素调整方式和/或像素调整幅度、以及待处理人体模型图像的图像信息中像素点的数量值进行计算,得到每种像素调整方式的待处理人体模型图像所对应的渲染需求信息。本发明提供的技术方案,会综合多个维度进行计算,得到像素调整方式的待处理人体模型图像所对应的渲染需求信息,进而实现对像素调整方式的待处理人体模型图像进行排序的目的。

本发明提供的技术方案,在一个可能的实施方式中,在根据不同的像素调整方式和/或像素调整幅度、以及待处理人体模型图像的图像信息中像素点的数量值进行计算,得到每种像素调整方式的待处理人体模型图像所对应的渲染需求信息的步骤中,具体包括:

若所述像素调整方式为二值化调整方式,则获取二值化调整方式所对应的二值化区间的数量以及待处理人体模型图像的图像信息中像素点的数量值,通过以下公式计算二值化调整方式的待处理人体模型图像所对应的渲染需求信息,

其中,x

通过

若所述像素调整方式为像素偏移调整方式,则获取待处理人体模型图像的图像信息中像素点的数量值,通过以下公式计算像素偏移调整方式的待处理人体模型图像所对应的渲染需求信息,

其中,x

通过

根据渲染需求信息对第一类的待处理人体模型图像按照第一预设顺序排序得到渲染需求排序结果。本发明提供的技术方案,会分别对二值化调整方式和像素偏移调整方式所对应的待处理人体模型图像分别计算处理,并进行统一的排序,使得二者所计算的渲染需求信息处于同一个计算的量值维度,使得不同处理方式的渲染也能够进行对比,降低渲染线程的分类数量。

步骤S130、根据所述渲染需求数据确定待处理人体模型图像所对应的多个第一类的渲染线程。本发明提供的技术方案,会根据渲染需求数据对渲染线程进行分类,使得此时所得到的渲染线程都是待处理人体模型图像所需要的渲染线程,进而为后续对待处理人体模型图像和渲染线程之间的匹配提供基础。

步骤S140、对每个渲染线程内的人体模型图像的图像属性、图像数量进行计算生成该线程在当前时刻的当前处理量信息,根据所述当前处理量信息对多个渲染线程按照第二预设顺序排序得到渲染量排序结果。本发明提供的技术方案,在对渲染线程进行分类后,会根据渲染线程中人体模型图像的图像属性、图像数量等维度计算相应渲染线程的当前处理量信息,如果其当前处理量信息越大,则其在对新接收的待处理人体模型图像的处理时间就越长。本发明会根据当前处理量信息对多个渲染线程进行排序,第二预设顺序可以是升序的排序方式,即当前处理量信息较少的渲染线程排在前部。当前处理量信息可以理解为是当前正在处理、需要处理的数据项的数量所形成的信息。

本发明提供的技术方案,在一个可能的实施方式中,步骤S140具体包括:

获取每个线程中正在渲染的人体模型图像的第一图像属性、第一图像数量。正在渲染的人体模型图像可以理解为是GPU正在渲染处理过程中的人体模型图像,第一图像属性可以是融合渲染类别所对应的第一图像属性,也可以是像素调整渲染类别所对应的第一图像属性。一般来说,融合渲染类别的第一图像属性所对应的权重值会大于像素调整渲染类别的第一图像属性所对应的权重值。如果一个渲染线程中,1个CPU对应1个GPU,则此时只存在1个GPU,此时的第一图像数量只可能是0或1,如果1个CPU对应2个GPU,则此时的第一图像数量可能是0、1、2。对于不同的渲染线程的场景中,可能会具有不同的渲染方式。

获取每个线程中准备渲染的人体模型图像的第二图像属性、第二图像数量。准备渲染的人体模型图像可以理解为是CPU进行准备处理过程中的人体模型图像,第二图像属性可以是融合渲染类别所对应的第二图像属性,也可以是像素调整渲染类别所对应的第二图像属性。一般来说,融合渲染类别的第二图像属性所对应的权重值会大于像素调整渲染类别的第二图像属性所对应的权重值。如果一个渲染线程中,1个CPU对应1个GPU,则此时存在1个CPU,此时的第一图像数量可能是0、1等等,如果2个CPU对应1个GPU,则此时的第一图像数量可能是0、1、2等等。对于不同的渲染线程的场景中,可能会具有不同的渲染方式。在某些场景下,1个也可能会对应大于1的图像数量。

一般来说,GPU会对人体模型图像进行分别渲染,CPU可以对人体模型图像进行同步准备。

根据第一图像属性、第一图像数量、第二图像属性以及第二图像数量计算得到当前处理量信息。

本发明提供的技术方案,通过以下公式计算当前处理量信息,

其中,u为当前处理量信息,β

根据所述当前处理量信息对多个渲染线程按照第二预设顺序排序得到渲染量排序结果。本发明会根据当前处理量信息对渲染线程按照第二预设顺序排序,第二预设顺序为升序。

步骤S150、根据所述渲染需求排序结果和渲染量排序结果,将第一类的待处理人体模型图像分发至相应的渲染线程中进行渲染。本发明提供的技术方案,在得到渲染需求排序结果和渲染量排序结果后。会选取渲染需求排序结果中相应位置的待处理人体模型图像与渲染量排序结果相应位置的渲染线程进行匹配,例如渲染需求排序结果中的第1个待处理人体模型图像与渲染量排序结果中的第1个渲染线程相匹配。由于渲染需求排序结果为降序、渲染量排序结果为升序,所以所需要计算量最大的待处理人体模型图像会与相对计算量最大的渲染线程相匹配,进而使得多渲染线程的工作量都是相似的,使得后续的渲染过程中,尽量降低多个渲染线程工作不相符的情况,提高渲染效率。

本发明提供的技术方案,在一个可能的实施方式中,还包括:

对不同类别的渲染线程在多个时间段的渲染处理量进行统计,得到每个类别的渲染线程的处理总量以及每个渲染线程的平均处理量。本发明会对不同类别、不同时刻的渲染处理量进行统计。不同时刻可以是10:00至12:00,16:00至18:00等等。得到多个时间段的平均处理量,通过该平均处理量可以反映出不同类别的渲染线程的处理负荷,平均处理量越大,则相对应的处理负荷越大。

若不同类别的渲染线程的平均处理量的差值大于预设处理量差值,则根据所述平均处理量的差值确定转换数量。如果平均处理量的差值大于预设处理量差值,则证明此时不同类别的渲染线程之间的平均处理量的差值过大,需要对渲染线程的类别进行重新的分配,使得不同类别的渲染线程具有相似的处理负荷,进而提高本发明所提供的技术方案的整体的处理效率。

需要说明的是,在不同类别的渲染过程中,需要为CPU、GPU设置不同的接口,例如在融合渲染类别的场景下,此时可能需要与数据库的接口连接,即调取数据库中相应的融合图像,在数据的调取过程中也会存在一定的时间,所以本发明会根据渲染线程的类型不同配置不同的接口,实现不同的渲染功能。

可以这样理解,服务器集群中包括多个子服务器,每个子服务器包括多个CPU、GPU,本发明可以是以子服务器为单位对CPU、GPU所构成的渲染线程进行分类,也可以是直接根据CPU、GPU所构成的渲染线程进行分类。

本发明提供的技术方案,会根据平均处理量的差值确定转换数量,平均处理量的差值越大,则相对应的转换数量越大。本发明可以预先设置多个差值区间,每个差值具有与其对应的转换数量,例如差值区间W所对应的转换数量为5,则在平均处理量的差值落入差值区间W后则对5个渲染线程进行转换。

将平均处理量较小类别中转换数量的渲染线程归类为平均处理量较大类别的渲染线程。本发明提供的技术方案,在得到转换数量后,对渲染线程进行转换。

通过以上的技术方案,使得本发明可以根据用户一段时间的渲染需求对渲染线程进行动态的调整,使得本发明所提供的技术的渲染线程都能够处在相同、相似的负荷状态下,提高了整体的渲染效率。

为了实现本发明提供的基于多线程的人体模型渲染方法,本发明还提供一种基于多线程的人体模型渲染系统,包括云端服务器以及与所述云端服务器连接的多个用户终端,通过以下模块对多个用户终端发送的人体模型图像进行渲染,如图4所示,具体包括:

图像分类模块,用于获取每个用户终端在当前时刻发送的待处理人体模型图像以及相对应的渲染需求数据,根据所述渲染需求数据中的一维渲染信息对待处理人体模型图像分类得到多个第一类的待处理人体模型图像;

需求排序模块,用于根据每个第一类的待处理人体模型图像的图像信息和二维渲染信息计算得到渲染需求信息,根据所述渲染需求信息对第一类的待处理人体模型图像按照第一预设顺序排序得到渲染需求排序结果;

线程分类模块,用于根据所述渲染需求数据确定待处理人体模型图像所对应的多个第一类的渲染线程;

线程排序模块,用于对每个渲染线程内的人体模型图像的图像属性、图像数量进行计算生成该线程在当前时刻的当前处理量信息,根据所述当前处理量信息对多个渲染线程按照第二预设顺序排序得到渲染量排序结果;

分发渲染模块,用于根据所述渲染需求排序结果和渲染量排序结果,将第一类的待处理人体模型图像分发至相应的渲染线程中进行渲染。。

本发明还提供一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现上述的各种实施方式提供的方法。

其中,存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。另外,该ASIC可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于通信设备中。存储介质可以是只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

本发明还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在存储介质中。设备的至少一个处理器可以从存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的各种实施方式提供的方法。

在上述终端或者服务器的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

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

技术分类

06120114698132