音频编解码器及编解码方法

文档序号:7513178阅读:461来源:国知局
专利名称:音频编解码器及编解码方法
技术领域
本发明涉及一种低运算复杂度的音频编解码技术,尤其涉及采用MDCT (ModifiedDiscrete Cosine Transform)变换及其逆变换的编解码技术,该音频编解码技术可以应用于电子防震系统。
背景技术
便携式或者车载伺服播放器容易遭受机械震动的影响,从而导致音频数据不能正常连续播放,为克服此问题, 一般伺服播放器内都设置有电子防震(ESP, Electronic ShockProtection)系统,其基本架构如图1所示,当播放器工作在防震模式时,光盘伺服以高于正常模式的转速读取音频数据,将音频样点通过ESP编码器进行压縮,然后将压缩后的数据送入动态随机存储器(DRAM, Dynamic Random Access Memory)的缓冲区储存,直至把缓冲区填满后再将光盘伺服的速度降为正常速度,同时ESP解码器以正常速度从DRAM缓冲区读取数据解码并送出播放,当震动导致伺服从光盘读数据失败时,ESP解码器仍然可以从DR雄缓冲区读取数据并解码,从而实现一定时间的电子防震效果。
电子防震系统的防震时间由DRAM容量和音频编码算法的压縮率决定,电子防震系统对音频编解码算法有三个方面的要求1、音质基本无损失;2、压缩比越高,相同容量的DRAM支持的防震时间更长,或者相同防震时间下所需的DRAM更小,成本更低, 一般要求达到4:1以上的压縮率;3、由于在峰值处理阶段,电子防震(ESP)系统需要并行完成两次编码运算和一次解码运算,如果采用软件实现,要求其编解码算法的运算复杂度较低。
传统的电子防震系统一般采用自适应差分脉冲编码调制(ADPCM)进行音频编解码,以CD播放器为例,CD中的音频样点一般是16bit,采用ADPCM编码可以将样点压縮到4bit,达到4:1的压縮率,而基本不损失音质,比特率为4(bits)*44100*2(声道)=352800 bps,以16Mbit的DRAM为例,可以储存16000000/352800 = 45. 3s,但是ADPCM编码器有两个显著的缺点1、 ADPCM编解码算法采用逐点计算的结构,运算量大,只能使用专用集成电路(ASIC)实现,不适合软件实时实现,采用这种方案就需要在系统中添加专用ESP芯片,导致成本增加;2、ADPCM编码器的压縮效率较低,高于4:1的压縮率会导致音质明显恶化。
申请号为CN200310104551. 4的专利中,提出了采用MPEG1音频编解码算法作为ESP的编解码算法,能够在音质基本没有损失的条件下提高压縮比,由于该方法采用心理声学模型并且使用混合型的滤波器组进行时频分析和逆时频分析,运算复杂度相当大,其峰值处理阶段需要并行完成两次MPEG1 Layer3编码过程和一次MPEG1 Layer3解码过程,以主流的嵌入式处理器ARM9为例,经过优化后仍然需要100MIPS以上的运算开销,该统计数据还是在软仿真上得到的平均量,如果考虑程序和数据需要从动态随机存储器(DRAM)加载到高速缓存(CACHE)的额外开销,以及熵编码的运算量与数据相关,针对不同歌曲,其峰值运算量会超出此数,MPEG1 Layer3的峰值运算量会达到140MIPS以上。以这样的运算复杂度,难以在现有的主流嵌入式处理器如ARM9上实时完成,如果一定要在主流嵌入式处理器实现,则需要将处理器的工作频率提高到140MHz以上,这又会大幅增加系统功耗。

发明内容
本发明旨在解决现有技术的不足,综合考虑算法复杂度和压縮率的要求,提供一种ESP编码器、ESP解码器以及电子防震(ESP)系统,可以在不增加系统硬件成本的情况下有效压縮音频数据,同时本发明还提供了低复杂度音频编解码算法,该方法适合软件实现,能有效延长防震时间。
一种ESP编码器,其特征在于音频样点输入时频分析模块转换为频率系数,频率系数经过量化/熵编码模块压缩成比特流,比特流输出到DRAM缓冲器。
所述ESP编码器的时频分析模块采用MDCT (Modified Discrete Cosine Transform)变换,其定义如下-
^ , 、J(2" + l + W/2)(2"l)、 , niW ,
绿)=X cos(^--& = o,i,.."t -1
其中,x(n)表示音频样点,n为音频样点的标号,取值范围为《 = 0,1,...,7v-1;
X(k)表示频率系数,k为频率系数的标号,取值范围为A = 0,l,...,^-1;
2
N表示每个帧包含音频样点的数量。
MDCT变换是一个全实数的变换,MDCT变换以帧为单位,相邻帧间有一半的样点重叠,可以消除帧边界的突变现象,N值可以在128, 256, 512, 1024, 2048中选取。
所述量化/熵编码模块根据压缩率的要求,采用非线性量化和Huffman编码来压縮数据,在保证音质的条件下,至少能够达到5:1的压縮率,量化/熵编码步骤如下
(1) 时频分析模块输出的频率系数乘以定标因子(Scaling Factor);
(2) 对定标后的频率系数进行非线性量化;
(3) 将量化后的频率系数两两组合成频率系数对(每帧共N/4个频率系数对);(4) 选取Huffman码表,用该码表对频率系数对进行Huffman编码,生成比特流;
(5) 判断Huffman编码产生的比特数是否超出指定压縮率的要求,如果超出,就缩小定标因子,跳转到步骤(1),直至满足压縮率的要求退出迭代;
其中所述量化公式可以为y = int[Jc3/4],式中的int[.]函数表示取整数部分。其中所述码表可以选取为一个固定的码表。
所述ESP编解码器还可以包括封装模块,所述的ESP编码器的封装模块将量化/熵编码模块输出的M帧比特流依次封装到一个固定长度的比特块中,然后再输出到DRAM缓冲器,若M帧比特流的长度之和小于比特块的固定长度,比特块的剩余部分可以用零填充。考虑到存储空间、编解码延迟、比特率平滑要求,M可在2 16间选取。 一方面由于音频信号本质上是非平稳的,在一段时间内(lOms量级)可以看作是短时平稳信号,不同帧经量化编码输出的比特数有很大变化,通过将M帧音频信号量化编码后的比特流封装在一个比特块中,可以降低峰值比特流的影响,另一方面由于比特块的长度固定,ESP解码器很容易确定每个比特块的起始位置,无需费时地进行比特块同步搜索,减小了系统的运算开销。
一种ESP编码方法,其特征在于包括以下步骤
(1) 音频样点通过时频分析转换为频率系数;
(2) 频率系数经过量化/熵编码压縮成比特流;其中所述ESP编码器的时频分析采用MDCT (Modified Discrete Cosine Transform)变
换,其定义如下
尊)=g芈)eo,(2" + l +緒,+ D),………* = o山…J —}
其中,x(n)表示音频样点,n为音频样点的标号,取值范围为n = 0,l,...,iV-l;
X(k)表示频率系数,k为频率系数的标号,取值范围为A: = 0,1,...,!-1;
2
N表示每个帧包含音频样点的数量。其中,所述的N值可以在128, 256, 512, 1024, 2048中选取。其中所述量化/熵编码步骤如下
(1) 经时频分析输出的频率系数乘以定标因子(Scaling Factor);
(2) 对定标后的频率系数进行非线性量化;
(3) 将量化后的频率系数两两组合成频率系数对(每帧共N/4个频率系数对);
(4) 选取Huffman码表,用码表对频率系数对进行Huffman编码,生成比特流;
8(5)判断Huffman编码产生的比特数是否超出指定压縮率的要求,如果超出,就縮小定标因子,跳转到步骤(1),直至满足压縮率的要求退出迭代。其中,所述量化公式可以为;;-int[户"],式中的int[.]函数表示取整数部分。
一种ESP编码方法,其特征还可以将量化/熵编码输出的M帧比特流依次封装到一个固定长度的比特块中,若M帧比特流的长度之和小于比特块的固定长度,比特块的剩余部分可以用零填充。
其中,所述M可在2 16间选取。
一种ESP解码器,其特征在于从DRAM缓冲器中读取一个比特块长度的比特流,然后将一个比特块长度的比特流送入熵解码/反量化模块的输入缓冲区,进纟f熵解码和反量化运算后得到重建的频率系数送入逆时频分析模块,进行IMDCT (Inverse Modified Discrete CosineTransform)变换,重建后的时域信号并输出播放。所述的熵解码/反量化模块的过程如下
(1) 使用与ESP编码器相同的码表对输入缓冲区的一个比特块的比特流进行Huffman解码,解码得到M*N/4个频率系数对,其中每个频率系数对包含两个频率系数,共,N/2个频率系数,以及M个反定标因子ISF[m] (m-l,…,M),其中每帧一个反定标因子;
(2) 对解码得到的M州/2个频率系数进行反量化处理,得到线性的频率系数;
(3) 使用第(1)步解码得到的反定标因子ISF[m] (m=l,…,M),对第(2)步得到的线性频率系数进行反定标(二者相乘),得到反定标后的频率系数;
(4) 将M承N/2个反定标后的频率系数,依次分为M帧,每帧N/2个频率系数,输出至逆时频分析模块。
其中所述反量化的公式可以为:v = int[x3/4],其中int[.]函数表示取整数部分。
所述的ESP解码器中的逆时频分析模块将熵解码/反量化模块输出的频率系数,转换为PCM(Pulse Coding Modulation)信号,该模块采用IMDCT (Inverse Modified Discrete CosineTransform)变换,该变换是全实数变换,有多种高效的快速算法,在此不重述。采用快速算
法后,其平均每个样点的运算复杂度C与N值的关系可以表示为61001^2^, IMDCT的定义如下
<formula>formula see original document page 9</formula>其中,X(k)表示频率系数,k为频率系数的标号,取值范围为A = 0,1,...,^-1;
2
i(")表示IMDCT变换后的音频样点,n为其标号,取值范围为"=0,1,...,7V-1;
N表示每个帧包含音频样点的数量。一种ESP解码方法,其特征在于包含下列步骤
(1) 将一个比特块长度的比特流进行熵解码/反量化,得到重建的频率系数;
(2) 对频率系数进行逆时频腦CT (Inverse Modified Discrete Cosine Transform)分析,得到重建后的时域信号并输出播放。
其中,所述的熵解码/反量化步骤如下
(1) 使用与ESP编码方法相同的码表对输入缓冲区的一个比特块的比特流进行Huffman解码,解码得到M*N/4个频率系数对,其中每个频率系数对包含两个频率系数,共M伞N/2个频率系数,以及M个反定标因子ISF[m] (m=l,一,M),其中每帧一个反定标因子;
(2) 对解码得到的齡N/2个频率系数进行反量化处理,得到线性的频率系数;
(3) 使用第(1)步解码得到的反定标因子ISF[m](iFl,…,M),对第(2)步得到的线性频率系数进行反定标(二者相乘),得到反定标后的频率系数;
(4) 将^WV2个反定标后的频率系数,依次分为M帧,每帧N/2个频率系数,输出至逆时频分析模块。
其中,所述反量化的公式可以为;^int[x"4],其中int[.]函数表示取整数部分。
其中,所述的ESP解码方法中的逆时频分析采用IMDCT (Inverse Modified DiscreteCosine Transform)变换,頂DCT的定义如下
1义(A:)cos(^-^-9,............" = 0,1,...,jV —1
其中,X(k)表示频率系数,k为频率系数的标号,取值范围为6 = 0,1,...,^-1;
2
i(")表示IMDCT变换后的音频样点,n为其标号,取值范围为"=0,l,...,iV-l;
N表示每个帧包含音频样点的数量。一种ESP系统,其特征在于包括ESP编码器,DRAM缓冲器、ESP解码器,当开启ESP系统时,音频样点依次通过ESP编码器编码进行编码,编码后的码流存储在DRAM缓冲器中,DRAM缓冲区中的码流经ESP解码器解码输出,其特征在于釆用如上所述ESP编码器和ESP解码器。本发明有益效果是能够在使CD播放器音质基本无损失的情况下,舍弃了心理声学模型,用较小的运算量,实现较高的压縮率从而达到较长的防震时间,提高动态随机存储器的使用效率,延长防震时间,同时本发明采用基于块的运算结构,适合软件实现,算法的运算复杂度低,有利于降低系统主频,从而降低系统功耗并提高系统的稳定性。


图1 ESP系统图
图2 ESP编码器结构图1
图3 ESP编码器结构图2
图4 ESP解码器结构图1
图5 ESP编码量化/熵编码流程图
图6 ESP解码熵解码/反量化流程图
具体实施例
如图2所示一种ESP编码器,其特征在于音频样点输入时频分析模块(20)转换为频率系数,频率系数经过量化/熵编码模块(21)压縮成比特流,比特流输出到DRAM缓冲器。
所述ESP编码器的时频分析模块(20)采用MDCT (Modified Discrete Cosine Transform)变换,其定义如下
爛=g , C + ",(阔),............* =^ -!
其中,x(n)表示音频样点,n为音频样点的标号,取值范围为n = 0,l,...,7V-1;
X(k)表示频率系数,k为频率系数的标号,取值范围为^ = 0,1,...,^-1;
2
N表示每个帧包含音频样点的数量。MDCT变换是一个全实数的变换,有多种高效的快速算法,如文献[l] Mu-Huo Cheng, etc.Fast MDCT and MDCT Algorithms A Matrix Approach. IEEE Transactions on Signal
Processing, Vol. 51, NO. 1, Jan 2003.、文献[2] Bycond Gi Lee. A new algorithm to computethe discrete cosine transform[J"] IEEE Traxisactions on Acoustics. Speech, and SignalProcessing. 1984,32(6) :1243-1245等多篇文献公开的算法均可以应用于本发明,在此不重述。MDCT变换以帧为单位,相邻帧间有一半的样点重叠,可以消除帧边界的突变现象。N的选取需考虑如下因素1、 N选取为2的整数次幂,有利于快速算法的实现;2、 N越大频谱分 辨力越高,有利于提高压縮率;3、 N越大,运算复杂度越高,平均每个样点的运算复杂度C
与N值的关系可以表示为C^^g2^; 4、音频信号的特性是短时平稳的,N值选取过大没有 意义,基于以上考虑,N值可以在128, 256, 512, 1024, 2048中选取。
所述量化/熵编码模块(21)根据压縮率的要求,采用非线性量化和Huffman编码来压縮 数据,在保证音质的条件下,至少能够达到5:1的压縮率,量化/熵编码步骤如下(如图5所 示)
(1) 时频分析模块(20)输出的频率系数乘以定标因子(Scaling Factor);
(2) 对定标后的频率系数进行非线性量化;
(3) 将量化后的频率系数两两组合成频率系数对(每帧共N/4个频率系数对);
(4) 选取Huffman码表,用该码表对频率系数对进行Huffman编码,生成比特流;
(5) 判断Huffman编码产生的比特数是否超出指定压缩率的要求,如果超出,就縮小 定标因子,跳转到步骤(1),直至满足压縮率的要求退出迭代;
其中所述量化公式可以为_y = int[x3/4],式中的int[.]函数表示取整数部分。 其中所述码表可以选取为一个固定的码表。
所述ESP编解码器还可以包括封装模块(22),如图3所示,所述的ESP编码器的封装模 块(22)将量化/熵编码模块输出的M帧比特流依次封装到一个固定长度的比特块中,然后再 输出到DRAM缓冲器,若M帧比特流的长度之和小于比特块的固定长度,比特块的剩余部分可 以用零填充。考虑到存储空间、编解码延迟、比特率平滑要求,M可在2 16间选取。 一方 面由于音频信号本质上是非平稳的,在一段时间内(10ms量级)可以看作是短时平稳信号, 不同帧经量化编码输出的比特数有很大变化,通过将M帧音频信号量化编码后的比特流封装 在一个比特块中,可以降低峰值比特流的影响,另一方面由于比特块的长度固定,ESP解码 器很容易确定每个比特块的起始位置,无需费时地进行比特块同步搜索,减小了系统的运算 开销。
一种ESP编码方法,其特征在于包括以下步骤
(1) 音频样点通过时频分析转换为频率系数;
(2) 频率系数经过量化/熵编码压縮成比特流; 其中所述ESP编码器的时频分析采用MDCT (Modified Discrete Cosine Transform)变
换,其定义如下,
12w'、 ^ , 、 ^(2n + l + A^/2)(2"l)、 ,ni W ,
绿)=gx(")cos(~^--^),............A: = 0,1,…,y-1
其中,x(n)表示音频样点,n为音频样点的标号,取值范围为"=0,1,...,W-1;
X(k)表示频率系数,k为频率系数的标号,取值范围为/t=0,l,...,!-1;
2
N表示每个帧包含音频样点的数量。 其中,所述的N值可以在128, 256, 512, 1024, 2048中选取。 其中所述量化/熵编码步骤如下(如图5所示)
(1) 经时频分析输出的频率系数乘以定标因子(Scaling Factor);
(2) 对定标后的频率系数进行非线性量化;
(3) 将量化后的频率系数两两组合成频率系数对(每帧共N/4个频率系数对);
(4) 选取Huffman码表,用码表对频率系数对进行Huffman编码,生成比特流;
(5) 判断Huffman编码产生的比特数是否超出指定压縮率的要求,如果超出,就縮小 定标因子,跳转到步骤(1),直至满足压縮率的要求退出迭代。
其中,所述量化公式可以为》,=int[x3"],式中的int[.]函数表示取整数部分。
一种ESP编码方法,其特征还可以将量化/熵编码输出的M帧比特流依次封装到一个固定 长度的比特块中,若M帧比特流的长度之和小于比特块的固定长度,比特块的剩余部分可以 用零填充。
其中,所述M可在2 16间选取。
一种ESP解码器,如图4所示,从DRAM缓冲器中读取一个比特块长度的比特流,然后将 一个比特块长度的比特流送入熵解码/反量化模块(41)的输入缓冲区,进行熵解码和反量化 后,得到重建的频率系数送入逆时频分析模块(42),进行IMDCT (Inverse Modified Discrete Cosine Transform)变换,得到重建后的时域信号并输出播放。 所述的熵解码/反量化模块(41)的过程如下(如图6所示)
(1) 使用与ESP编码器相同的码表对输入的一个比特块的比特流进行Huffman解码, 解码得到M*N/4个频率系数对,其中每个频率系数对包含两个频率系数,共M*N/2 个频率系数,以及M个反定标因子ISF[m] (np4,…,M),其中每帧一个反定标因 子;
(2) 对解码得到的^N/2个频率系数进行反量化处理,得到线性的频率系数;
(3) 使用第(l)步解码得到的反定标因子ISF[m] (m=l,…,M),对第(2)步得到的线性频率系数进行反定标(二者相乘),得到反定标后的频率系数; (4)将M,/2个反定标后的频率系数,依次分为M帧,每帧N/2个频率系数,输出至 逆时频分析模块(42)。 其中所述反量化的公式可以为J = int[x3"],其中int[.]函数表示取整数部分。
所述的ESP解码器中的逆时频分析模块(42)将熵解码/反量化模块输出的频率系数,转 换为PCM (Pulse Coding Modulation)信号,该模块采用頂DCT (Inverse Modified Discrete Cosine Transform)变换,该变换是全实数变换,有多种高效的快速算法,其中如前述文献 [l]、文献[2]等多篇文献公开的算法均可以应用于本发明,在此不重述。采用快速算法后,
其平均每个样点的运算复杂度C与N值的关系可以表示为C 00 lQg2 W , IMDCT的定义如下, = 1 Z("cos(^-^-............" = 0,l,.."iV —1
其中,X(k)表示频率系数,k为频率系数的标号,取值范围为t = 0,l,...,|-l;
x(")表示IMDCT变换后的音频样点,n为其标号,取值范围为"=0,1,...,W-1;
N表示每个帧包含音频样点的数量。
一种ESP解码方法,其特征在于包含下列步骤
(1) 从DRAM缓冲器中读取一个比特块长度的比特流进行熵解码/反量化,得到重建的 频率系数;
(2) 对频率系数进行逆时频頂DCT (Inverse Modified Discrete Cosine Transform) 分析,得到重建后的时域信号并输出播放。
其中,所述的熵解码/反量化步骤如下(如图6所示)
(1) 使用与ESP编码方法相同的码表对输入的一个比特块的比特流进行Huffman解 码,解码得到M*N/4个频率系数对,其中每个频率系数对包含两个频率系数,共 M沐N/2个频率系数,以及M个反定标因子ISF[m] (hf1,…,M),其中每帧一个反 定标因子;
(2) 对解码得到的^WV2个频率系数进行反量化处理,得到线性的频率系数;
(3) 使用第(1)步解码得到的反定标因子ISF[m](n^l,…,M),对第(2)步得到的线 性频率系数进行反定标(二者相乘),得到反定标后的频率系数;
(4) 将齡N/2个反定标后的频率系数,依次分为M帧,每帧N/2个频率系数,输出至
逆时频分析模块。其中,所述反量化的公式可以为少=^[;^/4],其中int[.]函数表示取整数部分。
其中,所述的ESP解码方法中的逆时频分析采用IMDCT (Inverse Modified Discrete Cosine Transform)变换,IMDCT的定义如下,
<formula>formula see original document page 15</formula>
其中,X(k)表示频率系数,k为频率系数的标号,取值范围为yt = 0,l,...,!-l;
2
f(")表示頂DCT变换后的音频样点,n为其标号,取值范围为"=0,,...,W-1 ;
N表示每个帧包含音频样点的数量。
一种ESP系统,其特征在于包括ESP编码器,DRAM缓冲器、ESP解码器,当开启ESP系 统时,音频样点依次通过ESP编码器编码进行编码,编码后的码流存储在DRAM缓冲器中,DRAM 缓冲区中的码流经ESP解码器解码输出,其特征在于采用如上所述ESP编码器和ESP解码器。
应该理解到的是上述实施例只是对本发明的说明,而不是对本发明的限制,任何不超 出本发明实质精祌范围内的发明创造修改等其他非实质性的替换或修改,均落入本发明保护 范围之内。
权利要求
1.一种ESP编码器,其特征在于音频样点输入时频分析模块转换为频率系数,频率系数经过量化/熵编码模块压缩成比特流,比特流输出到DRAM缓冲器,其中,所述ESP编码器的时频分析模块采用MDCT(Modified Discrete Cosine Transform)变换,其定义如下<maths id="math0001" num="0001" ><math><![CDATA[ <mrow><mi>X</mi><mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo></mrow><mo>=</mo><munderover> <mi>&Sigma;</mi> <mrow><mi>n</mi><mo>=</mo><mn>0</mn> </mrow> <mrow><mi>N</mi><mo>-</mo><mn>1</mn> </mrow></munderover><mi>x</mi><mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo></mrow><mi>cos</mi><mrow> <mo>(</mo> <mfrac><mrow> <mi>&pi;</mi> <mrow><mo>(</mo><mn>2</mn><mi>n</mi><mo>+</mo><mn>1</mn><mo>+</mo><mi>N</mi><mo>/</mo><mn>2</mn><mo>)</mo> </mrow> <mrow><mo>(</mo><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo> </mrow></mrow><mrow> <mn>2</mn> <mi>N</mi></mrow> </mfrac> <mo>)</mo></mrow><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>.</mo><mi>k</mi><mo>=</mo><mn>0,1</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mfrac> <mi>N</mi> <mn>2</mn></mfrac><mo>-</mo><mn>1</mn> </mrow>]]></math></maths>其中,x(n)表示音频样点,n为音频样点的标号,取值范围为n=0,1,...,N-1;X(k)表示频率系数,k为频率系数的标号,取值范围为<maths id="math0002" num="0002" ><math><![CDATA[ <mrow><mi>k</mi><mo>=</mo><mn>0,1</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mfrac> <mi>N</mi> <mn>2</mn></mfrac><mo>-</mo><mn>1</mn><mo>;</mo> </mrow>]]></math> id="icf0002" file="A2008100634880002C2.tif" wi="29" he="9" top= "80" left = "145" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>N表示每个帧包含音频样点的数量。
2. 如权利要求1所述的一种ESP编码器,其特征在于N值可以在128, 256, 512, 1024, 2048中选取。
3. 如权利要求1所述的一种ESP编码器,其特征在于所述量化/熵编码步骤如下(1) 将时频分析模块输出的频率系数乘以定标因子(Scaling Factor);(2) 对定标后的频率系数进行非线性量化;(3) 将量化后的频率系数两两组合成频率系数对(每帧共N/4个频率系数对);(4) 选取Huffman码表,用码表对频率系数对进行Huffman编码,生成比特流;(5) 判断Huffman编码输出的比特数是否超出指定压縮率的要求,如果超出,就縮小定标因子,跳转到步骤(1),直至满足压縮率的要求退出迭代。
4. 如权利要求3所述的一种ESP编码器,其特征在于所采用的量化公式可以为^ = int[x3,,式中的intU函数表示取整数部分。
5. 如权利要求3所述的一种ESP编码器,其特征在于所述码表可以选取为一个固定的码表。
6. 如权利要求3所述的一种ESP编码器,其特征在于所述ESP编解码器还可以包括封装模块,所述封装模块,将量化/熵编码模块输出的M帧比特流依次封装到比特块中,然后再输出到DRAM缓冲器。
7. —种ESP编码方法,其特征在于包括以下步骤(1) 将音频样点进行时频分析转换为频率系数;(2) 频率系数经过量化/熵编码压縮成比特流;其中所述的时频分析采用MDCT (Modified Discrete Cosine Transform)变换,其定义如下<formula>formula see original document page 3</formula>其中,x(n)表示音频样点,n为音频样点的标号,取值范围为"=0,1,...,7^-1;X(k)表示频率系数,k为频率系数的标号,取值范围为4=0,1,...,!-1; N表示每个帧包含音频样点的数量。
8. 如权利要求7所述的ESP编码方法,其特征在于所述N值可以在128, 256, 512, 1024,2048中选取。
9. 如权利要求7所述的ESP编码方法,其特征在于所述量化/熵编码步骤如下(1) 将经时频分析输出的频率系数乘以定标因子(Scaling Factor);(2) 对定标后的频率系数进行非线性量化;(3) 将量化后的频率系数两两组合成频率系数对(每帧共N/4个频率系数对);(4) 选取Huffman码表,用码表对频率系数对进行Huffman编码,生成比特流;(5) 判断Huffman编码输出的比特数是否超出指定压縮率的要求,如果超出,就縮小定标因子,跳转到步骤(1),直至满足压縮率的要求退出迭代。
10. 如权利要求9所述的ESP编码方法,其特征在于所述量化公式可以为y = int[ 4l,式中的int[']函数表示取整数部分。
11. 如权利要求7所述的ESP编码方法,其特征在于还可以将量化/熵编码模块输出的M帧比特流依次封装到比特块中,然后再输出到DRAM缓冲器。
12. 如权利要求11所述的ESP编码方法,其特征在于所述M可在2 16间选取。
13. —种ESP解码器,其特征在于从DRAM缓冲器中读取一个比特块长度的比特流,然后将一个比特块长度的比特流送入熵解码/反量化模块的输入缓冲区,得到重建的频率系数送入逆时频分析模块,进行IMDCT (Inverse Modified Discrete Cosine Transform)变换,得到重建后的时域信号并输出播放。
14. 如权利要求13所述的ESP解码器,其特征在于熵解码/反量化歩骤如下(1) 使用与ESP编码器相同的码表对输入的一个比特块的比特流进行Huffman解码,解码得到M*N/4个频率系数对,其中每个频率系数对包含两个频率系数,共M*N/2个频率系数,以及M个反定标因子ISF[m] (m=l,一,M),其中每帧一个反定标因子;(2) 对解码得到的M*N/2个频率系数进行反量化处理,得到线性的频率系数;(3) 使用第一步解码得到的反定标因子ISF[m] (m=l,…,M),对第二步得到的线性频率 系数进行反定标(二者相乘),得到反定标后的频率系数;(4) 将M+N/2个反定标后的频率系数,分为M帧,每帧N/2个频率系数,输出至逆时 频分析模块。
15. 如权利要求14所述的ESP解码器,其特征在于其中所述反量化的公式可以为少-int[ ,, 其中int[']函数表示取整数部分。
16. 如权利要求13所述的ESP解码器,其特征在于所述的ESP解码器中的逆时频分析模块采 用IMDCT (Inverse Modified Discrete Cosine Transform)变换,IMDCT的定义如下:-/ 、 ,v,'、,"(2" + l + W/2)(2A; + l)、 ni、,,其中,X(k)表示频率系数,k为频率系数的标号,取值范围为A = 0,1,...,#-1;"")表示IMDCT变换后的音频样点,n为其标号,取值范围为"=0,1,...,W-1;N表示每个帧包含音频样点的数量。
17. —种ESP解码方法,其特征在于包含下列步骤(1) 将一个比特块长度的比特流送入熵解码/反量化,得到重建的频率系数;(2) 进行逆时频分析,得到重建后的时域信号并输出播放。
18. 如权利要求17所述的ESP解码方法,其特征在于所述的熵解码/反量化步骤如下(1) 使用与ESP编码方法相同的码表对输入的一个比特块的比特流进行Huffman解 码,解码得到M*N/4个频率系数对,其中每个频率系数对包含两个频率系数,共 M氺N/2个频率系数,以及M个反定标因子ISF[m] (n^l,…,M),其中每帧一个反 定标因子;(2) 对解码得到的M^N/2个频率系数进行反量化处理,得到线性的频率系数;(3) 使用第一步解码得到的反定标因子ISF[m] (m=l,…,M),对第二步得到的线性频率 系数进行反定标(二者相乘),得到反定标后的频率系数;(4) 将M+N/2个反定标后的频率系数,分为M帧,每帧N/2个频率系数,输出至逆时 频分析模块。
19. 如权利要求18所述的ESP解码方法,其特征在于所述的反量化的公式可以为yzint[^"J, 其中int[']函数表示取整数部分。
20. 如权利要求17所述的ESP解码方法,其特征在于所述的逆时频分析采用IMDCT变换,其 定义如下x(")= 1义(A:)cos(^--0,............" = 0,1"."7V — 1其中,X(k)表示频率系数,k为频率系数的标号,取值范围为yt = 0,l,...,!-l; ;f(")表示MDCT变换后的音频样点,n为其标号,取值范围为"=O,l,...,iV-1 ;N表示每个帧包含音频样点的数量。
21. —种ESP系统,其特征在于包括ESP编码器,DRAM缓冲器、ESP解码器,当开启ESP系 统时,音频样点依次通过ESP编码器进行编码,编码后的码流存储在DRAM缓冲器,DRAM 缓冲区中的码流经ESP解码器解码输出,其特征在于编码器采用MDCT变换、非线性量化 和熵编码,解码器采用熵解码、非线性反量化和IMDCT变换。
22. 如权利要求21所述的ESP系统,其特征在于MDCT变换定义如下増=^(")C" +两2"1)),…………* = 0丄…,—i 其中,x(n)表示音频样点,n为音频样点的标号,取值范围为w = 0,l,...,iV-l;X(k)表示频率系数,k为频率系数的标号,取值范围为4 = 0,1,...,^-1;2N表示每个帧包含音频样点的数量。
23. 如权利要求21所述的ESP系统,其特征在于IMDCT变换定义如下x(tt)= 1 X(A:)cos("^-^-^),............" = 0,1,.."^V-1其中,X(k)表示频率系数,k为频率系数的标号,取值范围为A: = 0,l,...,^-1;2;(")表示I腦CT变换后的音频样点,n为其标号,取值范围为"=0,1,...,7V-1;N表示每个帧包含音频样点的数量。
全文摘要
本发明提供了一种ESP编码器以及编码方法,其特征在于音频样点输入时频分析模块,进行MDCT变换,将音频样点转换为频率系数,频率系数经过量化/熵编码模块压缩成比特流,比特流输出到DRAM缓冲器,本发明还提供了一种ESP解码器以及解码方法,其特征在于从DRAM缓冲器中读取一个比特块长度的比特流,然后将一个比特块长度的比特流送入熵解码/反量化模块的输入缓冲区,进行熵解码和非线性反量化后,得到重建的频率系数送入逆时频分析模块,进行IMDCT变换,得到重建后的时域信号并输出播放,上述ESP编解码器及方法可以应用于电子防震系统中。
文档编号H03M7/30GK101651457SQ200810063488
公开日2010年2月17日 申请日期2008年8月14日 优先权日2008年8月14日
发明者李炎钊, 邢文峰 申请人:杭州士兰微电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1