CN104078048A - 一种声音解码装置及其方法 - Google Patents

一种声音解码装置及其方法 Download PDF

Info

Publication number
CN104078048A
CN104078048A CN201310109081.4A CN201310109081A CN104078048A CN 104078048 A CN104078048 A CN 104078048A CN 201310109081 A CN201310109081 A CN 201310109081A CN 104078048 A CN104078048 A CN 104078048A
Authority
CN
China
Prior art keywords
mdft
territory
frequency spectrum
low frequency
spectrum data
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.)
Granted
Application number
CN201310109081.4A
Other languages
English (en)
Other versions
CN104078048B (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.)
BEIJING TIANLAI CHUANYIN DIGITAL TECHNOLOGY Co Ltd
Original Assignee
BEIJING TIANLAI CHUANYIN DIGITAL TECHNOLOGY Co Ltd
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 BEIJING TIANLAI CHUANYIN DIGITAL TECHNOLOGY Co Ltd filed Critical BEIJING TIANLAI CHUANYIN DIGITAL TECHNOLOGY Co Ltd
Priority to CN201310109081.4A priority Critical patent/CN104078048B/zh
Publication of CN104078048A publication Critical patent/CN104078048A/zh
Application granted granted Critical
Publication of CN104078048B publication Critical patent/CN104078048B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及一种声音解码方法,包括:解复用声音编码码流以获取低频波形编码数据和高频参数编码数据;对低频波形编码数据解码得到MDCT域上的低频谱数据;将MDCT域上的低频谱数据转换到MDFT域;从MDFT域上的低频谱数据中映射部分谱数据到高频部分;根据高频参数编码数据对映射的高频谱数据进行参数解码;将MDCT域上的低频谱数据和参数解码的MDFT域上的高频谱数据组合成MDFT域上的全频谱数据,最后通过IMDFT得到时域上的声音解码数据。本发明直接用MDCT低频谱计算MDFT低频谱,避免了进行IMDCT和MDFT转换,通过将低频MDCT谱与高频MDFT谱拼接成全频带MDFT谱,避免了在MDFT频时变换时引入低频MDFT估算带来的误差,在保持编码质量的前提下,降低了解码器的计算复杂度和计算误差。

Description

一种声音解码装置及其方法
技术领域
本发明涉及音频解码,尤其涉及一种声音解码装置及其方法。
背景技术
一种现有技术的声音解码装置和方法,包括:
比特流解复用模块,用于对接收的声音编码码流进行解复用,得到相应数据帧的编码数据和边信息,向低频波形解码模块输出相应的编码数据和边信息,向高频参数解码模块和频时映射模块输出相应的边信息;
低频波形解码模块用于对该帧低频波形编码数据解码,并根据冗余处理边信息对解码数据进行冗余逆处理,获取低频谱解码数据;
低频谱至高频谱映射模块用于从该帧解码后的低频谱中映射部分谱数据到高频部分,得到低频谱至高频谱映射后的高频谱;
高频参数解码模块用于从低频谱至高频谱映射模块中接收低频谱至高频谱映射后的高频谱,按照比特流解复用模块输出的高频参数编码数据(包括增益调整和音调性调整边信息)调整其增益和音调性得到高频谱解码数据;
频时映射模块用于将低频谱和高频谱组合在一起进行频时映射。频时映射根据信号类型边信息采用不同阶数的变换或子带滤波,获取该帧的时域信号。频时映射的方法是编码端时频映射模块中时频映射的逆过程。包括逆离散傅立叶变换(IDFT)、逆离散余弦变换(IDCT)、逆修正离散余弦变换(IMDCT)、逆修正离散傅立叶变换(IMDFT)、逆余弦调制滤波器组、逆小波变换等。
重采样模块用于将频时映射模块输出的该帧时域信号的采样频率变换到适合声音回放的采样频率。
该声音编解码装置和方法引入了新的编解码框架,以充分结合声音波形编码和参数编码的特点,在较低的码率和计算复杂度约束下,对语音和音乐均能高质量编码。
根据上述现有技术的方法,当所述低频波形解码是在MDCT变换域、所述频时映射为IMDFT变换时,解码器需要进行IMDCT频时变换以得到低频时域建信号;在进行高频参数解码之前,需要对低频解码得到的低频时域重建信号进行MDFT时频变换以得到用于高频参数解码的修正离散傅立叶变换(MDFT)域低频谱数据;最后需要进行全频带的IMDFT频时变化以得到重建信号。整个解码器需要进行三次时频/频时变换,这无疑增加了解码器的计算复杂度。如何能在保持对音乐信号的编码质量的前提下,进一步降低计算复杂度,是这个技术方向面临的课题。
发明内容
本发明的目的是提供一种能够克服上述缺陷的声音解码装置及其方法。
在第一方面,本发明提供了一种声音解码方法,包括:对声音编码码流进行解复用,以获取低频波形编码数据和高频参数编码数据;对所述低频波形编码数据进行解码,得到修正离散余弦变换MDCT域上的低频谱数据;将所述MDCT域上的低频谱数据从MDCT域转换到修正离散傅里叶变换MDFT域,得到MDFT域上的低频谱数据;从所述MDFT域上的低频谱数据中映射部分低频谱数据到高频部分,得到频谱映射后的高频谱数据;根据所述高频参数编码数据对所述频谱映射后的高频谱数据进行参数解码,得到MDFT域上的高频谱数据;将所述MDCT域上的低频谱数据和所述MDFT域上的高频谱数据进行组合,得到MDFT域上的全频谱数据;以及对所述MDFT域上的全频谱数据进行逆修正离散傅里叶变换IMDFT,得到时域上的声音解码数据。
在第二方面,本发明提供了一种声音解码装置,包括:比特流解复用模块,用于对声音编码码流进行解复用,以获取低频波形编码数据和高频参数编码数据;低频波形解码模块,用于对所述低频波形编码数据进行解码,得到修正离散余弦变换MDCT域上的低频谱数据;低频MDFT转换模块,用于将所述MDCT域上的低频谱数据从MDCT域转换到修正离散傅里叶变换MDFT域,得到MDFT域上的低频谱数据;低频谱至高频谱映射模块,用于从所述MDFT域上的低频谱数据中映射部分低频谱数据到高频部分,得到频谱映射后的高频谱数据;高频参数解码模块,用于根据所述高频参数编码数据对所述频谱映射后的高频谱数据进行参数解码,得到MDFT域上的高频谱数据;高频谱与低频谱组合模块,用于将所述MDCT域上的低频谱数据和所述MDFT域上的高频谱数据进行组合,得到MDFT域上的全频谱数据;以及频时映射模块,用于对所述MDFT域上的全频谱数据进行逆修正离散傅里叶变换IMDFT,得到时域上的声音解码数据。
本发明通过由MDCT低频谱直接得到MDFT低频谱数据,避免了进行IMDCT频时变换和MDFT时频变换,并且通过将低频MDCT谱与高频MDFT谱拼接得到全频带MDFT谱,避免了在MDFT频时变换时引入因低频MDFT估算所带来的误差,从而在保持对音乐信号的编码质量的前提下,有效降低了解码器的计算复杂度并降低了计算误差。
附图说明
图1是根据本发明实施例的声音解码装置的结构框图。
图2是图1所示的低频波形解码模块的结构框图。
图3是图1所示的高频参数解码模块的结构框图。
图4是图1所示的低频MDFT转换模块的结构框图。
图5是图1所示的高频谱与低频谱组合模块的结构框图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
为了更好地理解本发明的原理,需要对修正离散傅立叶变换(MDFT)、修正离散余弦变换(MDCT)、修正离散正弦变换(MDST)及其逆变换以及它们之间的关系进行介绍。
首先,介绍MDFT变换的情况。选取前一帧M个样本和当前帧M个样本的时域信号,再对这两帧共2M个样本的时域信号进行加窗操作,然后对经过加窗后的信号进行MDFT变换,从而获得M个频谱系数。MDFT变换的计算公式为:
X ( k ) = Σ n = 0 2 M - 1 s ( n ) w ( n ) exp ( - j π 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
k=0,1,…,2M-1,其中,w(n)为窗函数;s(n)为MDFT变换的输入时域信号,X(k)为MDFT变换输出的频域信号。
为满足信号完全重构的条件,MDFT变换的窗函数w(n)必须满足以下两个条件:
w(2M-1-n)=w(n)且w2(n)+w2(n+M)=1。
在实际中,可选用Sine窗作为窗函数。当然,也可以通过使用双正交变换,用特定的分析滤波器和综合滤波器来修改对窗函数的限制。
IMDFT变换的表达式为:
x i , n ( n ) = 1 2 M Σ k = 0 2 M - 1 S ( k ) w ( n ) exp ( - j π 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
其中,n表示样本序号,2M为帧长,M表示时域样本数,k表示谱序号。
其次,介绍MDCT变换、MDST变换。
对于时域信号s(n),其MDCT域系数X(k)的计算公式为:
X ( k ) = Σ n = 0 2 M s ( n ) w ( n ) cos ( π 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
其中,2M为帧长。
逆修正离散余弦变换(IMDCT)的公式如下:
x e ( n ) = Σ k = 0 M - 1 X ( k ) h k ( n )
h k ( n ) = 2 M w ( n ) cos ( π 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
其中,xe(n)为IMDCT变换的输出时域信号,hk(n)为MDCT合成滤波器的脉冲响应,w(n)为窗函数,X(k)为MDCT域系数。
类似的,定义MDST域系数Y(k)的计算公式为
Y ( k ) = Σ n = 0 2 M s ( n ) w ( n ) sin ( π 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
最后,介绍MDCT、MDST与MDFT变换的关系。
以MDCT域系数X(k)为实部,MDST域系数Y(k)为虚部,构造MDFT域系数Z(k)为:
Z(k)=X(k)+jY(k),k=0,1,…,2M-1,j为虚数符号。
Z(k)=X(k)+jY(k)
= Σ n = 0 2 M - 1 s ( n ) w ( n ) cos ( π 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
+ j Σ n = 0 2 M - 1 s ( n ) w ( n ) sin ( π 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
= Σ n = 0 2 M - 1 s ( n ) exp ( i π 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
此MDFT变换是复数变换,带有相位信息,且满足能量守恒,变换域与时域信号的能量保持一致。可见MDFT域系数的实部就是等价于MDCT域系数。
对于MDCT、MDST和MDFT变换,通过逆变换及时域混叠取消,都可以实现对源信号的完全重构。本发明后续部分关于MDCT系数与MDFT系数之间的转换关系的推导过程中将用到这一性质。
图1是根据本发明实施例的声音解码装置的结构框图。
如图1所示,根据本发明实施例的声音解码装置包括:比特流解复用模块101、低频波形解码模块102、低频MDFT转换模块103、低频谱至高频谱映射模块104、高频参数解码模块105、高频谱与低频谱组合模块106、频时映射模块107和重采样模块108。
下面,概括介绍图1所示的各模块之间的连接关系和及其各自的功能。
比特流解复用模块101,用于对接收的声音编码码流进行解复用,得到相应数据帧的编码数据和边信息,向低频波形解码模块102输出相应的编码数据和边信息,向高频参数解码模块105和频时映射模块107输出相应的边信息。
低频波形解码模块102用于对当前帧的低频波形编码数据进行波形解码,并根据边信息对解码数据进行冗余逆处理,获取低频谱解码数据。
低频MDFT转换模块103用于接收低频波形解码模块102的输出,将低频谱解码系数从MDCT域转换至MDFT域,并将MDFT域的低频谱数据输出到低频谱至高频谱映射模块104。
低频谱至高频谱映射模块104用于接收低频MDFT转换模块103的输出,从该帧MDFT域的低频谱数据中映射部分谱数据到高频部分,得到低频谱至高频谱映射后的高频谱;
高频参数解码模块105用于从低频谱至高频谱映射模块104中接收低频谱至高频谱映射后的高频谱,按照比特流解复用模块101输出的高频参数编码数据(包括增益调整和音调性调整的边信息)调整其增益和音调性得到MDFT域上的高频谱数据;
高频谱与低频谱组合模块106用于从低频波形解码模块102接收MDCT域的低频谱数据,从高频参数解码模块105接收解码后的MDFT域上的高频谱数据,利用MDCT域的低频谱与MDFT域上的高频谱组合成全频带的MDFT谱系数,并将组合后的频谱数据输出到频时映射模块107。
频时映射模块107用于从高频谱与低频谱组合模块106接收低频谱和高频谱组合在一起的MDFT域的谱数据,对其进行IMDFT变换并进行时域混叠处理,得到时域上的声音解码数据。
重采样模块108用于频时映射模块107输出的该帧时域解码信号的采样频率变换到适合声音回放的采样频率。应注意,如果频时映射模块107输出的信号的采样频率适于声音回放,则本发明的声音解码装置中可以不包括该模块。
图2是图1所示的低频波形解码模块的结构框图。
如图2所示,低频波形解码模块包括逆量化模块201和冗余逆处理模块202。
首先,逆量化模块201将从比特流解复用模块101得到的低频编码数据进行逆量化解码,得到逆量化后的低频谱,逆量化解码的方法是编码端低频波形编码模块中采用量化编码的逆过程。
然后,冗余逆处理模块202首先根据是否进行低频冗余逆处理的标志边信息作判断,如果标志为不作逆处理,逆量化后的低频谱不变化;否则,对逆量化后的低频谱作低频冗余逆处理。
图3是图1中所示的高频参数解码模块的结构框图。
如图3所示,高频参数解码模块包括调性调整器301和增益调整器302。
调性调整器301首先将低频谱至高频谱映射后的高频谱划分为多个频带,划分方法与编码端的高频参数编码模块中调性参数提取器的划分方法相同。然后根据调性调整类型的边信息进行判断,如果调整类型为不调整,则映射后的频谱不作处理;如果调整类型为加噪,则解量化调整参数边信息,根据解量化的结果计算得出加噪的能量,并在映射后的频谱中对应频带加入相应能量的噪声;如果调整类型为加弦,则解量化调整参数边信息,根据解量化的结果计算得出加弦的能量,并在映射后频谱的本频带中的中央加入相应能量的弦。加弦时,前后帧加弦的相位要保持连续。
增益调整器302首先根据快变点位置边信息将时频平面划分多个区域,然后由增益调整参数的边信息得到每个区域增益调整的目标能量,最后将每个区域的能量进行调整使其与该区域目标能量相同。
图4是图1所示的低频MDFT转换模块的结构框图。
如图4所示,低频MDFT转换模块可以用二选一的方式实现其功能,其可以包括IMDCT模块、MDFT模块;和/或,算子选择模块和MDCT谱向MDFT谱转换模块。
在第一种情况下:IMDCT模块根据MDCT域系数重构时域信号,MDFT模块对重构的时域信号进行MDFT变换得到MDFT域系数。
下面详细论述第二种情况,即图4中的第二条支路的执行情况。
算子选择模块根据一帧或多帧的块类型和窗函数选择所适用的算子矩阵,向MDCT谱向MDFT谱转换模块传递所选定的算子信息;MDCT谱向MDFT谱转换模块根据从算子选择模块接收的所选算子信息,由一帧或多帧MDCT频谱分量得到当前帧的复数MDFT频谱分量。
在MDCT谱向MDFT谱转换模块中,根据计算精度的需要,还可以对算子中系数的非零部分的长度进行取舍;对MDFT频谱的部分谱线也可以根据信号特性构造得出。
本发明中的MDCT谱也可以是MDST谱或其他实数形式的频谱。换言之,本方法不局限于MDCT谱向MDFT谱转换,也涵盖其他类型的实变换谱向复数谱转换的情形,比如MDST谱向MDFT谱转换。
下面,详细描述算子矩阵的计算过程。
通过预先计算,建立声音编码码流的当前帧及前后帧的MDCT域系数与当前帧MDFT域系数之间的关系,确定由这三帧MDCT域系数来计算当前帧MDFT域系数的三个转换矩阵,从而实现由MDCT域系数直接处理来得到MDFT域系数,即MDCT谱向MDFT谱的转换。这三个转换矩阵即为前述的算子信息。
设当前帧的帧长为2M,窗函数为w(n),其前一帧MDCT系数为行矩阵S-1(k),当前帧MDCT系数为行矩阵S0(k),后一帧MDCT系数为行矩阵S+1(k),则当前帧的MDFT域系数Z(k)可通过如下公式计算:
Z(k)=S-1(k)Tcm-1+S0(k)Tcm0+S+1(k)Tcm+1
其中Tcm-1、Tcm0和Tcm+1为上述的转换矩阵,它们分别代表了前一帧的MDCT系数、当前帧的MDCT系数、后一帧的MDCT系数对于当前帧的MDFT系数的贡献。Tcm-1、Tcm0和Tcm+1都是稀疏矩阵,只有少数数据非零,大部分数据等于0或者接近于0。因此,通过将大部分数据近似为0可以简化所述转换矩阵,从而降低运算量。列矩阵分别为Tcm-1、Tcm0和Tcm+1的列,
T cm - 1 = h cm - 1 ( 0 ) h cm - 1 ( 1 ) . . . h cm - 1 ( M - 1 )
T cm 0 = h cm 0 ( 0 ) h cm 0 ( 1 ) . . . h cm 0 ( M - 1 )
T cm + 1 = h cm + 1 ( 0 ) h cm + 1 ( 1 ) . . . h cm + 1 ( M - 1 )
则行矩阵Z(k)中的每一项Z(i)可表达为:
Z ( i ) = S - 1 ( k ) h cm - 1 ( i ) + S 0 ( k ) h cm 0 ( i ) + S + 1 ( k ) h cm + 1 ( i )
即z(i)可表达为三对向量点积之和。
另外,当将频段MDCT谱转换到MDFT谱时,则需要注意频段边界处谱线的处理。
下面以Tcm0为例来说明转换矩阵Tcm-1、Tcm0和Tcm+1的推导方式。
首先,对前后帧的块长一致时的情况进行分析。假设前一帧信号的窗函数为w-1(n),长度为2M,当前帧信号的窗函数为w0(n),长度为2M,后一帧信号的窗函数为w+1(n),长度为2M。另外,假设前一帧MDCT系数为S-1(k),当前帧MDCT系数为S0(k),后一帧MDCT系数为S+1(k),则当前帧MDFT系数Z(k)为:
Z ( k ) = Σ n = 0 2 M sr ( n ) w 0 ( n ) exp ( - j π 4 M * ( ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) ) * ( 2 k + 1 ) )
其中sr(n)为当前帧的时域重构信号,j为虚数符号。而且有:
sr ( n ) = ( 1 2 M Σ i = 0 M - 1 S 0 ( i ) cos ( - π 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 i + 1 ) ) * w 0 ( n )
+ 1 2 M Σ i = 0 M - 1 S - 1 ( i ) cos ( - π 4 M * ( 2 ( n + M ) + 1 + 2 M 2 ) * ( 2 i + 1 ) ) * f - 1 ( n ) * w - 1 ( n
+ M )
+ 1 2 M Σ i = 0 M - 1 S + 1 ( i ) cos ( - π 4 M * ( 2 ( n - M ) + 1 + 2 M 2 ) * ( 2 i + 1 ) ) * f + 1 ( n ) ) * w + 1 ( n
- M )
f - 1 ( n ) = 1 , n < M 0 , else
f + 1 ( n ) = 0 , n < M 1 , else
w-1(n)、w0(n)、w+1(n)满足:
w-1(n+M)2+w0(n)2=1
w0(n+M)2+w+1(n)2=1
通过推导上述公式,可以得到:
Z(k)=Z-1(k)+Z0(k)+Z+1(k)
其中,
Z - 1 ( k ) = &Sigma; n = 0 2 M - 1 1 2 M &Sigma; i = 0 M - 1 S - 1 ( i ) cos ( - &pi; 4 M * ( 2 ( n + M ) + 1 + 2 M 2 ) * ( 2 i + 1 ) )
* f - 1 ( n ) * w - 1 ( n + M ) * w 0 ( n ) * exp ( - j &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k
+ 1 ) )
Z 0 ( k ) = &Sigma; n = 0 2 M - 1 1 2 M &Sigma; i = 0 M - 1 S 0 ( i ) cos ( - &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 i + 1 ) )
* w 0 ( n ) * w 0 ( n ) * exp ( - j &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
Z + 1 ( k ) = &Sigma; n = 0 2 M - 1 1 2 M &Sigma; i = 0 M - 1 S + 1 ( i ) cos ( - &pi; 4 M * ( 2 ( n - M ) + 1 + 2 M 2 ) * ( 2 i + 1 ) )
* f + 1 ( n ) ) * w + 1 ( n - M ) * w 0 ( n ) * exp ( - j &pi; 4 M * ( 2 n + 1 + 2 M 2 )
* ( 2 k + 1 ) )
相应的,当前帧的MDFT域系数矩阵Z(k)有
Z(k)=Z-1(k)+Z0(k)+Z+1(k)
对于上述的Z0(k):
Z 0 ( k ) = &Sigma; n = 0 2 M - 1 1 2 M &Sigma; i = 0 M - 1 S 0 ( i ) cos ( - &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 i + 1 ) )
* w 0 ( n ) * w 0 ( n ) * exp ( - j &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
= &Sigma; i = 0 M - 1 1 2 M S 0 ( i ) &Sigma; n = 0 2 M - 1 cos ( - &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 i + 1 ) ) * w 0 ( n ) * w 0 ( n )
* exp ( - j &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
= S 0 ( k ) + j &Sigma; i = 0 M - 1 1 2 M S 0 ( i ) &Sigma; n = 0 2 M - 1 w 0 ( n ) * w 0 ( n ) * cos ( - &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 i
+ 1 ) ) * sin ( &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
= S 0 ( k ) + j &Sigma; j = 0 M - 1 1 4 M S 0 ( i ) &Sigma; n = 0 2 M - 1 * w 0 ( n ) * w 0 ( n ) * ( sin ( &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 i
+ 1 + 2 k + 1 ) ) - sin ( &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 i - 2 k ) ) )
G ( k ) = &Sigma; n = 0 2 M - 1 w 0 ( n ) * w 0 ( n ) * sin ( &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k ) ) , k
= - 2 M , 1 , . . . 2 M
则有
Z 0 ( k ) = S 0 ( k ) + j &Sigma; i = 0 M - 1 1 4 M S 0 ( i ) ( G ( i + k + 1 ) - G ( j - k ) )
即Z0(k)可以表达成S0(k)与G(k)的卷积组合形式。令列矩阵 h cm 0 &prime; ( k ) = 1 4 M ( G ( i + k + 1 ) - G ( i - k ) ) , i=0,1,…M-1,k=0,1,…M-1
T , cm 0 = h cm 0 ( 0 ) h cm 0 ( 1 ) . . . h cm 0 ( M - 1 )
则有:
Z0(k)=S0(k)(I+T‘cm0),I为单位矩阵。
令Tcm0=(I+T‘cm0),则
Z0(k)=S0(k)Tcm0
T cm 0 = h cm 0 ( 0 ) h cm 0 ( 1 ) . . . h cm 0 ( M - 1 )
表明Z0(k)可以表达为S0(k)的矩阵运算形式,算子矩阵为Tcm0,为复数矩阵。
对于上述的Z+1(k):
Z + 1 ( k ) = &Sigma; n = 0 2 M - 1 1 2 M &Sigma; i = 0 M - 1 S + 1 ( i ) cos ( - &pi; 4 M * ( 2 ( n - M ) + 1 + 2 M 2 ) * ( 2 i + 1 ) )
* f + 1 ( n ) ) * w + 1 ( n - M ) * w 0 ( n ) * exp ( - j &pi; 4 M * ( 2 n + 1 + 2 M 2 )
* ( 2 k + 1 ) )
= &Sigma; i = 0 M - 1 1 2 M S + 1 ( i ) &Sigma; n = 0 2 M - 1 cos ( - &pi; 4 M * ( 2 n + 1 - 2 M 2 ) * ( 2 i + 1 ) ) * f + 1 ( n ) * w + 1 ( n
- M ) * w 0 ( n ) * sin ( &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
= j &Sigma; i = 0 M - 1 1 2 M S + 1 ( i ) &Sigma; n = 0 2 M - 1 w + 1 ( n - M ) * f + 1 ( n ) * w 0 ( n ) * cos ( - &pi; 4 M * ( 2 n + 1
- 2 M 2 ) * ( 2 i + 1 ) ) * sin ( &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
= j &Sigma; i = 0 M - 1 1 4 M S + 1 ( i ) &Sigma; n = 0 2 M - 1 ( - 1 ) k + 1 w + 1 ( n - M ) * f + 1 ( n ) * w 0 ( n ) * ( cos ( &pi; 4 M * ( 2 n
+ 1 - 2 M 2 ) * ( 2 i + 1 + 2 k + 1 ) ) + cos ( &pi; 4 M * ( 2 n + 1 - 2 M 2 )
* ( 2 i - 2 k ) ) )
G ( k ) = j &Sigma; n = 0 2 M - 1 ( - 1 ) k + 1 w + 1 ( n - M ) * f + 1 ( n ) * w 0 ( n ) * cos ( &pi; 4 M * ( 2 n + 1 - 2 M 2 )
* ( 2 k ) ) , k = - 2 M , 1 , . . . 2 M
则有 Z + 1 ( k ) = j &Sigma; i = 0 M - 1 1 4 M S 0 ( i ) ( G ( i + k + 1 ) + G ( i - k ) )
即Z+1(k)可以表达成S+1(i)与G(k)的卷积组合形式。令列矩阵 h cm + 1 ( k ) = j 1 4 M ( G ( i + k + 1 ) + G ( i - k ) ) , i=0,1,…M-1,k=0,1,…M-1
T cm + 1 = h cm + 1 ( 0 ) h cm + 1 ( 1 ) . . . h cm + 1 ( M - 1 )
则有:
Z+1(k)=S+1(k)Tcm+1
表明Z+1(k)可以表达为S+1(k)的矩阵运算形式,转换矩阵为Tcm+1,为复数矩阵。
对于上述Z-1(k)有:
Z - 1 ( k ) = &Sigma; n = 0 2 M - 1 1 2 M &Sigma; i = 0 M - 1 S - 1 ( i ) cos ( - &pi; 4 M * ( 2 ( n + M ) + 1 + 2 M 2 ) * ( 2 i + 1 ) )
* f - 1 ( n ) * w - 1 ( n + M ) * w 0 ( n )
* exp ( - j &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
= j &Sigma; i = 0 M - 1 1 2 M S - 1 ( i ) &Sigma; n = 0 2 M - 1 cos ( - &pi; 4 M * ( 2 n + 1 + 2 M + 2 M 2 ) * ( 2 i + 1 ) ) * f - 1 ( n )
* w - 1 ( n + M ) * w 0 ( n ) * sin ( &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
= j &Sigma; i = 0 M - 1 1 2 M S - 1 ( i ) &Sigma; n = 0 2 M - 1 w - 1 ( n ) * f - 1 ( n ) * w 0 ( n ) * cos ( - &pi; 4 M * ( 2 n + 1 + 2 M
+ 2 M 2 ) * ( 2 i + 1 ) ) * sin ( &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
= j &Sigma; i = 0 M - 1 1 4 M S 0 ( i ) &Sigma; n = 0 2 M - 1 ( - 1 ) k w - 1 ( n ) * f - 1 ( n ) * w 0 ( n ) ( cos ( &pi; 4 M * ( 2 n + 1 + 2 M 2 )
* ( 2 i + 1 + 2 k + 1 ) ) - cos ( &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 i - 2 k ) ) )
G ( k ) = j &Sigma; n = 0 2 M - 1 ( - 1 ) k w 0 ( n ) * w 0 ( n ) * cos ( &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k ) ) , k
= - 2 M , 1 , . . . 2 M
则有
Z - 1 ( k ) = j &Sigma; j = 0 M - 1 1 4 M S 0 ( j ) ( G ( j + k + 1 ) - G ( j - k ) )
即Z-1可以表达成S-1(j)与G(k)的卷积组合形式。令向量h(k)为
h ( k ) = 1 4 M ( G ( j + k + 1 ) - G ( j - k ) ) , j=0,1,…M-1,k=0,1,…2M-1
则有:
Z-1(k)=S-1(k)Tcm-1
Tcm-1=(h(0) h(1) … h(2M-1))
令列矩阵
h cm - 1 ( k ) = j 1 4 M ( G ( i + k + 1 ) - G ( i - k ) ) , i=0,1,…M-1,k=0,1,…M-1
T cm - 1 = h cm - 1 ( 0 ) h cm - 1 ( 1 ) . . . h cm - 1 ( M - 1 )
则有:
Z-1(k)=S-1(k)Tcm-1
表明Z-1(k)可以表达为S-1(k)的矩阵运算形式,转换矩阵为Tcm-1,为复数矩阵。
下面,对前后帧的块长不一致时的情况进行分析。以Tcm0为例来说明切换块时转换矩阵Tcm-1、Tcm+1、Tcm0的推导方法。
若前一帧信号的窗函数为w-1(n),长度为2M,当前帧信号的窗函数为w0(n),长度为2M/8,后一帧信号的窗函数为w+1(n),长度为2M/8。前一帧MDCT系数为S-1(k),当前MDCT系数为S0(k),后一帧MDCT系数为S+1(k),则当前帧MDFT系数Y(k)为:
Z ( k ) = &Sigma; n = 0 2 M / 8 sr ( n ) w 0 ( n ) exp ( - j &pi; 4 M / 8 * ( 2 n + 1 + 2 M / 8 2 ) * ( 2 k + 1 ) )
其中sr(n)为当前帧的时域重构信号,j为虚数符号。而且有:
sr ( n ) = ( 1 2 M / 8 &Sigma; k = 0 M / 8 - 1 S 0 ( k ) cos ( - &pi; 4 M / 8 * ( 2 n + 1 + 2 M / 8 2 )
* ( 2 k + 1 ) ) * w 0 ( n )
+ 1 2 M &Sigma; k = 0 M - 1 S - 1 ( k ) cos ( - &pi; 4 M * ( 2 ( n + M + ( M - M / 8 ) / 2 ) + 1 + 2 M 2 ) * ( 2 k + 1 ) )
* f - 1 ( n ) * w - 1 ( n + M + ( M - M / 8 ) / 2 )
+ 1 2 M / 8 &Sigma; k = 0 M / 8 - 1 S + 1 ( k ) cos ( - &pi; 4 M / 8 * ( 2 ( n - M / 8 ) + 1 + 2 M / 8 2 ) * ( 2 k + 1 ) )
* f + 1 ( n ) ) * w + 1 ( n - M / 8 )
f - 1 ( n ) = 1 , n < M / 8 0 , else
f + 1 ( n ) = 0 , n < M / 8 1 , else
w-1(n)、w0(n)、w+1(n)满足:
w-1(n+M)2+w0(n)2=1
w0(n+M)2+w+1(n)2=1
可以通过推导上述公式,可以得到:
Z(k)=Z-1(k)+Z0(k)+Z+1(k)
其中,
Z - 1 ( k ) = &Sigma; n = 0 2 M / 8 - 1 1 2 M &Sigma; i = 0 M - 1 S - 1 ( i ) cos ( - &pi; M ( 2 ( n + M + ( M - M / 8 ) / 2 ) + 1
+ 2 M 2 ) * ( 2 i + 1 ) ) * f - 1 ( n ) * w - 1 ( n + M + ( M - M / 8 ) / 2 ) * w 0 ( n )
* exp ( - j &pi; 4 M / 8 * ( 2 n + 1 + 2 M / 8 2 ) * ( 2 k + 1 ) )
Z 0 ( k ) = &Sigma; n = 0 2 M / 8 - 1 1 2 M / 8 &Sigma; i = 0 M / 8 - 1 S 0 ( i ) cos ( - &pi; 4 M / 8 * ( 2 n + 1 + 2 M / 8 2 ) * ( 2 i + 1 ) )
* w 0 ( n ) * w 0 ( n ) * exp ( - j &pi; 4 M / 8 * ( 2 n + 1 + 2 M / 8 2 ) * ( 2 k + 1 ) )
Z + 1 ( k ) = &Sigma; n = 0 2 M / 8 - 1 1 2 M / 8 &Sigma; i = 0 M / 8 - 1 s + 1 ( i ) cos ( - &pi; 4 M 8 * ( 2 ( n - M 8 ) + 1 + 2 M / 8 2 ) * ( 2 i
+ 1 ) ) * f + 1 ( n ) ) * w + 1 ( n - M / 8 ) * w 0 ( n ) * exp ( - j &pi; 4 M / 8 * ( 2 n + 1
+ 2 M / 8 2 ) * ( 2 k + 1 ) )
以Z0(k)为例:
Z 0 ( k ) = &Sigma; n = 0 2 M / 8 - 1 1 2 M / 8 &Sigma; i = 0 M / 8 - 1 S 0 ( i ) cos ( - &pi; 4 M 8 * ( 2 n + 1 + 2 M / 8 2 ) * ( 2 i + 1 ) )
* w 0 ( n ) * w 0 ( n ) * exp ( - j &pi; 4 M / 8 * ( 2 n + 1 + 2 M / 8 2 ) * ( 2 k + 1 ) )
= S 0 ( k ) + j &Sigma; i = 0 M / 8 - 1 1 2 M / 8 S 0 ( i ) &Sigma; n = 0 2 M / 8 - 1 cos ( - &pi; 4 M / 8 * ( 2 n + 1 + 2 M / 8 2 ) * ( 2 i + 1 ) )
* w 0 ( n ) * w 0 ( n ) * sin ( &pi; 4 M / 8 * ( 2 n + 1 + 2 M / 8 2 ) * ( 2 k + 1 ) )
= S 0 ( k ) + j &Sigma; i = 0 M / 8 - 1 1 2 M / 8 S 0 ( i ) &Sigma; n = 0 2 M / 8 - 1 w 0 ( n ) * w 0 ( n ) * cos ( - &pi; 4 M / 8 * ( 2 n + 1
+ 2 M / 8 2 ) * ( 2 i + 1 ) ) * sin ( &pi; 4 M / 8 * ( 2 n + 1 + 2 M / 8 2 ) * ( 2 k + 1 ) )
= S 0 ( k ) + j &Sigma; i = 0 M / 8 - 1 1 4 M / 8 S 0 ( i ) &Sigma; n = 0 2 M / 8 - 1 * w 0 ( n ) * w 0 ( n ) ( sin ( &pi; 4 M / 8 * ( 2 n + 1
+ 2 M / 8 2 ) * ( 2 i + 1 + 2 k + 1 ) ) - sin ( &pi; 4 M / 8 * ( 2 n + 1 + 2 M 8 2 )
* ( 2 i - 2 k ) ) )
G ( k ) = &Sigma; n = 0 2 M / 8 - 1 w 0 ( n ) * w 0 ( n ) ( sin ( - &pi; 4 M / 8 * ( 2 n + 1 + 2 M / 8 2 ) * ( 2 k ) ) , k
= - 2 M / 8,1 , . . . 2 M / 8
则有
Z 0 ( k ) = &Sigma; i = 0 M - 1 1 4 M / 8 S 0 ( i ) ( G ( i + k + 1 ) + G ( i - k ) )
即Z0(k)可以表达成S0(i)与G(k)的卷积组合形式。令向量h(k)
h ( k ) = 1 4 M ( G ( i + k + 1 ) + G ( i - k ) ) , i=0,1,…M-1,k=0,1,…2M-1
则有:
Z0(k)=S0(k)Tcm0
Tcm0=(h(0) h(1) … h(2M-1))
令列矩阵
h cm 0 &prime; ( k ) = 1 4 M ( G ( i + k + 1 ) - G ( i - k ) ) , i=0,1,…M-1,k=0,1,…M-1
T , cm 0 = h cm 0 ( 0 ) h cm 0 ( 1 ) . . . h cm 0 ( M - 1 )
则有:
Z0(k)=S0(k)(I+T‘cm0),I为单位矩阵。
令Tcm0=(I+T‘cm0),则
Z0(k)=S0(k)Tcm0
T cm 0 = h cm 0 ( 0 ) h cm 0 ( 1 ) . . . h cm 0 ( M - 1 )
即Z0(k)可以表达为S0(k)的矩阵运算形式,转换矩阵为Tcm0,为复数矩阵。
这表明Z0(k)可以表达为S0(k)的矩阵运算形式,变换矩阵为Tcm0;类似地,Z-1(k)可以表达为S-1(k)的组合,变换矩阵为Tcm-1,Z+1(k)可以表达为S-1(k)的组合,变换矩阵为Tcm-1。Tcm-1、Tcm+1、Tcm0都是稀疏矩阵,只有少数数据非零,大部分数据等于0或者接近于0,可以通过将大部分数据近似为0的方式,来简化转换矩阵,降低运算量。
最后,讨论MDFT谱转换为MDCT谱时的转换矩阵。
由MDFT谱转换为MDCT谱的情形,与由MDCT谱转换为MDFT谱的原理是类似的。
设当前帧的帧长为2M,窗函数为w(n),其前一帧MDFT系数为行矩阵F-1(k),当前帧MDFT系数为行矩阵F0(k),后一帧MDFT系数为行矩阵F+1(k),则当前帧的MDCT域系数S(k)可通过如下公式计算:
S(k)=F-1(k)Tmc-1+F0(k)Tmc0+F+1(k)Tmc+1
其中Tmc-1、Tmc0和Tmc+1为转换矩阵,即算子信息,它们分别代表了前一帧的MDFT系数、当前帧的MDFT系数、后一帧的MDFT系数对于当前帧的MDCT系数的贡献。Tmc-1、Tmc0和Tmc+1都是稀疏矩阵,只有少数数据非零,大部分数据等于0或者接近于0。因此,通过将大部分数据近似为0可以简化所述转换矩阵,从而降低运算量。列矩阵分别为Tmc-1、Tmc0和Tmc+1的列,
T mc - 1 = h mc - 1 ( 0 ) h mc - 1 ( 1 ) . . . h mc - 1 ( M - 1 )
T mc 0 = h mc 0 ( 0 ) h mc 0 ( 1 ) . . . h mc 0 ( M - 1 )
T mc + 1 = h mc + 1 ( 0 ) h mc + 1 ( 1 ) . . . h mc + 1 ( M - 1 )
则行矩阵S(k)中的每一项S(i)可表达为:
S ( i ) = F - 1 ( k ) h mc - 1 ( i ) + F 0 ( k ) h mc 0 ( i ) + F + 1 ( k ) h mc + 1 ( i )
转换矩阵的推导方式与前述MDCT谱向MDFT谱转换中转换矩阵的推导方式类似,不再赘述。
图5是图1所示的高频谱与低频谱组合模块的结构框图。
如图5所示,高频谱与低频谱组合模块可以用支路二选一的方式来实现其功能。高频谱与低频谱组合模块可以包括:低频MDFT与高频MDFT频段拼接模块;和/或,MDCT谱到MDFT变体转换模块(变体构造模块)和MDFT变体信号与MDFT谱组合模块(频段拼接模块)。
在第一种情况下,低频MDFT与高频MDFT组合模块接收低频MDFT转换模块103输出的低频MDFT谱、高频参数解码模块105输出的解码后高频MDFT谱,将两者组合成全频带MDFT谱,输出到频时映射模块107。
下面详细论述第二种情况,即图5中的第二执行支路。
MDCT谱到MDFT变体转换模块通过来自低频波形解码模块102的MDCT域上的低频谱构造出低频谱在MDFT域上的某种变体表达,并将得到的MDFT变体数据传入MDFT变体信号与MDFT谱组合模块。其中所属MDFT变体表达形式不是MDFT谱,但该变体谱的IMDFT变换能够重构源信号的时域数据。
首先,对MDFT变体表达形式进行说明。
对于MDFT谱信号Z(k),其反变换时域混叠重构的时域信号为S(k),构造Z‘(k)不等于Z(k),并使得Z′(k)的反变换时域混叠重构的时域信号也为S(k)。Z‘(k)即为MDFT变体表达形式。
由于MDCT变换/逆变换能够重构信号,因此MDCT可以表达出MDFT的信息,即可以将MDFT系数转换为等价的MDCT系数。按照前述MDCT谱、MDST谱与MDFT谱之间的关系,对于信号s(n),设其MDFT域谱为
Z(k)=X(k)+jY(k)
则其对应的MDCT谱为X(k),MDST谱为Y(k)。
对X(k)进行IMDCT变换有:
simdct ( n ) = 2 M &Sigma; k = 0 M - 1 S ( k ) w ( n ) cos ( - i &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
对X(k)进行IMDFT变换有:
simdft ( n ) = 1 2 M &Sigma; k = 0 2 M - 1 S ( k ) w ( n ) exp ( - i &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
= 1 M &Sigma; k = 0 M - 1 S ( k ) w ( n ) cos ( - i &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
= simdct ( n ) / 2
构造Z′(k)
Z′(k)=(1-k)X(k)+j(1+k)Y(k),k=-1…1
Z′(k)的逆变换重构结果与Z′(k)是一致的。这利用了MDCT、MDST都能够实现时域混叠消除的性质。因此,由公式Z′(k)=(1-k)X(k)+j(1+k)生成的Z′(k)满足前述MDFT变体表达形式的要求。
当k=-1时,Z′(k)=2X(k)。这表明:对于由源信号生产的一组MDFT频谱,如果只保留其实数部分并乘以2,就能得到一种只含实数部分的MDFT变体,对其进行IMDFT变换和时域混叠重构的结果与源信号一致;对于源信号的MDCT谱,将其乘以2,就能得到一种只含实数部分的MDFT变体,对其进行IMDFT变换和时域混叠重构的结果与源信号一致。
对于频带MDFT谱Z(k)=X(k)+jY(k)转换为只含实数部分的MDFT变体表达,则需要对边界进行处理。这里用到前述MDFT谱向MDCT转换的关系
如对于低频段信号的MDFT谱Z(k)=X(k)+jY(k),k=0,…,Mb,当前帧、前一帧、后一帧MDFT谱分别用行矩阵表达为Z0(k)=X0(k)+jY0(k),Z-1(k)=X-1(k)+jY-1(k),Z+1(k)=X+1(k)+jY+1(k),将其转换为只含实数成分的MDFT变体Z′(k),
Z‘(k)
= 2 X 0 ( k ) , k < Mb - delta Z - 1 ( l ) h mc - 1 ( k ) + Z 0 ( l ) h mc 0 ( k ) + Z + 1 ( l ) h mc + 1 ( k ) , Mb - delta &le; k < Mb + delta
其中,分别为前述的转换矩阵Tmc-1、Tmc0和Tmc+1的列。
最后,讨论MDCT域上的低频谱构造出低频谱在MDFT域上的某种变体表达的方法。
对于频带信号的MDCT谱X(k)转换为只含实数部分的MDFT变体表达,需要对边界进行处理。这里用到前述MDCT谱向MDFT转换的关系以及MDFT谱向MDCT转换的关系。
对于MDCT域上的低频谱X(k),k=0,…,Mb,Mb为频带边界,当前帧、前一帧、后一帧MDCT谱分别用行矩阵表达为X0(k),X-1(k),X+1(k),其对应的只含实数成分的MDFT变体Z’(k)可由如下公式计算得到:
Z , ( k ) = 2 X ( k ) , k < Mb - &Delta;c Z - 1 ( l ) h mc - 1 ( k ) + Z 0 ( l ) h mc 0 ( k ) + Z + 1 ( l ) h mc + 1 ( k ) , Mb - &Delta;c &le; k < Mb + &Delta;c
其中,分别为前述的转换矩阵Tmc-1、Tmc0和Tmc+1的列,Δc为边界处理宽度,频带范围[Mb-Δc,Mb+Δc]内的Z‘(k)通过利用Z-1(l)、Z0(l)、Z+1(l)运算得到。Z-1(l)、Z0(l)、Z+1(l)由前述MDCT谱向MDFT谱转换方法得到,分别代表当前帧、前一帧、后一帧对应的低频带MDFT谱。如Z0(l)可由如下公式计算得到:
Z 0 ( l ) = X - 1 ( k ) h cm - 1 ( l ) + X 0 ( k ) h cm 0 ( l ) + X + 1 ( k ) h cm + 1 ( l ) , 1 &le; Mb 0,1 > Mb
其中列矩阵分别为转换矩阵Tcm-1、Tcm0和Tcm+1的列,Tcm-1、Tcm0和Tcm+1为前述的MDCT谱向MDFT谱转换的转换矩阵。因为前述Z‘(k)的运算中,只有频带范围[Mb-Δc,Mb+Δc]内的Z‘(k)值的运算需要用到低频带MDFT谱Z0(l)的数据,所以Z0(l)的运算可以限定在一定频带边界范围内进行,如频带范围[Mb-Δm,Mb],Δm为边界处理宽度,Δm>Δc,其选值应能保证频带范围[Mb-Δc,Mb+Δc]内的Z‘(k)值的运算精度要求。
MDFT变体信号与MDFT谱组合模块将来自高频参数解码模块的MDFT域上的高频谱与从MDCT谱到MDFT变体转换模块接收的低频谱在MDFT域的变体表达进行拼接,得到在MDFT域上表达的拼接信号。频带边界范围[Mb,Mb+Δc]内的MDFT谱是通过MDFT域上的高频谱和低频谱在MDFT域上的变体表达两者数值的相加拼接得到的;低于这个频带范围的MDFT谱的取值为低频谱在MDFT域上的变体表达的数值;高于这个频带范围的MDFT谱的取值为MDFT域上的高频谱的数值。
下面,对根据本发明实施例的声音解码方法进行详细的描述,该方法包括下列步骤。
在步骤1,对声音编码码流进行解复用,得到低频编码数据、高频参数编码数据以及解码所用的所有边信息。
在步骤2,对低频编码数据进行低频波形解码,低频信号解码包括低频逆量化和低频冗余逆处理两个步骤。
首先对低频编码数据进行逆量化和解码,得到逆量化后的低频谱。然后根据边信息判断该帧数据在编码端是否进行了低频冗余处理,如果是则需要将逆量化后的低频谱进行低频冗余逆处理,否则逆量化后的低频谱不做变化。
低频逆量化和低频冗余逆处理方法分别对应于低频信号编码方法。如果在低频信号编码部分的具体实施方案中采用的是矢量量化的方法,则对应的低频逆量化需要从码流中得到矢量码字索引,根据码字索引在固定码书中找到对应的矢量。将矢量按顺序组合成逆量化后的低频谱。根据边信息判断出编码端是否进行了低频冗余处理。如果否,则逆量化后的低频谱不做低频冗余逆处理;如果是,则根据边信息判断出编码端采用哪种低频冗余处理方法,如果编码端采用DCT方法,则解码端采用8*8的IDCT对低频进行冗余逆处理;如果编码端采用LPC方法,则解码端对LPC模型参数进行逆量化,得到逆量化后的线性预测器参数,对低频残差谱进行逆滤波处理。
在步骤3,进行低频MDFT转换,将逆量化后的低频谱从MDCT域转换至MDFT域,得到MDFT域的低频谱。
低频MDFT转换目前有多种方法实现,具体的转换方法如根据MDCT域系数重构时域信号然后进行MDFT变换得到MDFT域系数;或如利用前述由源信号的MDCT谱获得复数MDFT频谱的方法,通过建立当前帧及前后帧的MDCT域系数与当前帧MDFT域系数之间的关系,确定由这三帧MDCT域系数计算当前帧MDFT域系数的三个转换矩阵,从而实现由MDCT域系数直接处理来得到MDFT域系数。
转换方法1:根据MDCT系数重构时域信号然后进行MDFT变换得到MDFT域系数。
通过对MDCT域系数进行逆修正离散余弦变换(IMDCT)和叠接相加处理来获得时域重构信号,然后对时域重构信号做MDFT变换得到MDFT域系数。这一方法分为时域信号重构、MDFT变换两个步骤。
步骤a:时域数据重构。对MDCT域系数进行逆修正离散余弦变换(IMDCT)和叠接相加处理来获得时域重构信号。
步骤b:MDFT变换。为了保持与MDCT域系数的同步,MDFT变换要采用与当前帧MDCT变换相同的窗函数、窗长度等。当前帧MDCT变换的长度为2M,窗函数为w(n),则MDFT变换为:
Z ( k ) = &Sigma; n = 0 2 M - 1 sr ( n ) w ( n ) exp ( i &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
k=0,1,…,M-1。
转换方法2:利用前述由源信号的MDCT谱获得复数MDFT频谱的方法,对MDCT域系数直接处理来获得MDFT系数。该方法包括如下步骤:
步骤a:根据一帧或多帧的块类型和窗函数选择所适用的算子,其中,算子矩阵由MDCT与MDFT之间的关系推导得出;
步骤b:根据所选算子,由一帧或多帧MDCT频谱分量得到当前帧的复数MDFT频谱分量。可以根据计算精度的需要,对算子中系数的非零部分的长度进行取舍,对MDFT频谱的部分谱线也可以根据信号特性构造得出。
在步骤4,进行低频谱向高频谱映射。
将MDFT域的低频谱的特定频带映射到高频的特定频带,得到频谱映射后的高频谱数据。低频谱至高频谱的映射目前有多种方法实现,例如折叠映射,线性映射,倍频映射等。根据变换块长度等信息,确定高频与低频的频带边界Mb。
在步骤5,进行高频参数解码。
根据MDFT域的低频谱至高频谱映射后的MDFT域的高频谱,以及解复用中得到的边信息,对高频参数进行参数解码,得到解码后的MDFT域的高频谱。高频参数解码可以包含以下步骤:
在步骤5-1,求低频谱至高频谱映射后的时频平面的各区域的能量,区域的划分同编码器一致。
在步骤5-2,从比特流解复用模块901得到调性调整类型,如果调整类型为不调整,则执行步骤35-4,否则进行步骤35-3。
在得到高频各区域的调整类型和解量化后的调整参数后,对映射频谱的调性做调整。设映射频带的能量为Eest,解量化后的调整参数为,则调整可以分以下两种情况处理:
情况1、当调整类型为加弦处理时,加弦的位置为该频带的正中,加弦的能量为并使前后帧加弦的相位保持连续;
情况2,当调整类型为加噪处理时,加噪的能量噪声的相位为随机数。
在步骤5-3,从比特流解复用模块101得到调性调整参数并解量化,然后根据解量化后的调性调整参数对预处理后的映射的频谱进行调性调整。
在步骤5-4,从比特流解复用模块101得到的时频平面各区域量化后的增益,解量化后对步骤4输出的高频谱的各区域增益进行调整,使得调整后的各区域的能量与目标能量相同,形成信号的高频谱。
在步骤6,进行高频谱与低频谱的拼接,得到复频域表达的拼接信号,其可以通过如下两个步骤中的一个来实现。
在步骤6-1,接收低频MDFT转换后的低频MDFT谱、高频参数解码后的高频MDFT谱,将两者组合得到全频带MDFT谱。
在步骤6-2,接收低频波形解码后的低频MDCT谱、高频参数解码后的高频MDFT谱,将两者组合得到全频带MDFT谱。
下面,对6-2中将MDCT谱表达的低频谱与MDFT谱表达的高频谱进行拼接处理得到MDFT域表达的拼接信号进行详述。
MDCT谱表达的低频谱与MDFT谱表达的高频谱进行拼接处理得到MDFT域表达的拼接信号,该方法包括:
步骤21:由MDCT域的低频谱数据构造出低频谱在MDFT域上的变体表达;
以MDCT域的低频谱S(k)为例,如果不进行边界处理,则其在MDFT域上的变体表达Z’(k)按照如下公式获得:
Z , ( k ) = 2 * S ( k ) , k &le; Mb 0 , k > Mb
其中,Mb为前面确定的高频与低频的频带边界。
若需要进行边界处理,则分为如下步骤:
步骤21-1:计算低频谱中在高低频边界处一定宽度范围内谱线的MDFT域表达F(i),按照如下公式实现:
F ( i ) = S - 1 ( k ) h cm - 1 ( i ) + S 0 ( k ) h cm 0 ( i ) + S + 1 ( k ) h cm + 1 ( i ) , Mb - &Delta;m &le; k &le; mb 0 , k > Mb
其中为边界处理宽度行矩阵S-1(k)为前一帧MDCT系数,S0(k)为当前MDCT系数,S+1(k)为后一帧MDCT系数,列矩阵分别为转换矩阵Tcm-1、Tcm0和Tcm+1的列;Δm为边界处理宽度,可根据处理精度要求确定,频带边界范围[Mb-Δm,Mb]内的F(i)值通过计算得到,这一频带边界范围之外的置零,处理宽度Δm的选择应能满足如下步骤21-2中对Z′(k)计算精度的要求。
步骤21-2:计算低频谱在MDFT域的变体表达Z′(k),按照如下公式实现:
Z , ( k ) = 2 * S ( k ) , k < Mb - &Delta;c F - 1 ( l ) h mc - 1 ( k ) + F 0 ( l ) h mc 0 ( k ) + F + 1 ( l ) h mc + 1 ( k ) , Mb - &Delta;c &le; k < Mb + &Delta;c 0 , k > Mb + &Delta;c
其中,Δc为边界处理宽度,Δc<Δm;F+1(k)、F0(k)、F+1(k)是步骤21-1中计算所得的MDFT谱数据,分别代表了前一帧MDFT系数、当前帧MDFT系数、后一帧MDFT系数;分别为转换矩阵Tmc-1、Tmc0和Tmc+1的列,Tmc-1、Tmc0和Tmc+1为转换矩阵,分别代表了前一帧MDFT系数、当前帧MDFT系数、后一帧MDFT系数对于当前帧MDCT系数的贡献。公式中,频带边界范围[Mb-Δc,Mb+Δc]内的MDFT域的变体表达Z′(k)值是通过矩阵运算得到的,这一频带边界范围之外的Z′(k)值通过简单的赋值方式得到,宽度Δc的选择应能满足Z′(k)的计算精度要求。
步骤22:将MDFT域上的高频谱Zh(k)与步骤21中所得的低频谱在MDFT域上的变体表达Z′(k)进行拼接,得到在MDFT域上表达的全频带的MDFT谱Smdft_a(k)。按照如下公式实现:
Smdft _ a ( k ) = Z &prime; ( k ) , k &le; Mb Z h ( k ) + Z &prime; ( k ) , , Mb < k &le; Mb + &Delta;c Z h ( k ) , k > Mb + &Delta;c
频带边界范围[Mb,Mb+Δc]内的MDFT谱是通过高频谱Zh(k)和低频谱在MDFT域上的变体表达Z′(k)两者数值的拼接得到的。
在步骤7,将组合形成的全频带的MDFT谱进行IMDFT变换,并进行时域混叠处理,得到解码后的时域信号。
在步骤8,对解码后的时域信号进行重采样操作,将解码后的时域信号的采样率变换到适合声音回放的采样频率。重采样的实施方法与编码装置端相同。应注意,如果IMDFT变换后的时域信号的采样频率适于声音回放,则可以不包括重采样操作。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (16)

1.一种声音解码方法,包括:
对声音编码码流进行解复用,以获取低频波形编码数据和高频参数编码数据;
对所述低频波形编码数据进行解码,得到修正离散余弦变换MDCT域上的低频谱数据;
将所述MDCT域上的低频谱数据从MDCT域转换到修正离散傅里叶变换MDFT域,得到MDFT域上的低频谱数据;
从所述MDFT域上的低频谱数据中映射部分低频谱数据到高频部分,得到频谱映射后的高频谱数据;
根据所述高频参数编码数据对所述频谱映射后的高频谱数据进行参数解码,得到MDFT域上的高频谱数据;
将所述MDCT域上的低频谱数据和所述MDFT域上的高频谱数据进行组合,得到MDFT域上的全频谱数据;以及
对所述MDFT域上的全频谱数据进行逆修正离散傅里叶变换IMDFT,得到时域上的声音解码数据。
2.根据权利要求1所述的方法,其中,所述将所述低频谱数据从MDCT域转换到修正离散傅里叶变换MDFT域,得到MDFT域上的低频谱数据的步骤包括:
根据当前帧及其前后帧的MDCT域上的低频谱数据和三个转换矩阵,计算出所述MDFT域上的低频谱数据,其中,所述三个转换矩阵是通过建立所述低频谱数据的当前帧及其前后帧的MDCT域系数与当前帧的MDFT域系数之间的关系,然后根据所述关系预先确定的。
3.根据权利要求1所述的方法,其中,所述将所述MDCT域上的低频谱数据和所述MDFT域上的高频谱数据进行频段拼接,得到MDFT域上的全频谱数据的步骤包括:
根据所述MDCT域上的低频谱数据的频带边界构造出所述MDCT域上的低频谱数据在MDFT域上的变体表达谱数据,其中,所述变体表达谱数据不是MDFT谱数据并且用于通过其IMDFT变换重构时域数据,所述频带边界是根据所述声音编码码流的当前帧的块类型以及在编码端确定的高低频分割频率预先确定的;
对所述变体表达谱数据和所述MDFT域上的高频谱数据进行频段拼接,得到MDFT域上的全频谱数据。
4.根据权利要求3所述的方法,其中,所述构造出所述MDCT域上的低频谱数据在MDFT域上的变体表达谱数据的步骤包括:
根据所述频带边界对所述MDCT域上的低频谱数据进行分类;
根据分类后的低频谱数据构造出所述MDFT域上的变体表达谱数据。
5.根据权利要求4所述的方法,其中:
所述MDCT域上的低频谱数据被分为不超过所述频带边界的第一类数据和超过所述频带边界的第二类数据;
所述MDFT域上的变体表达谱数据是通过将所述第一类数据乘以2,将所述第二类数据置0而得到的。
6.根据权利要求3所述的方法,其中,所述构造出所述MDCT域上的低频谱数据在MDFT域上的变体表达谱数据的步骤包括:
根据第一频带边界范围将所述MDCT域上的低频谱数据转换到MDFT域,得到第一频带边界范围内MDFT域上的低频谱数据,其中,所述第一频带边界范围由所述频带边界和预定的第一边界处理宽度决定;
根据第二频带边界范围对所述MDCT域上的低频谱数据进行分类,其中,所述第二频带边界范围由所述频带边界和预定的第二边界处理宽度决定;
根据分类后的低频谱数据和所述第一频带边界范围内的MDFT域的低频谱数据,构造出所述MDFT域上的变体表达谱数据。
7.根据权利要求6所述的方法,其中:
所述MDCT域上的低频谱数据被分为不超过所述第二频带边界范围最小值的第一类数据和超过所述第二频带边界范围最大值的第二类数据;
所述MDFT域上的变体表达谱数据是通过将所述第一类数据乘以2,将第二类数据置0,并且将当前帧及其前后帧的所述第一频带边界范围内的MDFT域上的低频谱数据分别与预先得到的三个转换矩阵相乘再将三个乘积相加而得到的。
8.根据权利要求3所述的方法,其中,所对所述变体表达谱数据和所述MDFT域上的高频谱数据进行频段拼接,得到MDFT域上的全频谱数据的步骤包括:
在第三频带边界范围内对所述变体表达谱数据和所述MDFT域上的高频谱数据进行频段拼接,所述第三频带边界范围由所述频带边界和预定的第二边界处理宽度决定。
9.一种声音解码装置,包括:
比特流解复用模块,用于对声音编码码流进行解复用,以获取低频波形编码数据和高频参数编码数据;
低频波形解码模块,用于对所述低频波形编码数据进行解码,得到修正离散余弦变换MDCT域上的低频谱数据;
低频MDFT转换模块,用于将所述MDCT域上的低频谱数据从MDCT域转换到修正离散傅里叶变换MDFT域,得到MDFT域上的低频谱数据;
低频谱至高频谱映射模块,用于从所述MDFT域上的低频谱数据中映射部分低频谱数据到高频部分,得到频谱映射后的高频谱数据;
高频参数解码模块,用于根据所述高频参数编码数据对所述频谱映射后的高频谱数据进行参数解码,得到MDFT域上的高频谱数据;
高频谱与低频谱组合模块,用于将所述MDCT域上的低频谱数据和所述MDFT域上的高频谱数据进行组合,得到MDFT域上的全频谱数据;以及
频时映射模块,用于对所述MDFT域上的全频谱数据进行逆修正离散傅里叶变换IMDFT,得到时域上的声音解码数据。
10.根据权利要求9所述的装置,其中,所述低频MDFT转换模块包括:
用于根据当前帧及其前后帧的MDCT域上的低频谱数据和三个转换矩阵,计算出所述MDFT域上的低频谱数据的模块,其中,所述三个转换矩阵是通过建立所述低频谱数据的当前帧及其前后帧的MDCT域系数与当前帧的MDFT域系数之间的关系,然后根据所述关系预先确定的。
11.根据权利要求9所述的装置,其中,所述高频谱与低频谱组合模块包括:
变体构造模块,用于根据所述MDCT域上的低频谱数据的频带边界构造出所述MDCT域上的低频谱数据在MDFT域上的变体表达谱数据,其中,所述变体表达谱数据不是MDFT谱数据并且用于通过其IMDFT变换重构时域数据,所述频带边界是根据所述声音编码码流的当前帧的块类型以及在编码端确定的高低频分割频率预先确定的;
频段拼接模块,用于对所述变体表达谱数据和所述MDFT域上的高频谱数据进行频段拼接,得到MDFT域上的全频谱数据。
12.根据权利要求11所述的装置,其中,所述变体构造模块用于:
根据所述频带边界对所述MDCT域上的低频谱数据进行分类;
根据分类后的低频谱数据构造出所述MDFT域上的变体表达谱数据。
13.根据权利要求12所述的装置,其中,所述MDCT域上的低频谱数据被分为不超过所述频带边界的第一类数据和超过所述频带边界的第二类数据,所述MDFT域上的变体表达谱数据是通过将所述第一类数据乘以2,将所述第二类数据置0而得到的。
14.根据权利要求11所述的装置,所述变体构造模块还用于:
根据第一频带边界范围将所述MDCT域上的低频谱数据转换到MDFT域,得到第一频带边界范围内的MDFT域上的低频谱数据,其中,所述第一频带边界范围由所述频带边界和预定的第一边界处理宽度决定;
根据第二频带边界范围对所述MDCT域上的低频谱数据进行分类,其中,所述第二频带边界范围由所述频带边界和预定的第二边界处理宽度决定;
根据分类后的低频谱数据和所述第一频带边界范围内的MDFT域的低频谱数据,构造出所述MDFT域上的变体表达谱数据。
15.根据权利要求14所述的装置,其中:
所述MDCT域上的低频谱数据被分为不超过所述第二频带边界范围最小值的第一类数据和超过所述第二频带边界范围最大值的第二类数据;
所述MDFT域上的变体表达谱数据是通过将所述第一类数据乘以2,将第二类数据置0,并且将当前帧及其前后帧的所述第一频带边界范围内的MDFT域上的低频谱数据分别与预先得到的三个转换矩阵相乘再将三个乘积相加而得到的。
16.根据权利要求15所述的装置,其中,所述频段拼接模块用于:
在第三频带边界范围内对所述变体表达谱数据和所述MDFT域上的高频谱数据进行频段拼接,所述第三频带边界范围由所述频带边界和预定的第二边界处理宽度决定。
CN201310109081.4A 2013-03-29 2013-03-29 一种声音解码装置及其方法 Active CN104078048B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310109081.4A CN104078048B (zh) 2013-03-29 2013-03-29 一种声音解码装置及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310109081.4A CN104078048B (zh) 2013-03-29 2013-03-29 一种声音解码装置及其方法

Publications (2)

Publication Number Publication Date
CN104078048A true CN104078048A (zh) 2014-10-01
CN104078048B CN104078048B (zh) 2017-05-03

Family

ID=51599270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310109081.4A Active CN104078048B (zh) 2013-03-29 2013-03-29 一种声音解码装置及其方法

Country Status (1)

Country Link
CN (1) CN104078048B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108028046A (zh) * 2015-06-16 2018-05-11 弗劳恩霍夫应用研究促进协会 缩减解码

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101086845A (zh) * 2006-06-08 2007-12-12 北京天籁传音数字技术有限公司 声音编码装置及方法以及声音解码装置及方法
US20080154615A1 (en) * 2005-01-11 2008-06-26 Koninklijke Philips Electronics, N.V. Scalable Encoding/Decoding Of Audio Signals
CN101276587A (zh) * 2007-03-27 2008-10-01 北京天籁传音数字技术有限公司 声音编码装置及其方法和声音解码装置及其方法
US20090063140A1 (en) * 2004-11-02 2009-03-05 Koninklijke Philips Electronics, N.V. Encoding and decoding of audio signals using complex-valued filter banks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090063140A1 (en) * 2004-11-02 2009-03-05 Koninklijke Philips Electronics, N.V. Encoding and decoding of audio signals using complex-valued filter banks
US20080154615A1 (en) * 2005-01-11 2008-06-26 Koninklijke Philips Electronics, N.V. Scalable Encoding/Decoding Of Audio Signals
CN101086845A (zh) * 2006-06-08 2007-12-12 北京天籁传音数字技术有限公司 声音编码装置及方法以及声音解码装置及方法
CN101276587A (zh) * 2007-03-27 2008-10-01 北京天籁传音数字技术有限公司 声音编码装置及其方法和声音解码装置及其方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108028046A (zh) * 2015-06-16 2018-05-11 弗劳恩霍夫应用研究促进协会 缩减解码
US11062719B2 (en) 2015-06-16 2021-07-13 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Downscaled decoding
US11341978B2 (en) 2015-06-16 2022-05-24 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Downscaled decoding
US11341979B2 (en) 2015-06-16 2022-05-24 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Downscaled decoding
US11341980B2 (en) 2015-06-16 2022-05-24 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Downscaled decoding
US11670312B2 (en) 2015-06-16 2023-06-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Downscaled decoding

Also Published As

Publication number Publication date
CN104078048B (zh) 2017-05-03

Similar Documents

Publication Publication Date Title
US11741973B2 (en) Audio encoder for encoding a multichannel signal and audio decoder for decoding an encoded audio signal
US11335354B2 (en) Decoder for decoding an encoded audio signal and encoder for encoding an audio signal
CN101067931B (zh) 一种高效可配置的频域参数立体声及多声道编解码方法与系统
KR101256808B1 (ko) 외적 향상 고조파 전치
EP1943643B1 (en) Audio compression
CA2704812C (en) An encoder for encoding an audio signal
CN102027537B (zh) 利用谐波带宽扩充及非谐波带宽扩充的组合、基于输入信号表示型态产生扩充带宽信号的表示型态的装置、方法
CN101276587B (zh) 声音编码装置及其方法和声音解码装置及其方法
CN103366749B (zh) 一种声音编解码装置及其方法
CN103262164B (zh) 叉积增强的基于子带块的谐波换位
CN103366750B (zh) 一种声音编解码装置及其方法
CN103366751B (zh) 一种声音编解码装置及其方法
CN104751850B (zh) 一种用于音频信号的矢量量化编解码方法及装置
JPWO2009125588A1 (ja) 符号化装置および符号化方法
CN104078048A (zh) 一种声音解码装置及其方法
AU2021200095B2 (en) Cross Product Enhanced Subband Block Based Harmonic Transposition
CN103415883B (zh) 用于低频效果声道的减少复杂性变换
TWI470622B (zh) 用於低頻效應頻道降低複雜度之轉換

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant