音频信号的比特分配的方法和装置与流程

文档序号:12820200阅读:400来源:国知局
音频信号的比特分配的方法和装置与流程

本发明实施例涉及音频技术领域,并且更具体地,涉及音频信号的比特分配的方法和装置。



背景技术:

目前的通信传输越来越重视音频的质量,所以要求编解码时在保证语音质量的前提下要尽可能地提高音乐质量。由于音乐信号信息量极为丰富,不能采用传统语音的celp(codeexcitedlinearprediction,码激励线性预测)编码模式,通常是利用变换编码的方法,在频域来处理音乐信号,提升音乐信号的编码质量。但如何有效地用有限的编码比特高效率的编码信息成为目前音频编码的主要研究课题。

目前的音频编码技术通常采用fft(fastfouriertransform,快速傅立叶变换)或mdct(modifieddiscretecosinetransform,改进离散余弦变换)将时域信号转换到频域,然后对频域信号进行编码。变换编码通常需要把频域系数进行分带,求得每个带的归一化能量,并对带内系数能量归一化,然后进行比特分配,最后根据每个带分到的比特对带内系数进行量化,其中比特分配是极为关键的一部。比特分配指在量化频谱系数的过程中,根据频谱的子带特性将音频信号用于量化频谱系数的比特分配在各个子带上,即将音频信号能使用的编码资源分配到各个子带上,一般编码资源由比特表征。

具体而言,现有的比特分配的过程包括:对频谱信号进行分带,例如根据临界频带理论从低频到高频逐渐增加带宽;频谱分带,求出每个子带的归一化能量norm,并量化得到子带归一化因子wnorm;将各子带按子带归一化因子wnorm的值从大到小降序排列;比特分配,例如根据子带归一化因子wnorm的值迭代循环分配每个子带的比特数。其中,迭代循环分配比特又可以细化为以下步骤:步骤1,初始化每个子带的比特数和迭代因子fac;步骤2,找出最大的子带归一化因子wnorm所对应的带;步骤3,将此带分配的比特数累加带宽值,并将子带归一化因子wnorm的值减去迭代因子fac;步骤4,迭代步骤2和步骤3,直至比特分配完毕。可见,在现有技术中,每次分配的比特单位最小是带宽值,而量化时所需的最低比特数要小于带宽值,这就使得这种整数的比特分配在低比特率下效率较低,好多带分配不到比特,而其它的带又分得太多。由于是全频带循环迭代分配比特,对不同的带宽的子带,循环迭代参数都是一样的,会使分配结果很随机,量化比较分散,前后帧不连续。

由此可知,在低比特率下,比特分配对性能影响较大。通常的比特分配主要是根据每个子带归一化能量的高低在全频带进行分配,在比特率不足的情况下,这种分配很随机,也比较分散,会在时域上产生量化不连续的现象。



技术实现要素:

本发明实施例提供一种音频信号的比特分配的方法和装置,能够解决中低比特率的情况下,现有比特分配方法导致分配随机且分散,从而在时域上产生量化不连续的问题。

一方面,提供了一种音频信号的比特分配的方法,包括:将音频信号的频带分为多个子带,量化每个子带的子带归一化因子;将所述多个子带划分为多个组,所述多个组中的一个组包含一个或多个子带,获取每个组的组参数,其中所述组参数用于表征对应组的音频信号的信号特点和能量属性;根据所述每个组的组参数,为至少一个组分配编码比特,其中该至少一个组分配的编码比特数之和为所述音频信号的编码比特数;依据所述至少一个组中的每个组的每个子带的子带归一化因子,将分配到所述至少一个组的编码比特分配到所述至少一个组中的每个组的每个子带。

另一方面,提供了一种音频信号的比特分配的装置,包括:分带量化单元,用于将音频信号的频带分为多个子带,量化每个子带的子带归一化因子;分组单元,用于将所述多个子带划分为多个组,所述多个组中的一个组包含一个或多个子带,获取每个组的组参数,其中所述组参数用于表征对应组的音频信号的信号特点和能量属性;第一分配单元,用于根据所述每个组的组参数,为至少一个组分配编码比特,其中该至少一个组分配的编码比特数之和为所述音频信号的编码比特数;第二分配单元,用于依据所述至少一个组中的每个组的每个子带的子带归一化因子,将分配到所述至少一个组的编码比特分配到所述至少一个组中的每个组的每个子带。

本发明实施例可以在中低比特率时,通过分组保证前后帧分配比较稳定,减少全局对局部不连续的影响。

附图说明

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

图1是根据本发明实施例的音频信号的比特分配的方法的流程图。

图2是根据本发明实施例的音频信号的比特分配的装置的结构示意图。

图3是根据本发明另一个实施例的音频信号的比特分配的装置的结构示意图。

具体实施方式

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

编码技术方案和解码技术方案,广泛应用于各种电子设备中,例如:移动电话,无线装置,个人数据助理(pda),手持式或便携式计算机,gps接收机/导航器,照相机,音频/视频播放器,摄像机,录像机,监控设备等。通常,这类电子设备中包括音频编码器或音频解码器,音频编码器或者解码器可以直接由数字电路或芯片例如dsp(digitalsignalprocessor)实现,或者由软件代码驱动处理器执行软件代码中的流程而实现。

作为示例,在一种音频编码技术方案中,首先将音频时域信号变换为频域信号,再将编码比特分配给音频频域信号进行编码,将编码后的信号通过通信系统传输给解码端,解码端对编码后的信号解码恢复。

本发明根据分组的理论和信号的特点进行比特分配。首先对带进行分组,再根据每组的特点,对组内能量进行加权,根据加权后的能量对各组进行比特分配,再根据组内的信号特点将比特分配到每个带。因为先对整组进行分配,避免了分配不连续的现象,从而提升不同信号的编码质量。而在组内分配时又考虑了信号的特点,使得有限的比特能分配到影响感知的重要的音频带中。

图1是本发明一个实施例的音频信号的比特分配的方法的流程图。

101,将音频信号的频带分为多个子带,量化每个子带的子带归一化因子。

下面以mdct变换为例进行描述。首先对输入的音频信号进行mdct变换,得到频域系数。这里的mdct变换可包括加窗、时域混叠和离散dct变换几个过程。

例如对输入时域信号x(n)加正弦窗

得到加窗后的信号为:

然后进行时域混叠操作:

这里的il/2和jl/2分别表示为阶数为l/2的对角矩阵:

对时域混叠信号做离散dct变换,最终得到频域的mdct系数:

然后从mdct系数中提取频域包络并量化。将整个频带分成一些不同频域分辨率的子带,提取每个子带的归一化因子,并量化子带归一化因子。

例如对于32khz采样的音频信号,对应16khz带宽的频带,如帧长为20ms(640样点),则可以分为如下44个子带:

8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,

16,16,16,16,16,16,16,16,

24,24,24,24,24,24,24,24,24,24,24,24,

32,32,32,32,32,32,32,32

首先分成几个组,然后组内再细化子带,每个子带的归一化因子可定义为:

这里lp是子带内的系数个数,sp是子带的起始点,ep是子带的结束点,p为总共的子带数。

得到归一化因子后,可以在对数域对其进行量化,得到量化后的子带归一化因子wnorm。

102,将全部子带划分为多个组,获取每个组的组参数,其中组参数用于表征对应组的音频信号的信号特点和能量属性,其中所述多个组中的一个组包含一个或多个子带。

此外,考虑将特性和能量相似的子带分入一组。例如,可以将具有相同带宽的子带划分为一个组,优选地将相邻的具有相同带宽的子带划分为一个组。例如,可以将全部子带分为四组,则在低比特率时,只采用前两组或前三组,而不对剩余的组进行比特分配。

或者,可以根据子带的归一化能量norm之间的关系进行分组。也就是说,可以将子带归一化因子wnorm接近的子带分成一组。例如,可以利用以下方法判断子带的子带归一化因子是否接近:将子带的子带归一化因子wnorm[i](i=1…p-1,p是总共的子带数)与预定阈值k进行比较。如果wnorm[i]大于预定阈值k,则记录下该子带序号i,最终将其子带归一化因子wnorm[i]大于预定阈值k的子带分为一组,其余的子带分为另一组。应理解,可以根据不同的需求设定多个预定阈值,从而得到更多个组。

可选地,还可以将相邻的子带归一化因子接近的子带分成一组。例如,可以利用以下方法判断相邻子带的子带归一化因子是否接近:先计算相邻子带的子带归一化因子的差值wnorm_diff[i],其中wnorm_diff[i]=abs(wnorm[i]–wnorm[i-1]),i=1…p-1。p是总共的子带数。如果wnorm_diff[i]小于预定阈值k’,表明相邻子带的子带归一化因子接近,从而确定能分成一组的相邻子带序号。

一旦完成子带分组,便可获取每个组的组参数,以表征组的能量属性。一般而言,组参数可以包括以下中的一个或多个:组内子带归一化因子之和group_wnorm、组内子带归一化因子的峰均比group_sharp。

具体而言,组内子带归一化因子之和group_wnorm是组内所有子带的子带归一化因子的加和,即其中si是第i组中的开始子带,ei是第i组中的结束子带。

或者,组内子带归一化因子的峰均比group_sharp是组内子带归一化因子的峰值与组内子带归一化因子的平均值的比值。即其中group_peak[i]是第i组的组内子带归一化因子的峰值,group_avg[i]是第i组的组内子带归一化因子的平均值。

或者,组内子带归一化因子的峰值group_peak是组内所有子带的子带归一化因子的最大值,即group_peak[i]=max(wnorm[si],....,wnorm[ei]),其中wnorm[si]是第i组中的开始子带的子带归一化因子,wnorm[ei]是第i组中的结束子带的子带归一化因子。

或者,组内子带归一化因子的平均值group_avg是组内所有子带的子带归一化因子的平均值,即其中group_wnorm[i]是第i组的组内子带归一化因子之和,si是第i组中的开始子带,ei是第i组中的结束子带。

103,根据每个组的组参数,为至少一个组分配编码比特,其中该至少一个组分配的编码比特数之和为所述音频信号的编码比特数。

由于上述组参数表征了组的能量属性,从而可以根据组参数将音频信号的比特分配到每个组。这样,在比特率不足的情况下,利用分组的原理,考虑组的能量属性,使得音频信号的比特分配更加集中,也使得帧间比特分配更加连续。应理解,组参数不限于在此列举的几种,还可以是其他能够表征组的能量属性的参数。一个实施例中,在比特率不足情况下,仅为部分组分配比特,例如对于组内子带归一化因子之和为零的组,其不会被分配到比特;又例如,当比特数很少时,也会存在不被分配到比特的组。也就是说,在获得以上组参数的基础上,可以仅根据每个组的组内子带归一化因子之和,为至少一个组分配编码比特,其中该至少一个组分配的编码比特数之和为音频信号的编码比特数。

进一步的,还可以通过调整组参数来优化将音频信号的比特分配到每个组的结果。比如,根据不同的分配需求,为不同组的组参数分配不同的权重,使得有限的比特数分配在恰当的组中,再在该组中分配,使得比特分配不再分散,这样将有利于音频信号的编码。

下面只是示例性地给出一种实施方式。例如,在获取每个组的组内子带归一化因子之和group_wnorm以及组内子带归一化因子的峰均比group_sharp之后,可以根据组内子带归一化因子的峰均比group_sharp,加权组内子带归一化因子之和group_wnorm,得到加权的组内子带归一化因子之和group_wnorm_w。

具体的,比较第一组的组内子带归一化因子的峰均比group_sharp[i]与第二组的组内子带归一化因子的峰均比group_sharp[i-1]。若第一组的组内子带归一化因子的峰均比相对第二组的组内子带归一化因子的峰均比大于第一阈值,即根据第一加权因子调整该第一组的组内子带归一化因子之和,根据第二加权因子调整所述第二组的组内子带归一化因子之和。反之亦然。即若第二组的组内子带归一化因子的峰均比相对第一组的组内子带归一化因子的峰均比大于第二阈值,根据第一加权因子调整该第二组的组内子带归一化因子之和,根据第二加权因子调整所述第一组的组内子带归一化因子之和。

例如,如果group_sharp[i]-group_sharp[i-1]>a,则group_wnorm_w[i]=b*group_wnorm[i]。或者,如果group_sharp[i-1]-group_sharp[i]>c,则group_wnorm[i-1]=b*group_wnorm[i-1]。其中,组序号i=1…p-1。p是总共的子带数。b为权重,a为第一阈值,c为第二阈值。应理解,a、b和c的选取可以根据比特分配的需求进行。

这里,仅是示意性地说明了一种简单的加权方法。本领域技术人员应很容易想到其他的加权方法,以便通过不同的加权系数来调整子带的权重。例如,可以加大需要分配更多信号比特的子带的权重,而减小无需或需要分配较少信号比特的子带的权重。

接着,根据加权的组内子带归一化因子之和,将音频信号的比特分配到每个组。例如按照加权的组内子带归一化因子之和group_wnorm[i]与全部子带的子带归一化因子之和sum_wnorm比率,确定该组的组比特数,并将音频信号的比特按照确定的组比特数分配到该组。通过以下公式确定每组的总比特数group_bits:group_bits[i]=sum_bits*group_wnorm[i]/sum_wnorm,其中sum_bits为需要分配的音频信号的总比特数,sum_wnorm是所有子带的子带归一化因子之和。

在比特被分入各个组之后,可以进一步将每个组分到的编码比特再分入组内的各个子带中。

104,依据该至少一个组中的每个组的每个子带的子带归一化因子,将分配到至少一个组的编码比特分配到该至少一个组中的每个组的每个子带。

应理解,可以采用现有的迭代循环分配方法对组内的子带进行比特分配。但是,迭代循环分配方法仍会使得组内的比特分配结果很随机,前后帧不连续。因此,可以结合不同音频信号的信号特点,即不同的信号类型,依据该组内的子带归一化因子,将分配到该组的音频信号的比特分配到该组内的子带中。

另外,在本发明实施例中,在比特率不足的情况下,若将有限的比特分配到组内所有的子带上,将影响比特分配的效果。因此,可以先确定组内可以进行比特分配的子带数band_num;然后,根据音频信号的类型等,依据组内的子带归一化因子,将分配到组的音频信号的比特分配到组内进行比特分配的子带中,其中所述组内进行比特分配的子带的个数等于子带数band_num。

这里,可以根据组比特数以及第三阈值确定每个组内初始比特分配的子带数,其中第三阈值表示用于量化一个归一化后的频谱系数的最小比特数。比如,一个组分配到了13比特,第三阈值为7比特,那么组内初始比特分配的子带数为2。然后,根据组内初始比特分配的子带数以及组内的总子带数确定组内进行比特分配的子带数band_num。

例如,如果组内初始比特分配的子带数大于组内的总子带数乘以比例因子k的值,则确定band_num的取值为组内的总子带数,否则band_num的取值为组内初始比特分配的子带数,这里的比例因子k是经验因子可以为0.75,或其他数值。也可以简化该过程,使组内进行比特分配的子带数band_num取组内初始比特分配的子带数与组内的总子带数两者中较少的子带数。

接下来,可以根据组的音频信号的类型,结合组内的子带归一化因子为组内进行比特分配的子带数band_num个子带分配比特。在判断该组的音频信号的类型时,可以依据该组的组内子带归一化因子的峰均比group_sharp进行。若通过组内子带归一化因子的峰均比group_sharp确定音频信号为正常(normal)信号,可以采用现有的迭代循环分配方法为该组进行比特分配;若判断该组的音频信号为谐波(harmonic)信号,可以采用现有的迭代循环分配方法为该组进行比特分配,也可以采用以下方法a或方法b进行比特分配。

方法a:

步骤1,对所述组内全部子带的子带归一化因子进行由大到小排序,选取排在前n个子带,其中n为组内进行比特分配的子带数band_num;

步骤2,初始化所述n个子带的比特数为1,并初始化循环次数j为0;

步骤3,确定所述n个子带中其子带归一化因子大于零的子带的子带归一化因子总和band_wnorm;

步骤4,为所述n个子带中其子带归一化因子大于零的子带分配比特数;

步骤5,判断n个子带中最后的子带所分配的比特数是否小于固定阈值fac,如果小于固定阈值fac,则将这个子带分配的比特数置零;

步骤6,将所述循环次数j加1;

循环步骤3至步骤6,直到循环次数j等于n;

步骤7,对所述组内的全部子带恢复最初原始的排序,即恢复到量化每个子带的子带归一化因子之前全部子带的排序。

方法b:

步骤1,对所述组内全部子带的子带归一化因子进行由大到小排序,选取排在前n个子带,其中n为组内进行比特分配的子带数band_num;

步骤2,初始化所述n个子带的比特数为1,并初始化循环次数j为0,初始化已分配比特数bit_sum为0;

步骤3,确定所述n个子带中其子带归一化因子大于零的子带的子带归一化因子总和band_wnorm;

步骤4,为所述n个子带中其子带归一化因子大于零的子带分配比特数;

步骤5,判断n个子带所分配的比特数是否小于固定阈值fac,如果小于固定阈值fac,则将这个子带分配的比特数置零;

步骤6,计算所有n个子带所分配的比特数的总和temp_sum;

步骤7,将所述循环次数j加1;

步骤8,判断temp_sum和bit_sum是否相等,如果相等就执行步骤10;否则继续步骤9;

步骤9,更新bit_sum,将temp_sum值赋值给bit_sum;

循环步骤3至步骤9,直到循环次数j等于n;

步骤10,对所述组内的全部子带恢复最初原始的排序。

应理解,除了上述方法a或方法b,还可以采用其他方法进行组内的比特分配。另外,方法a和方法b也可以与确定band_num的方法相结合,即结合不同的音频信号特点进行组内分配。例如,如果组内初始比特分配的子带数大于组内的总子带数乘以比例因子k的值,则采用方法a;如果组内初始比特分配的子带数小于或等于组内的总子带数乘以比例因子k的值,则采用方法b。

综上所述,为组内的子带进行比特分配的过程是,先从组内全部子带中选取子带归一化因子最大的前n个子带作为待分配子带,其中n为组内进行比特分配的子带数band_num;然后,依据该n个子带的子带归一化因子,依次为这n个子带分配比特数;最后,对该组的全部子带恢复最初原始的排序。

结合不同音频信号的信号特点,可以有效地将比特分配到能体现信号听觉感知的频带,譬如对于谐波性强的带就需要把比特集中分配到有谐波的带,而对于那些频谱能量比较平均的信号,就需要把比特分配得均匀一些。

借鉴上述的分组方式,还可以将组再细分,即将组内的子带再划分为多个小组,并获取每个小组的小组参数;然后根据每个小组的小组参数,将分配到组的比特分配到每个小组。最后,依据子带归一化因子,将分配到每个小组的音频信号的比特分配到每个小组内的每个子带。有一种可能,是不断进行细化,直到每个组上只有一个带为止。

经过本发明实施例的分组方式保证了前后帧分配比较稳定,并且根据信号特点对组内进行不同侧重的比特分配,使得分配的比特都用于量化重要频谱信息上,从而能够提升音频信号的编码质量。

由上可知,根据本发明实施例的音频信号的比特分配的方法可以通过分组保证前后帧分配比较稳定,减少全局对局部不连续的影响。此外,每个组内的比特分配可以设不同的阈值参数,从而更加自适应地分配比特,并且根据频谱信号特点对组内进行不同侧重的比特分配,例如对于频谱较集中的类谐波信号重点分配在能量大的子带,谐波间的子带无需分配更多比特,而对于频谱较为平缓的信号,比特分配则尽量保证子带间平滑,这样会使得分配的比特都用于量化重要的频谱信息上。

以下将结合图2,描述根据本发明实施例的音频信号的比特分配的装置的示意结构。

在图2中,音频信号的比特分配的装置20包括分带量化单元21、分组单元22、第一分配单元23以及第二分配单元24。

其中,分带量化单元21用于将音频信号的频带分为多个子带,量化每个子带的子带归一化因子。

其中,分组单元22用于将多个子带划分为多个组,所述多个组中的一个组包含一个或多个子带,获取每个组的组参数,其中组参数用于表征对应组的音频信号的信号特点和能量属性。

其中,第一分配单元23用于根据该每个组的组参数,为至少一个组分配编码比特,其中该至少一个组分配的编码比特数之和为音频信号的编码比特数。

可选地,分组单元22可以用于将具有相同带宽的子带划分为一个组,从而该多个子带被划分为多个组。或者,分组单元22可以用于将子带归一化因子接近的子带分成一组,从而多个子带被划分为多个组。一般而言,每个组中的子带可以是相邻的。

可选地,分组单元22用于获取每个组的组内子带归一化因子之和、每个组的组内子带归一化因子的峰均比,其中所述组内子带归一化因子之和是所述组内所有子带的子带归一化因子的加和,所述组内子带归一化因子的峰均比是组内子带归一化因子的峰值与组内子带归一化因子的平均值的比值,其中所述组内子带归一化因子的峰值是所述组内所有子带的子带归一化因子的最大值,所述组内子带归一化因子的平均值是所述组内所有子带的子带归一化因子的平均值。

进一步地,分组单元22用于还可以根据所述每个组的组内子带归一化因子的峰均比,加权所述每个组的组内子带归一化因子之和,得到每个组的加权的组内子带归一化因子之和。

可选的,分组模块22可以用于比较第一组的组内子带归一化因子的峰均比与第二组的组内子带归一化因子的峰均比;若第一组的组内子带归一化因子的峰均比相对第二组的组内子带归一化因子的峰均比大于第一阈值,根据第一加权因子调整该第一组的组内子带归一化因子之和,根据第二加权因子调整第二组的组内子带归一化因子之和。

可选地,第一分配单元23可以用于根据该每个组的组内子带归一化因子之和,为至少一个组分配编码比特,其中该至少一个组分配的编码比特数之和为音频信号的编码比特数。或者,第一分配单元23可以用于根据加权的组内子带归一化因子之和,为至少一个组分配编码比特,其中该至少一个组分配的编码比特数之和为音频信号的编码比特数。或者,第一分配单元23可以用于按照该组的加权的组内子带归一化因子之和与全部子带的子带归一化因子之和的比率,确定该组的组比特数,并将音频信号的编码比特按照该组比特数分配到该组。

其中,第二分配单元24用于依据该至少一个组中的每个组的每个子带的子带归一化因子,将分配到至少一个组的编码比特分配到该至少一个组中的每个组的每个子带。

进一步地,第二比特分配模块24可以包括确定模块241和分配模块242。其中,确定模块241用于确定该组内进行比特分配的子带数band_num;分配模块242用于根据所述组内的子带归一化因子,将分配到所述组的音频信号的比特分配到所述组内进行比特分配的子带中,其中所述组内进行比特分配的子带的个数等于所述组内进行比特分配的子带数band_num。

可选地,确定子模块241可以用于根据该组比特数以及第三阈值,确定组内初始比特分配的子带数,其中该第三阈值表示用于量化一个归一化后的频谱系数的最小比特数;确定所述组内初始比特分配的子带数以及所述组内的总子带数中的较小值为所述组内进行比特分配的子带数band_num。

或者,确定子模块241可以用于根据该组比特数以及第三阈值,确定组内初始比特分配的子带数,其中该第三阈值表示用于量化一个归一化后的频谱系数的最小比特数;比较所述组内初始比特分配的子带数以及所述组内的总子带数与比例因子k的乘积,其中比例因子k用于调整所述组内的总子带数;若所述组内初始比特分配的子带数小于所述组内的总子带数与比例因子k的乘积,确定所述组内进行比特分配的子带数为所述组内初始比特分配的子带数;否则,确定所述组内进行比特分配的子带数为所述组内的总子带数。

可选地,分配模块242可以用于从该组全部子带中选取子带归一化因子最大的前n个子带作为待分配子带,其中n为组内进行比特分配的子带数;依据所述n个子带的子带归一化因子,依次为所述n个子带分配比特数。对所述组的全部子带恢复最初原始的排序。

例如,分配模块242具体执行以下步骤:

步骤1,对所述组内全部子带的子带归一化因子进行由大到小排序,选取排在前n个子带,n为组内进行比特分配的子带数band_num;

步骤2,初始化所述n个子带的比特数为1,并初始化循环次数j为0;

步骤3,确定所述n个子带中其子带归一化因子大于零的子带的子带归一化因子总和band_wnorm;

步骤4,为所述n个子带中其子带归一化因子大于零的子带分配比特数;

步骤5,判断n个子带中最后的子带所分配的比特数是否小于固定阈值fac,如果小于固定阈值fac,则将这个子带分配的比特数置零;

步骤6,将所述循环次数j加1;

循环步骤3至步骤6,直到循环次数j等于n;

步骤7,对所述组内的全部子带恢复最初原始的排序。

可选地,分配子模块242可以用于执行以下具体步骤:

步骤1,对所述组内全部子带的子带归一化因子进行由大到小排序,选取排在前n个子带,其中n为组内进行比特分配的子带数band_num;

步骤2,初始化所述n个子带的比特数为1,并初始化循环次数j为0,初始化已分配比特数bit_sum为0;

步骤3,确定所述n个子带中其子带归一化因子大于零的子带的子带归一化因子总和band_wnorm;

步骤4,为所述n个子带中其子带归一化因子大于零的子带分配比特数;

步骤5,判断n个子带所分配的比特数是否小于固定阈值fac,如果小于固定阈值fac,则将这个子带分配的比特数置零;

步骤6,计算所有n个子带所分配的比特数的总和temp_sum;

步骤7,将所述循环次数j加1;

步骤8,判断temp_sum和bit_sum是否相等,如果相等就执行步骤10;否则继续步骤9;

步骤9,更新bit_sum,将temp_sum值赋值给bit_sum;

循环步骤3至步骤9,直到循环次数j等于n;

步骤10,对所述组内的全部子带恢复最初原始的排序。

此外,在如图2所示的根据本发明实施例的音频信号的比特分配的装置中,第一分配单元23还可以进一步将该组内的子带划分为多个小组,获取每个小组的小组参数;于是根据该每个小组的小组参数,将分配到该组的比特分配到该每个小组。由此,第二分配单元24则用于依据该子带归一化因子,将分配到该每个小组的音频信号的比特分配到该每个小组内的每个子带。

由此可见,根据本发明实施例的音频信号的比特分配的装置可以通过分组保证前后帧分配比较稳定,减少全局对局部不连续的影响。此外,每个组内的比特分配可以设不同的阈值参数,从而更加自适应地分配比特,并且根据频谱信号特点对组内进行不同侧重的比特分配,例如对于频谱较集中的类谐波信号重点分配在能量大的子带,谐波间的子带无需分配更多比特,而对于频谱较为平缓的信号,比特分配则尽量保证子带间平滑,这样会使得分配的比特都用于量化重要的频谱信息上。

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

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

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

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

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

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

图3是本发明的音频信号的比特分配的装置30另一个实施例的示意框图。装置30包括处理器31、存储器32、输入设备33和输出设备34等,通过总线相互通信。其中,处理器31调用存储器32存储的程序,可以执行上述音频信号的比特分配方法实施例的各个步骤。

处理器31用于执行存储器32存储的本发明实施例的程序,并通过总线与其他装置双向通信。

存储器32可以是包括ram和rom、或任何固定的存储介质、或可移动的存储介质,用于存储可以执行本发明实施例的程序或本发明实施例中待处理的数据。

存储器32和处理器31也可以整合成应用本发明实施例的物理模块,在该物理模块上存储和运行实现该本发明实施例的程序。

输入设备33可以包括键盘、鼠标等任何合适的装置,用于接收用户的输入或来自其他设备的输入,并发送给处理器31。

输出设备34用于将音频信号的比特分配的结果输出,可以是显示器、打印机等。

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

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