CN102103859B - 一种数字音频编码、解码方法及装置 - Google Patents

一种数字音频编码、解码方法及装置 Download PDF

Info

Publication number
CN102103859B
CN102103859B CN2011100042443A CN201110004244A CN102103859B CN 102103859 B CN102103859 B CN 102103859B CN 2011100042443 A CN2011100042443 A CN 2011100042443A CN 201110004244 A CN201110004244 A CN 201110004244A CN 102103859 B CN102103859 B CN 102103859B
Authority
CN
China
Prior art keywords
mclt
length
digital audio
matrix
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2011100042443A
Other languages
English (en)
Other versions
CN102103859A (zh
Inventor
伍家松
舒华忠
王膂
李松毅
罗立民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University
Original Assignee
Southeast University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southeast University filed Critical Southeast University
Priority to CN2011100042443A priority Critical patent/CN102103859B/zh
Publication of CN102103859A publication Critical patent/CN102103859A/zh
Application granted granted Critical
Publication of CN102103859B publication Critical patent/CN102103859B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种数字音频编码、解码方法,属于数字信号编码技术领域。本发明方法在对数字音频进行编解码时,将长度为2M的MCLT和IMCLT分别分解为两个长度为M的MCLT和IMCLT来进行快速计算,从而降低计算复杂度。相比现有技术,本发明方法具有计算复杂度低、实时性能好、易于实现的优点。本发明还公开了采用本发明编码、解码方法的数字音频编码、解码装置。

Description

一种数字音频编码、解码方法及装置
技术领域
本发明涉及一种数字音频编码、解码方法及装置,属于数字信号编码技术领域。
背景技术
由于数字音频信号在空间域上具有较强的相关性,而一维重叠正交变换则是去除数字音频信号空间域冗余度的有效方法,因此被广泛应用于各种音频编码标准(如:MPEG,E-AC-3等)。数字音频编码装置通常包括数据输入单元、数据正向变换单元、量化单元以及熵编码单元,相应的解码装置包括反熵编码单元、反量化单元、数据反向变换单元及输出单元。通常为了使得经过数据反向变换后得到的重叠数字音频信号经过“重叠相加”操作后能够完全恢复得到初始的数字音频信号,需要在正向变换单元之前对输入的音频信号进行加窗操作以及在反向变换单元之前对重叠正交变换域的系数进行加窗操作。数字音频信号编解码的过程通常包括以下几个步骤:
编码过程:
1、输入数字音频信号数据;
2、对输入的音频信号数据进行加窗操作;
3、将加窗后得到的新的音频信号数据进行一维正向重叠正交变换,得到变换域系数;
4、对得到的变换域系数向量进行量化处理;
5、对经过量化后的系数进行熵编码,即利用哈夫曼编码,游程编码,算术编码等编码方法进行压缩编码,得到编码后的数据;此时即可将编码后的数据存储在存储介质中或进行传输。
解码过程:
1、对编码后的数据进行反熵编码,即利用反哈夫曼编码,反游程编码,反算术编码等方式进行解码;
2、对反熵编码后的数据进行反量化处理;
3、对经过反量化处理的数据进行加窗操作;
4、将加窗后的数据进行一维反向重叠正交变换,从而得到“重叠”的数字音频数据;
5、将“重叠”的数字音频数据进行“重叠相加”操作得到原始的音频数据;
6、将原始的数字音频数据进行输出。
目前数字音频编解码装置中经常使用的变换方法包括改进的离散余弦变换(Modulated Discrete Cosine Transform,MDCT)以及复数调制重叠变换(ModulatedComplex Lapped Transform,MCLT)等。其中,复数调制重叠变换是一种余弦调制滤波器,其将实数输入信号转化为复数输出信号。MCLT是调制重叠变换(MLT),也就是改进的离散余弦变换(MDCT)的复数扩展形式。MCLT实部是MDCT,虚部是改进的离散正弦变换(MDST)。MCLT因为具有相位信息,因此被广泛用于需要相位信息的数字音频信号处理问题,如音频水印,音频编码,音频流识别和声学回声消除,音频数据包丢失隐藏等,且被最新的音频标准E-AC-3所采纳。
长度为2M的实输入音频信号序列{x(n)},n=0,1,...,2M-1,的MCLT定义为
X ( k ) = Σ n = 0 2 M - 1 x ′ ( n ) l ( k , n ) , k = 0,1 , . . . , M - 1 , - - - ( 1 )
其中l(k,n)是分析基函数
l ( k , n ) = exp [ - j π 4 M ( 2 n + 1 + M ) ( 2 k + 1 ) ] - - - ( 2 )
其中 j = - 1 .
{x′(n)}是加窗后的新的输入音频信号序列
x ′ ( n ) = 2 M h ( n ) x ( n ) - - - ( 3 )
其中 2 M h ( n ) 为窗函数。
如果直接采用定义计算式(1),相当于计算下面的一个矩阵与向量的乘积
X M × 1 = L M × 2 M x 2 M × 1 ′ ⇔
X ( 0 ) X ( 1 ) M X ( M - 1 ) = l ( 0,0 ) l ( 0,1 ) L l ( 0,2 M - 1 ) l ( 1,0 ) l ( 1,1 ) L l ( 1,2 M - 1 ) M M O M l ( M - 1,0 ) l ( M - 1,1 ) L l ( M - 1,2 M - 1 ) x ′ ( 0 ) x ′ ( 1 ) M x ′ ( 2 M - 1 ) - - - ( 4 )
其中LM×2M是一个M×(2M)的正向MCLT矩阵,x′2M×1=[x′(0),x′(1),...,x′(2M-1)]T是输入的加窗后的数字音频信号向量,xM×1=[X(0),X(1),...,X(M-1)]T是输出的MCLT域系数向量,其中上标“T”代表转置。
直接计算式(4)需要4M2次乘法和4M2-2M次加法,再加上式(3)中加窗操作需要2M次乘法,因此直接利用式(1)计算MCLT总共需要的计算复杂度为:4M2+2M次乘法和4M2-2M次加法。
一维反向MCLT定义(IMCLT)为:
{X′(k)}是加窗后的新的MCLT系数向量
X ′ ( k ) = 2 M h ( k ) X ( k ) - - - ( 6 )
其中X(k)为通过式(1)得到的MCLT系数,为窗函数。
Figure BDA0000043364980000034
是输出的“重叠”的音频信号。通常来说,
Figure BDA0000043364980000035
与x(n)的值是不一样的,但是可以通过对
Figure BDA0000043364980000036
进行“重叠相加”操作得到x(n)。
如果直接采用定义计算式(5),相当于计算下面的一个矩阵与向量的乘积
Figure BDA0000043364980000037
Figure BDA0000043364980000038
其中
Figure BDA0000043364980000039
是一个(2M)×M的反向MCLT(IMCLT)矩阵,X′M×1=[X′(0),X′(1),...,X′(M-1)]T是输入的加窗后的MCLT系数向量,
Figure BDA00000433649800000310
是输出的“重叠”的音频信号向量。
直接计算式(7)需要4M2次乘法和4M2-4M次加法,再加上式(6)中加窗操作需要M次乘法,因此直接利用式(5)计算IMCLT总共需要的计算复杂度为:4M2+M次乘法和4M2-4M次加法。
由此可见使用传统方法进行MCLT变换和IMCLT变换,计算复杂度极高,需要消耗较多的硬件资源并严重影响音频编解码的实时性。因此,针对MCLT和IMCLT发展快速算法是非常必要的。
发明内容
本发明要解决的技术问题在于解决现有基于MCLT变换的数字音频信号编解码方法存在的计算复杂度高的问题,提供一种具有较低复杂度的数字音频信号编码、解码方法及装置。
本发明的思路是在进行一维正向MCLT变换时,对一维正向MCLT变换2M阶矩阵进行稀疏矩阵分解,将其分解为两个一维正向MCLT变换M阶矩阵,从而降低计算复杂度。具体而言,本发明采用以下技术方案:
一种数字音频编码方法,包括对输入的长度为2M的数字音频数据进行一维正向MCLT变换,输出数字音频数据的MCLT域系数向量的步骤,M为大于等于2的偶数,其特征在于,所述一维正向MCLT变换通过2个长度为M的正向MCLT变换来实现,具体按照以下方法:
X M × 1 = R M × M · I M / 2 - I M / 2 I M / 2 I M / 2 · L ( M / 2 ) × M · I M - I M · C 2 M × 2 M 0 ( M / 2 ) × ( 2 M ) 0 ( M / 2 ) × ( 2 M ) j · L ( M / 2 ) × M · I M - I M · S 2 M × 2 M
· I 2 M I 2 M · x 2 M × 1
其中,
Figure BDA0000043364980000043
x2M×1=[x(0),x(1),...,x(2M-1)]T是输入的长度为2M的数字音频信号向量,M为大于等于2的偶数,上标“T”代表转置;XM×1=[X(0),X(1),...,X(M-1)]T是输出的MCLT域系数向量;LM×2M是长度为2M的一维正向MCLT矩阵;L(M/2)×M是长度为M的一维正向MCLT矩阵;IM/2,IM和I2M分别是M/2,M和2M阶单位矩阵;C2M×2M和S2M×2M都是由旋转因子组成的矩阵,表示如下:
C 2 M × 2 M = C 1 C 2 2 M × 2 M ;
S 2 M × 2 M = S 1 S 2 2 M × 2 M ;
C 1 = cos [ π 4 M ( M + 1 ) ] cos [ π 4 M ( M + 3 ) ] O cos [ π 4 M ( 7 2 M - 1 ) ] ( 7 M / 4 ) × ( 7 M / 4 )
C 2 = - cos [ π 4 M ( M 2 + 1 ) ] - cos [ π 4 M ( M 2 + 3 ) ] O - cos [ π 4 M ( M - 1 ) ] ( M / 4 ) × ( M / 4 )
S 1 = sin [ π 4 M ( M + 1 ) ] sin [ π 4 M ( M + 3 ) ] O sin [ π 4 M ( 7 2 M - 1 ) ] ( 7 M / 4 ) × ( 7 M / 4 )
S 2 = - sin [ π 4 M ( M 2 + 1 ) ] - sin [ π 4 M ( M 2 + 3 ) ] O - sin [ π 4 M ( M - 1 ) ] ( M / 4 ) × ( M / 4 ) ;
RM×M是置换矩阵。
相应的数字音频解码方法,包括对输入的经反量化处理的,长度为M的MCLT域系数向量进行一维反向MCLT变换,输出重叠的数字音频数据的步骤,M为大于等于2的偶数,其特征在于,所述一维反向MCLT变换通过两个长度为M的反向MCLT变换来实现,具体按照以下方法:
Figure BDA0000043364980000061
· C 2 M × 2 M · I M - I M · ( L ( M / 2 ) × M ) T 0 ( 2 M ) × ( M / 2 ) 0 ( 2 M ) × ( M / 2 ) S 2 M × 2 M · I M - I M · j · ( L ( M / 2 ) × M ) T ,
· I M / 2 I M / 2 - I M / 2 I M / 2 · R M × M T · X M × 1
其中,
Figure BDA0000043364980000064
XM×1=[X(0),X(1),...,X(M-1)]T是输入的经反量化处理的长度为M的MCLT域系数向量,上标“T”代表转置,M为大于等于2的偶数;
Figure BDA0000043364980000065
是输出的长度为2M的重叠的数字音频信号向量;(LM×2M)T是长度为2M的一维反向MCLT矩阵;(L(M/2)×M)T是长度为M的一维反向MCLT矩阵;IM/2,IM和I2M分别是M/2,M和2M阶单位矩阵;C2M×2M和S2M×2M都是由旋转因子组成的矩阵,表示如下:
C 2 M × 2 M = C 1 C 2 2 M × 2 M ;
S 2 M × 2 M = S 1 S 2 2 M × 2 M ;
C 1 = cos [ π 4 M ( M + 1 ) ] cos [ π 4 M ( M + 3 ) ] O cos [ π 4 M ( 7 2 M - 1 ) ] ( 7 M / 4 ) × ( 7 M / 4 )
C 2 = - cos [ π 4 M ( M 2 + 1 ) ] - cos [ π 4 M ( M 2 + 3 ) ] O - cos [ π 4 M ( M - 1 ) ] ( M / 4 ) × ( M / 4 )
S 1 = sin [ π 4 M ( M + 1 ) ] sin [ π 4 M ( M + 3 ) ] O sin [ π 4 M ( 7 2 M - 1 ) ] ( 7 M / 4 ) × ( 7 M / 4 )
S 2 = - sin [ π 4 M ( M 2 + 1 ) ] - sin [ π 4 M ( M 2 + 3 ) ] O - sin [ π 4 M ( M - 1 ) ] ( M / 4 ) × ( M / 4 ) ;
R M × M T 是置换矩阵。
根据上述编码、解码方法可得到相应的数字音频编码及解码装置如下,
一种数字音频编码装置,包括顺次信号连接的信号输入单元、MCLT单元、量化单元及熵编码单元,其中MCLT单元通过2个长度为M的正向MCLT变换将长度为2M的数字音频数据变换为长度为M的MCLT域系数向量,M为大于等于2的偶数。
一种数字音频解码装置,包括顺次信号连接的反熵编码单元、反量化单元、IMCLT单元、重叠相加及输出单元,其中IMCLT单元通过2个长度为M的反向MCLT变换将长度为M的MCLT域系数向量变换为长度为2M的重叠的数字音频信号向量,M为大于等于2的偶数。
本发明的数字音频编码、解码方法,通过将长度为2M的一维正向/反向MCLT/IMCLT变换通过两个长度为M的MCLT/IMCLT变换来实现,从而大幅降低了计算复杂度,提高了数字音频编码/解码装置的实时性,且实现方便。
附图说明
图1为本发明所使用的MCLT变换的算法原理示意图;
图2为本发明所使用的IMCLT变换的算法原理示意图;
图3为具体实施方式中所述4点MCLT变换的具体实现流图;
图4为具体实施方式中所述4点IMCLT变换的具体实现流图;
图5为具体实施方式中所述8点MCLT具体实现流图;
图6为具体实施方式中所述8点IMCLT具体实现流图。
具体实施方式
下面结合附图对本发明的技术方案进行详细说明:
本发明的数字音频编码装置包括顺次信号连接的信号输入单元、加窗操作单元、MCLT单元、量化单元及熵编码单元;本发明的数字音频解码装置包括顺次信号连接的反熵编码单元、反量化单元、加窗操作单元、IMCLT单元、重叠相加及输出单元。
使用上述编码装置对长度为2M的数字音频进行编码时,按照以下步骤:
步骤1、将输入的数字音频信号序列数据x(n)进行加窗操作得到新的数字音频信号序列
Figure BDA0000043364980000081
其中
Figure BDA0000043364980000082
为窗函数,M表示输入音频信号采样点数2M的一半,其取值为大于等于2的偶数;
步骤2、将{x′(n)}作为输入向量进行一维正向MCLT变换,得到MCLT域系数X(k);如采用传统方法,即背景技术部分所述公式(4),则需要将加窗操作后的数字音频信号序列x′(n)乘以一个M×(2M)的正向MCLT矩阵LM×2M,此时计算复杂度较高,本发明采用对一维正向MCLT变换2M阶矩阵LM×2M进行稀疏矩阵分解,分解为两个一维正向MCLT变换M阶矩阵L(M/2)×M的计算,从而式(4)可以通过如下方式计算:
X M × 1 = L M × 2 M x 2 M × 1 ′ ⇔
X M × 1 = R M × M · I M / 2 - I M / 2 I M / 2 I M / 2 · L ( M / 2 ) × M · I M - I M · C 2 M × 2 M 0 ( M / 2 ) × ( 2 M ) 0 ( M / 2 ) × ( 2 M ) j · L ( M / 2 ) × M · I M - I M · S 2 M × 2 M
· I 2 M I 2 M · x 2 M × 1 ′ - - - ( 8 )
其中
Figure BDA0000043364980000086
x′2M×1=[x′(0),x′(1),...,x′(2M-1)]T是输入的加窗后的数字音频信号向量,上标“T”代表转置。XM×1=[X(0),X(1),...,X(M-1)]T是输出的MCLT域系数向量;LM×2M是长度为2M的一维正向MCLT矩阵;L(M/2)×M是长度为M的一维正向MCLT矩阵;IM/2,IM和I2M分别是M/2,M和2M阶单位矩阵,比如
Figure BDA0000043364980000091
C2M×2M和S2M×2M都是由旋转因子(余弦或者正弦函数值)组成的矩阵,表示如下:
C 2 M × 2 M = C 1 C 2 2 M × 2 M ;
S 2 M × 2 M = S 1 S 2 2 M × 2 M ;
C 1 = cos [ π 4 M ( M + 1 ) ] cos [ π 4 M ( M + 3 ) ] O cos [ π 4 M ( 7 2 M - 1 ) ] ( 7 M / 4 ) × ( 7 M / 4 )
C 2 = - cos [ π 4 M ( M 2 + 1 ) ] - cos [ π 4 M ( M 2 + 3 ) ] O - cos [ π 4 M ( M - 1 ) ] ( M / 4 ) × ( M / 4 )
S 1 = sin [ π 4 M ( M + 1 ) ] sin [ π 4 M ( M + 3 ) ] O sin [ π 4 M ( 7 2 M - 1 ) ] ( 7 M / 4 ) × ( 7 M / 4 )
S 2 = - sin [ π 4 M ( M 2 + 1 ) ] - sin [ π 4 M ( M 2 + 3 ) ] O - sin [ π 4 M ( M - 1 ) ] ( M / 4 ) × ( M / 4 )
RM×M是置换矩阵,比如:对于输入长度为M的输入序列
{u(0),u(2),u(4),...,u(M-2),u(1),u(3),u(5),...,u(M-1),},
RM×M实现的功能是
{u(0),u(1),u(2),u(3),...,u(M-2),u(M-1)}
=RM×M·{u(0),u(2),u(4),...,u(M-2),u(1),u(3),u(5),...,u(M-1)}。
需要注意的是,式(8)的分解过程是可以递归实现的,比如可以继续在式(8)中将一维正向MCLT变换M阶矩阵L(M/2)×M分解为两个一维正向MCLT变换(M/2)阶矩阵如下:
L ( M / 2 ) × M =
R ( M / 2 ) × ( M / 2 ) L ( M / 4 ) × ( M / 2 ) · I M / 2 - I M / 2 · C M × M 0 ( M / 4 ) × M 0 ( M / 4 ) × M j · L ( M / 4 ) × ( M / 2 ) · I M / 2 - I M / 2 · S M × M · I M I M - - - ( 9 )
可以一直这样递归的分解下去,直到起点,比如4点一维正向MCLT变换矩阵(也就是M=4),也就是
L 2 × 4 = R 2 × 2 · L 1 × 2 · I 2 - I 2 · C 4 × 4 0 1 × 4 0 1 × 4 j · L 1 × 2 · I 2 - I 2 · S 4 × 4 · I 4 I 4 - - - ( 10 )
我们可以通过引入一系列中间变量,将式(8)进行分步计算如下:
X M × 1 = R M × M X ( M / 2 ) × 1 1 X ( M / 2 ) × 1 2 ;
X ( M / 2 ) × 1 1 X ( M / 2 ) × 1 2 = I M / 2 - I M / 2 I M / 2 I M / 2 A ( M / 2 ) × 1 B ( M / 2 ) × 1 ;
X M × 1 = R M × M I M / 2 - I M / 2 I M / 2 I M / 2 A ( M / 2 ) × 1 B ( M / 2 ) × 1 ;
A(M/2)×1=L(M/2)×MpM×1;(11)
pM×1=[IM-IM]y2M×1
y2M×1=C·x′2M×1
B(M/2)×1=j·B′(M/2)×1
B′(M/2)×1=L(M/2)×MqM×1
qM×1=[IM-IM]z2M×1
z2M×1=S2M×2M·x′2M×1
其中
Figure BDA0000043364980000107
A(M/2)×1、pM×1、y2M×1、B(M/2)×1、B′(M/2)×1、qM×1、z2M×1为构造的中间结果向量,具体表达如下:
X ( M / 2 ) × 1 1 = [ X ( 0 ) , X ( 2 ) , X ( 4 ) , . . . , X ( M - 2 ) ] T - - - ( 12 )
X ( M / 2 ) × 1 2 = [ X ( 1 ) , X ( 3 ) , X ( 5 ) , . . . , X ( M - 1 ) ] T - - - ( 13 )
A(M/2)×1=[A(0),A(1),A(2),...,A(M/2-1)]T    (14)
pM×1=[p(0),p(1),p(2),...,p(M-1)]T    (15)
y2M×1=[y(0),y(1),y(2),...,y(2M-1)]T    (16)
B(M/2)×1=[B(0),B(1),B(2),...,B(M/2-1)]T    (17)
B′(M/2)×1=-jB(M/2)×1=[-jB(0),-jB(1),-jB(2),...,-jB(M/2-1)]T    (18)
qM×1=[q(0),q(1),q(2),...,q(M-1)]T    (19)
z2M×1=[z(0),z(1),z(2),...,z(2M-1)]T    (20)
式(14)-(20)中的向量A(M/2)×1、pM×1、y2M×1、B(M/2)×1、B′(M/2)×1、qM×1、z2M×1中的元素分别由下面的式子(23)-(29)给出。式(12)和式(13)中的向量
Figure BDA0000043364980000112
中的元素分别由下面的式子(30)和(31)计算出。
本发明将输出X(k)的计算分成偶数输出索引X(2k)和奇数输出索引X(2k+1)两个部分进行计算。为了计算X(2k)和X(2k+1),我们构造如下两个子式:
A(k)=(X(2k+1)+X(2k))/2,k=0,1,...,M/2-1,(21)
B(k)=(X(2k+1)-X(2k))/2,k=0,1,...,M/2-1;(22)
A(k)按照下式计算,
A ( k ) = Σ n = 0 2 M - 1 x ′ ( n ) cos [ π 4 M ( 2 n + 1 + M ) ] exp [ - j π 2 M ( 2 n + 1 + M ) ( 2 k + 1 ) ]
= Σ n = 0 2 M - 1 y ( n ) exp [ - j π 2 M ( 2 n + 1 + M 2 ) ( 2 k + 1 ) ] - - - ( 23 )
= Σ n = 0 M - 1 p ( n ) exp [ - j π 2 M ( 2 n + 1 + M 2 ) ( 2 k + 1 ) ]
其中,
p(n)=y(n)-y(n+M)       (24)
y ( n ) = - x ′ ( n + 7 M 4 ) cos [ π 4 M ( 2 n + 1 + M 2 ) ] , n = 0 , L , M 4 - 1 x ′ ( n - M 4 ) cos [ π 4 M ( 2 n + 1 + M 2 ) ] , n = M 4 , L , 2 M - 1 - - - ( 25 )
B(k)按照下式计算,
B ( k ) = - j Σ n = 0 2 M - 1 x ′ ( n ) sin [ π 4 M ( 2 n + 1 + M ) ] exp [ - j π 2 M ( 2 n + 1 + M ) ( 2 k + 1 ) ] - - - ( 26 )
令B′(k)=jB(k),则
B ′ ( k ) = Σ n = 0 2 M - 1 z ( n ) exp [ - j π 2 M ( 2 n + 1 + M 2 ) ( 2 k + 1 ) ] ( 27 )
= Σ n = 0 M - 1 q ( n ) exp [ - j π 2 M ( 2 n + 1 + M 2 ) ( 2 k + 1 ) ]
其中
q(n)=z(n)-z(n+M)(28)
z ( n ) = - x ′ ( n + 7 M 4 ) sin [ π 4 M ( 2 n + 1 + M 2 ) ] , n = 0 , L , M 4 - 1 x ′ ( n - M 4 ) sin [ π 4 M ( 2 n + 1 + M 2 ) ] , n = M 4 , L , 2 M - 1 - - - ( 29 )
通过A(k)和B(k)根据以下式(30)、(31)即可得到X(k),k=0,1,...,M 1,
X(2k)=A(k)-B(k)=A(k)+jB′(k),k=0,1,...,M/2-1,(30)
X(2k+1)=A(k)+B(k)=A(k)-jB′(k),k=0,1,...,M/2-1,(31)
以上算法等价的实现过程如附图1所示。
步骤3、将步骤2得到的MCLT域系数向量X(k)进行量化及熵编码,即可完成数字音频的编码。
相应地,(7)中的一维反向MCLT变换,本发明采用对一维反向MCLT变换2M阶矩阵(LM×2M)T进行稀疏矩阵分解,分解为两个一维反向MCLT变换M阶矩阵(L(M/2)×M)T的计算,从而式(7)可以通过如下方式计算:
Figure BDA0000043364980000131
Figure BDA0000043364980000132
· C 2 M × 2 M T · I M - I M · ( L ( M / 2 ) × M ) T 0 ( 2 M ) × ( M / 2 ) 0 ( 2 M ) × ( M / 2 ) S 2 M × 2 M T · I M - I M · j · ( L ( M / 2 ) × M ) T - - - ( 32 )
· I M / 2 I M / 2 - I M / 2 I M / 2 · R M × M T · X M × 1 ′
下面我们通过引入一系列中间变量,将式(32)进行分步计算如下:
Figure BDA0000043364980000136
Figure BDA0000043364980000137
Figure BDA0000043364980000138
Figure BDA0000043364980000139
Figure BDA00000433649800001310
Figure BDA00000433649800001311
Figure BDA00000433649800001312
Figure BDA00000433649800001313
Figure BDA00000433649800001314
其中
为构造的中间结果向量,具体表达如下:
Figure BDA00000433649800001316
Figure BDA00000433649800001317
Figure BDA00000433649800001319
Figure BDA00000433649800001320
Figure BDA0000043364980000143
Figure BDA0000043364980000145
Figure BDA0000043364980000146
上述计算的实现原理如附图2所示。
上述MCLT/IMCLT变换相比传统方法,计算复杂度明显降低,下面的表1、表2分别显示采用本发明的MCLT/IMCLT变换方法与传统MCLT/IMCLT变换方法的计算复杂度比较,
Figure BDA0000043364980000147
表1
表2
为了进一步说明本发明方法所使用的MCLT/IMCLT变换方法,下面分别以4点MCLT变换、4点IMCLT变换、8点MCLT变换、8点IMCLT变换为例来说明其具体实现过程。
例1、
附图3给出了4点MCLT的具体实现流程。该流图实现了
X ( k ) = Σ n = 0 4 - 1 x ( n ) h ( n ) exp [ - j π 8 ( 2 n + 3 ) ( 2 k + 1 ) ] ; k = 0,1
其中输入是长度为4的音频信号x(n):x(0),x(1),x(2),x(3);输出是长度为2的MCLT域系数X(k):X(0),X(1)。
其等价的实现过程如下:
1)加窗
x′(0)=x(0)h(0),x′(1)=x(1)h(1),x′(2)=x(2)h(2),x′(3)=x(3)h(3).
2)计算过程:
X(0)=-((x′(2)+x′(3))cos(π/8)-(x′(0)-x′(1))sin(π/8))
      -j((x′(2)-x′(3))sin(π/8)+(x′(0)+x′(1))cos(π/8))
X(1)=-((x′(0)-x′(1))cos(π/8)+(x′(2)+x′(3))sin(π/8))
      +j((x′(0)+x′(1))sin(π/8)-(x′(2)-x′(3))cos(π/8))
例2
附图4给出了4点IMCLT的具体实现流图(图3的流图转置)。该流图实现了
Figure BDA0000043364980000152
其中输入是长度为2的MCLT域系数X(k):X(0),X(1);输出是长度为4的“重叠”的音频信号
Figure BDA0000043364980000153
例3
附图5给出了8点MCLT计算流图。该流图实现了
X ( k ) = 2 2 Σ n = 0 8 - 1 x ( n ) h ( n ) exp [ - j π 16 ( 2 n + 5 ) ( 2 k + 1 ) ] ; k = 0,1,2,3
其中输入是长度为8的音频信号x(n):x(0),x(1),...,x(7);输出是长度为4的MCLT域系数X(k):X(0),X(1),X(2),X(3)。
该流图等价的实现过程如下:
1)加窗操作
x ′ ( 0 ) = 2 h ( 0 ) x ( 0 ) / 2 ; x ′ ( 4 ) = 2 h ( 4 ) x ( 4 ) / 2 x ′ ( 1 ) = 2 h ( 1 ) x ( 1 ) / 2 ; x ′ ( 5 ) = 2 h ( 5 ) x ( 5 ) / 2 x ′ ( 2 ) = 2 h ( 2 ) x ( 2 ) / 2 ; x ′ ( 6 ) = 2 h ( 6 ) x ( 6 ) / 2 x ′ ( 3 ) = 2 h ( 3 ) x ( 3 ) / 2 ; x ′ ( 7 ) = 2 h ( 7 ) x ( 7 ) / 2
2)计算p(n),q(n)
p ( 0 ) = y ( 0 ) - y ( 4 ) = - x ′ ( 7 ) cos ( 3 π / 16 ) + x ′ ( 3 ) sin ( 3 π / 16 ) p ( 1 ) = y ( 1 ) - y ( 5 ) = x ′ ( 0 ) sin ( 3 π / 16 ) + x ′ ( 4 ) cos ( 3 π / 16 ) p ( 2 ) = y ( 2 ) - y ( 6 ) = x ′ ( 1 ) sin ( π / 16 ) + x ′ ( 5 ) cos ( π / 16 ) p ( 3 ) = y ( 3 ) - y ( 7 ) = - x ′ ( 2 ) sin ( π / 16 ) + x ′ ( 6 ) cos ( π / 16 )
q ( 0 ) = z ( 0 ) - z ( 4 ) = - x ′ ( 7 ) sin ( 3 π / 16 ) - x ′ ( 3 ) cos ( 3 π / 16 ) q ( 1 ) = z ( 1 ) - z ( 5 ) = x ′ ( 0 ) cos ( 3 π / 16 ) - x ′ ( 4 ) sin ( 3 π / 16 ) q ( 2 ) = z ( 2 ) - z ( 6 ) = x ′ ( 1 ) cos ( π / 16 ) - x ′ ( 5 ) sin ( π / 16 ) q ( 3 ) = z ( 3 ) - z ( 7 ) = - x ′ ( 2 ) cos ( π / 16 ) + x ′ ( 6 ) sin ( π / 16 )
3)计算4点MCLT得到A(k),B′(k)
A ( k ) = Σ n = 0 4 - 1 p ( n ) exp [ - j π 8 ( 2 n + 3 ) ( 2 k + 1 ) ] , k = 0,1
A(0)=-((p(2)+p(3))cos(π/8)-(p(0)-p(1))sin(π/8))
      -j((p(2)-p(3))sin(π/8)+(p(0)+p(1))cos(π/8))
A(1)=-((p(0)-p(1))cos(π/8)+(p(2)+p(3))sin(π/8))
      +j((p(0)+p(1))sin(π/8)-(p(2)-p(3))cos(π/8))
B ′ ( k ) = Σ n = 0 4 - 1 q ( n ) exp [ - j π 8 ( 2 n + 3 ) ( 2 k + 1 ) ] , k = 0,1
B′(0)=-((q(2)+q(3))cos(π/8)-(q(0)-q(1))sin(π/8))
        -j((q(2)-q(3))sin(π/8)+(q(0)+q(1))cos(π/8))
B′(1)=-((q(0)-q(1))cos(π/8)+(q(2)+q(3))sin(π/8))
        +j((q(0)+q(1))sin(π/8)-(q(2)-q(3))cos(π/8))
4)计算X(k)
X ( 2 k + 1 ) = A ( k ) + B ( k ) = A ( k ) - j B ′ ( k ) X ( 2 k ) = A ( k ) - B ( k ) = A ( k ) + j B ′ ( k ) , k = 0,1 .
例4、
附图6给出了8点IMCLT计算流图,是图5的流图转置。
该流图实现了
Figure BDA0000043364980000172
其中输入是长度为4的MCLT域系数X(k):X(0),X(1),X(2),X(3);输出是长度为8的音频信号
Figure BDA0000043364980000173

Claims (6)

1.一种数字音频编码方法,包括对输入的长度为2M的数字音频数据进行一维正向MCLT变换,输出数字音频数据的MCLT域系数向量的步骤,M为大于等于2的偶数,其特征在于,所述一维正向MCLT变换通过2个长度为M的正向MCLT变换来实现,具体按照以下方法: 
Figure FDA0000117439860000011
Figure FDA0000117439860000012
其中, 
Figure FDA0000117439860000013
x2M×1=[x(0),x(1),...,x(2M-1)]T是输入的长度为2M的数字音频信号向量,M为大于等于2的偶数,上标“T”代表转置;XM×1=[X(0),X(1),...,X(M-1)]T是输出的MCLT域系数向量;LM×2M是长度为2M的一维正向MCLT矩阵;L(M/2)×M是长度为M的一维正向MCLT矩阵;IM/2,IM和I2M分别是M/2,M和2M阶单位矩阵;C2M×2M和S2M×2M 都是由旋转因子组成的矩阵,表示如下: 
Figure FDA0000117439860000014
Figure FDA0000117439860000015
Figure FDA0000117439860000016
Figure FDA0000117439860000021
Figure FDA0000117439860000022
RM×M是置换矩阵。 
2.如权利要求1所述数字音频编码方法,其特征在于,所述输入的数字音频数据是经过加窗操作后的数据。 
3.一种数字音频解码方法,包括对输入的经反量化处理的,长度为M的MCLT域系数向量进行一维反向MCLT变换,输出重叠的数字音频数据的步骤,M为大于等于2的偶数,其特征在于,所述一维反向MCLT变换通过两个长度为M的反向MCLT变换来实现,具体按照以下方法: 
Figure FDA0000117439860000023
Figure FDA0000117439860000024
Figure FDA0000117439860000025
其中, 
Figure FDA0000117439860000026
XM×1=[X(0),X(1),...,X(M-1)]T是输入的经反量化处理的长度为M的MCLT域系数向量,上标“T”代表转置,M为大于等于2的偶数; 
Figure FDA0000117439860000027
是输出的长度为2M的重叠数字音频信号向量;(LM×2M)T是长度为2M的一维反向MCLT矩阵;(L(M/2)×M)T是长度为M的一维反向MCLT矩阵;IM/2,IM和I2M分别是M/2,M和2M阶单位矩阵;C2M×2M和S2M×2M都是由旋转因子组成的 矩阵,表示如下: 
Figure FDA0000117439860000032
Figure FDA0000117439860000033
Figure FDA0000117439860000034
Figure FDA0000117439860000035
Figure FDA0000117439860000036
Figure FDA0000117439860000037
是置换矩阵。 
4.如权利要求3所述数字音频解码方法,其特征在于,所述输入的经反量化处理的MCLT域系数向量是经过加窗操作后的数据。 
5.一种数字音频编码装置,其特征在于,包括顺次信号连接的信号输入单元、MCLT 单元、量化单元及熵编码单元,其中MCLT单元通过2个长度为M的正向MCLT变换将长度为2M的数字音频数据变换为长度为M的MCLT域系数向量,M为大于等于2的偶数,具体按照以下方法: 
Figure FDA0000117439860000041
Figure FDA0000117439860000042
其中, 
Figure FDA0000117439860000043
x2M×1=[x(0),x(1),...,x(2M-1)]T是输入的长度为2M的数字音频信号向量,M为大于等于2的偶数,上标“T”代表转置;XM×1=[X(0),X(1),...,X(M-1)]T是输出的MCLT域系数向量;LM×2M是长度为2M的一维正向MCLT矩阵;L(M/2)×M是长度为M的一维正向MCLT矩阵;IM/2,IM和I2M分别是M/2,M和2M阶单位矩阵;C2M×2M和S2M×2M 都是由旋转因子组成的矩阵,表示如下: 
Figure FDA0000117439860000044
Figure FDA0000117439860000045
Figure FDA0000117439860000046
Figure FDA0000117439860000047
Figure FDA0000117439860000051
Figure FDA0000117439860000052
RM×M是置换矩阵。 
6.一种数字音频解码装置,其特征在于,包括顺次信号连接的反熵编码单元、反量化单元、IMCLT单元、重叠相加及输出单元,其中IMCLT单元通过2个长度为M的反向MCLT变换将长度为M的MCLT域系数向量变换为长度为2M的重叠的数字音频信号向量,M为大于等于2的偶数,具体按照以下方法: 
Figure FDA0000117439860000053
Figure FDA0000117439860000055
其中, 
Figure FDA0000117439860000056
XM×1=[X(0),X(1),...,X(M-1)]T是输入的经反量化处理的长度为M的MCLT域系数向量,上标“T”代表转置,M为大于等于2的偶数; 
Figure FDA0000117439860000057
是输出的长度为2M的重叠数字音频信号向量;(LM×2M)T是长度为2M的一维反向MCLT矩阵;(L(M/2)×M)T是长度为M的一维反向MCLT矩阵;IM/2,IM和I2M分别是M/2,M和2M阶单位矩阵;C2M×2M和S2M×2M都是由旋转因子组成的矩阵,表示如下: 
Figure FDA0000117439860000062
Figure FDA0000117439860000063
Figure FDA0000117439860000067
是置换矩阵。 
CN2011100042443A 2011-01-11 2011-01-11 一种数字音频编码、解码方法及装置 Expired - Fee Related CN102103859B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011100042443A CN102103859B (zh) 2011-01-11 2011-01-11 一种数字音频编码、解码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011100042443A CN102103859B (zh) 2011-01-11 2011-01-11 一种数字音频编码、解码方法及装置

Publications (2)

Publication Number Publication Date
CN102103859A CN102103859A (zh) 2011-06-22
CN102103859B true CN102103859B (zh) 2012-04-11

Family

ID=44156576

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100042443A Expired - Fee Related CN102103859B (zh) 2011-01-11 2011-01-11 一种数字音频编码、解码方法及装置

Country Status (1)

Country Link
CN (1) CN102103859B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104538038B (zh) * 2014-12-11 2017-10-17 清华大学 具有鲁棒性的音频水印嵌入和提取方法及装置
CN113270105B (zh) * 2021-05-20 2022-05-10 东南大学 一种基于混合调制的类语音数据传输方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1312977A (zh) * 1998-05-27 2001-09-12 微软公司 可升级的音频编码器和解码器
CN1503572A (zh) * 2002-11-21 2004-06-09 多个因式分解可逆变换的逐次浮现无损嵌入式音频编码器
CN101615393A (zh) * 2008-06-25 2009-12-30 汤姆森许可贸易公司 对语音和/或非语音音频输入信号编码或解码的方法和设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040162866A1 (en) * 2003-02-19 2004-08-19 Malvar Henrique S. System and method for producing fast modulated complex lapped transforms
US9037454B2 (en) * 2008-06-20 2015-05-19 Microsoft Technology Licensing, Llc Efficient coding of overcomplete representations of audio using the modulated complex lapped transform (MCLT)

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1312977A (zh) * 1998-05-27 2001-09-12 微软公司 可升级的音频编码器和解码器
CN1503572A (zh) * 2002-11-21 2004-06-09 多个因式分解可逆变换的逐次浮现无损嵌入式音频编码器
CN101615393A (zh) * 2008-06-25 2009-12-30 汤姆森许可贸易公司 对语音和/或非语音音频输入信号编码或解码的方法和设备

Also Published As

Publication number Publication date
CN102103859A (zh) 2011-06-22

Similar Documents

Publication Publication Date Title
CN101944362B (zh) 一种基于整形小波变换的音频无损压缩编码、解码方法
CN102368385B (zh) 后向块自适应Golomb-Rice编解码方法及装置
US9037454B2 (en) Efficient coding of overcomplete representations of audio using the modulated complex lapped transform (MCLT)
CN101421780B (zh) 用于编码和解码时变信号的方法和设备
CN102158701B (zh) 一种基于压缩感知理论的分类量化图像编码方法
CN102036075B (zh) 一种图像及数字视频编码及解码方法
CN103280221A (zh) 一种基于基追踪的音频无损压缩编码、解码方法及系统
CN101521010B (zh) 一种音频信号的编解码方法和装置
WO2011137841A1 (zh) 压缩编码方法及装置、解码解压方法及装置、以及通信系统
Rajesh et al. Speech compression using different transform techniques
CN102103859B (zh) 一种数字音频编码、解码方法及装置
CN101790887B (zh) 用于对媒体信号编码/解码的方法和设备
Ahmed et al. Audio compression using transforms and high order entropy encoding
Kumar et al. The optimized wavelet filters for speech compression
CN102572426B (zh) 一种数据处理的方法和装置
CN101960515B (zh) 用于不同滤波器组域之间进行变换的方法和设备
CN105163130A (zh) 一种基于离散Tchebichef正交多项式的图像无损压缩方法
CN101944235B (zh) 基于分数傅立叶变换的图像压缩方法
CN100517298C (zh) 将数字信号从时域变换到频域及其反向变换的方法
CN101308656A (zh) 音频暂态信号的编解码方法
CN102665076B (zh) 一种重叠变换后置滤波器的构造方法
CN101071570B (zh) 耦合声道的编、解码处理方法、音频编码装置及解码装置
James et al. A comparative study of speech compression using different transform techniques
Yadav et al. Analysis and comparison of audio compression using discrete wavelet transform
Xie et al. Fast lossless compression of seismic floating-point data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120411

Termination date: 20150111

EXPY Termination of patent right or utility model