CN103366751A - 一种声音编解码装置及其方法 - Google Patents
一种声音编解码装置及其方法 Download PDFInfo
- Publication number
- CN103366751A CN103366751A CN2012100852572A CN201210085257A CN103366751A CN 103366751 A CN103366751 A CN 103366751A CN 2012100852572 A CN2012100852572 A CN 2012100852572A CN 201210085257 A CN201210085257 A CN 201210085257A CN 103366751 A CN103366751 A CN 103366751A
- Authority
- CN
- China
- Prior art keywords
- frequency spectrum
- frequency
- domain
- low
- mdft
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 163
- 238000001228 spectrum Methods 0.000 claims abstract description 908
- 238000013507 mapping Methods 0.000 claims abstract description 209
- 230000005236 sound signal Effects 0.000 claims abstract description 117
- 238000007781 pre-processing Methods 0.000 claims abstract description 116
- 238000012805 post-processing Methods 0.000 claims abstract description 44
- 238000006243 chemical reaction Methods 0.000 claims description 88
- 238000012545 processing Methods 0.000 claims description 71
- 238000013139 quantization Methods 0.000 claims description 58
- 238000004458 analytical method Methods 0.000 claims description 41
- 238000005070 sampling Methods 0.000 claims description 36
- 230000009466 transformation Effects 0.000 claims description 32
- 238000012952 Resampling Methods 0.000 claims description 27
- 238000003379 elimination reaction Methods 0.000 claims description 23
- 230000008030 elimination Effects 0.000 claims description 21
- 230000003595 spectral effect Effects 0.000 claims description 19
- 230000001131 transforming effect Effects 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 34
- 238000004364 calculation method Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 18
- 239000011159 matrix material Substances 0.000 description 12
- 239000013598 vector Substances 0.000 description 9
- 238000003672 processing method Methods 0.000 description 8
- 238000000605 extraction Methods 0.000 description 6
- 230000005284 excitation Effects 0.000 description 5
- 238000001914 filtration Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及一种声音编解码装置及其方法。本发明通过将数字声音信号从时域映射到MDCT域,将MDCT域上的低、高频谱转换到MDFT域,对MDCT域上的低频谱进行波形编码,对MDFT域上的低、高频谱进行参数编码,其中,将低频谱的特定频段映射到高频谱的特定频段,在编码端对频谱映射前后的高频谱进行MDFT域边界预处理、在解码端对频谱映射后的高频谱进行MDFT边界预处理,并对参数解码后的高频谱进行MDFT域边界后处理,改善了因高频参数编码中的频带划分、低频谱至高频谱映射带来的问题,提高了频谱连续性和频带信号自然度、消除了谐波干涉噪声和因旁瓣泄露引起的混叠噪声,在较低的码率下进一步提高了高频参数编码的编码质量。
Description
技术领域
本发明涉及一种声音编解码装置和方法,尤其涉及单声道声音编解码装置及其方法以及立体声声音的编解码装置及其方法。
背景技术
专利ZL200610087481.X公开了一种声音编码装置和方法,包括:
时变预测分析模块,用于对数字声音信号进行时变预测分析,以获取时域激励信号;
时频映射模块,用于将时域激励信号映射到变换域,以获取变换域上的激励信号;
编码模块,用于对变换域上的激励信号中的低频谱和中频谱进行量化编码,以获取低频波形编码数据和中频波形编码数据;以及根据变换域上的激励信号中的低频谱、中频谱和高频谱,计算用于从低频谱和中频谱中恢复高频谱的高频参数,并对高频参数进行量化编码以获取高频参数编码数据;以及
比特流复用模块,用于对低频波形编码数据、中频波形编码数据和高频参数编码数据进行复用,以输出声音编码码流。
该声音编码装置和方法引入了新的编码框架,以充分结合声音波形编码和参数编码的特点,在较低的码率和计算复杂度约束狭,对语音和音乐均能高质量编码。
根据ZL200610087481.X提出的方法,如何能在降低或保持计算复杂度的前提下,在较低的码率下进一步提升对音乐信号的编码质量,是这个技术方向面临的课题。
由于从低频谱和中频谱中恢复高频谱的技术改变了原始信号各频带之间的自然位置关系和能量大小,因此会带来一系列问题,影响了高频参数编码的编码质量。例如:高频参数编码中的频带划分,截断了原始信号各频谱线之间的关联,尤其是映射域信号的频率分辨率很高时,各频带之间的过渡带很窄,破坏了频谱的连续性和频带信号的自然度;低频谱至高频谱映射还可能造成在拼接处两个谐波信号的叠加,产生谐波干涉噪声;对于低频谱至高频谱映射后各频率带之间的拼接处,由于原型滤波器性能的不理想会产生旁瓣泄露,因而引入混叠噪声。
针对上述高频参数编码的问题,本发明公开的一种声音编解码装置和方法提出了有效的解决方法,在较低的码率下进一步提升对音乐信号的编码质量。
发明内容
本发明的示例性实施例的其他特征和好处将通过下面阐述的详细说明、附图和权利要求变得明显。
根据本发明的第一方面,提供了一种单声道声音编码装置,包括:修正离散余弦变换(MDCT)变换模块,用于将数字声音信号从时域映射到MDCT域以获取MDCT域上的声音信号,并且将所述MDCT域上的声音信号划分为低频谱和高频谱;低频波形编码模块,用于对所述MDCT域上的声音信号的低频谱进行量化编码以获取低频波形编码数据;MDCT至修正离散傅里叶变换(MDFT)转换模块,用于将所述MDCT域上的声音信号的低频谱和高频谱转换为MDFT域上的声音信号的低频谱和高频谱;低频谱至高频谱映射模块,用于将所述MDFT域上的声音信号的低频谱的特定频段映射到高频谱的特定频段,得到频谱映射后的高频谱;MDFT域边界预处理模块,用于对所述MDFT域上的频谱映射后的高频谱和频谱映射前的高频谱进行边界预处理,其中,所述频谱映射前的高频谱是所述MDCT至MDFT转换模块转换后的MDFT域上的高频谱;高频参数编码模块,用于根据所述边界预处理后的频谱映射前的高频谱和频谱映射后的高频谱,计算用于在解码端从低频谱中恢复高频谱的高频参数,并对所述高频参数进行量化编码以获取高频参数编码数据;以及比特流复用模块,用于对所述低频波形编码数据和所述高频参数编码数据进行复用,以输出声音编码码流。
根据本发明的第二方面,提供了一种单声道声音编码方法,包括:将数字声音信号从时域映射到修正离散余弦变换(MDCT)域以获取MDCT域上的声音信号,并且将所述MDCT域上的声音信号划分为低频谱和高频谱;对所述MDCT域上的声音信号中的低频谱进行量化编码以获取低频波形编码数据,将所述MDCT域上的声音信号的低频谱和高频谱转换为修正离散傅里叶变换(MDFT)域上的声音信号的低频谱和高频谱,将所述MDFT域上的声音信号的低频谱的特定频段映射到高频谱的特定频段,得到频谱映射后的高频谱,对所述MDFT域上的频谱映射后的高频谱和频谱映射前的高频谱进行边界预处理,其中,所述频谱映射前的高频谱是所述MDCT至MDFT转换模块转换后的MDFT域上的高频谱,根据所述边界预处理后的频谱映射前的高频谱和频谱映射后的高频谱,计算用于在解码端从低频谱中恢复高频谱的高频参数,并对所述高频参数进行量化编码以获取高频参数编码数据;以及对所述低频波形编码数据和高频参数编码数据进行复用,以输出声音编码码流。
根据本发明的第三方面,提供了一种单声道声音解码装置,包括:比特流解复用模块,用于对声音编码码流进行解复用,以获取低频波形编码数据和高频参数编码数据;低频波形解码模块,用于解码所述低频波形编码数据,以获取修正离散余弦变换(MDCT)域上的声音信号的低频谱解码数据;MDCT至修正离散傅里叶变换(MDFT)转换模块,用于将所述MDCT域上的声音信号的低频谱解码数据从MDCT域转换至MDFT域;低频谱至高频谱映射模块,用于从所述MDFT域上的低频谱解码数据中映射部分谱数据到高频部分,得到频谱映射后的高频谱;MDFT域边界预处理模块,用于对所述频谱映射后的高频谱进行边界预处理;高频参数解码模块,用于根据所述高频参数编码数据对所述边界预处理后的频谱映射后的高频谱进行参数解码得到高频谱解码数据;MDFT域边界后处理模块,用于对所述高频谱解码数据进行边界后处理;以及逆修正离散傅里叶变换(IMDFT)变换模块,用于将所述低频谱解码数据和所述边界后处理后的高频谱解码数据组合起来进行IMDFT变换,以获取时域上的声音解码数据。
根据本发明的第四方面,提供了一种单声道声音解码方法,包括:对声音编码码流进行解复用,以获取低频波形编码数据和高频参数编码数据;解码所述低频波形编码数据,以获取修正离散余弦变换(MDCT)域上的声音信号中的低频谱解码数据;将所述低频谱解码数据从MDCT域转换至修正离散傅里叶变换(MDFT)域,以得到MDFT域上的低频谱解码数据;从所述MDFT域上的低频谱解码数据中映射部分谱数据到高频部分,得到频谱映射后的高频谱;对所述频谱映射后的高频谱进行边界预处理;根据所述高频参数编码数据,对所述边界预处理后的频谱映射后的高频谱进行参数解码,得到MDFT域的解码后的高频谱解码数据;对所述高频谱解码数据进行边界后处理;以及将所述低频谱解码数据和所述边界后处理后的高频谱解码数据组合在一起进行逆修正离散傅里叶变换(IMDFT)变换,得到解码后的时域上的数字声音信号。
根据本发明的第五方面,提供了一种立体声编码装置,包括:修正离散余弦变换(MDCT)变换模块,用于分别将数字声音信号从时域映射到MDCT域,以获取左、右声道的MDCT域上的数字声音信号,并且将所述左、右声道的MDCT域上的声音信号划分为低频谱和高频谱;低频立体声编码模块,用于对所述左、右声道的MDCT域上的低频谱进行立体声编码,以获取低频立体声编码数据;MDCT至修正离散傅里叶变换(MDFT)转换模块,用于将所述左、右声道的MDCT域上的低频谱和高频谱转换为MDFT域上的低频谱和高频谱;低频谱至高频谱映射模块,用于将所述左、右声道的MDFT域上的声音信号的低频谱的特定频段映射到高频谱的特定频段,得到左、右声道的频谱映射后的高频谱;MDFT域边界预处理模块,用于对所述左、右声道的MDFT域上频谱映射后的高频谱和频谱映射前的高频谱进行边界预处理,其中,所述频谱映射前的高频谱是所述MDCT至MDFT转换模块转换后的MDFT域上的高频谱;高频参数编码模块,用于分别根据所述边界预处理后的左、右声道的频谱映射前的高频谱和频谱映射后的高频谱,计算用于在解码端分别从所述左、右声道的低频谱中恢复高频谱的高频参数,并对所述高频参数进行量化编码以获取所述左、右声道的高频参数编码数据;以及比特流复用模块,用于对所述低频立体声编码数据和所述左、右声道的高频参数编码数据进行复用,以输出声音编码码流。
根据本发明的第六方面,提供了一种立体声编码方法,包括:分别将数字声音信号从时域映射到修正离散余弦变换(MDCT)域,以获取左、右声道的MDCT域上的数字声音信号,并且将所述左、右声道的MDCT域上的声音信号划分为低频谱和高频谱;对所述左、右声道的MDCT域上的低频谱进行立体声编码,以获取低频立体声编码数据,将所述左、右声道的MDCT域上的低频谱和高频谱的转换为修正离散傅里叶变换(MDFT)域上的低频谱和高频谱,将所述左、右声道的MDFT域上的声音信号的低频谱的特定频段映射到高频谱的特定频段,得到左、右声道的频谱映射后的高频谱,对所述左、右声道的MDFT域上频谱映射后的高频谱和频谱映射前的高频谱进行边界预处理,其中,所述频谱映射前的高频谱是所述MDCT至MDFT转换模块转换后的MDFT域上的高频谱,用于分别根据所述边界预处理后的左、右声道的频谱映射前的高频谱和频谱映射后的高频谱,计算用于在解码端分别从所述左、右声道的低频谱中恢复高频谱的高频参数,并对所述高频参数进行量化编码以获取所述左、右声道的高频参数编码数据;以及对所述低频立体声编码数据和所述左、右声道的高频参数编码数据进行复用,以输出声音编码码流。
根据本发明的第七方面,提供了一种立体声解码装置,包括:比特流解复用模块,用于对声音编码码流进行解复用,以获取低频立体声编码数据和左、右声道的高频参数编码数据;低频立体声解码模块,用于对所述低频立体声编码数据进行立体声解码,以获取所述左、右声道的修正离散余弦变换(MDCT)域上的声音信号的低频谱解码数据;MDCT至修正离散傅里叶变换(MDFT)转换模块,用于将所述左、右声道的MDCT域上的声音信号的低频谱解码数据从MDCT域转换至MDFT域,得到左、右声道的MDFT域上的低频谱解码数据;低频谱至高频谱映射模块,用于从所述左、右声道的MDFT域上的低频谱解码数据中映射部分谱数据到高频部分,得到左、右声道的频谱映射后的高频谱;MDFT域边界预处理模块,用于对所述左、右声道的频谱映射后的高频谱进行边界预处理;高频参数解码模块,用于根据所述左、右声道的高频参数编码数据对所述边界预处理后的频谱映射后的高频谱进行参数解码得到所述左、右声道的高频谱解码数据;MDFT域边界后处理模块,用于对所述左、右声道的高频谱解码数据进行边界后处理;以及逆修正离散傅里叶变换(IMDFT)变换模块,用于将所述左、右声道的MDFT域上的低频谱解码数据和所述边界后处理后的左、右声道的MDFT域上的高频谱解码数据组合起来进行IMDFT变换,以获取时域上的立体声解码数据。
根据本发明的第八方面,提供了一种立体声解码方法,包括:对声音编码码流进行解复用,以获取低频立体声编码数据和左、右声道的高频参数编码数据;对所述低频立体声编码数据进行立体声解码,以获取所述左、右声道的修正离散余弦变换(MDCT)域上的声音信号的低频谱解码数据;将所述左、右声道的MDCT域上的声音信号的低频谱解码数据从MDCT域转换至修正离散傅里叶变换(MDFT)域,得到左、右声道的MDFT域上的低频谱解码数据;从所述左、右声道的MDFT域上的低频谱解码数据中映射部分谱数据到高频部分,得到左、右声道的频谱映射后的高频谱;对所述左、右声道的频谱映射后的高频谱进行边界预处理;根据所述左、右声道的高频参数编码数据对所述边界预处理后的频谱映射后的高频谱进行参数解码得到所述左、右声道的高频谱解码数据;对所述左、右声道的高频谱解码数据进行边界后处理;以及将所述左、右声道的MDFT域上的低频谱解码数据和所述边界后处理后的左、右声道的MDFT域上的高频谱解码数据组合起来进行IMDFT变换,以获取时域上的立体声解码数据。
本发明通过将数字声音信号从时域映射到MDCT域,并将MDCT域上的低频谱和高频谱转换到MDFT域,结合针对MDCT域上的低频谱进行波形编码以及针对MDFT域上的低频谱和高频谱进行参数编码,并且将低频谱的特定频段映射到高频谱的特定频段,在编码端对频谱映射前后的高频谱进行MDFT域边界预处理、在解码端对频谱映射后的高频谱进行MDFT边界预处理,并对参数解码后的高频谱进行MDFT域边界后处理,改善了由于高频参数编码中的频带划分、低频谱至高频谱映射带来的问题,提高了频谱的连续性和频带信号的自然度、消除了谐波干涉噪声和因旁瓣泄露引起的混叠噪声,在较低的码率下进一步提高了高频参数编码的编码质量。
附图说明
下面将参照附图对本发明的具体实施方案进行更详细的说明,在附图中:
图1是根据本发明优选实施例的单声道声音编码装置的结构框图。
图2为图1所示重采样模块的结构框图。
图3是图1中所示的低频波形编码模块的结构框图。
图4是图1中所示的高频参数编码模块的结构框图。
图5是低频谱至高频谱映射模块的频谱映射示意图,其中图a)为原始信号频谱图,图b)为映射后的信号频谱图。
图6是时频映射后的时频平面图,其中图a)为缓变信号的时频平面图,图b)为快变信号的时频平面图。
图7是修正离散傅立叶变换(MDFT)域边界预处理方法中的处理范围选择示意图,其中a)是频域加窗方法中的处理范围示意,b)是M DFT域组合处理方法中的处理范围示意。
图8是高频参数编码模块的增益计算示意图,其中图a)为快变点位置和模式示意图,图b)为区域划分和模式示意图。
图9是根据本发明优选实施例的单声道声音解码装置的结构框图。
图10为图9中所示低频波形解码模块的结构框图。
图11为图9中所示高频参数解码模块的结构框图。
图12是根据本发明优选实施例的立体声编码装置的结构框图;
图13为本发明和差立体声编码模式的模型图;
图14为本发明参数立体声编码模式的模型图;
图15为本发明参数误差立体声编码模式的模型图;以及
图16是根据本发明优选实施例的立体声解码装置的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例,并参照附图,对本发明进一步详细说明。
图1是根据本发明优选实施例1的单声道声音编码装置的结构框图。
如图1所示,本发明优选实施例1的单声道声音编码装置包括:重采样模块101,信号类型判断模块102、修正离散余弦变换(MDCT)模块103、低频波形编码模块104、修正离散余弦变换(MDCT)至修正离散傅立叶变换(MDFT)转换模块105、低频谱至高频谱映射模块106、MDFT域边界预处理模块107、高频参数编码模块108,以及比特流复用模块109。
首先,概括介绍图1中各个模块的连接关系和功能,其中:
重采样模块101用于将输入的数字声音信号从原始采样率变换到目标采样率,并将重采样后的信号以帧为单位输出到信号类型判断模块102和MDCT变换模块103,应注意,如果所输入的数字声音信号本身就具有目标采样率,则根据本发明原理的编码装置可以不包括该模块,可直接将数字声音信号输入到信号类型判断模块102和MDCT变换模块103。
信号类型判断模块102用于对重采样后的声音信号逐帧进行信号类型分析,并输出信号类型分析的结果。由于信号本身的复杂性,信号类型采用多种表示,例如若该帧信号是缓变信号,则直接输出表示该帧信号是缓变信号的标识;若是快变信号,则需继续计算快变点发生的位置,并输出表示该帧信号是快变信号的标识和快变点发生的位置。信号类型分析的结果输出到MDCT变换模块103中进行MDCT变换的阶数控制。另外,信号类型分析的结果还可输出到比特流复用模块109。应当注意,如果采用闭环搜索的方法确定信号类型分析的结果,根据本发明的声音编码装置可以不包括模块。
MDCT变换模块103用于根据从信号类型判断模块102输出的信号类型分析结果,采用不同长度阶数的MDCT变换,将重采样后的声音信号映射到MDCT变换域,并将声音信号的MDCT域系数输出到低频波形编码模块104,MDCT至MDFT转换模块105。具体地,若该帧信号是缓变信号,则以帧为单位做MDCT变换,选择较长阶数的MDCT变换;若是快变信号,则将该帧信号划分为子帧,以子帧为单位做MDCT变换,选择较短阶数的MDCT变换。将声音信号的MDCT域系数划分为低频谱和高频谱,其中低频谱输出到所述的低频波形编码模块104,低频谱、高频谱、信号类型分析的结果输出到所述的MDCT至MDFT转换模块105。
低频波形编码模块104用于从MDCT变换模块103接收声音信号的MDCT域系数的低频部分,对其进行冗余消除处理,并将冗余处理后的低频谱进行量化编码得到低频编码数据,并输出到所述的比特流复用模块109。应注意,如果低频成分的时间冗余度满足编码要求,低频波形编码模块104也可以不进行冗余消除处理。
MDCT至MDFT转换模块105用于从MDCT变换模块103接收声音信号的MDCT域系数,将MDCT域系数转换为包含有相位信息的MDFT域系数,并将MDFT域系数输出到低频谱至高频谱映射模块106和MDFT域边界预处理模块107。
低频谱至高频谱映射模块106用于从MDCT至MDFT转换模块105接收MDFT域的低频谱,将低频谱的特定频段映射到高频谱的特定频段,得到频谱映射后的高频谱,并将频谱映射后的高频谱输入MDFT域边界预处理模块107。映射后的时频平面与原时频平面相同,如图5所示。
MDFT域边界预处理模块107用于从MDCT至MDFT转换模块105接收MDFT域的高频谱、以及从低频谱至高频谱映射模块106接收低频谱至高频谱映射后的MDFT域的高频谱,对MDFT域的高频谱及低频谱至高频谱映射后的MDFT域的高频谱进行MDFT域边界预处理,并将经过MDFT域边界预处理后的MDFT域的高频谱及低频谱至高频谱映射后的MDFT域的高频谱输出到高频参数编码模块108。
高频参数编码模块108用于从MDFT域边界预处理模块107接收MDFT域边界预处理后的MDFT域的高频谱及低频谱至高频谱映射后的MDFT域的高频谱,从中提取所需要的诸如增益参数、调性参数之类的高频参数,并对高频参数进行量化编码并输出到比特流复用模块109。
比特流复用模块109用于将从信号类型判断模块102、低频波形编码模块104和高频参数编码模块108输出的编码数据以及边信息进行复用,形成声音编码码流。
下面,对上述单声道声音编码装置中的重采样模块101、低频波形编码模块104、MDCT至MDFT转换模块105、MDFT域边界预处理模块107、高频参数编码模块108进行具体详细地说明。
重采样模块101用于对输入声音信号进行重采样。图2为图1所示重采样模块的结构框图,该模块包含上采样器201、低通滤波器202和下采样器203。其中上采样器201用于对采样频率为Fs的信号x(n)进行L倍的上采样,得到采样频率为L*Fs的信号w(n),低通滤波器202对w(n)进行低通滤波生成滤波后的信号v(n)。低通滤波器202的作用是消除上采样器201产生的镜像和避免由下采样器203可能产生的混叠。下采样器203对信号v(n)进行M倍的下采样得到采样频率为(L/M)*Fs的信号y(n)。并将重采样后的信号以帧为单位输出到信号类型判断模块102和MDCT变换模块103。
图3是图1所示低频波形编码模块104的结构框图,低频波形编码模块104包括冗余消除处理模块301和量化编码模块302。MDCT变换模块103输出的低频成分为信号的比较稳定的部分,但其时间相关性或者频域相关性(即冗余度)较强。由于信号本身的复杂性,固定阶数的MDCT变换并不能完全达到最优的相关性消除。例如,当信号类型判断模块102判断该帧信号类型为快变信号时,采用较短阶数的MDCT变换处理快变信号,此时MDCT域的低频部分的时间相关性和频域相关性(即冗余)仍较强;而当信号类型判断模块102判断该帧信号类型为缓变信号时,使用较长阶数的MDCT变换处理缓变信号,此时MDCT域的低频部分的频域相关性(即冗余)会较强。因此,本发明的声音编码装置所包含的冗余消除处理模块301是可选择的,其可进一步消除MDCT变换获取的低频成分中的时间冗余或者频域冗余。
低频冗余处理可以采用许多种方法。例如,采用较短阶数的变换器或者较高阶数的预测器以消除两个子帧之间或者连续两帧之间的MDCT域的低频部分的时间相关性,比如离散余弦变换(DCT)、离散傅里叶变换(DFT)、修正离散余弦变换(MDCT)、长时预测器(LTP)等;采用较低阶数的预测器以消除MDCT域的低频部分的频域相关性,比如线性预测器(LPC)等。因此,在本发明的声音编码装置中,冗余消除处理模块301采用多种冗余消除处理方法计算消除冗余的效果,即实际编码增益,然后选择是否采用低频冗余处理和采用低频冗余处理的方法,最后将是否采用冗余消除处理模块301的标志以及采用哪种方法作为边信息输出到比特流复用模块109中。
量化编码模块302对低频数据进行量化编码并得到编码的低频数据。如可采用类似MPEG AAC中的标量加哈夫曼(Huffman)编码的量化方案,也可以采用矢量量化方案。在定码率编码中,矢量量化器是一个合理的选择方案。编码的低频数据以及低频冗余处理选择的边信息输出到比特流复用模块109中。
MDCT至MDFT转换模块105用于将MDCT域系数转换为MDFT域系数,并将MDFT域系数输出到低频谱至高频谱映射模块106和MDFT域边界预处理模块107。具体的转换方法如对声音信号进行修正离散正弦变换(MDST)得到MDST域系数并与MDCT域系数组合得到MDFT域系数,应当注意的是,采用该转换方法时,MDCT至MDFT转换模块105还将接收重采样后的声音信号;又如根据MDCT域系数重构时域信号然后进行MDST变换得到MDST域系数,将MDCT域系数与MDST域系数组合得到MDFT域系数;或如根据MDCT域系数重构时域信号然后进行MDFT变换得到MDFT域系数;以及如通过建立当前帧及前后帧的MDCT域系数与当前帧MDST域系数之间的关系,确定由这三帧MDCT域系数计算当前帧MDST域系数的三个转换矩阵,从而实现由MDCT域系数直接处理来得到MDST域系数,最后将MDCT域系数与MDST域系数组合得到MDFT系数。MDFT域边界预处理模块107对MDFT域的高频谱及低频谱至高频谱映射后的MDFT域的高频谱进行边界预处理,并将经过MDFT域边界预处理后的MDFT域的高频谱及低频谱至高频谱映射后的MDFT域的高频谱输出到高频参数编码模块108。由于从低频谱中恢复高频谱的技术改变了原始信号各频带之间的自然位置关系和能量大小,因此会带来一系列问题,影响了高频参数编码的编码质量。例如:高频参数编码中的频带划分,截断了原始信号各频谱线之间的关联,尤其是映射域信号的频率分辨率很高时,各频带之间的过渡带很窄,破坏了频谱的连续性和频带信号的自然度;低频谱至高频谱映射映射还可能造成在拼接处两个谐波信号的叠加,产生谐波干涉噪声;对于低频谱至高频谱映射映射后各频率带之间的拼接处,由于原型滤波器性能的不理想会产生旁瓣泄露,因而引入混叠噪声。
MDFT域边界预处理可以采用许多种方法,比如:对于频带划分带来的频域截断问题,采用频域加窗的方法;对于频谱映射带来的拼接处的谐波干涉噪声,采用谐波干涉消除的方法;对于由于原型滤波器性能不理想导致的旁瓣泄露和混叠噪声,采用MDFT域组合处理的方法。
图4为图1所示高频参数编码模块108的结构框图,高频参数编码模块108包括调性参数提取器401和增益参数提取器402。
调性参数提取器401接收MDFT域边界预处理模块107输出的MDFT域边界预处理后的MDFT域的高频谱及低频谱至高频谱映射后的MDFT域的高频谱,将原始高频谱和低频谱至高频谱谱映射后的高频谱划分为多个子频带。接下来,分别计算原始高频频带的调性和低频谱至高频谱谱映射后的高频谱对应频带的调性,得到在解码装置端用来调整低频谱至高频谱谱映射后的高频谱调性的所需要的调性参数,并将这些参数经过量化编码后输出到比特流复用模块109中,其中,调性参数可以包括调整类型和调整参数。
增益参数提取器402接收MDFT域边界预处理模块107输出的MDFT域边界预处理后的MDFT域的高频谱及低频谱至高频谱映射后的MDFT域的高频谱。增益参数提取器402根据信号类型和快变点发生的位置,将低频谱至高频谱映射后的高频时频平面频谱和原始高频时频平面划分多个区域,计算原始时频平面中每个区域的能量与映射时频平面对应的区域能量的比值作为增益参数,该增益参数经过量化编码后输出到比特流复用模块109中。
下面对根据本发明优选实施例的单声道声音编码方法进行详细描述,该方法包括以下步骤:
步骤11:对输入信号进行重采样处理;
步骤12:对重采样后的声音信号进行信号类型判断,如果是缓变类型信号,则直接输出信号类型,如果是快变类型信号,则继续计算快变点发生的位置,最后输出信号类型和快变点位置;
步骤13:根据信号类型分析结果,采用不同长度阶数的MDCT变换,对重采样后的声音信号进行MDCT变换,得到声音信号的MDCT域系数;
步骤14:将MDCT变换域系数划分为低频谱和高频谱;
步骤15:对低频谱进行低频波形编码得到低频波形编码数据;
步骤16:将MDCT域系数转换为MDFT域系数,得到MDFT域的低频谱和高频谱;
步骤17:将低频谱的特定频段映射到高频的特定频段,形成映射的高频谱;
步骤18:对MDFT域的高频谱及低频谱至高频谱映射后的高频谱进行MDFT域边界预处理得到边界预处理后的原始高频谱及低频谱至高频谱映射后的高频谱;
步骤19:提取用来从MDFT域边界预处理后的MDFT域的低频谱至高频谱映射后的高频谱来恢复原始高频谱的高频参数,对高频参数进行量化编码得到高频参数编码数据;
步骤20:将编码后的数据以及边信息进行复用,得到声音编码码流。
在步骤11,重采样处理具体包括:首先由输入信号的采样率Fs和重采样目标采样率Fmax,计算出重采样的采样率比Fmax/Fs=L/M。其中,重采样目标采样率Fmax为解码信号的最高分析频率,一般由编码比特率确定。然后对输入声音信号x(n)进行L倍的上采样,输出的信号为上采样后的信号通过低通滤波器得到其中N为低通滤波器的长度(当N=∞时,该滤波器为IIR滤波器),低通滤波器的截止频率为Fmax;对v(n)进行M倍的下采样后的序列为y(n),则y(n)=v(Mn)。这样,重采样后的声音信号y(n)的采样率就是原始输入的声音信号x(n)的采样率的L/M倍。应注意,如果所输入的数字声音信号本身就具有目标采样率,则无需执行步骤11。
在步骤12,对重采样后的数字声音信号进行信号类型判断。如果是缓变类型信号,则直接输出信号类型,如果是快变类型信号,则继续计算快变点发生的位置,最后输出信号类型和快变点位置。应当指出,在不需要进行信号类型分析时,此步骤可以省略。
信号类型判断可以采用许多种方法。例如,通过信号感知熵来判断信号类型,通过计算信号子帧的能量来判断信号类型等。优选地,可以采用通过计算信号子帧能量来判断信号类型,其具体过程如下:
在步骤12-1:将一帧数字声音信号y(n)进行高通滤波,将低频部分,例如500Hz以下的频率,滤除掉;
在步骤12-2:将高通滤波后的信号分成若干个子帧yi(n),为计算方便,通常将一帧信号分成整数个子帧,如一帧为2048点时,可256点为一个子帧;
在步骤12-3:分别计算每个子帧yi(n)的能量Ei,其中i为子帧的序号。再求出当前子帧与前一子帧的能量比,当能量比大于某个阈值Te时,则判断该帧信号类型为快变信号,若所有子帧与前一帧的能量比均小于Te时,则判断该帧信号类型为缓变信号。如果是快变信号,则继续执行步骤12-4,否则不执行步骤12-4,将缓变的信号类型确定为低频子带域信号类型分析结果。在该方法中的阈值Te可采用一些信号处理中的熟知方法获取,如统计已编码信号能量的平均比值,并乘以某个常数得到Te;
在步骤12-4:对于快变信号,将能量最大的子帧判断为快变点发生的位置。将快变的信号类型和快变点发生的位置确定为低频子带域信号类型分析结果。
如果不需分析信号类型则无需执行步骤12。
在步骤13,根据信号类型分析结果,采用不同长度阶数的MDCT变换,对重采样后的声音信号进行MDCT变换,得到声音信号的MDCT变换域系数。
下面对修正离散余弦变换(MDCT)进行详细具体地说明。
选取前一帧M个样本和当前帧M个样本的时域信号,再对这两帧共2M个样本的时域信号进行加窗操作,然后对经过加窗后的信号进行MDCT变换,从而获取M个频谱系数。
MDCT分析滤波器的脉冲响应为:
则MDCT变换为: 其中:w(n)为窗函数;x(n)为MDCT变换的输入时域信号;X(k)为MDCT变换的输出频域信号。
为满足信号完全重构的条件,MDCT变换的窗函数w(n)必须满足以下两个条件:
w(2M-1-n)=w(n)且w2(n)+w2(n+M)=1。
在实际中,可选用Sine窗作为窗函数。当然,也可以通过使用双正交变换,用特定的分析滤波器和综合滤波器修改上述对窗函数的限制。
这样,采用MDCT进行时频变换的该帧数据根据信号类型就得到不同的时频平面图。例如,假设当前帧为缓变信号时的时频变换阶数为2048,为快变信号类型时的时频变换阶数为256,则时频平面图如图6所示,其中图6a为缓变信号的时频平面图;图6b为快变信号的时频平面图。
在步骤14,将MDCT变换得到的MDCT域系数划分为低频谱和高频谱。由于编码声音信号的采样率和编码比特率很多,频带的划分是可调的。典型的,低频谱和高频谱的分界点可在编码带宽的[1/3,1]之间。其中,编码带宽不大于待编码信号的实际带宽,这里,按照奈奎斯特采样定理,信号的实际带宽为其采样频率的一半。例如,在16kbps码率下,编码44.1kHz单声道声音信号时,编码带宽的一个选择是12kHz。
在步骤15,低频波形编码包括低频冗余处理和低频量化编码两个步骤。低频冗余处理可以采用许多种方法。例如,采用较短阶数的变换器或者较高阶数的预测器以消除两个子帧之间或者连续两帧之间的MDCT域上的声音信号的时间相关性,如离散余弦变换(DCT)、离散傅里叶变换(DFT)、修正离散余弦变换(MDCT)、长时预测器(LTP)等;采用较低阶数的预测器以消除MDCT域上的声音信号中的频域相关性,如线性预测器(LPC)等。
优选地,以较短阶数的DCT和较低阶数的LPC为例说明低频冗余处理的过程。
首先,对采用较短阶数的DCT进行低频冗余处理的情况进行说明。此时,对快变信号的低频谱按时间顺序进行冗余处理,即对时频平面上频率位置相同的8个谱系数采用8*8的DCT变换进行冗余消除,这里采用DCTII变换基函数。
其次,对采用较低阶数的LPC进行低频冗余处理的情况进行说明。此时,对低频谱进行线性预测编码,即对低频谱进行线性预测分析,求出预测器参数和低频残差谱,并对预测器参数量化。
对低频波形量化编码可采用类似MPEG AAC中的标量加哈夫曼编码的量化方案,也可以采用矢量量化方案。在定码率编码中,矢量量化器是一个合理的选择方案。
在步骤16,将MDCT域系数转换为MDFT域系数。
下面对修正离散傅立叶变换(MDFT)、MDCT与MDFT的关系以及MDCT域系数至MDFT域系数的转换方法进行说明。
对于MDFT变换情况,首先选取前一帧M个样本和当前帧M个样本的时域信号,再对这两帧共2M个样本的时域信号进行加窗操作,然后对经过加窗后的信号进行MDFT变换,从而获得M个频谱系数。MDFT变换的计算公式为:
k=0,1,...,2M-1。其中:w(n)为窗函数;s(n)为MDFT变换的输入时域信号;X(k)为MDFT变换的输出频域信号。MDFT谱系数X(k)具有以下性质:
X(k)=-conj(X(2M-1-k))
因此,只需其中的前M个数据就可恢复完整的X(k)数据。
为满足信号完全重构的条件,MDFT变换的窗函数w(n)必须满足以下两个条件:
w(2M-1-n)=w(n)且w2(n)+w2(n+M)=1。
在实际中,可选用Sine窗作为窗函数。当然,也可以通过使用双正交变换,用特定的分析滤波器和综合滤波器修改上述对窗函数的限制。
其次,介绍MDCT变换与MDFT变换的关系。
对于时域信号s(n),其MDCT域系数X(k)的计算公式为:
其中,2M为帧长。
类似的,定义MDST域系数Y(k)的计算公式为
以MDCT域系数X(k)为实部,MDST域系数Y(k)为虚部,构造MDFT域系数Z(k)为:
Z(k)=X(k)+jY(k),k=0,1,...,M-1,j为虚数符号。
此MDFT变换是复数变换,带有相位信息,且满足能量守恒,变换域与时域能量保持一致。可见MDFT域系数的实部就是等价于MDCT域系数。
最后,例举几种转换方法对MDCT至MDFT转换的方法进行具体详细地说明。
转换方法1:对声音信号进行MDST变换,将MDST域系数与MDCT域系数组合得到MDFT域系数
为将MDCT域系数转换为MDFT域系数,可以利用MDCT、MDST与MDFT的关系,通过计算MDST域系数并将其与MDCT域系数组合来获取MDFT域系数。这一方法分为MDST变换、MDCT域系数与MDST域系数组合为MDFT域系数两个步骤。
步骤a:MDST变换。为了保持与MDCT域系数的同步,MDFT、MDST要采用与当前帧MDCT相同的窗函数、窗长度等。当前MDCT变换的长度为2M,窗函数为w(n),则其MDST域系数Y(k)为:
k=0,1,..,M-1.
步骤b:MDCT域系数与MDST域系数组合为MDFT域系数。以MDCT域系数为实部,MDST域系数为虚部,构造MDFT域系数为Z(k):
Z(k)=X(k)+jY(k),k=0,1,...,M-1
转换方法2:根据MDCT域系数重构时域信号,然后进行MDST变换并与MDCT域系数组合得到MDFT域系数。
通过对MDCT域系数进行逆修正离散余弦变换(IMDCT)和叠接相加处理来获得时域重构信号,然后对时域重构信号做MDST变换得到MDST域系数,将MDCT域系数与MDST域系数组合得到MDFT域系数。这一方法分为时域信号重构、MDST变换、MDCT域系数与MDST域系数组合为MDFT域系数三个步骤。
步骤a:时域信号重构。这与逆修正离散余弦变换中的方法相同。逆修正离散余弦变换(IMDCT)的公式如下:
其中:xe(n)为IMDCT变换的输出时域信号;hk(n)为MDCT合成滤波器的脉冲响应;w(n)为窗函数;X(k)为MDCT域系数。
步骤b:MDST变换。为了保持与MDCT域系数的同步,MDFT、MDST变换要采用与当前帧MDCT变换相同的窗函数、窗长度等。当前帧MDCT变换的长度为2M,窗函数为w(n),则MDST变换为:
k=0,1,...,M-1.
步骤c:MDCT域系数与MDST域系数组合为MDFT域系数。以MDCT域系数为实部,MDST域系数为虚部,构造MDFT域系数为Z(k):
Z(k)=X(k)+jY(k),k=0,1,...,M-1
转换方法3:根据MDCT系数重构时域信号然后进行MDFT变换得到MDFT域系数。
通过对MDCT域系数进行逆修正离散余弦变换(IMDCT)和叠接相加处理来获得时域重构信号,然后对时域重构信号做MDFT变换得到MDFT域系数。这一方法分为时域信号重构、MDFT变换两个步骤。
步骤a:时域数据重构。这与IMDCT变换中的步骤相同。
步骤b:MDFT变换。为了保持与MDCT域系数的同步,MDFT变换要采用与当前帧MDCT变换相同的窗函数、窗长度等。当前帧MDCT变换的长度为2M,窗函数为w(n),则MDFT变换为:
k=0,1,...,M-1。
转换方法4:对MDCT域系数直接处理来获得MDFT系数。
通过建立当前帧及前后帧的MDCT域系数与当前帧MDST域系数之间的关系,确定由这三帧MDCT域系数计算当前帧MDST域系数的三个转换矩阵。从而实现由MDCT域系数直接处理来得到MDST域系数,最后将MDCT域系数与MDST域系数组合得到MDFT系数。这一方法分为MDST系数计算、组合MDFT系数两个步骤。
步骤a:MDST系数计算
系数设当前帧长为2M,窗函数为w(n),前一帧MDCT系数为S-1(k),当前帧MDCT系数为S0(k),后一帧MDCT系数为S+1(k),则MDST域系数Y(k)可通过如下公式计算:
Y(k)=S-1(k)Tcs-1+S0(k)Tcs0+S+1(k)Tcs+1
其中Tcs-1、Tcs0和Tcs+1为转换矩阵,分别代表了前一帧MDCT系数、当前帧MDCT系数、后一帧MDCT系数对于当前帧MDST系数的贡献。
Tcs-1、Tcs+1、Tcs0都是稀疏矩阵,只有少数数据非零,大部分数据等于0或者接近于0,可以通过将大部分数据近似为0的方式,来简化转换矩阵,降低运算量。
步骤b:组合MDFT系数。将MDCT域系数与MDST域系数组合为MDFT域系数,以MDCT系数X(k)为实部,MDST系数Y(k)为虚部,构造MDFT系数Z(k)为:Z(k)=X(k)+jY(k),k=0,1,...,M-1。
下面以Tcs0为例来说明转换矩阵Tcs-1、Tcs+1、Tcs0和的计算方式。若前一帧信号的窗函数为w-1(n),长度为2M,当前帧信号的窗函数为w0(n),长度为2M,后一帧信号的窗函数为w+1(n),长度为2M。前一帧MDCT系数为S-1(k),当前MDCT系数为S0(k),后一帧MDCT系数为S+1(k),则当前帧MDST系数Y(k)为:
其中sr(n)为当前帧的时域重构信号,
和为转换矩阵,j为虚数符号。而且有:
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
可以通过推导上述公式,可以得到:
Y(k)=Y-1(k)+Y0(k)+Y+1(k)
其中,
以Y0(k)为例:
令
则有
即Y0(k)可以表达成S0(j)与G(k)的卷积组合形式。令向量h(k)为
则有:
Y0(k)=S0(k)Tcs0
Tcs0=(h(0) H(1) … h(2m-1))
这表明Y0(k)可以表达为S0(k)的组合形式,变换矩阵为Tcs0。类似地,Y-1(k)可以表达为S-1(k)的组合,变换矩阵为Tcs-1,Y+1(k)以表达为S-1(k)的组合,变换矩阵为Tcs-1。Tcs-1、Tcs+1、Tcs0都是稀疏矩阵,只有少数数据非零,大部分数据等于0或者接近于0,可以通过将大部分数据近似为0的方式,来简化转换矩阵,降低运算量。
在步骤17,将低频谱的特定频段映射到高频的特定频段,形成低频谱至高频谱映射后的高频谱。目前,低频谱至高频谱映射可以采用多种方法实现,例如折叠映射,线性映射,倍频映射等。以线性映射为例,假设原始信号的低频频谱的范围为[0,Fl],高频频谱的范围为[Fl,Fs],其中2×Fl<Fs<3×Fl,如图5中a)所示。在进行线性映射之后,可以得到如图5中b)所示的频谱。
在步骤18,MDFT域边界预处理可以采用多种方法实现,例如采用频域加窗等方法改善由于频带划分带来的频域截断问题;采用谐波干涉消除等方法改善由于低频谱至高频谱映射带来的拼接处的谐波干涉噪声问题;采用MDFT域组合处理、谐波提取、MPEG2Layer3蝶形变换混叠消除、反卷积等方法改善由于原型滤波器性能不理想导致的旁瓣泄露和混叠噪声。
优选地,以频域加窗、谐波干涉消除、MDFT域组合处理为例来说明MDFT域边界预处理的过程。
首先,对频域加窗的MDFT域边界预处理的情况进行说明。
在高频参数编码模块108所涉及的高频参数提取中需对MDFT域的原始高频谱和低频谱至高频谱映射后的高频谱进行频带划分,而频带划分会带来频带截断问题。频域加窗的MDFT域边界预处理方法分别对原始高频谱和低频谱至高频谱映射后的高频谱进行加窗处理,可有效改善频带划分时存在的频带截断带来的问题,获得平滑的频域过渡效果,有利于保持频谱的连续性和频带信号的自然度。以对原始高频谱进行频域加窗的MDFT域边界预处理方法为例,该方法分为构造加窗频带、加频率窗两个步骤。
步骤18-1a:构造加窗频带。根据MDFT域的高频谱系数S(k)(k=0...K)构造出M个待加窗的高频谱系数Sm(l),其中m=0...M,l=0...Lm,相邻两个频带Sm(l)与Sm+1(l)间有Qm的交叠区域。
Sm(Lm-Qm+l)=Sm+1(l),l=0...Qm
如图7a)所示。
步骤18-1b:加频率窗。对Sm(l)进行加窗处理,得到加窗后的高频谱系数S′m(l)。
S′m(l)=Sm(l)*wm(l),l=0...Lm
选用不同的窗函数w(l)可以获得不同特性的平滑效果,比如窗函数w(l)可以为正弦窗、矩形窗、KBD窗等。相邻两个频带的窗函数需满足:
wm(Lm-Qm+l)*wm(Lm-Qm+l)+wm+1(l)*wm+1(l)=1,l=0..Qm
为了优化窗函数的性能,本专利还设计和应用了一种基于指数运算构造的窗函数Wbandexp,其定义如下:
其中,L为窗长度,P和Q分别为窗起始和截止部分的长度,即与相邻两个频带的交叠区域长度(如图7a)所示),α为形状因子,决定窗函数的性能,α取值范围为(0,1),在本实施例中取值为0.75。
其次,对采用谐波干涉消除的MDFT域边界预处理的情况进行说明。
在低频谱至高频谱映射模块106中所涉及的从低频谱的特定频段映射到高频谱的特定频段时,映射后的高频谱中会出现两个特定频段的拼接,如果拼接处出现两个位置太近的谐波,此时会引起谐波干涉噪声。谐波干涉消除方法用于对低频谱至高频谱映射后的高频谱拼接处的处理,消除由于低频谱至高频谱映射带来的两个谐波位置太近而造成的噪声。该方法分为谐波检测、谐波干涉判定和干涉消除三个步骤。
步骤18-2a:谐波检测。将低频谱和低频谱至高频谱映射后的高频谱组合成一个全频带谱,在该全频谱上基于频谱能量的局部最大值搜索出所有可能的谐波。
步骤18-2b:谐波干涉判定。基于谐波检测的结果,在低频谱至高频谱映射后的高频谱的拼接处进行谐波干涉判定。如果第i个拼接处的左右两个谐波的中心频率的位置Sbandcore(m)与Sbandcore(m+1)间隔小于阈值Δi,则认为存在谐波干涉噪声,转入步骤18-2c进行干涉消除处理,否则不进行处理。
步骤18-2c:干涉消除。将两个谐波中能量较小的谐波乘以一个极小的比例系数,在本实施例中取值为0.005。
最后,对采用MDFT域组合处理方法的MDFT域边界预处理的情况进行说明。
在低频谱至高频谱映射模块106中所涉及的从低频谱的特定频段映射到高频谱的特定频段时,映射后的高频谱中会出现两个特定频段的拼接,此时在MDFT变换中采用的原型滤波器性能不理想所带来的旁瓣泄露问题凸显,因而引入混叠噪声。本方法通过对低频谱至高频谱映射后的高频谱的拼接处进行MDFT域组合处理,减弱由于原型滤波器性能所带来的旁瓣泄露和混叠噪声。该方法分为三个步骤:
步骤18-3a:图7b)中,频率fl是低频谱与高频谱的分界,频率(fl+Δf)、(fl+2Δf)、(fl+3Δf)分别对应从低频谱的特定频段[fc,fl)映射到高频谱的特定频段[fl,fl+Δf)、[fl+Δf,fl+2Δf)、[fl+2Δf,fl+3Δf)时产生的拼接处,MDFT域组合处理是对低频谱至高频谱映射后的高频谱的特定频段的起始频率及截止频率附近的频谱进行处理,例如对于特定频段[fl+Δf,fl+2Δf)分别对以fl+Δf、fl+2Δf为中心、宽度为δ的频率范围进行处理。
步骤18-3b:对特定频段的起始频率(fl+Δf)附近进行组合处理的计算公式为:
对特定频段的截止频率(fl+2Δf)附近进行组合处理的计算公式为:
其中S-1(k)、S0(k)、S+1(k)分别为前一帧、当前帧和后一帧这三帧的特定频段的频谱系数,Fx-1(j,k)、Fx0(j,k)、Fx+1(j,k)为起始频率位置处的组合参数,分别对应前一帧、当前帧和后一帧频谱系数对当前帧MDFT域组合处理的贡献,Fy-1(j,k)、Fy0(j,k)、Fy+1(j,k)为截止频率位置处的组合参数,分别对应前一帧、当前帧和后一帧频谱系数对当前帧MDFT域组合处理的贡献。
步骤18-3c:对步骤18-3b处理后的频谱系数S’(k)进行叠接相加,得到MDFT域组合处理后的低频谱至高频谱映射后的高频谱。其中,相邻特定频段进行叠接相加的宽度为δ。
组合参数Fx-1(j,k)、Fx0(j,k)、Fx+1(j,k)、Fy-1(j,k)、Fy0(j,k)、Fy+1(j,k)一旦确定后,不需要每帧都计算。若前一帧、当前帧和后一帧这三帧信号都是缓变信号时,组合参数Fy-1(j,k)、Fy0(j,k)、Fy+1(j,k)的计算可分为如下步骤:
18-3-1:构造全频带的MDFT域系数S(k):
j0是截止频率fl附近的偏移值;
18-3-2:对MDFT域系数S(k)进行逆MDFT变换,得到当前帧的时域信号sr(n),0≤n<2M;
18-3-3:由sr(n)构造sr′(n):
18-3-4:对sr′(n)进行以fl为截止频率的低通滤波得到低通滤波后信号srl(n),低通滤波器可以伪正交镜像滤波器(PQMF,pseudo quadrature mirror filter)为原型来构造;
18-3-5:由srl(n)构造时域信号sr-1(n)、sr0(n)、sr+1(n),分别对sr-1(n)、sr0(n)、sr+1(n)进行加窗和MDFT变换得到MDFT域系数Sy-1(k)、Sy0(k)、Sy+1(k)S;
sr-1(n)=srl(n+M),0≤n<2M
sr0(n)=srl(n+2M),0≤n<2M
sr+1(n)=srl(n+3M),0≤n<2M
18-3-6:由Sy-1(k)、Sy+1(k)、Sy0(k)Sy-计算得到MDFT域组合参数Fy-1(j0,k)、Fy0(j0,k)、Fy+1(j0,k):
Fy-(j0,k)=Sy+1(k)
Fy+(j0,k)=Sy-1(k)
Fy0(j0,k)=Sy0(k)
18-3-7:改变j0的取值,转入18-3-1,直到计算得到所有j0在范围内所对应的Fy-1(j0,k)、Fy0(j0,k)、Fy+1(j0,k)参数。
应当注意的是,本实施例中的MDFT域组合处理方法同样适用于在低频谱的特定频段[fc,fl)的起始及截至频率处进行处理,再将处理后的低频谱映射到高频谱的特定频段。
在步骤19,高频参数编码是一种根据MDFT域边界预处理后的MDFT域的低频谱至高频谱映射后的高频谱提取用来恢复高频谱的参数的方法。本发明中对高频参数编码方法包含以下步骤:
步骤19-1、将低频谱至高频谱映射后的高频时频平面和原始高频时频平面根据信号类型和快变点发生的位置划分多个区域,然后分别计算原始高频每个区域的能量和低频谱至高频谱映射后高频对应区域的能量并计算该区域的能量增益,然后将增益量化,最后将量化后的增益作为边信息输出到比特流复用模块109。
步骤19-1中所述划分的区域类似于MPEG AAC中的尺度因子带(ScaleFactor Band),某个区域的能量是由计算该区域的谱线的能量之和得到。由于低频谱至高频谱映射后的高频谱是由低频谱映射得到的,所以其结构也和低频谱一致,如图11所示。当低频为缓变帧时,高频谱可以沿频率方向做区域划分;当低频为快变帧时,为了抑制前回声(pre-echo)和后回声(post-echo)的影响,需要有较高的时间分辨率,这时沿时间方向可以根据快变点的位置做不同的区域划分。如果快变点发生位置如图8中a)所示,则对应的区域划分如图8中b)所示。例如,在编码中低频时,通过信号类型判断模块判断出快变点发生位置在第三个窗,则利用图8中a)需要选择模式3,然后按照图8中b)所示模式3对应的区域划分为(3,1,3,1)。为了减少传输边信息所用的比特数,在快变帧时可以将频率的分辨率降低。特别注意的是原始高频谱和低频谱至高频谱映射的高频的区域划分应该一致。这样,某个区域的增益就是该区域计算出的原始高频谱的能量和映射的高频谱的能量之比。最后将所有区域的增益进行量化并输出到比特流复用模块108。
步骤19-2、分别计算每个原始高频频带的调性和对应的低频谱至高频谱映射的高频频带的调性,得到调整特定频带调性的边信息,包括调整类型和调整参数,并将此边信息输出到比特流复用模块109。可以采用多种方法来计算调性。比如,在时域通过线性预测的方法、谱平坦度的方法和MPEG中心理声学模型2利用不可预测度得到调性的方法。
下面以MPEG中心理声学模型2为例说明音调性的计算方法:模型2的音调性是根据信号频谱的幅值和相位,计算谱线的“不可预测测度”获取的;并且,将信号频谱分成频段,每个频段至少有一个谱线。
设当前帧信号的幅数谱为:
X[k]=f[k]ejφ[k],k=1,...,K
其中r[k]为幅值,φ[k]为相位。
计算每个频段的能量,
其中kl和kh为每个k频段的上下边界。
每个谱线的不可预测测度为当前值和基于前两帧的预测值的相对距离(即不可预测测度)。设预测值的幅值和相位为:
rpred[k]=rt-1[k]+(rt-1[k]-rt-2[k])
φpred[k]=φt-1[k]+(φt-1[k]-φt-2[k])
则不可预测测度c[k]定义为:
则频段的不可预测度为该频段的谱线能量乘以不可预测测度的总和。即,
定义归一化分区不可预测度为:
由归一化不可预测度计算分区音调性有:
t[b]=-0.299-0.43loge(cs[b])
并且限制0≤t[b]≤1,当t[b]等于1时为纯弦,当t[b]等于0时为白噪。利用上述计算的方法可以得到原始高频谱的调性和低频谱至高频谱映射后的高频谱的调性。对低频谱至高频谱映射后的高频谱的调性调整的参数可以按照下面的方法计算:
设低频谱至高频谱映射后的高频谱的调性为Test,能量为Eest,原始高频的调性Tref。其中Test和Tref可以通过上述计算方法得到。对映射后的高频谱的调性调整可以分以下几种情况处理:
情况1,当映射后的高频的调性Test和原始高频的调性Tref大约相等时,调整类型为不调整,将调整类型编码并输出到比特流复用模块;
情况2,当映射频段的调性Test小于原始高频特定频段的调性Tref时,则调整类型为加弦处理。具体需要加弦的能量ΔET计算如下:
情况3,当映射频段的调性Test大于原始高频特定频段的调性Tref时,则调整类型为加噪处理。具体需要加噪的能量ΔEN计算如下:
以下介绍本发明优选实施例1的单声道声音解码装置及方法,由于解码过程是编码过程的逆过程,所以仅简单介绍解码过程。
图9是根据本发明优选实施例的单声道声音解码装置的结构框图。
如图9所示,根据本发明的优选实施例的单声道声音解码装置包括:比特流解复用模块901、低频波形解码模块902、MDCT至MDFT转换模块903、低频谱至高频谱映射模块904、MDFT域边界预处理模块905、高频参数解码模块906、MDFT域边界后处理模块907、逆修正离散傅立叶变换(IMDFT)模块908和重采样模块909。
下面,概括介绍图9所示各模块之间的连接关系和及其各自的功能。
比特流解复用模块901,用于对接收的声音编码码流进行解复用,得到相应数据帧的编码数据和边信息,向低频波形解码模块902输出相应的编码数据和边信息,向高频参数解码模块905和逆修正离散傅立叶变换(IMDFT)模块907输出相应的边信息;
低频波形解码模块902用于对该帧低频波形编码数据解码,并根据冗余处理边信息对解码数据进行冗余逆处理,获取低频谱解码数据;
MDCT至MDFT转换模块903用于接收低频波形解码模块的输出,将低频谱解码系数从MDCT域转换至MDFT域,并将MDFT域的低频谱数据输出到低频谱至高频谱映射模块904。
低频谱至高频谱映射模块904用于接收MDCT至MDFT转换模块903的输出,从该帧MDFT域的低频谱数据中映射部分谱数据到高频部分,得到低频谱至高频谱映射后的高频谱;
MDFT域边界预处理模块905用于接收低频谱至高频谱映射模块904的输出,对低频谱至高频谱映射后的高频谱进行边界预处理,改善频谱边界的性能,并将经过MDFT域边界预处理后的MDFT域的低频谱至高频谱映射后的高频谱数据输出到高频参数解码模块905。
高频参数解码模块906用于从MDFT域边界预处理模块905中接收预处理后的低频谱至高频谱映射后的高频谱,按照比特流解复用模块901输出的高频参数编码数据(包括增益调整和音调性调整边信息)调整其增益和音调性得到高频谱解码数据;
MDFT域边界后处理模块907用于接收高频参数解码模块906的输出,对高频谱解码数据进行边界后处理,并将经过MDFT域边界后处理后的高频谱数据输出到IMDFT变换模块908。
IMDFT变换模块908用于将低频谱和高频谱组合在一起进行IMDFT变换。IMDFT变换根据信号类型边信息采用不同长度阶数的IMDFT变换,获取该帧的时域信号。
重采样模块909用于将IMDFT变换模块908输出的该帧时域信号的采样频率变换到适合声音回放的采样频率,应注意,如果IMDFT变换模块908输出的信号的采样频率适于声音回放,则本发明的声音解码装置中可以不包括该模块。
下面,对单声道声音解码装置的低频波形解码模块902和高频参数解码模块906进行具体详细地说明。
图10是图9中所示的低频波形解码模块的结构框图。如图10所示,低频波形解码模块902包括逆量化模块1001和冗余逆处理模块1002。首先,逆量化模块1001将从比特流解复用模块901得到的低频编码数据进行逆量化解码,得到逆量化后的低频谱,逆量化解码的方法是编码端低频波形编码模块中采用量化编码的逆过程。然后冗余逆处理模块1002首先根据是否进行低频冗余逆处理的标志边信息作判断,如果标志为不作逆处理,逆量化后的低频谱不变化;否则,对逆量化后的低频谱作低频冗余逆处理。
图11是图9中所示的高频参数解码模块906的结构框图。如图11所示,高频参数解码模块906包括调性调整器1101和增益调整器1102。
调性调整器1101将低频谱至高频谱映射后的高频谱划分为多个频带,划分方法与编码端高频参数编码模块108中调性参数提取器401划分方法相同,然后根据调性调整类型边信息作判断,如果调整类型为不调整,则映射后的频谱不作处理;如果调整类型为加噪,则解量化调整参数边信息,根据解量化的结果计算得出加噪的能量,并在映射后的频谱中对应频带加入相应能量的噪声;如果调整类型为加弦,则解量化调整参数边信息,根据解量化的结果计算得出加弦的能量,并在映射后频谱的本频带中的中央加入相应能量的弦。加弦时,前后帧加弦的相位要保持连续。增益调整器1102根据快变点位置边信息将时频平面划分多个区域,划分的方法与高频参数编码模块108中增益参数提取器402的区域划分方法相同。然后由增益调整参数边信息得到每个区域增益调整的目标能量,最后将每个区域的能量进行调整使其与该区域目标能量相同。
下面对根据本发明优选实施例的单声道声音解码方法进行详细描述,该方法包括以下步骤:
步骤21、将声音编码码流进行解复用,得到低频编码数据、高频参数编码数据以及解码所用的所有边信息。
步骤22、根据低频编码数据以及边信息对低频编码数据进行逆量化和解码,然后进行低频冗余逆处理得到MDCT域的解码后的低频谱;
步骤23、将逆量化后的低频谱从MDCT域转换至MDFT域,得到MDFT域的低频谱;
步骤24、将MDFT域的低频谱的特定频带映射到高频的特定频带;
步骤25、对低频谱至高频谱映射后的高频谱进行MDFT域边界预处理,得到MDFT域边界预处理后的低频谱至高频谱映射后的MDFT域的高频谱;
步骤26、根据MDFT域边界预处理后的低频谱至高频谱映射后的MDFT域的高频谱,对高频参数进行参数解码,得到解码后的MDFT域的高频谱;
步骤27、对解码后的MDFT域的高频谱进行MDFT域边界后处理,得到解码后的MDFT域边界后处理的MDFT域的高频谱;
步骤28、对MDFT域的解码后的低频谱和高频谱组合在一起进行IMDFT变换,得到解码后的时域信号;
步骤29、对解码后的时域信号进行重采样操作,将解码后的时域信号的采样率变换到适合声音回放的采样频率。
在步骤22,低频信号解码包括低频逆量化和低频冗余逆处理两个步骤。首先对低频编码数据进行逆量化和解码,得到逆量化后的低频谱。然后根据边信息判断该帧数据在编码端是否进行了低频冗余处理,如果是则需要将逆量化后的低频谱进行低频冗余逆处理,否则逆量化后的低频谱不做变化。
低频逆量化和低频冗余逆处理方法分别对应于低频信号编码方法。如果在低频信号编码部分的具体实施方案中采用的是矢量量化的方法,则对应的低频逆量化需要从码流中得到矢量码字索引,根据码字索引在固定码书中找到对应的矢量。将矢量按顺序组合成逆量化后的低频谱。根据边信息判断出编码端是否进行了低频冗余处理。如果否,则逆量化后的低频谱不做低频冗余逆处理;如果是,则根据边信息判断出编码端采用哪种低频冗余处理方法,如果编码端采用DCT方法,则解码端采用8*8的IDCT对低频进行冗余逆处理;如果编码端采用LPC方法,则解码端对LPC模型参数进行逆量化,得到逆量化后的线性预测器参数,对低频残差谱进行逆滤波处理。
在步骤23,MDCT至MDFT转换目前有多种方法实现,具体的转换方法如根据MDCT域系数重构时域信号然后进行MDST变换得到MDST域系数,将MDCT域系数与MDST域系数组合得到MDFT域系数;或如根据MDCT域系数重构时域信号然后进行MDFT变换得到MDFT域系数;以及如通过建立当前帧及前后帧的MDCT域系数与当前帧MDST域系数之间的关系,确定由这三帧MDCT域系数计算当前帧MDST域系数的三个转换矩阵,从而实现由MDCT域系数直接处理来得到MDST域系数,最后将MDCT域系数与MDST域系数组合得到MDFT系数。本步骤中的MDCT至MDFT转换方法已在本发明单声道编码装置的编码方法的实施例中介绍过,在本发明单声道解码装置的解码方法的实施例中采用相同的方法,因此不做介绍。
在步骤24,低频谱至高频谱映射目前有多种方法实现,例如折叠映射,线性映射,倍频映射等。下面以线性映射为例说明低频谱至高频谱映射的方法。假设原始信号的低频谱的范围为[0,Fl],高频谱的范围为[Fl,Fs],其中2×Fl<Fs<3×Fl,如图5中a)所示。则通过线性映射得到的频谱如图5中b)所示。
在步骤25,MDFT域边界预处理目前有多种方法实现,例如采用频域加窗等方法改善由于频带划分带来的频域截断问题;采用谐波干涉消除等方法改善由于低频谱至高频谱映射带来的拼接处的谐波干涉噪声问题;采用MDFT域组合处理、谐波提取、MPEG2Layer3蝶形变换混叠消除、反卷积等方法改善由于原型滤波器性能不理想导致的旁瓣泄露和混叠噪声。本步骤中的MDFT域边界预处理方法已在本发明单声道编码装置的编码方法的实施例中介绍过,在本发明单声道解码装置的解码方法的实施例中采用相同的方法,因此不做介绍。
在步骤26,高频参数解码方法可以包含以下步骤:
步骤26-1、求低频谱至高频谱映射后的时频平面的各区域的能量,区域的划分同编码器一致。
步骤26-2、从比特流解复用模块901得到调性调整类型,如果调整类型为不调整,则执行步骤26-4,否则进行步骤26-3。
步骤26-3、从比特流解复用模块901得到调性调整参数并解量化,然后根据解量化后的调性调整参数对预处理后的映射的频谱进行调性调整。
步骤26-4、从比特流解复用模块901得到的时频平面各区域量化后的增益,解量化后并对步骤26-1或步骤26-3输出的高频谱的各区域增益进行调整,使得调整后的各区域的能量与目标能量相同,形成信号的高频谱。
在步骤27,MDFT域边界后处理与步骤25中的MDFT域边界预处理相对应。其中,采用频域加窗、反卷积、MPEG2 Layer3蝶形变换混叠消除、谐波提取等方法时需要进行与步骤25中的MDFT域边界预处理相对应的后处理,而采用谐波干涉消除、MDFT域组合处理等方法时不需要进行与步骤25中的MDFT域边界预处理相对应的后处理。
对应于本发明专利中编码部分MDFT域边界后处理的具体实施方法,以频域加窗为例来说明MDFT域边界后处理的过程。
频域加窗的MDFT域边界后处理分为加频率窗、频域混叠重构两个步骤。
步骤27-1a:加频率窗。对S′m(l)进行加窗处理,得到加窗的MDFT域高频谱系数Sm(l)。
Sm(l)=S′m(l)*w(l),l=0..2M
步骤27-1b:频域加窗重构。将相邻的Sm(l)进行叠接相加,重构出MDFT域边界后处理后的高频谱系数S(k)。
在步骤28,IMDFT变换与编码端的MDFT变换相对应。对于逆修正离散傅里叶变换(IMDFT),频率-时间映射过程包括三个步骤:IMDFT变换、时域加窗处理和时域叠加运算。
首先对逆量化谱进行IMDFT变换,得到变换后的时域信号sr(n)。IMDFT变换的表达式为:
在IMDFT变换前,需要将S(k)扩展到2M长度:
X(k)=-conj(X(2M-1-k)),k=M...2M-1
其中,n表示样本序号,2M为帧长,表示时域样本数,取值为2048/256;k表示谱序号,conj是求复数共轭运算。
其次,对IMDFT变换获得的时域信号在时域进行加窗处理。为满足完全重构条件,窗函数w(n)必须满足以下两个条件:w(2M-1-n)=w(n)且w2(n)+w2(n+M)=1。
典型的窗函数有Sine窗、KBD窗等。另外可以利用双正交变换,采用特定的分析滤波器和合成滤波器修改上述对窗函数的限制。
最后,对上述加窗时域信号进行叠加处理,得到时域音频信号。具体是:将加窗操作后获得的信号的前M个样本和前一帧信号的后M个样本重叠相加,获得M个输出的时域音频样本,即timeSami,n=preSami,n+preSami-1,n+M,其中i表示帧序号,n表示样本序号,有0≤n≤M。
在步骤29,重采样的实施方法与编码装置端相同。应注意,如果IMDFT变换后的时域信号的采样频率适于声音回放,则可以不包括重采样操作。
以下介绍本发明优选实施例的立体声编码装置及方法。
图12为作为本发明优选实施例的立体声编码装置的结构框图,本发明优选实施例的立体声编码装置包括:重采样模块1201,和信号类型判断模块1202、MDCT变换模块1203、低频立体声编码模块1204、MDCT至MDFT转换模块1205、低频谱至高频谱映射模块1206、MDFT域边界预处理模块1207、高频参数编码模块1208、以及比特流复用模块1209。
首先,概括介绍图12中各个模块的连接关系和功能,其中:
重采样模块1201,用于将输入的两个声道中的数字声音信号从原始采样率变换到目标采样率,并将两个声道中的重采样后的信号以帧为单位输出到和信号类型判断模块1202和MDCT变换模块1203,应注意,如果所输入的两个声道中的数字声音信号本身就具有目标采样率,则根据本发明原理的编码装置可以不包括该模块,可直接将两个声道中的数字声音信号输入到和信号类型判断模块1202和MDCT变换模块1203。
和信号类型判断模块1202,用于由重采样后的立体声信号中的左、右声道(L,R)计算出和信号,对该和信号进行信号类型分析,输出和信号类型分析结果。由于信号本身的复杂性,和信号类型可以采用多种表示形式。例如,若该帧和信号是缓变信号,则直接输出表示该帧和信号是缓变信号的标识;若是快变信号,则需继续计算快变点发生的位置,并输出表示该帧和信号是快变信号的标识和快变点发生的位置。和信号类型分析的结果输出到MDCT变换模块1203中进行MDCT变换的阶数控制,和信号类型分析的结果还可输出到比特流复用模块1209,应当注意,如果采用闭环搜索的方法确定和信号类型分析的结果,根据本发明的声音编码装置可以不包括模块。
MDCT变换模块1203用于根据从和信号类型判断模块1202输出的和信号类型分析结果,采用不同长度阶数的MDCT变换,将重采样后的两个声道中的声音信号映射到MDCT域,并将两个声道中的声音信号的MDCT域系数输出到低频波形编码模块1204,MDCT至MDFT转换模块1205。如果根据本发明原理的立体声编码装置不包括和信号类型判断模块1202,则在MDCT变换时不对阶数进行控制。具体地,若该帧和信号是缓变信号,则将两个声道中的声音信号以帧为单位分别做MDCT变换,选择较长阶数的变换;若是快变信号,则将两个声道中的声音信号划分为子帧,以子帧为单位分别做MDCT变换,选择较短阶数的MDCT变换。分别将两个声道中的MDCT域系数划分为低频谱和高频谱,所述两个声道中的低频谱输出到低频立体声编码模块1204,所述两个声道中的低频谱和高频谱、和信号类型分析结果输出到MDCT至MDFT转换模块1205。
低频立体声编码模块1204,用于从MDCT变换模块1203接收所述两个声道中的MDCT域的低频谱,并将低频谱划分为若干个子频带,分别对每个子频带采用立体声编码模式进行立体声编码,得到低频立体声编码数据,并作为声音编码码流中的声音编码数据输出到比特流复用模块1209。其中,立体声编码模式包含和差立体声编码模式、参数立体声编码模式和参数误差立体声编码模式。在进行立体声编码时,每个子频带选择上述三种编码模式中的一种进行立体声编码。其中,编码模式选择信息同时作为边信息输出到比特流复用模块1209中。
MDCT至MDFT转换模块1205,用于从MDCT变换模块1203接收所述两个声道中的MDCT域系数,将所述两个声道中的MDCT域系数转换为所述两个声道中的包含有相位信息的MDFT域系数,并将所述两个声道中的MDFT域系数输出到低频谱至高频谱映射模块1206、MDFT域边界预处理模块1207。
低频谱至高频谱映射模块1206,用于从MDCT至MDFT转换模块1205接收所述两个声道中的低频谱,将所述两个声道的低频谱的特定频段映射到所述两个声道的高频谱的特定频段,得到所述两个声道的映射后的高频谱,并将所述两个声道的映射后的高频谱输入MDFT域边界预处理模块1207。映射后的时频平面与原时频平面相同。
MDFT域边界预处理模块1207,用于从MDCT至MDFT转换模块1205接收所述两个声道中的MDFT域的高频谱及从低频谱至高频谱映射模块1206接收所述两个声道的低频谱至高频谱映射后的高频谱,对两个声道中的MDFT域的高频谱及两个声道的低频谱至高频谱映射后的高频谱进行边界预处理,并将经过边界预处理后的两个声道的MDFT域的高频谱及两个声道的低频谱至高频谱映射后的高频谱输出到高频参数编码模块1208。
高频参数编码模块1208,用于从MDFT域边界预处理模块1207接收经过MDFT域边界预处理后的两个声道的MDFT域的高频谱及两个声道的低频谱至高频谱映射后的高频谱,根据两个声道的MDFT域的高频谱及两个声道的低频谱至高频谱映射后的高频谱提取两个声道的高频参数,该两个声道的高频参数用来从两个声道的低频谱恢复两个声道的高频谱,然后该高频参数编码模块1208对提取的两个声道的高频参数进行量化编码后,得到两个声道的高频参数编码数据,将该两个声道的高频参数编码数据作为边信息输出到比特流复用模块1209。
比特流复用模块1209,用于将从和信号类型判断模块1202、低频立体声编码模块1204和高频参数编码模块1208接收到的声音编码数据以及边信息进行复用,形成立体声的声音编码码流。
本实施例中,MDCT变换模块1203、MDCT至MDFT转换模块1205、低频谱至高频谱映射模块1206、MDFT域边界预处理模块1207、高频参数编码模块1208需要对立体声的左、右声道分别进行处理,其处理方法与单声道声音编码装置中的同名模块处理方法相同。因此,上述两个模块中的每个模块都通过将两个单声道声音编码装置中的同名模块组合,从而实现对立体声的处理。
可见,与本发明优选实施例的单声道声音编码装置不同之处在于,单声道声音编码装置生成声音编码码流的声音编码数据时,采用的是低频波形编码模块104;而立体声编码装置在生成声音编码码流的声音编码数据时,采用的是低频立体声编码模块1204。该模块也是对低频立体声编码数据的各子带进行划分子频带和立体声编码。
下面对根据本发明优选实施例的立体声编码方法进行详细描述,该方法包括以下步骤:
步骤31:分别对输入的两个声道中的数字声音信号进行重采样处理;
步骤32:由两个声道中的重采样后的声音信号计算出和信号,对该和信号进行信号类型分析,如果是缓变类型信号,则直接将信号类型确定为和信号类型分析结果;如果是快变类型信号,则继续计算快变点发生的位置,最后将信号类型和快变点位置确定为和信号类型分析结果。
步骤33:根据和信号类型分析结果,采用不同长度阶数分别对所述两个声道中的重采样后的声音信号进行MDCT变换,得到所述两个声道中的MDCT域的声音信号。
步骤34:分别将两个声道中的MDCT域系数划分为低频谱和高频谱。
步骤35:分别将两个声道中的MDCT域的低频谱划分为若干个子频带,对每个子频带进行立体声编码,得到低频立体声编码数据。
步骤36:分别将两个声道的MDCT域系数转换为两个声道的MDFT域系数,得到两个声道的MDFT域的低频谱和两个声道的MDFT域的高频谱。
步骤37:分别将两个声道中的MDFT域的低频谱的特定频段映射到两个声道中的高频的特定频段,形成两个声道中的映射的高频谱。
步骤38:分别对两个声道的高频谱及两个声道的低频谱至高频谱映射后的高频谱进行MDFT域边界预处理得到两个声道的边界预处理后的高频谱及两个声道的低频谱至高频谱映射后的高频谱。
步骤39:根据MDFT域边界预处理后的两个声道的高频谱及两个声道的低频谱至高频谱映射后的高频谱,提取用来从所述两个声道中的低频谱恢复所述两个声道中的高频谱的高频参数,对所述两个声道的高频参数进行量化编码,获得所述两个声道的高频参数编码数据。
步骤40:对上述低频立体声编码数据、所述两个声道的高频参数编码数据以及边信息进行复用,得到立体声的声音编码码流。
其中,步骤31中的重采样方法、步骤32中的信号类型判断方法、步骤33中的MDCT变换方法、步骤36中的MDCT至MDFT的转换方法、步骤37中的低频谱至高频谱映射方法、步骤38中的MDFT域边界预处理方法和步骤39中的高频参数编码方法都已在本发明单声道编码装置的编码方法的实施例中介绍过,在本发明立体声编码装置的编码方法的实施例中采用相同的方法,因此不做介绍。
其中,步骤35的低频立体声编码的过程为,首先将所述两个声道中的低频谱分别划分为若干个子频带,然后对每个子频带从三种编码模式即和差立体声编码模式、参数立体声编码模式和参数误差立体声编码模式中选择一种,对该子频带内的两个声道中的频谱进行编码。在划分时,分别对两个声道的低频谱的各子带进行划分。下面首先给出两种编码模式选择的实施方法:
编码模式选择实施方法1:分别用三种编码模式以相同的比特数对所述两个声道中的低频谱进行编码和解码,计算解码恢复的两个声道中的低频谱与编码前低频谱的误差,并选择误差最小的编码模式作为立体声编码的编码模式。将编码模式选择信息作为边信息输出到比特流复用模块1209中;
编码模式选择实施方法2:对于低频谱内频率低于一确定值的较低频率子频带,例如1kHz以下的子频带,分别采用和差立体声编码模式和参数立体声编码模式进行编码和解码,计算恢复的两个声道中的低频谱与编码前低频谱的误差,并选择误差较小的编码模式,将编码模式选择信息作为边信息输出到比特流复用模块1209中,对于频率高于上述确定值的较高频率子频带,如1kHz以上的子频带,采用参数立体声编码模式。此时,参数立体声编码模式的选择信息可以输出或者不输出至比特流复用模块1209。
当然,在实际应用中也可以采用固定的立体声编码模式,在这种情况下,不需要将编码模式选择信息作为边信息输出到比特流复用模块1209中。
下面分别对三种立体声编码模式的实施方法进行详细说明。
图13为和差立体声编码模式的模型图。和差立体声编码模式是根据所述两个声道中的子频带内的低频谱,计算出该子频带内的一个和频谱和一个差频谱。具体实施方法如下:
其中,对和进行波形量化编码可以采用单声道声音编码装置的低频波形编码模块104对低频谱进行量化编码的方法。
图14为参数立体声编码模式的模型图。参数立体声编码模式是根据所述两个声道中的子频带k内的低频谱,计算出该子频带k内的一个单声道的频谱,同时计算用于通过该子频带单声道频谱来恢复所述两个声道中的该子频带k内的低频谱的参数。下面列举两种参数立体声编码的具体实施方法。
参数立体声编码具体实施方法1包含以下步骤:
其中,ER(k)和EL(k)分别为子频带k内右声道、左声道的能量。
步骤35-1b:对于子频带k内的每个频率点i,计算该频率点的加权和频谱和加权差频谱由于经缩放后,子频带k内各个频率点的左右声道的能量比统计上近似相同,所以由与能量近似相等,因此加权和频谱和加权差频谱近似垂直。计算公式如下:
步骤35-2a:对于子频带k,根据下面公式,计算第一个参数gd(k):
其中,
其中,xl和yl分别为左声道低频谱的实部和虚部,xr和yr分别为右声道低频谱的实部和虚部;
步骤35-2b:对于子频带k,根据下面公式,计算第二个参数gr(k):
其中,
其中,xm和ym分别表示加权和频谱的实部和虚部,g(k)是子频带k内参数立体声编码的重要度因子,反映了参数立体声编码误差在左右声道的分配,可以根据信号特性选择,例如g(k)可以等于子频带k内左声道与右声道的能量之比即EL(k)/ER(k)。
图15为参数误差立体声编码模式的模型图。参数误差立体声编码模式是根据所述两个声道中的子频带内的低频谱,计算出该子频带内的一个单声道的频谱、一个误差谱和通过该单声道频谱、误差谱来恢复所述两个声道中的子频带内的低频谱的参数。
相较于参数立体声编码模式的计算模型,如果需要提高编码精度则采用参数误差立体声编码模式,进一步计算频谱的误差,即误差谱并将误差谱也进行波形量化编码。参数误差立体声编码模式的具体实施方法包括以下步骤:
步骤35-3a:对于子频带k内某个声道,如右声道计算该声道的加权参数gr(k),并得到缩放后的该声道的频谱由于参数提取频带内各个频率点i的左右声道的能量比统计上近似相同,所以与能量近似相等,所以加权和频谱和加权差频谱近似垂直;其中,gr(k)的计算方法与步骤1705-1a中gr(k)的计算方法相同。
以下介绍根据本发明优选实施例的立体声解码装置及方法。
图16为根据本发明优选实施例的立体声解码装置的结构框图。如图16所示,本发明优选实施例的立体声解码装置包括:比特流解复用模块1601、低频立体声解码模块1602、MDCT至MDFT转换模块1603、低频谱至高频谱映射模块1604、MDFT域边界预处理模块1605、高频参数解码模块1606、MDFT域边界后处理模块1607、IMDFT变换模块1608和重采样模块1609。
下面,具体介绍图16所示各个模块的连接关系和功能,其中,
比特流解复用模块1601,用于对接收的声音编码流进行解复用,得到相应数据帧的声音编码数据和边信息。向低频立体声解码模块1602输出相应的编码数据和边信息,边信息包括是否进行低频冗余逆处理的标志;向高频参数解码模块1606输出的边信息包括调性调整类型、调性调整参数、增益调整参数和快变点发生的位置;向IMDFT变换模块1608输出的控制信号为信号类型参数。当编码端的低频立体声编码模块1204输出了编码模式选择信息,编码模式选择信息还将作为边信息输出至低频立体声解码模块1602(图16中未示出)。
低频立体声解码模块1602,用于根据比特流解复用模块1601输出边信息中的编码模式选择信息对低频立体声编码数据进行立体声解码,获得所述两个声道中的低频谱,发送给IMDFT变换模块1608和MDCT至MDFT转换模块1603。
MDCT至MDFT转换模块1603,用于接收低频立体声解码模块的输出,将两个声道中的低频谱解码系数从MDCT域转换至MDFT域,并将两个声道中的MDFT域的低频谱数据输出到低频谱至高频谱映射模块1604。
低频谱至高频谱映射模块1604,用于从该帧解码后的两个声道中的MDFT域的低频谱中映射部分谱数据到两个声道中的高频部分,得到两个声道中的低频谱至高频谱映射后的高频谱。
MDFT域边界预处理模块1605,用于接收低频谱至高频谱映射模块1604的输出,对所属两个声道中的MDFT域的低频谱至高频谱映射后的高频谱进行边界预处理,并将经过边界预处理后的两个声道的低频谱至高频谱映射后的高频谱数据输出到高频参数解码模块1606。
高频参数解码模块1606,用于根据接收自MDFT域边界预处理模块1605的所述两个声道中的MDFT域的低频谱至高频谱映射后的高频谱和比特流解复用模块1601输出的两个声道的高频参数编码数据来恢复所述两个声道中的MDFT域的高频谱。
MDFT域边界后处理模块1607,用于接收高频参数解码模块1606的输出,对两个声道的高频谱进行边界后处理,并将经过边界后处理后的两个声道的高频谱数据输出到IMDFT变换模块1608。
IMDFT变换模块1608,用于将所述两个声道中的MDFT域的低频谱和高频谱组合在一起进行IMDFT变换,IMDFT变换根据信号类型边信息采用不同长度阶数的IMDFT变换,获得该帧解码的立体声信号。
重采样模块1609,用于将IMDFT变换模块1608输出的该帧解码的立体声信号的采样频率变换到适合声音回放的采样频率,应注意,如果IMDFT变换模块1608输出的信号的采样频率适于声音回放,则本发明的声音解码装置中可以不包括该模块。
本实施例中,MDCT至MDFT转换模块1603、低频谱至高频谱映射模块1604、MDFT域边界预处理模块1605、高频参数解码模块1606、MDFT域边界处理模块1607、IMDFT变换模块1608、重采样模块1609分别采用两套单声道声音解码装置的同名模块分别对左、右声道信号进行处理。
下面对根据本发明优选实施例的立体声音解码方法进行详细描述,该方法包括以下步骤:
步骤41:将声音编码码流进行解复用,得到低频立体声编码数据、两个声道的高频参数编码数据以及解码所用的所有边信息。
步骤42:根据边信息中的低频立体声编码模式选择信息对低频立体声编码数据进行立体声解码,获得所述两个声道中的解码后的MDCT域的低频谱。
步骤43:将两个声道中的解码后的低频谱从MDCT域转换至MDFT域,得到两个声道中的MDFT域的低频谱。
步骤44:将所述两个声道中的解码后的MDFT域的低频谱的特定频带映射到所述两个声道中的高频的特定频带。
步骤45:对两个声道中的MDFT域的解码后的低频谱至高频谱映射后的高频谱进行MDFT域边界预处理,得到MDFT域边界预处理后的两个声道中的MDFT域的低频谱至高频谱映射后的高频谱。
步骤46:根据所述MDFT域边界预处理后的两个声道中的MDFT域的低频谱至高频谱映射后的高频谱和所述两个声道中的高频参数编码数据,恢复所述两个声道中的MDFT域的高频谱,得到所述两个声道中的解码后的MDFT域的高频谱。
步骤47:对两个声道中的解码后的MDFT域的高频谱进行MDFT域边界后处理,得到边界后处理后的两个声道中的解码后的MDFT域的高频谱。
步骤48:对解码后的所述两个声道中的MDFT域的低频谱和MDFT域的高频谱组合在一起进行IMDFT变换,得到解码后的立体声信号。
步骤49:对解码后的立体声信号进行重采样操作,将解码后的立体声信号的采样率变换到适合声音回放的采样频率。
其中,步骤43中的MDCT至MDFT转换方法、步骤44中的低频谱至高频谱映射方法、步骤45中的MDFT域边界预处理方法、步骤46中的高频参数解码方法、步骤47中的MDFT域边界后处理方法、步骤48中的IMDFT变换方法和步骤49中的重采样方法,都已在本发明单声道解码装置的解码方法的实施例中介绍过,在本发明立体声解码装置的解码方法的实施例中采用相同的方法,因此不做介绍。
其中,步骤42根据编码模式选择信息进行立体声解码,对应于编码模式选择实施方法1,解码方法为根据编码模式选择信息对每个子频带的低频立体声编码数据进行解码;对应于编码模式选择实施方法2,解码方法为根据编码模式选择信息对较低频率子频带中每个子频带的低频立体声编码数据进行解码,对于较高频率的子频带,采用参数立体声解码模式。其中,低频立体声解码包含三种立体声解码模式。
和差立体声解码模式是通过子频带内的低频和频谱和差频谱来恢复该子频带内的所述两个声道中的低频谱。具体实施方法如下:
参数立体声解码模式是根据低频立体声解码模块1602接收到的子频带内的加权和频谱和边信息中的相应参数和来恢复该子频带内的左、右声道低频谱。对应于编码部分的参数立体声编码方法中的具体实施方式1和具体实施方式2,但两种实施方式的解码过程相同,包含以下步骤:
步骤42-1a:低频立体声解码模块1602将从比特流解复用模块1601接收到低频域立体声编码数据和相应参数进行逆量化解码后,得到加权和频谱 参数 和
步骤42-2f:通过参数对缩放的声道进行重新缩放回原始的大小。
显而易见,在不偏离本发明的真实精神和范围的前提下,在此描述的本发明可以有许多变化。因此,所有对于本领域技术人员来说显而易见的改变,都应包括在本权利要求书所涵盖的范围之内。本发明所要求保护的范围仅由所述的权利要求书进行限定。
Claims (26)
1.一种单声道声音编码装置,包括:
修正离散余弦变换(MDCT)变换模块,用于将数字声音信号从时域映射到MDCT域以获取MDCT域上的声音信号,并且将所述MDCT域上的声音信号划分为低频谱和高频谱;
低频波形编码模块,用于对所述MDCT域上的声音信号的低频谱进行量化编码以获取低频波形编码数据;
MDCT至修正离散傅里叶变换(MDFT)转换模块,用于将所述MDCT域上的声音信号的低频谱和高频谱转换为MDFT域上的声音信号的低频谱和高频谱;
低频谱至高频谱映射模块,用于将所述MDFT域上的声音信号的低频谱的特定频段映射到高频谱的特定频段,得到频谱映射后的高频谱;
MDFT域边界预处理模块,用于对所述MDFT域上的频谱映射后的高频谱和频谱映射前的高频谱进行边界预处理,其中,所述频谱映射前的高频谱是所述MDCT至MDFT转换模块转换后的MDFT域上的高频谱;
高频参数编码模块,用于根据所述边界预处理后的频谱映射前的高频谱和频谱映射后的高频谱,计算用于在解码端从低频谱中恢复高频谱的高频参数,并对所述高频参数进行量化编码以获取高频参数编码数据;以及
比特流复用模块,用于对所述低频波形编码数据和所述高频参数编码数据进行复用,以输出声音编码码流。
2.根据权利要求1所述的装置,还包括:
信号类型分析模块,用于在所述MDCT变换模块进行映射之前,对所述数字声音信号进行信号类型分析,以获知所述数字声音信号是快变信号还是缓变信号,并将信号类型分析结果输出到所述MDCT变换模块、所述高频参数编码模块和所述比特流复用模块,其中,
MDCT变换模块还用于根据所述信号类型分析结果采用不同长度阶数的MDCT变换,高频参数编码模块还用于根据所述信号类型分析结果提取所述高频参数,比特流复用模块还用于,将所述信号类型分析结果与所述低频波形编码数据和所述高频参数编码数据一起进行复用。
3.根据权利要求1所述的装置,其中,所述低频波形编码模块还包括冗余消除处理模块,用于在所述MDCT域上的声音信号的低频谱进行量化编码之前对其进行冗余消除处理。
4.根据权利要求1所述的装置,其中,所述高频参数编码模块还包括:
调性参数提取器,用于根据边界预处理后的频谱映射前的高频谱和频谱映射后的高频谱,提取出在解码端用来调整高频谱调性所需的调性参数;以及
增益参数提取器,用于根据边界预处理后的频谱映射前的高频谱和频谱映射后的高频谱,提取出在解码端用来调整高频谱增益所需的增益参数,
其中,所述调性参数和所述增益参数是在解码端从低频谱中恢复高频谱的高频参数。
5.根据权利要求1所述的装置,还包括:
重采样模块,用于在所述MDCT变换模块进行所述映射之前,将所述数字声音信号从原始采样率变换到目标采样率。
6.一种单声道声音编码方法,包括:
将数字声音信号从时域映射到修正离散余弦变换(MDCT)域以获取MDCT域上的声音信号,并且将所述MDCT域上的声音信号划分为低频谱和高频谱;
对所述MDCT域上的声音信号中的低频谱进行量化编码以获取低频波形编码数据,将所述MDCT域上的声音信号的低频谱和高频谱转换为修正离散傅里叶变换(MDFT)域上的声音信号的低频谱和高频谱,将所述MDFT域上的声音信号的低频谱的特定频段映射到高频谱的特定频段,得到频谱映射后的高频谱,对所述MDFT域上的频谱映射后的高频谱和频谱映射前的高频谱进行边界预处理,其中,所述频谱映射前的高频谱是所述MDCT至MDFT转换模块转换后的MDFT域上的高频谱,根据所述边界预处理后的频谱映射前的高频谱和频谱映射后的高频谱,计算用于在解码端从低频谱中恢复高频谱的高频参数,并对所述高频参数进行量化编码以获取高频参数编码数据;以及
对所述低频波形编码数据和高频参数编码数据进行复用,以输出声音编码码流。
7.根据权利要求6所述的方法,还包括:
在将所述数字声音信号映射到MDCT域之前,对所述数字声音信号进行信号类型分析,以获知所述数字声音信号是快变信号或缓变信号,并输出信号类型分析结果;
根据所述信号类型分析结果采用不同长度阶数的MDCT变换;
根据所述信号类型分析结果提取所述高频参数中;
将所述信号类型分析结果与所述低频波形编码数据和所述高频参数编码数据一起进行复用。
8.根据权利要求6所述的方法,还包括:
在对所述MDCT域上的声音信号的低频谱进行量化编码之前对其进行冗余消除处理。
9.根据权利要求6所述的方法,其中,所述对高频参数进行量化编码的步骤还包括:
根据边界预处理后的频谱映射前的高频谱和频谱映射后的高频谱,提取出在解码端用来调整高频谱调性所需的调性参数;以及
根据边界预处理后的频谱映射前的高频谱和频谱映射后的高频谱,提取出在解码端用来调整高频谱增益所需的增益参数,
其中,所述调性参数和所述增益参数是在解码端从低频谱中恢复高频谱的高频参数。
10.根据权利要求6所述的方法,还包括:
在将数字声音信号从时域映射到MDCT域之前,将所述数字声音信号从原始采样率变换到目标采样率。
11.根据权利要求6所述的方法,其中,从MDCT向MDFT的转换包括下列步骤之一:
对声音的时域信号进行修正离散正弦变换(MDST)得到MDST域系数,将所述MDST域系数与MDCT域系数组合得到MDFT域系数,其中,所述MDCT域系数是将声音信号映射到MDCT域得到的;
根据所述MDCT域系数重构所述时域信号,对所述重构的时域信号进行MDST变换得到MDST域系数,将所述MDCT域系数与MDST域系数组合得到MDFT域系数;
根据所述MDCT域系数重构所述时域信号,对所述重构的时域信号进行MDFT变换得到MDFT域系数;以及
通过建立当前帧及其前后帧的MDCT域系数与当前帧MDST域系数之间的关系,确定由这三帧MDCT域系数计算当前帧MDST域系数的三个转换矩阵,根据这三帧的MDCT域系数及其对应的转换矩阵得到MDST域系数,然后将MDCT域系数与MDST域系数组合得到MDFT系数。
12.根据权利要求6所述的方法,其中,所述边界预处理包括下列步骤中的一个或多个:
分别根据在将MDCT域上的高频谱转换为MDFT域上的高频谱时得到的高频谱系数以及在将所述MDFT域上的声音信号的低频谱的特定频段映射到高频谱的特定频段时得到的高频谱系数构造出多个待加窗的高频谱频带,对每个待加窗的高频谱频带进行加频率窗处理,得到加窗处理后的高频谱系数以用于所述高频参数计算;
基于所述MDFT域上的低频谱和所述频谱映射后的高频谱进行谐波检测,基于所述谐波检测结果在频谱映射后的高频谱的拼接处进行谐波干涉判定,根据谐波干涉判定的结果消除谐波干涉;以及
分别对以频谱映射后的高频谱的特定频段的起始频率和截止频率为中心的一定频率范围进行MDFT域组合处理,并将处理结果用于所述高频参数计算。
13.一种单声道声音解码装置,包括:
比特流解复用模块,用于对声音编码码流进行解复用,以获取低频波形编码数据和高频参数编码数据;
低频波形解码模块,用于解码所述低频波形编码数据,以获取修正离散余弦变换(MDCT)域上的声音信号的低频谱解码数据;
MDCT至修正离散傅里叶变换(MDFT)转换模块,用于将所述MDCT域上的声音信号的低频谱解码数据从MDCT域转换至MDFT域;
低频谱至高频谱映射模块,用于从所述MDFT域上的低频谱解码数据中映射部分谱数据到高频部分,得到频谱映射后的高频谱;
MDFT域边界预处理模块,用于对所述频谱映射后的高频谱进行边界预处理;
高频参数解码模块,用于根据所述高频参数编码数据对所述边界预处理后的频谱映射后的高频谱进行参数解码得到高频谱解码数据;
MDFT域边界后处理模块,用于对所述高频谱解码数据进行边界后处理;以及
逆修正离散傅里叶变换(IMDFT)变换模块,用于将所述低频谱解码数据和所述边界后处理后的高频谱解码数据组合起来进行IMDFT变换,以获取时域上的声音解码数据。
14.根据权利要求13所述的装置,其中,所述低频波形解码模块还包括:
逆量化模块,用于对所述低频波形编码数据进行逆量化解码,得到逆量化后的低频谱数据;
冗余逆处理模块,用于对所述逆量化后的低频谱数据进行冗余消除逆处理,得到所述低频谱解码数据。
15.根据权利要求13所述的装置,还包括:
重采样模块,用于将所述时域上的声音解码数据的采样频谱变换到适合声音回放的采样频率。
16.根据权利要求13所述的装置,其中,所述高频参数解码模块还包括:
调性调整模块,用于对所述边界预处理后的频谱映射后的高频谱进行调性调整;以及
增益调整模块,用于对调性调整后的高频谱进行增益调整,得到高频谱解码数据。
17.一种单声道声音解码方法,包括:
对声音编码码流进行解复用,以获取低频波形编码数据和高频参数编码数据;
解码所述低频波形编码数据,以获取修正离散余弦变换(MDCT)域上的声音信号中的低频谱解码数据;
将所述低频谱解码数据从MDCT域转换至修正离散傅里叶变换(MDFT)域,以得到MDFT域上的低频谱解码数据;
从所述MDFT域上的低频谱解码数据中映射部分谱数据到高频部分,得到频谱映射后的高频谱;
对所述频谱映射后的高频谱进行边界预处理;
根据所述高频参数编码数据,对所述边界预处理后的频谱映射后的高频谱进行参数解码,得到MDFT域的解码后的高频谱解码数据;
对所述高频谱解码数据进行边界后处理;以及
将所述低频谱解码数据和所述边界后处理后的高频谱解码数据组合在一起进行逆修正离散傅里叶变换(IMDFT)变换,得到解码后的时域上的数字声音信号。
18.根据权利要求17所述的方法,其中,解码所述低频波形编码数据的步骤还包括:
对低频波形编码数据进行逆量化解码,获得低频谱解码数据;以及
对所述低频谱解码数据进行冗余消除逆处理。
19.根据权利要求17所述的方法,还包括:
将所述时域上的数字声音信号的采样频谱变换到适合声音回放的采样频率。
20.根据权利要求17所述的方法,其中,从MDCT向MDFT的转换包括下列步骤之一:
根据所述MDCT域系数重构声音的时域信号,对所述重构的时域信号进行修正离散正弦变换(MDST)变换得到MDST域系数,将所述MDCT域系数与MDST域系数组合得到MDFT域系数,其中,所述MDCT域系数是解码所述低频波形编码数据得到的;
根据所述MDCT域系数重构所述时域信号,对所述重构的时域信号进行MDFT变换得到MDFT域系数;以及
通过建立当前帧及其前后帧的MDCT域系数与当前帧MDST域系数之间的关系,确定由这三帧MDCT域系数计算当前帧MDST域系数的三个转换矩阵,根据这三帧的MDCT域系数及其对应的转换矩阵得到MDST域系数,然后将MDCT域系数与MDST域系数组合得到MDFT系数。
21.根据权利要求17所述的方法,其中,所述边界预处理包括下列步骤中的一个或多个:
根据在频谱映射中得到的高频谱系数构造出多个待加窗的高频谱频带,对每个待加窗的高频谱频带进行加频率窗处理,得到加窗处理后的高频谱系数以用于所述参数解码;
基于所述低频谱解码数据和所述频谱映射后的高频谱进行谐波检测,基于所述谐波检测结果在频谱映射后的高频谱的拼接处进行谐波干涉判定,根据谐波干涉判定的结果消除谐波干涉;以及
分别对以频谱映射后的高频谱的特定频段的起始频率和截止频率为中心的一定频率范围进行MDFT域组合处理,并将处理结果用于所述参数解码。
22.根据权利要求17所述的方法,其中,所述边界后处理还包括:
根据在所述参数解码中得到的高频谱频带,对每个高频谱频带进行加频率窗处理,并将加频率窗处理后的所有高频谱频带进行叠接相加处理,得到边界后处理后的高频谱解码数据以用于所述频时映射。
23.一种立体声编码装置,包括:
修正离散余弦变换(MDCT)变换模块,用于分别将数字声音信号从时域映射到MDCT域,以获取左、右声道的MDCT域上的数字声音信号,并且将所述左、右声道的MDCT域上的声音信号划分为低频谱和高频谱;
低频立体声编码模块,用于对所述左、右声道的MDCT域上的低频谱进行立体声编码,以获取低频立体声编码数据;
MDCT至修正离散傅里叶变换(MDFT)转换模块,用于将所述左、右声道的MDCT域上的低频谱和高频谱转换为MDFT域上的低频谱和高频谱;
低频谱至高频谱映射模块,用于将所述左、右声道的MDFT域上的声音信号的低频谱的特定频段映射到高频谱的特定频段,得到左、右声道的频谱映射后的高频谱;
MDFT域边界预处理模块,用于对所述左、右声道的MDFT域上频谱映射后的高频谱和频谱映射前的高频谱进行边界预处理,其中,所述频谱映射前的高频谱是所述MDCT至MDFT转换模块转换后的MDFT域上的高频谱;
高频参数编码模块,用于分别根据所述边界预处理后的左、右声道的频谱映射前的高频谱和频谱映射后的高频谱,计算用于在解码端分别从所述左、右声道的低频谱中恢复高频谱的高频参数,并对所述高频参数进行量化编码以获取所述左、右声道的高频参数编码数据;以及
比特流复用模块,用于对所述低频立体声编码数据和所述左、右声道的高频参数编码数据进行复用,以输出声音编码码流。
24.一种立体声编码方法,包括:
分别将数字声音信号从时域映射到修正离散余弦变换(MDCT)域,以获取左、右声道的MDCT域上的数字声音信号,并且将所述左、右声道的MDCT域上的声音信号划分为低频谱和高频谱;
对所述左、右声道的MDCT域上的低频谱进行立体声编码,以获取低频立体声编码数据,将所述左、右声道的MDCT域上的低频谱和高频谱的转换为修正离散傅里叶变换(MDFT)域上的低频谱和高频谱,将所述左、右声道的MDFT域上的声音信号的低频谱的特定频段映射到高频谱的特定频段,得到左、右声道的频谱映射后的高频谱,对所述左、右声道的MDFT域上频谱映射后的高频谱和频谱映射前的高频谱进行边界预处理,其中,所述频谱映射前的高频谱是所述MDCT至MDFT转换模块转换后的MDFT域上的高频谱,用于分别根据所述边界预处理后的左、右声道的频谱映射前的高频谱和频谱映射后的高频谱,计算用于在解码端分别从所述左、右声道的低频谱中恢复高频谱的高频参数,并对所述高频参数进行量化编码以获取所述左、右声道的高频参数编码数据;以及
对所述低频立体声编码数据和所述左、右声道的高频参数编码数据进行复用,以输出声音编码码流。
25.一种立体声解码装置,包括:
比特流解复用模块,用于对声音编码码流进行解复用,以获取低频立体声编码数据和左、右声道的高频参数编码数据;
低频立体声解码模块,用于对所述低频立体声编码数据进行立体声解码,以获取所述左、右声道的修正离散余弦变换(MDCT)域上的声音信号的低频谱解码数据;
MDCT至修正离散傅里叶变换(MDFT)转换模块,用于将所述左、右声道的MDCT域上的声音信号的低频谱解码数据从MDCT域转换至MDFT域,得到左、右声道的MDFT域上的低频谱解码数据;
低频谱至高频谱映射模块,用于从所述左、右声道的MDFT域上的低频谱解码数据中映射部分谱数据到高频部分,得到左、右声道的频谱映射后的高频谱;
MDFT域边界预处理模块,用于对所述左、右声道的频谱映射后的高频谱进行边界预处理;
高频参数解码模块,用于根据所述左、右声道的高频参数编码数据对所述边界预处理后的频谱映射后的高频谱进行参数解码得到所述左、右声道的高频谱解码数据;
MDFT域边界后处理模块,用于对所述左、右声道的高频谱解码数据进行边界后处理;以及
逆修正离散傅里叶变换(IMDFT)变换模块,用于将所述左、右声道的MDFT域上的低频谱解码数据和所述边界后处理后的左、右声道的MDFT域上的高频谱解码数据组合起来进行IMDFT变换,以获取时域上的立体声解码数据。
26.一种立体声解码方法,包括:
对声音编码码流进行解复用,以获取低频立体声编码数据和左、右声道的高频参数编码数据;
对所述低频立体声编码数据进行立体声解码,以获取所述左、右声道的修正离散余弦变换(MDCT)域上的声音信号的低频谱解码数据;
将所述左、右声道的MDCT域上的声音信号的低频谱解码数据从MDCT域转换至修正离散傅里叶变换(MDFT)域,得到左、右声道的MDFT域上的低频谱解码数据;
从所述左、右声道的MDFT域上的低频谱解码数据中映射部分谱数据到高频部分,得到左、右声道的频谱映射后的高频谱;
对所述左、右声道的频谱映射后的高频谱进行边界预处理;
根据所述左、右声道的高频参数编码数据对所述边界预处理后的频谱映射后的高频谱进行参数解码得到所述左、右声道的高频谱解码数据;
对所述左、右声道的高频谱解码数据进行边界后处理;以及
将所述左、右声道的MDFT域上的低频谱解码数据和所述边界后处理后的左、右声道的MDFT域上的高频谱解码数据组合起来进行IMDFT变换,以获取时域上的立体声解码数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210085257.2A CN103366751B (zh) | 2012-03-28 | 2012-03-28 | 一种声音编解码装置及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210085257.2A CN103366751B (zh) | 2012-03-28 | 2012-03-28 | 一种声音编解码装置及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103366751A true CN103366751A (zh) | 2013-10-23 |
CN103366751B CN103366751B (zh) | 2015-10-14 |
Family
ID=49367951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210085257.2A Active CN103366751B (zh) | 2012-03-28 | 2012-03-28 | 一种声音编解码装置及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103366751B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016023323A1 (zh) * | 2014-08-12 | 2016-02-18 | 北京天籁传音数字技术有限公司 | 多声道声音信号编码方法、解码方法及装置 |
CN107925388A (zh) * | 2016-02-17 | 2018-04-17 | 弗劳恩霍夫应用研究促进协会 | 用于增强瞬时处理的后置处理器、预处理器、音频编码器、音频解码器及相关方法 |
CN108010538A (zh) * | 2017-12-22 | 2018-05-08 | 北京奇虎科技有限公司 | 音频数据处理方法及装置、计算设备 |
CN108463850A (zh) * | 2015-09-25 | 2018-08-28 | 弗劳恩霍夫应用研究促进协会 | 用于音频变换编码中重叠率的信号自适应切换的编码器、解码器以及方法 |
CN108885879A (zh) * | 2016-01-22 | 2018-11-23 | 弗劳恩霍夫应用研究促进协会 | 使用帧控制同步来编码或解码多声道音频信号的装置和方法 |
WO2022012677A1 (zh) * | 2020-07-16 | 2022-01-20 | 华为技术有限公司 | 音频编解码方法和相关装置及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1995028699A1 (en) * | 1994-04-19 | 1995-10-26 | Universite De Sherbrooke | Differential-transform-coded excitation for speech and audio coding |
EP0878790A1 (en) * | 1997-05-15 | 1998-11-18 | Hewlett-Packard Company | Voice coding system and method |
JP2004514179A (ja) * | 2000-11-14 | 2004-05-13 | コーディング テクノロジーズ アクチボラゲット | 適応ろ波による高周波復元符号化方法の知覚性能の強化方法 |
CN1527995A (zh) * | 2001-11-14 | 2004-09-08 | ���µ�����ҵ��ʽ���� | 编码设备和解码设备 |
WO2006049205A1 (ja) * | 2004-11-05 | 2006-05-11 | Matsushita Electric Industrial Co., Ltd. | スケーラブル復号化装置およびスケーラブル符号化装置 |
-
2012
- 2012-03-28 CN CN201210085257.2A patent/CN103366751B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1995028699A1 (en) * | 1994-04-19 | 1995-10-26 | Universite De Sherbrooke | Differential-transform-coded excitation for speech and audio coding |
EP0878790A1 (en) * | 1997-05-15 | 1998-11-18 | Hewlett-Packard Company | Voice coding system and method |
JP2004514179A (ja) * | 2000-11-14 | 2004-05-13 | コーディング テクノロジーズ アクチボラゲット | 適応ろ波による高周波復元符号化方法の知覚性能の強化方法 |
CN1527995A (zh) * | 2001-11-14 | 2004-09-08 | ���µ�����ҵ��ʽ���� | 编码设备和解码设备 |
WO2006049205A1 (ja) * | 2004-11-05 | 2006-05-11 | Matsushita Electric Industrial Co., Ltd. | スケーラブル復号化装置およびスケーラブル符号化装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016023323A1 (zh) * | 2014-08-12 | 2016-02-18 | 北京天籁传音数字技术有限公司 | 多声道声音信号编码方法、解码方法及装置 |
CN108463850A (zh) * | 2015-09-25 | 2018-08-28 | 弗劳恩霍夫应用研究促进协会 | 用于音频变换编码中重叠率的信号自适应切换的编码器、解码器以及方法 |
CN108463850B (zh) * | 2015-09-25 | 2023-04-04 | 弗劳恩霍夫应用研究促进协会 | 用于音频变换编码中重叠率的信号自适应切换的编码器、解码器以及方法 |
CN108885879A (zh) * | 2016-01-22 | 2018-11-23 | 弗劳恩霍夫应用研究促进协会 | 使用帧控制同步来编码或解码多声道音频信号的装置和方法 |
CN108885879B (zh) * | 2016-01-22 | 2023-09-15 | 弗劳恩霍夫应用研究促进协会 | 使用帧控制同步来编码或解码多声道音频信号的装置和方法 |
US11887609B2 (en) | 2016-01-22 | 2024-01-30 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for estimating an inter-channel time difference |
CN107925388A (zh) * | 2016-02-17 | 2018-04-17 | 弗劳恩霍夫应用研究促进协会 | 用于增强瞬时处理的后置处理器、预处理器、音频编码器、音频解码器及相关方法 |
CN108010538A (zh) * | 2017-12-22 | 2018-05-08 | 北京奇虎科技有限公司 | 音频数据处理方法及装置、计算设备 |
CN108010538B (zh) * | 2017-12-22 | 2021-08-24 | 北京奇虎科技有限公司 | 音频数据处理方法及装置、计算设备 |
WO2022012677A1 (zh) * | 2020-07-16 | 2022-01-20 | 华为技术有限公司 | 音频编解码方法和相关装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103366751B (zh) | 2015-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103366749B (zh) | 一种声音编解码装置及其方法 | |
US10600427B2 (en) | Harmonic transposition in an audio coding method and system | |
US11594234B2 (en) | Harmonic transposition in an audio coding method and system | |
CN101276587B (zh) | 声音编码装置及其方法和声音解码装置及其方法 | |
CN103366750B (zh) | 一种声音编解码装置及其方法 | |
JP4950210B2 (ja) | オーディオ圧縮 | |
KR101589942B1 (ko) | 외적 향상 고조파 전치 | |
US7805314B2 (en) | Method and apparatus to quantize/dequantize frequency amplitude data and method and apparatus to audio encode/decode using the method and apparatus to quantize/dequantize frequency amplitude data | |
CN103366751B (zh) | 一种声音编解码装置及其方法 | |
US11562755B2 (en) | Harmonic transposition in an audio coding method and system | |
CN103155034A (zh) | 基于celp的语音编码器中的音频信号带宽扩展 | |
CN103155035A (zh) | 基于celp的语音编码器中的音频信号带宽扩展 | |
RU2409874C9 (ru) | Сжатие звуковых сигналов | |
CN104078048B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |