音频编解码装置及编解码方法

文档序号:2830733阅读:229来源:国知局
专利名称:音频编解码装置及编解码方法
技术领域
本发明涉及数字信号处理,尤其涉及一种音频编解码装置及编解码方法。

背景技术
目前的音频信号格式存在多种标准,如MP3(MPEG Audio Layer 3),AAC(Advanced Audio Coding),AAC+,AAC++,WMA(Windows MediaAudio)以及Real Audio等。目前的音频标准均采用了MDCT(ModifiedDiscrete Cosine Transform,改进离散余弦变换)/IMDCT(Inverse ModifiedDiscrete Cosine Transform,改进离散余弦反变换)作为信号时频及频时转换的方法。
美国专利申请US2008/65373公开了一种音频编码装置及方法。该音频编码装置可使延时保持在比较小的范围内,并使帧间失真情况得到缓解。该装置及方法提到了MDCT。然而,在目前的技术中,MDCT均存在较高复杂度,需要较大的运算量。
鉴于上述原因,本发明实施例提出一种高效的音频编解码方法及装置以提高系统实现的性能并降低功耗。


发明内容
本发明要解决的技术问题在于提出一种高效的音频编解码方法及装置以提高系统实现的性能并降低功耗。
为解决上述问题,根据本发明的一种音频编解码方法包括确定接收的待变换信号数量为2i×3j,其中i和j为整数;对该待变换信号进行i次基2递归分解,分解成为3j点离散余弦变换;对该3j点离散余弦变换进行j次基3递归分解,分解成为3点离散余弦变换。
根据本发明的一种音频编解码装置包括该装置包括判断模块,用于确定接收的待变换信号数量为2i×3j,其中i和j为整数;运算模块,用于对该待变换信号进行i次基2递归分解,分解成为3j点离散余弦变换;以及用于对所述3j点离散余弦变换进行j次基3递归分解,分解成为3点离散余弦变换。
与现有技术相比,本发明实施例能够提高音频编解码系统实现的性能并降低功耗。本发明实施例提供的装置能完成2点和3点离散余弦变换的统一实现,从而实现2i×3j点离散余弦变换。同时,对于任意2i×3j点待变换信号可以通过2点和3点离散余弦变换实现,能完成各种音频标准的统一实现。



图1为本发明实施例音频编解码装置的结构示意图。
图2为本发明实施例音频编解码方法的流程图。
图3为本发明实施例中通过N/2点DCT-II实现N点MDCT的信号流图。
图4为本发明实施例中通过N/2点DCT-II实现N点IMDCT的信号流图。
图5为本发明实施例中8点DCT-II分解数据流图。
图6为本发明实施例中9点DCT-II分解数据流图。
图7为图1中蝶形运算模块的结构图示。
图8为本发明实施例中蝶形运算模块进行2点运算的示意图。
图9-12为本发明实施例中蝶形运算模块进行3点运算的示意图。
图13为图1中递归运算模块的结构图示。
图14为本发明实施例中音频编解码装置硬件实现架构图。

具体实施例方式 以下结合附图对本发明具体实施方式
进行说明。
图1所示为本发明实施例音频编解码装置的结构示意图。如图所示,本发明实施例的音频编解码装置10包括判断模块101和运算模块103。判断模块101,用于确定接收的待变换信号数量为2i×3j,i和j为整数;运算模块103,用于对待变换信号进行i次基2递归分解,分解为3j点离散余弦变换;以及对该3j点离散余弦变换变换进行j次基3递归分解,分解成为3点离散余弦变换。
其中,运算模块103进一步包括蝶形运算模块1031和递归运算模块1033。
进一步参阅图2,图2所示为本发明实施例音频编解码方法的流程图。本发明实施例音频编解码方法,包括S201,确定接收的待变换信号数量为2i×3j,i和j为整数;S203,对该待变换信号进行i次基2递归分解,分解成3j点离散余弦变换;S205,对该3j点离散余弦变换进行j次基3递归分解,分解成3点离散余弦变换。
MDCT是音频编码运算过程中将声音信号从时域向频域变换的一种算法。其运算表达如公式(1)所示。
公式(1) IMDCT是音频解码运算过程中,将声音信号从频域向时域变换的一种算法。MDCT的逆运算。其运算表达如公式(2)所示。 公式(2) 其中x(n)为时域信号,X(K)为频域信号。
为解决MDCT/IMDCT快速实现的问题,本发明实施例通过对MDCT/IMDCT的运算表达式进行分析、转换,以提出一种快速实现的计算方法及其实现装置。在实施例中,MDCT/IMDCT转换分为MDCT/IMDCT到DCT-IV的转换和DCT-IV到DCT-II两部分。
N点MDCT到DCT-IV的转换分别通过输入信号的顺序置换和N/2次加法实现。输入信号的顺序置换如公式(3) 公式(3) 令x"(k)=x′(k)-x′(N-1-k) 公式(4) 则N点MDCT通过N/2点的DCT-IV实现如公式(5) 公式(5) N点IMDCT到N/2点DCT-IV的转换可以通过输出信号的顺序置换实现,如公式(6) 公式(6) 其中n=0,...,N/2-1、n′=0,...,N-1。
在实施例中,x(k)为IMDCT输入信号,x(n′)为IMDCT的最终输出信号。
从DCT-IV到DCT-II的转换描述如下。
DCT-IV的运算表达如公式(7)所示 n=0,...,N/2-1 公式(7) 从公式(7)可以得出公式(8) n=0,...,N/2-1 公式(8) 假定 则DCT-IV可通过公式(9)实现 公式(9) 对比DCT-II的表达式,如公式(10)所示公式(10) 因此,N/2点DCT-IV可以通过N/2次乘法及N/2-1次加法转换成N/2点DCT-II实现,从而N点MDCT/IMDCT的实现转换成了N/2点DCT-II的实现。图3、4所示即为分别为通过N/2点DCT-II实现N点MDCT/IMDCT的信号流图。
由于通常情况下,音频标准中使用的MDCT/IMDCT点数为2i×3j,基于该种情况,本发明实施例给出DCT-II的快速实现方法。
■偶数点DCT-II分解 对于N点DCT-II,N为偶数时,其奇数输出可如公式(11)所示 n=0,...,N/2-1 公式(11) 偶数输出可表示为公式(12) 公式(12) 对比公式(12)和DCT-II的表达式公式(10)可以发现,对于偶数N点DCT-II可以通过不断递归分解成更低阶的DCT-II实现,直至最终成为奇数N2点DCT-II。
■3j点DCT-II快速实现算法 对于3j点DCT-II的实现,首先对输入信号的顺序置换如下。
x1(k)=x(k) x2(k)=x(2N/3+k),k=0,...,N/3-1 x3(k)=x(2N/3-k-1) 则DCT-II的3n,3n+1,3n+2的输出如公式(13) ,n=0,....,N/3-1 公式(13) 在公式(13)中,x(-n)=x(n)。
图5、图6分别给出8点DCT-II和9点DCT-II的分解数据流图。
本发明实施例进一步描述了实现快速MDCT/IMDCT变换的音频编解码装置。如图7所示为图1中运算模块103的蝶形运算模块1031的结构图示。该蝶形运算模块1031可同时适用于2点和3点蝶形运算。如图7所示,蝶形运算模块包括两个加法器,一个乘法器,及一个移位器,其中移位器将只在3点蝶形运算中打开。
图8所示为图7中蝶形运算模块进行2点蝶形运算的运算图示。
在进行3点蝶形运算时,如图9至图12所示,首先将x(2)和x(3)输入到蝶形运算模块,输出分别为x2(k)+x3(k)和

如图10所示,将x(1)和第一次蝶形运算的第一个输出x2(k)+x3(k)输入到蝶形运算模块,打开移位器,第二次蝶形运算的输出分别为x1(k)+x2(k)+x3(k)和

此时3点蝶形运算的第一个输出x1(k)+x2(k)+x3(k)已经产生。同时还需将乘法器的输入2x1(k)-x2(k)-x3(k)存入寄存器中。然后将第一次蝶形运算的第二个输出

和第二次蝶形运算的第二次输出作为蝶形模块的输入,得到3点蝶形运算的第二个输出最后对该次蝶形运算的第二个输出和寄存器中的2x1(k)-x2(k)-x3(k)通过加法器相减即可得到3点蝶形运算的第三个输出从而完成3点蝶形运算。
图1中运算模块103的递归运算模块1033的结构图如图13所示。递归运算模块包含了一个加法器和一个寄存器。由于以上描述的各种转换中所使用的加法和乘法运算比较简单,属于蝶形运算和递归迭代运算模块的子集,均可通过该两个模块实现。因此在实施例中,实现音频各种标准中MDCT/IMDCT的硬件实现可以不需要其他的硬件资源。
本发明实施例音频编解码方法中的MDCT/IMDCT转换为DCT-II运算实现,现主要包括乘法、加法、蝶形分解及递归运算。本发明实施例中,音频编解码装置硬件实现架构如图14所示。该架构可用于实现适用于各种不同音频标准统一的MDCT/IMDCT,包含了以上描述的蝶形运算模块和递归迭代运算模块。其中,蝶形运算模块不仅用于DCT-II的蝶形运算还用于MDCT/IMDCT到DCT-II转换过程中的乘法与加法的实现。该架构的控制单元包括各个步骤中的地址产生器,地址/数据的复用单元及一个控制器。在MDCT/IMDCT的实现中,控制器将依据实现的各个步骤产生相应的控制信号来选择不同的地址产生器和运算单元,这些信号包括DCT-IV到DCT-II转换的选择信号,蝶形运算模块选择信号,递归迭代运算模块选择信号及DCT—II到DCT-IV转换的选择信号。
综合以上分析,本发明实施例能够提高音频编解码系统实现的性能并降低功耗,同时由于该方法及装置不涉及具体音频标准的特点,对于任意2i×3j点待变换信号可以通过2点和3点离散余弦变换实现,能完成各种音频标准的统一实现。
本发明将适用于所有采用2i×3j点MDCT/IMDCT的标准和方法。本发明实施例给出了一种2i×3j点的MDCT/IMDCT方法及装置,同时对于只有2i点或3j点的MDCT/IMDCT,其可以视为i或j为0的特殊情况,因此可以根据本发明实施例的描述加以相应地变化实现。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种音频编解码方法,其特征在于该方法包括确定接收的待变换信号数量为2i×3j,其中i和j为整数;对所述待变换信号进行i次基2递归分解,分解成为3j点离散余弦变换;对所述3j点离散余弦变换进行j次基3递归分解,分解成为3点离散余弦变换。
2.如权利要求1所述的方法,其特征在于所述待变换信号进行基2分解分为奇数待变换信号x(2n+1)和偶数待变换信号x(2n),其中n=0,...,N/2-1,N为所述待变换信号的总数。
3.如权利要求1所述的方法,其特征在于该方法进一步包括所述3j点离散余弦变换在所述递归分解之前进行输入信号置换,所述输入信号置换表达式为其中k=0,...,N/3-1,N为所述待变换信号的总数。
4.如权利要求3所述的方法,其特征在于所述3点离散余弦变换满足关系
其中,x(-n)=x(n),n=0,....,N/3-1。
5.如权利要求1至4任意一项所述的方法,其特征在于所述离散余弦变换为离散余弦变换II型,DCT-II。
6.一种音频编解码装置,其特征在于,该装置包括判断模块,用于确定接收的待变换信号数量为2i×3j,其中i和j为整数;运算模块,用于对所述待变换信号进行i次基2递归分解,分解成为3j点离散余弦变换;以及用于对所述3j点离散余弦变换进行j次基3递归分解,分解成为3点离散余弦变换。
7.如权利要求6所述的装置,其特征在于所述运算模块用于将所述待变换信号分为奇数待变换信号x(2n+1)和偶数待变换信号x(2n),其中n=0,...,N/2-1,N为所述待变换信号的总数。
8.如权利要求6所述的装置,其特征在于所述运算模块用于将3j点离散余弦变换在递归分解之前进行输入信号置换,输入信号置换表达式为其中k=0,...,N/3-1,N为所述待变换信号的总数。
9.如权利要求8所述的装置,其特征在于所述运算模块计算3点离散余弦变换满足关系
其中,x(-n)=x(n),n=0,....,N/3-1。
10.如权利要求6所述的装置,其特征在于所述运算模块进一步包括蝶形运算模块和递归运算模块。
11.如权利要求10所述的装置,其特征在于所述蝶形运算模块包括加法器和乘法器用于计算所述待变换信号的蝶形运算,并进一步包括移位器用于计算3点离散余弦变换的蝶形运算。
12.如权利要求6-11任意一项所述的装置,其特征在于所述离散余弦变换为离散余弦变换II型,DCT-II。
全文摘要
本发明实施例公开了一种音频编解码方法。该方法包括确定接收的待变换信号数量为2i×3j,其中i和j为整数;对该待变换信号进行i次基2递归分解,分解成为3j点离散余弦变换,再进行j次基3递归分解,分解成为3点离散余弦变换。本发明实施例还公开了一种音频编解码装置,可以实现2点和3点离散余弦变换的统一实现单元结构,从而使用这一统一的单元结构最终实现2i×3j点离散余弦变换。本发明实施例可以提高音频编解码系统实现的性能并降低功耗,同时,对于任意2i×3j点待变换信号可以通过2点和3点离散余弦变换实现,能完成各种音频标准的统一实现。
文档编号G10L19/02GK101546560SQ200810035349
公开日2009年9月30日 申请日期2008年3月28日 优先权日2008年3月28日
发明者昙 李, 张本好, 黄鹤云, 林福辉 申请人:展讯通信(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1