具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
先介绍本发明实施例提供的预处理方法,图1描述了预处理方法实施例一的流程,包括:
101、获取当前帧信号的特性信息;
在接收了当前帧信号时,可以采用预置方式获取当前帧信号的特性信息,其中,特性信息可以是能量值、和/或周期因子参数等;
102、根据当前帧信号的特性信息以及预置信息确定当前帧信号是否不需要进行去除长时相关性的编码操作;如果是,进入103;如果否,进入104;
其中,去除长时相关性的编码操作可以是LTP操作等;
预置信息根据特性信息的不同而不同;例如特性信息为能量值时,预置信息可以是绝对能量阈值、和/或背景噪声的平均能量值等;特性信息为周期因子参数时,预置信息可以是周期因子阈值;
103、对当前帧信号进行去除短时相关性的编码操作;结束流程;
其中,去除短时相关性的编码操作可以是LPC操作等;
例如,在应用LPC预测与LTP操作对帧信号进行编码操作时,此时仅对当前帧信号进行LPC预测;在应用其他编码方式与LTP操作对帧信号进行编码操作时,则此时仅进行所述其他编码方式对当前帧信号进行编码操作。
以去除短时相关性的编码操作为LPC预测为例,对当前帧信号进行LPC预测后,会得到LPC残差信号和LPC参数,可以将LPC参数编码输出和LPC残差信号的编码输出作为当前帧信号的输出比特流;
104、对当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作;结束流程。
例如,在应用LPC预测与LTP操作对帧信号进行编码操作时,则对当前帧信号进行LPC预测和LTP操作;在应用其他编码方式与LTP操作对帧信号进行编码操作时,则此时进行所述其他编码方式和LTP操作对当前帧信号进行编码操作。
以应用LPC预测与LTP操作对帧信号进行编码操作为例,对当前帧信号进行LPC预测后,会得到LPC残差信号和LPC参数;根据当前帧信号和LPC残差信号进行LTP操作,得到LTP残差信号;根据LTP残差信号和LPC残差信号进行LTP判决,具体地,如果LTP残差信号的平均幅值小于LPC残差信号,则认为需要进行LTP操作,将LTPFlag置为1;反之,则认为不需要进行LTP操作,将LTPFlag置为0;再根据LTPFlag的值选择残差信号进行熵编码,在LTPFlag=1时对LTP残差进行熵编码输出,在LTPFlag=0时对LPC残差进行熵编码进行输出。
从上可知,本实施例可以在对当前帧信号进行去除长时相关性的编码操作前先确定当前帧是否不需要进行去除长时相关性的编码操作,从而在确定当前帧信号不需要进行去除长时相关性的编码操作时,仅对当前帧信号进行去除短时相关性的编码操作;只有在确定需要对当前帧信号进行去除长时相关性的编码操作时,才对当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作,从而仅对部分的输入帧信号进行去除长时相关性的编码操作,可以减少进行去除长时相关性的编码操作所带来的资源消耗,从而减小编码复杂度,提高编码效率。
图2描述了本发明实施例提供的预处理方法实施例二的流程,包括:
201、接收当前帧信号;
202、计算当前帧信号的能量值;
能量值可以是当前帧信号的直接能量值,也可以是定点能量归一化值,本实施例假设能量值为当前帧信号的直接能量值;
当前帧信号的直接能量值可以用对数能量值、平方和、绝对值来表示;其中,例如本发明实施例中,用平方和表示可以采用如下方式计算直接能量值:
或
其中N为当前帧信号的帧长,R(0)为当前帧信号的第一个自相关系数,
s(n)为当前帧信号,E1为帧能量值,E2为平均帧能量值。
用对数能量值可以采用如下方式计算直接能量值:
其中,E′1为直接帧能量值,E′2为平均帧能量值。
在使用32位定点实现时,可以在计算了当前帧信号的直接能量值后,使用norm=31-E′
1=31-log
2(E
1)计算前帧信号的定点能量归一化值,norm为定点能量归一化值;某些实施方式中,定点能量归一化值的获取可以灵活采用本技术领域人员经验范围内的其他和直接帧能量值进行加和运算的数值,如30,上述定点能量归一化值也可以使用
计算,这里
表示下取整,即
203、判断能量值是否小于绝对能量阈值;如果是,进入205;如果否,进入204;
绝对能量阈值是预先设置的,该值是经验值,根据不同的编码环境、不同的音频和语音等会有所不同,其中,绝对能量阈值可以通过选取一段典型静音段训练得到,也可以设为人耳的绝对听觉阈值;其中,绝对能量阈值的设置可以根据接收的帧信号的帧长进行设定,即绝对能量阈值的大小与接收的帧信号的帧长N对应;根据当前帧信号的能量值不同,绝对能量阈值的设置可以不同;
例如,在当前帧的能量值为直接能量值时,绝对能量阈值用E_thr表示,在N为160时,E_thr可以设置为16;在N为240时,E_thr可以设置为17;在N为320时,E_thr可以设置为18。如果直接能量值小于E_thr,进入205,否则进入204。
在另外一些实施方式中,也可以在当前帧的能量值为直接能量值时,绝对能量阈值用E_thr表示,在N为160时,E_thr可以设置为15;在N为240时,E_thr可以设置为16;在N为320时,E_thr可以设置为17。如果直接能量值小于E_thr,进入205,否则进入204。
在当前帧的能量值为定点能量归一化值时,绝对能量阈值用norm_thr表示,在N为160时,norm_thr可以设置为15;在N为240时,norm_thr可以设置为14;在N为320时,norm_thr可以设置为13。需要说明的是,在当前帧的能量值为定点能量归一化值norm时,如果norm大于norm_thr,则进入205,否则进入204。
204、确定当前帧信号需要进行去除长时相关性的编码操作,对当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作;结束流程;
该步骤可以参照104执行;
205、确定当前帧信号不需要进行去除长时相关性的编码操作,对当前帧信号进行去除短时相关性的编码操作;结束流程。
该步骤可以参照103执行;
可以理解的是,本实施例描述的是将能量值与绝对能量阈值进行比较来判断当前帧信号是否不需要进行去除长时相关性的编码操作,但是也可以在本实施例的基础上继续将能量值与背景噪声的平均能量值的差值与差值阈值进行比较,从而在能量值与背景噪声的平均能量值的差值小于差值阈值、且能量值小于绝对能量阈值的情况下才确定当前帧信号不需要进行去除长时相关性的编码操作;并且在本实施例确定当前帧信号不需要进行去除长时相关性的编码操作时,还可以在本实施例的基础上继续将当前帧信号的周期因子参数与绝对周期因子阈值进行比较,从而根据周期因子参数从本实施例确定不需要进行去除长时相关性的编码操作的当前帧信号中选出需要进行去除长时相关性的编码操作的帧信号,可以使判断更准确。
其中,周期因子参数的判断也可以换成判断当前帧信号的之前若干帧信号中是否有LTP帧。其中,之前若干帧的数量可以根据接收的帧信号的帧长进行设定,即之前若干帧的数量与当前帧信号的帧长对应。假设之前若干帧的数量为L,在帧长较小的时候,可以设置较大的L值,从而保证有足够长的前帧信息来判断当前帧的特性;进一步,L的设定还可以综合考虑判决性能和算法复杂度等因素。例如在本发明实施例的一种实现方式中,在N为160时,L可以设置为511;在N为240时,L可以设置为31;在N为320时,L可以设置为15。
从上可知,本实施例可以在对当前帧信号进行去除长时相关性的编码操作前先根据当前帧信号的能量值确定当前帧是否不需要进行去除长时相关性的编码操作,在确定当前帧信号不需要进行去除长时相关性的编码操作时,仅对当前帧信号进行去除短时相关性的编码操作;只有在确定需要对当前帧信号进行去除长时相关性的编码操作时,才对当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作,从而仅对部分的输入帧信号进行去除长时相关性的编码操作,可以减少进行去除长时相关性的编码操作所带来的资源消耗,从而减小编码复杂度,提高编码效率。
图3描述了本发明实施例提供的预处理方法实施例三的流程,包括:
301、接收当前帧信号;
302、计算当前帧信号的能量值;
参照202执行;
303、判断能量值与背景噪声的平均能量值的差值是否小于差值阈值;如果是,进入305;如果否,进入304;
其中,在当前帧信号为用于进行初始化背景噪声平均能量值的帧信号时,可以默认需要进行去除长时相关性的编码操作;在当前帧信号不是用于进行初始化背景噪声平均能量值的帧信号时,才采用本实施例提供的技术方案进行预处理;需要初始化的帧信号的数量可以根据接收的帧信号的帧长进行设定,即用于初始化背景噪声平均能量值的帧信号的数量与当前帧信号的帧长对应;由于背景噪声平均能量初始化需要一定时长的静音段,所以用于初始化背景噪声平均能量值的帧信号的数量可以设定较大的值,具体地,用于初始化背景噪声平均能量值的帧信号的数量的设定还可以综合考虑判决性能和算法复杂度等因素。假设用于初始化背景噪声平均能量值的帧信号的数量为P,在本发明实施例的一种实现方式中,在N为160时,P可以设置为8;在N为240时,P可以设置为4;在N为320时,P可以设置为4。
背景噪声的平均能量值与当前帧信号的之前帧的能量值相关,因此背景噪声的平均能量值根据当前帧信号的不同会有所不同,具体地:
背景噪声的平均能量值的初始值为前P帧信号的能量的平均值,此时的背景噪声的平均能量值可以采用如下方式计算:
其中E
i为前P帧信号的能量值,
为背景噪声的平均能量值;
本发明实施例为背景噪声设置了缓冲区,如果能量值与背景噪声的平均能量值的差值小于差值阈值,则将当前帧信号的能量值缓存到该缓冲区;在缓冲区存储了一定数量的帧信号的能量值后,使用缓冲区中的帧信号的能量值的平均值对背景噪声的平均能量值进行更新;由于缓冲区在初始化完成后(接收了P个帧信号后)才对帧信号的能量值进行缓存,因此缓冲区并没有缓存足够的帧信号的能量值,所以需要对帧信号进行初始化以及对背景噪声的平均能量值设置初始值;
每往缓冲区缓存一个帧信号的能量值,都将缓冲区的计数器的计数器值增加1;在计数器的计数器值为最大值时,则使用缓冲区缓存的帧信号的能量的平均值对背景噪声的平均能量值更新,并将缓冲区清空,计数器的计数器值置0,重新开始缓存。其中,计数器值的最大值的大小可以根据接收的帧信号的帧长进行设定,即计数器值的最大值的大小与当前帧信号的帧长对应;当然,在综合考虑了判决性能和算法复杂度等因素时,计数器值的最大值也可以设为定值,具体地,计数器值的最大值的设定还可以综合考虑判决性能和算法复杂度等因素。假设计数器值的最大值为k,在本发明实施例的一种实现方式中,在N为160时,k可以设置为4;在N为240时,k可以设置为4;在N为320时,k可以设置为4。
304、确定当前帧信号需要进行去除长时相关性的编码操作,对当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作;结束流程;
305、确定当前帧信号不需要进行去除长时相关性的编码操作,对当前帧信号进行去除短时相关性的编码操作;结束流程。
可以理解的是,本实施例描述的是将能量值与背景噪声的平均能量值的差值与差值阈值进行比较来判断当前帧信号是否不需要进行去除长时相关性的编码操作,但是也可以在本实施例的基础上继续将能量值与绝对能量阈值进行比较,从而在能量值与背景噪声的平均能量值的差值小于差值阈值、且能量值小于绝对能量阈值的情况下才确定当前帧信号不需要进行去除长时相关性的编码操作;并且在本实施例确定当前帧信号不需要进行去除长时相关性的编码操作时,还可以在本实施例的基础上继续将当前帧信号的周期因子参数与绝对周期因子阈值进行比较,从而根据周期因子参数从本实施例确定不需要进行去除长时相关性的编码操作的当前帧信号中选出需要进行去除长时相关性的编码操作的帧信号,从而使判断更准确。其中,周期因子参数的判断也可以换成判断当前帧信号的之前若干帧信号中是否有长时预测帧。
从上可知,本实施例可以在对当前帧信号进行去除长时相关性的编码操作前先根据当前帧信号的能量值确定当前帧是否不需要进行去除长时相关性的编码操作,在确定当前帧信号不需要进行去除长时相关性的编码操作时,仅对当前帧信号进行去除短时相关性的编码操作;只有在确定需要对当前帧信号进行去除长时相关性的编码操作时,才对当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作,从而仅对部分的输入帧信号进行去除长时相关性的编码操作,可以减少进行去除长时相关性的编码操作所带来的资源消耗,从而减小编码复杂度,提高编码效率。
图4描述了本发明实施例提供的预处理方法实施例四的流程,包括:
401、接收当前帧信号;
402、计算当前帧信号的周期因子参数;
周期因子参数可以是基音增益因子等可以表示周期性的参数;基音增益因子可以通过以下公式获得:
其中,T为基因周期,N为帧长,s(n)为帧信号;
403、判断周期因子参数是否大于绝对周期因子阈值;如果是,进入404;如果否,进入405;
绝对周期因子预先设置,可以根据经验设置;如果能量值大于绝对周期因子,则说明当前帧信号具有周期性,则当前帧信号需要进行去除长时相关性的编码操作;
404、确定当前帧信号需要进行去除长时相关性的编码操作,对当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作;结束流程;
405、确定当前帧信号不需要进行去除长时相关性的编码操作,对当前帧信号进行去除短时相关性的编码操作;结束流程。
可以理解的是,在本实施例的基础上可以继续将当前帧信号的能量值与背景噪声的平均能量值的差值与差值阈值进行比较、和/或将能量值与绝对能量阈值进行比较,可以使判断更准确。
从上可知,本实施例可以在对当前帧信号进行去除长时相关性的编码操作前先根据当前帧信号的周期因子参数确定当前帧是否不需要进行去除长时相关性的编码操作,在确定当前帧信号不需要进行去除长时相关性的编码操作时,仅对当前帧信号进行去除短时相关性的编码操作;只有在确定需要对当前帧信号进行去除长时相关性的编码操作时,才对当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作,从而仅对部分的输入帧信号进行去除长时相关性的编码操作,可以减少进行去除长时相关性的编码操作所带来的资源消耗,从而减小编码复杂度,提高编码效率。
进一步,如果本发明实施例提供的预处理方法实施例二至四确定了当前帧信号不需要进行去除长时相关性的编码操作时,为了使判断更准确,本发明实施例提供的预处理方法实施例二至四在确定当前帧信号不需要进行去除长时相关性的编码操作时,可以进一步包括如下步骤:
判断当前帧信号的之前若干帧信号是否有长时预测帧;如果当前帧信号的之前若干帧信号有长时预测帧,则重新确定当前帧信号需要进行去除长时相关性的编码操作;反之,确定当前帧信号不需要进行去除长时相关性的编码操作。其中,长时预测帧是指经过判决后需要进行去除长时相关性的编码操作的帧信号;由于相邻帧信号一般具有相似的特性,因此在临近的之前帧信号中有长时预测帧时,则当前帧信号很有可能也是长时预测帧,因此在判断当前帧信号的之前帧信号是否有长时预测帧的基础上确定当前帧信号是否需要进行去除长时相关性的编码操作,可以使判断更准确。
图5描述了本发明实施例提供的预处理方法实施例五的流程,包括:
501、接收当前帧信号;
502、计算当前帧信号的能量值;
参照202执行;
503、判断能量值与背景噪声的平均能量值的差值是否小于差值阈值;如果是,进入505;如果否,进入504;
参照303执行;
504、判断能量值是否小于绝对能量阈值;如果是,进入505;如果否,进入506;
参照203执行;
505、判断当前帧信号的之前若干帧信号是否有LTP帧;如果是,进入506;如果否,进入507;
其中,505也可以判断周期因子参数是否大于绝对周期因子阈值;
506、确定当前帧信号需要进行去除长时相关性的编码操作,对当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作;结束流程;
507、确定当前帧信号不需要进行去除长时相关性的编码操作,对当前帧信号进行去除短时相关性的编码操作;结束流程。
从上可知,本实施例可以在对当前帧信号进行去除长时相关性的编码操作前先根据当前帧信号的周期因子参数、能量值以及当前帧信号的之前若干帧信号是否为长时预测帧确定当前帧是否不需要进行去除长时相关性的编码操作,在确定当前帧信号不需要进行去除长时相关性的编码操作时,仅对当前帧信号进行去除短时相关性的编码操作;只有在确定需要对当前帧信号进行去除长时相关性的编码操作时,才对当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作,从而仅对部分的输入帧信号进行去除长时相关性的编码操作,可以减少进行去除长时相关性的编码操作所带来的资源消耗,从而减小编码复杂度,提高编码效率。
再介绍本发明实施例提供的预处理装置,图6描述了预处理装置实施例一的结构,包括:
接收单元601,用于接收当前帧信号;
确定单元602,用于确定接收单元601接收的当前帧信号是否不需要进行去除长时相关性的编码操作;
操作单元603,用于在确定单元602确定当前帧信号不需要进行去除长时相关性的编码操作时,对当前帧信号进行去除短时相关性的编码操作;在确定单元602确定当前帧信号需要进行去除长时相关性的编码操作时,对当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作。
从上可知,预处理装置的本实施例可以在对当前帧信号进行去除长时相关性的编码操作前先确定当前帧是否不需要进行去除长时相关性的编码操作,在确定当前帧信号不需要进行去除长时相关性的编码操作时,仅对当前帧信号进行去除短时相关性的编码操作;只有在确定需要对当前帧信号进行去除长时相关性的编码操作时,才对当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作,从而仅对部分的输入帧信号进行去除长时相关性的编码操作,可以减少进行去除长时相关性的编码操作所带来的资源消耗,从而减小编码复杂度,提高编码效率。
图7描述了本发明实施例提供的预处理装置实施例二的结构,包括:
接收单元701,用于接收当前帧信号;
确定单元702,用于确定接收单元701接收的当前帧信号是否不需要进行去除长时相关性的编码操作;
其中,接收单元702具体可以包括:计算单元7021,用于计算接收单元701接收的当前帧信号的能量值;判断单元7022,用于判断计算单元7021计算得到的能量值是否小于绝对能量阈值;处理单元7023,用于在在判断单元7022判断能量值小于绝对能量阈值时,确定当前帧信号不需要进行去除长时相关性的编码操作;在在判断单元7022判断能量值大于或等于绝对能量阈值时,确定当前帧信号需要进行去除长时相关性的编码操作。
操作单元703,用于在确定单元702(具体可以是处理单元7023)确定当前帧信号不需要进行去除长时相关性的编码操作时,对当前帧信号进行去除短时相关性的编码操作;在确定单元702(具体可以是处理单元7023)确定当前帧信号需要进行去除长时相关性的编码操作时,对当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作。
从上可知,预处理装置的本实施例可以在对当前帧信号进行去除长时相关性的编码操作前先根据当前帧信号的能量值确定当前帧是否不需要进行去除长时相关性的编码操作,在确定当前帧信号不需要进行去除长时相关性的编码操作时,仅对当前帧信号进行去除短时相关性的编码操作;只有在确定需要对当前帧信号进行去除长时相关性的编码操作时,才对当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作,从而仅对部分的输入帧信号进行去除长时相关性的编码操作,可以减少进行去除长时相关性的编码操作所带来的资源消耗,从而减小编码复杂度,提高编码效率。
进一步,本发明实施例提供的预处理装置实施例二所包括的判断单元7022还可以用于在处理单元7023确定当前帧信号不需要进行去除长时相关性的编码操作时,判断当前帧信号的之前若干帧信号是否有长时预测帧;此时,处理单元7023,还可以用于在判断单元7022判断当前帧信号的之前若干帧信号有长时预测帧时,确定当前帧信号需要进行去除长时相关性的编码操作;在判断单元7022判断当前帧信号的之前若干帧信号没有长时预测帧时,重新确定当前帧信号不需要进行去除长时相关性的编码操作;可以使判断更准确。
本发明实施例提供的预处理装置实施例三包括:
接收单元,用于接收当前帧信号;
确定单元,用于确定接收单元接收的当前帧信号是否不需要进行去除长时相关性的编码操作;
其中,接收单元具体可以包括:计算单元,用于计算接收单元接收的当前帧信号的能量值;判断单元,用于判断计算单元计算得到的能量值与背景噪声的平均能量值的差值是否小于差值阈值;处理单元,用于在判断单元判断能量值与背景噪声的平均能量值的差值小于差值阈值时,确定当前帧信号不需要进行去除长时相关性的编码操作;在判断单元判断能量值与背景噪声的平均能量值的差值大于或等于差值阈值时,确定当前帧信号需要进行去除长时相关性的编码操作。
操作单元,用于在确定单元(具体可以是处理单元)确定当前帧信号不需要进行去除长时相关性的编码操作时,对当前帧信号进行去除短时相关性的编码操作;在确定单元(具体可以是处理单元)确定当前帧信号需要进行去除长时相关性的编码操作时,对当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作。
从上可知,预处理装置的本实施例可以在对当前帧信号进行去除长时相关性的编码操作前先根据当前帧信号的能量值确定当前帧是否不需要进行去除长时相关性的编码操作,在确定当前帧信号不需要进行去除长时相关性的编码操作时,仅对当前帧信号进行去除短时相关性的编码操作;只有在确定需要对当前帧信号进行去除长时相关性的编码操作时,才对当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作,从而仅对部分的输入帧信号进行去除长时相关性的编码操作,可以减少进行去除长时相关性的编码操作所带来的资源消耗,从而减小编码复杂度,提高编码效率。
进一步,本发明实施例提供的预处理装置实施例三所包括的判断单元还可以用于在处理单元确定当前帧信号不需要进行去除长时相关性的编码操作时,判断当前帧信号的之前若干帧信号是否有长时预测帧;此时,处理单元,还可以用于在判断单元判断当前帧信号的之前若干帧信号有长时预测帧时,确定当前帧信号需要进行去除长时相关性的编码操作;在判断单元判断当前帧信号的之前若干帧信号没有长时预测帧时,重新确定当前帧信号不需要进行去除长时相关性的编码操作;可以使判断更准确。
本发明实施例提供的预处理装置实施例四包括:
接收单元,用于接收当前帧信号;
确定单元,用于确定接收单元接收的当前帧信号是否需要进行去除长时相关性的编码操作;
其中,接收单元具体可以包括:计算单元,用于计算接收单元接收的当前帧信号的周期因子参数;判断单元,用于判断计算单元计算得到的周期因子参数是否大于周期因子阈值;处理单元,用于在判断单元判断周期因子参数小于或等于周期因子阈值时,确定当前帧信号不需要进行去除长时相关性的编码操作;在判断单元判断周期因子参数大于周期因子阈值时,确定当前帧信号需要进行去除长时相关性的编码操作。
操作单元,用于在确定单元(具体可以是处理单元)确定当前帧信号不需要进行去除长时相关性的编码操作时,对当前帧信号进行去除短时相关性的编码操作;在确定单元(具体可以是处理单元)确定当前帧信号需要进行去除长时相关性的编码操作时,对当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作。
从上可知,预处理装置的本实施例可以在对当前帧信号进行去除长时相关性的编码操作前先根据当前帧信号的周期因子参数确定当前帧是否不需要进行去除长时相关性的编码操作,在确定当前帧信号不需要进行去除长时相关性的编码操作时,仅对当前帧信号进行去除短时相关性的编码操作;只有在确定需要对当前帧信号进行去除长时相关性的编码操作时,才对当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作,从而仅对部分的输入帧信号进行去除长时相关性的编码操作,可以减少进行去除长时相关性的编码操作所带来的资源消耗,从而减小编码复杂度,提高编码效率。
进一步,本发明实施例提供的预处理装置实施例四所包括的判断单元还可以用于在处理单元确定当前帧信号不需要进行去除长时相关性的编码操作时,判断当前帧信号的之前若干帧信号是否有长时预测帧;此时,处理单元,还可以用于在判断单元判断当前帧信号的之前若干帧信号有长时预测帧时,确定当前帧信号需要进行去除长时相关性的编码操作;在判断单元判断当前帧信号的之前若干帧信号没有长时预测帧时,重新确定当前帧信号不需要进行去除长时相关性的编码操作;可以使判断更准确。
本发明实施例还提供了编码设备,图8描述了编码设备实施例的结构,包括:
预处理装置801,用于获取当前帧信号的特性信息,根据当前帧信号的特性信息以及预置信息确定当前帧信号是否不需要进行去除长时相关性的编码操作,对不需要进行去除长时相关性的编码操作的当前帧信号进行去除短时相关性的编码操作,对需要进行去除长时相关性的编码操作的当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作;
具体地,本发明实施例提供的编码设备中的预处理装置801可以包括获取单元8011、确定单元8012和操作单元8013;其中:
获取单元8011,用于计算当前帧信号的能量值;确定单元8012,用于判断获取单元8011计算得到的能量值是否小于绝对能量阈值;操作单元8013,用于在确定单元8012判断能量值大于或等于绝对能量阈值时,对当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作;在确定单元判断能量值小绝对能量阈值时,对当前帧信号进行去除短时相关性的编码操作。或
获取单元8011,用于计算当前帧信号的能量值;确定单元8012,用于判断获取单元8011计算得到的能量值与背景噪声的平均能量值的差值是否小于差值阈值;操作单元8013,用于在确定单元8012判断能量值与背景噪声的平均能量值的差值大于或等于所述差值阈值时,对当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作;在确定单元8012判断能量值与背景噪声的平均能量值的差值小于所述差值阈值时,对当前帧信号进行去除短时相关性的编码操作。或
获取单元8011,用于计算当前帧信号的周期因子参数;确定单元8012,用于判断获取单元8011计算得到的周期因子参数是否大于周期因子阈值;操作单元8013,用于在确定单元8012判断周期因子参数大于周期因子阈值时,对当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作;在确定单元8012判断周期因子参数小于或等于周期因子阈值时,对当前帧信号进行去除短时相关性的编码操作。
熵编码装置802,采用预处理装置801进行的编码操作的结果对当前帧信号进行熵编码。
从上可知,编码设备的本实施例可以在对当前帧信号进行去除长时相关性的编码操作前先确定当前帧是否不需要进行去除长时相关性的编码操作,在确定当前帧信号不需要进行去除长时相关性的编码操作时,仅对当前帧信号进行去除短时相关性的编码操作;只有在确定需要对当前帧信号进行去除长时相关性的编码操作时,才对当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作,从而仅对部分的输入帧信号进行去除长时相关性的编码操作,可以减少进行去除长时相关性的编码操作所带来的资源消耗,从而减小编码复杂度,提高编码效率。
进一步,本发明实施例提供的编码装置中预处理装置801所包括的确定单元8012,还用于在操作单元8013对当前帧信号进行去除短时相关性的编码操作前,判断当前帧信号的之前若干帧信号是否有长时预测帧;此时,操作单元8013,仅用于在确定单元8012判断当前帧信号的之前若干帧信号没有长时预测帧时,才对当前帧信号进行去除短时相关性的编码操作;在确定单元8012判断当前帧信号的之前若干帧信号有长时预测帧时,对当前帧信号进行去除长时相关性的编码操作和去除短时相关性的编码操作。对当前帧信号的之前若干帧信号是否有长时预测帧进行判断,可以使判断更准确。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上对本发明实施例所提供的一种预处理方法、装置及编码设备进行了详细介绍,以上实施例的说明只是用于帮助理解本发明的方法及其思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。