专利名称:分配子帧的方法和装置的制作方法
技术领域:
本发明涉及语音编码技术领域,具体而言是涉及一种分配子帧的方法和装置。
背景技术:
在对语音信号进行处理时,为降低编解码器处理的运算复杂度及处理时延, 一般会将语音信号进行分帧处理。在将信号进行分帧处理以后,由于语音信号 在一段时间内比较稳定,各参数变化緩慢,因此,在对信号进行短时预测时按 照帧长度进行处理即可满足量化精度等的要求。另外,由于人在发声时,声门 的振动具有一定的频率,这个振动的频率就是基音周期。当基音周期较小时, 如果选择的帧长过长,那么会导致一帧语音信号内有多个不同的基音周期存在, 这样计算得到的基音周期将不准确,因此,需要将一帧再平均分为多个子帧。
在某些无损或有损压缩领域,为了降低网络丢帧对声音质量的影响,要求
当前帧对上一帧没有依赖性,如G.711 LLC (LossLess Coding,无损压缩)中规 定不能利用过去历史緩沖区的数据来预测当前帧的信号,那么只能够利用当前 帧前面一部分的信号来预测当前帧后面一部分的信号。如果仍采用现有技术对 整帧信号进行平均分帧的方法进行处理,就会导致开始的若千个子帧只有^^艮少 一部分数据进行长时预测(Long Term Prediction, LTP)合成,如图1所示,对 8khz采样率,20ms的帧长,平均分为4个子帧,每个子帧40个样点,假设第 一子帧的基音周期为T
=34,那么对于第一子帧,其实际能够用LTP算法进行 合成的样点数只有40-34=6个样点,其前34个样点均作为后续子帧的历史緩冲 区对待。这样第一个子帧的增益相对后续子帧变化会比较大,导致其计算得到的增益与后续子帧有较大区别。从而不利于后续的处理。如果T
大于帧长长 度,如T
-60,则连第二子帧都会受到影响。
发明内容
本发明实施例提供了一种分配子帧的方法和装置,能够解决现有技术简单 平均分帧导致各子帧增益大小不一致的问题。
本发明实施例提供的一种分配子帧的方法,包括 获取信号的线性预测编码LPC预测阶数和基音周期;
根据所述LPC预测阶数和基音周期,去除不适用于长时预测LTP合成的样
点;
将所述剩余样点的信号分为若干子帧。
本发明实施例提提供的分配子帧的装置,包括
获取单元,用于获取信号的线性预测编码LPC预测阶数和基音周期;
样点去除单元,用于根据所述获取单元获取的LPC预测阶数和基音周期, 去除不适用于长时预测LTP合成的样点;
子帧划分单元,用于将所述样点去除单元去除后的所述剩余样点的信号分 为若干子帧。
由以上本发明实施例提供的技术方案可知,根据得到的LPC预测阶数和基 音周期,通过去除掉不适用于长时预测LTP合成的样点后,再将所述剩余样点 的信号分为若干子帧,能够保证划分后的每个子帧都可以使用较一致的样点进 行LTP合成,得到较一致的LTP增益,因此能够解决现有技术简单平均分配子 帧所导致各子帧增益大小不一致的问题,并可以降低运算复杂度,节省增益量 化的比特,而又不影响性能。
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所 需要使用的附图作简单地介绍,显而易见地,下面描迷中的附图仅仅是本发明 的一些实施例,对于本领域普通^支术人员来i井,在不^f十出创造性劳动性的前才是 下,还可以根据这些附图获得其他的附图。
图1为现有技术中平均分配子帧的方法示意图; 图2为本发明实施例提供的一种分配子帧的方法流程示意图; 图3为本发明实施例提供了一种分配子帧的方法流程示意图; 图4为图3所4是供的方法实施例的一种分配子帧的实例图; 图5为本发明实施例提供了另 一种分配子帧的方法流程示意图; 图6为图5所提供的方法实施例的一种分配子帧的实例图; 图7为图5所提供的方法实施例的另一种分配子帧的实例图; 图8为本发明实施例提供的再一种分配子帧的方法流程示意图; 图9为图8所提供的方法实施例的一种分配子帧的实例图; 图10为本发明实施例提供的一种分配子帧的装置结构示意图; 图11为本发明实施例提供的另一种分配子帧的装置结构示意图; 图12为本发明实施例提供的再一种分配子帧的装置结构示意图; 图13为本发明实施例提供的一种分配子帧的方法流程示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是 全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造 性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图2,本发明实施例4是供的一种分配子帧的方法,包括步骤21,获取信号的线性预测编码LPC预测阶数和基音周期; 步骤22,根据所述LPC预测阶数和基音周期,去除不适用于长时预测LTP 合成的样点;
步骤23,将所述剩余样点的信号分为若干子帧。
在基于线性预测编码(Linear Prediction Coding, LPC)中,LPC预测采用 的方式可以为固定方式,也可以为自适应的方式。固定方式就是预测阶数是一 个固定的整数(如4、 8、 12、 16等),可以根据经验和编码器特性选定;自适 应方式就是每个信号最终的预测阶数可能都不一样,这里用lpc—order表示最终 的LPC预测阶数。
例如,本实施例采用自适应方式确定LPC预测阶数的方法
(1) 对在线性空间的信号的样点,用最大预测阶数进行LPC分析,得到反 射系数(PARCORcoefficients) /p。r
, ......!》a^v-1], N为最大预测阶凄t;
(2) 计算不同阶数下,量化后的反射系数的比特数5J1], ......AW];
(3) 用不同的阶数进行LPC预测,得到预测的残差,对残差进行熵编码, 得到不同阶数下进行熵编码需要的比特数,……;
(4) 计算不同阶数需要的总比特数S^[1],……UW,其中
(5) 从Ul], ......UAH中找出最小的5,。力'],则j就是最优的阶数
lpc_order。
计算自适应预测阶数Ipc—order的方法4艮多,本发明实施例不限于上述方法。 由于LPC预测就是用过去的lpc_order个样点来预测当前样点的值,那么我 们可以知道对于每帧信号开始的lpcjrder个样点其预测精度逐渐提升(参与预 测的点数越来越多,预测的越来越精确)。对于第一个样点,前面没有其他样点,因此无法使用LPC预测,其预测值为0。对于第二个样点到第lpc一order个样点, LPC预测公式如下
对于lpc_order个样点后的其他样点,LPC预测7>式如下
<formula>formula see original document page 11</formula> ( 2 )
'-=1
不妨设每个信号为x(n),『O,l,...,L, L为信号长度(即样点数,如40、 80、 160、 240、 320等正整数),LPC预测残差信号为res(n),如下
ms(M) = (3)
由于前lpc—order个样点预测不够精确,那么经过lpc预测后得到的LPC预测残 差信号会较大。为了避免其影响长时预测LTP合成的性能,这些前0到lpc—order 个样点的全部或部分样点将有可能不适用于LTP合成,因此有必要去除。
本发明实施例中,获取的的基音周期可以为整个语音帧的基音周期TO, TO的获取可以通过计算相关函数获得。如,令下面公式取得最大值时的"为 TO:
<formula>formula see original document page 11</formula>
其中Ll为求解相关函数所用的样点数。
某些实施方式中,如果语音帧事前经过分帧处理,则获取的基音周期还可 以为经过分帧处理的语音帧的第 一子帧的基音周期。
由于只能够利用当前信号前面一部分的信号来预测当前帧后面一部分的信号,为了保证LTP合成时每个子帧的长度一致,因此还需要去除当前信号前面 的基音周期个样点。
本发明实施例提供的分配子帧的方法,根据上迷得到的LPC预测阶数和基 音周期,通过去除掉不适用于长时预测LTP合成的样点后,再将剩余样点的信 号分为若干子帧,能够保证划分后的每个子帧都可以使用较一致的样点进行LTP 合成,得到较一致的LTP增益,因此能够解决现有4支术简单平均分配子帧所导 致各子巾贞增益大小不一致的问题,并可以降低运算复杂度,节省增益量化的比 特,而又不影响性能。
参见图3, 一种分配子帧的方法实施例,该实施例中获取的信号以一帧信号 为例进行it明,该方法包^":
步骤31,获取信号帧的线性预测编码LPC预测阶数lpc—order和基音周期T0。
某些实施方式中,如果信号帧经过事先分帧,本步骤中也可以通过获取第 一子帧的基音周期来代替基音周期TO。为叙述方便,本实施例及后续实施例中, 在此步骤中都以T0为例进行说明。
步骤32,去除所述信号帧起始的前lpc_order个样点和接下来的TO个样点。 所述接下来是指紧邻前面lpc_order个样点的后面TO个样点,比如说,一 帧信号中有100个样点0-99, LPC预测阶数lpc—order=10,基音周期丁0=20,则 首先去除所述信号前lpc_order个样点0-9,然后再去除接下来的TO个样点 10-29。
步骤33,根据所述信号的长度确定要划分子帧的个数S。 冲艮据输入信号的长度将一帧信号划分为若干子帧,不同的信号长度分为不 同个数子帧。例如对于以8khz采样,可以将20ms的帧长分为2个子帧、30ms的帧长分为3个子帧、40ms的帧长分为4个子帧。分的子帧越多,因为每个子 帧的基音周期都要传到解码端,因此所用来编码基音周期花销的比特也越多, 因此为了使其在性能提升和运算复杂度等方面得到最好的折中,需要合理确定 要划分的子帧的个数。
某些实施方式中,也可以将20ms的帧长分为1个子帧、30ms的帧长分为2 个子帧、40ms的帧长分为3个子帧,即包含160个样点的一帧信号只包括1个 子帧、包含240个样点的一帧信号包括2个子帧、包含320个样点的一帧信号 包括3个子帧。
以下以20ms的帧长分为2个子帧为例进行说明。采用其他划分子帧个数的 方式进行的后续操作可以参照执行,也在本发明的保护范围之内。
步骤34,将所述信号剩余的样点与所述S相除后向下取整,得到前S-1个 子帧的每个子帧的长度。
即前S-1个子帧的每个子帧的长度=L(i-^c—。^er-:ro)/s」,L为帧长,[*」表
示向下取整,如|_1.2」=|_1.9」=1。
步骤35,将所述信号帧剩余的样点减去所述前S-1个子帧的总长度,得到 的差值为第S个子帧的长度。
参见图4,这里以8khz采样、20ms的帧长分为2个子帧进行描述,信号帧 长L=160个样点,获取到的信号帧的LPC预测阶数lpc—ordei^12个样点,基音 周期T0=35个样点,/人信号帧中去除起始的前lpc—order+ T0=12+35=47个样点 后,将剩余的L- (lpc_order+T0)=160-47=113个样点与2相除后向下取整得到第 一子帧是长度为56个样点,第二个子帧的长度也即最后一个子帧的长度为 113-56=57个样点。
本发明实施例提供的分配子帧的方法,根据上述得到的LPC预测阶数和基音周期,通过去除掉所述信号帧起始的前所述LPC预测阶数个样点和接下来的 所述基音周期个样点后,再将剩余样点的信号帧分为若干子帧,能够保证划分
后的每个子帧都可以使用较一致的样点进行LTP合成,得到较一致的LTP增益, 因此能够解决现有技术简单平均分配子帧所导致各子帧增益大小不一致的问 题,并可以降低运算复杂度,节省增益量化的比特,而又不影响性能。
参见图5,本发明实施例提供了另一种分配子帧的方法,该实施例中获取的 信号以一帧信号为例进行说明,该方法包括
步骤51,获取信号帧的线性预测编码LPC预测阶数lpc一order和基音周期TO。
步骤52,去除所述信号帧起始的前0到所述lpc—order - 1中任意整数个才羊 点和接下来的T0个样点。
步骤53,根据所述信号帧的长度确定要划分子帧的个数S。
步骤54,将所述信号帧剩余的样点与所述S相除后向下取整,得到前S-1 个子帧的每个子帧的长度。
步骤55,将所述信号帧剩余的样点减去所述前S-1个子帧的总长度,得到 的差值为第S个子帧的长度。
本发明实施例与上一个实施例不同之处在于,所述去除不适用于LTP合成 的样点包括只去掉信号帧起始的前lpc一order个样点中一部分样点和接下来的基 音周期个样点的影响。其他步骤相同,在此不再赘述。
根据上述分析知,由于前lpc—order个样点预测不够精确,但越靠后,预测 精度越高,有时候让精度较高的样点也加入LTP合成。为了能够使更多样点参 与到LTP合成中去,本实施例只需要去掉这前lpc—order个样点中的一部分,如 V个样点,V= O,l,...,lpc一order-l。 V的选取可以根据经验选取一个固定值(例如4、 5等),也可以通过计算得到,如V=lpc—order/2等。通过使更多的样点参与 LTP合成,有时可以取得比上一种方法更好的效果。
参见图6,这里仍以8khz采样、20ms的帧长分为2个子帧进行描述,信号 帧长L460个样点,获取到的信号帧的LPC预测阶数lpc—ordeFl2个样点,基 音周期T0=35个样点,从信号帧中去除起始的前lpc—order中部分个样点V,这 里取V^pc一order/2:6,及接下来的基音周期T0-35个样点后,将剩余的匸(>+ 丁0)=160-6-35=119个样点与2相除后向下取整得到第一子帧是长度为59个样点, 第二个子帧的长度也即最后一个子帧的长度为119-59=60个样点。
一种实施例,参见图7,仍以8khz采样、20ms的帧长分为2个子帧进行描 述,信号帧长L=160个样点,获取到的信号帧的LPC预测阶数lpc—order=12个 样点,基音周期T(N35个样点,从信号帧中仅去除起始的前基音周期丁0=35个 样点,使lpc—order个样点全部参与到LTP合成中,将剩余的L- T0=160-35=125 个样点与2相除后向下取整得到第一子帧是长度为62个样点,第二个子帧的长 度也即最后一个子帧的长度为125-62=63个样点。
本发明实施例提供的分配子帧的方法,根据上述得到的LPC预测阶数和基 音周期,通过去除掉所述信号帧起始的前所述LPC预测阶数中部分个样点(可 以是0到LPC预测阶数-1的任意整数个样点)和接下来的所述基音周期个样 点后,再将剩余样点的信号帧分为若干子帧,能够保证划分后的每个子帧都可 以使用较一致的样点进行LTP合成,得到较一致的LTP增益,因此能够解决现 有技术简单平均分配子帧所导致各子帧增益大小不一致的问题,并可以降低运
算复杂度,节省增益量化的比特,而又不影响性能。
由于在没有分帧之前,无法知道第一子帧的基音周期值T[O]。但是,由于 一帧信号内基音周期的变化不会太大,T
是一个在T0小范围内波动的值,如:r[o]e[ro-2,ro+2],所以,本发明以上实施例采用用整帧信号的基音周期TO
代替第一子帧的基音周期值T[O]的方式,去除不适用于LTP合成的样点,再将
剩余样点的信号帧分为若干子帧,并直接将分帧后的子帧长度作为最终的子帧 长度。
参见图8,本发明实施例还提供的一种分配子帧的方法,该实施例中获取的 信号以一帧信号为例进行说明,该方法包括
步骤81,获取信号帧的线性预测编码LPC预测阶数lpc—order和第一子帧的 基音周期T[O]。
本实施例中采用预分帧的方式获取第一子帧的基音周期T[O]。具体方法为 首先将整帧信号的基音周期TO作为第一子帧的基音周期进行分帧,得到第一 子帧的长度后,在所述信号帧的基音周期波动范围内进行搜索,确定第一子帧 的基音周期。
步骤82,去除所述信号帧起始的前0到lpc—order的任意整数个样点和接下 来的T
个样点。
步骤83,根据所述信号帧的长度确定要划分子帧的个数S。
步骤84,将所述信号帧剩余的样点与所述S相除后向下:f又整,得到前S-1 个子帧的每个子帧的长度。
需要说明的是,为了降低复杂度,这一步也可以省略,直接用之前计算好 的子帧长度进行后续的计算。
步骤85,将所述信号帧剩余的样点减去所述前S-1个子帧的总长度,得到 的差值为第S个子帧的长度。
参见图9,这里仍以8khz采样、20ms的帧长分为2个子帧进行描述,信号 帧长L-160个样点,获取到的信号帧的LPC预测阶数lpc—ordeFl2个样点,基音周期丁0=35个样点。首先进行预分帧,以10=35取代第一子帧的最佳基音周 期T[O],从信号帧中去除起始的前lpc—orderf T0=12+35=47个样点后,将剩余 的L- (lpc—order+T0)=l60-47=113个样点与2相除后向下取整得到第一子帧是长 度为56个样点,获取第一子帧是长度后,在TO波动范围内r[o]e[ro-2,ro+2]进 行搜索,确定第一子帧的最佳基音周期丁
=34个样点,再按照得到的第一子帧 的最佳基音周期T[O]重新进行子帧的划分去除前lpc—order+ T
=12+34=46个 样点后,将剩余的L- (lpc—order+ T
)=160-46=114个样点与2相除后向下取整 得到第一子帧是长度为57个样点,第二个子帧的长度也即最后一个子帧的长度 为114-57=57个样点。
本发明实施例提供的分配子帧的方法,首先进行预分帧获取预分帧的第一 子帧的基音周期,通过去除掉所述信号帧起始的前所述LPC预测阶数中全部或 部分个样点(可以是O到LPC预测阶数的任意整数个样点)和接下来的所述第 一子帧的基音周期个样点后,再将所述剩余样点的信号帧分为若干子帧,能够 保证划分后的每个子帧都可以使用较一致的样点进行LTP合成,得到较一致的 LTP增益,因此能够解决现有技术简单平均分配子帧所导致各子帧增益大小不 一致的问题,并可以降低运算复杂度,节省增益量化的比特,而又不影响性能。
参见图13,本发明实施例还提供一种分配子帧的方法,该实施例中获取的 信号以一帧信号为例进行说明,该方法包括
步骤141,获取信号的线性预测编码LPC预测阶数和基音周期TO;
步骤142,根据所述LPC预测阶数和基音周期TO,去除不适用于长时预测 LTP合成的样点;
步骤143,将剩余样点的信号分为若干子帧。
上述步骤141至步骤143也就是根据基音周期T0,进行自适应分帧,得到各个子帧的长度的过程,在前面实施例已有比较详细的描述,本处不再赘述。
步骤144,根据所述若干子帧中第一子帧的长度,对所述第一子帧进行基音 搜索,确定第一子帧基音周期T[O]。
本发明实施例中,在步骤143将剩余样点信号分为若干子帧,得到第一子 帧的长度后,在语音帧基音周期T0波动范围内,如r[o] e [ro -2,ro+2]进行搜索,
确定第一子帧的基音周期T[O]。
步骤145,根据LPC预测阶数、第一子帧基音周期和各个子帧的长度,重
新确定所述各个子帧的起始点和终止点。
本发明实施例中,当确定了第一子帧基音周期T[O]后,由于T
与T0的值 可能不同,所以重新去除不适用于长时预测LTP合成的样点后,第一子帧的起 始点可能会发生变化,需要调整第一子帧的起始点和终止点,同时由于各子帧 的长度仍然采用步骤143获得的各子帧长度,相应的第一子帧后续的各子帧的 起始点和终止点也需要重新确定。此时可能由于各子帧长度没有改变,而使各 子帧长度之和与信号剩余样点数不相等,但这并不影响本发明实施例效果的实 现。某些实施方式中,作为进一步的优化,也可以保持前S-1个子帧长度不变, 而将信号剩余的样点减去所述前S-l个子帧的总长度,得到的差值作为第S个子 帧的长度。
本发明实施例中,仍然采用步骤143获得的各子帧长度而不重新确定各子 帧的长度,可以降低运算的复杂度。
可以理解的,确定第一子帧基音周期T[O]后,重新去除不适用于长时预测 LTP合成的样点可以是去除所迷信号帧起始的前lpc—order个样点和接下来的 T
个样点,也可以是去除所述信号帧起始的前0到所述lpc—order-1中任意整 数个样点和接下来的T
个样点。步骤146,对第一子帧的后续各子帧进行基音搜索,得到所述后续各子帧的
基音周期。
某些实施方式中,可以对第一子帧的后续各子帧进行基音搜索,从而得到 所有子帧的基音周期,以便于去掉信号中的长时相关性,及便于解码端进行解
码。确定后续子帧基音周期的方法可以参考步骤144的方法,此处不再赘述。
需要说明的是,某些实施方式中,步骤146关于确定后续各子帧基音周期 的步骤也可以在步骤145之前执行,不影响本发明实施例目的的实现;在另夕卜 一些实施方式中,步骤146也可以与步骤144合并在一起,即在步骤144中对 各个子帧进行基音搜索,得到包括第一子帧基音周期t[o]在内的各个子帧的基 音周期。可见,本发明实施例不限定确定后续各子帧基音周期的执行时机,只 要能实现本发明目的的各种变形,均在本发明的保护范围之内。
步骤147,根据第一子帧基音周期t[o],重新进^f亍自适应分帧,得到各个子 帧长度。
某些实施方式中,为进一步使各子帧确定的更加合理,以得到更加一致的 ltp增益,使本发明实施例具有更优的技术效果,可以根据第一子帧基音周期 t[o],对语音帧进行二次分帧,重新得到各个子帧的长度。
对语音帧进行二次分帧的方法可以根据所述lpc预测阶数和所述第一子帧 基音周期t[o]重新去除不适用于ltp合成的样点,将重新得到的剩余样点的信 号分为若干子帧。
具体的,可以根据所述信号的长度确定要划分子帧的个数S;将重新得到的 所述信号剩余的样点与所述S相除后向下取整,得到前S-l个子帧的每个子帧 的长度,即前S-l个子帧的每个子帧的长度=L"-,])"」,l为帧长, L叫表示向下取整,如Ll.2」=Ll.9」=l;将重新得到的所述信号剩余的样点减去所述前S-l个子帧的总长度,得到的差值为第S个子帧的长度。
可以理解的,某些实施方式中,前述步骤146也可以在本步骤147之后执行。
本发明实施例提供的分配子帧的方法,首先通过分帧获得第一子帧的基音 周期,根据LPC预测阶数、第一子帧基音周期和各个子帧的长度,重新确定所 述各个子帧的起始点和终止点,可以使得到的各个子帧的LTP增益更加一致。
本发明实施例通过二次分帧,能够进一步保证划分后的每个子帧都可以使 用较一致的样点进行LTP合成,得到较一致的LTP增益,因此能够解决现有才支 术简单平均分配子帧所导致各子帧增益大小不一致的问题,并可以降低运算复 杂度,节省增益量化的比特,而又不影响性能。
本发明实施例通过对第一子帧的后续各子帧进行基音搜索,从而得到所有 子帧的基音周期,有利于去掉信号中的长时相关性,及便于解码端进行解码。
参见图10,本发明实施例还提供一种分配子帧的装置,包括
获取单元101,用于获取信号的线性预测编码LPC预测阶数和基音周期;
样点去除单元102,用于根据所述获取单元101获取的LPC预测阶数和基 音周期,去除不适用于长时预测LTP合成的样点;
子帧划分单元103,用于将所述样点去除单元102去除后的所述剩余样点的 信号分为若干子帧。
仍参见图10,其中所述子帧划分单元103包括
子帧数确定模块131,用于根据所述信号帧的长度确定要划分子帧的个数S;
子帧长度分配模块132,用于将所述样点去除单元102去除后的所述信号帧 剩余的样点与所述子帧数确定模块确定的S相除后向下取整,得到前S-l个子 帧的每个子帧的长度;尾子帧长度确定模块133,用于将所述信号帧剩余的样点减去所述前S-1个
子帧的总长度,得到的差值为第s个子帧的长度。
参见图ll,一种实施例,所述样点去除单元102采用第一样点去除模块121, 该第一样点去除模块121用于去除所述信号起始的前所述LPC预测阶数个样点 和所述基音周期个样点,然后由子帧划分单元102进行子帧的分配。
一种实施例,所述样点去除单元102采用第二样点去除模块122,该第二样 点去除模块122用于去除所述信号起始的前所述LPC预测阶数中部分个样点(0 到LPC预测阶数-1之间的任意整数个样点)和接下来的所述基音周期个样点, 然后由子帧划分单元102进行子帧长度的分配。
参见图12,再一种实施例,本发明实施例提供的分配子帧的装置还包括
首子帧基音周期确定单元120,用于根据所述子帧长度分配模块132得到的 第一子帧的长度,在所述信号的基音周期波动范围内进行搜索,确定第一子帧 的基音周期。
所述样点去除单元102采用第三样点去除模块123,该第三样点去除模块 123用于去除所述信号起始的前0到所述LPC预测阶数的任意整数个样点和接 下来的所述第一子帧的基音周期个样点,然后再由子帧划分单元102进行子帧 的分配。某些实施方式中,所述子帧划分单元102也用于才艮据各个子帧的长度, 重新确定所述各个子帧的起始点和终止点。
本发明实施例提供的分配子帧的装置,根据获取单元101得到的LPC预测 阶数和基音周期,通过样点去除单元102去除掉不适用于长时预测LTP合成的 样点后,再由子帧划分单元103将所述剩余样点的信号帧分为若千子帧,无论 样点去除单元102采用第一样点去除模块121、第二样点去除模块122还是第三 样点去除模块123,都能够保证划分后的每个子帧可以使用较一致的样点进行LTP合成,得到较一致的LTP增益,因此能够解决现有技术简单平均分配子帧 所导致各子帧增益大小不一致的问题,并可以降低运算复杂度,节省增益量化 的比特,而又不影响性能。
下面结合本发明实施例提供的分配子帧的装置对分配子帧的方法进行说
明
获取单元101获取信号的线性预测编码LPC预测阶数和基音周期T0。某些 实施方式中,如果信号帧经过事先分帧,也可以通过获取第一子帧的基音周期 来代替基音周期T0。为4又述方卩更,本实施例以TO为例进行说明。
样点去除单元102根据所述LPC预测阶数和基音周期T0,去除不适用于长 时预测LTP合成的样点。某些实施方式中,可以采用第一样点去除模块121去 除所述信号帧起始的前lpc—order个样点和接下来的TO个样点;另外一些实施 方式中,可以采用第二样点去除模块122去除所述信号帧起始的前0到所述 lpc_order- 1中任意整数个样点和接下来的TO个样点。
子帧划分单元103将剩余样点的信号分为若干子帧。具体可以为子帧数确 定模块131根据所述信号的长度确定要划分子帧的个数S,子帧长度分配模块 132将所述信号剩余的样点与所述S相除后向下取整,得到前S-1个子帧的每个 子帧的长度,尾子帧长度确定模块133将所述信号帧剩余的样点减去所述前S-l 个子帧的总长度,得到的差值为第S个子帧的长度。
进一步的,可以对语音帧进行二次分帧,首子帧基音周期确定单元120根 据所述若干子帧中第一子帧的长度,对所述第一子帧进行基音搜索,确定第一 子帧基音周期T[O]。
第三样点去除模块123去除所述信号起始的前所述LPC预测阶数个样点和 接下来的所述第一子帧的基音周期T[O]个样点,或者去除所述信号起始的前0到所述LPC预测阶数的任意整数个样点和接下来的所述第一子帧的基音周期个 样点。然后再由子帧划分单元102进行二次分帧。某些实施方式中,所述子帧 划分单元102也可以根据一次分帧确定的各个子帧的长度,重新确定所述各个 子帧的起始点和终止点。另外一些实施方式中,也可以是子帧划分单元102重 新确定所述各子帧的起始点和终止点,再对语音帧进行二次分帧。
需要说明的是,本发明实施例中的方法可以软件功能模块的形式实现,并 且该软件功能模块作为独立的产品销售或使用时,也可以存储在一个计算机可 读取存储介质中。上述提到的存储介质可以是只读存储器,石兹盘或光盘等。
本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个 单元单独物理存在,也可以两个或两个以上单元集成在一个冲莫块中。上述集成 的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所 述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用 时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是 只读存储器,磁盘或光盘等。
以上对本发明实施例所提供的分配子帧的方法和装置进行了详细介绍,实 施例的说明只是用于帮助理解本发明的方法及其思想;任何熟悉本技术领域的 技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本 发明的保护范围之内。
权利要求
1、一种分配子帧的方法,其特征在于,包括获取信号的线性预测编码LPC预测阶数和基音周期;根据所述LPC预测阶数和基音周期,去除不适用于长时预测LTP合成的样点;将剩余样点的信号分为若干子帧。
2、 根据权利要求1所述的方法,其特征在于,所述不适用于长时预测LTP 合成的样点包括所述信号起始的前所述LPC预测阶数个样点和所述基音周期个样点。
3、 根据权利要求1所述的方法,其特征在于,所述不适用于长时预测LTP 合成的样点包括所述信号起始的前0到所述LPC预测阶数-1的任意整数个样点和所述基 音周期个样点。
4、 根据权利要求2或3所述的方法,其特征在于,所述将所述剩余样点的 信号分为若干子帧包括根据所述信号的长度确定要划分子帧的个数S;将所述信号剩余的样点与所述S相除后向下取整,得到前S-l个子帧的每 个子帧的长度;将所述信号剩余的样点减去所述前S-l个子帧的总长度,得到的差值为第S 个子帧的长度。
5、 根据权利要求1所述的方法,其特征在于,所述将剩余样点的信号分为 若干子帧后,所述方法还包括根据所述若干子帧中第一子帧的长度,对所述第一子帧进行基音搜索,确 定第一子帧基音周期;根据所述LPC预测阶数、所述第一子帧基音周期和各个子帧的长度,重新 确定所述各个子帧的起始点和终止点。
6、 根据权利要求1所述的方法,其特征在于,所述将剩余样点的信号分为 若干子帧后,所述方法还包括根据所述若干子帧中第一子帧的长度,对所述第一子帧进行基音搜索,确定第一子帧基音周期;根据所述LPC预测阶数和所述第一子帧基音周期重新去除不适用于LTP合成的样点;将重新得到的剩余样点的信号分为若干子帧。
7、 根据权利要求5或6所述的方法,其特征在于,所述根据所述若干子帧 中第一子帧的长度,对所述第一子帧进行基音搜索,确定第一子帧基音周期后, 所述方法还包括对所述第一子帧的后续各子帧进行基音搜索,得到所述后续各子帧的基音 周期。
8、 一种分配子帧的方法,其特征在于,所述方法包括 获取信号的线性预测编码LPC预测阶数和基音周期;根据所述LPC预测阶数和基音周期,去除不适用于长时预测LTP合成的样占 将剩余样点的信号分为若干子帧;冲艮据第一子帧的长度,对所述第一子帧进行基音搜索,确定第一子帧基音 周期;根据所述LPC预测阶数、所述第一子帧基音周期和各个子帧的长度,重新 确定所述各个子帧的起始点和终止点。冲艮据所述LPC预测阶数和所述第一子帧基音周期重新去除不适用于LTP合 成的样点;将重新得到的剩余样点的信号分为若干子帧。
9、 根据权利要求8所述的方法,其特征在于,所述重新去除不适用于LTP 合成的样点包括去除所述信号起始的前所述LPC预测阶数个样点和所述第一子帧基音周期 个样点。
10、 根据权利要求8或9所述的方法,其特征在于,所述将重新得到的剩 余样点的信号分为若干子帧包括根据所述信号的长度确定要划分子帧的个数S;将重新得到的所述信号剩余的样点与所述S相除后向下取整,得到前S-l 个子帧的每个子帧的长度;将重新得到的所述信号剩余的样点减去所述前S-l个子帧的总长度,得到的 差值为第S个子帧的长度。
11、 一种分配子帧的装置,其特征在于,包括获取单元,用于获取信号的线性预测编码LPC预测阶数和基音周期; 样点去除单元,用于根据所述获取单元获取的LPC预测阶数和基音周期,去除不适用于长时预测LTP合成的样点;子帧划分单元,用于将所述样点去除单元去除后的所述剩余样点的信号分为若干子帧。
12、 根据权利要求11所述的装置,其特征在于,所述样点去除单元具体为 下述任意一个模块第一样点去除模块,用于去除所述信号起始的前所述LPC预测阶数个样点和所述基音周期个样点;或,第二样点去除模块,用于去除所述信号起始的前0到所述LPC预测阶数-1 的任意整数个样点和所述基音周期个样点。
13、 根据权利要求12所述的装置,其特征在于,所述子帧划分单元包括 子帧数确定模块,用于根据所述信号的长度确定要划分子帧的个数S; 子帧长度分配模块,用于将所述样点去除单元去除后的所述信号剩余的样点与所述子帧数确定模块确定的S相除后向下取整,得到前S-l个子帧的每个 子帧的长度;尾子帧长度确定模块,用于将所述信号剩余的样点减去所述前S-l个子帧的 总长度,得到的差值为第S个子帧的长度。
14、 根据权利要求11至13任一项所述的装置,其特征在于,所述装置还 包括首子帧基音周期确定单元,用于根据所述子帧长度分配模块得到的第一子 帧的长度,在所述信号的基音周期波动范围内进行搜索,确定第一子帧的基音 周期。
15、 根据权利要求14所述的装置,其特征在于,所述样点去除单元还具体为第三样点去除模块,用于去除所述信号起始的前0到所述LPC预测阶数的 任意整数个样点和所述第一子帧的基音周期个样点;且,所述子帧划分单元,具体用于才艮据各个子帧的长度,重新确定所述各个子 帧的起始点和终止点。
16、 根据权利要求14所述的装置,其特征在于,所述样点去除单元还具体第三样点去除模块,用于去除所述信号起始的前0到所述LPC预测阶数的 任意整数个样点和所述第一子帧的基音周期个样点;且,所述子帧划分单元,具体用于将所述第三样点去除才莫块去除后的所述剩余 样点的信号分为若干子帧。
全文摘要
本发明的实施例公开了一种分配子帧的方法和装置,能够解决现有技术简单平均分帧导致各子帧增益大小不一致的问题。本发明实施例提供的方法包括获取信号的线性预测编码LPC预测阶数和基音周期;根据所述LPC预测阶数和基音周期,去除不适用于长时预测LTP合成的样点;将所述剩余样点的信号分为若干子帧。本发明实施例提供的技术方案可用于多媒体语音编码领域。
文档编号G10L19/08GK101615394SQ20091015183
公开日2009年12月30日 申请日期2009年6月25日 优先权日2008年12月31日
发明者哈维·米希尔·塔迪, 清 张, 张德军, 李立雄, 磊 苗, 许剑峰, 马付伟, 齐峰岩 申请人:华为技术有限公司