一种多速率语音频编码的方法

文档序号:2837470阅读:319来源:国知局
专利名称:一种多速率语音频编码的方法
技术领域
本发明涉及编码技术,尤其是指一种多速率语音频编码的方法。
背景技术
在目前的多速率语音频编码中,当输入信号较符合音乐特性或码率较高
的情况下(例如,在AMR-WB+、 G.729.1和G.VBR中),多采用变换域编 码,即通过变换方法,例如,修正的离散余弦变换(MDCT)或快速傅立叶 (FFT)变换等,将时域信号变换到频域。而在对变换域编码的参数进行量 化时,则多采用格型矢量量化技术。图1为现有技术中格型矢量量化方法的 流程图。如图1所示, 一般来说,格型矢量量化包括如下所述的步骤
步骤101,对频域信号根据就近原则找到相应的格点。
即对输入频语矢量根据就近原则,具体来说,在8维的戈塞特(Gosset) 点阵(称为RE8格)或Z8格或Z16格等,中找到与其离得最近的格点Q;
步骤102,根据每个格点所对应的频谱能量的大小和总比特数,求取相应 格点的索引值。
其中,当G在基本码书中,索引值包括码书索引值^和相应码字索引值 A;当Ct不在基本码书中时,对Q要进行Voronoi扩展,此时索引值除了包括 码书索引值 和码字索引值A外,还包括扩展码书的索引^v。
步骤103,当比特数不足时,能量较小的频镨对应的格点的元素将全部被 强行置0。
步骤104,按照从低频到高频的顺序,将这些格点的索引值写进码流。 步骤105,在解码端,根据解码出的索引值从低频到高频顺序解码出量化 后的频谱序列。由信号的掩蔽效应可知,声强大的信号可以掩蔽掉其周围声强小的信号,
使得人的听觉系统感觉不到被掩蔽信号的存在;同时,人的听觉系统本身也具
有信号掩蔽的作用,即当信号声强小于一定的门限时,即使没有其它信号的掩 蔽,人的听觉系统也感觉不到该信号的存在,这种掩蔽称为绝对掩蔽。通过试
验检测可知,在0~200Hz的范围内,绝对掩蔽域值随着频率的增加而减小, 而在200 2000Hz的范围内,绝对掩蔽域值几乎不变。
在对输入信号的频谱进行格型矢量量化时,由于总比特数的限制,有些格 点的元素(例如,输入信号的频谱所对应的量化值)可能要被强制置0。此时, 如果把一些带有重要信息的频谱模块对应的格点强制置0,将会大大降低编码
质量,因此需要根据一个决定将哪些格点置成o,而保留哪些格点的准则。
在上述的编码方法中,由于在编码端将按照从低频到高频的顺序,即根据 频谱能量从大到小的顺序,将变换域编码的参数索引值写进码流。因此,当比
特数不足时,频谱能量相对较小的频谱对应的格点的元素将全部被强行置0。
因此,当比特数不足时,在解码端只能解码出部分码流,且因为编码端的变换 域编码的参数是按低频到高频顺序写在码流中的,所以此时只能恢复出少量的 低频信号,从而导致当码率升高时,输出的语音或音频信号质量也没有明显提 升。另外,当求取格点的索引值时,根据频谱能量的大小决定格点的重要性,
当比特数不够时,将频谱能量较小的格点的元素置成0;但频谱能量大的部分 不一定是重要的成分,这样的判决准则可能将一些重要成分对应的格点的元素 置成0,影响输出信号的质量。此外,根据掩蔽效应的原理可知,信号是否被 掩蔽不完全取决于频谱能量的大小,在一定程度上,还取决于掩蔽信号和被掩 蔽信号之间的差别,而在上述的编码方法中也没有考虑这种差别。

发明内容
有鉴于此,本发明实施例的主要目的在于提供一种多速率语音频编码的方 法,从而提高变换域编码中比特不足时输出语音(音频)信号的质量。 为达到上述目的,本发明实施例中的技术方案是这样实现的一种多速率语音频编码的方法,该方法包括
对于每个相邻的格点,计算感觉加权滤波器的频谱以及根据输入信号编码
再解码后的前两层的合成语音的频语的第一比值;根据所述的第一比值从大到 小的顺序,将所述第一比值相对应的格点的索引值编入码流。
综上可知,本发明的实施例中提供了一种多速率语音频编码的方法。通过 使用本实施例中的方法,可保证被掩蔽掉的可能性较小的信号所对应的引导项 不会被强制置为0,从而保证当比特数不足时,较重要的信息将被较精细地量 化并被优先编入码流,而不重要的信息将被粗略地量化。使得在解码端比特数 不够时,可以解码出较重要的信息,从而提高解码出的语音的质量。


图1为现有技术中格型矢量量化方法的流程图。
图2为本发明实施例中多速率语音频编码方法的流程图。
图3为本发明另一实施例中多速率语音频编码方法的流程图。
图4为本发明再一实施例中多速率语音频编码方法的流程图。
具体实施例方式
为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附 图及具体实施例对本发明再作进一步详细的说明。
图2为本发明实施例中多速率语音频编码方法的流程图。如图2所示, 本发明实施例中多速率语音频编码方法的流程包括如下所述的步骤 步骤201,编码端接收输入数据。
在本步骤中,可对输入频谱矢量根据就近原则,在RE8格中找到与其 离的最近的格点C,;将格点C,所对应的频语能力的大小和总比特数作为输 入数据,编码端接收所述的输入数据,对其进行如下的处理。
步骤202,对输入信号进行CELP编码。在CELP编码过程中,可将输入信号分两层(例如,L1层和L2层)分 别进4于编码。
步骤203,对所述进行CELP编码的信号进行解码。
步骤204,根据步骤203中的解码信号求解频谱。具体来说,即根据解 码信号求解出解码信号中的前两层的合成语音(音频)信号的频谱Fr叫一R2。
步骤205,计算原输入信号与步骤203中的解码信号的前两层的合成语 音(音频)信号的差值信号,并计算出该差值信号的MDCT系数(即频谱 Freq—err )。
步骤206,对步骤205中的MDCT系数进行操作(例如,取整操作)后, 可得到35个引导项。
步骤207,计算步骤204中的频谱Freq—R2与步骤205中的Freq—err的 比值/ G"o[A]。计算的公式如下所示
脑,=f F呵一/ 2K,丫 ( i )
S、 F, —7 2[/] J
其中,/=8*壯/, /t=0,l,2,…,34, /=0,1,2, ,..,7。
通过使用公式(2)进行计算,可得到一个由35个比值构成的数组 i a"o[&],数组中的每一个比值都唯一对应一个步骤206中的引导项。
步骤208,根据数组对引导项进行排序。
具体来说,即将WW/o[A:]分成两个区域,前n个比值为第一个区域,后 (35-n)个比值为另一个区域。首先对第一个区域按照比值从小到大的顺序 进行排序,对第二个区域按照比值从大到小的顺序进行排序;建立一个包括 35个元素的数组R[A],然后将与排序后的第二个区域中的(35-n)比值相对 应的格点的引导项的序号按照第二个区域中比值的排列顺序,分别存放在数 组R[A:]中相对应的前(35-n)个元素中;将与排序后的第 一个区域中的n比 值相对应的格点的引导项的序号按照第 一个区域中比值的排列顺序,分别存 放在数组R[&]中相对应的前n个元素中。其中,n可根据实际应用情况而预 先设定。在本实施例中,可以设11=4。步骤209,求解感觉加权滤波器的频谱W—Freq 。
所述的感觉加权滤波器//0)满足公式7/(z) = /lO/"/0-y^-')。其中,」 表示线性预测系数,z表示频域,-和K则表示加权因子, 一般情况下为常数。
步骤210,计算步骤204中的频镨Freq一R2与步骤209中的W—Freq的 比值尺a^:],计算的公式如下所示
<formula>formula see original document page 7</formula>
(2)
其中,/=8*壯/,风1,2,…,34, /=0,1,2, ..., 7。执行步骤213。
步骤211,判断总比特数是否足够。如果是,则直接执行步骤213;否
则,执行步骤212后再执行步骤213。
步骤212,根据总比特数的情况,将步骤208中的数组R阅中后m个元
素存放的引导项相对应的格点中所有元素置为0,相应的索引值也为0。其
中,可根据总比特数的多少,预先设定m的值。
步骤213,根据比值从大到小的顺序求解L3和L4层引导项的索引值。
执行步骤214。
步骤214,根据/ W[A:]值的从大到小的排列顺序,将相应的格点q的索 引值,顺序写进码流。即将Rat[k]值大(较重要的信号)的对应的格点的索 引值先写进码流,Rat[k]值小的对应的格点的索引值后写进码流。
由上可知,在本实施例中,采用公式(1 )所表示的判决准则更符合掩 蔽效应的原理根据掩蔽效应的原理,如果Fr叫—R2与Fr叫一err的差值越小, 则说明它们的频谱越接近,因此Freq—err被掩蔽掉的可能性越小;另外,在 上述差值相同的情况下,上述的差值与本地解码后的Freq_R2比值越大,则 Fr叫一err被掩蔽掉的可能性越小。因此,通过本实施例中的方法,可保证被 掩蔽掉的可能性较小的信号所对应的引导项不会被强制置为0,从而保证当 比特数不足时,较重要的信息将被较精细地量化并被优先编入码流,而不重要的信息将被粗略地量化。
此外,在本实施例中,是根据本地解码出的采用CELP编码的合成语音
(音频)的频谱Freq—R2和感觉加权滤波器的频语W—Fr叫的比值Rat,来 确定引导项索引值在码流中的顺序的,原因在于根据感觉加权滤波器的作 用,在输入信号频谱能量较大处分配较大的失真,而在频镨能量较小的处尽 量减少失真,从而对于采用CELP编码的信号,将会造成在Rat较大处量化 相对较粗糙,而这正是本实施例中的格型矢量量化的重点。所以,通过将 Rat较大的那些引导项的索引值放在码流的较前面的位置,而将Rat较小的 那些引导项的索引值放在码流的较后面的位置的方法,可使得在解码端比特 数不够时,可以解码出较重要的信息,从而提高解码出的语音的质量。
在本发明的另一个实施例中,还可通过一个定值来确定格型码书在码流 中的顺序。图3为本发明另一实施例中多速率语音频编码方法的流程图,如 图3所示,本实施例中多速率语音频编码方法包括如下所述的步骤
步骤301,求解R3和R4层的MDCT系数。此时,还需将所述MDCT 系数对应的35个频谱模块按频谱范围分成0 2kHz和2 7kHz两个部分。例 如,前10个频谱模块所对应的频谱范围为0 2kHz的,而后25个频谱模块 所对应的频谱范围为2 7kHz。
步骤302,求解频谱范围为2-7kHz的引导项。
步骤303,判断总比特数是否足够。如果是,则执行步骤306;否则, 执行步骤304;
步骤304,将频谱范围为2 7kHz的频镨能量较小的引导项的值置为0。 即将频谱范围为2 7kHz的引导项按照频谱能量从大到小的顺序进行排序, 将后n个频谱能量较小的引导项的值置为0。所述n可根据实际应用情况预 先进行设定。
步骤305,求解频谱范围为2 7kHz的值不为0的引导项的索引值,将 求解得到的索引值编入码流。执行步骤312。
步骤306,求解频谱范围为2 7kHz的引导项的索引值,将求解得到的索引值编入码流。
步骤307,求解频语范围为0~2kHz的引导项。
步骤308,判断总比特数是否足够。如果是,则执行步骤311;否则, 执行步骤309;
步骤309,将频镨范围为0 2kHz的频谱能量较小的引导项的值置为0。 即将频谱范围为0 2kHz的引导项按照频镨能量从大到小的顺序进行排序, 将后n个频语能量较小的引导项的值置为0。所述n可根据实际应用情况预 先进行设定。
步骤310,求解频谱范围为0 2kHz的值不为0的引导项的索引值,将 求解得到的索引值编入码流。执行步骤312。
步骤311,求解频谱范围为0 2kHz的引导项的索引值,将求解得到的 索引值编入码 流o
步骤312,结束编码。
通过上述的方法,可将2 7kHz的MDCT谱对应的引导项的索引值放在 码流的前面位置,而将0 2kHz的MDCT谱对应的引导项的索引值放在其后, 形成一个完整的码流。即,对35个频谱模块的能量排序时,可将后25个模 块(所对应的频率为2 7kHz)的能量按从大到小的顺序排序,将相应的引 导项的序号存放在一个数组中;然后再将前IO个频语模块(所对应的频率 为0 2kHz)的能量按照从大到小的顺序排序,再将相应的引导项的序号放 在前25个序号的后面的10个位置。
上述的排序方法,适用于低层用CELP编码,高层用变换编码的嵌入式多速 率语音编码算法中。在上述的方法中,选择2kHz作为分界点,是因为CELP编 码对于0 2kHz的低频信号的处理的效果很好;同时,由于高层处理的信号是原 始输入信号和本地解码出的低层信号的差值信号的频谱信号,所以在高层所需 处理的信号中,2kHz以上的频镨信号是更重要的信息。因此,在编码差值信号 的频谱时,应优先考虑编码2kHz以上的频谱信号,从而保证在解码端当比特数 不足时,可优先解码出2kHz以上的较重要的信息,而不是解码出较不重要低频的信息。
在上述的方法中,关于CELP编码部分的编码方法,与图2中所示的 CELp编码部分的编码方法相同。在此不再赘述。
此外,上述步骤301-312的方法,也可以与实施例一中的方法相结合, 从而更好的实现本发明的目的。
此外,图4为本发明再一实施例中多速率语音频编码方法的流程图。如 图4所示,通过本实施例中的方法,可实现
1 )根据实际编码器的要求,进行模式切换,决定是选择全局索引顺序 确定模式还是分块索引顺序确定模式。
2) 根据实际编码器的要求,进行索引排序的模式切换,决定是进行静 态模式的排序还是动态模式的排序。
3) 根据本地解码出的低层信号的频谱与原始输入信号和本地解码出的 低层信号的差值的频谱的差值,再和本地解码出的低层信号的频语做比值来 作为准则;
4) 在编解码端都可以得到的信噪比或者某个非O值来决定码流中格型 码书索引的顺序。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护 范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等, 均应包含在本发明的保护范围之内。
权利要求
1、一种多速率语音频编码的方法,其特征在于,该方法包括对于每个相邻的格点,计算感觉加权滤波器的频谱以及根据输入信号编码再解码后的前两层的合成语音的频谱的第一比值;根据所述的第一比值从大到小的顺序,将所述第一比值相对应的格点的索引值编入码流。
2、 根据权利要求1所述的方法,其特征在于,当总比特数不足时,将所述 比值相对应的4各点的索引值编入码流包括计算输入信号与根据输入信号编码再解码后的前两层的合成信号的差值的 频谙,计算所述差值的频谱与根据输入信号编码再解码后的前两层的合成语音 的频镨的第二比值,将与所述第二比值相对应的格点的索引值,根据第二比值 从大到小的顺序编入码流。
3、 根据权利要求1所述的方法,其特征在于,所述第一比值i a"o阅的计 算公式为<formula>formula see original document page 2</formula>。
4、 根据权利要求2所述的方法,其特征在于,所述第二比值AW[A:]的计算 公式为<formula>formula see original document page 2</formula>其中,/=8*壯/,卜0,1,2,…,34, /=0,1,2,...,7。
5、根据权利要求1所述的方法,其特征在于,所述方法还包括 将频谱信号按频谱范围分成第一部分和第二部分;求解第二部分的频谱信 号的引导项及其索引值,并将所述索引值编入码流。
全文摘要
本发明的实施例中公开了一种多速率语音频编码的方法,该方法包括对于每个相邻的格点,计算感觉加权滤波器的频谱以及根据输入信号编码再解码后的前两层的合成语音的频谱的第一比值;根据所述的第一比值从大到小的顺序,将所述第一比值相对应的格点的索引值编入码流。通过使用本实施例中的方法,可提高变换域编码中比特不足时输出语音或音频信号的质量。
文档编号G10L19/24GK101430879SQ200710169619
公开日2009年5月13日 申请日期2007年11月5日 优先权日2007年11月5日
发明者刘泽新, 玮 肖, 马付伟 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1