信号编码和解码的方法和设备与流程

文档序号:11807838阅读:232来源:国知局
信号编码和解码的方法和设备与流程
本发明实施例涉及领域通信领域,并且更具体地,涉及一种信号编码和解码的方法和设备。

背景技术:
在诸如移动通信和光纤通信之类的通信领域,在发送端采用编码技术,来对要传送的信号进行压缩以提高传输效率,并且在接收端采用对应的解码技术来恢复所传送的信号。根据信号的特征、传输条件等,可以对信号进行时域编码和/或频域编码。根据一定的规则为时域信号或频域信号分配不同的编码比特,并然后根据所分配的比特利用编码方法对信号进行编码。为了提高信号传输效率,希望用尽量少的编码比特来表征要传送的信号。因此,需要合理地分配编码比特,从而在接收端通过解码来失真尽量少地恢复输出信号。在现有的用于音频信号的编码器中,在较低码率时,一般对语音能有较好的编解码效果,但对音乐,编解码效果比较差。为了提升低码率时音乐的质量,利用部分比特通过时域编码方法对输入信号进行编码;并且,根据所述输入信号得到频域信号,并利用剩余的比特通过频域编码方法对所述频域信号进行编码。在利用剩余的比特对所述频域信号进行编码时,通常没考虑信号特性,用统一的方式对频域信号进行比特分配,这导致对部分频域信号的编码效果不佳。在现有的用于音频信号的解码器中,简单地利用与编码技术对应的解码技术恢复频域信号,对经未解码出的频域信号填充噪声,然后进行频域逆变换和时域综合处理而得到输出信号。所述噪声填充在某些信号中引入了额外噪声,降低了输出信号的质量。因此,现有的在频域编码算法中进行统一的比特分配方案,导致了对某些信号编码效果不佳;而在现有的频域解码算法中的上述噪声填充处理降低了输出信号的质量。

技术实现要素:
本发明实施例提供了一种对信号进行编码和解码的方法和设备,其在编码时可以对频域信号的比特分配进行优化,以用相同的比特达到更好的编码效果,在解码时可以利用频域解码所解码出的信息做指导,进行频域激励信号的扩展,使输出信号达到更好的效果。一方面,提供了一种用于信号编码的方法,所述方法包括:根据输入信号得到频域信号;按照预定分配规则将预定比特分配给所述频域信号;在有比特分配的频域信号的最高频率大于预定值的情况下,调整频域信号的比特分配;根据频域信号的比特分配对频域信号进行编码。另一方面,提供了一种用于信号解码的方法,所述方法包括:从接收的比特流中获得解码出的频域信号;在所述解码出的频域信号满足预定条件的情况下,根据该解码出的频域信号来预测未解码出的频域信号;根据解码出的频域信号和预测的未解码出的频域信号来获得最终输出的时域信号。又一方面,提供了一种用于信号编码的设备,所述设备包括:频域变换单元,根据输入信号得到频域信号;比特分配单元,按照预定分配规则将预定比特分配给所述频域信号;比特调整单元,在有比特分配的频域信号的最高频率大于等于预定值时,调整所述频域信号的比特分配;频域编码单元,根据所述频域信号的比特分配对频域信号进行编码。又一方面,提供了一种用于信号解码的设备,所述设备包括:解码单元,从接收的比特流中获得解码出的频域信号;扩频单元,用于预测未解码出的频域信号,在所述解码出的频域信号满足预定条件的情况下,根据该解码出的频域信号来预测未解码出的频域信号;输出单元,根据解码出的频域信号和预测的频域信号来获得最终输出的时域信号。在本发明实施例的上述技术方案中,在编码时通过根据有比特分配的频域信号的最高频率来调整频域信号的比特分配,在利用相同数目的比特进行频域编码的情况下达到了更好的编码效果;在解码时以该解码出的频域信号为指导,来设置未解码出的频域信号,使输出信号达到更好的效果。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图 仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1图示了根据本发明实施例的对信号进行编码的方法;图2图示了采用了本发明实施例的编码方法的时频联合编码方法;图3图示了根据本发明实施例的对信号进行解码的方法;图4图示了在时频联合解码方法中从接收的比特流中获得解码出的频域信号的方法;图5图示了根据本发明的编码设备和/或解码设备的示例性实现;图6图示了根据本发明实施例的对信号进行编码的编码设备;图7图示了采用了本发明实施例的编码设备的时频联合编码设备;图8图示了根据本发明实施例的对信号进行解码的设备;图9图示了在时频联合解码中的解码单元的框图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明的编码技术方案和解码技术方案,可以应用于各种通信系统中的发送和接收,所述通信系统例如:GSM,码分多址(CDMA,CodeDivisionMultipleAccess)系统,宽带码分多址(WCDMA,WidebandCodeDivisionMultipleAccessWireless),通用分组无线业务(GPRS,GeneralPacketRadioService),长期演进(LTE,LongTermEvolution)等。编码技术方案和解码技术方案,广泛应用于各种电子设备中,例如:移动电话,无线装置,个人数据助理(PDA),手持式或便携式计算机,GPS接收机/导航器,照相机,音频/视频播放器,摄像机,录像机,监控设备等。通常,这类电子设备中包括音频编码器或音频解码器,音频编码器或者解码器可以直接由数字电路或芯片例如DSP(digitalsignalprocessor)实现,或者由软件代码驱动处理器执行软件代码中的流程而实现。作为示例,在一种音频编码技术方案中,首先将音频时域信号变换为频域信号,再将编码比特分配给音频频域信号进行编码,将编码后的信号通过 通信系统传输给解码端,解码端对编码后的信号解码恢复。图1图示了根据本发明实施例的对信号进行编码的方法100。如图1所示,该方法包括:110:根据输入信号得到频域信号。所述输入信号可以为各种类型,诸如图像信号、数据信号、音频信号、视频信号、文本信号等。可采用诸如快速傅立叶变换(FFT,FastFourierTransform)、离散余弦变换(DCT,DiscreteCosineTransform)等算法对输入信号进行频域变换而得到频域信号。输入信号的类型和频域变换算法不构成对本发明的限制。120:按照预定分配规则将预定比特分配给所述频域信号。所述预定比特tot_bit是用于对频域信号进行频域编码所要使用的比特。所述预定分配规则例如可以是将预定比特中的较多比特分配给频域信号中的低频段信号、并将预定比特中的剩余比特分配给除了所述低频段信号之外的能量较大的频段。可以针对所有低频段相同地、或者根据低频段信号的能量分布,将所述较多比特分配在低频段信号中。为低频段信号分配较多比特的原因在于,在诸如语音频信号中,低频段信号通常包含人耳更敏感的信息。下面以音频信号的频域编码为例进行说明。在进行频域编码时,通常按照频率等间隔地将频域信号划分为子带,或者根据频域系数来划分子带,例如每16个频域系数一个子带。例如,针对20ms一帧的宽带信号,将0~4kHz频率范围的160个系数划分为10个子带,其中0~2kHz频率范围内有5个子带,2~4kHz频率范围内有5个子带。然后,针对每个子带进行比特分配。对0~2kHz频率范围内的低频频域信号分配数目为1F_bit的较多比特,将预定比特tot_bit减去1F_bit得到剩余比特rest_bit,并根据2~4kHz频率范围内的每个子带的包络大小将剩余比特rest_bit分配给2~4kHz频率范围内的子带,每个子带5比特。根据rest_bits和每个子带的包络的大小来确定有比特分配的子带的数目和有比特分配的最高频带的子带last_bin,同时将不能被5整除的余数平均分配给0~2kHz范围内的每个子带。130:在有比特分配的频域信号的最高频率大于预定值的情况下,调整频域信号的比特分配。所述预定值B可以根据经验值设定;一个实施例中,可以根据所述预定比特的比特数目tot_bit和频域信号的分辨率(例如,0~8kHz带宽范围内有320个频域系数)来确定预定值B。在固定带宽的情况下,预定比特的比特数目tot_bit越多,预定值B越高;预定比特的比特数目tot_bit 固定时,频域信号的分辨率越高,预定值B越高。在带宽固定、频域信号的分辨率也是固定的情况下,预定值B可以仅根据预定比特的比特数目tot_bit来确定,预定比特的比特数目tot_bit越多,预定值B越高。该预定值B是一预先设置的上限频率值。例如,根据经验估计,对输入信号进行频域变换后,频率大于该预定值的频域信号通常分配不到比特。因此,在具体实践中,可以将预定值B设置为比频域信号的最高频率值低一定频率的频率值,例如,设置为2.9kHz、3.2kHz、3.5kHz等。在其他实施例中,预定值B也可以根据诸如帧长、所采用的变换方法、或变换窗长之类的其他因素来确定。在将频域信号划分为子带以进行编码的情况中,所述预定值B可以为在0~8kHz频率范围内的20个子带的索引号,而有比特分配的频域信号的最高频率也可以用该最高频率所位于的子带的索引号来表示。例如,对采样率为16kHz的宽带信号,帧长为20ms,如果传输速率为6.8kbps,根据子带的总数(20个)和待分配的预定比特的数目(6.8kbps×20ms=136bits),将B设置为6;在传输速率为7.6kbps时,根据子带的总数(20个)和待分配的预定比特的数目(7.6kbps×20ms=152bits),将B设置为8。总之,所述预定值B和有比特分配的频域信号的最高频率不局限于为频率数值,还可以为子带的索引号。在阅读了本发明实施例的公开之后,工程技术人员根据实践条件知道如何确定有比特分配的频域信号的最高频率是否大于预定值。下面描述频域信号的比特分配的调整。根据信号的类型或频域特征等,可以减少频域信号中对解码端的输出贡献较少的部分的比特,并相应地增加有比特分配的最高频率和其附近的频域信号的比特分配。也就是说,所述调整频域信号的比特分配可包括:减少所述频域信号中被分配较多比特的频段所分配的比特数,并增加有比特分配的最高频率和其附近的频域信号所分配的比特数。对于音频信号,所述被分配较多比特的频段为例如0~2kHz的低频段。下面举例说明对频域信号的比特分配的调整。调整示例1:有比特分配的最高频率为4kHz,如果2kHz~4kHz范围内的某子带比特分配为0,给此频带分配5比特,直到2kHz~4kHz范围的所有子带都分配到比特数,假定2~4kHz范围内额外增加的比特数为Nbit。此时,需要从0~2kHz范围的子带减少Nbit个比特。所采用的算法例如为:从0~2kHz范围内的所有子带(5个子带)中每个子带减少1个比特;然后减去一个最高频的子带;从剩余的4个子带中每个子带再减少1比特,再减少一个次高 频的子带,......以此类推,直到所减少的比特数等于Nbit时停止。调整示例2:对2kHz~4kHz范围内的已分配比特的所有子带增加J个比特,假如2~4kHz范围有比特分配的子带数为K,则此时2~4kHz范围内额外增加的比特数Nbit=J×K,需要从0~2kHz范围的子带减少Nbit=J×K个比特。例如可采用的算法为:从0~2kHz范围内的所有子带(5个子带)中平均每个子带减少Nbit/5个比特。调整示例3:对2kHz~4kHz范围内没有分配比特数的子带各分5比特,然后对2~4kHz范围内的所有子带再增加J个比特,假如2~4kHz范围有比特分配的子带数为K,则此时2~4kHz范围内额外增加的比特数Nbit=5×(5-K)+5×J,需要从0~2kHz范围的子带减少Nbit个比特。所采用的算法可以为:调整示例1中的算法和调整示例2中的算法中的任何一个。此外,如果所述有比特分配的频域信号的最高频率小于预定值,则保持在120中按照预定分配规则进行的所述预定比特的分配。140:根据调整后的比特分配对频域信号进行编码。在实践中,可以根据需要采用任何频域编码方法。所选择的频域编码方法不构成对本发明的限制。通过以上对信号进行编码的方法,通过根据有比特分配的频域信号的最高频率来调整频域信号的比特分配,在利用相同数目的比特进行频域编码的情况下达到了更好的编码效果。以上的对信号进行编码的方法可以适当地应用于各种编码方案中,下面以其在时频联合编码中的应用为例进行示例性说明。图2图示了根据本发明实施例的时频联合编码方法200。在图2中,220、230、240分别于与图1中的120、130、140相同。图2与图1的不同之处在于增加了步骤250、260,并且用211和212代替了图1中的110。下文中将描述图2与图1的不同之处,并对于相同之处不进行重复。211:通过对输入信号进行时域分析得到第一时域信号和第二时域信号。例如,对输入信号进行线性预测编码(LPC,linearpredictivecoding)分析和处理得到线谱频率(LineSpectralFrequency,LSF)参数和导抗谱频率(ImmittanceSpectralFrequency,ISF)参数之一,还得到残差信号res和自适应码书贡献exc_pit。所述LSF参数或ISF参数用于表示在LPC分析中所使用的系数(即LPC系数)的频域特性。将所述残差信号res和自适应码书贡献exc_pit包括在第一时域信号中,自适应码书贡献exc_pit被包括在第二时域信 号中。212:通过对第一时域信号进行频域变换和处理得到频域信号。作为示例,对第一时域信号中的残差信号res和自适应码书贡献exc_pit分别进行频域变换,然后根据频域的残差信号f_res和频域的自适应码书贡献f_exc_pit的相关性来判断自适应码书贡献对输出信号是否有贡献。如果自适应码书贡献对输出信号有贡献,则从频域的残差信号f_res减去频域的自适应码书贡献f_exc_pit而得到频域的差值信号f_diff,并将该差值信号f_diff作为所述频域信号。如果自适应码书贡献对输出信号没有贡献,则将频域的残差信号f_res直接作为差值信号f_diff,即频域信号。在得到频域信号之后,利用与图1中的120、130、140相同的220、230、240对频域信号进行编码,而得到编码后的频域信号。250:对第二时域信号进行编码。作为示例,与频域信号的编码同时地执行260。可以利用任意时域编码方法(诸如预测编码、脉冲编码调制(PulseCodeModulation,PCM)编码等)对所述时域信号进行编码,所采用的时域编码方法不构成对本发明的限制。在自适应码书贡献对输出信号有贡献时,需要在解码端得到自适应码书贡献,所以对该第二时域信号中的自适应码书贡献exc_pit进行编码,以作为比特流传送到接收端。然而,如果自适应码书贡献对输出信号没有贡献,即解码端的输出不需要自适应码书贡献,则不需要该部分的时域编码,从而提高了编码效率。自适应码书贡献对输出信号有贡献意味着在解码端仅仅根据编码后的频域信号不能得到高质量的输出信号。260:将编码后的频域信号和编码后的第二时域信号复用为比特流。需要说明的是,要进行频域编码的频域信号除了包括差值信号f_diff之外,还可以包括其它信号,诸如指明自适应码书贡献对输出信号是否有贡献的标记flag。同样地,要进行时域编码的第二时域信号除了可包括自适应码书贡献exc_pit,还可以包括解码需要的其它信息。在上面结合图2描述的时频联合编码中,通过根据有比特分配的频域信号的最高频率来调整频域信号的比特分配,并且与时域编码相结合,从而达到了更好的编码效果。图3图示了根据本发明实施例的对信号进行解码的方法300。该方法300包括:310:从接收的比特流中获得解码出的频域信号。在仅采用频域编码的情 况,通过采用与频域编码方法对应的频域解码方法来从接收的比特流中获得解码出的频域信号。对于时频联合编码的情况,通过如下操作来从接收的比特流中获得解码出的频域信号:对比特流中的频域信息进行频域解码得到第一频域信号;根据第一频域信号确定在比特流中是否存在对输出信号有贡献的时域编码信号;当确定在比特流中存在对输出信号有贡献的时域编码信号时,对时域编码信号进行时域解码和频域变换而得到第二频域信号,并将第一频域信号和第二频域信号合成而获得所述解码出的频域信号,这将在下面结合图4进一步详细描述。320:在解码出的频域信号满足预定条件的情况下,根据该解码出的频域信号来预测未解码出的频域信号。作为示例,所述解码出的频域信号满足预定条件包括:该解码出的频域信号的最高频率大于预定值、和该解码出的频域信号包括频域变换后的对输出信号有贡献的时域编码信号中的至少一个。要注意,在实践中,可以先适用该解码出的频域信号包括频域变换后的对输出信号有贡献的时域编码信号的判断条件,然后适用该解码出的频域信号的最高频率大于预定值的判断条件,或者采取相反的先后的顺序,还可以仅仅采用两者之一。如前面结合图1的130所描述的,所述预定值是根据频域编码所使用的预定比特的数目tot_bit和频域信号的分辨率来确定的。根据实践需要,可以将预定值设置为比频域信号的最高频率值低一定频率的频率值。在将频域信号划分为子带的情况中,所述预定值可以为子带的索引号,此时有比特分配的频域信号的最高频率也用该最高频域所位于的子带的索引号表示。解码端的预定值的取值可以与编码端的预定值的取值相同、也可以不同。在时频联合编码的情况中,在310中对比特流进行解码而得到解码出的频域信号中可能包括频域变换后的对输出信号有贡献的时域编码信号,该频域变换后的对输出信号有贡献的时域编码信号例如是通过对比特流中包含的时域编码信息进行时域解码和频域变换而获得的信号,诸如为自适应码书贡献。根据被编码信号的类型的不同、和在编码时所采用的时域分析方法不是LPC分析时,该频域变换后的对输出信号有贡献的时域编码信号还可以是除了自适应码书贡献之外的其它信号。在所述解码出的频域信号包括自适应码书贡献的情况中,可以根据前述的自适应码书贡献对输出信号是否有贡献的标记flag来获知所述解码出的频 域信号是否包括频域变换后的对输出信号有贡献的时域编码信号。在解码出的频域信号中包括频域变换后的对输出信号有贡献的时域编码信号,这说明仅靠频域解码难以得到高质量输出,而且根据语音频信号的特性,此时简单地将未解码出的频域信号设置为噪声会使输出的信号质量恶化,从而需要预测未解码出的频域信号。作为根据该解码出的频域信号来预测未解码出的频域信号的示例,可以从该解码出的频域信号的最高频率开始向低频率选择的一段频带的频域信号,并根据所选择的频域信号来预测未解码出的频域信号。例如,对帧长为20ms,采样率为12.8kHz的信号,频域系数为256个,带宽为6.4kHz,在7.6kbps码率时,每16个系数一个子带,共有16个子带,预定值设为10(4kHz),当该解码出的频域信号的最高频带大于10时,则4~6.4kHz范围未解码出的频域系数通过1.6~4kHz范围内解码出的频域系数预测得到。作为预测的实现的示例,可通过对所选择的频域信号进行归一化处理、包络处理等来预测未解码出的频域信号。所述归一化处理、包络处理的实现是本领域技术人员已知的手段,这里不进行详细描述。此外,根据输出信号的类型,本领域的技术人员可能选择其它的方式来预测未解码出的频域信号,例如还可以根据已解码出的频域信号中固定频段的频域信号来预测未解码出的频域信号。需要说明的是,在根据解码出的频域信号得到未解码出的频域信号之后,为了防止所预测的频域信号中有能量过大的频点,可以通过来自编码端的ISF参数或LSF参数来对所预测的未解码出的频域系数进行修正。例如,通过LSF参数或ISF参数估计共振峰位置;在每个估计的共振峰位置,对幅值较大的频域系数进行缩放。作为示例,当在该共振峰位置附近的预测的频域系数的幅值大于一阈值(该阈值可以根据编码端的时域分析的特征来设置)时,减小在该共振峰位置附近的预测的频域系数的幅值。此外,在频域信号不满足所述预定条件时,则利用噪声来预测该未解码出的频域信号。330:根据解码出的频域信号和预测的频域信号来获得最终输出的时域信号。在通过解码得到了解码出的频域信号,并预测了未解码出的频域信号之后,从而获得整个频带内的频域信号,则通过进行诸如快速傅立叶逆变换(IFFT,InverseFastFourierTransform)之类的频域逆变换等处理来得到时域的输出信号。作为示例,对于时频联合编码的情况,对所述ISF参数或LSF 参数进行变换得到LPC系数,利用该LPC系数对频域逆变换之后得到的信号进行时域综合,来得到最终输出的时域信号。在实践中,本领域的工程技术人员知道如何根据频域信号得到时域的输出信号的方案,这里不进行详细描述。在上面结合图3描述的根据本发明实施例的对信号进行解码的方法中,通过以该解码出的频域信号为指导,来设置未解码出的频域信号,使输出信号达到更好的效果。为了向本领域的技术人员更好地公开本发明实施例,下面结合图4描述根据本发明实施例的解码方法在时频联合解码方案中的应用。在时频联合解码方案中,除了从接收的比特流中获得解码出的频域信号(310)的步骤之外,随后的操作与结合图3的描述的320、330相同。因此,下面仅描述在时频联合解码方法中如何得到解码出的频域信号。图4图示了在时频联合解码方法中从接收的比特流中获得解码出的频域信号的方法410。该方法410包括:411:将比特流解复用为第一组比特和第二组比特。在接收端解码时,当接收到了比特流后,采用与图2的260中的复用技术对应的解复用技术将比特流解复用为第一组比特和第二组比特。该第一组比特包括要进行下述的频域解码的频域信息,而该第二组比特包括要进行下述的时域解码的、对输出信号有贡献的时域编码信号。对于音频信号的时域联合解码,该第一组比特例如包括差值信号f_diff、指明自适应码书贡献对输出信号是否有贡献的标记flag等。该第二组比特例如在自适应码书贡献对输出信号有贡献时包括自适应码书贡献。要注意,该第一组比特和第二组比特与信号的编码对应地还可以包括其它的信号。412:对第一组比特进行频域解码得到第一频域信号,并根据第一频域信号确定在比特流中是否存在对输出信号有贡献的时域编码信号。通过与编码端的频域编码方法对应的解码方法对对第一组比特进行解码,以得到第一频域信号。该第一频域信号例如包括解码后的差值信号f_diff、和指明自适应码书贡献对输出信号是否有贡献的标记flag。413:对第二组比特进行时域解码。通过与编码端的时域编码方法对应的解码方法对对第二组比特进行解码,以得到解码后的时域信号。具体地,当确定在比特流中存在对输出信号有贡献的时域编码信号时,对第二组比特中 的时域编码信号进行时域解码。414:对解码后的时域信号中的自适应码书贡献进行频域变换得到第二频域信号。415:将第一频域信号和第二频域信号合成获得解码出的频域信号。作为示例,当自适应码书贡献对输出信号有贡献时,通过相加第一频域信号中的差值信号f_diff和第二频域信号中的自适应码书贡献来合成所述频域信号。当自适应码书贡献对输出信号没有贡献时,直接将第一频域信号中的差值信号f_diff作为所述频域信号。在获得解码出的频域信号之后,采用与图3的320、330相同的步骤来获得最终输出的时域信号。与上述方法实施例相关联,本发明还提供一种编码设备和一种解码设备,该编码设备或解码设备可以位于终端设备,网络设备,或测试设备中。所述编码设备或解码设备可以由硬件电路来实现,或者由软件配合硬件来实现。图5图示了根据本发明的编码设备和/或解码设备的示例性实现。如图5所示,由一个处理器510经由输入/输出接口520来调用编码设备或解码设备530,在内存540的协助下实现音频信号的编码或解码处理。该编码设备或解码设备530可以执行上述方法实施例中的各种方法和流程。图6图示了根据本发明实施例的对信号进行编码的编码设备600。该编码设备600包括:频域变换单元610,根据输入信号得到频域信号;比特分配单元620,按照预定分配规则将预定比特分配给所述频域信号;比特调整单元630,在有比特分配的频域信号的最高频率大于等于预定值时,调整所述频域信号的比特分配;频域编码单元640,根据调整后的比特分配对频域信号进行编码。频域变换单元610可根据输入信号得到频域信号。该输入信号可以为诸如图像信号、数据信号、音频信号、视频信号、文本信号等的各种类型的信号。可采用诸如FFT、DCT等算法对输入信号进行频域变换而得到频域信号。输入信号的类型和频域变换算法不构成对本发明的限制。比特分配单元620可按照预定分配规则将预定比特tot_bit分配给所述频域信号。所述tot_bit是用于对频域信号进行编码所要使用的比特数目。所述预定分配规则例如可以是将所述预定比特中的较多比特分配给频域信号中的低频段信号,并将预定比特中的剩余比特分配给除了所述低频段信号之外的 能量较大的频段。对于低频段的频域信号的分配,可以针对所有低频段相同地、或者根据低频段信号的能量分布,将所述较多比特分配在低频段信号中。为低频段信号分配较多比特的原因在于,诸如语音之类的音频信号在频域中主要集中在低频范围内,为其分配较多比特能提高频域编码的效率。作为示例,在对音频信号进行频域编码的示例性情况中,如前面结合图1的120所描述的,将0~4kHz频率范围的频域信号划分为10个子带,其中0~2kHz频率范围内有5个子带,2~4kHz频率范围内有5个子带。然后,针对每个子带进行比特分配。为0~2kHz频率范围内的低频频域信号分配数目为1F_bit的较多比特。根据2~4kHz频率范围内的每个子带的包络将剩余比特rest_bit(tot_bit减去1F_bit)分配给2~4kHz频率范围内的子带。具体地,根据rest_bits和每个子带的包络的大小来确定有比特分配的子带的数目和有比特分配的最高频带的子带last_bin,同时将不能被5整除的余数平均分配给0~2kHz范围内的每个子带。比特调整单元630可以在有比特分配的频域信号的最高频率大于等于预定值B时,调整所述频域信号的比特分配。所述预定值B是根据所述预定比特的比特数目tot_bit和频域信号的分辨率(例如,4kHz)来确定的。该预定值是一预先设置的上限频率值。在具体实践中,预定值B可以为比频域信号的最高频率值(例如,4kHz)低一定频率的频率值,例如,为2.9kHz、3.2kHz、3.5kHz等。如前所述,在将频域信号划分为子带以进行编码的情况中,所述预定值B可以为在0~4kHz频率范围内的10个子带的索引号(例如,7或8),此时,有比特分配的频域信号的最高频率也要用该最高频率所位于的子带的索引号index来表示。如果所述有比特分配的频域信号的最高频率(例如,index=7)小于预定值(例如,B=8),则保持在比特分配单元620中按照预定分配规则进行的所述预定比特的分配。比特调整单元630可在所述最高频率大于等于预定值时,调整所述比特分配单元620按照预定分配规则进行的频域信号的比特分配。根据所述输入信号的类型或所述频域信号的频域特征等,可以减少频域信号中对解码端的输出贡献较少的部分,并相应地增加有比特分配的最高频率和其附近的频域信号的比特分配。作为示例,所述比特调整单元630可减少所述频域信号中被分配较多比特的频段所分配的比特数,并增加有比特分配的最高频率和其 附近的频域信号所分配的比特数。对于音频信号,所述被分配较多比特的频段为例如0~2kHz的低频段。关于调整频域信号的比特分配的实现,可以参照上面描述的调整示例1~3,这里不再详细说明。所述频域编码单元640根据调整后的比特分配对频域信号进行编码。对频域信号进行编码的方法例如可以为变换编码、子带编码等。此外,在所述最高频率小于预定值时,所述比特调整单元630不调整频域信号的比特分配。此时,频域信号的比特分配是按照预定比特分配规则进行的比特分配,所述频域编码单元640根据所述按照预定比特分配规则进行的比特分配来对频域信号进行编码。在以上对信号进行编码的设备600中,通过根据有比特分配的频域信号的最高频率来调整频域信号的比特分配,达到了更好的编码效果。所述编码设备600可以适当地应用于各种编码技术中,下面以其在时频联合编码中的应用为例进行示例性说明。图7图示了采用了本发明实施例的编码设备的时频联合编码设备700。该时频联合编码设备700包括:时域分析单元711,通过对输入信号进行时域分析得到第一时域信号和第二时域信号;频域变换单元712,通过对第一时域信号进行频域变换和处理得到频域信号;比特分配单元720,按照预定分配规则将预定比特分配给所述频域信号;比特调整单元730,在有比特分配的频域信号的最高频率大于等于预定值时,调整所述频域信号的比特分配;频域编码单元740,根据调整后的比特分配对频域信号进行编码;时域编码单元750,对第二时域信号进行编码;比特复用单元760,将编码后的频域信号和编码后的第二时域信号复用为比特流。在图7中,比特分配单元720、比特调整单元730、频域编码单元740分别于与图6中的比特分配单元620、比特调整单元630、频域编码单元640相同。图7与图6的不同之处在于增加了时域编码单元750、比特复用单元760,并且用时域分析单元711和频域变换单元712代替了图6中的频域变换单元610。下文中将描述图7与图6的不同之处,并对于相同之处不进行重复。时域分析单元711通过对输入信号进行时域分析得到第一时域信号和第二时域信号。例如,对输入信号进行LPC分析和处理得到ISF参数(或LSF 参数)、残差信号res和自适应码书贡献exc_pit。将所述残差信号res和自适应码书贡献exc_pit作为第一时域信号,将自适应码书贡献exc_pit作为第二时域信号。频域变换单元712可通过对第一时域信号进行频域变换和处理得到频域信号。作为示例,对第一时域信号中的残差信号res和自适应码书贡献exc_pit分别进行频域变换,并然后根据频域的残差信号f_res和频域的自适应码书贡献f_exc_pit的相关性来判断自适应码书贡献对输出信号是否有贡献。如果自适应码书贡献对输出信号有贡献,则从频域的残差信号f_res减去频域的自适应码书贡献f_exc_pit而得到频域的差值信号f_diff,并将该差值信号f_diff包括在所述频域信号。如果自适应码书贡献对输出信号没有贡献,则将频域的残差信号f_res直接作为差值信号f_diff,以作为频域信号传送。该频域信号除了包括差值信号f_diff之外,还可以包括其它信号,例如指明自适应码书贡献对输出信号是否有贡献的标记flag。在得到频域信号之后,利用与图7中的比特分配单元720、比特调整单元730、频域编码单元740对频域信号进行编码,而得到编码后的频域信号。时域编码单元750可以对第二时域信号进行编码。可以使用诸如预测编码、脉冲编码调制等时域编码方法对所述时域信号进行编码。在自适应码书贡献对输出信号有贡献时,需要在解码端得到自适应码书贡献,所以对该第二时域信号中的自适应码书贡献exc_pit进行编码,以传送到接收端。然而,如果自适应码书贡献对输出信号没有贡献,则不需要对自适应码书贡献进行编码和传输,从而提高了编码效率。比特复用单元760可将编码后的频域信号和编码后的第二时域信号复用为比特流。在上面结合图7描述的时频联合编码设备中,通过根据有比特分配的频域信号的最高频率来调整频域信号的比特分配,并且与时域编码相结合,从而达到了更好的编码效果。图8图示了根据本发明实施例的对信号进行解码的解码设备800。该解码设备800包括:解码单元810,从接收的比特流中获得解码出的频域信号;扩频单元820,用于预测未解码出的频域信号,在所述解码出的频域信号满足预定条件的情况下,根据该解码出的频域信号来预测未解码出的频域信号;输出单元830,根据解码出的频域信号和预测的频域信号来获得最终输出的时域信号。解码单元810可从接收的比特流中获得解码出的频域信号。在仅采用频域编码的情况,通过采用与频域编码方法对应的频域解码方法来从接收的比特流中获得解码出的频域信号。对于时频联合编码的情况,解码单元810可通过如下操作从接收的比特流中获得解码出的频域信号:对比特流中的频域信息进行频域解码得到第一频域信号;根据第一频域信号确定在比特流中是否存在对输出信号有贡献的时域编码信号;当确定在比特流中存在对输出信号有贡献的时域编码信号时,对时域编码信号进行时域解码和频域变换而得到第二频域信号,并将第一频域信号和第二频域信号合成而获得所述解码出的频域信号,这将在下面结合图9详细描述。扩频单元820可用于预测未解码出的频域信号。在所述解码出的频域信号满足预定条件的情况下,扩频单元820可根据解码出的频域信号来预测未解码出的频域信号。作为示例,所述解码出的频域信号满足预定条件包括:该解码出的频域信号的最高频率大于预定值、和该解码出的频域信号包括频域变换后的对输出信号有贡献的时域编码信号中的至少一个。在实践中,可根据需要进行选择。如前面所描述的,所述预定值可根据频域编码所使用的预定比特的数目tot_bit和频域信号的分辨率来确定的。根据实践需要,可以将预定值设置为比频域信号的最高频率值低一定频率的频率值。在将频域信号划分为子带的情况中,所述预定值可以为子带的索引号,此时有比特分配的频域信号的最高频率也用该最高频域所位于的子带的索引号表示。在使用时频联合解码技术的情况中,在解码单元810对比特流进行解码得到的解码出的频域信号中可能包括对比特流中包含的时域信息进行时域解码和频域变换而获得的信号,其例如为自适应码书贡献。可以根据前述的自适应码书贡献对输出信号是否有贡献的标记flag来获知所述频域信号是否包括频域变换后的对输出信号有贡献的时域编码信号。根据被编码信号的类型的不同、和在编码时所采用的时域分析方法不是LPC分析时,该频域变换后的对输出信号有贡献的时域编码信号还可以是其它信号。在解码出的频域信号中包括对比特流中包含的时域信息进行时域解码和频域变换而获得的信号,这说明未解码出的频域信号中包括对输出有用的信息,从而需要预测未解码出的频域信号,简单地将未解码出的频域信号设置为噪声会使输出的信号质量恶化。此外,在该解码出的频域信号不满足预定条件时,所述扩频单元820可以将该未解码出的频域信号设置为噪声。作为根据解码出的频域信号来预测未解码出的频域信号的示例,所述扩频单元820可以从该解码出的频域信号的最高频率开始向低频率选择的一段频带的频域信号,并如上所述对所选择的频域信号进行处理,以根据所选择的频域信号来预测未解码出的频域信号。此外,还可以采用其它的方式来预测未解码出的频域信号,例如还可以根据已解码出的频域信号中固定频段的频域信号来预测未解码出的频域信号。输出单元830可根据解码出的频域信号和预测的频域信号来获得最终输出的时域信号。在预测了未解码出的频域信号之后,获得了整个频带内的频域信号,则通过使用与编码时采用的频域变换的逆变换对整个带宽的频域信号进行频域逆变换,从而得到时域的输出信号。如前所述,该输出单元可以通过使用根据ISF参数(或LSF参数)得到的LPC系数对频域逆变换之后的信号进行时域综合,来得到最终输出的时域信号以输出。对于解码设备800中的各个单元的更详细操作,可以参照前面结合图3所描述的各个步骤。在上面结合图8描述的根据本发明实施例的对信号进行解码的解码设备800中,通过以所解码出的频域信号为指导,来设置未解码出的频域信号,使输出信号达到更好的效果。为了向本领域的技术人员更好地公开本发明实施例,下面简要描述根据本发明实施例的解码设备在时频联合解码方案中的应用。在时频联合解码方案中,除了解码单元810的操作之外,其它构成单元的操作与扩频单元820、输出单元830的操作相同。因此,下面仅描述解码单元810在时频联合解码方法中的具体实现。图9图示了在时频联合解码中的解码单元910的框图。该解码单元910包括:解复用单元911,将比特流解复用为第一组比特和第二组比特;频域解码单元912,对第一组比特进行频域解码得到第一频域信号,并根据第一频域信号确定在比特流中是否存在对输出信号有贡献的时域编码信号;时域解码单元913,当确定在比特流中存在对输出信号有贡献的时域编码信号时,对第二组比特中的进行时域解码;频域变换单元914,对解码后的时域信号进行频域变换得到第二频域信号;合成单元915,将第一频域信号和第二频 域信号合成获得解码出的频域信号。为描述的方便和简洁,对于所述解复用单元911、频域解码单元912、时域解码单元913、频域变换单元914、合成单元915的具体操作,请参见图4中的411、412、413、414、和415,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易 想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1