噪声生成装置、及方法

文档序号:2837384阅读:309来源:国知局

专利名称::噪声生成装置、及方法
技术领域
:本发明涉及通信
技术领域
,尤其涉及一种噪声生成装置、及方法。
背景技术
:在传输语音的过程中,通常会使用语音编码技术对语音信息进行压缩,以增加通信系统的容量。由于在进行语音通信时,只有大约40%的时间是包含语音的,其它时间都是静音或背景噪声,而通常进行语音通信的人们关心的都是语音的内容,对只有静音或背景噪声的时间并不关心,因此在对语音信息进行压缩时,会针对语音、静音或背景噪声按照不同的方法进行编码和传输,以进一步提高通信系统的容量。非连续传输系统/舒适噪声生成(DTX/CNG,DiscontinuousTransmissionSystem/ComfortableNoiseGeneration)就是这样一种用于进一步提高通信系统容量的技术。DTX/CNG技术对背景噪声进行编码获得的帧通常称为静音插入描述(SID,SilenceInsertionDescriptor)帧,在普通的语音帧中会包含谱参数、信号能量增益参数、固定码本、及自适应码本相关的参数,解码端在收到语音帧后根据这些信息就可以恢复出原来的语音数据,而SID帧中一般只包含谱参数和信号能量增益参数,解码端只根据谱参数和信号能量增益参数进行背景噪音的恢复。这是因为用户通常并不关心背景噪音中包含了什么信息,因此SID帧可以只传递很少量的参考信息,也即谱参数和信号能量增益参数,解码端根据这些参考信息进行背景噪音的恢复,使用户可以大致听出对方处于什么环境,并且不会明显影响用户的听觉质量即可。在进行语音传输时,相隔若干帧才发送一次SID帧,编码参数未发送或者根本未进行编码的帧通常称为无音(NO_DATA)帧。近年来在各大组织和机构制定的语音编码标准中,都存在DTX/CNG技术的具体应用。在第三代伙伴组织计划(3GPP,ThirdGenerationPartnershipProjects)的语音编码标准--自适应多速率声码器(AMR,AdaptiveMulti-Rate)中采用的DTX/CNG技术,即为按照固定间隔每8帧发送一次SID帧,利用接收到的连续两帧SID帧解码出的参数,也即信号能量增益参数和谱参数,进行线性插值,以估算出噪声合成所需要的参数,用公式表达为(k=1,…,8)其中Pn+k表示第n个SID帧之后的第k帧的CNG参数的估算值,Psid(n-1)表示解码端接收到的第n-1个SID帧的参数,Psid(n)表示解码端接收到的第n个SID帧的参数。当n=0时,Psid(-1)为拖尾阶段8帧语音帧谱参数和信号能量增益参数的平均值。在国际电信联盟(ITU,InternationalTelecommunicationUnion)的语音编码标准--共轭结构代数码本激励线性预测声码器定义的静音压缩方案中,采用的DTX/CNG技术,即为在编码端根据噪声参数的变化情况,自适应地确定是否发送SID,前后两帧SID的间隔最小为20毫秒,最大则不限。在解码端采用的CNG算法则用公式可表示为对信号能量增益参数的重建对谱参数的重建LSFt,sub_2=LSFsid_new其中表示解码端接收到的最新SID帧解码出的信号能量增益参数,LSFsid_last表示解码端上一次接收到的SID解码出的谱参数,LSFsid_new表示解码端最新接收到的SID解码出的谱参数。在对现有技术的研究和实践过程中,发明人发现现有技术存在以下问题3GPP的语音编码标准--AMR中采用的DTX/CNG技术,只针对编码端按照固定间隔发送SID帧的情况,在编码端使用的是自适应间隔发送SID帧时,将无法正常工作。ITU的语音编码标准--共轭结构代数码本激励线性预测声码器定义的静音压缩方案中采用的DTX/CNG技术,在当前帧为SID时,使用解码出的谱参数与上一个SID帧平均出当前帧的第一子帧的谱参数,第二子帧的谱参数则直接使用解码出的谱参数;在下一个SID帧到来之间的无音帧,则直接使用最近的SID帧解码出的谱参数重建噪声,当下一个SID帧到来且解码出的谱参数和前一帧SID帧的谱参数有差别时,就会出现不连续性,且由于谱参数是一个处于不断变化中的量,因此前后两个谱参数通常是有差别的,因此重建的舒适噪声的谱,很容易出现不连续性,进而影响到听觉质量,在前后两个谱参数差别较大时尤其明显。
发明内容本发明实施例要解决的技术问题是提供一种噪声生成装置、及方法,可以适应多种标准协议,使解码端恢复出使用户感觉较舒适的噪音。为解决上述技术问题,本发明实施例一方面,提供了一种噪声生成方法,所述方法包括根据预先获取的噪声参数,获取重建参数初始值;根据所述重建参数初始值获取随机取值范围;在所述随机取值范围内随机取值作为重建的噪声参数;根据所述重建的噪声参数生成噪声。另一方面,提供了一种噪声生成装置,所述装置包括初始值单元,用于根据预先获取的噪声参数,获取重建参数初始值;范围单元,用于根据所述重建参数初始值获取随机取值范围;重建单元,用于在所述随机取值范围内随机取值作为重建的噪声参数;合成单元,用于根据所述重建的噪声参数合成噪声。以上技术方案可以看出,本发明实施例对编码端使用的协议标准没有限制,无论编码端按照固定间隔发送SID帧,还是自适应间隔发送SID帧,都可以正常工作。且由于在收到第一个SID帧之后,再次收到新的SID帧时,都会取在最新收到的SID帧的前一帧重建的噪声参数作为所述重建参数初始值,并参考该重建参数初始值及最新收到的SID帧的噪声参数,确定一个随机取值范围,在该范围内随机取值作为噪声参数,生成的噪声过渡比较自然,会给用户带来较好的听觉体验。图1、本发明实施例提供的噪声生成方法实施例一流程图;图2、本发明实施例提供的噪声生成方法实施例二流程图;图3、本发明实施例提供的噪声生成方法实施例三流程图;图4、本发明实施例提供的噪声生成方法实施例四流程图;图5、本发明实施例提供的噪声生成装置实施例结构图。具体实施例方式本发明实施例提供了一种噪声生成装置、及方法,可以适应多种标准协议,使解码端恢复出使用户感觉较舒适的噪音。本发明实施例提供的噪声生成方法实施例,在解码端通过少量的SID帧中的噪声参数,重建随机变化、曲线平滑的噪声参数,以恢复出使用户感觉较舒适的噪音。本发明实施例提供的噪声生成方法实施例一流程如图1所示,包括步骤101、获取SID帧中携带的噪声参数。开始语音通信后,解码端从接收到的语音数据流中译码出帧信息,然后对该帧的格式进行判断,若该帧为语音帧,则进入语音帧处理流程;若为非语音帧,如SID帧或者无音帧,则进入本实施例提供的噪声生成方法实施例流程。在处理非语音帧时,由于无音帧中不包含任何语音数据,直接进入步骤102,在收到SID帧时,就要获取该SID帧中携带的噪声参数,即信号能量增益参数和谱参数。步骤102、根据获得的噪声参数重建根据预测方向随机变化、曲线平滑的连续噪声参数,包括信号能量增益参数和谱参数,当前帧为非语音帧,包括SID帧及无音帧。为了使重建的噪声参数不会偏离实际值太远,首先要为重建的噪声参数的变化曲线确定一个中心值,使重建的噪声参数取值在该中心值附近游动,该中心值可以被称为游动中心Ck,同时也要确定游动的范围,使重建的噪声参数取值以Ck为中心,在该范围内游动,该游动范围可以称为游动半径Δ。获得游动半径Δ的方法有很多种,本实施例提供了其中的两种一种为根据噪声参数增量dP、预测间隔长度length、以及当前帧与最新收到的SID帧的时间间隔k获得;一种为根据噪声参数增量dP、预测间隔长度length获得。根据第一种方法获得游动半径Δ时,当前帧噪声参数的游动半径Δ用公式可以表述为其中length为预测的最新收到的SID帧与下一个SID帧之间的间隔长度,即假设经过时间length可以收到下一帧SID帧。当当前帧为解码端在语音段之后接收到第一帧SID帧时,噪声参数增量dP可以利用最新接收到的SID帧噪声参数Psid,或缓存区中存储的过去几帧语音帧的能量增益参数和谱参数获得。解码端在语音帧之后接收到第一帧非语音帧时,本实施例提供了两种获得噪声参数增量的方法方法一、利用缓存区中存储的过去几帧语音帧的能量增益参数和谱参数,估算出过去平均能量增益参数和谱参数,作为重建参数初始值Pref,以最新收到的噪声参数Psid与重建参数初始值Pref的差值作为噪声参数增量dP,此时噪声参数增量dP可用公式表述为dP=Psid-Pref估算重建参数初始值Pref的方式可以是采用前几帧能量增益参数和谱参数的平均值作为重建参数初始值Pref,也可以是采用前几帧能量增益参数和谱参数的加权平均值作为重建参数初始值Pref。方法二、直接采用最新收到的SID帧携带的能量增益参数和谱参数,重建该SID帧到下一个SID帧之间的噪声,在收到该SID帧的下一个SID帧时,再开始重建噪声参数,采用语音帧之后第一帧SID帧携带的能量增益参数和谱参数作为重建参数初始值Pref,以最新收到的噪声参数Psid与重建参数初始值Pref的差值作为噪声参数增量dP,此时噪声参数增量dP可用公式表述为dP=Psid-Pref若是第一帧SID帧之后收到的SID帧或无音帧,本实施例提供了两种获得噪声参数增量的方法方法一、以最新接收到的SID帧前一帧重建的噪声参数Pk-1为重建参数初始值Pref,最新接收到的SID帧噪声参数Psid与重建参数初始值Pref的差值作为噪声参数增量dP,此时噪声参数增量dP可用公式表述为dP=Psid-Pref方法二、以最新收到的SID帧携带的噪声参数与前一帧SID帧携带的噪声参数的差值作为噪声参数增量dP,以最新收到的SID帧为第n帧为例,噪声参数增量dP用公式可以表述为dP=Psid(n)-Psid(n-1)在收到下一个SID帧之前,为两个SID帧之间的无音帧重建噪声参数时,可以使用最近收到的SID帧的噪声参数增量dP为无音帧确定游动半径Δ,也可以在每次为新的无音帧重建噪声时,更新噪声参数增量dP,本实施例提供了两种更新噪声参数增量dP的方法方法一、最新接收到的SID帧噪声参数Psid与重建参数初始值Pref的差值作为噪声参数增量dP,在为无音帧重建噪声参数时,以前一帧重建的噪声参数Pk-1更新重建参数初始值Pref,则使用重建参数初始值Pref获得的噪声参数增量dP也会相应被更新。方法二、以最近接收到的SID帧的噪声参数与前一帧SID帧携带的噪声参数的差值为d0,以最近接收到的SID帧的前一帧重建的噪声参数为P0,当前帧为距离最新接收到的SID帧的第k帧,当前帧的噪声参数增量为dk,以d0减去重建参数初始值Pref与P0的差值获得当前帧的噪声参数增量dk,使dk=dP,此时dk用公式可以表述为dk=d0-(Pref-P0)在为无音帧重建噪声参数时,以前一帧重建的噪声参数Pk-1更新重建参数初始值Pref,则使用重建参数初始值Pref获得的噪声参数增量dk也会相应被更新。变化曲线的预测方向也就是游动半径Δ的取值方向,而游动半径Δ的取值方向受噪声参数增量dP的影响,当噪声参数增量dP为“+”时,Δ取值为“+”;当噪声参数增量dP为“-”时,Δ取值为“-”。当当前帧是SID帧时,k为“0”,2(|k-length|+1)=2(length+1)随着无音帧构成的无音段的持续时间变长,k值慢慢变大,在噪声参数增量dP不变时,2(|k-length|+1)的取值将会慢慢变小,Δ的取值则会慢慢变大。当k=length,即当前帧是最新收到的SID帧后的第length帧时,2(|k-length|+1)=2若该帧后还没有收到新的SID帧,k值继续增加,在噪声参数增量dP不变时,2(|k-length|+1)的取值将会慢慢变大,Δ的取值则会慢慢变小。所以在为两个SID帧之间的无音帧重建噪声参数,噪声参数增量dP不变时,Δ的取值是一个初始值等于最大值等于而后缓慢衰减的数值。若噪声参数增量dP也在随之发生变化,则Δ的取值的变化将会受到相应影响。根据第二种方法获得游动半径Δ时,当前帧噪声参数的游动半径Δ用公式可以表述为获得噪声参数增量dP及预测间隔长度length的方法与上文所述第一种获得游动半径Δ的方法基本相同。此时,游动半径Δ的取值方向仍然受噪声参数增量dP的影响,当噪声参数增量dP为“+”时,Δ取值为“+”;当噪声参数增量dP为“-”时,Δ取值为“-”。当前帧噪声参数的游动中心Ck可以通过重建参数初始值Pref与当前帧噪声参数的游动半径Δ获得,游动中心Ck用公式可以表述为Ck=Pref+2Δ其中,重建参数初始值Pref会在每一次重建噪声参数时进行更新,以当前噪声参数为Pk,则以Pk-1更新Pref,此时游动中心Ck用公式可以表述为Ck=Pk-1+2Δ以Ck为中心,在[Ck-|Δ|,Ck+|Δ|]区间内采用随机取值的方法,重建出当前帧的噪声参数Pk,噪声参数Pk用公式可以表述为Pk=rand(Ck-|Δ|,Ck+|Δ|)当当前帧是SID帧,Δ取值为“+”时,Ck也大于前一帧的噪声参数Pk-1,[Ck-|Δ|,Ck+|Δ|]的下限为Ck-|Δ|=Pk-1+Δ[Ck-|Δ|,Ck+|Δ|]的下限比Pk-1高Δ,在采用第一种方法获得Δ时,Δ的取值初始值等于是噪声参数增量dP的相对噪声参数增量dP而言是一个很小的取值,因此[Ck-|Δ|,Ck+|Δ|]的下限是一个比Pk-1稍高的数值。在采用第二种方法获得Δ时,Δ的取值是噪声参数增量的相对噪声参数增量dP而言是一个很小的取值,因此[Ck-|Δ|,Ck+|Δ|]的下限也是一个比Pk-1稍高的数值。[Ck-|Δ|,Ck+|Δ|]的上限为Ck+|Δ|=Pk-1+3Δ[Ck-|Δ|,Ck+|Δ|]的上限比Pk-1高3Δ,在采用第一种方法获得Δ时,以length取值为“2”为例,3Δ的值为噪声参数增量dP的仍然要小于噪声参数增量dP,即[Ck-|Δ|,Ck+|Δ|]的上限小于Pk-1与噪声参数增量dP的和。在采用第二种方法获得Δ时,以length取值为“2”为例,3Δ的值为Psid与Pk-1差值的仍然要小于噪声参数增量dP,即[Ck-|Δ|,Ck+|Δ|]的上限小于Pk-1与噪声参数增量dP的和,而且第二种方法通常被应用于采用固定间隔发送SID帧的场合,这种时候length一般会比“2”大得多,3Δ的值就更小了。同理,若当前帧是SID帧,Δ取值为“-”时,[Ck-|Δ|,Ck+|Δ|]的下限会比最新接收到的SID帧噪声参数Psid高,上限会比前一帧的噪声参数Pk-1稍低。因此在当前帧是SID帧时,在[Ck-|Δ|,Ck+|Δ|]区间内随机取值的噪声参数Pk,会是一个相比前一帧的噪声参数Pk-1稍有变化的参数,这种变化是被最新接收到的SID帧噪声参数Psid所影响的,温和的变化,即使最新接收到的SID帧噪声参数Psid与前一帧的噪声参数Pk-1差值非常大,Pk也会是一个过度较平滑的值,根据Pk生成的噪声也会变化较为缓和,会带给用户较好的感受。当当前帧为无音帧时,重建参数初始值Pref为前一帧的重建的噪声参数Pk-1,游动中心Ck受到重建参数初始值Pref的影响,会向游动半径Δ的取值方向发生平缓的变化,在[Ck-|Δ|,Ck+|Δ|]区间内随机取值的噪声参数Pk,会是一个相比前一帧的噪声参数Pk-1稍有变化的参数,两个SID帧之间重建出的连续噪声参数Pk会是一个过度较平滑的值,根据Pk生成的噪声也会变化较为缓和,会带给用户较好的感受。进一步,在两个SID帧之间的游动半径Δ可能会受k值或dP取值的影响发生变化,随机取值的范围也会相应发生变化,两个SID帧之间重建出的连续噪声参数Pk会是一个变化更加随机的曲线,根据Pk生成的噪声也会发生较多不同的变化,会带给用户较好的感受。在有些情况下,当前帧为无音帧时,也可能在下一帧SID帧到来前都不更新重建参数初始值Pref,此时就要依靠游动半径Δ的变化来改变随机取值的范围。本实施例中,重建参数初始值Pref包括重建信号能量增益参数初始值、重建谱参数初始值。步骤103、利用重建的噪声参数生成噪声。解码端利用随机序列发生器合成激励信号,该激励信号在重建噪声时,相当于SID帧相比普通语音帧缺少的内容,如固定码本、及自适应码本相关的参数等,解码端根据噪音的共性,利用随机序列发生器合成激励信号,用以重建噪声。利用激励信号及重建的噪声参数生成噪声的方法有两种第一种、解码端将重建的噪声参数中的谱参数,转换为合成滤波器系数,对激励信号进行合成滤波,获得噪声信号,然后对合成的噪声信号用重建的噪声参数中的能量增益参数进行时域整形,进行后处理,即可输出为最终的重建噪声。第二种、解码端利用重建的噪声参数中的能量增益参数及随机序列发生器合成激励信号,然后将重建的噪声参数中的谱参数,转换为合成滤波器系数,对激励信号进行合成滤波,获得噪声信号。在本实施例中,对编码端使用的协议标准没有限制,无论编码端按照固定间隔发送SID帧,还是自适应间隔发送SID帧,都可以正常工作。且由于每次收到新的SID帧都会参考前一帧重建的噪声参数、及新收到的噪声参数,重建噪声参数,生成的噪声过渡比较自然,用户会有较好的听觉体验,同时也参考了实际噪音参数的影响,使用户可以分辨出大致的语音环境;进一步在处理无音帧时,根据无音帧与最近的SID帧之间的距离、最近的SID帧的噪声参数的变化方向、及最近的SID帧的噪声参数与重建参数初始值的差值,为该无音帧重建与前一帧相比变化微小的噪声参数,使得重建出的噪声参数变化曲线较为平滑,因此生成的噪声每帧之间的过渡也比较自然,会给用户带来较好的听觉体验。本发明实施例提供的噪声生成方法实施例二,编码端采用自适应间隔发送SID帧,流程如图2所示,包括步骤201、接收SID帧,获取其中携带的噪声参数。开始语音通信后,解码端从接收到的语音数据流中译码出帧信息,然后对该帧的格式进行判断,若该帧为语音帧,则进入语音帧处理流程;若为非语音帧,如SID帧或者无音帧,则进入本实施例提供的噪声生成方法实施例流程。在处理非语音帧时,由于无音帧中不包含任何语音数据,通常直接进入步骤202,在收到SID帧时,就要获取其中携带的噪声参数,即信号能量增益参数Gsid和谱参数lsfsid。步骤202、获得重建参数初始值。解码端在检测到帧类型从语音帧切换为非语音帧时,即接收到第一帧SID帧时,通过缓冲区中存储的过去Np帧的能量增益参数和谱参数,计算出平均的能量增益参数Gref和谱参数lsfref作为重建参数初始值,此处Np取值为大于0的整数,例如Np=5,过去的帧可以是语音帧,也可以是SID帧。重建能量增益参数初始值Gref和重建谱参数初始值lsfref用公式表达如下若接收到的SID帧不是第一帧SID帧,则用该SID帧前一帧重建的能量增益参数和谱参数作为重建参数初始值。本实施例中在为无音帧重建噪声参数时,可以每次都使用前一帧重建的能量增益参数和谱参数更新重建参数初始值,也可以在下一帧SID帧到来前都不更新重建参数初始值。步骤203、重建噪声参数。在从语音段转入噪音段时,也即接收到语音帧后第一帧SID帧时,将length初始值置为Np,之后再次收到SID帧时,取最新SID帧与其前一个SID帧之间的间隔长度。为了保证DTX的效率,一般来说会对SID帧的发送间隔进行限制,即length必须大于等于一个自然数,例如在G.729B版本的协议中规定length必须大于等于2。从最近的SID帧中解码得到的能量增益参数为Gsid、谱参数为lsfsid,对于该SID帧后第k帧,其能量增益参数的噪声参数增量dk,G用公式可以表述为dk,G=Gsid-Gref其能量增益参数的游动半径ΔG用公式可以表述为其谱参数的噪声参数增量dk,lsf用公式可以表述为dk,lsf=lsfsid-lsfref其谱参数的游动半径Δlsfi用公式可以表述为i=1,2,…,M其中M为谱参数线性预测的阶数。则当前帧的重建噪声参数中重建能量增益参数的游动中心CG,k用公式可以表述为CG,k=Gref+2ΔG当前帧的重建噪声参数中重建谱参数的游动中心Clsf,ki用公式可以表述为当前帧的重建噪声参数中重建能量增益参数Gk用公式可以表述为Gk=rand(CG,k-|ΔG|,CG,k+|ΔG|)当前帧的重建噪声参数中重建谱参数lsfki用公式可以表述为其中函数rand(a,b)是指在区间[a,b]中取均匀分布的随机数。如果接收到新的SID帧时,用下面算法对相关变量进行更新length=k-1;Gref=Gk-1;最后使k=1;如果收到的是无音帧,在更新重建参数初始值时使Gref=Gk;lsfref=lsfk;对重建参数初始值进行更新,然后使k=k+1。继续重建出该帧的噪声参数,直到收到新的SID帧。步骤204、利用重建的噪声参数生成噪声。采用随机序列生成白噪声激励信号e(n);用重建的谱参数lsfk构造合成滤波器ak(z);将生成的激励信号用合成滤波器合成滤波yk(n)=e(n)*ak(n)然后将合成的噪声yk(n)使用重建的能量增益参数Gk进行时域整形其中N为帧长,即可在解码端恢复出舒适噪声。本实施例步骤204采用的利用重建的噪声参数生成噪声的方法,即为上文提到的利用激励信号及重建的噪声参数生成噪声的方法一。在本实施例中,对编码端使用的协议标准没有限制,无论编码端按照固定间隔发送SID帧,还是自适应间隔发送SID帧,都可以正常工作。且由于在从语音段转向噪音段时,采用最后语音段的平均能量增益参数和谱参数作为初始值,参考新收到的噪声参数,重建噪声参数,这就保证了从语音段到噪音段切换时,生成的噪声与语音段的过渡比较自然,用户会有较好的听觉体验,同时由于参考了实际噪音参数的影响,使用户可以分辨出大致的语音环境;每次收到新的SID帧都会采用前一帧重建的噪声参数作为初始值,参考新收到的噪声参数,重建噪声参数,生成的噪声过渡比较自然,用户会有较好的听觉体验,同时也参考了实际噪音参数的影响,使用户可以分辨出大致的语音环境;进一步在处理无音帧时,根据无音帧与最近的SID帧之间的距离、最近的SID帧的噪声参数的变化方向、及最近的SID帧的噪声参数与重建参数初始值的差值,为该无音帧重建与前一帧相比变化微小的噪声参数,使得重建出的噪声参数变化曲线较为平滑,因此生成的噪声每帧之间的过渡也比较自然,会给用户带来较好的听觉体验。本发明实施例提供的噪声生成方法实施例三,编码端采用固定间隔发送SID帧,其流程如图3所示,包括步骤301、接收SID帧,获取其中携带的噪声参数。开始语音通信后,解码端从接收到的语音数据流中译码出帧信息,然后对该帧的格式进行判断,若该帧为语音帧,则进入语音帧处理流程;若为非语音帧,如SID帧或者无音帧,则进入本实施例提供的噪声生成方法实施例流程。在处理非语音帧时,由于无音帧中不包含任何语音数据,通常直接进入步骤302,在收到SID帧时,就要获取其中携带的噪声参数,即信号能量增益参数Gsid、谱参数lsfsid。步骤302、获得重建参数初始值。编码端采用固定的SID帧间隔发送SID帧,这里假定SID帧间隔为LENGTH,LENGTH取值为大于0的自然数。解码端在检测到帧类型从语音帧切换为非语音帧时,即接收到第一帧SID帧时,将接收到的SID帧中的噪声参数用作未来LENGTH帧的重建噪声参数,并用作重建噪声能量增益参数Gref和谱参数lsfref的初始值,重建能量增益参数初始值Gref和重建谱参数初始值lsfref用公式表达如下lsfref=lsfsid(1)Gref=Gsid(1)步骤303、重建噪声参数。重建噪声参数从收到第二个SID帧之后开始,从最近的SID帧中解码得到的能量增益参数为Gsid、谱参数为lsfsid,对于该SID帧后第k帧,其能量增益参数的噪声参数增量dk,G用公式可以表述为dk,G=Gsid-Gref其能量增益参数的游动半径ΔG用公式可以表述为其谱参数的噪声参数增量dk,lsf用公式可以表述为dk,lsf=lsfsid-lsfref其谱参数的游动半径Δlsfi用公式可以表述为i=1,2,…,M其中M为线性预测的阶数。则当前帧的重建噪声参数中重建能量增益参数的游动中心CG,k用公式可以表述为CG,k=Gref+2ΔG当前帧的重建噪声参数中重建谱参数的游动中心Clsf,ki用公式可以表述为当前帧的重建噪声参数中重建能量增益参数Gk用公式可以表述为Gk=rand(CG,k-|ΔG|,CG,k+|ΔG|)当前帧的重建噪声参数中重建谱参数lsfki用公式可以表述为其中函数rand(a,b)是指在区间[a,b]中取均匀分布的随机数。如果接收到新的SID帧时,用下面算法对相关变量进行更新length=k-1;Gref=Gk-1;lsfref=lsfk-1;最后使k=1;如果收到的是无音帧,在更新重建参数初始值时使Gref=Gk;lsfref=lsfk;对重建参数初始值进行更新,然后使k=k+1。继续重建出该帧的噪声参数,直到收到新的SID帧。步骤304、利用重建的噪声参数生成噪声。使用随机序列发生器以及重建的能量增益参数Gk合成白噪声激励信号e(n);用重建的谱参数lsfk构造合成滤波器ak(z);将生成的激励信号用合成滤波器合成滤波yk(n)=e(n)*ak(n)再经过后滤波处理,即可在解码端恢复出舒适噪声。本实施例步骤304采用的利用重建的噪声参数生成噪声的方法,即为上文提到的利用激励信号及重建的噪声参数生成噪声的方法二。在本实施例中,对编码端使用的协议标准没有限制,无论编码端按照固定间隔发送SID帧,还是自适应间隔发送SID帧,都可以重建出变化比较平滑的噪声参数,包括能量增益参数、谱参数等,进而生成比较自然的舒适噪声。由于在从语音段转入噪音段时,采用最新收到的SID帧的噪声参数生成第一帧SID帧到下一个SID帧之间的噪声,每次收到新的SID帧都会采用前一帧重建的噪声参数作为初始值,参考新收到的噪声参数,重建噪声参数,生成噪声,由于语音段转入噪音段时,发送来的SID帧离语音段非常近,所以直接使用最新收到的SID帧的噪声参数生成第一帧SID帧到下一个SID帧之间的噪声,语音段转入噪音段的过渡会比较自然,且两帧SID帧的间隔很短,在短暂的时间内噪音没有变化,是普通人的听觉无法发现的,用户会有较好的听觉体验;每次收到新的SID帧都会采用前一帧重建的噪声参数作为初始值,参考新收到的噪声参数,重建噪声参数,生成的噪声过渡比较自然,用户会有较好的听觉体验,同时也参考了实际噪音参数的影响,使用户可以分辨出大致的语音环境;进一步在处理无音帧时,根据无音帧与最近的SID帧之间的距离、最近的SID帧的噪声参数的变化方向、及最近的SID帧的噪声参数与重建参数初始值的差值,为该无音帧重建与前一帧相比变化微小的噪声参数,使得重建出的噪声参数变化曲线较为平滑,因此生成的噪声每帧之间的过渡也比较自然,会给用户带来较好的听觉体验。本发明实施例提供的噪声生成方法实施例四,编码端采用自适应间隔发送SID帧,流程如图4所示,包括步骤401、接收SID帧,获取其中携带的噪声参数。开始语音通信后,解码端从接收到的语音数据流中译码出帧信息,然后对该帧的格式进行判断,若该帧为语音帧,则进入语音帧处理流程;若为非语音帧,如SID帧或者无音帧,则进入本实施例提供的噪声生成方法实施例流程。在处理非语音帧时,由于无音帧中不包含任何语音数据,通常直接进入步骤402,在收到SID帧时,就要获取其中携带的噪声参数,即信号能量增益参数Gsid和谱参数lsfsid。步骤402、获得重建参数初始值。解码端在检测到帧类型从语音帧切换为非语音帧时,即接收到第一帧SID帧时,假设此时从该帧中获得的信号能量增益参数为Gsid(1)、谱参数为lsfsid(1),则重建能量增益参数初始值Gref和重建谱参数初始值lsfref可用公式表达为Gref=Gsid(1)lsfref=lsfsid(1)若接收到的SID帧不是第一帧SID帧,则用该SID帧前一帧重建的能量增益参数和谱参数作为重建参数初始值。本实施例中在为无音帧重建噪声参数时,可以每次都使用前一帧重建的能量增益参数和谱参数更新重建参数初始值,也可以在下一帧SID帧到来前都不更新重建参数初始值。步骤403、重建噪声参数。在从语音段转入噪音段时,也即接收到语音帧后第一帧SID帧时,将length初始值置为Np,之后再次收到SID帧时,取最新SID帧与其前一个SID帧之间的间隔长度。为了保证DTX的效率,一般来说会对SID帧的发送间隔进行限制,即length必须大于等于一个自然数,例如在G.729B版本的协议中规定length必须大于等于2。解码器从收到最新的SID帧中解码得到的能量增益参数为Gsid(n)、谱参数为lsfsid(n),(n=1,2,…),使d0,G=Gsid(n)-Gsid(n-1)d0,lsf=lsfsid(n)-lsfsid(n-1)则对于第n个SID帧后第k帧,其能量增益参数的噪声参数增量dk,G用公式可以表述为dk,G=d0,G-(Gref-G0)其中,Gref为能量增益参数的重建参数初始值,G0为最近接收到的SID帧的前一帧重建的能量增益参数。当该最近接收到的SID帧为第一帧SID帧时,G0为缓冲区中存储的过去Np帧的能量增益参数的加权平均值Gsid(0)。Gsid(0)可用公式表达如下其中wi为权值,满足关系其能量增益参数的游动半径ΔG用公式可以表述为其谱参数的噪声参数增量dk,lsfi用公式可以表述为其中,lsfref为谱参数的重建参数初始值,lsf0为最近接收到的SID帧的前一帧重建的谱参数。当该最近接收到的SID帧为第一帧SID帧时,lsf0为缓冲区中存储的过去Np帧的能量增益参数的加权平均值lsfsid(0)。lsfsid(0)可用公式表达如下其中wi为权值,满足关系其谱参数的游动半径Δlsfi用公式可以表述为i=1,2,…,M其中M为谱参数线性预测的阶数。则当前帧的重建噪声参数中重建能量增益参数的游动中心CG,k用公式可以表述为CG,k=Gref+2ΔG当前帧的重建噪声参数中重建谱参数的游动中心Clsf,ki用公式可以表述为当前帧的重建噪声参数中重建能量增益参数Gk用公式可以表述为Gk=rand(G,k-|ΔG|,CG,k+|ΔG|)当前帧的重建噪声参数中重建谱参数lsfki用公式可以表述为其中函数rand(a,b)是指在区间[a,b]中取均匀分布的随机数。如果接收到新的SID帧时,用下面算法对相关变量进行更新length=k-1;Gref=Gk-1;最后使k=1;如果收到的是无音帧,在更新重建参数初始值时使Gref=Gk;lsfref=lsfk;对重建参数初始值进行更新,然后使k=k+1。继续重建出该帧的噪声参数,直到收到新的SID帧。步骤404、利用重建的噪声参数生成噪声。采用随机序列生成白噪声激励信号e(n);用重建的谱参数lsfk构造合成滤波器ak(z);将生成的激励信号用合成滤波器合成滤波yk(n)=e(n)*ak(n)然后将合成的噪声yk(n)使用重建的能量增益参数Gk进行时域整形其中N为帧长,即可在解码端恢复出舒适噪声。本实施例步骤404采用的利用重建的噪声参数生成噪声的方法,即为上文提到的利用激励信号及重建的噪声参数生成噪声的方法一。在本实施例中,对编码端使用的协议标准没有限制,无论编码端按照固定间隔发送SID帧,还是自适应间隔发送SID帧,都可以重建出变化比较平滑的噪声参数,包括能量增益参数、谱参数等,进而生成比较自然的舒适噪声。由于在从语音段转入噪音段时,采用最新收到的SID帧的噪声参数作为初始值,参考新收到的噪声参数,重建噪声参数,由于语音段转入噪音段时,发送来的SID帧离语音段非常近,所以直接使用最新收到的SID帧的噪声参数作为初始值,语音段转入噪音段的过渡会比较自然;每次收到新的SID帧都会采用前一帧重建的噪声参数作为初始值,参考新收到的噪声参数,重建噪声参数,生成的噪声过渡比较自然,用户会有较好的听觉体验,同时也参考了实际噪音参数的影响,使用户可以分辨出大致的语音环境;进一步影响重建噪声参数随机取值范围的噪声参数增量,是根据最近的SID帧与前一帧SID帧的差值、及重建参数初始值与最近的SID帧前一帧重建的噪声参数的差值获得的,被该噪声参数增量影响的取值范围比起前一帧会发生平滑的变化,在此范围内随机取值的重建噪声参数也会受到相应的影响,使得重建出的噪声参数变化曲线较为平滑,因此生成的噪声每帧之间的过渡也比较自然,会给用户带来较好的听觉体验。本发明实施例提供的噪声生成装置实施例通常位于解码端,可通过少量的SID帧中的噪声参数,重建随机变化、曲线平滑的噪声参数,以恢复出使用户感觉较舒适的噪音。本发明实施例提供的噪声生成装置实施例结构如图5所示,包括初始值单元5100,用于根据预先获取的噪声参数,获取重建参数初始值;范围单元5200,用于根据所述重建参数初始值获取随机取值范围;重建单元5300,用于在所述随机取值范围内随机取值作为重建的噪声参数;合成单元5400,用于根据所述重建的噪声参数合成噪声。解码端利用随机序列发生器合成激励信号,该激励信号在重建噪声时,相当于SID帧相比普通语音帧缺少的内容,如固定码本、及自适应码本相关的参数等,解码端根据噪音的共性,利用随机序列发生器合成激励信号,用以重建噪声。合成单元5400利用激励信号及重建的噪声参数生成噪声的方法有两种第一种、合成单元5400将重建的噪声参数中的谱参数,转换为合成滤波器系数,对激励信号进行合成滤波,获得噪声信号,然后对合成的噪声信号用重建的噪声参数中的能量增益参数进行时域整形,进行后处理,即可输出为最终的重建噪声。第二种、合成单元5400利用重建的噪声参数中的能量增益参数及随机序列发生器合成激励信号,然后将重建的噪声参数中的谱参数,转换为合成滤波器系数,对激励信号进行合成滤波,获得噪声信号。其中,初始值单元5100包括第一初始值单元5101,用于在收到第一个静音插入描述帧时,取所述静音插入描述帧之前预定数目个帧的噪声参数的平均值作为重建参数初始值;第二初始值单元5102,用于在收到第一个静音插入描述帧之后,再次收到静音插入描述帧时、或为无音帧重建噪声参数时,取在最新收到的静音插入描述帧的前一帧重建的噪声参数作为所述重建参数初始值。范围单元5200包括增量单元5210,用于根据从静音插入描述帧中获取的噪声参数获取噪声参数增量;间隔获取单元5220,用于获取预测间隔长度;半径获取单元5230,根据所述预测间隔长度及所述噪声参数增量获取游动半径;中心获取单元,用于根据所述重建参数初始值及所述游动半径获取游动中心;运算单元5240,用于以所述游动中心为所述随机取值范围的中心,以所述游动半径为所述随机取值范围的半径,确定所述随机取值范围。其中增量单元5210包括第一增量单元5211,用于以从最近获取的静音插入描述帧中获取的噪声参数与所述重建参数初始值的差值作为所述噪声参数增量;或第二增量单元5212,用于以从最近获取的静音插入描述帧中获取的噪声参数与从前一帧静音插入描述帧中获取的噪声参数的差值作为所述噪声参数增量;或第三增量单元5213,用于以从最近获取的静音插入描述帧中获取的噪声参数与从前一帧静音插入描述帧中获取的噪声参数的差值,与所述重建参数初始值与最近获取的静音插入描述帧前一帧的重建噪声参数的差值的差值作为所述噪声参数增量。半径获取单元5230包括第一半径获取单元5231,用于以所述噪声参数增量、与两倍的所述预测间隔长度相除获得所述游动半径;或第二半径获取单元5232,用于根据所述噪声参数增量、所述预测间隔长度、当前帧与最新收到的静音插入描述帧的距离获得所述游动半径。间隔获取单元5220包括第一间隔获取单元5221,用于在收到第一个静音插入描述帧时,以预定值作为所述间隔长度;或、第二间隔获取单元5222,用于在收到第一个静音插入描述帧时,以系统设定的发送音插入描述帧间隔作为所述间隔长度。第三间隔获取单元5223,用于在收到第一个静音插入描述帧之后,再次收到静音插入描述帧时、或为无音帧重建噪声参数时,以所述最新收到的静音插入描述帧和前次收到的静音插入描述帧之间间隔长度为所述预测间隔长度。本发明实施例提供的噪声生成装置实施例的操作方法与上文所述本发明实施例提供的噪声生成方法实施例基本类似,在此不再重复描述。在本实施例中,对编码端使用的协议标准没有限制,无论编码端按照固定间隔发送SID帧,还是自适应间隔发送SID帧,都可以正常工作。且由于每次收到新的SID帧都会参考前一帧重建的噪声参数、及新收到的噪声参数,重建噪声参数,生成的噪声过渡比较自然,用户会有较好的听觉体验,同时也参考了实际噪音参数的影响,使用户可以分辨出大致的语音环境;进一步在处理无音帧时,根据无音帧与最近的SID帧之间的距离、最近的SID帧的噪声参数的变化方向、及最近的SID帧的噪声参数与重建参数初始值的差值,为该无音帧重建与前一帧相比变化微小的噪声参数,使得重建出的噪声参数变化曲线较为平滑,因此生成的噪声每帧之间的过渡也比较自然,会给用户带来较好的听觉体验。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上对本发明所提供的一种噪声生成装置、及方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。权利要求1、一种噪声生成方法,其特征在于,所述方法包括根据预先获取的噪声参数,获取重建参数初始值;根据所述重建参数初始值获取随机取值范围;在所述随机取值范围内随机取值作为重建的噪声参数;根据所述重建的噪声参数生成噪声。2、如权利要求1所述的噪声生成方法,其特征在于,在收到第一个静音插入描述帧时,获取所述重建参数初始值包括取所述第一个静音插入描述帧之前预定数目个帧的噪声参数的平均值或加权平均值作为所述重建参数初始值。3、如权利要求1或2所述的噪声生成方法,其特征在于,在收到第一个静音插入描述帧之后,再次收到静音插入描述帧时、或为无音帧重建噪声参数时,获取所述重建参数初始值包括取在最新收到的静音插入描述帧的前一帧重建的噪声参数作为所述重建参数初始值。4、如权利要求1所述的噪声生成方法,其特征在于,根据所述重建参数初始值获取随机取值范围包括根据从静音插入描述帧中获取的噪声参数获取噪声参数增量;获取预测间隔长度,根据预测间隔长度及所述噪声参数增量获取游动半径;根据所述重建参数初始值及所述游动半径获取游动中心;以所述游动中心为所述随机取值范围的中心,以所述游动半径为所述随机取值范围的半径,确定所述随机取值范围。5、如权利要求4所述的噪声生成方法,其特征在于,根据所述重建参数初始值及所述游动半径获取游动中心包括以所述重建参数初始值与两倍所述游动半径的和为所述游动中心。6、如权利要求4所述的噪声生成方法,其特征在于,所述根据从静音插入描述帧中获取的噪声参数获取噪声参数增量包括以从最近获取的静音插入描述帧中获取的噪声参数与所述重建参数初始值的差值作为所述噪声参数增量;或以从最近获取的静音插入描述帧中获取的噪声参数与从前一帧静音插入描述帧中获取的噪声参数的差值作为所述噪声参数增量;或以从最近获取的静音插入描述帧中获取的噪声参数与从前一帧静音插入描述帧中获取的噪声参数的差值,与所述重建参数初始值与最近获取的静音插入描述帧前一帧的重建噪声参数的差值的差值作为所述噪声参数增量。7、如权利要求4所述的噪声生成方法,其特征在于,所述根据预测间隔长度及所述噪声参数增量获取游动半径包括以为所述游动半径;或以为所述游动半径;其中,dP为所述噪声参数增量、length为所述预测间隔长度、k为当前帧与最新收到的静音插入描述帧的距离。8、如权利要求4所述的噪声生成方法,其特征在于,在收到第一个静音插入描述帧时,获取所述预测间隔长度包括以预定值作为所述预测间隔长度;以系统设定的发送音插入描述帧间隔作为所述预测间隔长度。9、如权利要求4或7所述的噪声生成方法,其特征在于,在收到第一个静音插入描述帧之后,再次收到静音插入描述帧时、或为无音帧重建噪声参数时,获取所述预测间隔长度包括以所述最新收到的静音插入描述帧和前次收到的静音插入描述帧之间间隔长度为所述预测间隔长度。10、一种噪声生成装置,其特征在于,所述装置包括初始值单元,用于根据预先获取的噪声参数,获取重建参数初始值;范围单元,用于根据所述重建参数初始值获取随机取值范围;重建单元,用于在所述随机取值范围内随机取值作为重建的噪声参数;合成单元,用于根据所述重建的噪声参数合成噪声。11、如权利要求10所述的噪声生成装置,其特征在于,所述初始值单元包括第一初始值单元,用于在收到第一个静音插入描述帧时,取所述静音插入描述帧之前预定数目个帧的噪声参数的平均值作为重建参数初始值。12、如权利要求10或11所述的噪声生成装置,其特征在于,所述初始值单元包括第二初始值单元,用于在收到第一个静音插入描述帧之后,再次收到静音插入描述帧时、或为无音帧重建噪声参数时,取在最新收到的静音插入描述帧的前一帧重建的噪声参数作为所述重建参数初始值。13、如权利要求10所述的噪声生成装置,其特征在于,所述范围单元包括增量单元,用于根据从静音插入描述帧中获取的噪声参数获取噪声参数增量;间隔获取单元,用于获取预测间隔长度;半径获取单元,根据所述预测间隔长度及所述噪声参数增量获取游动半径;中心获取单元,用于根据所述重建参数初始值及所述游动半径获取游动中心;运算单元,用于以所述游动中心为所述随机取值范围的中心,以所述游动半径为所述随机取值范围的半径,确定所述随机取值范围。14、如权利要求13所述的噪声生成装置,其特征在于,所述增量单元包括第一增量单元,用于以从最近获取的静音插入描述帧中获取的噪声参数与所述重建参数初始值的差值作为所述噪声参数增量;或第二增量单元,用于以从最近获取的静音插入描述帧中获取的噪声参数与从前一帧静音插入描述帧中获取的噪声参数的差值作为所述噪声参数增量;或第三增量单元,用于以从最近获取的静音插入描述帧中获取的噪声参数与从前一帧静音插入描述帧中获取的噪声参数的差值,与所述重建参数初始值与最近获取的静音插入描述帧前一帧的重建噪声参数的差值的差值作为所述噪声参数增量。15、如权利要求13所述的噪声生成装置,其特征在于,所述半径获取单元包括第一半径获取单元,用于以所述噪声参数增量、与两倍的所述预测间隔长度相除获得所述游动半径;或第二半径获取单元,用于根据所述噪声参数增量、所述预测间隔长度、当前帧与最新收到的静音插入描述帧的距离获得所述游动半径。16、如权利要求13所述的噪声生成装置,其特征在于,所述间隔获取单元包括第一间隔获取单元,用于在收到第一个静音插入描述帧时,以预定值作为所述间隔长度;或、第二间隔获取单元,用于在收到第一个静音插入描述帧时,以系统设定的发送音插入描述帧间隔作为所述间隔长度。17、如权利要求13或16所述的噪声生成装置,其特征在于,所述间隔获取单元包括第三间隔获取单元,用于在收到第一个静音插入描述帧之后,再次收到静音插入描述帧时、或为无音帧重建噪声参数时,以所述最新收到的静音插入描述帧和前次收到的静音插入描述帧之间间隔长度为所述预测间隔长度。全文摘要本发明公开了一种噪声生成方法,所述方法包括根据预先获取的噪声参数,获取重建参数初始值;根据所述重建参数初始值获取随机取值范围;在所述随机取值范围内随机取值作为重建的噪声参数;根据所述重建的噪声参数生成噪声。本发明还公开了一种噪声生成装置,所述装置包括初始值单元,用于根据预先获取的噪声参数,获取重建参数初始值;范围单元,用于根据所述重建参数初始值获取随机取值范围;重建单元,用于在所述随机取值范围内随机取值作为重建的噪声参数;合成单元,用于根据所述重建的噪声参数合成噪声。本发明可以适应多种标准协议,使解码端可以恢复出使用户感觉较舒适的噪音。文档编号G10L21/00GK101335003SQ200710151408公开日2008年12月31日申请日期2007年9月28日优先权日2007年9月28日发明者张德明,代金良申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1