一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种多GPU协同渲染方法、系统、装置及存储介质与流程

2022-11-23 15:50:38 来源:中国专利 TAG:

一种多gpu协同渲染方法、系统、装置及存储介质
技术领域
1.本技术涉及计算机技术领域,尤其是一种多gpu协同渲染方法、系统、装置及存储介质。


背景技术:

2.基于视频串流的实时渲染技术一般被应用于云游戏场景中。在云游戏场景中,数据的存储、计算和渲染由云端完成,云端在渲染完成后将输出的图像存储至显存,随后回读图像至内存并进行编码生成视频码流,将实时的游戏画面串流到终端进行显示,最终呈现给用户。
3.然而,一方面,相较于云游戏领域,数字孪生、工业仿真等领域具有场景规模大(模型数据量大)、解析度要求高等特征,因此上述实时渲染技术应用于数字孪生、工业仿真等领域时gpu渲染的计算压力大,当gpu负载达到上限后无法继续提升帧率,从而无法充分利用云环境的资源扩展(scale-out)能力;另一方面,由于现有的实时渲染技术的渲染和编码过程依赖同一个gpu串行执行,视频帧的渲染和编码效率较低,且难以通过并行的方式进行优化。


技术实现要素:

4.本发明的目的在于至少一定程度上解决现有技术中存在的技术问题之一。
5.为此,本发明实施例的一个目的在于提供一种多gpu协同渲染方法、系统、装置及存储介质,通过多gpu协同渲染降低gpu渲染的计算压力,并提升视频帧的渲染和编码效率。
6.为了达到上述技术目的,本发明实施例所采取的技术方案包括:
7.一方面,本发明实施例提供了一种多gpu协同渲染方法,包括以下步骤:
8.响应于接收到渲染任务,生成一帧的第一渲染作业;
9.确认空闲队列中不为空,提交所述第一渲染作业至第一gpu,所述第一gpu为所述空闲队列中的任意一个gpu,所述空闲队列用于放置空闲的gpu;
10.将所述第一gpu从所述空闲队列转移到工作队列,所述工作队列用于放置正在工作的gpu;
11.响应于所述第一gpu完成所述第一渲染作业的渲染,回读帧数据,所述帧数据为所述第一gpu渲染所述第一渲染作业后生成的数据;
12.将所述第一gpu从所述工作队列转移到所述空闲队列。
13.本发明实施例的一种多gpu协同渲染方法,通过将空闲的gpu放置于空闲队列,将正在工作的gpu放置于工作队列,在cpu生成一帧的渲染作业且空闲队列不为空时提交渲染作业至空闲队列中的任意一个gpu进行渲染,cpu回读帧数据后对帧数据进行编码,实现了在空闲队列中存在多个空闲gpu时对多帧渲染作业的协同、并行渲染,降低了gpu渲染的计算压力,并且使得本发明的多gpu协同渲染方法相较于传统的实时渲染技术能够在同一时间段内渲染更多的帧,提升了视频帧的渲染和编码效率。
14.另外,根据本发明上述实施例的一种多gpu协同渲染方法,还可以具有以下附加的技术特征:
15.进一步地,本发明实施例的一种多gpu协同渲染方法中,所述渲染任务包括渲染帧率,所述方法还包括:
16.根据所述渲染帧率计算帧间隔;
17.根据所述帧间隔设置多个帧提交时刻和多个帧编码时刻,其中,各个所述帧提交时刻之间的间隔等于所述帧间隔,各个所述帧编码时刻之间的间隔等与所述帧间隔。
18.进一步地,在本发明的一个实施例中,所述确认空闲队列不为空,提交所述第一渲染作业至第一gpu,包括:
19.确认空闲队列不为空,判断当前时刻是否已达到第一时刻,所述第一时刻为预设的所述帧提交时刻中所述第一渲染作业的提交时刻;
20.若是,将所述第一渲染作业提交至所述第一gpu,并将所述第一时刻的下一个所述帧提交时刻设置为第二时刻,所述第二时刻为预设的第二渲染作业的提交时刻,所述第二渲染作业为所述第一渲染作业的下一帧渲染作业;
21.若否,等待当前时刻达到所述第一时刻时将所述第一渲染作业提交至所述第一gpu,并将所述第一时刻的下一个所述帧提交时刻设置为所述第二时刻。
22.进一步地,在本发明的一个实施例中,所述确认空闲队列不为空,提交所述第一渲染作业至第一gpu,还包括:
23.根据所述第一渲染作业和所述第二渲染作业生成同步数据,所述同步数据为所述第一渲染作业与所述第二渲染作业之间的上下文数据;
24.将所述同步数据发送给除所述第一gpu以外的其他gpu。
25.进一步地,在本发明的一个实施例中,在所述响应于接收到渲染任务,生成一帧的第一渲染作业这一步骤之后,所述方法还包括:
26.确认所述空闲队列为空,阻塞帧提交进程。
27.进一步地,在本发明的一个实施例中,所述对所述帧数据进行编码,包括:
28.判断当前时刻是否已达到第三时刻,所述第三时刻为预设的所述帧编码时刻中所述第一渲染作业对应的所述帧数据的编码时刻;
29.若是,对所述帧数据进行编码,并将所述第三时刻的下一个所述帧编码时刻设置为第四时刻,所述第四时刻为预设的所述帧数据的下一帧数据的编码时刻;
30.若否,等待当前时刻达到所述第三时刻时对所述帧数据进行编码,并将所述第三时刻的下一个所述帧编码时刻设置为所述第四时刻。
31.进一步地,在本发明的一个实施例中,在所述将所述第一gpu从所述工作队列转移到所述空闲队列这一步骤之后,所述方法还包括:
32.确认所述帧提交进程没有阻塞,等待所述第二渲染作业生成。
33.另一方面,本发明实施例提出了一种多gpu协同渲染系统,包括:
34.生成模块,用于响应于接收到渲染任务,生成一帧的第一渲染作业;
35.提交模块,用于确认空闲队列中不为空,提交所述第一渲染作业至第一gpu,所述第一gpu为所述空闲队列中的任意一个gpu,所述空闲队列用于放置空闲的gpu;
36.第一转移模块,用于将所述第一gpu从所述空闲队列转移到工作队列,所述工作队
列用于放置正在工作的gpu;
37.帧数据处理模块,用于响应于所述第一gpu完成所述第一渲染作业的渲染,回读帧数据,并对所述帧数据进行编码,所述帧数据为所述第一gpu渲染所述第一渲染作业后生成的数据;
38.第二转移模块,用于将所述第一gpu从所述工作队列转移到所述空闲队列。
39.另一方面,本发明实施例提供了一种多gpu协同渲染装置,包括:
40.至少一个处理器;
41.至少一个存储器,用于存储至少一个程序;
42.当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现所述的一种多gpu协同渲染方法。
43.另一方面,本发明实施例提供了一种存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于实现所述的一种多gpu协同渲染方法。
44.本发明的优点和有益效果将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到:
45.本发明实施例通过将空闲的gpu放置于空闲队列,将正在工作的gpu放置于工作队列,在cpu生成一帧的渲染作业且空闲队列不为空时提交渲染作业至空闲队列中的任意一个gpu进行渲染,cpu回读帧数据后对帧数据进行编码,实现了在空闲队列中存在多个空闲gpu时对多帧渲染作业的协同、并行渲染,降低了gpu渲染的计算压力,并且使得本发明的多gpu协同渲染方法相较于传统的实时渲染技术能够在同一时间段内渲染更多的帧,提升了视频帧的渲染和编码效率。
附图说明
46.为了更清楚地说明本技术实施例或者现有技术中的技术方案,下面对本技术实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本技术的技术方案中的部分实施例,对于本领域的技术人员来说,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
47.图1为本发明一种多gpu协同渲染方法具体实施例的流程示意图;
48.图2为本发明一种多gpu协同渲染方法具体实施例的帧间隔控制示意图;
49.图3为本发明一种多gpu协同渲染方法具体实施例的同步数据发送示意图;
50.图4为本发明一种多gpu协同渲染方法具体实施例的渲染效率提升示意图;
51.图5为本发明一种多gpu协同渲染系统具体实施例的结构示意图;
52.图6为本发明一种多gpu协同渲染装置具体实施例的结构示意图。
具体实施方式
53.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能理解为对本技术的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
54.本发明的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
55.在本发明中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
56.基于视频串流的实时渲染技术一般被应用于云游戏场景中。在云游戏场景中,数据的存储、计算和渲染由云端完成,云端在渲染完成后将输出的图像存储至显存,随后回读图像至内存并进行编码生成视频码流,将实时的游戏画面串流到终端进行显示,最终呈现给用户。
57.然而,一方面,相较于云游戏领域,数字孪生、工业仿真等领域具有场景规模大(模型数据量大)、解析度要求高等特征,因此上述实时渲染技术应用于数字孪生、工业仿真等领域时gpu渲染的计算压力大,当gpu负载达到上限后无法继续提升帧率,从而无法充分利用云环境的资源扩展能力;另一方面,由于现有的实时渲染技术的渲染和编码过程依赖同一个gpu串行执行,视频帧的渲染和编码效率较低,且难以通过并行的方式进行优化。
58.为此,本发明提出了一种多gpu协同渲染方法、系统、装置及存储介质,通过将空闲的gpu放置于空闲队列,将正在工作的gpu放置于工作队列,在cpu生成一帧的渲染作业且空闲队列不为空时提交渲染作业至空闲队列中的任意一个gpu进行渲染,cpu回读帧数据后对帧数据进行编码,实现了在空闲队列中存在多个空闲gpu时对多帧渲染作业的协同、并行渲染,降低了gpu渲染的计算压力,并且使得本发明的多gpu协同渲染方法相较于传统的实时渲染技术能够在同一时间段内渲染更多的帧,提升了视频帧的渲染和编码效率。
59.下面参照附图详细描述根据本发明实施例提出的一种多gpu协同渲染方法、系统、装置及存储介质,首先将参照附图描述根据本发明实施例提出的一种多gpu协同渲染方法。
60.参照图1,本发明实施例中提供一种多gpu协同渲染方法,本发明实施例中的一种多gpu协同渲染方法,可应用于终端中,也可应用于服务器中,还可以是运行于终端或服务器中的软件等。终端可以是平板电脑、笔记本电脑、台式计算机等,但并不局限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。本发明实施例中的一种多gpu协同渲染方法主要包括以下步骤:
61.s101、响应于接收到渲染任务,生成一帧的第一渲染作业;
62.其中,所述渲染任务包括渲染帧率(fps),渲染帧率为一秒内渲染和播放的帧数。
[0063][0064]
其中,t
frame
表示帧间隔。
[0065]
具体地,根据渲染任务通过cpu生成一帧渲染作业,即所述第一渲染作业。
[0066]
在本发明的实施例中,在接收到渲染任务后,还包括以下步骤:
[0067]
1)根据所述渲染帧率计算帧间隔t
frame

[0068]
2)根据所述帧间隔设置多个帧提交时刻和多个帧编码时刻,其中,各个所述帧提交时刻之间的间隔等于所述帧间隔,各个所述帧编码时刻之间的间隔等与所述帧间隔。
[0069]
s102、确认空闲队列不为空,提交所述第一渲染作业至第一gpu;
[0070]
其中,所述第一gpu为所述空闲队列中的任意一个gpu,所述空闲队列用于放置空闲的gpu。
[0071]
在本发明的实施例中,确认所述空闲队列为空,则阻塞帧提交进程。
[0072]
具体地,参照图2,以三个gpu协同渲染为例,在本发明的实施例中,在提交每一帧的渲染作业之前,需要根据步骤s101中得到的帧间隔和帧提交时刻进行渲染帧间隔的调整,以使帧数据的生成与理想帧间隔保持一致,从而使得帧间画面效果更加平滑。
[0073]
s102可以进一步划分为以下步骤s1021-s1023:
[0074]
步骤s1021、确认空闲队列不为空,判断当前时刻是否已达到第一时刻;
[0075]
其中,所述第一时刻为预设的所述帧提交时刻中所述第一渲染作业的提交时刻。
[0076]
步骤s1022、若是,将所述第一渲染作业提交至所述第一gpu,并将所述第一时刻的下一个所述帧提交时刻设置为第二时刻。
[0077]
其中,所述第二时刻为预设的第二渲染作业的提交时刻,所述第二渲染作业为所述第一渲染作业的下一帧渲染作业。
[0078]
步骤s1023、若否,等待当前时刻达到所述第一时刻时将所述第一渲染作业提交至所述第一gpu,并将所述第一时刻的下一个所述帧提交时刻设置为所述第二时刻。
[0079]
根据先验知识可知,在一个渲染任务中,每一帧数据的渲染需要依赖前序帧的数据,以使帧的渲染不会出现数据缺失的问题。参照图3,在本发明的实施例中,为了减少cpu和各个gpu之间交互的数据量,对于执行所述第一渲染作业的gpu,即所述第一gpu,发送所述第一渲染作业的全量数据,对于除所述第一gpu以外的其他gpu,发送所述第一渲染数据与所述第一渲染数据的下一帧数据(即所述第二渲染作业)的上下文数据,具体如下:
[0080]
1)根据所述第一渲染作业和所述第二渲染作业生成同步数据,所述同步数据为所述第一渲染作业与所述第二渲染作业之间的上下文数据;
[0081]
2)将所述同步数据发送给除所述第一gpu以外的其他gpu。
[0082]
可选地,同步数据可以在提交第一渲染作业时同步发送,或者,同步数据可以在提交第一渲染作业后延迟发送。
[0083]
s103、将所述第一gpu从所述空闲队列转移到工作队列;
[0084]
其中,所述工作队列用于放置正在工作的gpu。
[0085]
s104、响应于所述第一gpu完成所述第一渲染作业的渲染,回读帧数据,并对所述帧数据进行编码;
[0086]
其中,所述帧数据为所述第一gpu渲染所述第一渲染作业后生成的数据
[0087]
在本发明的实施例中,所述第一gpu完成所述第一渲染作业的渲染后,将生成的帧数据保存在所述第一gpu的显存中。cpu可以访问本发明实施例中各个gpu的显存,对生成的帧数据进行回读,进而对帧数据进行编码。
[0088]
可选地,cpu回读渲染好的帧数据,并按照帧数据的回读顺序依次将帧数据发送给
编码器编码。
[0089]
具体地,继续参照图2,在本发明的实施例中,在提交每一帧的帧数据进行帧数据的编码之前,需要根据步骤s101中得到的帧间隔和帧编码时刻进行编码帧间隔的调整,以使编码生成的视频码流的帧率更加稳定,从而最终呈现平滑稳定的动态画面。同时,通过对帧数据的编码间隔的调整,降低了编码器的负载,从而提升了编码效率。在本发明的实施例中,对帧数据的编码具体包括以下步骤:
[0090]
1)判断当前时刻是否已达到第三时刻,所述第三时刻为预设的所述帧编码时刻中所述第一渲染作业对应的所述帧数据的编码时刻;
[0091]
2)若是,对所述帧数据进行编码,并将所述第三时刻的下一个所述帧编码时刻设置为第四时刻,所述第四时刻为预设的所述帧数据的下一帧数据的编码时刻;
[0092]
3)若否,等待当前时刻达到所述第三时刻时对所述帧数据进行编码,并将所述第三时刻的下一个所述帧编码时刻设置为所述第四时刻。
[0093]
s105、将所述第一gpu从所述工作队列转移到所述空闲队列。
[0094]
在本发明的实施例中,将所述第一gpu从所述工作队列转移到所述空闲队列之后,若所述帧提交进程没有阻塞,则等待下一帧数据(即所述第二渲染作业)生成。
[0095]
结合步骤s101-s105所述的一种多gpu协同渲染方法可知,本发明通过将空闲的gpu放置于空闲队列,将正在工作的gpu放置于工作队列,在cpu生成一帧的渲染作业且空闲队列不为空时提交渲染作业至空闲队列中的任意一个gpu进行渲染,cpu回读帧数据后对帧数据进行编码,实现了在空闲队列中存在多个空闲gpu时对多帧渲染作业的协同、并行渲染,降低了gpu渲染的计算压力,并且使得本发明的多gpu协同渲染方法相较于传统的实时渲染技术能够在同一时间段内渲染更多的帧,提升了视频帧的渲染和编码效率。
[0096]
参照图4,以采用三个gpu为例,相较于传统的单gpu的实时渲染技术,本发明实施例的多gpu协同渲染能够在同一时间段内渲染四帧,而单gpu的实时渲染技术在同一时间段内只能渲染两帧。可以理解的是,通过设置更多的gpu能够进一步提高视频帧的渲染效率
[0097]
其次,参照附图描述根据本技术实施例提出的一种多gpu协同渲染系统。
[0098]
图5是本技术一个实施例的一种多gpu协同渲染系统结构示意图。
[0099]
所述系统具体包括:
[0100]
生成模块501,用于响应于接收到渲染任务,生成一帧的第一渲染作业;
[0101]
提交模块502,用于确认空闲队列中不为空,提交所述第一渲染作业至第一gpu,所述第一gpu为所述空闲队列中的任意一个gpu,所述空闲队列用于放置空闲的gpu;
[0102]
第一转移模块503,用于将所述第一gpu从所述空闲队列转移到工作队列,所述工作队列用于放置正在工作的gpu;
[0103]
帧数据处理模块504,用于响应于所述第一gpu完成所述第一渲染作业的渲染,回读帧数据,并对所述帧数据进行编码,所述帧数据为所述第一gpu渲染所述第一渲染作业后生成的数据;
[0104]
第二转移模块505,用于将所述第一gpu从所述工作队列转移到所述空闲队列。
[0105]
可见,上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
[0106]
参照图6,本技术实施例提供了一种多gpu协同渲染装置,包括:
[0107]
至少一个处理器601;
[0108]
至少一个存储器602,用于存储至少一个程序;
[0109]
当所述至少一个程序被所述至少一个处理器601执行时,使得所述至少一个处理器601实现步骤s101-s105所述的一种多gpu协同渲染方法。
[0110]
同理,上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
[0111]
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本技术的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
[0112]
此外,虽然在功能性模块的背景下描述了本技术,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本技术是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本技术。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本技术的范围,本技术的范围由所附权利要求书及其等同方案的全部范围来决定。
[0113]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干程序用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0114]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行程序的定序列表,可以具体实现在任何计算机可读介质中,以供程序执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从程序执行系统、装置或设备取程序并执行程序的系统)使用,或结合这些程序执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供程序执行系统、装置或设备或结合这些程序执行系统、装置或设备而使用的装置。
[0115]
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器
(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0116]
应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的程序执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0117]
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
[0118]
尽管已经示出和描述了本技术的实施方式,本领域的普通技术人员可以理解:在不脱离本技术的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本技术的范围由权利要求及其等同物限定。
[0119]
以上是对本技术的较佳实施进行了具体说明,但本技术并不限于所述实施例,熟悉本领域的技术人员在不违背本技术精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献