首页> 中国专利> 一种使用新型心理声学模型和快速比特分配实现数字音频编码的方法

一种使用新型心理声学模型和快速比特分配实现数字音频编码的方法

摘要

本发明提供了一种使用新型心理声学模型和快速比特分配实现数字音频编码的方法。该音频编码方法主要包括:新型心理声学模型,根据输入音频信号的方差来确定窗口类型;根据确定的窗口类型及输入音频信号的能量来分配量化噪声,即阈值计算;快速比特分配,舍弃传统两层嵌套循环进行率失真控制的方法,依据音频信号的短时平稳特性,对全局比例因子使用上一帧的全局比例因子作为初值,对各段比例因子通过模型推导获得精确的初值,最后通过微调就可以获得最终的全局比例因子及各段比例因子的值。本发明具有运算复杂度低,感知音质降低不明显的特点。

著录项

  • 公开/公告号CN101847413A

    专利类型发明专利

  • 公开/公告日2010-09-29

    原文格式PDF

  • 申请/专利权人 北京航空航天大学;

    申请/专利号CN201010144567.8

  • 发明设计人 毛峡;邵伟国;

    申请日2010-04-09

  • 分类号G10L19/02;G10L19/14;

  • 代理机构

  • 代理人

  • 地址 100191 北京市海淀区学院路37号

  • 入库时间 2023-12-18 00:48:18

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-06-05

    未缴年费专利权终止 IPC(主分类):G10L19/02 授权公告日:20111116 终止日期:20120409 申请日:20100409

    专利权的终止

  • 2011-11-16

    授权

    授权

  • 2010-11-17

    实质审查的生效 IPC(主分类):G10L19/02 申请日:20100409

    实质审查的生效

  • 2010-09-29

    公开

    公开

说明书

技术领域

本发明涉及一种使用新型心理声学模型和快速比特分配实现数字音频编码的方法,其中新型心理声学模型在不损失音质的前提下降低了编码的复杂度,快速比特分配极大地降低了编码的计算量。

背景技术

先进音频编码(Advanced Audio Coding,简称AAC)是在MP3基础上发展起来的新一代感知音频压缩编码技术,该技术综合了多种主流音频编码技术的优点,具有信号压缩比高,重建音质好,编解码过程高度模块化和声道配置灵活等特点。

AAC依然遵从了MP3的基本编码规范,如使用ISO推荐的心理声学模型二、非均匀量化、哈夫曼编码等,但在许多细节上进行了改进,并使用了许多新的编码模块,从而提高了编码效率。AAC的基本编码流程是:首先将输入的时域音频信号进行分帧,帧长为1024个时域采样点;然后通过滤波器组将每帧时域信号变换成频域系数,并划分成若干频域子带;接着通过心理声学模型二对当前帧的时域信号进行分析,得到各个频域子带的最大允许失真度;之后进行比特分配和量化过程,对每个子带的系数使用同一量化步长进行量化,每个子带的量化步长由各子带的比例因子来表示,此时,比特分配是通过一种隐性的方式实现,即当需要为某个子带追加或减少比特时,就将该子带的比例因子加1或减1,然后根据此时的比例因子对该子带进行量化、熵编码和计算编码所需要的比特数,最后进行比特拼装,形成码流。

为了实现更高的压缩比,AAC使用心理声学模型二,模型二比模型一复杂,它把整个频谱划分成同临界带宽大致成线性关系的很多个分区。分区后,模型二不是简单的把信号分为谐音和非谐音,而是通过计算频谱随时间的不可预测性,来确定每个分区信号的弦度,又称纯音近似因子。这个弦度是度量信号介于谐音和噪声两者之间的程度,谐音分量的弦度要高于非谐音分量。模型二的算法更精细,计算量更大,比模型一更加准确。在比特分配和量化过程中,AAC使用了传统的两层嵌套循环来进行率失真控制。内层循环通过调节全局比例因子来限制量化编码频域系数所需要的比特数不超过当前可用的比特数,外层循环通过调节各段比例因子来控制各个子带的量化噪声不超过掩蔽阈值。内层与外层循环是一种相互制约的关系,内层如果增大全局比例因子减少比特数,会造成某一子带的失真超过掩蔽阈值,外层又需要增大这个子带的比例因子来达到噪声不可闻的目的,造成可用比特数超过最大值。所以两层嵌套循环一般需要十几次的循环才能找到合适的全局比例因子和各段比例因子的值;有时会进入一种死锁的状态,需要强制退出循环。

AAC有着比MP3更高的压缩率,更纯真的音质,但是在便携电子设备领域却是MP3独占鳌头,究其原因是AAC编码计算复杂度高,大约是AAC解码的10倍。造成AAC编码复杂度高的原因是AAC使用了复杂的心理声学模型二和两层嵌套循环比特分配和量化模块,AAC在44.1Khz采样率和64Kbps码率时,心理声学模型的计算量占整个编码的22%,量化模块占整个编码的64%。

发明内容

为了克服AAC编码高复杂度的不足,本发明提出的新型心理声学模型和快速比特分配能够快速的达到最优感知量化结果,克服了AAC计算量大的缺点,而音质没有明显的降低,为实现AAC编码专用芯片奠定了基础。

本发明的一种使用新型心理声学模型和快速比特分配实现数字音频编码的方法主要包括:新型心理声学模型:根据输入音频信号的方差来确定窗口类型;根据确定的窗口类型及输入音频信号的能量来分配量化噪声,即阈值计算;快速比特分配:舍弃传统两层嵌套循环来进行率失真控制的方法,依据音频信号的短时平稳特性,对全局比例因子使用上一帧的全局比例因子作为初值,对各段比例因子通过模型推导获得精确的初值,最后通过微调就可以获得最终的全局比例因子及各段比例因子的值。具体步骤如下:

步骤一根据输入音频信号的方差来确定窗口的类型;

步骤二根据确定的窗口类型及输入音频信号的能量来分配量化噪声,即最大允许失真,也称掩蔽阈值;

步骤三使用上一帧音频信号全局比例因子的值作为本帧音频信号全局比例因子的初值;

步骤四通过模型推导,获得各段比例因子的精确初值;

步骤五通过改进折半查找的方法对全局比例因子进行调整;

步骤六根据量化前后能量守恒原则对各段比例因子进行微调。

其中,所述的步骤一中根据输入音频信号的方差来确定窗口的类型。AAC标准中的心理声学模型先计算频谱随时间的不可预测性,再利用感知熵(Perceptual Entropy,简称PE)来判断窗口类型,当感知熵超过某阈值时,就认为存在瞬时突变信号,需要切换到短窗模式来抑制预回声现象。但是基于感知熵的算法存在将长窗误判为短窗的缺点,同时它的运算复杂度比较高。其实,通过计算输入音频信号的时域方差就可以准确的确定窗口的类型。方差是实际值与期望值差值平方的平均值,表示了实际值与中心偏离的程度,可以用来衡量一批数据的波动大小。在样本容量相同的情况下,方差越大,说明数据的波动越大,越不稳定。但是单纯地通过计算输入音频信号每帧的方差来判决窗口类型会造成误判、漏判。所以本发明对其进行改进,具体步骤如下:

(a)把输入的音频信号在时域上划分为8个等长的子块;

(b)计算每个子块的方差,求出最大值;

(c)通过子块方差的最大值或与前一帧子块方差的最大值的差值来确定窗口类型。

其中,所述的步骤二中根据确定的窗口类型及输入音频信号的能量来分配量化噪声,即最大允许失真,也称掩蔽阈值。要求压缩比越大,允许噪声越大;要求音质越高,允许噪声越小。噪声分配函数的公式如下:

Xmin=c1.4*(engrengravr)0.1*(1-sfblastsb)+0.3+(1-startlast)3+0.075式1

其中,Xmin代表最大允许失真,engr代表比例因子带内的平均能量,engravr代表全频带的平均能量,sfb是比例因子带序号,lastsb是最后一个含非零谱值的比例因子带的序号,start是比例因子带的起始谱线序号,last是最后一根非零谱线的序号,c是加权常数,在本发明中,对于短窗其值为0.858,对于长窗其值为1.4784。

其中,所述的步骤三中利用了音频信号的短时平稳特性,使用上一帧音频信号全局比例因子的值作为本帧音频信号全局比例因子的初值。

其中,所述的步骤四中通过模型推导,获得各段比例因子的精确初值,具体步骤如下:

(a)量化器使用非均匀量化,量化公式如下:

x_quantized(i)=int[x3/42316(gl-scf(i))+0.4054]式2

其中,x_quantized(i)是量化值,x是谱线,即滤波器组的输出值,gl是全局比例因子,scf(i)是各段比例因子,0.4054是调整量;

(b)反量化公式如下:

x_requantized(i)=x_quantized(i)4/3·214(gl-scf(i))式3

其中,x_requantized(i)是反量化值;

(c)将式2代入式3,得到:

x_requantized(i)={int[x3/42316(gl-scf(i))+0.4054]}4/3·214(gl-scf(i))

=[x3/42316(gl-scf(i))+e]4/3·214(gl-scf(i))

=[x3/42316(gl-scf(i))(1+ex3/4/2316(gl-scf(i)))]4/3·214(gl-scf(i))

=x(1+ex3/4/2316(gl-scf(i)))4/3式4

(d)使用二项式定理,得到:

x_requantized(i)=x(1+43(ex3/4/2316(gl-scf(i)))+29(ex3/4/2316(gl-scf(i)))2+...)式5

不考虑取整函数和调整量0.4054,可将式5近似如下:

x_requantized(i)x+43e(x1/4)2316(gl-scf(i))式6

(e)量化噪声的计算公式:

error_energy(sb)=Σi(x-x_requantized(i))2式7

其中,sb是比例因子带序号,error_energy(sb)是各段的量化噪声。

(f)为使量化噪声不可闻,需满足error_energy≤Xmin,假设error_energy=X min,将式6代入式7,同时考虑scf(i)的值必须为整数,得到各段比例因子的值:

scf(i)=int[gl-163log2Xmin12Σ43e(x14)]式8

其中,e取0.4054,gl通过步骤(3)可以获得,Xmin通过式1计算得到。

其中,所述的步骤五中通过改进折半查找的方法对全局比例因子进行调整,而不使用传统的线性调整,可以获得更好的效果。通过实验发现,对于稳态信号,各帧之间全局比例因子的差值不会非常明显,大部分集中在±4之间;对于瞬态信号,各帧之间全局比例因子的差值波动相对较大。所以在使用折半查找的方法对全局比例因子进行调整时,对于稳态和瞬态信号分别处理,使用不同的搜索步长。

其中,所述的步骤六中根据量化前后能量守恒原则对各段比例因子进行微调。公式如下:

scf(i)=scf(i)+int[In(enq/en0)In21/4+0.5]式9

其中,enq为量化后的能量之和,en0为量化前的能量之和。

本发明的原理:AAC使用基于感知熵的方法作为窗口切换的依据,使用心理声学模型对信号进行分析,计算PE,当PE超过一定的阈值时,就使用短窗进行编码。PE的计算公式如下:

PE=-Σb=1bmax(whigh(b)-wlow(b)+1)×log10nb(b)e(b)+1式10

其中bmax是最大分区序号,whigh(b)是分区b的最后一根谱线,wlow(b)是分区b内的第一根谱线,nb(b)是分区的掩蔽阈值,e(b)是分区的能量。中国的《信息技术 先进音视频编码 第三部分 音频》标准,简称AVS-P3,对音频信号的暂稳态判决采用基于时域能量和频域不可预测度的两级判决方法。其实其基于时域能量的判决就是基于自相关特性的判决,当自相关序列中长度N=0时,自相关序列就转化为能量的序列。

实验数据表明基于感知熵的判决比基于自相关特性的判决效果更好。但是基于PE的算法会把长窗误判为短窗,同时它的运算复杂度比较高。基于不可预测性的度量,是根据平稳信号之间具有强相关性。音频信号具有短时平稳的特性,可以通过对之前的音频信号块进行预测来获得当前信号块的预测值,通过预测残差来进行判决。如果信号之间具有了强相关性,那么预测值和真实值之间的预测残差就会很小;如果是信号之间相关性很小的非平稳信号,那么预测残差就会变大。AVS-P3标准是将时域音频信号的一帧分为16个子块,计算各子块的不可预测性,并没有根据人耳的感知特性,将整个频谱划分成同临界带宽大致成线性关系的很多个分区,然后再计算频谱分区后的不可预测性。实验数据表明,AVS-P3基于不可预测性的窗口判决也存在误判、漏判的现象。另外还有通过时域分块峰值变化率准则来进行窗口类型判决的方法:将时域信号通过高通滤波器后分块,比较前后子块峰值的差值,如果差值大于某一阈值,就切换为短窗。此方法如果使用21阶的有限脉冲响应(Finite ImpulseResponse,简称FIR)高通滤波器,则每个数据需要进行10次乘法和12次加法,对于便携电子设备,运算量还是比较高。数学上方差就代表了数据的波动,通过方差的方法来进行窗口的判决,即降低了复杂度,又提高了准确率。

AAC使用ISO推荐的心理声学模型二来计算最大失真度,又称掩蔽阈值,心理声学模型二比心理声学模型一更精细,计算量更大,更加准确。通常,噪声分配的方法有2种,AAC标准采用的固定噪声掩蔽比(Noise to Mask Ratio,简称NMR),以及根据信号的能量来分配量化噪声,因为大能量的信号容易掩蔽小能量的信号,两者之间存在着一定的联系。这种方法直接利用滤波器组的输出进行计算,省掉了快速傅立叶变换的消耗;同时不考虑掩蔽效应在各个子带间的扩展,无需进行卷积运算,运算量得到极大降低。同时,考虑到小能量信号容易被掩蔽,可以给小能量信号分配相对较多的噪声,而大能量信号分配的噪声相对较少,这样,各个比例因子带的信噪比不再相同,更加接近实际情况。所以,可以采用非线性函数根据子带能量的相对大小计算允许噪声。同时根据低频信号容易掩蔽高频信号,而高频信号对低频信号的掩蔽作用较小,所以可以根据谱线在频域中的位置,对分配函数进行一些调整,给高频段多分配一些噪声。最后,还可以综合考虑比特率和音质的要求,对计算出的允许噪声进行加权,要求压缩比越大,允许噪声越大,要求音质越高,允许噪声越小。经过实验测试,按照这种方法分配噪声进行量化编码后的数据,经解码重建后感知音质没有明显的下降,但是计算的复杂度相对于AAC标准采用的固定NMR的方法得到了极大的降低。

比特分配的最终目的有两个:一是控制编码的码率,使编码所需的比特数在可用的比特数之内,另一个则是控制量化误差,使其在掩蔽阈值之下。这样才能有效地保证编码的效率和质量。

计算消耗比特数的公式如下:

Bits=head+side_info_bits+∑scf_bits           式11

其中,Bits是编码一帧音频数据所需的比特数,即消耗比特数,head是对一帧音频数据头部信息进行编码所需的比特数,side_info_bits是对一帧音频数据边信息编码所需的比特数,∑scf_bits是对一帧音频数据中各比例因子段频谱编码所需的比特数。

可用比特数计算公式如下:

ABit=bit_rate*1024/sampling_rate              式12

其中,ABit是可用比特数,bit_rate是编码后输出的比特率,sampling_rate是音频数据采样率。

本发明从一般的非均匀量化模型出发,推导出一种简单的量化噪声评估模型,来实现快速比特分配的目的。

Xq=Round[(XΔ)α+β]=(XΔ)α+β-γi式13

其中,X表示输入信号,Δ表示量化阶,α表示非均匀压缩因子,β是偏移参数,Xq是量化信号,Round()是取整函数。γi是均匀分布(U(a,b),b-a=1)的取整误差。改写式13得到:

Xq=1Δα(Xα+γq)式14

其中,γq=Δα(β-γi)均匀分布(U(Δα(β-b),Δα(β-a))),那么重构信号XR就可以写为:

XR=(Xq·Δα)1/α=(Xαq)1/α             式15

假设|γq|<Xα,应用二项式定理展开,得到:

XR=X+1αX1-αγq+1-αα2·2!X1-2αγq2+(1-α)(1-2α)α3·3!X1-3αγq3+...式16

如果α=0.5,二次子项接近为零,二次以上子项都为零,如果α>0.5,所有的二次及其以上子项都很快衰减为零。所以,当α≥0.5,得到:

XRX+1αX1-αγq式17

结合式2,就可以获得本发明的噪声评估模型。

Noise(1αX1-αγq)2式18

其中,β值为0.4054,α值为Δ值为

本发明与现有技术相比的优点在于:

1、使用了基于输入音频信号方差的方法来确定窗口类型,运算复杂度低,准确率高;

2、使用精确的噪声分配函数来计算最大允许失真,而不使用运算复杂的心理声学模型,在降低了运算复杂度的同时,感知音质却没有明显的降低;

3、舍弃传统的两层嵌套循环进行率失真控制,推导出新型量化噪声模型实现快速比特分配,提高了编码效率。

附图说明

图1是本发明对一帧音频信号进行编码的总体流程框图;

图2是本发明对输入音频信号确定窗口类型的流程框图;

图3是MEPG-2 AAC比特分配和量化过程的流程框图;

图4是本发明中比特分配和量化过程的流程框图;

图5是本发明中使用改进折半查找法对全局比例因子进行调整的流程框图。

具体实施方式

下面结合附图,对本发明的技术方案做进一步说明。

本发明是一种使用新型心理声学模型和快速比特分配实现数字音频编码的方法,依据输入音频信号的方差来确定窗口类型,通过确定的窗口类型及输入音频信号的能量来分配量化噪声,在比特分配与量化时,对全局比例因子使用上一帧的全局比例因子作为初值,对各段比例因子通过模型推导获得精确的初值,最后通过微调就可以获得最终的全局比例因子及各段比例因子的值。

参见附图1,分帧后的时域信号进入101和102,音频编码器在101对输入音频信号采用新型心理声学模型进行分析,使用基于方差的方法确定当前输入音频信号的窗口类型;然后在102中根据心理声学模型的结果对当前输入音频信号进行窗口的切换,接着对输入的音频时域信号通过修正离散余弦变换(Modified Discrete Cosine Transform,简称MDCT)进行时频变换,得到MDCT频谱(此步骤,本发明采用了MEPG-2 AAC的方法);在103根据噪声分配函数对当前输入音频信号计算各个比例因子段的最大允许失真度,即掩蔽阈值;根据音频信号的短时平稳特性,在104中使用上一帧全局比例因子作为本帧全局比例因子的初值,通过模型推导获得各段比例因子的精确初值,使用改进折半查找法对全局比例因子进行调整,根据量化前后能量守恒原则微调各段比例因子;在105中根据全局比例因子及各段比例因子的值对MDCT频谱值进行量化;在上述步骤完成后,在106中使用哈夫曼编码进行无失真编码;最后在107中形成码流。这样,对于一帧音频信号的编码就完成了。

MPEG-2 AAC在101中利用感知熵来判断窗口类型,当感知熵超过某阈值时,就认为存在瞬时突变信号,需要切换到短窗模式来抑制预回声现象。MPEG-2 AAC基于PE的算法会把长窗误判为短窗,同时它的运算复杂度比较高。所以在101中,本发明使用基于输入音频信号的方差来确定窗口的类型,极大的降低了复杂度又提高了判断的准确性。下面结合附图2进行详细说明。

在时域上将音频信号等分为8个子块(201);然后计算各个子块时域信号的方差,找出各个子块中方差的最大值VarMax,同时计算当前输入信号的VarMax与上一帧输入信号VarMax之差Diff;接着将当前帧的VarMax与阈值(5*E_SWITCH/4,其中E_SWITCH=0.002)进行比较(203);如果VarMax小于阈值,则认为当前输入音频信号是稳态信号(204);如果VarMax大于阈值,那么就执行205,205不同于204简单地认为当前输入的音频信号是瞬态信号,而是判断前一帧是否为稳态信号,以此来进行下面的判决,如果前一帧是稳态信号,就进入206,否则转入207;在步骤206,将Diff与阈值(E_SWITCH)进行比较,如果Diff大于阈值,就判断为瞬态信号(208),否则为稳态信号(209);在步骤207,将Diff与阈值(-E_SWITCH/3)进行比较,如果Diff大于阈值,就判断为瞬态信号(211),否则为稳态信号(210)。

在102中AAC采用了基于固定NMR的方法来进行噪声分配,其核心思想是让量化后的各个比例因子带的NMR相等,使得人主观上对各量化频带的噪声有相同的感觉。但是在最后的计算当中,保守地只取了各比例因子带内的最小掩蔽阈值乘上谱线数,所以AAC采用固定NMR的方法得到的最大允许失真并不准确。所以本发明采用根据信号的能量来分配量化噪声,同时考虑到大能量的信号容易掩蔽小能量的信号,低频信号容易掩蔽高频信号,而高频信号对低频信号的掩蔽作用较小等因素,得到噪声分配函数

Xmin=c1.4*(engrengravr)0.1*(1-sfblastsb)+0.3+(1-startlast)3+0.075式1

其中,Xmin代表最大允许失真,engr代表比例因子带内的平均能量,engravr代表全频带的平均能量,sfb是比例因子带序号,lastsb是最后一个含非零谱值的比例因子带的序号,start是比例因子带的起始谱线序号,last是最后一根非零谱线的序号,c是加权常数,在本发明中,对于短窗其值为0.858,对于长窗其值为1.4784。

在103中AAC采用了传统的两层嵌套循环进行率失真控制,计算复杂,不适合便携电子设备,具体流程见附图3。首先需要对gl和scf(i)设置初值,AAC规定MDCT频谱量化值必须小于8191,所以如果全频带最大的MDCT频谱值被量化为8191,则所有的谱线值都符合要求。据此,在整个的量化过程中,全局比例因子都不能小于这个值。

式19

其中max_mdct_line是当前输入音频信号经MDCT变换输出频谱的最大值,是向上取整函数。式19就是gl的初值,对于各段比例因子的初值全部设置为零(301);在步骤302中,对gl进行线性调整(第一次进入循环不作调整);然后依据式11使用gl与scf(i)的值计算消耗的比特数(303);接着判断是否满足比特率的要求,可用比特数可利用式12计算得到(304),如果不满足则返回到302,调整gl的值,如果满足比特率要求,则执行305,根据式7计算每个子带的量化噪声;在上述步骤都完成后,对量化噪声超过掩蔽阈值的子带,调整其比例因子(306);最后判断是否满足AAC终止两层循环的三个条件,如果不满足则需要再次进入内层循环(307)。

通过两层嵌套循环进行率失真控制,计算量大且容易进入一种死锁的状态。所以本发明另辟蹊径,采用更加简便、高效的方法来进行率失真控制,达到快速比特分配的目的,具体流程参见附图4。本发明与AAC的率失真控制相比,最大的区别在于对gl和scf(i)初值的设定。在本发明中,对于gl初值的设置,不再采用AAC的方法,其方法虽然可以保证gl在整个量化过程中满足要求,但是没有结合输入音频信号的特点来设置不同的初值,必然导致gl需要多次循环,一般需要十几次循环才能找到合适的gl,增加了编码的复杂度。

在步骤401中,根据音频信号短时平稳的特性,使用上一帧的全局比例因子的值作为本帧音频信号全局比例因子的初值,对各段比例因子的初值,经过模型推导,同时考虑到scf(i)的值必须是整数,得到其初值:

scf(i)=int[gl-163log2Xmin12Σ43e(x14)]式8

其中,e取0.4054,x是各段的MDCT的频谱值,Xmin是由噪声分配函数获得的最大允许失真度;完成了对gl和scf(i)初值的设定后,使用改进的折半查找法对gl进行调整(402),具体的步骤会在下文作详细说明;然后根据式11计算消耗的比特数(403);接着在步骤404判断此gl是否为最佳值(因为本发明不再是两层嵌套循环来进行率失真控制,gl的值不再受到scf(i)值的影响,所以判断的依据是在满足比特率的条件下,使得gl的值最小),如果gl不是最佳值,则返回到402,否则执行405;在步骤405中,根据量化前后能量守恒的原则对各段的scf(i)进行调整;在上述步骤完成后,根据式11计算最终消耗的比特数(406)。本发明与AAC两层嵌套循环比特分配与量化模块相比,对于各段scf(i)经模型推导可获得其精确初值,gl则使用上一帧的gl为其初值,实际情况下,与真实的gl比较接近,再配合改进的折半查找法进行调整,则计算的复杂度又可进一步降低。

AAC标准对于gl的调整,采用线性调整的方法,需要经过多次迭代才能获取合适的值,如使用折半查找法,可使复杂度由N降为log2N。但实际情况瞬态信号与稳态信号又有不同,应该分别处理,这样才能获得最佳的效果。所以,本发明采取对稳态信号与瞬态信号使用不同搜索步长的折半查找法来调整gl,具体步骤见附图5。

首先设置步长权重系数VAR的初值为1(501);然后为不同的信号类型设置不同的搜索步长,如果当前输入信号为稳态信号,则搜索步长使用稳态信号的步长L_STEP=2,否则使用瞬态信号的步长S_STEP=4(502);根据式11使用gl和scf(i)的初值计算消耗的比特数(503);判断是否满足比特率要求,可用比特数可利用式12计算得到(504),满足则执行505,否则进入518;一旦需要执行505,则说明当前gl的值无法满足比特率的要求,增加gl的值;根据式11重新计算消耗的比特数(506);判断比特率是否满足要求,可用比特数可利用式12计算得到(507),如果仍不满足则返回到505,如果满足,则还需判断此gl值是否为最佳,关于最佳gl的标准,上文已有说明;在步骤508,将步长权重系数VAR的值加1来调整gl(值为gl-(STEP/VAR++));根据式11重新计算消耗的比特数(509),判别当前信号是否为稳态信号(510),如为稳态信号则执行511,否则进入512;在511判断当前的gl是否满足比特率的要求,如满足则gl为最佳值,否则gl+1为最佳值,获得最佳gl后,程序返回;再次增加VAR的值(512);在513判断是否满足比特率,可用比特数可利用式12计算得到,满足则对gl向下调整(515),否则对gl向上调整(514);然后根据式11重新计算消耗的比特数(516);上述步骤都完成后,在517判断当前的gl是否满足比特率的要求,如满足则gl为最佳值,否则gl+1为最佳值,获得最佳gl后,程序返回,在执行完517后说明对gl总体向上调整过程结束,下面再对gl总体向下调整作详细说明。一旦需要执行518,则说明当前gl的值满足比特率的要求,但可能不是最佳值,减少gl的值;根据式11重新计算消耗的比特数(519);判断比特率是否满足要求,可用比特数可利用式12计算得到(520),如果仍满足则返回到518,如果不满足,则进入521;在步骤521,将步长权重系数VAR的值加1来调整gl(值为gl+(STEP/VAR++));根据式11重新计算消耗的比特数(522),判断当前信号是否为稳态信号(523),如为稳态信号则执行524,否则进入525;在524判断当前的gl是否满足比特率的要求,如满足则gl为最佳值,否则gl+1为最佳值,获得最佳gl后,程序返回;再次增加VAR的值(525);在526判断是否满足比特率,可用比特数可利用式12计算得到,满足则对gl向下调整(528),否则对gl向上调整(527);然后根据式11重新计算消耗的比特数(529);上述步骤都完成后,在530判断当前的gl是否满足比特率的要求,如满足则gl为最佳值,否则gl+1为最佳值,获得最佳gl后,程序返回,在执行完530后说明对gl总体向下调整过程结束。

对于比特分配模块(104),调整完gl之后,还须对各段的scf(i)进行微调,使得各段的scf(i)满足量化前后能量守恒的原则,弥补模型推导过程中引入的误差。公式如下:

scf(i)=scf(i)+int[In(enq/en0)In21/4+0.5]式9

其中,enq为量化后的能量和,en0为量化前的能量和。

在105得到gl及scf(i)值后进行非均匀量化(此步骤,本发明采用了MEPG-2 AAC的方法),接着进入106进行哈夫曼编码(此步骤,本发明采用了MEPG-2 AAC的方法),最后在107经比特拼装,形成码流(此步骤,本发明采用了MEPG-2 AAC的方法)。

说明书附图中出现的英文缩写,其含义如下:

VarMax:当前输入信号时域子块方差的最大值;

Diff:当前输入信号VarMax与上一帧输入信号VarMax的差值;

E_SWITCH:阈值,其值为0.002;

gl:全局比例因子;

scf(i):各段比例因子;

error(i):各段量化噪声;

threshold:掩蔽阈值;

VAR:步长权重系数;

STEP:搜索步长;

L_STEP:稳态信号搜索步长,值为2;

S_STEP:瞬态信号搜索步长,值为4。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号