处理信号的方法及设备与流程

文档序号:11136033阅读:499来源:国知局
处理信号的方法及设备与制造工艺

本发明涉及信号处理领域,并且具体地,涉及处理信号的方法及设备。



背景技术:

目前的通信传输越来越重视语音或音频信号的质量,因此对信号编码和解码的要求也越来越高。在现有频域编码算法中,通常直接根据频域包络的大小对信号的各个子带进行比特分配,然后利用所分配的比特数对各个子带进行编码。然而,实践表明,在现有的这些编码算法中,低频段的子带对信号编码质量影响较大,因此低频段的子带往往成为信号编码性能瓶颈,而上述比特分配方式不能很好地适配各个子带的比特需求,尤其是低频段的子带,从而导致信号的编码质性能较差。相应地,信号的解码性能也较差。



技术实现要素:

本发明实施例提供处理信号的方法及设备,能够提升信号的编码以及解码性能。

第一方面,提供了一种处理信号的方法,包括:从N个子带中选择M个子带,所述N个子带是对信号的当前帧的频谱系数划分得到的,所述M个子带的频段低于所述N个子带中除所述M个子带之外的K个子带的频段,N为大于1的正整数,M和K均为正整数,M与K之和为N;根据所述M个子带的性能信息,确定对所述M个子带的原始包络值执行修正操作,所述性能信息用于指示所述M个子带的能量特性和频谱特性;分别对所述M个子带的原始包络值进行修正,以获取所述M个子带的修正包络值;根据所述M个子带的修正包络值以及所述K个子带的原始包络值,对所述N个子带进行一次比特分配。

结合第一方面,在第一种可能的实现方式中,所述根据所述M个子带的性能信息,确定对所述M个子带的原始包络值执行修正操作,包括:

根据所述N个子带的原始包络值,确定第一参数,其中所述第一参数表 示所述信号的频谱能量在所述M个子带上的集中程度;

根据所述M个子带的原始包络值,确定第二参数,其中所述第二参数表示所述M个子带的频谱波动程度;

在所述第一参数属于第一范围并且所述第二参数属于第二范围的情况下,确定对所述M个子带的原始包络值执行修正操作。

结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据所述N个子带的原始包络值,确定第一参数,包括:根据所述M个子带的原始包络值确定所述M个子带的总能量;根据所述K个子带的原始包络值,确定所述K个子带的总能量;将所述M个子带的总能量与所述K个子带的总能量的比值确定为所述第一参数。

结合第一方面的第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,所述根据所述M个子带的原始包络值,确定第二参数,包括:根据所述M个子带的原始包络值,确定所述M个子带的总能量和第一子带的能量,其中在所述M个子带中所述第一子带的能量最大;将第一子带的能量与所述M个子带的总能量的比值确定为所述第二参数。

结合第一方面或上述任一实现方式,在第四种可能的实现方式中,所述分别对所述M个子带的原始包络值进行修正,以获取所述M个子带的修正包络值,包括:根据所述M个子带的原始包络值,确定所述M个子带的总能量和第一子带的能量,其中在所述M个子带中所述第一子带的能量最大;根据所述M个子带的总能量和所述第一子带的能量,确定修正因子;利用所述修正因子,分别对所述M个子带的原始包络值进行修正,以获取所述M个子带的修正包络值。

结合第一方面或上述任一实现方式,在第五种可能的实现方式中,所述M个子带中每个子带的修正包络值大于同一子带的原始包络值。

结合第一方面或上述任一实现方式,在第六种可能的实现方式中,还包括:根据在所述一次比特分配时分别对所述N个子带分配的比特数,确定所述N个子带中每个子带的冗余比特数,所述N个子带中每个子带的冗余比特数小于同一子带中单个信息单位编码所需要的比特数;根据所述N个子带中每个子带的冗余比特数,确定冗余比特总数;根据所述M个子带的修正包络值、所述K个子带的原始包络值以及冗余比特总数,对所述N个子带进行二次比特分配。

第二方面,提供了一种处理信号的设备,包括:选择单元,用于从N个子带中选择M个子带,所述N个子带是对信号的当前帧的频谱系数划分得到的,所述M个子带的频段低于所述N个子带中除所述M个子带之外的K个子带的频段,N为大于1的正整数,M和K均为正整数,M与K之和为N;确定单元,用于根据所述M个子带的性能信息,确定对所述M个子带的原始包络值执行修正操作,所述性能信息用于指示所述M个子带的能量特性和频谱特性;修正单元,用于分别对所述M个子带的原始包络值进行修正,以获取所述M个子带的修正包络值;分配单元,用于根据所述M个子带的修正包络值以及所述K个子带的原始包络值,对所述N个子带进行一次比特分配。

结合第二方面,在第一种可能的实现方式中,所述确定单元,具体用于:根据所述N个子带的原始包络值,确定第一参数,其中所述第一参数表示所述信号的频谱能量在所述M个子带上的集中程度;根据所述M个子带的原始包络值,确定第二参数,其中所述第二参数表示所述M个子带的频谱波动程度;在所述第一参数属于第一范围并且所述第二参数属于第二范围的情况下,确定对所述M个子带的原始包络值执行修正操作。

结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述确定单元,具体用于:根据所述M个子带的原始包络值确定所述M个子带的总能量;根据所述K个子带的原始包络值,确定所述K个子带的总能量;将所述M个子带的总能量与所述K个子带的总能量的比值确定为所述第一参数。

结合第二方面的第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,所述确定单元,具体用于:根据所述M个子带的原始包络值,确定所述M个子带的总能量和第一子带的能量,其中在所述M个子带中所述第一子带的能量最大;将第一子带的能量与所述M个子带的总能量的比值确定为所述第二参数。

结合第二方面或上述任一实现方式,在第四种可能的实现方式中,所述修正单元,具体用于:根据所述M个子带的原始包络值,确定所述M个子带的总能量和第一子带的能量,其中在所述M个子带中所述第一子带的能量最大;根据所述M个子带的总能量和所述第一子带的能量,确定修正因子;利用所述修正因子,分别对所述M个子带的原始包络值进行修正,以 获取所述M个子带的修正包络值。

结合第二方面或上述任一实现方式,在第五种可能的实现方式中,所述M个子带中每个子带的修正包络值大于同一子带的原始包络值。

结合第二方面或上述任一实现方式,在第六种可能的实现方式中,所述确定单元,还用于根据在所述一次比特分配时分别对所述N个子带分配的比特数,确定所述N个子带中每个子带的冗余比特数,所述N个子带中每个子带的冗余比特数小于同一子带中单个信息单位编码所需要的比特数;所述确定单元,还用于根据所述N个子带中每个子带的冗余比特数,确定冗余比特总数;所述分配单元,还用于根据所述M个子带的修正包络值、所述K个子带的原始包络值以及冗余比特总数,对所述N个子带进行二次比特分配。

本发明实施例中,通过从N个子带中选择低频段的M个子带,根据M个子带的能量特性和频谱特性确定对M个子带的原始包络值执行修正操作,根据M个子带的原始包络值分别对M个子带的原始包络值进行修正,并根据M个子带的修正包络值以及K个子带的原始包络值,对N个子带进行一次比特分配,而非直接根据N个子带的原始包络值进行比特分配,使得比特分配更为符合各个子带的比特需求,从而能够提升信号的编码以及解码性能。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例的处理信号的方法的示意性流程图。

图2是根据本发明一个实施例的处理信号的方法的过程的示意性流程图。

图3是根据本发明一个实施例的处理信号的设备的示意框图。

图4是根据本发明另一实施例的处理信号的设备的示意框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。

信号的编码技术和解码技术,广泛应用于各种电子设备中,例如:移动电话,无线装置,个人数据助理(Personal Data Assistant,PDA),手持式或便携式计算机,全球定位系统(Global Positioning System,GPS)接收机/导航器,照相机,音频/视频播放器,摄像机,录像机,监控设备等。通常,这类电子设备中包括语音或音频编码器,还可以包括语音或音频解码器,语音或音频编码器,以及语音或音频解码器可以直接由数字电路或芯片例如数字信号处理(Digital Signal Processor,DSP)芯片实现,或者由软件代码驱动处理器执行软件代码中的流程而实现。

图1是根据本发明实施例的处理信号的方法的示意性流程图。图1的方法由编码端执行,例如上述语音或音频编码器。图1的方法还可以由解码端执行,例如上述语音或音频解码器。

在编码过程中,编码端可以先将时域信号变换为频域信号,例如可以采用快速傅立叶变换(Fast Fourier Transform,FFT)或改进离散余弦变换(Modified Discrete Cosine Transform,MDCT)等算法进行时频变换。然后,可以利用全局增益对频域信号的频谱系数进行归一化,将归一化的频谱系数进行分带从而得到多个子带。

在解码过程中,解码端可以对从编码端接收的码流进行解码,得到归一化的频谱系数,将归一化的频谱系数进行分带从而得到多个子带。

110,从N个子带中选择M个子带,N个子带是对信号的当前帧的频谱系数划分得到的,M个子带的频段低于N个子带中除M个子带之外的K个子带的频段,N为大于1的正整数,M和K均为正整数,M与K之和为N。

本发明实施例中,信号可以是语音信号,也可以是音频信号。上述K个子带是N个子带中除M个子带之外的所有子带。

120,根据M个子带的性能信息,确定对M个子带的原始包络值执行修正操作,性能信息用于指示M个子带的能量特性和频谱特性。

130,分别对M个子带的原始包络值进行修正,以获取M个子带的修正包络值。

140,根据M个子带的修正包络值以及K个子带的原始包络值,对N个子带进行一次比特分配。

本发明实施例中,通过从N个子带中选择低频段的M个子带,根据M个子带的能量特性和频谱特性确定对M个子带的原始包络值执行修正操作,根据M个子带的原始包络值分别对M个子带的原始包络值进行修正,并根据M个子带的修正包络值以及K个子带的原始包络值,对N个子带进行一次比特分配,而非直接根据N个子带的原始包络值进行比特分配,使得比特分配更为符合各个子带的比特需求,从而能够提升信号的编码以及解码性能。

具体而言,在现有的频域编码算法中,直接根据频域包络的大小对信号的各个子带进行比特分配,使得所分配的比特数并不能很好地满足某些低频段子带的比特需求。而本发明实施例中,首先从N个子带中选择低频段的M个子带,根据M个子带的能量特性和频谱特性确定对M个子带的原始包络值执行修正操作,根据N个子带的原始包络值对M个子带的原始包络值进行修正,然后根据M个子带的修正包络值以及K个子带的原始包络值对N个子带进行一次比特分配。可见,本发明实施例中,并非直接根据N个子带的原始包络值对N个子带进行比特分配,而是将M个子带的能量特性和频谱特性作为考虑因素来确定需要对M个子带进行修正,从而得到M个子带各自的修正包络值,并根据低频段子带的修正包络值以及其它子带的原始包络值进行比特分配,使得对各个子带的比特分配更为合理,尤其是低频段的M个子带,从而能够提升信号的编码以及解码性能。

在对频谱系数划分得到N个子带后,可以计算并量化每个子带的包络。所以每个子带具有量化的包络值。应理解,原始包络值与修正包络值是相对而言的,原始包络值可以指子带原本的包络值,即在划分子带后计算得到的量化的包络值。在对子带原本的包络值进行修正后得到的包络值,称为修正包络值。因此,本发明实施例中,所提到的原始包络值和修正包络值均是指量化的包络值。

可选地,作为一个实施例,在步骤110中,可以根据子带谐波性以及子带能量,从N个子带中选择M个子带。例如,对于M个子带而言,每个子带的谐波性强度可以大于预设的强度阈值并且该子带的能量占N个子带的总能量的比例大于预设的能量阈值。如上所述,低频带子带往往是信号编码 性能的瓶颈,而这些子带中,谐波性较强并且能量占所有子带总能量一定比例的子带尤其是编码性能的瓶颈,因此,根据子带谐波性以及子带能量,从N个子带中选择M个子带,这样对这M个子带的原始包络值进行修正后,使得对于这M个子带的比特分配更为合理,从而能够更有效地提升信号的编码及解码性能。

可选地,作为另一实施例,N个子带可以是可以按照频段从小到大的顺序排列的。这样,在步骤110中,可以从N个子带中选择前M个子带。本实施例中,按照频段从小到大的顺序选择M个子带,能够简化操作,提升信号处理效率。

可选地,作为另一实施例,在步骤120中,可以根据N个子带的原始包络值,确定第一参数,其中第一参数可以表示信号的频谱能量在M个子带的集中程度。可以根据M个子带的原始包络值,确定第二参数,其中第二参数表示M个子带的频谱波动程度。可以在所述第一参数属于第一范围并且所述第二参数属于第二范围的情况下,确定对M个子带的原始包络值执行修正操作。

具体地,M个子带的能量特性可以是信号的频谱能量在M个子带的集中程度,M个子带的频谱特性可以是M个子带的频谱波动程度。

第一范围与子带的能量相关,可以是预先设定的。当信号的频谱能量在除M个子带的集中程度较小时,可以说明这M个子带在N个子带中的比例小,不会对编码性能造成很大的影响,因此无需修正这M个子带的原始包络值。当信号的频谱能量在M个子带的集中程度较大时,说明这M个子带的原始包络值也会比较大,那么这M个子带所分配的比特数是足够用于编码的,也无需修正这M个子带的原始包络值。可以进行实验仿真预先确定第一范围。例如,第一范围可以预设为[1/6,2/3]。

第二范围与子带的频谱波动程度相关,可以是预先设定的。M个子带的频谱波动程度小,则即使M个子带所分配的比特数少也不会对编码性能造成很大的影响,这样就无需修正M个子带的原始包络值。因此,第二范围表示子带的频谱波动程度较大。可以进行实验仿真预先确定第二范围。例如,第二范围可以预设为或者通常,如果信号中能够编 码的带宽为0~4KHz,第二范围可以预设为如果信号中能够编码的带宽为0~8KHz,第二范围可以预设为

当第一参数属于第一范围并且第二参数属于第二范围时,意味着信号的频谱能量在M个子带上的集中程度不是特别大也不是特别小,而且M个子带的频谱波动程度较大,可以对M个子带的原始包络值进行修正,以便在M个子带的一次比特分配中使得M个子带所分配到的比特更符合M个子带的比特需求。例如,对于M个子带中每个子带,修正包络值大于原始包络值。那么,相比根据M个子带的原始包络值进行一次比特分配而言,根据M个子带的修正包络值进行一次比特分配使得M个子带分配到的比特数要多一些,从而能够提升M个子带的编码性能。

可见,本实施例中,根据N个子带的原始包络值确定的第一参数和第二参数可以反映各频段的特点,因此在第一参数属于第一范围并且第二参数属于第二范围的情况下确定对M个子带执行的原始包络值修正操作,使得后续根据M个子带的修正包络值进行比特分配时,M个子带所分配到的比特数更符合M个子带的比特需求,从而能够提升信号的编码和解码性能。

可选地,作为另一实施例,在步骤120中,可以根据M个子带的原始包络值确定M个子带的总能量。可以根据K个子带的原始包络值确定K个子带的总能量。可以将M个子带的总能量与K个子带的总能量的比值确定为第一参数。

具体地,可以将M个子带的总能量与K个子带的总能量的比值确定为第一参数。这样,能够

例如,可以按照如下等式计算得到第一参数。第一参数可以由α表示。

其中,可以表示M个子带的总能量,可以表示K个子带的总能 量,band_widthi可以表示第i个子带的带宽,band_energyi可以表示第i个子带的能量。band_energyi可以表示第i个子带的原始包络值。例如,可以根据第i个子带的频谱系数,得到第i个子带的原始包络值band_energyi。比如,可以按照下述等式得到band_energyi

band_energyi=log2Ei

应理解,本领域技术人员根据上述等式,显然可以进行各种等价的修改或变化来得到第一参数,这样的修改或变化也落入本发明实施例的范围内。

可选地,作为另一实施例,在步骤120中,可以根据M个子带的原始包络值,确定M个子带的总能量,并确定第一子带的能量,其中,在M个子带中第一子带的能量最大。可以将第一子带的能量与M个子带的总能量的比值确定为第二参数。

具体地,M个子带的频谱波动程度可以使用M个子带的原始包络值的波动程度来表示。比如,第二参数可以按照如下等式计算得到。第二参数可以由β表示。

其中,和的计算方式可以参照上面的等式。

应理解,本领域技术人员根据上述等式,显然可以进行各种等价的修改或变化来得到第二参数,这样的修改或变化也落入本发明实施例的范围内。

可选地,作为另一实施例,在步骤130中,可以根据M个子带的原始包络值,确定M个子带的总能量和第一子带的能量,其中在M个子带中第一子带的能量最大。可以根据M个子带的总能量和第一子带的能量,确定修正因子。然后可以利用修正因子,分别对M个子带的原始包络值进行修正,以获取M个子带的修正包络值。

例如,修正因子可以按照如下等式确定。修正因子可以由γ表示。

其中,和的计算方式可以参照上面的等式。

根据修正因子γ,可以对M个子带中每个子带的原始包络值进行修正,例如,可以将每个子带的原始包络值乘以修正因子,从而得到该子带的修正包络值。

应理解,本领域技术人员根据上述等式,显然可以进行各种等价的修改或变化来得到修正因子,这样的修改或变化也落入本发明实施例的范围内。

可选地,作为另一实施例,在步骤130中,M个子带中每个子带的修正包络值可以大于该子带的原始包络值。

具体地,通过对M个子带中每个子带的原始包络值进行修正,得到M个子带中每个子带的修正包络值。而每个子带的修正包络值可以大于该子带的原始包络值。M个子带中每个子带的修正包络值大于该子带的原始包络值,那么在步骤140中,根据M个子带的修正包络值进行比特分配,这M个子带中每个子带所分配到的比特数将会增大,使得比特分配更符合其比特需求,从而能够提升信号的编码及解码性能。

可选地,作为另一实施例,在步骤130中,M个子带中每个子带的修正包络值可以小于该子带的原始包络值。

具体地,M个子带中每个子带的修正包络值可以小于该子带的原始包络值,那么在步骤140中,根据M个子带的修正包络值以及K子带的原始包络值进行比特分配,这M个子带中每个子带所分配到的比特数将会较少,相应地K个子带分别分配到的比特数会增加,这样使得比特分配更符合其比特需求,从而能够提升信号的编码及解码性能。

可选地,作为另一实施例,在步骤130中,可以按照包络值从大到小的顺序,对N个子带进行一次比特分配。

可选地,作为另一实施例,在步骤120中,可以根据第二参数确定修正因子。然后可以利用修正因子,分别对M个子带的原始包络值进行修正,以获取M个子带的修正包络值。

具体地,可以根据第二参数确定修正因子,根据修正因子,可以对M个子带中每个子带的原始包络值进行修正,例如,可以将每个子带的原始包 络值乘以修正因子,从而得到该子带的修正包络值,这样使得M个子带所分配的比特数更符合M个子带的比特需求,从而能够提升信号编码和解码性能。

在进行第一次比特分配后,每个子带所分配的比特数中一般会有冗余的比特。每个子带的冗余比特数无法编码该子带的一个信息单位。因此,可以统计各个子带的冗余比特数得到冗余比特总数,然后进行二次比特分配。

可选地,作为另一实施例,在步骤140之后,可以根据在一次比特分配时分别对N个子带分配的比特数,确定N个子带中每个子带的冗余比特数,N个子带中每个子带的冗余比特数小于同一子带中单个信息单位编码所需要的比特数。可以根据N个子带中每个子带的冗余比特数,确定冗余比特总数。然后可以根据冗余比特总数,向N个子带进行二次比特分配。

具体而言,可以将总的冗余比特平均分配给N个子带。这样,可以二次利用冗余比特,避免比特浪费,并进一步提升信号的编码及解码性能。

上面描述了关于一次比特分配和第二比特分配的过程。如果上述图1的方法是由编码端执行的,在二次比特分配之后,编码端可以利用各个子带两次比特分配过程中所分配的比特数量化各个子带的频谱系数,将量化的频谱系数的索引和各个子带的原始包络值的索引写入码流,然后可以将码流发送至解码端。

如果上述图1的方法是由解码端执行的,在二次比特分配之后,解码端可以利用各个子带在两次比特分配过程中所分配的比特比特数对量化的频谱系数进行解码,得到恢复的信号。

下面将结合具体例子详细描述本发明实施例。应理解,这些例子只是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例的范围。

在下面的例子中,将以编码端为例进行描述。

图2是根据本发明一个实施例的处理信号的方法的过程的示意性流程图。

201,编码端对时域信号进行时频变换。

202,编码端对频域信号的频谱系数划分成N个子带,N为大于1的正整数。

具体地,编码端可以计算全局增益,使用全局增益对原始的频谱系数进 行归一化,然后对归一化后的频谱系数进行分带,从而得到各个子带。

203,编码端通过计算及量化操作,得到各个子带的原始包络值。

204,编码端从N个子带中选择M个子带,M为正整数。

M个子带的频段低于N个子带中除M个子带之外的K个子带的频段,K为正整数,K与M之和为N。

205,编码端根据M个子带的原始包络值和K个子带的原始包络值,确定第一参数。

第一参数可以表示信号的频谱能量在M个子带上的集中程度。例如,可以使用M个子带的总能量与K个子带的总能量的比值来表示第一参数。第一参数的计算方式可以参照图1的实施例中第一参数的计算方式,不再赘述。

206,编码端根据M个子带的原始包络值,确定第二参数。

第二参数可以表示M个子带的频谱波动程度。例如,可以使用第一子带的能量与所述M个子带的总能量的比值来表示第二参数,其中在M个子带中第一子带的能量最大。第二参数的计算方式可以参照图1的实施例中第二参数的计算方式,不再赘述。

207,编码端确定是否第一参数属于第一范围且第二参数属于第二范围。

第一范围和第二范围可以是预先设定的。例如,第一范围可以预设为[1/6,2/3]。第二范围可以预设为或者

208,如果步骤207中编码端确定第一参数属于第一范围且第二参数属于第二范围,根据M个子带的原始包络值,修正M个子带的原始包络值,以分别得到M个子带的修正包络值。

具体而言,编码端可以根据M个子带的原始包络值确定修正因子。修正因子的计算方式可以参照图1的实施例的过程,不再赘述。编码端可以利用修正因子对M个子带中每个子带的原始包络值进行修正,得到M个子带的修正包络值。例如,每个子带的修正包络值可以大于该子带的原始包络值。

209,编码端根据M个子带的修正包络值以及K个子带的原始包络值,对N个子带进行一次比特分配。

例如,编码端可以按照包络值从大到小的顺序,对N个子带进行一次比特分配。对于M个子带中而言,由于每个子带的修正包络值大于该子带的 原始包络值,所以相比修正之前,M个子带中每个子带所分配到的比特数增多,这样使得比特分配更符合各个子带的比特需求,从而使得信号的编码和解码性能提升。

210,编码端对N个子带进行二次比特分配。

具体地,编码端可以根据一次比特分配之后N个子带中每个子带所分配到的比特数以及每个子带的带宽,确定每个子带的冗余比特数。从而确定N个子带的冗余比特总数。然后根据冗余比特总数,向N个子带平均分配总的冗余比特。

211,编码端根据N个子带中每个子带所分配的比特数,量化每个子带的频谱系数。

212,编码端根据步骤211中量化的频谱系数以及每个子带的原始包络值,写码流。

具体地,编码端可以将量化的频谱系数以及各个子带的原始包络值等的索引写入码流。具体过程可以参照现有技术,此处不再赘述。

213,如果在步骤207中编码端确定第一参数不属于第一范围或者第二参数不属于第二范围,则编码端根据N个子带的原始包络值,对N个子带进行一次比特分配。

例如,编码端可以按照包络值从大到小的顺序,对N个子带进行一次比特分配。

214,编码端对N个子带进行二次比特分配。

具体地,编码端可以根据一次比特分配之后N个子带中每个子带所分配到的比特数以及每个子带的带宽,确定每个子带的冗余比特数。从而确定N个子带的冗余比特总数。然后根据冗余比特总数,向N个子带平均分配总的冗余比特。

215,编码端根据N个子带中每个子带所分配的比特数,量化每个子带的频谱系数。

216,编码端根据步骤215中量化的频谱系数以及每个子带的原始包络值,写码流。

具体地,编码端可以将量化的频谱系数以及各个子带的原始包络值等的索引写入码流。具体过程可以参照现有技术,此处不再赘述。

本发明实施例中,在第一参数属于第一范围且第二参数属于第二范围的 情况下,根据M个子带的原始包络值对低频段的M个子带的原始包络值进行修正,根据M个子带的修正包络值以及K个子带的原始包络值对N个子带进行一次比特分配,使得比特分配更符合各个子带的比特需求,从而能够提升信号的编码和解码性能。

图3是根据本发明一个实施例的处理信号的设备的示意框图。图3的设备300可以是编码端或解码端设备。图3的设备300包括选择单元310、确定单元320、修正单元330和分配单元340。

选择单元310从N个子带中选择M个子带,N个子带是对信号的当前帧的频谱系数划分得到的,M个子带的频段低于N个子带中除M个子带之外的K个子带的频段,N为大于1的正整数,M和K均为正整数,M与K之和为N。确定单元320根据M个子带的性能信息确定对M个子带的原始包络值执行修正操作,性能信息用于指示M个子带的能量特性和频谱特性。修正单元330分别对M个子带的原始包络值进行修正,以获取M个子带的修正包络值。分配单元340根据M个子带的修正包络值以及K个子带的原始包络值,对N个子带进行一次比特分配。

本发明实施例中,通过从N个子带中选择低频段的M个子带,根据M个子带的能量特性和频谱特性确定对M个子带的原始包络值执行修正操作,根据M个子带的原始包络值分别对M个子带的原始包络值进行修正,并根据M个子带的修正包络值以及K个子带的原始包络值,对N个子带进行一次比特分配,而非直接根据N个子带的原始包络值进行比特分配,使得比特分配更为符合各个子带的比特需求,从而能够提升信号的编码以及解码性能。

可选地,作为一个实施例,确定单元320可以根据N个子带的原始包络值,确定第一参数,其中第一参数表示信号的频谱能量在M个子带上的集中程度。确定单元320可以根据M个子带的原始包络值,确定第二参数,其中第二参数表示M个子带的频谱波动程度。确定单元320可以在第一参数属于第一范围并且第二参数属于第二范围的情况下,确定对M个子带的原始包络值执行修正操作。

可选地,作为另一实施例,确定单元320可以根据M个子带的原始包络值确定M个子带的总能量,可以根据K个子带的原始包络值,确定K个子带的总能量,可以将M个子带的总能量与K个子带的总能量的比值确定 为第一参数。

可选地,作为另一实施例,确定单元320可以根据M个子带的原始包络值,确定M个子带的总能量和第一子带的能量,其中在M个子带中第一子带的能量最大。确定单元320可以将第一子带的能量与M个子带的总能量的比值确定为第二参数。

可选地,作为另一实施例,修正单元330可以根据M个子带的原始包络值,确定M个子带的总能量和第一子带的能量,其中在M个子带中第一子带的能量最大。修正单元330可以根据M个子带的总能量和第一子带的能量,确定修正因子,并可以利用修正因子,分别对M个子带的原始包络值进行修正,以获取M个子带的修正包络值。

可选地,作为另一实施例,M个子带中每个子带的修正包络值可以大于同一子带的原始包络值。

可选地,作为另一实施例,确定单元320还可以根据在一次比特分配时分别对N个子带分配的比特数,确定N个子带中每个子带的冗余比特数,N个子带中每个子带的冗余比特数小于同一子带中单个信息单位编码所需要的比特数。确定单元320还可以根据N个子带中每个子带的冗余比特数,确定冗余比特总数。分配单元340还可以根据M个子带的修正包络值、K个子带的原始包络值以及冗余比特总数,对N个子带进行二次比特分配。

设备300的其它功能和操作可以参照图1和图2的方法实施例的过程,为了避免重复,此处不再赘述。

图4是根据本发明另一实施例的处理信号的设备的示意框图。图4的设备400可以是编码端或解码端设备。图4的设备400包括存储器410和处理器420。

存储器410可以包括随机存储器、闪存、只读存储器、可编程只读存储器、非易失性存储器或寄存器等。处理器420可以是中央处理器(Central Processing Unit,CPU)。

存储器410用于存储可执行指令。处理器420可以执行存储器410中存储的可执行指令,用于:从N个子带中选择M个子带,N个子带是对信号的当前帧的频谱系数划分得到的,M个子带的频段低于N个子带中除M个子带之外的K个子带的频段,N为大于1的正整数,M和K均为正整数,M与K之和为N;根据M个子带的性能信息确定对M个子带的原始包络值 执行修正操作,性能信息用于指示M个子带的能量特性和频谱特性;分别对M个子带的原始包络值进行修正,以获取M个子带的修正包络值;根据M个子带的修正包络值以及K个子带的原始包络值,对N个子带进行一次比特分配。

本发明实施例中,通过从N个子带中选择低频段的M个子带,根据M个子带的能量特性和频谱特性确定对M个子带的原始包络值执行修正操作,根据M个子带的原始包络值分别对M个子带的原始包络值进行修正,并根据M个子带的修正包络值以及K个子带的原始包络值,对N个子带进行一次比特分配,而非直接根据N个子带的原始包络值进行比特分配,使得比特分配更为符合各个子带的比特需求,从而能够提升信号的编码以及解码性能。

可选地,作为一个实施例,处理器420可以根据N个子带的原始包络值,确定第一参数,其中第一参数表示信号的频谱能量在M个子带上的集中程度。处理器420可以根据M个子带的原始包络值,确定第二参数,其中第二参数表示M个子带的频谱波动程度。处理器420可以在第一参数属于第一范围并且第二参数属于第二范围的情况下,确定对M个子带的原始包络值执行修正操作。

可选地,作为另一实施例,处理器420可以根据M个子带的原始包络值确定M个子带的总能量,可以根据K个子带的原始包络值,确定K个子带的总能量,可以将M个子带的总能量与K个子带的总能量的比值确定为第一参数。

可选地,作为另一实施例,处理器420可以根据M个子带的原始包络值,确定M个子带的总能量和第一子带的能量,其中在M个子带中第一子带的能量最大。处理器420可以将第一子带的能量与M个子带的总能量的比值确定为第二参数。

可选地,作为另一实施例,处理器420可以根据M个子带的原始包络值,确定M个子带的总能量和第一子带的能量,其中在M个子带中第一子带的能量最大。处理器420可以根据M个子带的总能量和第一子带的能量,确定修正因子,并可以利用修正因子,分别对M个子带的原始包络值进行修正,以获取M个子带的修正包络值。

可选地,作为另一实施例,M个子带中每个子带的修正包络值可以大于 同一子带的原始包络值。

可选地,作为另一实施例,处理器420还可以根据在一次比特分配时分别对N个子带分配的比特数,确定N个子带中每个子带的冗余比特数,N个子带中每个子带的冗余比特数小于同一子带中单个信息单位编码所需要的比特数。处理器420还可以根据N个子带中每个子带的冗余比特数,确定冗余比特总数。处理器420还可以根据M个子带的修正包络值、K个子带的原始包络值以及冗余比特总数,对N个子带进行二次比特分配。

设备400的其它功能和操作可以参照图1和图2的方法实施例的过程,为了避免重复,此处不再赘述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1