使用多特征建模分析语音/噪声可能性的噪声抑制方法和装置与流程

文档序号:11432958阅读:565来源:国知局
使用多特征建模分析语音/噪声可能性的噪声抑制方法和装置与流程
使用多特征建模分析语音/噪声可能性的噪声抑制方法和装置发明所属领域本发明大体上与音频信号(如语音通信)传输系统和方法有关。具体而言,本发明的各个方面涉及使用语音概率建模估计和过滤噪声。背景在语音通信中,周边和/或背景噪声过多会干扰通信单方或双方对通信内容的理解,有时甚至导致对话没有意义。周边噪声包括各种外界来源的声音,其中较为常见的噪声源包括计算机、风扇、麦克风和办公设备。发明概述本发明概述以简要形式介绍了一些概念,让读者对本发明的相关方面有个基本了解。本发明概述不是对本发明的广泛性概括,也并非介绍本发明的关键或重要组成部分,亦非描述本发明的范围。本发明概述仅阐述本发明的一些概念,作为下文“详细说明”部分的铺垫。本发明的一个实施例涉及通过噪声抑制组件估计和过滤噪声的方法。该方法包括:针对噪声抑制组件接收到的连续多帧输入信号的每一帧,以对该帧的初始噪声估计为基础,定义语音概率函数;测量多帧中每一帧的多元信号分类特征;使用测量出的每帧信号分类特征,计算多帧中每一帧的基于特征的语音概率;对计算出的多帧中每一帧的基于特征的语音概率应用一个或多个动态加权因子;根据计算出的每帧基于特征的语音概率,修改多帧中每一帧的语音概率函数;以及使用修改后的每帧语音概率函数,更新多帧中每一帧的初始噪声估计。在本发明的另一实施例中,估计和过滤噪声的方法进一步包括:使用每帧更新后的初始噪声估计,对多帧中的每一帧过滤噪声。在本发明的另一实施例中,一个或多个动态加权因子包括每帧信号分类特征的加权和阈值参数。在本发明的另一实施例中,初始噪声估计是以连续多帧中每一帧的分位数噪声估计为基础。在本发明的另一实施例中,估计和过滤噪声的方法进一步包括:对测量出的每帧信号分类特征应用一个或多个动态加权因子;以及针对应用一个或多个动态加权因子的帧,更新其基于特征的语音概率。在本发明的另一实施例中,估计和过滤噪声的方法进一步包括:将一个或多个动态加权因子与测量出的信号分类特征相结合,形成基于特征的语音概率函数。在本发明另一实施例中,估计和过滤噪声的方法进一步包括:更新多帧中每一帧的基于特征的语音概率函数;以及根据更新后的基于特征的语音概率函数,更新多帧中每一帧的语音概率函数。在本发明的另一实施例中,多元信号分类特征用于将输入信号划分为一种语音或噪声分类状态。在本发明的另一实施例中,使用递归均值更新基于特征的语音概率函数。在本发明的另一实施例中,基于特征的语音概率函数是通过使用映射函数将每帧的信号分类特征映射到一个概率值而得出的。在本发明的另一实施例中,映射函数是根据信号分类特征的值定义的,且包括一个或多个阈值和宽度参数。在本发明的另一实施例中,语音概率函数进一步以帧的似然比因子为基础。在本发明的另一实施例中,多元信号分类特征至少包括:随时间变化的平均似然比、频谱平坦度测量以及频谱模板差异测量。在本发明的另一实施例中,一个或多个动态加权因子至少将下述特征之一选为多元信号分类特征:随时间变化的似然比、频谱平坦度测量以及频谱模板差异测量。在本发明的另一实施例中,频谱模板差异测量以输入信号频谱与模板噪声频谱的对比为基础。在本发明的另一实施例中,对模板噪声频谱的估计以更新后的噪声估计(使用更新后的语音概率函数和一组估计出的形状参数进行更新)为基础。在本发明的另一实施例中,估计出的形状参数是一个或多个位移、振幅以及标准化参数。在本发明的另一实施例中,估计和过滤噪声的方法进一步包括:为响应对多帧中的每一帧过滤噪声,根据修改后的帧语音概率函数,缩放每个帧的能量。在本发明的另一实施例中,估计和过滤噪声的方法进一步包括:为应用于每帧信号分类特征的加权和阈值参数设置初始值;以及在输入信号出现首个间隔之后,更新加权和阈值参数的初始值。在本发明的另一实施例中,估计和过滤噪声的方法进一步包括:在出现首次间隔时,计算每帧信号分类特征的直方图;根据源自直方图的一个或多个数量,确定加权和阈值参数的新值;以及在输入信号的第二次间隔时,使用加权和阈值参数的新值。在本发明的另一实施例中,首次和第二次间隔是按照输入信号的帧的序列出现的。而在本发明的另一实施例中,估计和过滤噪声的方法进一步包括:将源自直方图的一个或多个数量与一个或多个内部参数进行比较,以确定输入信号基于特征的语音概率相应的加权和阈值参数。本发明的详细适用范围将在下文“详细说明”部分予以明确阐述。但是,需要认识到的一点是,“详细说明”和为说明本发明的优选实施例而举出的具体示例仅供阐述说明之用,所属领域技术人员通过阅读此“详细说明”,应能显而易见地理解本发明的精神和适用范围中的诸多变更和修改内容。附图简述通过阅读下方“详细说明”,并结合随附的权利要求和图示,所属领域技术人员就能更清晰地明白本发明的目标、特征和特性,所有权利要求和附图都是本说明书的一部分。在这些附图中:图1总体描述了一个代表性实施例,该例可能执行本文介绍的一个或多个方面。图2是一个方块图,根据本文介绍的一个或多个实施例,阐释了噪声抑制系统的典型组件。图3是一个原理图,根据本文介绍的一个或多个实施例,阐释了缓冲和加窗流程。图4是一个流程图,根据本文介绍的一个或多个实施例,阐释了特征阈值和加权参数的更新流程。图5是一个方块图,根据本文介绍的一个或多个实施例,阐释了一个用于多径路由和处理音频输入信号的示例计算设备。本文中的标题仅为方便阅读而设,不会影响申请专利之发明的范围或意义。在这些附图中,为便于理解和方便阅读,具有相同或相似结构或功能的组成部分或操作,以相同的参考序号或首字母缩略词加以标注。下文“详细说明”部分将对附图进行详细介绍。详细说明本部分将展示本发明的诸多示例。下列描述将提供具体细节,以便读者能够全面了解这些示例。但是,相关领域技术人员应能理解,本发明在实际应用时可能不会实施所述全部细节内容。同样,相关领域技术人员也应理解,本发明也可能包括本文未详细介绍的其他许多明显特征。此外,下文详细说明中可能未显示或介绍一些众所周知的结构或功能,以避免对相关描述造成不必要的干扰和模糊。噪声抑制旨在消除或减少周边背景噪声,提高目标音频的清晰度,从而为听者提供更为舒适的听力环境。在本发明的某些实施例中,噪声抑制是在频域中进行的,而且会针对频域实施噪声估计和噪声过滤。在噪声水平极为不平稳的情况下,如果仅依靠本地信噪比(SNR)实施噪声抑制,通常会导致确定语音和噪声的可能性时出现错误偏差。针对每个输入帧和频率,更新和调节语音/噪声概率测度的过程包括使用多重语音/噪声分类特征(如本文涉及的“信号分类特征”或“噪声估计特征”)估算基于特征的概率,从而对帧中存在的语音/噪声做出更精确和稳定的估计,本文将对此进行更为详尽的描述。在下方描述内容中,“语音/噪声分类特征”、“信号分类特征”和“噪声估计特征”是可互换的,均指每个帧和频率中可用来(如测量)将输入信号分类成语音或噪声状态的特征。本发明与噪声抑制相关的方面是基于对噪声频谱的估计而设计的,并采用维纳(Wiener)滤波器来抑制估计得出的噪声。噪声频谱可以依靠一种方法进行估计,即使用语音/噪声似然(如概率)函数,将所接收信号的每次/帧和频率分量分类为语音或噪声。下文将详细介绍语音/噪声概率函数,及其在噪声频谱估计中的使用。在至少有一些布置中,可对噪声抑制组件进行配置,以执行本文描述的多种语音概率建模。举例来说,对于接收到的语音的每个输入帧,噪声抑制组件可能会执行以下处理:信号分析,包括缓冲、加窗和傅立叶变换;噪声估计和过滤,包括确定初始噪声估计、计算语音/噪声似然函数、根据语音/噪声似然函数更新初始噪声估计,以及使用维纳滤波器抑制估计得出的噪声;以及信号合成,包括反向傅立叶变换、缩放和窗口合成。此外,还可对噪声抑制组件做进一步配置,使其生成估计得出的语音帧,作为上述流程的输出。图1和下方的讨论对本发明的一个代表性实施例进行了简短、概括的描述,该实施例实现了本发明的多个方面。如图1所示,噪声抑制组件40可能位于信号传输路径的近端环境中,同时捕获设备5也位于近端环境中,而发出设备30则位于远端环境中。在一些布置中,噪声抑制组件40可能是大型音频(如声音)通信系统中的一个组件。噪声抑制组件40可能是该大型系统中的一个独立组件,也可能是该系统独立组件(未显示)中的一个子部件。在图1显示的示例实施例中,噪声抑制组件40被布置用于接收和处理来自捕获设备5的输入内容,并输出至一个或多个其他音频处理组件(未显示)。这些其他音频处理组件可以是声学回声控制(AEC)、自动增益控制(AGC)以及/或者其他声音质量改进组件。在一些实施例中,这些其他处理组件可能在噪声抑制组件40之前接收来自捕获设备5的输入内容。捕获设备5可以是众多音频输入设备中的任意一个,比如用于捕获声音和生成输入信号的一个或多个麦克风。发出设备30可以是众多音频输出设备中的任意一个,包括用于输出一个或多个频道声音的一个或一组扬声器。举例来说,捕获设备5和发出设备30可以是计算机系统的内部硬件设备,也可以是以有线和/或无线连接方式接入计算机系统的外围设备。在一些布置中,捕获设备5和发出设备30可以是扩音器、电话听筒等单个设备的组件。此外,捕获设备5和发出设备30中任意一个或两个可能具备模拟数字转换和/或数字模拟转换功能。至少在图1所示的实施例中,噪声抑制组件40包括一个用于协调多个流程和定时考虑的控制器50。噪声抑制组件40也可包括一个信号分析单元10、一个噪声估计单元15、一个维纳滤波器20,以及一个信号合成单元25。这些部件中的任意一个都能与控制器50进行通信,这样控制器50就能加快本文所述的一些流程。信号分析单元10、噪声估计单元15、维纳滤波器20以及信号合成单元25的各方面详情将在后文进一步详述。在本发明的某些实施例中,一个或多个其他组件、模块、单元等都可作为噪声抑制组件40中的一部分,可补充或替代图1中所示部件。1.噪声抑制组件40中组件单元的标识名称(如信号分析单元、噪声估计单元等)实质仅为示例名称,不是为了限制本发明的范围。图2是一个流程图,阐释了本发明之完整噪声抑制系统和方法的一个示例实施例。图2所示的噪声抑制系统包括三个主要流程:信号分析270、噪声估计和过滤275,以及信号合成280。信号分析流程270可以包括多个预处理过程,这些过程必须针对输入帧200执行,才可在频域内实施噪声抑制。举例来说,信号分析270可能包括缓冲205、加窗210和离散傅立叶变换(DFT)215的预处理步骤。图2所示的噪声估计和过滤流程275包括的步骤或子流程:初始噪声估计220、后验和先验SNR的判决引导(DD)更新225、语音/噪声可能性测定230,可能性测定是基于似然比(LR)因子进行的,而似然比是使用后验和先验SNR,以及语音概率密度函数(PDF)模型235(如高斯、拉普拉斯算子、伽马、超高斯等),还有根据特征建模240、噪声估计更新245并应用维纳增益滤波器250确定的概率而确定的。此外,在信号合成流程280中,需要将输入帧200转换回时域,因此还包括反向离散傅立叶变换255、缩放260和窗口合成265的步骤。信号合成流程280的结果就是输出帧290,这就是估计得出的语音帧。图2所示的上述噪声抑制系统的每个流程和子流程将在下文做更详细的描述。本文介绍的用于减少和消除语音信号中噪声的噪声抑制方法和系统,按照下方的模型方程进行(按照时域形式显示):y(t)=x(t)+N(t)其中,x(t)是纯净的语音信号,y(t)是观测到的有噪信号,而N(t)则是噪声。至少在图2所示的多个流程和步骤的下列描述中,该模型假设(未知)语音信号受到加性噪声干扰,且有噪信号y(t)与语音信号x(t)不相关。在频域中,以上模型方程采用以下形式:Yk(m)=Xk(m)+Nk(m)其中,k表示频率,m代表帧索引(即在短期窗口DFT215中使用的帧号,详见下文)。信号分析信号分析270可能包括多个预处理步骤,从而确保噪声抑制在频域中,而非时域中执行。首先,输入帧200会经过缓冲步骤205处理,在这一步骤中,输入帧200会进行扩展以涵括以前的数据(即上一帧的部分数据,例如图3所示帧305的数据330;详情见下文),从而使缓冲区长度达到2的幂数。至少在某些布置中,如图2所示的噪声抑制系统是以帧为基础运行的实时系统,当接收到一个帧(如输入帧200)时,会对其数据进行缓冲和分析。例如,输入帧200的帧尺寸是10毫秒(ms)。8kHz的采样率相当于80个样本,而16kHz的采样率就相当于160个样本。在一个或多个其他的布置中,本文介绍的如图2所示的噪声抑制系统可能替代和/或额外支持其他的输入帧尺寸,包括15ms、20ms和30ms。为清楚起见,以下描述是以输入帧200、帧尺寸为10ms的情况为基础。在经过缓冲205之后,输入帧200进入到加窗210和DFT215,以便将输入帧200映射到频域中。因为DFT215经优化适用的数据长度为2的幂数,所以至少在某些布置中,该输入帧可用的分析缓冲区长度为128个样本和256个样本。图3是一个原理图,显示了本文介绍的缓冲205和加窗210步骤示例。图3显示了当采样率为8kHz且仅分析一个信号帧时,是如何对数据进行缓冲和加窗的。如示例所示,数据305的新帧的帧尺寸是80个样本,且该新帧被添加到尺寸为128个样本的缓冲区320中。此外,加窗函数310在下文显示经扩展的缓冲区。由于分析缓冲区(如图3所示的缓冲区320)比帧的尺寸要大(如图3所示的帧305),因此如之前的数据330所示,连续的缓冲区之间会有重叠,在所示示例中该重叠部分包括来自帧305的前48个样本。虽然分析缓冲区320彼此间具有相关性,这样的重叠通常会使降噪更加顺利,但也会给合成带来限制。举例来说,当添加了如帧305这样的缓冲区重叠部分,必须对信号加窗以避免突变。如上所述,分析缓冲区之间的任何重叠(如图3所示的缓冲区320)都可能需要加窗处理。至少在一个布置中,在频域中进行噪声处理前后可加入相同的窗口。具体而言,根据图2所示,信号分析流程270的加窗步骤210和信号合成流程280的窗口合成步骤265可使用同一窗口。因此,在这样的布置中,窗口函数必须为保幂映射,即重叠缓冲区部分的窗口的平方和必须为1,如下所示:w2(N)+w2(M+N)=1其中,N是缓冲区长度,M是帧的长度。定义y(n,m)为内部缓冲区时间指数n和帧m中的有噪音频信号,经过加窗的信号为:yw(n,m)=w(n)y(n,m)在本发明的一些布置中,噪声估计和抑制流程在频域中执行。在信号分析流程270的DFT步骤215中,使用加窗数据的DFT将输入帧200转化到频域中:k表示频率槽指数(子频带)。由于本文介绍的流程使用维纳滤波器进行噪声抑制(详情见下文),因此在进行噪声估计时仅考虑频率响应的量级|Y(m)|。噪声估计和过滤图2所示系统的噪声估计和过滤流程275,使用包含多个信号特征的语音概率模型将接收到的信号的每个输入帧200分类为语音或噪声。语音/噪声分类是针对每个时间/帧和频率定义的,通过一个语音/噪声概率函数实现,下文将加以详细介绍。通过语音/噪声分类,在信号暂停(出现噪声)时就能对噪声频谱的初始估计进行更彻底的更新,这样含有残余噪声的信号听起来就更流畅(如音乐噪声更少),且对非稳定噪声源的噪声频谱的测量就更精确和更稳健。如图2所示的示例系统,噪声估计和过滤流程275包括以下步骤:初始噪声估计220、后验和先验SNR的判决引导(DD)更新225、语音/噪声可能性测定230,可能性测定是基于似然比(LR)因子进行的,似然比是使用后验和先验SNR,以及语音概率密度函数(PDF)模型235(如高斯),还有根据特征建模240、噪声估计更新245并应用维纳增益滤波器250确定的概率而确定的。下文将详细介绍每个包括噪声估计和过滤流程275的步骤。在一个或更多布置中,初始噪声估计220是以分位数噪声估计为基础。噪声估计受分位数参数控制,该参数以q表示。根据初始噪声估计步骤220确定的噪声估计,仅能用作促进噪声更新/估计的后续流程的初始条件。用于噪声抑制处理的滤波器通常会用先验SNR和后定SNR(后验SNR)来表述。因此,在执行任何实际抑制之前,需要估计先验和后验的SNR数量。噪声估计和过滤流程275的语音/噪声可能性测定步骤230也需要先验和后验SNR数量,下文将对此加以详述。在一个示例中,后验SNR可能指以观测到的与噪声功率谱相关的输入功率谱为基础的瞬态SNR,定义如下:其中,Yk(m)是输入的有噪频谱,Nk(m)是噪声频谱,所处的时间/帧是m,频率是k。在此示例中,先验SNR可能是与噪声功率谱相关的纯净(未知)信号功率谱的期望值,可表示为:其中,Xk(m)是未知纯净语音信号的频谱系数。上述每个后验和先验SNR中的噪声功率谱可能得自初始噪声估计步骤220中确定的初始估计噪声频谱,此频谱以分位数估计为基础。在至少一个实施例中,在表达后验和先验SNR时,可能使用量级数量代替上述计算中显示的平方量级:由于纯净信号是未知信号,因此对先验SNR的估计是上一帧(即通过图2所示系统处理的输入帧200之前的输入帧)经估计的先验SNR和瞬态SNRσk(m)的平均值:其中,H(k,m–1)是用于上一处理帧的增益滤波器(如噪声估计和过滤流程275所用的维纳增益滤波器250),|Yk(m–1)|是观测到的上一帧有噪语音的幅度谱。在上述表达式中,第一部分为上一时帧的先验SNR,第二部分为先验SNR的瞬态估计。至少在本例中,可将上述表达式看成是噪声估计和过滤流程275的先验SNR225步骤的判决引导(DD)更新,时间平滑参数为γdd。先验SNR是后验SNR的流畅版,时间有一些滞后。γdd越大,流畅度越高,但时间延迟也会增加。在一个或多个布置中,平滑参数的值是~0.98。根据本发明的某些方面,上文描述和定义的先验和后验SNR是噪声估计和过滤流程275的语音/噪声可能性测定步骤230的组成元素。至少在本示例中,语音/噪声可能性测定包括两个因素:(1)LR(似然比)因子,根据先验和后验SNR确定,以及(2)以特征建模为基础的概率,将在下文进行更详细的描述。在定义和获得用于语音/噪声可能性的模型中,语音的状态被定义为Hk,m=H1k,m,而噪声状态则定义为Hk,m=H0k,m。定义每个帧m和频率槽k的语音和噪声状态。语音/噪声状态的概率可以表示为:P(Hk,m|Yk(m),{F})语音/噪声概率取决于观测到的噪声输入频谱系数Yk(m),以及所处理的信号的一些特征数据(如信号分类特征),在本例中被定义为{F}。上述语音/噪声可能性的表达式在本文中也称作“语音概率函数”。至少在一个布置中,特征数据可以是有噪输入频谱、过往频谱数据、模型数据以及脱机数据等的任何函数。例如,特征数据{F}可以包括频谱平坦度测量、谐振峰值距、LPC残余、模板匹配等等。在下方表达式中,语音/噪声状态对(k,m)的依赖性受到抑制,Hk,m被写作H以简化符号。因此,根据贝叶斯法则(Bayesrule),在计算语音/噪声概率时,可能表达为:P(H|Yk(m),{F})αP(Yk(m)|H,{F})qk,m(H|{F})p({F})其中,p({F})是以信号的特征数据为基础的先验概率,该值在下方一个或多个表达式中被设为一个常数。在本例中,数量qk,m(H|{F})是特征数据{F}下的语音/噪声概率,详细描述请见下文。在描述本发明的各方面内容时,上述数量qk,m(H|{F})也被称为“基于特征的语音概率”。不考虑以{F}为基础的先验概率,且为简化符号,标记qk,m(H1|{F})=q以及qk,m(H0|{F})=1–q,则标准化的语音概率可写作:其中似然比(LR)Δk为:在上述Δk的表达式中,至少在本文所述的一个模型布置中,数量P(Yk(m)|H1,0,{F})是通过线性状态模型和针对语音和噪声频谱系数的高斯概率密度函数(PDF)假设来确定的。更具体而言,有噪输入信号的线性模型可表达为:语音状态下Yk(m)=Xk(m)+Nk(m),其中H=H1;噪音状态下Yk(m)=Nk(m),其中H=H0。假设高斯PDF使用复杂系数{Xk,Nk},则数量P(Yk(m)|H,{F})表示如下:由于完全可根据线性模型和高斯PDF假设确定概率,因此可将特征依赖从上述表达式中删除。这样,似然比Δk就变成:其中,ρk(m)是未知信号的SNR(即先验SNR),σk(m)是频率k和帧m的后定信号SNR(即后验SNR或瞬态SNR)。在一个实现例子中,上述表达式中使用的先验SNR和后验SNR由量级定义进行估计,算式为:根据上述表达式和描述,至少在一个布置中,语音/噪声状态概率可通过似然比(Δk)和数量qk,m(H1|{F})=q获得,其中,似然比根据频变后验和先验SNR确定,数量是基于特征或基于模型的概率,详细描述参见下文。因此,语音/噪声状态概率可表示为:P(H0Yk(m),{F})=1-P(H1Yk(m),{F})因为有时帧到帧之间的频变似然比因子(Δk)会有很大波动,所以至少在本文描述的一个噪声抑制系统的布置中,会使用经过时间平滑处理的似然比因子:此外,经过时间平滑处理的似然比因子的几何平均数(包括所有频率)可用作对基于帧的语音/噪声分类的可靠测量结果:如上所述,可在语音/噪声可能性确定步骤230使用高斯假设作为语音PDF模型235,从而获得似然比。在一个或多个其他布置中,其他语音PDF模型也可用作测量似然比的基础,包括拉普拉斯算子、伽马和/或超高斯。举例来说,当高斯假设可合理表示噪声时,该假设并不一定适用于语音,尤其是在较短的时帧中(如~10ms)。在这种情况下,可以使用另一种语音PDF模型,但这很可能会增加复杂性。如图2所示,要在噪声估计和过滤流程275中确定语音/噪声可能性(或概率)230,这不仅需要本地SNR(即先验SNR和瞬态SNR)的引导,还要结合从特征建模240中获得的语音模型/认知内容。将语音模型/认知内容并入到语音/噪声概率确定中,能让本文所述的噪声抑制流程更好地处理和/或区分极不稳定的噪声水平,如果仅依靠本地SNR,可能会造成可能性偏差。至少在一个布置中,系统使用了一个流程,对包含本地SNR和语音特征/模型数据的每个帧和频率更新和适应基于特征的概率qk,m(H|F)。在下方所述的此更新和适应流程的各方面内容中,符号qk,m(H|F)=qk,m。因为此处所述流程仅以帧为基础对数量qk,m(H|F)建模和更新,所以变量k就受到了抑制。根据本发明的一个或多方面内容,对基于特征的概率的更新可采用以下模型:qm=γqqm-1+(1-γq)M(z,w)其中,γp是一个平滑常数,M(z)是给定时间和频率的映射函数(如在0和1之间)。此映射函数中的变量z是z=F–T,其中F是被测特征,T是阈值。参数w则代表映射函数的形状/宽度特征。映射函数根据测量出的特征以及阈值和宽度参数,将时频槽划分为语音(M接近1)或噪声(M接近0)。在一个布置中,噪声估计和过滤流程275在实施特征建模240以确定语音/噪声可能性230时,会考虑语音信号的以下特征:(1)LRT均值,可以基于本地SNR得出,(2)频谱平坦度,可基于语音谐波模型得出,以及(3)频谱模板差异测量。下文将对这三个特征做更详细的描述。需要认识到的一点是,除下文所述的三个示例特征外,还可使用很多其他语音信号特征来作为补充或替代特征。...
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1