一种回音消除方法、计算机可读存储介质和电子设备与流程
本发明涉及计算机技术领域,具体涉及一种回音消除方法、计算机可读存储介质和电子设备。
背景技术:
在线实时对话(例如:在线会议、在线教学、在线聊天等)场景下,由于本地麦克风会实时采集用户的声音,而远端所发送的音频数据通过本地扬声器播放产生的声音在某些情况下也会本地被麦克风采集。由此,如果不做任何处理直接将本地麦克风采集的声音发送给远端后,会在远端产生回音,类似的,远端直接将麦克风的声音发送过来,本地播放时也会产生回音。
由于不同的场景下、不同平台下的回音噪音有所差别,回音延迟也不同,现有技术未能实现对回音处理按照不同平台进行的自动调整滤波器长度,降低了用户体验。
技术实现要素:
有鉴于此,本发明实施例的目的是提供一种回音消除方法、计算机可读存储介质和电子设备,以解决现有技术中回音消除方法无法适应不同平台、从而降低用户体验的难题。
第一方面,本发明实施例提供一种回音消除方法,所述方法包括:
根据终端类型确定处理长度;
获取具有处理长度的第一远端音频数据,所述第一远端音频数据经扬声器播放;
通过麦克风获取具有处理长度的第一近端音频数据;
将所述第一远端音频数据划分为预定数量的数据段,其中,各数据段包括多个音频数据点;
根据所述处理长度确定初始自适应滤波器;
将所述第一远端音频数据输入所述初始自适应滤波器以确定第一回音预测数据;
以迭代方式更新所述自适应滤波器的传递属性直至自适应滤波器收敛,以确定回音消除自适应滤波器,其中,所述自适应滤波器收敛为残留数据小于设定阈值;所述残留数据为所述第一近端数据和所述第一回音预测数据的差值;
基于所述回音消除自适应滤波器后进行回音消除。
优选地,以迭代方式更新所述自适应滤波器的传递属性直至自适应滤波器收敛,以确定回音消除自适应滤波器包括:
确定当前周期的回音预测数据;
根据当前周期的回音预测数据和所述近端数据确定残留数据;
响应于所述自适应滤波器未收敛,根据所述残留数据调整当前周期的自适应滤波器的传递属性;
和/或,响应于所述自适应滤波器收敛,将当前周期的自适应滤波器确定为所述回音消除滤波器。
优选地,根据所述残留数据调整当前周期的自适应滤波器的传递属性具体为:采用能量归一化最小均方差(nlms)算法调整所述传递属性。
优选地,在能量归一化最小均方差(nlms)算法中,所述滤波器的步长因子是大于0且小于1的常量。
优选地,所述终端类型为终端操作系统的类型。
优选地,响应于所述终端类型为windows,所述处理长度为20-30段;和/或,
响应于所述终端类型为android高端设备,所述处理长度为20-30段;和/或,
响应于所述终端类型为android低端设备,所述处理长度为10-15段;和/或,
响应于所述终端类型为ios高端设备,所述处理长度为20-30段;和/或,
响应于所述终端类型为ios低端设备,所述处理长度为10-15段;和/或,
其中,各数据段包括50-80个音频数据点。
优选地,基于所述回音消除自适应滤波器进行回音消除包括:
实时获取具有处理长度的第二远端音频数据;
根据所述第二远端音频数据输入自适应滤波器以确定第二回音预测数据。
优选地,基于所述回音消除自适应滤波器进行回音消除还包括:
通过麦克风获取具有处理长度的第二近端音频数据,在第二近端数据中消除第二回音预测数据,获得纯净语音。
第二方面,本发明实施例提供一种计算机可读存储介质,用于存储计算机程序指令,所述计算机程序指令在被处理器执行时实现第一方面的方法。
第三方面,本发明实施例提供一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现第一方面的方法。
本发明实施例通过获取终端类型从而确定处理长度,将具有处理长度的远端音频数据送入自适应滤波器,获得回音预测数据;通过麦克风获取具有处理长度的近端音频数据,使用远端音频数据估计回音预测数据,并在消音器中去除回音预测数据,从而达到了消除回音的效果。为适应不同的终端类型,将远端音频数据划分为预定数量的数据段,其中,各数据段包括多个音频数据点,同时,按照平台类型调整自适应滤波器的长度,通过远端音频数据与自适应滤波器进行滤波,使得回音消除方法能够适应在不同的平台应用、并且更加有效地消除不同平台下的回音,从而提升了用户的体验。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是在线通信系统中回音产生的原理图;
图2是本发明实施例的远端模式下回声消除方法的原理图;
图3是本发明实施例的近端模式下回声消除方法的原理图;
图4是本发明实施例的回音消除方法的流程图;
图5是本发明实施例更新自适应滤波器的传递属性的流程图;
图6是本发明实施类卷积运算的示意图;
图7为本发明实施例的电子设备的示意图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。
此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。
除非上下文明确要求,否则在说明书的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
图1是在线通信系统中回音产生的原理图。
如图1所示,在线通信系统中,远端语音信号y通过网络传输到近端扬声器,经近端扬声器后在近端接收者所在的室内播放。由于室内空间存在多种回声信道w^=[w^0,w^1,……,w^l-1],此时,远端语音信号y经近端扬声器播放后在各回声信道的作用下形成回声语音y1。其中,w^0是远端语音信号y在近端播放时直接到达近端麦克风的一路回声信道、w^1是远端语音信号y在近端播放时经过墙壁1各处折射的一路回声信道、w^2是远端语音信号y在近端播放时经过墙壁1不同位置折射的另一路回声信道。回声语音y1是远端语音信号y在近端播放时经不同的回声信道的回声语音集合,y1经过多个的回声信道后被近端麦克风收集、采样后形成近端语音信号d。近端语音信号d经过网络传输后发送到远端扬声器,此时,远端使用者会听到语音信号d(由于语音信号d是通过对回声语音y1收集、采样后得到的,远端使用者听到了采样后的回声语音,也就是,远端使用者在远端扬声器中听到自己的声音),严重影响了远端使用者的体验度。
回声消除方法的原理分为远端模式和近端模式。
图2是本发明实施例的远端模式下回声消除方法的原理图。
如图2所示,远端模式是远端的使用者通过远端麦克风讲话,近端使用者未讲话的模式。远端讲话时,远端语音信号y(也即远端音频数据)通过网络传输到近端扬声器,近端扬声器播放远端语音信号y,在近端的室内播放时,经过近端室内空间的各种回声信道w^=[w^0,w^1,……,w^l-1]后,在近端麦克风处拾得回声语音y1。其中w^i为第i个回声信道的特征向量,i=0,1,……,l-1,其用于表征回声信道的属性。远端模式3下,回声消除的原理就是将远端语音信号y送入自适应滤波器,不断优化自适应滤波器的系数(也即,滤波器的传递属性)w=[w0,w1,……,wl-1],使其逼近回声信道w^=[w^0,w^1,……,w^l-1],从而使得远端语音信号y经过自适应滤波器后,得到的模拟的回声语音y2(模拟的回声语音也就是回音预测数据)。由于近端麦克风对回声语音y1采样后形成近端语音d,通过调整自适应滤波器的系数(也即,滤波器的传递属性)w,从而使回声语音y2逼进近端语音d,由于回声语音y2是由远端音频数据获得的,远端音频数据估计回音预测数据,并在消音器中去除回音预测数据,从而达到了消除回音的效果也即,远端模式下,回声消除的原理为:
步骤s1:获取远端语音y;
步骤s2:获取回声语音y1;
步骤s3:将远端语音y送入自适应滤波器,获取模拟的回声语音y2,另y2=y*w(计算模拟的回声语音y2:y2是将远端语音信号y送入自适应滤波器w获得的);
步骤s4:获取近端语音d(回声语音y1采样后形成近端语音d,认为d=y1);
步骤s5:在回音抵消器中去除回声:另e=d-y2。(将d=y1代入e,d非常接近y1,y1为回声语音,y2是模拟的回声语音,在远端模式下,当e接近于一个非常小的数时,y2就非常接近d,经过回音抵消器后的残差数据e就是纯净语音e)。
进一步地,残差处理在远端模式下对纯净语音e做衰减处理。具体地,将纯净语音e与第一衰减因子相乘,获得更加纯净的语音e1,将更加纯净的语音e1发送到远端扬声器,以增强回声消除的效果。
图3是本发明实施例的近端模式下回声消除方法的原理图。
如图3所示,在近端模式下,近端使用者通过近端麦克风讲话,与远端模式相比,回声消除方法中至少有两处不同:其一,回声语音y10与近端使用者的语音v在近端麦克风处拾得,形成第二近端音频数据d2(也就是说,第二近端音频数据d2中包括近端使用者的语音v和通过近端扬声器播放的回声语音y10,即d2=v+y10);其二,自适应滤波器停止迭代,自适应滤波器仅滤波(在近端模式下,近端麦克风收集到了近端使用者的语音v,如果此时滤波器继续滤波,会使得滤波器发散,回音消除系统无法正常工作)。在近端模式下,回声消除的原理就是在回音抵消器中将模拟的回声语音y20去除。也即,近端模式下,回声消除的原理为:
步骤s10:获取远端语音y30;
步骤s20:将远端语音y30送入自适应滤波器,获取模拟的回声语音y20;
步骤s30:获取第二近端音频数据d2(d2=v+y10);
步骤s40:在回音抵消器中去除回声e2=d2-y20。(将上式d2=v+y10代入e2,就得到了e2=v+y10-y20,由于自适应滤波器在远端模式下已经调好,y20已经逼近y10,此处残差数据e2已经非常接近近端使用者的语音v,已经能够将残差数据e2认为是近端使用者的语音v)。将消除回音后得到的纯净语音e2发送到远端扬声器,远端的使用者此时不会听到自己的声音,提高了体验度。
在近端模式下,残差处理的具体工作方式为,将纯净语音e2与第二衰减因此相乘,从而获得更加纯净的语音e20,将更加纯净的语音e20发送到远端扬声器,以增强回声消除的效果。
然而,在不同的场景下或者不同平台下,回音语音有所差别、回音延迟也不同。在回音消除方法中对回音语音消除时,按照平台类型调整自适应滤波器的长度(滤波器的长度也称滤波器的阶数、滤波器的抽头数),以提高了用户体验。
图4是本发明实施例的回音消除方法的流程图。
如图4所示,所述回音消除方法包括:
步骤s100,根据终端类型确定处理长度。
终端可以是计算机、平板电脑、工作站、智能手机、等具有数据处理能力的计算设备。终端类型综合考虑终端使用的操作系统类型和硬件配置类型。
按照不同的操作系统类型和硬件配置类型,将终端类型预先划分不同的处理长度,分别为:响应于终端类型为windows,处理长度为20-30段;和/或,响应于终端类型为android高端设备,处理长度为20-30段;和/或,响应于终端类型为android低端设备,处理长度为10-15段;和/或,响应于终端类型为ios高端设备,处理长度为20-30段;和/或,响应于所述终端类型为ios低端设备,处理长度为10-15段;和/或,其中,各数据段包括50-80个音频数据点。优选地,根据终端类型,其一,终端类型为windows,处理长度为24个数据段;其二,终端类型为android高端设备,处理长度为24个数据段;其三,终端类型为android低端设备,处理长度为12个数据段;其四,终端类型为ios高端设备,处理长度为24个数据段;其五,终端类型为ios低端设备,处理长度为12个数据段。优选地,每个数据段包括64个音频数据点。由此,根据不同的硬件配置类型和操作系统对于硬件的占用情况,不同的平台具有不同的处理长度,再根据处理长度对应的数据段以及每个数据段包括的数据点,以windows为例,具体地,在windows下,一次处理的数据点为24*64=1536个数据点。由于在后续的数据处理中需要将远端语音信号和自适应滤波器的传递属性进行卷积,处理长度的降低可以降低对于计算能力的要求,缩短时延,而处理长度的增加可以提高处理的质量。因此,针对不同的终端类型采用不同的处理长度,可以在终端类型多样的应用场景下,保证回声处理的实时性,提高回声消除效率。本发明实施例,以终端类型为windows,处理长度为24个数据段,每个数据段包括64个音频数据点为例进行详细说明。
步骤s200到步骤s700是自适应滤波器工作在的远端模式下的数据处理步骤。
步骤s200,获取具有处理长度的第一远端音频数据,第一远端音频数据被通过扬声器播放。
会话过程中,远端的使用者讲话的状态为远端模式,此时,近端的使用者未讲话。
本实施例以windows下、处理长度是24段为例进行详细说明。
第一远端音频数据来自远端语音信号y(由此,第一远端音频数据也用y表示),存储第一远端音频数据y。
第一远端音频数据y被通过扬声器播放。第一远端音频数据y被播放后由于室内的各种回声信道的作用,形成回声语音y1。
步骤s300,通过麦克风获取具有处理长度的第一近端音频数据。
在近端的麦克风处拾得回声语音y1,经近端麦克风收集、采样后获得第一近端音频数据d。
步骤s400,将第一远端音频数据划分为预定数量的数据段,其中,各数据段包括多个音频数据点。
为了获得模拟回声语音y1,要以初始时刻第一远端语音数据y做参考来估计y1。处理的方法为,首先将第一远端语音数据y划分为预定数量的数据段,其中,各数据段包括多个音频数据点。也就是说把第一远端语音数据y划分出24段音频数据,每段音频数据中包括64个音频数据点。第一远端语音数据y划分的24段音频数据段分别是:
y1,
y2,
……
y24。
再将音频数据段划分为64个数据点,分别是
y1=(y1.0,y1.1……,y1.63),
y2=(y2.0,y2.1……,y2.63),
……
y24=(y24.0,y24.1……y24.63)。
利用y1到y24去预估一定时间段内的回声语音y1,例如采样频率16000(1/s),换算为时间域:64/16000*24=96ms,即一次最大能处理96ms(96毫秒)的数据,从而一次处理能利用y1到y24去估计96毫秒延迟内的回声语音y1。
步骤s500,根据所述处理长度确定初始自适应滤波器。
也即,对自适应滤波器进行初始化。初始化具体方法为将传递属性(其实际上为一个矩阵)赋值为0。
步骤s600,将第一远端音频数据输入初始自适应滤波器以确定第一回音预测数据。
将第一远端音频数据y输入初始自适应滤波器以确定第一回音预测数据y2,具体方法为:
y2=y*w,也即通过第一远端音频数据y与滤波器的系数(也即,滤波器的传递属性)w卷积运算获得第一回音预测数据y2。获得第一回音预测数据y2的目的在于,使用第一回音预测数据y2来估计回声语音y1。
步骤s700,以迭代方式更新自适应滤波器的传递属性直至自适应滤波器收敛。
将收敛的自适应滤波器确定为回音消除自适应滤波器,其中,自适应滤波器收敛为残留数据为小于设定阈值;残留数据为第一近端数据和第一回音预测数据的差值。
由于自适应滤波器的初始值为0,为了使自适应滤波器的系数(也即,滤波器的传递属性)能够逼近使用者所处环境的回声信道,就要通过第一远端音频数据y与滤波器系数w卷积运算获得第一回音预测数据y2;而后,计算误差数据e(也即,残留数据e),其中,e=d-y2,(d是近端麦克风接收、采样后获得的第一近端数据),当误差数据e收敛并达到一个预定的数值(也即,残留数据e小于设定阈值)时,就认为自适应滤波器系数已经接近使用者所处环境的回声信道。由于不知道自适应滤波器何时能够逼近使用者所处环境的回声信道,在具体的数据处理过程中采用迭代的方法进行,假设迭代的次数为n,迭代停止的条件为误差数据e小于10-n(n为大于0的正整数)(也即,残留数据e小于设定阈值,设定阈值取值10-n,其中,n为大于0的正整数)。
图5是本发明实施例更新自适应滤波器的传递属性的流程图。
如图5所示,步骤s700包括子步骤s710-s750。
步骤s710,确定当前周期的回音预测数据。
首先将当前周期的远端语音数据y划分出24段音频数据,每段音频数据中包括64个音频数据点。第一远端语音数据y划分的24段音频数据分别是:
y0,
y1,
y2,
……
y23。
再将音频数据段划分为64个数据点,分别是
y0=(y0.0,y0.1……,y0.63),
y1=(y1.0,y1.1……,y1.63),
y2=(y2.0,y2.1……,y2.63),
……
y23=(y23.0,y23.1……y23.63)。
计算当前周期的回音预测数据,计算公式为y2=y*w。具体方法为:
{
y=[y1,y2,……,y24]t;
其中:
y0=[y0.0,y0.1……,y0.63],
y1=[y1.0,y1.1……,y1.63],
y2=[y2.0,y2.1……,y2.63],
……
y23=[y23.0,y23.1……y23.63]。
w=[w0,w1,……,w23]t;
其中:
w0=[w0.0,w0.1…w0.23]
w1=[w1.0,w1.1…w1.23],
w2=[w2.0,w2.1…w2.23],
……
w23=[w63.0,w63.1…w63.23],
y2=conv(y,w);conv()是一维卷积函数,
}
y2的运算过程参见图6。
y2中各元素是图6中每行系数的和。
运算后y2中有64个元素。分别是y2=[y0.0*w0.0+y1.0*w0.1+y2.0*w0.2+y3.0*w0.3……y24.0*w0.24,y0.1*w1.0+y1.1*w1.1+y2.1*w1.2+y3.1*w1.3……y24.1*w1.24,y0.2*w2.0+y1.2*w2.1+y2.2*w2.2+y3.2*w2.3……y24.2*w2.24,……,y0.63*w63.0+y1.63*w63.1+y2.63*w63.2+y3.63*w63.3……y24.63*w63.24]步骤720,根据当前周期的回音预测数据和所述近端数据确定残留数据;
在当前周期内,残留回音数据是在近端数据中抵消回音预测数据后得到的。
具体处理方法:
{
e=d-y2;
}
步骤s730,判断所述自适应滤波器是否收敛,如果未收敛转向步骤s740;如果收敛转向步骤s750。
也即,在一个迭代周期内,判断误差数据e是否收敛,如果误差数据e收敛,进入步骤s750;如果e未收敛,进入步骤s740,按w(n+1)=w(n)+mu*(y/(y^t*y))*e更新一次自适应滤波器的系数(也即,滤波器的传递属性)。
步骤s740,响应于所述自适应滤波器未收敛,根据所述残留数据整当前周期的自适应滤波器的传递属性,转入下一个周期。
步骤s750,响应于所述自适应滤波器收敛,将当前周期的自适应滤波器确定为回音消除滤波器,并降低自适应滤波器的传递属性。
在自适应滤波器收敛的情况下,将当前周期的自适应滤波器确定为回音消除滤波器。降低自适应滤波器的步长使之稳定在收敛状态。
其中,根据残留数据调整当前周期的自适应滤波器的传递属性采用能量归一化最小均方差(nlms)算法。在能量归一化最小均方差(nlms)算法时中,滤波器的步长因子mu是大于0且小于1的常量,如果mu值太小自适应滤波器的收敛时间会太长;如果μ太大自适应滤波器变得不稳定,导致其输出发散。本实施例中,采用mu=0.5。
步骤s800,基于所述回音消除自适应滤波器进行回音消除。
步骤s800是自适应滤波器工作在的近端模式下的数据处理步骤。在近端模式下,自适应滤波器停止迭代,自适应滤波器仅滤波。这样可以通过近端麦克风获取的具有处理长度的第二近端音频数据d2,其中,第二近端音频数据d2中包括近端使用者的语音v和通过近端扬声器播放的回声语音y10,也就是说d2=v+y10。
如果能够在第二近端数据中消除第二回音预测数据y20,就认为消除了近端扬声器播放的回声语音y10,从而获得到纯净语音e2。
具体而言,步骤s800包括如下子步骤:
步骤s810:实时获取具有处理长度的第二远端音频数据;在近端模式下,通过网络实时获取远端麦克风发送的具有处理长度的第二远端音频数据y30。
步骤s820:根据所述第二远端音频数据输入自适应滤波器以确定第二回音预测数据;根据第二远端音频数据y30输入自适应滤波器以确定第二回音预测数据y20。
步骤s830:通过麦克风获取具有处理长度的第二近端音频数据,在第二近端数据中消除第二回音预测数据,获得纯净语音。
获得纯净语音e2的具体方法为,将模拟的回声语音y20通过回音抵消器,在第二近端音频数据d2中抵消。由于模拟的回声语音y20是回声语音y10的估计值,在近端模式下,纯净语音e2就相当于近端使用者的语音v。随后,将消除回音后得到的纯净语音e2发送到远端扬声器,远端的使用者此时不会听到自己的声音,提高了体验度。
更进一步,经过上述处理后,如果还有微弱回声存在,进行残差处理,残差处理的具体工作方式为,将纯净语音e2与第二衰减因此相乘,从而获得更加纯净的语音e20,将更加纯净的语音e20发送到远端扬声器,以增强回声消除的效果。
本发明实施例通过获取终端类型从而确定处理长度,将具有处理长度的远端音频数据送入自适应滤波器,获得回音预测数据;通过麦克风获取具有处理长度的近端音频数据,使用远端音频数据估计回音预测数据,并在消音器中去除回音预测数据,从而达到了消除回音的效果。为适应不同的终端类型,将远端音频数据划分为预定数量的数据段,其中,各数据段包括多个音频数据点,同时,按照平台类型调整自适应滤波器的长度,通过远端音频数据与自适应滤波器进行滤波,使得回音消除方法能够适应在不同的平台应用、并且更加有效地消除不同平台下的回音,从而提升了用户的体验。
图7为本发明实施例的电子设备的示意图。
如图7所示,在本实施例中,所述电子设备可以为服务器或终端等,所述终端例如可以是手机、电脑、平板电脑等智能设备。所述电子设备包括:至少一个处理器61;以及与存储介质通信连接的通信组件62,所述通信组件62在处理器的控制下接收和发送数据;其中,存储器60存储有可能被至少一个处理器61执行的指令,指令被至少一个处理器61执行以实现本发明实施例所述的任务分配方法。
具体地,所述存储器60作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器61通过运行存储在存储器中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述任务分配方法。
存储器60可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器60可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器60可选包括相对于处理器61远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器60中,当被一个或者多个处理器61执行时,执行上述任意方法实施例中的回音消除方法。
上述产品可执行本发明实施例所公开的方法,具备执行方法相应的功能模块和有益效果,可参见本发明实施例所公开的方法。
本发明还涉及一种计算机可读存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行上述部分或全部的方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除