一种自动化批量音乐卡点视频生成的方法、系统、计算机设备及可读存储介质与流程

文档序号:26057593发布日期:2021-07-27 15:36阅读:198来源:国知局
一种自动化批量音乐卡点视频生成的方法、系统、计算机设备及可读存储介质与流程

本发明具体涉及一种自动化批量音乐卡点视频生成的方法、系统、计算机设备及可读存储介质。



背景技术:

目前的音乐卡点视频生成主要通过人工操作完成。现有技术中,在做音乐卡点视频合成时,或是限制了音乐,或是限制了可以卡的点,并且人工介入较多。其中,一种方法是“剪同款”,用户需要选择模版,然后提供剪辑好的规定数量和时长的视频片段才能生成卡点视频。比如剪映等app中的“剪同款”功能,只能用和模版相同的音乐来合成视频,限制了音乐的选择,模板单一。另一种方法是给用户推荐可以卡的点,然后用户自己从中选择需要卡的点,最后把视频片段剪辑成选择的卡点时长,拼接合成视频。比如ae中的beatedit插件可以给出任意音乐的beats,但只提供了beats,限制了可以卡的点。无论哪种方法,都需要人工根据需要卡的点,调整视频时长,难以批量生产卡点视频。



技术实现要素:

针对上述情况,为克服现有技术的缺陷,本发明提供一种自动化批量音乐卡点视频生成的方法、系统、计算机设备及可读存储介质。

为了实现上述目的,本发明提供以下技术方案:

一种自动化批量音乐卡点视频生成的系统,包括参数配置模块、beats检测模块、downbeats检测模块、鼓点检测模块、结尾点检测模块、决策模块、剪辑与渲染模块;其中,beats检测模块与downbeats检测模块连接,参数配置模块、beats检测模块、downbeats检测模块、鼓点检测模块、结尾点检测模块分别与决策模块连接,决策模块和剪辑与渲染模块连接;

参数配置模块被配置为能够对输入的视频进行参数配置,并将配置的参数信息发生至决策模块,beats检测模块被配置为能够对输入的音频进行检测,得到beats序列,并将beats序列分别发送至downbeats检测模块与决策模块,downbeats检测模块被配置为能够对beats序列进行检测,得到downbeats,并将downbeats发生至决策模块;鼓点检测模块、结尾点检测模块能够分别对输入的音频进行检测,得到鼓点与结尾点,并将检测得到的结果发送至决策模块;决策模块被配置为能够接收上述的检测结果与配置的参数信息进行决策,并将决策发送至剪辑与渲染模块,剪辑与渲染模块被配置为能够根据决策,对视频片段进行自动化编辑,最后把所有的视频片段拼接并加上音乐就得到了最终的视频。

一种自动化批量音乐卡点视频生成的方法,采用以上所述的系统,包括以下步骤:

(1)输入音频与视频;

(2)参数配置模块对输入的视频进行参数配置;

(3)beats检测模块、鼓点检测模块、结尾点检测模块分别对输入的音频进行检测,得到beats序列、鼓点与结尾点;

(4)downbeats检测模块对步骤(3)得到的beats序列进行检测,得到downbeats;

(5)决策模块根据步骤(2)中用户配置的参数以及步骤(3)-(4)检测得到beats序列、鼓点、结尾点与downbeats进行决策;

(6)剪辑与渲染模块根据步骤(5)的决策,对视频片段进行自动化编辑,最后把所有的视频片段拼接并加上音乐就得到了最终的视频。

进一步地,步骤(3)中,beats检测模块对输入的音频进行检测,包括以下步骤:

(3.1)计算onsets的能量包络o(t)

(3.11)对输入的音频进行短时傅立叶变换,得到频谱;然后将频谱转换到梅尔频谱上;

(3.12)把时间按4ms为最小单位分成时间片,然后在时间轴上做一阶差值,只保留正值,并把每个时间点上所有频率的正值求和;在求和时用高通滤波器过滤掉人耳难以感知的频段;此时的每一个峰值就是一个onset;

(3.13)最后用高斯窗对求和结果做平滑处理,得到onsets的能量包络o(t);

(3.2)计算全局的tempo

(3.21)基于onsets的能量包络o(t),对其做不同时间延迟下的加权自相关计算,其峰值便是估计的bpm即tempo;加权自相关函数为:

其中,t是时间点,τ为延迟的时间,o(t)为onsets的能量包络,w(τ)是高斯加权函数;

其中,τ0是默认偏向的tempo大小,στ是偏重程度系数;

(3.3)基于动态规划计算beats

(1)找到每个beats的具体时间点,同时进行微调;在寻找beats时,把目

标设定为:

其中,{ti}是一个时间序列,即是要找的beats点,ti表示第i个beats点;o(t)为onsets的能量包络,α是平衡两个目标的系数,n为找到的beats点的个数,τp为上一步中计算得到的tempo,f(δt,τ)表示找到的两个beats点的距离和τp的差距,δt=ti-ti-1,表示任意两个相邻时间点的距离;

用动态规划的方法,找到使得c({ti})最大的序列{ti},就是最终的beats序列。

进一步地,步骤(4)中,downbeats检测模块寻找downbeats的方法,包括以下步骤:

(4.1)将beats分组

步骤(3)中已经得到了beats序列为[t0,t1,t2,…,ti,…,tn],默认将beats分为4组,i%4={0,1,2,3}的分别为一组;

(4.2)计算每个beat的能量

采样,以每个beat为中心,计算采样窗口中音频信号能量大小,能量的计算公式为:

其中,en表示第n个beat的能量,表示第n个beat采样窗口中第i个采样点的声音信号值;

(4.3)计算每组beats的能量

将同一组beats能量相加,得到每组的beats能量大小;

(4.4)找能量最大的一组

在4组中取能量最大的一组就是downbeats。

进一步地,步骤(3)中,鼓点检测模块采用一种基于音频分轨的鼓点检测方法,其步骤如下:

(s1)音频分轨

基于u-net网络架构,在musdb数据集和人为合成的数据集上进行训练,得到了可以将音频分为人声、鼓声、贝斯和其它这四类的音乐分轨模型;利用该模型提取输入音乐当中的鼓声轨;

(s2)计算鼓声轨的onsets

读取鼓声轨的音频信号,利用步骤(3.1)中计算onsets能量包络的方法,计算分离出来的鼓声轨的onsets能量包络,将包络的各个局部峰值点作为鼓声的onsets;

(s3)计算鼓点

先把所有的onsets平移到离其最近的音频信号峰值点,作为检测到的鼓点,并剔除掉平移到同一个峰值点的鼓点;再计算每个鼓点的能量,并把能量低的鼓点剔除,剩下的就是最终的鼓点。

进一步地,步骤(3)中,结尾点检测模块采用一种寻找结尾重音点的方法,其步骤如下:

(3-1)读取音频文件;

(3-2)用汉宁窗对输入信号的能量做卷积平滑处理;寻找其中的波谷和波峰;

(3-3)计算每对波谷和波峰的差值,取差值的均值和中位数中较大的作为threshold,过滤掉差值小于threshold的波谷和波峰对;

(3-4)寻找音频的downbeats;将距离最后一个波峰最近的downbeats作为结尾点。

进一步地,步骤(2)中,参数配置模块能够对输入的视频进行参数配置,包括(a)控制每个视频槽位在整条视频中所占的时间的比例,(b)控制每个视频槽位的起始点优先卡的点的类型,(c)控制在剪辑视频时是使用变速还是直接裁剪,(d)给某个槽位的视频加上渐进渐远或者左右平移的特效。

一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器在执行所述计算机程序时能够实现以上所述的自动化批量音乐卡点视频生成的方法中的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时能够实现以上所述的自动化批量音乐卡点视频生成的方法中的步骤。

本发明的有益效果是:

(1)本发明中,用户上传m段视频片段和n首背景音乐,用户可以对m个视频槽位的时长比例和每个槽位需要优先卡的点的类型进行配置,也可以完全不配置,然后会对输入的音乐进行分析,从中抽取可用的卡点候选点,候选点包括beats,downbeats,onsets和结尾点,接着会根据候选点和参数配置对每个视频槽位的时长进行调整,最后根据视频槽位的时长对每段视频进行变速或者裁剪,输出n条卡点视频。

(2)本发明在提供了视频片段和每个视频片段的大致需求时长后,无需人工参与,不受音乐的限制,可以根据视频片段的需求时长自动找到最合适的点,还能用同一批素材在不同的背景音乐下自动批量生产多条卡点视频,提高了卡点视频创作的制作效率,人力成本低。

(3)本发明通过分析音乐,能够自动找到适合卡点的候选点,自动找到给定音乐片段的结尾点,保证结尾完整性;根据视频片段的数量和每个片段的大致时长,自动寻找最适合卡的点并合成视频;无需人工参与,批量生产。

(4)本发明可以对同一批素材在不同音乐上批量化生产卡点视频,几乎无需人工介入,效果好,效率高,成本低,同时也提供了相应的参数配置,使得生成的视频在一定程度上可控。

附图说明

图1是本发明自动化批量音乐卡点视频生成系统的流程图。

图2是计算机设备的示意图。

图3是参数配置界面的示意图。

图4是音乐信号中onset的示意图。

具体实施方式

以下结合附图对本发明的技术方案做进一步详细说明,应当指出的是,具体实施方式只是对本发明的详细说明,不应视为对本发明的限定。

实施例1,参照附图1-4。

本发明公开了一种自动化批量音乐卡点视频生成的系统,包括参数配置模块、beats检测模块、downbeats检测模块、鼓点检测模块、结尾点检测模块、决策模块、剪辑与渲染模块;其中,beats检测模块与downbeats检测模块连接,参数配置模块、beats检测模块、downbeats检测模块、鼓点检测模块、结尾点检测模块分别与决策模块连接,决策模块和剪辑与渲染模块连接;

参数配置模块被配置为能够对输入的视频进行参数配置,并将配置的参数信息发生至决策模块,beats检测模块被配置为能够对输入的音频进行检测,得到beats序列,并将beats序列分别发送至downbeats检测模块与决策模块,downbeats检测模块被配置为能够对beats序列进行检测,得到downbeats,并将downbeats发生至决策模块;鼓点检测模块、结尾点检测模块能够分别对输入的音频进行检测,得到鼓点与结尾点,并将检测得到的结果发送至决策模块;决策模块被配置为能够接收上述的检测结果与配置的参数信息进行决策,并将决策发送至剪辑与渲染模块,剪辑与渲染模块被配置为能够根据决策,对视频片段进行自动化编辑,最后把所有的视频片段拼接并加上音乐就得到了最终的视频。

本发明公开了一种自动化批量音乐卡点视频生成的方法,该方法可以采用以上所述的系统,包括以下步骤:

(1)输入音频与视频;如图1所示,用户上传m段视频片段和n首背景音乐;

(2)参数配置模块对输入的视频进行参数配置;

(3)beats检测模块、鼓点检测模块、结尾点检测模块分别对输入的音频进行检测,得到beats序列、鼓点与结尾点;

(4)downbeats检测模块对步骤(3)得到的beats序列进行检测,得到downbeats;

(5)决策模块根据步骤(2)中用户配置的参数以及步骤(3)-(4)检测得到beats序列、鼓点、结尾点与downbeats进行决策;

(6)剪辑与渲染模块根据步骤(5)的决策,对视频片段进行自动化编辑,最后把所有的视频片段拼接并加上音乐就得到了最终的视频。

在一些优选的方式中,步骤(2)中,参数配置模块能够对输入的视频进行参数配置;参数配置的界面如图3所示,通过参数配置使得生成的视频在一定程度上可控。比如,(a)用户可以控制每个视频槽位在整条视频中所占的时间的比例,(b)也可以控制每个视频槽位的起始点优先卡的点的类型,卡的点的类型包括beats,downbeats,鼓点和结尾点。用户可以设置卡点的优先级顺序,系统默认顺序为:结尾点>鼓点>downbeats>beats,结尾点仅对最后一个槽位起作用,鼓点仅对槽位时长短于beats的视频起作用,大部分情况下,卡的点是downbeats和beats。(c)也可以控制在剪辑视频时是使用变速还是直接裁剪,(d)还可以给某个槽位的视频加上渐进渐远或者左右平移的特效。

在一些优选的方式中,步骤(3)中,beats检测模块能够对输入的音频进行检测,得到beats序列,具体地,包括以下步骤:

(3.1)计算onsets的能量包络o(t)

(3.11)对输入的音频进行短时傅立叶变换,得到频谱;频谱的频率范围是线性的,与人类的感知不同,故又将频谱转换到了梅尔频谱上;

(3.12)把时间按4ms为最小单位分成时间片,然后在时间轴上做一阶差值(即对同一频率相邻时间点的频率幅值做一阶差分),只保留正值,并把每个时间点上所有频率的正值求和。在求和时用高通滤波器过滤掉人耳难以感知的频段。此时的每一个峰值就是一个onset。

本申请中,选取时间的最小单位为4ms,这样计算量较小,而且最终beats的结果较精确。如果时间的最小单位远小于4ms,时长较短,优点为包络图的分辨率高,对能量突变敏感,但是,这样会导致计算量较大,且人耳无法感知更高的分辨率。如果时间的最小单位远大于4ms,时间过长,会使得计算量小,最终beats结果偏差大,人耳易感知,但是,包络图的分辨率低,对能量突变不敏感。

(3.13)最后用窗口大小为20ms的高斯窗对求和结果做平滑处理,得到onsets的能量包络o(t)。所述onsets为音乐中音符的起始点,比如每次钢琴按键按下去的那个时刻,又比如每次鼓敲下去的那个时刻。本申请采用窗口大小为20ms的高斯窗进行处理,能够平滑因噪声引起的能量突变,减小噪声对最终结果的影响,如果高斯窗太小无法起到平滑的作用,高斯窗太大又会过度平滑,缺失onsets的信息。

(3.2)计算全局的tempo

因为人耳会偏向于去感知120bpm,在估计tempo时加了一个高斯加权函数来使结果尽可能接近120bpm。

(3.21)基于onsets的能量包络,对其做不同时间延迟下的加权自相关计算,其峰值便是估计的bpm。tempo表示音乐的节拍,一般用bpm(beatsperminute)来度量,120bpm就表示1分钟有120个节拍,是一个值。

加权自相关函数为:

其中,t是时间点,τ为延迟的时间,实际实施时,τ的取值范围可以为0-2s,hop_length=20ms(取值的间隔)。

o(t)为onsets的能量包络,w(τ)是高斯加权函数。

其中,τ0和στ是用miirex-06的audiobeattracking训练数据统计得到的。τ0是默认偏向的tempo大小,στ是偏重程度系数。w(τ)的目的就是让最终得到的tempo偏向于τ0,否则在基周期的倍数上自相关函数值都很大,没法选。这两个值是用不同的τ0和στ的组合,在miirex-06数据集上用整个方法测试,然后选的结果最佳的一组。本实施例中,τ0取值为0.5,στ取值为1.4。

(3.3)基于动态规划计算beats

(1)上一步中得到的tempo只是一个全局的估计的bpm,还需要找到每个beats的具体时间点,同时进行微调。

在寻找beats时,把目标设定为:

其中,{ti}是一个时间序列,即是要找的beats点,ti表示第i个beats点;o(t)为onsets的能量包络,α是平衡两个目标的系数,n为找到的beats点的个数,τp为上一步中计算得到的tempo,f(δt,τ)表示找到的相邻两个beats点的距离和τp差距;δt=ti-ti-1表示任意两个相邻时间点的距离。

用动态规划的方法,找到使得c({ti})最大的序列{ti},就是最终的beats序列。beats为音乐的节拍时间点,每个节拍在整首歌上的时刻,是一个序列。

动态规划方法是现有技术中的常规方法,本申请没有对方法本身进行改进。本申请针对实际要解决的问题设计了相应的状态转移函数,有状态转移函数,便可以进行动态规划计算。

具体地,动态规划方法,包括以下步骤:

其中,c*(t)表示只考虑时间点不大于时刻t时,以时刻t为一个beat的c({ti})最大值。

同时,也会记录使得c*(t)最大的那个序列在t之前的那个beat为

通过p*(t)可以回溯选择的beats路径,得到最终的beats序列。

在实际搜索p*(t)的时候,不搜索0到t-4ms整个范围,这样会避免计算很多不必要的情况。有f的惩罚在,只要搜索τ=t-2τp…t-τp/2即可。

把从0到总时长,所有的时刻t对应的c*(t)都算出来之后,取其中最大的那个c*(tn),tn就是最后一个beat点,然后tn-1=p*(tn),然后由此回溯出整条序列{ti}。

在一些优选的方式中,步骤(4)中,downbeats检测模块对beats序列进行检测,得到downbeats;具体地,一种寻找downbeats的方法,包括以下步骤:

(4.1)将beats分组

步骤(3)中已经得到了beats序列为[t0,t1,t2,…,ti,…,tn],默认将beats分为4组,i%4={0,1,2,3}的分别为一组;比如[0,4,8,12,…]为一组,[1,5,9,13,…]为一组等等。经过实验,大部分测试的音乐每隔三个beats就会有一个重音,即downbeats,重音会比较准。

(4.2)计算每个beat的能量

采样时的采样率为44100,以每个beat为中心,计算窗口大小为2048的音频信号能量大小。能量的计算公式为

其中,en表示第n个beat的能量,表示第n个beat采样窗口中第i个采样点的声音信号值。

(4.3)计算每组beats的能量

将同一组beats能量相加,得到每组的beats能量大小。

(4.4)找能量最大的一组

在4组中取能量最大的一组就是downbeats。所述downbeats为音乐的重拍或是重音,是beats的子集,比如3/4拍的曲子,每小节的第3拍就会是一个重拍。

在一些优选的方式中,步骤(3)中,鼓点检测模块能够对输入的音频进行检测,得到鼓点;鼓点是背景音乐中鼓的音轨发出的声音,很有节奏感,适合极短的几个画面快速切换时的卡点,对于有鼓声的音乐,会抽取其中的鼓点。

本实施例中,采用了一种基于音频分轨的鼓点检测方法,其步骤如下:

(s1)音频分轨

基于u-net网络架构,在musdb数据集和人为合成的数据集上进行训练,得到了可以将音频分为人声、鼓声、贝斯和其它这四类的音乐分轨模型。利用该模型提取输入音乐当中的鼓声轨。

所述u-net网络架构为现有的常规的网络架构,本发明不对此网络架构进行改进。

本实施例中,人为合成的数据集是5000个左右的midi文件,midi文件本身有分轨,按每个轨道单独输出需要的音轨就可以有数据了。midi还可以修改每个音轨的乐器,可以把乐器修改为需要的乐器。

模型训练过程中,输入音乐分轨模型的是:音频文件的频谱图,音乐分轨模型输出的是:频谱图的一个softmask。每个音轨一个mask,所述mask表示了输出的音轨在某个时间点的某个频率的幅值大小为原始频谱图该时间点该频率幅值的百分比。相位使用原始的相位。

模型训练过程中,设置的参数有batch_size=1,learningrate=0.0001等,具体参数与现有技术中的一致,比如参考文件singingvoiceseparation:astudyontrainingdata(https://arxiv.org/pdf/1906.02618.pdf)。

(s2)计算鼓声轨的onsets

读取鼓声轨的音频信号,利用步骤(3.1)中计算onsets能量包络的方法,计算分离出来的鼓声轨的onsets能量包络,将包络的各个局部峰值点作为鼓声的onsets。

(s3)计算鼓点

因为onsets是鼓声的起始点(也就是声音的谷底),不是峰值点,鼓点指的是峰值点,本发明先把所有的onsets平移到离其最近的音频信号峰值点,作为检测到的鼓点,并剔除掉平移到同一个峰值点的鼓点,避免重复。onset的示意图如附图4所示。

再利用步骤(4)中,(4.2)的方法,计算每个鼓点的能量,并把能量低的鼓点剔除,剩下的就是最终的鼓点。

在一些优选的方式中,步骤(3)中,结尾点检测模块分别对输入的音频进行检测,得到结尾点;为了让最后的视频片段卡在结尾点上,显得不突兀。

本发明中,采用了一种寻找结尾重音点的方法,其步骤如下:

(3-1)读取音频文件,本实施例中,采样率为44100。

(3-2)对输入信号的能量做卷积平滑处理。寻找其中的波谷和波峰,波谷和波峰成对出现。本实施例中,用窗口大小为10000的汉宁窗对输入信号的能量做卷积平滑处理。

(3-3)计算每对波谷和波峰的差值,取差值的均值和中位数中较大的作为threshold,过滤掉差值小于threshold的波谷和波峰对。

(3-4)利用步骤(4)中,寻找downbeats的方法计算音频的downbeats;将距离最后一个波峰最近的downbeats作为结尾点。

在一些优选的方式中,步骤(5)中,决策模块根据上述的检测结果与配置的参数信息进行决策,用户配置的参数为:每个槽位在整条视频中所占的时间的比例,每个槽位优先要卡的点的类型,每个槽位的视频是否要渐入渐出或是平移的特效,剪辑视频是用裁剪还是变速。

默认先以输入的视频原时长比例为每个槽位在整条视频中所占时间的比例。比如视频原时长为2s,4s,3s,3s,那么每个槽位的时长比例就默认为0.2,0.4,0.3,0.3。若音乐的时长为8s,那么每个槽位的视频时长会被设置为1.6s,3.2s,2.4s,2.4s。也就是说音乐时长不变,改变每个槽位的视频时长。

然后根据要卡的点微调每个槽位的实际时长,比如槽位时长为1.6s,3.2s,2.4s,2.4s,第一个点要卡在1.5s,那么会把第一个槽位时长变为1.5s,然后多的0.1s按其他未确定视频的时长比例分配。第二个视频就变成了3.2+0.1*(3.2)/(3.2+2.4+2.4)=3.24s。第一个槽位调整后的所有槽位时长变为1.5s,3.24s,2.43s,2.43s。以此类推,对每个槽位的时长进行微调。保证槽位总时长和音乐时长一致。

默认结尾视频优先卡结尾点,一般视频优先卡downbeats,时长极短的视频卡鼓点。所述一般视频指的是非结尾,未在参数配置中指定优先卡的点,且不是时长极短的视频。所述时长极短的视频指的是小于一个beats时长的视频。

最后根据用户配置,决定是否要对视频加特效以及剪辑视频的方法,默认不加特效,长于槽位时长的视频从尾向头剪切,短于槽位时长的视频慢速播放。所述“剪辑视频的方法”指的是:改变视频时长的方法,可以是给视频变速,改变时长,也可以裁剪视频,缩短时长等等,本发明不对此进行限定。

在一些优选的方式中,步骤(6)中,剪辑与渲染模块基于步骤(5)中决策得到的对每个槽位的视频的操作方法,对视频片段进行自动化编辑,包括视频的剪切和变速播放,视频的特效添加等。最后把所有的视频片段按顺序拼接并加上音乐就得到了最终的视频。对于输入不同的音乐,批量并行进行上述步骤即可,无需人工再次介入。

实施例2,参照附图2。

在本实施例中,提供了一种计算机设备100,包括存储器102、处理器101及存储在存储器102上并可在处理器101上运行的计算机程序103,处理器101执行计算机程序103时能够实现上述实施例1所提供的自动化批量音乐卡点视频生成的方法中的步骤。

实施例3

在本实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时能够实现上述各个实施例所提供的自动化批量音乐卡点视频生成的方法中的步骤。

在本实施例中,所述计算机程序可以是实施例2中的计算机程序。

在本实施例中,所述计算机可读存储介质可以被实施例2中的计算机设备所运行。

本领域普通技术人员可以理解实现上述实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例的所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1