具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
先介绍本发明实施例提供的高频带信号编码方法,图1描述了本发明一个实施例提供的高频带信号编码方法的流程,该实施例包括:
101、确定当前帧高频带信号的信号类型。如果当前帧高频带信号的信号类型为瞬态信号,进入102;如果当前帧高频带信号的信号类型为非瞬态信号,并且当前帧高频带信号的前一帧高频带信号的信号类型也为非瞬态信号,进入103;如果当前帧高频带信号的信号类型为非瞬态信号,并且当前帧高频带信号的前一帧高频带信号的信号类型为瞬态信号,进入104。
在本发明的一个实施例中,确定高频带信号中当前帧高频带信号的信号类型信息采用如下流程,将当前帧对应的全频带或高频带时域信号划分成至少2个子帧。
计算当前帧各子帧的能量信息或幅度信息。本发明的一个实施例中,当前子帧的能量信息或幅度信息采用如下方式计算:
其中,M为当前帧划划分成的子帧的数量,N为子帧长度。其中,在计算当前帧中子帧的能量信息或幅度信息时,保存当前帧所有子帧中能量信息或幅度信息最大的一个子帧的能量信息或幅度信息,即E
max=max(E(j))j=0,…M-1。
判断当前子帧的能量信息或幅度信息是否大于前一子帧的能量信息或幅度信息的第一数量倍,第一数量大于1。即判断是否E(j)>δ*E(j-1),其中,E(j)是当前子帧的能量信息或幅度信息,E(j-1)是前一子帧的能量信息或幅度信息,δ是大于1的预设值。其中,在当前子帧是当前帧的第一个子帧时,前一子帧为前一帧的最后一个子帧。
如果E(j)>δ*E(j-1),则确定当前帧高频带信号的信号类型为瞬态信号;否则,确定所述当前帧高频带信号的信号类型为非瞬态信号。如果当前帧任一子帧的能量信息或幅度信息都小于或等于该任一子帧的前一子帧的能量信息或幅度信息的第一数量倍,则确定当前帧高频带信号的信号类型为非瞬态信号。
其中,本发明的另一个实施例可以使用前一子帧与当前子帧的能量信息或幅度信息的加权和更新前一子帧的能量信息或幅度信息,即:E(j)=α*E(j-1)+β*E(j),α+β=1,从而在判断当前子帧的能量信息或幅度信息是否大于前一子帧的能量信息或幅度信息的第一数量倍时,使用的前一子帧的能量信息或幅度信息可以是加权和更新后的能量信息或幅度信息。
在本发明的另一个实施例中,在E(j)>δ*E(j-1)时,计算下一帧前半帧包括的子帧的能量信息或幅度信息;在当前帧中能量信息或幅度信息最大的子帧往后的所有子帧的能量信息或幅度信息,以及下一帧前半帧包括的子帧的能量信息或幅度信息中查找最小的能量信息或幅度信息。其中,在计算下一帧前半帧包括的子帧的能量信息或幅度信息时,可以只计算一个能量信息或幅度信息,也可以分别计算下一帧前半帧包括的所有子帧的能量信息或幅度信息。
再判断能量信息或幅度信息最大的子帧的能量信息或幅度信息是否大于或等于查找到的最小能量信息或幅度信息的第二数量倍,其中,第二数量大于1。即判断是否Emax≥ε*ELH,其中,ε为大于1的预设值。只有在E(j)>δ*E(j-1),且Emax≥ε*ELH时才确定当前帧高频带信号的信号类型为瞬态信号。
在本发明的另一个实施例中,在E(j)>δ*E(j-1)且Emax≥ε*LH时,进一步判断当前帧的谱倾斜是否小于或等于第一阈值;只有在当前帧的谱倾斜小于或等于第一阈值,E(j)>δ*E(j-1),且Emax≥ε*ELH时,才确定当前帧高频带信号的信号类型为瞬态信号。如果当前帧的谱倾斜大于第一阈值,则当前帧为摩擦音。其中,第一阈值可以是大于1的预设值。
在本发明的另一个实施例中,在E(j)>δ*E(j-1)时,进一步判断当前帧的谱倾斜是否小于或等于第一阈值;只有在当前帧的谱倾斜小于或等于第一阈值且E(j)>δ*E(j-1)时,才确定当前帧高频带信号的信号类型为瞬态信号。如果当前帧的谱倾斜大于第一阈值,则当前帧为摩擦音。其中,第一阈值可以是大于1的预设值。
在本发明的另一个实施例中,如果确定当前帧为非瞬态信号,可以进一步根据高频带信号的频谱系数每个子带的峰均比来判断当前帧是谐波信号、或类噪声信号、或普通信号。其中,谐波信号是指信号的频谱有较强的谐波成分的高频带信号,即频域信号中有一些频谱尖峰,一定子带内频域信号的峰均比较大。类噪声信号是指频域信号相对平坦,频谱能量变化缓慢,频谱没有谐波成分,并且一定子带内频域信号的峰均比较小的高频带信号;普通信号是指频谱有少许的谐波,但谐波强度较弱,峰均比处在一定的范围内(峰均比具体是在谐波信号和类噪声信号之间)的高频带信号。
其中,高频带频谱系数的峰均比可以采用如下方式计算:
其中,
为第j个子带内幅度最大的频谱系数,
为第j子带内所有频谱系数的幅度和,N为第j个子带内频谱系数的个数。
在本发明的另一个实施例中,可以通过高频带频谱系数的峰均比以及低频带信息将非瞬态信号分为谐波信号、类噪声信号及普通信号,其中,低频带信息可以是低频带的分类信息或从低频带提取的一些参数。
102、对当前帧高频带信号的时域包络、以及频域信息、以及信号类型信息进行量化及编码。结束流程。
其中,信号类型可以通过数字标识,例如用1标识为瞬态信号。
其中,在本发明的另一个实施例中,当前帧高频带信号(瞬态信号)的频域信息至少包括了当前帧高频带信号(瞬态信号)的全局能量信息或幅度信息,可以在对包括当前帧高频带信号(瞬态信号)的全局能量信息或幅度信息的当前帧高频带信号(瞬态信号)的频域信息进行量化及编码前,进一步对当前帧高频带信号(瞬态信号)的全局能量信息或幅度信息进行缩放。
其中,对全局能量信息或幅度信息进行缩放可以直接将全局能量信息或幅度信息乘以预设的经验值ε,ε大于0且小于1。可以用0<ε<1表示。
在本发明的另一个实施例中,当前帧高频带信号(瞬态信号)的频域信息至少包括了当前帧高频带信号(瞬态信号)的频域包络,可以在对包括当前帧高频带信号(瞬态信号)的频域包络的当前帧高频带信号(瞬态信号)的频域信息进行量化及编码前,进一步对当前帧高频带信号(瞬态信号)的频域包络进行缩放。其中,对频域包络进行缩放可以直接将频域包络乘以预设的经验值ε,ε大于0且小于1。
在本发明的另一个实施例中,对当前帧高频带信号(瞬态信号)的时域包络进行量化及编码前,可以进一步对当前帧高频带信号(瞬态信号)的时域包络进行如下处理:将当前帧高频带信号(瞬态信号)划分成至少2个子帧,计算各个子帧的时域包络;将各个子帧的时域包络中最大的时域包络增大为最大时域包络的β倍,将最大的时域包络所在子帧之前各子帧对应的时域包络减小为各子帧对应的时域包络的α倍;在最大的时域包络所在子帧之后各子帧的时域包络的平均值小于最大的时域包络的γ倍时,也将最大的时域包络所在子帧之后各子帧的时域包络减小为各子帧对应的时域包络的α倍,否则不对最大的时域包络所在子帧之后各子帧的时域包络进行处理。其中,β>1,0<α<1,0<γ<1。
对各个子帧的时域包络的处理可以用下式表示:
其中,β>1,0<α<1,0<γ<1,j=0,...N-1,idxtenv,max为最大时域包络子帧索引,avrafter,max为最大的时域包络所在子帧之后各子帧的时域包络的平均值。
103、对当前帧高频带信号的频域信息、以及信号类型信息进行量化及编码。结束流程。
其中,在本发明的另一个实施例中,在当前帧高频带信号的信号类型为非瞬态信号,并且当前帧高频带信号的前一帧高频带信号的信号类型也为非瞬态信号时,可以进一步确定当前帧高频带信号(非瞬态信号)对应的非瞬态信号的具体种类。例如,在本发明的一个实施例中,具体可以将当前帧高频带信号(非瞬态信号)对应的非瞬态信号的具体种类确定为谐波信号、或类噪声信号、或普通信号。
其中,非瞬态信号的具体种类可以通过数字标识,例如用2标识为谐波信号,3标识为类噪声信号,4标识为普通信号等。
104、对当前帧高频带信号的时域包络进行平滑及缩放处理,获得当前帧高频带信号需要进行编码的时域包络。
其中,对当前帧高频带信号的时域包络进行平滑处理和对当前帧高频带信号的时域包络进行缩放处理并没有执行上的先后顺序。在本发明的一个实施例中,先对当前帧高频带信号的时域包络进行平滑处理,再对经过平滑处理的当前帧高频带信号的时域包络进行缩放处理。在本发明的另一个实施例中,先对当前帧高频带信号的时域包络进行缩放处理,在对缩放处理后的当前帧高频带信号的时域包络进行平滑处理。
其中,对当前帧高频带信号的时域包络进行平滑处理具体可以是帧内平滑或帧间平滑处理。对当前帧时域包络进行帧间或帧内平滑处理,可以使得时域包络过度更平滑。
其中,时域包络trms(j)可以采用如下方式计算:
其中,S
H()为高频带时域信号,j=0,...N-1。
在本发明的一个实施例中,对当前帧高频带信号的时域包络进行缩放处理具体可以是将当前帧所有子帧的时域包络减少一定的倍数,即trms(j)=trms(j)*α,其中,0<α<1。
在本发明的另一个实施例中,对当前帧高频带信号的时域包络进行平滑及缩放处理后,可以进一步将前一帧高频带信号后半帧的时域包络以及进行过平滑及缩放处理的当前帧高频带信号前半帧的时域包络进行组合,用组合得到的时域包络作为当前帧高频带信号需要进行编码的时域包络。
105、对当前帧高频带信号需要进行编码的时域包络,以及当前帧高频带信号的频域信号和信号类型信息进行量化及编码,其中,在对当前帧高频带信号的信号类型信息进行量化及编码时,使用瞬态信号的信号类型信息。
其中,当前帧高频带信号的频域信号包括当前帧高频带信号的频域包络、和/或全局能量信息或幅度信息等信息。
在本发明的一个实施例中,具体可以根据高频带信号的频域系数计算当前帧高频带信号的频域包络、以及全局能量信息或幅度信息。
其中,信号类型信息可以通过数字标识,例如用1标识为瞬态信号。
在对当前帧高频带信号的信号类型信息进行量化及编码时,使用瞬态信号的信号类型信息可以确保解码端对当前帧高频带信号作为瞬态信号进行处理,从而确保解码端获得的当前帧高频带信号更接近原始信号,能够提升瞬态信号的性能。同时,仅在对当前帧高频带信号的信号类型信息进行量化及编码时使用瞬态信号的信号类型信息,从而不需要在编码端改变当前帧高频带信号的信号类型,从而确保得到准确的下一帧高频带信号的类型信息。
其中,在本发明的另一个实施例中,当前帧高频带信号(当前帧高频带信号为非瞬态信号,前一帧高频带信号为瞬态信号)的频域信息至少包括了当前帧高频带信号(当前帧高频带信号为非瞬态信号,前一帧高频带信号为瞬态信号)的全局能量信息或幅度信息,可以在对包括当前帧高频带信号(当前帧高频带信号为非瞬态信号,前一帧高频带信号为瞬态信号)的全局能量信息或幅度信息的当前帧高频带信号(当前帧高频带信号为非瞬态信号,前一帧高频带信号为瞬态信号)的频域信息进行量化及编码前,进一步对当前帧高频带信号(当前帧高频带信号为非瞬态信号,前一帧高频带信号为瞬态信号)的全局能量信息或幅度信息进行缩放。
在本发明的另一个实施例中,当前帧高频带信号(当前帧高频带信号为非瞬态信号,前一帧高频带信号为瞬态信号)的频域信息至少包括了当前帧高频带信号(当前帧高频带信号为非瞬态信号,前一帧高频带信号为瞬态信号)的频域包络,可以在对包括当前帧高频带信号(当前帧高频带信号为非瞬态信号,前一帧高频带信号为瞬态信号)的频域包络的当前帧高频带信号(当前帧高频带信号为非瞬态信号,前一帧高频带信号为瞬态信号)的频域信息进行量化及编码前,进一步对当前帧高频带信号(当前帧高频带信号为非瞬态信号,前一帧高频带信号为瞬态信号)的频域包络进行缩放。
从上可知,本实施例在当前帧高频带信号的信号类型为非瞬态信号,并且该非瞬态信号的前一帧的信号类型为瞬态信号时,将当前帧作为瞬态信号进行处理,从而提升了瞬态信号的性能。并且在本发明的另一个实施例中,可以用前一帧后半帧的时域包络与当前帧前半帧的时域包络组成当前帧需要进行编码的时域包络,从而使当前帧时域包络更接近瞬态信号,进一步提升瞬态信号的性能。进一步,在本发明的另一个实施例中,在当前子帧的能量信息或幅度信息大于前一子帧的能量信息或幅度信息的第一数量倍,且能量信息或幅度信息最大的子帧的能量信息或幅度信息大于或等于查找到的最小能量信息或幅度信息的第二数量倍时,才确定当前帧高频带信号的信号类型为瞬态信号,从而确保确定的瞬态信号的准确度。在本发明的另一个实施例中,当前子帧的能量信息或幅度信息大于前一子帧的能量信息或幅度信息的第一数量倍,且能量信息或幅度信息最大的子帧的能量信息或幅度信息大于或等于查找到的最小能量信息或幅度信息的第二数量倍,且当前帧的谱倾斜小于或等于第一阈值时,才确定当前帧高频带信号的信号类型为瞬态信号,从而进一步确保确定的瞬态信号的准确度。进一步,在本发明的另一个实施例中,可以在当前帧为瞬态信号时,对当前帧高频带信号的全局能量信息或幅度信息进行缩放,从而减小瞬态信号的预回声或后回声,从而进一步提升瞬态信号的性能。
图2描述了本发明另一个实施例提供的高频带信号编码方法的流程,该实施例包括:
201、将当前帧对应的全频带或高频带时域信号划分成至少2个子帧。
202、计算当前帧各子帧的能量信息或幅度信息。
本发明的一个实施例中,当前子帧的能量信息或幅度信息采用如下方式计算:
其中,M为当前帧划划分成的子帧的数量,N为子帧长度。其中,在计算当前帧中子帧的能量信息或幅度信息时,保存当前帧所有子帧中能量信息或幅度信息最大的一个子帧的能量信息或幅度信息,即E
max=max(E(j))j=0,…M-1。
203、判断当前子帧的能量信息或幅度信息大于前一子帧的能量信息或幅度信息的第一数量倍,第一数量大于1;如果是,进入206;如果否,进入204。
即判断是否E(j)>δ*E(j-1),其中,E(j)是当前子帧的能量信息或幅度信息,E(j-1)是前一子帧的能量信息或幅度信息,δ是大于1的预设值。
其中,当前子帧可以是当前帧各子帧中的任一子帧。
204、确定当前帧高频带信号的信号类型为非瞬态信号。
205、对当前帧高频带信号的频域信息、以及信号类型信息进行量化及编码。结束流程。
206、计算下一帧前半帧包括的子帧的能量信息或幅度信息。
207、在当前帧中能量信息或幅度信息最大的子帧往后的所有子帧的能量信息或幅度信息,以及下一帧前半帧包括的子帧的能量信息或幅度信息中查找最小的能量信息或幅度信息。
208、判断能量信息或幅度信息最大的子帧的能量信息或幅度信息是否大于或等于查找到的最小的能量信息或幅度信息的第二数量倍,第二数量大于1。如果是,进入209;如果否,进入204。
即在E(j)>δ*E(j-1)时,进一步判断能量信息或幅度信息最大的子帧的能量信息或幅度信息是否大于或等于查找到的最小的能量信息或幅度信息的第二数量倍,其中,第二数量大于1。即判断是否Emax≥ε*ELH,其中,ε为大于1的预设值。因此只有在E(j)>δ*E(j-1),且Emax≥ε*ELH时才确定当前帧高频带信号的信号类型为瞬态信号。
在本发明的另一个实施例中,208也可以是判断当前帧的谱倾斜是否小于或等于第一阈值,如果是,进入209,此时可以不执行步骤206和207;如果否,进入204。
209、确定当前帧高频带信号的信号类型为瞬态信号。
210、对当前帧高频带信号的时域包络、以及频域信息、以及信号类型信息进行量化及编码。
从上可知,本实施例在当前子帧的能量信息或幅度信息大于前一子帧的能量信息或幅度信息的第一数量倍,且能量信息或幅度信息最大的子帧的能量信息或幅度信息大于或等于查找到的最小能量信息或幅度信息的第二数量倍时,才确定当前帧高频带信号的信号类型为瞬态信号,从而确保确定的瞬态信号的准确度。
图3描述了本发明另一个实施例提供的高频带信号编码方法的流程,该实施例包括:
301、将当前帧对应的全频带或高频带时域信号划分成至少2个子帧。
302、计算当前帧各子帧的能量信息或幅度信息。
303、判断当前子帧的能量信息或幅度信息大于前一子帧的能量信息或幅度信息的第一数量倍,第一数量大于1;如果是,进入306;如果否,进入304。
304、确定当前帧高频带信号的信号类型为非瞬态信号。
305、对当前帧高频带信号的频域信息、以及信号类型信息进行量化及编码。结束流程。
306、计算下一帧前半帧包括的子帧的能量信息或幅度信息。
307、在当前帧中能量信息或幅度信息最大的子帧往后的所有子帧的能量信息或幅度信息,以及下一帧前半帧包括的子帧的能量信息或幅度信息中查找最小的能量信息或幅度信息。
308、判断能量信息或幅度信息最大的子帧的能量信息或幅度信息是否大于或等于查找到的最小的能量信息或幅度信息的第二数量倍,第二数量大于1。如果是,进入309;如果否,进入304。
309、判断当前帧的谱倾斜是否小于或等于第一阈值;如果是,进入310;如果否,进入304。
在E(j)>δ*E(j-1),且Emax≥ε*ELH时,进一步判断当前帧的谱倾斜是否小于或等于第一阈值;只有在当前帧的谱倾斜小于或等于第一阈值,E(j)>δ*E(j-1),且Emax≥ε*ELH时,才确定当前帧高频带信号的信号类型为瞬态信号。如果当前帧的谱倾斜大于第一阈值,则当前帧为摩擦音。其中,第一阈值可以是大于1的预设值。
其中,在本发明的另一个实施例中,也可以先进行309的判断,在判断当前帧的谱倾斜小于或等于第一阈值时,再进行308的判断,从而在判断能量信息或幅度信息最大的子帧的能量信息或幅度信息大于或等于最小的能量信息或幅度信息的第二数量倍时,才进入310,即才确定当前帧高频带信号的信号类型为瞬态信号。
310、确定当前帧高频带信号的信号类型为瞬态信号。
311、对当前帧高频带信号的时域包络、以及频域信息、以及信号类型信息进行量化及编码。
从上可知,本实施例在当前子帧的能量信息或幅度信息大于前一子帧的能量信息或幅度信息的第一数量倍,且能量信息或幅度信息最大的子帧的能量信息或幅度信息大于或等于查找到的最小能量信息或幅度信息的第二数量倍,且当前帧的谱倾斜小于或等于第一阈值时,才确定当前帧高频带信号的信号类型为瞬态信号,从而进一步确保确定的瞬态信号的准确度,进一步减少了编码端处理的瞬态信号的数量,进一步提高了编码处理效率。
如下再介绍本发明实施例提供的高频带信号解码方法,图4描述了本发明一个实施例提供的高频带信号解码方法的流程,该实施例包括:
401、解码获得当前帧高频带信号的信号类型信息及频域信息。
在当前帧高频带信号的信号类型为瞬态信号时,由于编码时对频域包络信息和时域包络信息都进行了编码,因此解码还可以获得当前帧高频带信号的时域包络。
其中,解码还可以获得低频带信号的相关信息,低频带信号的解码过程可以采用现有技术,不再赘述。
402、获得当前帧高频带信号的激励信号。
其中,激励信号可以根据不同的高频带信号类型从低频带不同频段的频域信号中预测,也可以通过随机噪声生成。
403、根据当前帧高频带信号的信号类型及低频带信号信息确定归一化长度。
具体地,瞬态信号和非瞬态信号的归一化长度可以不同。非瞬态信号的各种具体的非瞬态信号类型之间的归一化长度也可以不同。
在本发明的一个实施例中,归一化长度可以通过低频带的频谱平坦度信息以及高频带信号类型进行计算获得,低频带的频谱平坦度信息可以是低频带频谱系数每个子带的峰均比、或低频带时域信号的相关性、或过零率等信息。本发明一个实施例提供的计算过程如下(该实施例中低频带的频谱平坦度信息为低频带频谱系数每个子带的峰均比,在低频带的频谱平坦度信息为低频带时域信号的相关性、或过零率等信息时的处理过程类似,不再赘述):
对解码的低频带信号做时频变换,求得低频带的频谱系数;
将低频带频谱系数划分成M个子带,求解低频带频谱系数每个子带的峰均比,且初始化子带数n band=0。其中,子带的峰均比用下式计算:
其中
N为每个子带内的频谱系数,j=0,...M-1。
对当前子带,如果sharp(j)>a1且Asharp(j)>a2,则子带个数n_band加1,a1和a2是给定的预设值。
然后根据求得的子带数n_band和高频带本身的信号类型,采用下式确定归一化长度:
因此,在本发明的一个实施例中,当前帧高频带信号的信号类型为谐波信号时的归一化长度大于当前帧高频带信号的信号类型为普通信号时的归一化长度,当前帧高频带信号的信号类型为普通信号时的归一化长度大于当前帧高频带信号的信号类型为类噪声信号时的归一化长度。
在本发明的另一个实施例中,在本发明的另一个实施例中,可以预先设计好不同信号类型的归一化长度的数据表,在需要对某个信号类型的高频带激励信号进行归一化处理时,直接从数据表中提取需要的归一化长度。其中,本发明的一个实施例在设计归一化长度时,可以将归一化长度设计成在对普通信号的频域包络的进行修正时,修正程度从低频到高频逐渐减小。
404、根据确定的归一化长度对高频带激励信号进行归一化处理获得归一化激励信号。
405、使用解码获得的频域信息对归一化激励信号进行修正,获得高频带频域信号。
在本发明的另一个实施例中,为了使解码得到的高频带信号与原始的高频带信号更接近,在获得高频带频域信号后进一步进行如下处理:
对高频带频域信号进行帧间平滑处理。
其中,帧间平滑处理时使用的加权因子由当前帧高频带信号的全局能量信息或幅度信息以及前一帧的全局能量信息或幅度信息确定,其中,在对当前帧进行平滑处理时使用的当前帧高频带频域信号的加权因子与其前一帧高频带频域信号或下一帧高频带频域信号的加权因子的和为1。
例如,本发明的一个实施例中,前一帧进行帧间平滑处理时使用的加权因子根据下式确定:
Epre<α*Ecur
Epre>β*Ecur
weight=ε,其它
其中,Epre为前一帧的全局能量或幅度,Ecur为当前帧高频带信号的全局能量或幅度,0<α<1,β>1,0<ε<1。
帧间平滑处理公式可以为:
F[i]=weight*prey_F[i]+(1-weight)*F[i];
其中,F[i]为当前帧频域参数,可以为频域包络,也可以为频谱系数的幅度等,prey_F[i]为前一帧的频域参数。
在本发明的另一个实施例中,还可以进一步对高频带频域信号进行帧内平滑处理。本发明的一个实施例使用下式对对高频带频域信号进行帧内平滑处理:
其中,M为第i个子带内元素的个数,N为子带的个数,i为第i个子带,j为第i个子带中的第j个元素,spec[]为高频带归一化激励信号。
406、输出使用当前帧高频带频域信号获得的输出信号。
在本发明的一个实施例中,输出使用当前帧高频带频域信号获得的输出信号具体可以包括:对高频带频域信号进行频时变换,获得高频带时域信号,输出高频带时域信号。其中,如果对高频带频域信号进行了帧间平滑处理和/或帧内平滑处理,则是对进行过帧间平滑处理和/或帧内平滑处理的高频带频域信号进行频时变换。
在本发明的另一个实施例中,输出使用当前帧高频带频域信号获得的输出信号具体可以包括:将高频带频域信号和低频带频域信号组合在一起得到全频带频域信号,然后对全频带频域信号做频时变换,获得全频带时域信号,进而输出全频带时域信号。
从上可知,本实施例在对高频带信号的高频带激励信号进行归一化时,可以针对非瞬态信号的不同类型采用不同的归一化长度,从而使得恢复出的高频带信号的激励信号和原始高频带信号更接近,提升了输出信号的性能。并且,在本发明的另一个实施例中,在对高频带频域信号进行帧间平滑处理时,可以根据当前帧高频带信号的全局能量信息或幅度信息以及前一帧的全局能量信息或幅度信息确定帧间平滑处理时使用的加权因子,从而使恢复出的高频带信号的频域信号帧间更连续,而且不产生后回声,进一步提升输出信号的性能。
图5描述了本发明一个实施例提供的高频带信号解码方法的流程,该实施例包括:
501、解码获得当前帧高频带信号的信号类型信息及频域信息,在当前帧高频带信号的信号类型为瞬态信号时还可以解码获得时域包络。其中,频域信息可以包括当前帧高频带信号的频域包络、或全局能量信息、或幅度信息、或频域包络和全局能量信息、或频域包络和全局幅度信息。如果解码获得的当前帧高频带信号的信号类型为瞬态信号,进入502;如果解码获得的当前帧高频带信号的信号类型为普通信号,进入504。
502、对当前帧高频带信号的频域信息包括的全局能量信息或幅度信息进行缩放。
在本发明的另一个实施例中,也可以对当前帧高频带信号的频域信息包括的频域包络进行缩放。
在本发明的另一个实施例中,也可以对当前帧高频带信号的频域信息包括的频域包络以及全局能量信息或幅度信息都进行缩放。
503、使用时域包络、以及包括缩放后的全局能量信息或幅度信息的频域信息进行恢复高频带信号。结束流程。
本发明的另一个实施例中,恢复高频带信号具体可以包括如下处理:根据低频带频域信号预测高频带激励信号,然后将预测的高频带激励信号做归一化处理,归一化长度可以与403中类噪声信号的归一化长度相同。将解码得到的频域包络
和缩放后的全局能量或幅度信息
修正归一化激励信号,得到高频带频域信号;对高频带频域信号做频时变换,得到高频带时域信号,再根据解码得到的时域包络
进一步修正高频带时域信号。
504、获得当前帧高频带信号的激励信号;根据当前帧高频带信号的信号类型及低频带信号信息确定归一化长度,根据归一化长度对高频带激励信号进行归一化处理获得归一化激励信号。
505、判断当前帧高频带信号的当前子带的频域包络与相邻子带的频域包络的差值的绝对值是否大于两者中数值较大的频域包络的第三数量倍,第三数量大于0且小于1。如果是,进入506;如果否,进入507。
506、缩放当前子带的频域包络和相邻子带的频域包络中较小的频域包络。
在本发明的另一个实施例中,可以对非瞬态信号中的普通信号的频域包络
进行如下处理:当连续两个频域包络的差值的绝对值大于ε倍的较大的频谱包络时,将较小的频域包络减小为该较小的频域包络的α倍,使较小的频域包络更小,0<α<1,0<ε<1。具体可以用下式表示:
且
且
其中,0<α<1,0<ε<1。
507、使用当前帧高频带信号的频域包络以及全局能量信息或幅度信息对归一化激励信号进行修正,获得高频带频域信号。
其中,如果当前帧高频带信号的当前子带的频域包络与相邻子带的频域包络的差值的绝对值大于两者中数值较大的频域包络的第三数量倍,则使用的频域包络是包括缩放了当前子带的频域包络和相邻子带的频域包络中较小的频域包络的当前帧高频带信号的频域包络,否则是没有缩放过的频域包络。
508、输出使用当前帧高频带频域信号获得的输出信号。
从上可知,本实施例可以在当前帧为瞬态信号时,对当前帧高频带信号的全局能量信息或幅度信息进行缩放后再进行处理,从而减小瞬态信号的预回声或后回声,可以进一步提升瞬态信号的性能。并且,在普通信号的频域包络与前一帧高频带信号或下一帧高频带信号的频域包络的差值的绝对值大于前一帧高频带信号或下一帧高频带信号的频域包络的第三数量倍的情况下,可以进一步减小普通信号的较小的频域包络,从而减小恢复的普通信号的高频带信号的噪声,可以进一步提升非瞬态信号的性能。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
再介绍本发明实施例提供的高频带信号编码装置,图6描述了本发明一个实施例提供的高频带信号编码装置的结构,该实施例包括:
确定单元601,用于确定当前帧高频带信号的信号类型。
编码处理单元602,用于在确定单元601确定当前帧高频带信号的信号类型为非瞬态信号,但是当前帧高频带信号的前一帧高频带信号的信号类型为瞬态信号时,对当前帧高频带信号的时域包络进行平滑及缩放处理,获得当前帧高频带信号需要进行编码的时域包络;对当前帧高频带信号需要进行编码的时域包络,以及当前帧高频带信号的频域信号和信号类型信息进行量化及编码,其中,在对当前帧高频带信号的信号类型信息进行量化及编码时,使用瞬态信号的信号类型信息;
在本发明的另一个实施例中,编码处理单元602,还可以用于在确定单元601确定当前帧高频带信号的信号类型为瞬态信号时,对当前帧高频带信号的时域包络、以及频域信息、以及信号类型信息进行量化及编码。
在本发明的另一个实施例中,编码处理单元602,还可以用于在确定单元601确定当前帧高频带信号的信号类型为非瞬态信号,但是当前帧高频带信号的前一帧高频带信号的信号类型也为非瞬态信号时,对当前帧高频带信号的频域信息、以及信号类型信息进行量化及编码。
在本发明的另一个实施例中,编码处理单元602,还可以用于在对当前帧高频带信号的时域包络进行平滑及缩放处理后,将前一帧高频带信号后半帧的时域包络以及当前帧高频带信号进行过平滑及缩放处理的前半帧的时域包络组成当前帧高频带信号需要进行编码的时域包络。
在本发明的另一个实施例中,频域信息包括当前帧高频带信号的全局能量信息或幅度信息,此时编码处理单元602,还用于在确定单元601确定当前帧高频带信号的信号类型为瞬态信号时,对当前帧高频带信号的全局能量信息或幅度信息进行缩放,进而对进行缩放处理后的当前帧高频带信号的全局能量信息或幅度信息进行量化及编码。
从上可知,本实施例在当前帧高频带信号的信号类型为非瞬态信号,并且该非瞬态信号的前一帧的信号类型为瞬态信号时,将当前帧作为瞬态信号进行处理,并且可以用前一帧后半帧的时域包络与当前帧前半帧的时域包络组成当前帧需要进行编码的时域包络,从而使当前帧时域包络更接近瞬态信号,从而提升了瞬态信号的性能。在本发明的另一个实施例中,在当前帧为瞬态信号时,可以对当前帧高频带信号的全局能量信息或幅度信息进行缩放,从而减小瞬态信号的预回声和后回声,从而进一步提升瞬态信号的性能。
图7描述了本发明另一个实施例提供的高频带信号编码装置的结构,该实施例包括:
确定单元701,用于确定当前帧高频带信号的信号类型。
如图7所示,确定单元701具体可以包括:划分单元7011,用于将当前帧高频带信号对应的全频带或高频带时域信号划分成至少2个子帧;计算处理单元7012,用于计算划分单元7011获得的当前帧高频带信号各子帧的能量信息或幅度信息;判断单元7013,用于判断计算处理单元7012计算获得的当前子帧的能量信息或幅度信息是否大于前一子帧的能量信息或幅度信息的第一数量倍,第一数量大于1;类型确定单元7014,用于在判断单元7013判断当前子帧的能量信息或幅度信息大于前一子帧的能量信息或幅度信息的第一数量倍时,确定当前帧高频带信号的信号类型为瞬态信号;在判断单元7013判断当前帧高频带信号任一子帧的能量信息或幅度信息都小于或等于该任一子帧的前一子帧的能量信息或幅度信息的第一数量倍时,确定当前帧高频带信号的信号类型为非瞬态信号。
在本发明的另一个实施例中,计算处理单元7012,还可以用于在判断当前子帧的能量信息或幅度信息大于前一子帧的能量信息或幅度信息的第一数量倍当前子帧的能量信息或幅度信息是当前帧所有子帧中最大的能量信息或幅度信息时,计算下一帧前半帧包括的子帧的能量信息或幅度信息;在当前帧高频带信号中能量信息或幅度信息最大的子帧往后的所有子帧的能量信息或幅度信息,以及下一帧前半帧包括的子帧的能量信息或幅度信息中查找最小的能量信息或幅度信息;判断单元7013,还用于判断能量信息或幅度信息最大的子帧的能量信息或幅度信息是否大于或等于计算处理单元7012查找到的最小的能量信息或幅度信息的第二数量倍,第二数量大于1。此时,类型确定单元7014,用于在判断单元7013判断当前子帧的能量信息或幅度信息大于前一子帧的能量信息或幅度信息的第一数量倍,且能量信息或幅度信息最大的子帧的能量信息或幅度信息大于或等于计算处理单元7012查找到的最小的能量信息或幅度信息的第二数量倍时,才确定当前帧高频带信号的信号类型为瞬态信号。
在本发明的另一个实施例中,判断单元7013,还用于在判断当前子帧的能量信息或幅度信息大于前一子帧的能量信息或幅度信息的第一数量倍,且能量信息或幅度信息最大的子帧的能量信息或幅度信息大于或等于计算处理单元7012查找到的最小的能量信息或幅度信息的第二数量倍时,判断当前帧高频带信号的谱倾斜是否小于或等于第一阈值。此时,类型确定单元7014,用于在判断单元7013判断当前子帧的能量信息或幅度信息大于前一子帧的能量信息或幅度信息的第一数量倍,且能量信息或幅度信息最大的子帧的能量信息或幅度信息大于或等于计算处理单元7012查找到的最小的能量信息或幅度信息的第二数量倍,且当前帧高频带信号的谱倾斜小于或等于第一阈值时,才确定当前帧高频带信号的信号类型为瞬态信号。
在本发明另一个实施例中,判断单元7013,还用于在判断当前子帧的能量信息或幅度信息大于前一子帧的能量信息或幅度信息的第一数量倍时,判断当前帧高频带信号的谱倾斜是否小于或等于第一阈值。此时,类型确定单元7014,用于在判断单元7013判断当前子帧的能量信息或幅度信息大于前一子帧的能量信息或幅度信息的第一数量倍,且当前帧高频带信号的谱倾斜小于或等于第一阈值时,才确定当前帧高频带信号的信号类型为瞬态信号。
在本发明的另一个实施例中,确定单元701还可以用于在确定当前帧高频带信号的信号类型为非瞬态信号时,确定当前帧高频带信号的信号类型为谐波信号、或类噪声信号、或普通信号。
编码处理单元702,用于在确定单元701确定当前帧高频带信号的信号类型为瞬态信号时,对当前帧高频带信号的时域包络、以及频域信息、以及信号类型信息进行量化及编码;
在确定单元701确定当前帧高频带信号的信号类型为非瞬态信号,但是当前帧高频带信号的前一帧高频带信号的信号类型为瞬态信号时,对当前帧高频带信号的时域包络进行平滑及缩放处理,获得当前帧高频带信号需要进行编码的时域包络;对当前帧高频带信号需要进行编码的时域包络,以及当前帧高频带信号的频域信号和信号类型信息进行量化及编码,其中,在对当前帧高频带信号的信号类型信息进行量化及编码时,使用瞬态信号的信号类型信息;
在确定单元701确定当前帧高频带信号的信号类型为非瞬态信号,但是当前帧高频带信号的前一帧高频带信号的信号类型也为非瞬态信号时,对当前帧高频带信号的频域信息、以及信号类型信息进行量化及编码。
在本发明的另一个实施例中,编码处理单元702,还可以用于在对当前帧高频带信号的时域包络进行平滑及缩放处理后,将前一帧高频带信号后半帧的时域包络以及当前帧高频带信号进行过平滑及缩放处理的前半帧的时域包络组成当前帧高频带信号需要进行编码的时域包络。
从上可知,本实施例在当前帧高频带信号的信号类型为非瞬态信号,并且该非瞬态信号的前一帧的信号类型为瞬态信号时,将当前帧作为瞬态信号进行处理,从而提升了瞬态信号的性能。并且,在本发明的另一个实施例中,可以用前一帧后半帧的时域包络与当前帧前半帧的时域包络组成当前帧需要进行编码的时域包络,从而使当前帧时域包络更接近瞬态信号,进一步提升瞬态信号的性能。进一步,在本发明的另一个实施例中,在当前子帧的能量信息或幅度信息大于前一子帧的能量信息或幅度信息的第一数量倍,且能量信息或幅度信息最大的子帧的能量信息或幅度信息大于或等于查找到的最小能量信息或幅度信息的第二数量倍时,才确定当前帧高频带信号的信号类型为瞬态信号,从而确保确定的瞬态信号的准确度,减少了编码端处理的瞬态信号的数量,提高了编码处理效率。在本发明的另一个实施例中,当前子帧的能量信息或幅度信息大于前一子帧的能量信息或幅度信息的第一数量倍,且能量信息或幅度信息最大的子帧的能量信息或幅度信息大于或等于查找到的最小能量信息或幅度信息的第二数量倍,且当前帧高频带信号的谱倾斜小于或等于第一阈值时,才确定当前帧高频带信号的信号类型为瞬态信号,从而进一步确保确定的瞬态信号的准确度,进一步减少了编码端处理的瞬态信号的数量,进一步提高了编码处理效率。
图8描述了本发明另一个实施例提供的高频带信号编码装置的结构,该实施例包括:
划分单元801,用于将当前帧对应的全频带或高频带时域信号划分成至少2个子帧。
计算处理单元802,用于计算划分单元801划分成的当前帧包括的子帧的能量信息或幅度信息。在判断单元803判断当前子帧的能量信息或幅度信息大于前一子帧的能量信息或幅度信息的第一数量倍时,计算下一帧前半帧包括的子帧的能量信息或幅度信息;在当前帧中能量信息或幅度信息最大的子帧往后的所有子帧的能量信息或幅度信息,以及下一帧前半帧包括的子帧的能量信息或幅度信息中查找最小的能量信息或幅度信息。
判断单元803,用于判断计算处理单元802计算获得的当前子帧的能量信息或幅度信息大于前一子帧的能量信息或幅度信息的第一数量倍;判断能量信息或幅度信息最大的子帧的能量信息或幅度信息是否大于或等于计算处理单元802查找到的最小的能量信息或幅度信息的第二数量倍,第二数量大于1;所述第一数量大于1。
确定单元804,用于在判断单元803判断能量信息或幅度信息最大的子帧的能量信息或幅度信息大于或等于计算处理单元802查找到的最小的能量信息或幅度信息的第二数量倍时,确定当前帧高频带信号的信号类型为瞬态信号。
编码处理单元805,用于在确定单元804确定当前帧高频带信号为瞬态信号时,对当前帧高频带信号的时域包络、以及频域信息、以及信号类型信息进行量化及编码。
其中,在本发明的另一个实施例中,判断单元803,还可以用于在判断能量信息或幅度信息最大的子帧的能量信息或幅度信息大于或等于计算处理单元802查找到的最小的能量信息或幅度信息的第二数量倍时,判断当前帧的谱倾斜是否小于或等于第一阈值。此时,确定单元804,仅用于在判断单元803判断当前帧的谱倾斜小于或等于第一阈值时,才确定当前帧高频带信号的信号类型为瞬态信号。
从上可知,本实施例在当前子帧的能量信息或幅度信息大于前一子帧的能量信息或幅度信息的第一数量倍,且能量信息或幅度信息最大的子帧的能量信息或幅度信息大于或等于查找到的最小能量信息或幅度信息的第二数量倍时,才确定当前帧高频带信号的信号类型为瞬态信号,从而确保确定的瞬态信号的准确度,减少了编码端处理的瞬态信号的数量,提高了编码处理效率。进一步,在本发明的另一个实施例中,仅在当前子帧的能量信息或幅度信息大于前一子帧的能量信息或幅度信息的第一数量倍,且能量信息或幅度信息最大的子帧的能量信息或幅度信息大于或等于查找到的最小能量信息或幅度信息的第二数量倍,且当前帧的谱倾斜小于或等于第一阈值时,才确定当前帧高频带信号的信号类型为瞬态信号,从而进一步确保确定的瞬态信号的准确度,进一步减少了编码端处理的瞬态信号的数量,进一步提高了编码处理效率。
图9描述了本发明另一个实施例提供的高频带信号编码装置的结构,该实施例包括:
划分单元901,用于将当前帧对应的全频带或高频带时域信号划分成至少2个子帧。
计算处理单元902,用于计算划分单元901划分成的当前子帧的能量信息或幅度信息。
判断单元903,用于判断计算处理单元902计算获得的当前子帧的能量信息或幅度信息大于前一子帧的能量信息或幅度信息的第一数量倍;如果当前子帧的能量信息或幅度信息大于前一子帧的能量信息或幅度信息的第一数量倍,判断当前帧的谱倾斜是否小于或等于第一阈值;所述第一数量大于1。
确定单元904,用于在判断单元903判断当前帧的谱倾斜小于或等于第一阈值时,确定当前帧高频带信号的信号类型为瞬态信号。
编码处理单元905,用于在确定单元904确定当前帧高频带信号为瞬态信号时,对当前帧高频带信号的时域包络、以及频域信息、以及信号类型信息进行量化及编码。
其中,在本发明的另一个实施例中,计算处理单元902,还用于在判断单元903判断当前帧的谱倾斜小于或等于第一阈值时,计算下一帧前半帧包括的子帧的能量信息或幅度信息;在当前帧中能量信息或幅度信息最大的子帧往后的所有子帧的能量信息或幅度信息,以及下一帧前半帧包括的子帧的能量信息或幅度信息中查找最小的能量信息或幅度信息。判断单元903,还可以用于在判断当前帧的谱倾斜小于或等于第一阈值时,进一步判断中能量信息或幅度信息最大的子帧的能量信息或幅度信息是否大于或等于计算处理单元902查找到的最小的能量信息或幅度信息的第二数量倍。此时,确定单元904,仅用于在判断单元903判断中能量信息或幅度信息最大的子帧的能量信息或幅度信息大于或等于计算处理单元902查找到的最小的能量信息或幅度信息的第二数量倍时,才确定当前帧高频带信号的信号类型为瞬态信号。
从上可知,本实施例在当前子帧的能量信息或幅度信息大于前一子帧的能量信息或幅度信息的第一数量倍,且当前帧的谱倾斜小于或等于第一阈值时,才确定当前帧高频带信号的信号类型为瞬态信号,从而确保确定的瞬态信号的准确度,减少了编码端处理的瞬态信号的数量,提高了编码处理效率。进一步,在本发明的另一个实施例中,仅在当前子帧的能量信息或幅度信息大于前一子帧的能量信息或幅度信息的第一数量倍,且能量信息或幅度信息最大的子帧的能量信息或幅度信息大于或等于查找到的最小能量信息或幅度信息的第二数量倍,且当前帧的谱倾斜小于或等于第一阈值时,才确定当前帧高频带信号的信号类型为瞬态信号,从而进一步确保确定的瞬态信号的准确度,进一步减少了编码端处理的瞬态信号的数量,进一步提高了编码处理效率。
再介绍本发明实施例提供的高频带信号解码装置,图10描述了本发明一个实施例提供的高频带信号解码装置的结构,该实施例包括:
解码单元1001,用于解码获得当前帧高频带信号的信号类型信息及频域信息。
获得单元1002,用于获得当前帧高频带信号的激励信号。
归一化单元1003,用于根据解码单元1001获得的当前帧高频带信号的信号类型及低频带信号信息确定归一化长度,根据归一化长度对获得单元1002获得的激励信号进行归一化处理获得归一化激励信号。
高频带频域信号获得单元1004,用于使用解码单元1001获得的频域信息对归一化单元1003获得的归一化激励信号进行修正,获得高频带频域信号。
输出处理单元1005,用于使用高频带频域信号获得单元1004获得的当前帧高频带频域信号获得的输出信号,输出该输出信号。
如图10所示,在本发明的另一个实施例中,输出处理单元1005包括:变换单元10051,用于对高频带频域信号获得单元1004获得的高频带频域信号进行频时变换,获得高频带时域信号;输出单元10052,用于输出变换单元10051获得的高频带时域信号。
其中,在本发明的另一个实施例中,解码单元1001,还用于在当前帧高频带信号的信号类型为瞬态信号时,解码获得当前帧高频带信号的时域包络;此时,变换单元10051,还可以用于使用解码单元1001获得的当前帧高频带信号的时域包络对频时变换获得的高频带时域信号进行修正;输出单元10052,用于输出使用当前帧高频带信号的时域包络修正后的高频带时域信号。
从上可知,本实施例在对高频带信号的高频带激励信号进行归一化时,可以针对非瞬态信号的不同类型采用不同的归一化长度,从而使得恢复出的高频带信号的激励信号和原始高频带信号更接近,提升了输出信号的性能。
图11描述了本发明另一个实施例提供的高频带信号解码装置的结构,该实施例包括:
解码单元1101,用于解码获得当前帧高频带信号的信号类型信息及频域信息。
获得单元1102,用于获得当前帧高频带信号的激励信号。
归一化单元1103,用于根据解码单元1101获得的当前帧高频带信号的信号类型及低频带信号信息确定归一化长度,根据归一化长度对获得单元1102获得的高频带激励信号进行归一化处理获得归一化激励信号。
高频带频域信号获得单元1104,用于使用解码单元1101获得的频域信息对归一化单元1103获得的归一化激励信号进行修正,获得高频带频域信号。
平滑处理单元1105,用于对高频带频域信号获得单元1104获得的高频带频域信号进行帧间平滑处理,帧间平滑处理时使用的加权因子由当前帧高频带信号的全局能量信息或幅度信息以及前一帧的全局能量信息或幅度信息确定,当前帧高频带频域信号的加权因子与其前一帧高频带频域信号或后一帧高频带频域信号的加权因子的和为1。
在本发明的另一个实施例中,平滑处理单元1105可以进一步对高频带频域信号获得单元1104获得的高频带频域信号进行帧内平滑处理。
输出处理单元1106,用于使用平滑处理单元1105获得的当前帧高频带频域信号获得的输出信号,输出该输出信号。
从上可知,本实施例在对高频带频域信号进行帧间平滑处理时,可以根据当前帧高频带信号的全局能量信息或幅度信息以及前一帧的全局能量信息或幅度信息确定帧间平滑处理时使用的加权因子,从而使恢复出的高频带信号的激励信号和原始高频带信号进一步接近,进一步提升输出信号的性能。
图12描述了本发明另一个实施例提供的高频带信号解码装置的结构,该实施例包括:
解码单元1201,用于解码获得当前帧高频带信号的信号类型信息及频域信息。频域信息包括频域包络。
获得单元1202,用于获得当前帧高频带信号的激励信号。
归一化单元1203,用于根据解码单元1201获得的当前帧高频带信号的信号类型及低频带信号信息确定归一化长度,根据归一化长度对获得单元1202获得的高频带激励信号进行归一化处理获得归一化激励信号。
判断单元1204,用于在解码单元1201获得的当前帧高频带信号的信号类型为普通信号时,判断当前帧高频带信号的当前子带的频域包络与相邻子带的频域包络的差值的绝对值是否大于两者中数值较大的频域包络的第三数量倍,第三数量大于0且小于1。
包络处理单元1205,用于在判断单元1204判断当前子带的频域包络与相邻子带的频域包络的差值的绝对值大于两者中数值较大的频域包络的第三数量倍时,缩放当前子带频域包络和相邻子带的频域包络中较小的频域包络。
高频带频域信号获得单元1206,用于使用解码单元1201获得的频域信息对归一化单元1203获得的归一化激励信号进行修正,获得高频带频域信号。在解码单元1201获得的当前帧高频带信号的号类型为普通信号时,且判断单元1204判断当前子带的频域包络与相邻子带的频域包络的差值的绝对值大于两者中数值较大的频域包络的第三数量倍时,使用包络处理单元1205缩放了较小的频域包络后的当前帧高频带信号的频域包络对所述归一化激励信号进行修正。
平滑处理单元1207,用于对修正单元1206获得的高频带频域信号进行帧间平滑处理,帧间平滑处理时使用的加权因子由当前帧高频带信号的全局能量信息或幅度信息以及前一帧的全局能量信息或幅度信息确定,当前帧高频带频域信号的加权因子与其前一帧高频带频域信号或后一帧高频带频域信号的加权因子的和为1。
输出处理单元1208,用于使用平滑处理单元1207获得的当前帧高频带频域信号获得的输出信号,输出该输出信号。
从上可知,本实施例可以在普通信号的频域包络与前一帧高频带信号或下一帧高频带信号的频域包络的差值的绝对值大于前一帧高频带信号或下一帧高频带信号的频域包络的第三数量倍的情况下,可以减小普通信号的频域包络,从而使普通信号的频域包络与相邻帧的频域包络的更容易区分,可以进一步提升非瞬态信号的性能。
图13描述了本发明另一个实施例提供的高频带信号解码装置的结构,该实施例包括:
解码单元1301,用于解码获得当前帧高频带信号的信号类型信息及频域信息。在当前帧高频带信号的信号类型为瞬态信号时,解码单元2101获得的频域信息包括当前帧高频带信号的全局能量信息或幅度信息。
获得单元1302,用于获得当前帧高频带信号的激励信号。
归一化单元1303,用于根据解码单元1301获得的当前帧高频带信号的信号类型及低频带信号信息确定归一化长度,根据归一化长度对获得单元1302获得的高频带激励信号进行归一化处理获得归一化激励信号。
高频带频域信号获得单元1304,用于使用解码单元1301获得的频域信息对归一化单元1303获得的归一化激励信号进行修正,获得高频带频域信号。
输出处理单元1305,用于使用高频带频域信号获得单元1304获得的当前帧高频带频域信号获得的输出信号,输出该输出信号。
缩放单元1306,用于在解码单元1301获得的当前帧高频带信号的信号类型为瞬态信号时,对解码单元1301获得的全局能量信息或幅度信息进行缩放。此时,高频带频域信号获得单元1304具体可以使用缩放单元1306缩放后的全局能量信息或幅度信息对归一化单元获得的归一化激励信号进行修正。
从上可知,本实施例可以在当前帧为瞬态信号时,对当前帧高频带信号的全局能量信息或幅度信息进行缩放后再进行处理,从而减小瞬态信号的预回声和后回声,可以进一步提升瞬态信号的性能。
上述装置和系统内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(ROM:Read-Only Memory)或随机存储记忆体(RAM:Random Access Memory)等。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。