System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术实施例涉及计算机,尤其涉及一种图像处理方法、装置、设备及存储介质。
技术介绍
1、随着互联网技术的快速发展,图像处理领域的图像渲染需求(比如,功能需求、性能需求等)也在不断增多。以提供有直播功能的网络平台为例,该网络平台可能会有在直播视频流的图像帧中添加虚拟道具的功能需求。
2、现有技术中,为满足图像处理领域的图像渲染需求,提供了一些开放的标准渲染应用程序编程接口(application programming interface,api),比如,开放图形库(opengraphics library,opengl)等。
3、然而,在实现本专利技术过程中,发现现有技术中至少存在如下问题:为避免网络平台在调用渲染api时出现资源访问冲突,目前的渲染api仅支持单线程渲染而不支持多线程渲染,这对渲染效率造成了很大的影响。
技术实现思路
1、本专利技术实施例提供了一种图像处理方法、装置、设备及存储介质,可以实现在不引起资源访问冲突的情况下,对图像进行多线程渲染,以提高渲染效率。
2、第一方面,本专利技术实施例提供了一种图像处理方法,该方法可以包括:根据接收到的针对目标图像的渲染请求,创建各渲染任务,并创建与各渲染任务分别对应的渲染线程;其中,各渲染任务包括:针对目标图像的底层渲染任务、以及与目标图像中的各目标对象分别对应的叠加渲染任务;在各渲染线程中分别执行相应的渲染任务,得到各渲染结果;对各渲染结果进行叠加处理,得到目标图像的渲染图像。
>3、第二方面,本专利技术实施例还提供了一种图像处理装置,该装置可以包括:创建模块、任务执行模块、以及处理模块;
4、具体的,创建模块,用于根据接收到的针对目标图像的渲染请求,创建各渲染任务,并创建与各渲染任务分别对应的渲染线程;其中,各渲染任务包括:针对目标图像的底层渲染任务、以及与目标图像中的各目标对象分别对应的叠加渲染任务;
5、任务执行模块,用于在各渲染线程中分别执行相应的渲染任务,得到各渲染结果;
6、处理模块,用于对各渲染结果进行叠加处理,得到目标图像的渲染图像。
7、第三方面,本专利技术实施例提供了一种图像处理设备,该图像处理设备包括:
8、一个或多个处理器;
9、存储器,用于存储一个或多个程序;
10、当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本专利技术任意实施例所提供的图像处理方法。
11、第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术任意实施例所提供的图像处理方法。
12、上述专利技术中的实施例具有如下优点或有益效果:
13、本专利技术实施例提供的技术方案中,考虑到目前针对待渲染的目标图像的渲染内容,可能会包括对目标图像进行背景渲染(比如,对目标图像添加滤镜等)的部分、以及对目标图像中的某一目标对象进行渲染(比如,对目标图像中的某一目标对象添加虚拟道具等)的部分;而在对目标图像进行背景渲染和对目标图像中的目标对象进行渲染这两个过程中,调用渲染api时所访问的资源一般不同;并且,在对不同的目标对象进行渲染的各个过程中,调用渲染api时所访问的资源一般也不同。所以,本专利技术实施例可以将针对目标图像的总渲染任务,拆分为针对目标图像的底层渲染任务、以及与目标图像中的各目标对象分别对应的叠加渲染任务,并且为各渲染任务分别创建对应的渲染线程,从而实现对目标图像的多线程渲染。具体的,当接收到针对目标图像的渲染请求时,可以先基于渲染请求对总渲染任务进行拆分,创建得到各渲染任务,该各渲染任务中包括针对目标图像的底层渲染任务、以及与目标图像中的各目标对象分别对应的叠加渲染任务,并且,可以为各渲染任务分别创建对应的渲染线程;然后,对于各渲染任务中的每个渲染任务,均在当前渲染任务对应的渲染线程中执行当前渲染任务,得到当前渲染任务对应的渲染结果;之后,可以对各渲染结果进行叠加处理,得到目标图像的渲染图像。可以看出,在本专利技术实施例中,由于对目标图像进行背景渲染和对目标图像中的目标对象进行渲染这两个过程中,调用渲染api时所访问的资源不同,所以在执行底层渲染任务和叠加渲染任务这两种任务的过程中,调用渲染api时所访问的资源不同;并且,由于在对不同的目标对象进行渲染的各个过程中,调用渲染api时所访问的资源不同,所以在执行各叠加渲染任务的过程中,调用渲染api时所访问的资源也不同。那么,本专利技术实施例拆分得到的各渲染任务在并行执行时,也就不会引起资源访问冲突,这样,当为各渲染任务创建的各渲染线程在并行执行时,也就不会出现执行冲突。因此,本专利技术实施例可以实现在不引起资源访问冲突的情况下,对图像进行多线程渲染,以提高渲染效率。
本文档来自技高网...【技术保护点】
1.一种图像处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的图像处理方法,其特征在于,所述根据接收到的针对目标图像的渲染请求,创建各渲染任务,包括:
3.根据权利要求2所述的图像处理方法,其特征在于,所述基于预先确定的筛选原则,从当前目标对象的各候选渲染内容中确定出当前目标对象对应的各目标渲染内容,包括:
4.根据权利要求3所述的图像处理方法,其特征在于,所述基于当前目标对象的各候选渲染内容分别对应的渲染类型,从当前目标对象的各候选渲染内容中确定出当前目标对象对应的各目标渲染内容,包括:
5.根据权利要求4所述的图像处理方法,其特征在于,所述基于当前目标对象的各候选渲染内容分别对应的所述渲染类型、以及当前目标对象的各候选渲染内容分别对应的预测渲染时长,从当前目标对象的各候选渲染内容中确定出当前目标对象对应的各目标渲染内容,包括:
6.根据权利要求1所述的图像处理方法,其特征在于,所述在各所述渲染线程中分别执行相应的渲染任务,得到各渲染结果,包括:
7.根据权利要求6所述的图像处理方法,其特征在于
8.根据权利要求6所述的图像处理方法,其特征在于,所述基于当前渲染视图和当前渲染上下文,在当前渲染任务对应的渲染线程中执行当前渲染任务,得到当前渲染任务对应的渲染结果,包括:
9.根据权利要求6所述的图像处理方法,其特征在于,所述基于当前渲染任务的任务信息,创建当前渲染任务对应的当前渲染视图、以及当前渲染视图对应的当前渲染上下文,包括:
10.根据权利要求1-9任意一项所述的图像处理方法,其特征在于,所述对所述各渲染结果进行叠加处理,得到所述目标图像的渲染图像,包括:
11.一种图像处理装置,其特征在于,包括:
12.一种图像处理设备,其特征在于,所述图像处理设备包括:
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-10任意一项所述的图像处理方法。
...【技术特征摘要】
1.一种图像处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的图像处理方法,其特征在于,所述根据接收到的针对目标图像的渲染请求,创建各渲染任务,包括:
3.根据权利要求2所述的图像处理方法,其特征在于,所述基于预先确定的筛选原则,从当前目标对象的各候选渲染内容中确定出当前目标对象对应的各目标渲染内容,包括:
4.根据权利要求3所述的图像处理方法,其特征在于,所述基于当前目标对象的各候选渲染内容分别对应的渲染类型,从当前目标对象的各候选渲染内容中确定出当前目标对象对应的各目标渲染内容,包括:
5.根据权利要求4所述的图像处理方法,其特征在于,所述基于当前目标对象的各候选渲染内容分别对应的所述渲染类型、以及当前目标对象的各候选渲染内容分别对应的预测渲染时长,从当前目标对象的各候选渲染内容中确定出当前目标对象对应的各目标渲染内容,包括:
6.根据权利要求1所述的图像处理方法,其特征在于,所述在各所述渲染线程中分别执行相应的渲染任务,得到各渲染结果,包括:
7.根据...
【专利技术属性】
技术研发人员:张磊,刘享军,周敏,付佳,田淼,
申请(专利权)人:北京沃东天骏信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。