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

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

Info

Publication number
CN103366749B
CN103366749B CN201210085213.XA CN201210085213A CN103366749B CN 103366749 B CN103366749 B CN 103366749B CN 201210085213 A CN201210085213 A CN 201210085213A CN 103366749 B CN103366749 B CN 103366749B
Authority
CN
China
Prior art keywords
frequency spectrum
mapping
frequency
high frequency
parameter
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.)
Active
Application number
CN201210085213.XA
Other languages
English (en)
Other versions
CN103366749A (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 CN201210085213.XA priority Critical patent/CN103366749B/zh
Publication of CN103366749A publication Critical patent/CN103366749A/zh
Application granted granted Critical
Publication of CN103366749B publication Critical patent/CN103366749B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及一种声音编解码装置及其方法,尤其涉及单声道声音编解码装置及其方法以及立体声声音的编解码装置及其方法。本发明通过结合低频波形编码与高频参数编码,并且将低频谱的特定频段映射到高频谱的特定频段,在编码端对频谱映射前后的高频谱进行映射域边界预处理、在解码端对频谱映射后的高频谱进行映射域边界预处理,并对参数解码后的高频谱进行映射域边界后处理,改善了由于高频参数编码中的频带划分、低频谱至高频谱映射带来的问题,提高了频谱的连续性和频带信号的自然度、消除了谐波干涉噪声和因旁瓣泄露引起的混叠噪声,在较低的码率下进一步提高了高频参数编码的编码质量。

Description

一种声音编解码装置及其方法
技术领域
本发明涉及一种声音编解码装置和方法,尤其涉及单声道声音编解码装置及其方法以及立体声声音的编解码装置及其方法。
背景技术
专利ZL200610087481.X公开了一种声音编码装置和方法,包括:
时变预测分析模块,用于对数字声音信号进行时变预测分析,以获取时域激励信号;
时频映射模块,用于将时域激励信号映射到变换域,以获取变换域上的激励信号;
编码模块,用于对变换域上的激励信号中的低频谱和中频谱进行量化编码,以获取低频波形编码数据和中频波形编码数据;以及根据变换域上的激励信号中的低频谱、中频谱和高频谱,计算用于从低频谱和中频谱中恢复高频谱的高频参数,并对高频参数进行量化编码以获取高频参数编码数据;以及
比特流复用模块,用于对低频波形编码数据、中频波形编码数据和高频参数编码数据进行复用,以输出声音编码码流。
该声音编码装置和方法引入了新的编码框架,以充分结合声音波形编码和参数编码的特点,在较低的码率和计算复杂度约束下,对语音和音乐均能高质量编码。
根据ZL200610087481.X提出的方法,由于从低频谱和中频谱中恢复高频谱的技术改变了原始信号各频带之间的自然位置关系和能量大小,因此会带来一系列问题,从而影响到高频参数编码的编码质量。例如:高频参数编码中的频带划分,截断了原始信号各频谱线之间的关联,尤其是映射域信号的频率分辨率很高时,各频带之间的过渡带很窄,破坏了频谱的连续性和频带信号的自然度;低频谱至高频谱映射还可能造成在拼接处两个谐波信号的叠加,产生谐波干涉噪声;对于低频谱至高频谱映射后各频率带之间的拼接处,由于原型滤波器性能的不理想会产生旁瓣泄露,因而引入混叠噪声。
针对上述由于高频参数编码引起的问题,本发明公开的一种声音编解码装置和方法提出了有效的解决方法,在较低的码率下进一步提升对音乐信号的编码质量。
发明内容
本发明的示例性实施例的其他特征和好处将通过下面阐述的详细说明、附图和权利要求变得明显。
根据本发明的第一方面,提供了一种单声道声音编码装置,包括:时频映射模块,用于将数字声音信号从时域映射到映射域以获取映射域上的声音信号,并且将所述映射域上的声音信号划分为低频谱和高频谱;低频波形编码模块,用于对所述映射域上的声音信号的低频谱进行量化编码以获取低频波形编码数据;低频谱至高频谱映射模块,用于将所述映射域上的声音信号的低频谱的特定频段映射到高频谱的特定频段,得到频谱映射后的高频谱;映射域边界预处理模块,用于对所述频谱映射前的高频谱和所述频谱映射后的高频谱进行边界预处理,其中,所述频谱映射前的高频谱是所述时频映射模块所划分的高频谱;高频参数编码模块,用于根据所述边界预处理后的频谱映射前的高频谱和频谱映射后的高频谱,计算用于在解码端从低频谱中恢复高频谱的高频参数,并对所述高频参数进行量化编码以获取高频参数编码数据;以及比特流复用模块,用于对所述低频波形编码数据和所述高频参数编码数据进行复用,以输出声音编码码流。
根据本发明的第二方面,提供了一种单声道声音编码方法,包括:将数字声音信号从时域映射到映射域以获取映射域上的声音信号,并且将所述映射域上的声音信号划分为低频谱和高频谱;对所述映射域上的声音信号的低频谱进行量化编码以获取低频波形编码数据,将所述映射域上的声音信号的低频谱的特定频段映射到高频谱的特定频段,得到频谱映射后的高频谱,对所述频谱映射前的高频谱和所述频谱映射后的高频谱进行边界预处理,其中,所述频谱映射前的高频谱是所述时频映射模块所划分的高频谱,根据所述边界预处理后的频谱映射前的高频谱和频谱映射后的高频谱,计算用于在解码端从低频谱中恢复高频谱的高频参数,并对所述高频参数进行量化编码以获取高频参数编码数据;以及对所述低频波形编码数据和所述高频参数编码数据进行复用,以输出声音编码码流。
根据本发明的第三方面,提供了一种单声道声音解码装置,包括:比特流解复用模块,用于对声音编码码流进行解复用,以获取低频波形编码数据和高频参数编码数据;低频波形解码模块,用于解码所述低频波形编码数据,以获取声音信号的低频谱解码数据;低频谱至高频谱映射模块,用于从所述低频谱解码数据中映射部分谱数据到高频部分,得到频谱映射后的高频谱;映射域边界预处理模块,用于对所述频谱映射后的高频谱进行边界预处理;高频参数解码模块,用于根据所述高频参数编码数据对边界预处理后的频谱映射后的高频谱进行参数解码得到高频谱解码数据;映射域边界后处理模块,用于对所述高频谱解码数据进行边界后处理,得到边界后处理后的高频谱解码数据;以及频时映射模块,用于将所述低频谱解码数据和所述边界后处理后的高频谱解码数据组合起来进行频时映射,以获取时域上的声音解码数据。
根据本发明的第四方面,提供了一种单声道声音解码方法,包括:对声音编码码流进行解复用,以获取低频波形编码数据和高频参数编码数据;解码所述低频波形编码数据,以获取声音信号的低频谱解码数据;从所述低频谱解码数据中映射部分谱数据到高频部分,得到频谱映射后的高频谱;对所述频谱映射后的高频谱进行边界预处理;根据所述高频参数编码数据对所述频谱映射后的高频谱进行参数解码得到高频谱解码数据;对所述高频谱解码数据进行边界后处理,得到边界后处理后的高频谱解码数据;以及将所述低频谱解码数据和所述边界后处理后的高频谱解码数据组合起来进行频时映射,以获取时域上的声音解码数据。
根据本发明的第五方面,提供了一种立体声编码装置,包括:时域映射模块,用于分别将数字声音信号从时域映射到映射域,以获取左、右声道的映射域上的数字声音信号,并且将所述左、右声道的映射域上的声音信号划分为低频谱和高频谱;低频立体声编码模块,用于对所述左、右声道的映射域上的低频谱进行立体声编码,以获取低频立体声编码数据;低频谱至高频谱映射模块,用于将所述映射域上的左、右声道的声音信号的低频谱的特定频段映射到高频谱的特定频段,得到左、右声道的频谱映射后的高频谱;映射域边界预处理模块,用于对所述左、右声道的频谱映射前的高频谱和频谱映射后的高频谱进行边界预处理,其中,所述频谱映射前的高频谱是所述时频映射模块所划分的高频谱;高频参数编码模块,用于分别根据所述边界预处理后的左、右声道的频谱映射前和频谱映射后的高频谱,计算用于在解码端分别从所述左、右声道的低频谱中恢复高频谱的高频参数,并对所述高频参数进行量化编码以获取所述左、右声道的高频参数编码数据;以及比特流复用模块,用于对所述低频立体声编码数据和所述左、右声道的高频参数编码数据进行复用,以输出声音编码码流。
根据本发明的第六方面,提供了一种立体声编码方法,包括:分别将数字声音信号从时域映射到映射域,以获取左、右声道的映射域上的数字声音信号,并且将所述左、右声道的映射域上的声音信号划分为低频谱和高频谱;对所述左、右声道的映射域上的低频谱进行立体声编码,以获取低频立体声编码数据,将所述映射域上的左、右声道的声音信号的低频谱的特定频段映射到高频谱的特定频段,得到左、右声道的频谱映射后的高频谱,对所述左、右声道的频谱映射前的高频谱和频谱映射后的高频谱进行边界预处理,其中,所述频谱映射前的高频谱是所述时频映射模块所划分的高频谱,分别根据所述边界预处理后的左、右声道的频谱映射前和频谱映射后的高频谱,计算用于在解码端分别从所述左、右声道的低频谱中恢复高频谱的高频参数,并对所述高频参数进行量化编码以获取所述左、右声道的高频参数编码数据;以及对所述低频立体声编码数据和所述左、右声道的高频参数编码数据进行复用,以输出声音编码码流。
根据本发明的第七方面,提供了一种立体声解码装置,包括:比特流解复用模块,用于对声音编码码流进行解复用,以获取低频立体声编码数据和左、右声道的高频参数编码数据;低频立体声解码模块,用于对所述低频立体声编码数据进行立体声解码,以获取所述左、右声道的声音信号的低频谱解码数据;低频谱至高频谱映射模块,用于从所述左、右声道的低频谱解码数据中映射部分谱数据到高频部分,得到所述左、右声道的频谱映射后的高频谱;映射域边界预处理模块,用于对所述左、右声道的频谱映射后的高频谱进行边界预处理;高频参数解码模块,用于根据所述左、右声道的高频参数编码数据对边界预处理后的频谱映射后的高频谱进行参数解码得到所述左、右声道的高频谱解码数据;映射域边界后处理模块,用于对所述左、右声道的高频谱解码数据进行边界后处理,以得到边界后处理后的左、右声道的高频谱解码数据;以及频时映射模块,用于将所述左、右声道的低频谱解码数据和边界后处理后的左、右声道的高频谱解码数据组合起来进行频时映射,以获得时域上的立体声解码数据。
根据本发明的第八方面,提供了一种立体声解码方法,包括:对声音编码码流进行解复用,以获取低频立体声编码数据和左、右声道的高频参数编码数据;对所述低频立体声编码数据进行立体声解码,以获取所述左、右声道的声音信号的低频谱解码数据;从所述左、右声道的低频谱解码数据中映射部分谱数据到高频部分,得到所述左、右声道的频谱映射后的高频谱;对所述左、右声道的频谱映射后的高频谱进行边界预处理;根据所述左、右声道的高频参数编码数据对边界预处理后的频谱映射后的高频谱进行参数解码得到所述左、右声道的高频谱解码数据;对所述左、右声道的高频谱解码数据进行边界后处理,以得到边界后处理后的左、右声道的高频谱解码数据;以及将所述左、右声道的低频谱解码数据和边界后处理后的左、右声道的高频谱解码数据组合起来进行频时映射,以获得时域上的立体声解码数据。
本发明通过结合低频波形编码与高频参数编码,并且将低频谱的特定频段映射到高频谱的特定频段,在编码端对频谱映射前后的高频谱进行映射域边界预处理、在解码端对频谱映射后的高频谱进行映射域边界预处理,并对参数解码后的高频谱进行映射域边界后处理,改善了由于高频参数编码中的频带划分、低频谱至高频谱映射带来的问题,提高了频谱的连续性和频带信号的自然度、消除了谐波干涉噪声和因旁瓣泄露引起的混叠噪声,在较低的码率下进一步提高了高频参数编码的编码质量。
附图说明
下面将参照附图对本发明的具体实施方案进行更详细的说明,在附图中:
图1是根据本发明优选实施例的单声道声音编码装置的结构框图。
图2是图1所示重采样模块的结构框图。
图3是图1所示低频波形编码模块的结构框图。
图4是图1所示高频参数编码模块的结构框图。
图5是低频谱至高频谱映射模块的频谱映射示意图,其中图a)是原始信号频谱图,图b)是映射后的信号频谱图。
图6是时频映射后的时频平面图,其中图a)是缓变信号的时频平面图,图b)是快变信号的时频平面图。
图7是映射域边界预处理方法中的处理范围选择示意图,其中a)是频域加窗方法中的处理范围示意,b)是映射域组合处理方法中的处理范围示意。
图8是图1所示高频参数编码模块的增益计算示意图,其中图a)是快变点位置和模式示意图,图b)是区域划分和模式示意图。
图9是根据本发明优选实施例的单声道声音解码装置的结构框图。
图10是图9所示低频波形解码模块的结构框图。
图11是图9所示高频参数解码模块的结构框图。
图12是根据本发明优选实施例的立体声编码装置的结构框图。
图13是根据本发明优选实施例的和差立体声编码模式的模型图。
图14是根据本发明优选实施例的参数立体声编码模式的模型图。
图15是根据本发明优选实施例的本发明参数误差立体声编码模式的模型图。
图16是根据本发明优选实施例的立体声解码装置的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例,并参照附图,对本发明进一步详细说明。
图1是根据本发明优选实施例的单声道声音编码装置的结构框图。
如图1所示,本发明优选实施例的单声道声音编码装置包括:重采样模块101,信号类型判断模块102、时频映射模块103、低频波形编码模块104、低频谱至高频谱映射模块105、映射域边界预处理模块106、高频参数编码模块107,以及比特流复用模块108。
首先,概括介绍图1中各个模块的连接关系和功能,其中:
重采样模块101用于将输入的数字声音信号从原始采样率变换到目标采样率,并将重采样后的信号以帧为单位输出到信号类型判断模块和时频映射模块。应注意,如果所输入的数字声音信号本身就具有目标采样率,则根据本发明原理的编码装置可以不包括该重采样模块,可直接将数字声音信号输入到信号类型判断模块102和时频映射模块103。
信号类型判断模块102用于对重采样后的声音信号逐帧进行信号类型分析,并输出信号类型分析的结果。由于信号本身的复杂性,信号类型采用多种表示,例如若该帧信号是缓变信号,则直接输出表示该帧信号是缓变信号的标识;若是快变信号,则需继续计算快变点发生的位置,并输出表示该帧信号是快变信号的标识和快变点发生的位置。信号类型分析的结果输出到时频映射模块103中进行时频映射的阶数控制。根据本发明原理的编码装置的时频映射可选择时频变换(Transform)或子带滤波(FilterBank),阶数控制指根据信号类型分析结果选择时频变换阶数或子带滤波器阶数。另外,信号类型分析的结果还可输出到比特流复用模块108。应当注意,如果采用闭环搜索的方法确定信号类型分析的结果,则根据本发明的声音编码装置可以不包括该信号类型分析模块。
时频映射模块103用于根据从信号类型判断模块102输出的信号类型分析结果,采用不同阶数变换或子带域滤波,将重采样后的声音信号映射到诸如频域或子带域之类的映射域。这里,映射域在采用变换方式时为频域,在采用滤波器组滤波方式时为子带域,以获取声音信号的频域或子带域信号表示。
具体的时频映射方法如离散傅立叶变换(DFT)、离散余弦变换(DCT)、修正离散余弦变换(MDCT)、修正离散傅立叶变换(MDFT)、余弦调制滤波器组(CMFB)、小波变换(DWT)等。对于快变信号,将帧划分为子帧,并以子帧为单位做时频映射,选择较短阶数的变换或子带域滤波;缓变信号以帧为单位做时频映射,并选择较长阶数的变换或子带域滤波。具体地,将时频映射得到的映射域系数划分为低频谱和高频谱,将低频谱输出到低频波形编码模块104和低频谱至高频谱映射模块105,将高频谱、信号类型和快变点位置信息(如果该帧为快变信号)输出到映射域边界预处理模块106中。
低频波形编码模块104用于从时频映射模块103接收映射域的声音信号的低频部分,对其进行冗余消除处理,并将冗余处理后的低频谱进行量化编码得到低频编码数据,并输出到所述的比特流复用模块108。应注意,如果低频成分的冗余度满足编码要求,则低频波形编码模块104也可以不进行冗余消除处理。
低频谱至高频谱映射模块105用于从时频映射模块103接收映射域的声音信号的低频谱,将低频谱的特定频段映射到高频谱的特定频段,得到频谱映射后的高频谱,并将频谱映射后的高频谱输入映射域边界预处理模块106。映射后的时频平面与原时频平面相同,如图5所示。请注意,可以将经时频映射模块处理但未经低频谱至高频谱映射模块处理的高频谱称为频谱映射前的高频谱,而将经过低频谱至高频谱映射模块处理的高频谱称为频谱映射后的高频谱,以示区别。
映射域边界预处理模块106用于从时频映射模块103接收映射域的高频谱,以及从低频谱至高频谱映射模块105接收低频谱至高频谱映射后的高频谱,对映射域的高频谱及低频谱至高频谱映射后的高频谱进行映射域边界预处理,并将经过映射域边界预处理后的映射域的高频谱及低频谱至高频谱映射后的高频谱输出到高频参数编码模块107。
高频参数编码模块107用于从映射域边界预处理模块106接收映射域边界预处理后的映射域的高频谱以及低频谱至高频谱映射后的高频谱,从中提取所需要的诸如增益参数、调性参数之类的高频参数,并对高频参数进行量化编码并输出到比特流复用模块108。
比特流复用模块108用于将从信号类型判断模块102、低频波形编码模块104和高频参数编码模块107输出的编码数据以及边信息进行复用,形成声音编码码流。
下面,对上述单声道声音编码装置中的重采样模块101、低频波形编码模块104、映射域边界预处理模块106、高频参数编码模块107进行具体详细地说明。
图2是图1所示重采样模块101的结构框图。
如图2所示,重采样模块包括上采样器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和时频映射模块103。
图3是图1所示低频波形编码模块104的结构框图。
如图3所示,低频波形编码模块包括冗余消除模块301和量化编码模块302。时频映射模块103输出的低频成分为信号中比较稳定的部分,但其时间相关性或者频域相关性(即冗余度)较强。由于信号本身的复杂性,固定阶数的时频映射并不能完全达到最优的相关性消除。例如,当信号类型判断模块102判断该帧信号类型为快变信号时,采用较短阶数的时频映射处理快变信号,此时映射域的声音信号的低频部分的时间相关性和频域相关性(即冗余)仍较强;而当信号类型判断模块102判断该帧信号类型为缓变信号时,使用较长阶数的时频映射处理缓变信号,此时映射域的声音信号的低频部分的频域相关性(即冗余)会较强。因此,本发明的声音编码装置所包含的冗余消除模块301是可选择的,其可进一步消除时频映射获取的低频成分中的时间冗余或者频域冗余。
低频冗余处理可以采用许多种方法。例如,采用较短阶数的变换器或者较高阶数的预测器以消除两个子帧之间或者连续两帧之间的映射域的声音信号的低频部分的时间相关性,如离散余弦变换(DCT)、离散傅里叶变换(DFT)、修正离散余弦变换(MDCT)、长时预测器(LTP)等;采用较低阶数的预测器以消除映射域的声音信号的低频部分的频域相关性,如线性预测器(LPC)等。因此,在本发明的声音编码装置中,冗余消除模块301采用多种冗余消除处理方法计算消除冗余的效果,即实际编码增益,然后选择是否采用低频冗余处理和采用低频冗余处理的方法,最后将是否采用冗余消除模块301的标志以及采用哪种方法作为边信息输出到比特流复用模块108中。
量化编码模块302对低频数据进行量化编码并得到编码的低频数据。如可采用类似MPEGAAC中的标量加哈夫曼(Huffman)编码的量化方案,也可以采用矢量量化方案。在定码率编码中,矢量量化器是一个合理的选择方案。编码的低频数据以及低频冗余处理选择的边信息输出到比特流复用模块108中。
映射域边界预处理模块106对映射域的高频谱及低频谱至高频谱映射后的高频谱进行映射域边界预处理,改善频谱边界的性能,提高高频参数编码的质量。由于从低频谱中恢复高频谱的技术改变了原始信号各频带之间的自然位置关系和能量大小,因此会带来一系列问题,影响了高频参数编码的编码质量。例如:高频参数编码中的频带划分,截断了原始信号各频谱线之间的关联,尤其是映射域信号的频率分辨率很高时,各频带之间的过渡带很窄,破坏了频谱的连续性和频带信号的自然度;低频谱至高频谱映射还可能造成在拼接处两个谐波信号的叠加,产生谐波干涉噪声;对于低频谱至高频谱映射后各频率带之间的拼接处,由于原型滤波器性能的不理想会产生旁瓣泄露,因而引入混叠噪声。
映射域边界预处理可以采用许多种方法,比如:对于频带划分带来的频域截断问题,采用频域加窗的方法;对于频谱映射带来的拼接处的谐波干涉噪声,采用谐波干涉消除的方法;对于由于原型滤波器性能不理想导致的旁瓣泄露和混叠噪声,采用映射域组合处理的方法。
图4是图1所示高频参数编码模块107的结构框图。
如图4所示,高频参数编码模块包括调性参数提取器401和增益参数提取器402。
调性参数提取器401接收映射域边界预处理模块106的输出,将映射域的高频谱和低频谱至高频谱映射后的高频谱划分为多个频带。接下来,分别计算映射域的高频谱和低频谱至高频谱映射后的高频谱对应频带的调性,得到在解码装置端用来调整映射后高频谱调性的所需要的调性参数,并将这些参数经过量化编码后输出到比特流复用模块108中,其中,调性参数可以包括调整类型和调整参数。
增益参数提取器402接收映射域边界预处理模块106输出的映射域边界预处理后的原始高频谱及映射域边界预处理后的低频谱至高频谱映射后的高频谱。增益参数提取器402根据信号类型和快变点发生的位置,将映射域边界预处理后的原始高频谱及映射域边界预处理后的低频谱至高频谱映射后的高频谱的时频平面划分多个区域,计算原始高频谱时频平面中每个区域的能量与低频谱至高频谱映射后的高频谱时频平面对应的区域能量的比值作为增益参数,该增益参数经过量化编码后输出到比特流复用模块108中。
下面对根据本发明优选实施例的单声道声音编码方法进行详细描述,该方法包括以下步骤:
步骤11:对输入信号进行重采样处理;
步骤12:对重采样后的声音信号进行信号类型判断,如果是缓变类型信号,则直接输出信号类型,如果是快变类型信号,则继续计算快变点发生的位置,最后输出信号类型和快变点位置;
步骤13:根据信号类型分析结果,采用不同长度阶数的变换或滤波器组,对重采样后的声音信号进行时频映射,得到映射域上的声音信号;
步骤14:将时频映射得到的映射域系数划分为低频谱和高频谱;
步骤15:对低频谱进行低频波形编码得到低频波形编码数据;
步骤16:将低频谱的特定频段映射到高频的特定频段,形成映射的高频谱;
步骤17:对映射域的高频谱及低频谱至高频谱映射后的高频谱进行映射域边界预处理得到边界预处理后的原始高频谱及低频谱至高频谱映射后的高频谱;
步骤18:提取用来从低频谱至高频谱映射后的高频谱来恢复原始高频谱的高频参数,对高频参数进行量化编码得到高频参数编码数据。
步骤19:将编码后的数据以及边信息进行复用,得到声音编码码流。
下面对根据本发明优选实施例的单声道声音编码方法的各步骤进行详细说明:
在步骤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时,则判断该帧信号类型为缓变信号。如果是快变信号,则继续执行步骤11d,否则不执行步骤11d,将缓变的信号类型确定为低频子带域信号类型分析结果。在该方法中的阈值Te可采用一些信号处理中的熟知方法获取,如统计已编码信号能量的平均比值,并乘以某个常数得到Te;
在步骤12-4:对于快变信号,将能量最大的子帧判断为快变点发生的位置。将快变的信号类型和快变点发生的位置确定为低频子带域信号类型分析结果。
如果不需分析信号类型则无需执行步骤12。
在步骤13,根据信号类型分析结果,采用不同长度阶数的变换或滤波器组,对重采样后的声音信号进行时频映射,得到映射域上的声音信号。
对时域信号进行时频映射可以采用各种各样的方法。例如,离散傅立叶变换(DFT)、离散余弦变换(DCT)、修正离散余弦变换(MDCT)、修正离散傅立叶变换(MDFT)、余弦调制滤波器组(CMFB)、小波变换(DWT)等。
优选地,以离散傅立叶变换(DFT)、修正离散余弦变换(MDCT)和修正离散傅立叶变换(MDFT)为例来说明时频映射的过程。
首先,对采用离散傅立叶变换(DFT)进行时频映射的情况进行说明。
根据信号类型分析结果对当前帧进行分帧处理,从当前帧的起始位置选取M+N个样本的时域信号,这里用x(n)表示,其中M为当前帧数据长度,N为下一帧重叠的长度。M和N的长度由当前帧的信号类型确定:当信号类型为缓变信号时,划分为一个帧,M和N选择较长的阶数,在本实施例中假设一帧长度为2048,则此时M=2048,N=256;N可以定为M的1/8;当信号类型为快变信号时,可以根据快变点的位置划分子帧,将子帧的长度作为M,N=M/8,或者将一帧划分为等长的多个子帧,M和N选择较短的阶数,在本实施例中将一帧划分为8个等长子帧,则M=256,N=32。再对M+N个样本的时域信号进行加窗操作,得到加窗后的信号xw(n)=w(n)x(n)。其中w(n)为窗函数,在实现中可以使用各种窗函数,例如可采用余弦窗,即
w ( n ) = cos ( n&pi; 2 N 0 ) , 0 &le; n < N 0 1 , N 0 &le; n &le; M cos ( ( n - M ) &pi; 2 N ) , M < n &le; M + N
其中,N0为当前帧重叠的长度,由上一帧的信号类型确定。然后对经过加窗后的信号进行DFT变换,从而获取M+N个频谱系数, X ( k ) = &Sigma; n = 0 M + N - 1 x w ( n ) e - j ( 2 &pi; / ( M + N ) ) kn , k &Element; [ 0 , M + N - 1 ] .
其次,对采用修正离散余弦变换(MDCT)进行时频映射的情况进行说明。
选取前一帧M个样本和当前帧M个样本的时域信号,再对这两帧共2M个样本的时域信号进行加窗操作,然后对经过加窗后的信号进行MDCT变换,从而获取M个频谱系数。
MDCT分析滤波器的脉冲响应为:
h k ( n ) = w ( n ) 2 M cos [ ( 2 n + M + 1 ) ( 2 k + 1 ) &pi; 4 M ] ,
则MDCT变换为: X ( k ) = &Sigma; n = 0 2 M - 1 x e ( n ) h k ( n ) , 0 &le; k &le; M - 1 , 其中: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为快变信号的时频平面图。
最后,对采用修正离散傅立叶变换(MDFT)进行时频变映射的情况进行说明。
首先选取前一帧M个样本和当前帧M个样本的时域信号,再对这两帧共2M个样本的时域信号进行加窗操作,然后对经过加窗后的信号进行MDFT变换,从而获得M个频谱系数。MDFT变换的计算公式为:
X ( k ) = &Sigma; n = 0 2 M - 1 s ( b ) exp ( j &pi; 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谱系数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)的计算公式为:
X ( k ) = &Sigma; n = 0 2 M s ( n ) cos ( &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
其中,2M为帧长。
类似的,定义MDST变换谱Y(k)的计算公式为
Y ( k ) = &Sigma; n = 0 2 M s ( n ) sin ( &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
以MDCT变换谱X(k)为实部,MDST变换谱Y(k)为虚部,构造MDFT变换谱Z(k)为:
Z(k)=X(k)+jY(k),k=0,1,...,M-1,j为虚数符号。
Z ( k ) = X ( k ) + jY ( k )
= &Sigma; n = 0 2 M - 1 s ( n ) cos ( &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
+ j &Sigma; n = 0 2 M - 1 s ( n ) sin ( &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
= &Sigma; n = 0 2 M - 1 s ( n ) exp ( i &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
其逆变换IMDFT为sr(n)
sr ( n ) = 1 2 M &Sigma; k = 0 2 M - 1 S ( k ) exp ( - i &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
IMDFT与MDFT构成一对变换,此MDFT变换是复数变换,带有相位信息,且满足能量守恒,映射域与时域能量保持一致。可见MDFT变换的实部就是等价于MDCT变换。
在步骤14,将时频映射得到的映射域系数划分为低频谱和高频谱。由于编码声音信号的采样率和编码比特率很多,频带的划分是可调的。典型的,低频谱和高频谱的分界点可在编码带宽的[1/3,1]之间。其中,编码带宽不大于待编码信号的实际带宽,这里,按照奈奎斯特采样定理,信号的实际带宽为其采样频率的一半。例如,在16kbps码率下,编码44.1kHz单声道声音信号时,编码带宽的一个选择是12kHz。
在步骤15,低频波形编码包括低频冗余处理和低频量化编码两个步骤。低频冗余处理可以采用许多种方法。例如,采用较短阶数的变换器或者较高阶数的预测器以消除两个子帧之间或者连续两帧之间的映射域上的声音信号的时间相关性,如离散余弦变换(DCT)、离散傅里叶变换(DFT)、修正离散余弦变换(MDCT)、长时预测器(LTP)等;采用较低阶数的预测器以消除映射域上的声音信号中的频域相关性,如线性预测器(LPC)等。
优选地,以较短阶数的DCT和较低阶数的LPC为例说明低频冗余处理的过程。
首先,对采用较短阶数的DCT进行低频冗余处理的情况进行说明。此时,对快变信号的低频谱按时间顺序进行冗余处理,即对时频平面上频率位置相同的8个谱系数采用8*8的DCT变换进行冗余消除,这里采用DCTII变换基函数。
其次,对采用较低阶数的LPC进行低频冗余处理的情况进行说明。此时,对低频谱进行线性预测编码,即对低频谱进行线性预测分析,求出预测器参数和低频残差谱,并对预测器参数量化。
对低频波形量化编码可采用类似MPEGAAC中的标量加哈夫曼编码的量化方案,也可以采用矢量量化方案。在定码率编码中,矢量量化器是一个合理的选择方案。
在步骤16,将低频谱的特定频段映射到高频的特定频段,形成低频谱至高频谱映射后的高频谱。目前,低频谱至高频谱映射可以采用多种方法实现,例如折叠映射,线性映射,倍频映射等。以线性映射为例,假设原始信号的低频频谱的范围为[0,Fl],高频频谱的范围为[Fl,Fs],其中2×Fl<Fs<3×Fl,如图5中a)所示。在进行线性映射之后,可以得到如图5中b)所示的频谱。
在步骤17,映射域边界预处理可以采用多种方法实现,例如采用频域加窗等方法改善由于频带划分带来的频域截断问题;采用谐波干涉消除等方法改善由于低频谱至高频谱映射带来的拼接处的谐波干涉噪声问题;采用映射域组合处理、谐波提取、MPEG2Layer3蝶形变换混叠消除、反卷积等方法改善由于原型滤波器性能不理想导致的旁瓣泄露和混叠噪声。
优选地,以频域加窗、谐波干涉消除、映射域组合处理为例来说明映射域边界预处理的过程。
首先,对频域加窗的映射域边界预处理的情况进行说明。
在高频参数编码模块107所涉及的高频参数提取中需对原始高频谱和低频谱至高频谱映射后的高频谱进行频带划分,而频带划分会带来频带截断问题。频域加窗的映射域边界预处理方法分别对原始高频谱和低频谱至高频谱映射后的高频谱进行加窗处理,可有效改善频带划分时存在的频带截断带来的问题,获得平滑的频域过渡效果,有利于保持频谱的连续性和频带信号的自然度。以对原始高频谱进行频域加窗的映射域边界预处理方法为例,该方法分为构造加窗频带、加频率窗两个步骤。
步骤17-1a:构造待加窗频带。根据映射域的高频谱系数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)所示。
步骤17-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,其定义如下:
Wbandexp ( l ) = ( 0.5 * &alpha; P 2 - L - 0.5 ) 0.5 , 0 &le; L < P / 2 ( 1 - 0.5 * &alpha; l - P 2 + 0.5 ) 0.5 , P / 2 &le; l < P 1 , P &le; l < L - Q ( 1 - 0.5 * &alpha; L - Q 2 - l - 0.5 ) 0.5 , L - Q &le; l < L - Q / 2 ( 0.5 * &alpha; l - L + Q / 2 + 0.5 ) 0.5 , L - Q / 2 &le; l < L
其中,L为窗长度,P和Q分别为窗起始和截止部分的长度,即与相邻两个频带的交叠区域长度(如图7a)所示),α为形状因子,决定窗函数的性能,α取值范围为(0,1),在本实施例中取值为0.75。
其次,对采用谐波干涉消除的映射域边界预处理的情况进行说明。
在低频谱至高频谱映射模块105所涉及的从低频谱的特定频段映射到高频谱的特定频段时,映射后的高频谱中会出现两个特定频段的拼接,如果拼接处出现两个位置太近的谐波,此时会引起谐波干涉噪声。谐波干涉消除方法用于对低频谱至高频谱映射后的高频谱拼接处的处理,消除由于低频谱至高频谱映射带来的两个谐波位置太近而造成的噪声。该方法分为谐波检测、谐波干涉判定和干涉消除三个步骤。
步骤17-2a:谐波检测。将低频谱和低频谱至高频谱映射后的高频谱组合成一个全频带谱,在该全频谱上基于频谱能量的局部最大值搜索出所有可能的谐波。
步骤17-2b:谐波干涉判定。基于谐波检测的结果,在低频谱至高频谱映射后的高频谱的拼接处进行谐波干涉判定。如果第i个拼接处的左右两个谐波的中心频率的位置Sbandcore(m)与Sbandcore(m+1)间隔小于阈值Δi,则认为存在谐波干涉噪声,转入步骤17-2c进行干涉消除处理,否则不进行处理。
步骤17-2c:干涉消除。将两个谐波中能量较小的谐波乘以一个极小的比例系数,在本实施例中取值为0.005。
最后,对采用映射域组合处理方法的映射域边界预处理的情况进行说明。
在低频谱至高频谱映射模块105中所涉及的从低频谱的特定频段映射到高频谱的特定频段时,映射后的高频谱中会出现两个特定频段的拼接,此时在时频映射方法中采用的原型滤波器性能不理想所带来的旁瓣泄露问题凸显,因而引入混叠噪声。本方法通过对低频谱至高频谱映射后的高频谱的拼接处进行映射域组合处理,减弱由于原型滤波器性能所带来的旁瓣泄露和混叠噪声。该方法分为三个步骤:
步骤17-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)时产生的拼接处,映射域组合处理是对低频谱至高频谱映射后的高频谱的特定频段的起始频率及截止频率附近的频谱进行处理,例如对于特定频段[fl+Δf,fl+2Δf)分别对以fl+Δf、fl+2Δf为中心、宽度为δ的频率范围进行处理。
步骤17-3b:对特定频段的起始频率(fl+Δf)附近进行组合处理的计算公式为:
S , ( f 1 + &Delta;f + k )
= &Sigma; j = - 3 &delta; / 2 3 &delta; / 2 S - 1 ( f 1 + &Delta;f + j ) * Fx - 1 ( j , k )
+ &Sigma; j = - 3 &delta; / 2 3 &delta; / 2 S 0 ( f 1 + &Delta;f + j ) * Fx 0 ( j , k )
+ &Sigma; j = - 3 &delta; / 2 3 &delta; / 2 S + 1 ( f 1 + &Delta;f + j ) * Fx + 1 ( j , k ) , k = - &delta; 2 . . . &delta; 2
对特定频段的截止频率(fl+2Δf)附近进行组合处理的计算公式为:
S , ( f 1 + 2 &Delta;f + k )
= &Sigma; j = - 3 &delta; / 2 3 &delta; / 2 S - 1 ( f 1 + 2 &Delta;f + j ) * Fy - 1 ( j , k )
+ &Sigma; j = - 3 &delta; / 2 3 &delta; / 2 S 0 ( f 1 + 2 &Delta;f + j ) * Fy 0 ( j , k )
+ &Sigma; j = - 3 &delta; / 2 3 &delta; / 2 S + 1 ( f 1 + 2 &Delta;f + j ) * Fy + 1 ( j , k ) , k = - &delta; 2 . . . &delta; 2
其中S-1(k)、S0(k)、S+1(k)分别为前一帧、当前帧和后一帧这三帧的特定频段的频谱系数,Fx-1(j,k)、Fx0(j,k)、Fx+1(j,k)为起始频率位置处的组合参数,分别对应前一帧、当前帧和后一帧频谱系数对当前帧映射域组合处理的贡献,Fy-1(j,k)、Fy0(j,k)、Fy+1(j,k)为截止频率位置处的组合参数,分别对应前一帧、当前帧和后一帧频谱系数对当前帧映射域组合处理的贡献。
步骤17-3c:对步骤17-3b处理后的频谱系数S’(k)进行叠接相加,得到映射域组合处理后的低频谱至高频谱映射后的高频谱。其中,相邻特定频段进行叠接相加的宽度为δ。
组合参数Fx-1(j,k)、Fx0(j,k)、Fx+1(j,k)、Fy-1(j,k)、Fy0(j,k)、Fy+1(j,k)一旦确定后,不需要每帧都计算。下面以时频映射方法采用MDFT变换为例来说明组合参数的计算方法。若前一帧、当前帧和后一帧这三帧信号都是缓变信号时,组合参数Fy-1(j,k)、Fy0(j,k)、Fy+1(j,k)的计算可分为如下步骤:
17-3-1:构造全频带的MDFT域系数S(k):
S ( k ) = 0 , k &NotEqual; f 1 + j 0 1 , k = f 1 + j 0
j0是截止频率fl附近的偏移值;
17-3-2:对MDFT域系数S(k)进行逆MDFT变换,得到当前帧的时域信号sr(n),0≤n<2M;
17-3-3:由sr(n)构造sr′(n):
sr &prime; ( n ) = 0,0 &le; n < 2 M sr ( n - 2 M ) , 2 M &le; n < 4 M 0,4 M &le; n < 6 M
17-3-4:对sr′(n)进行以fl为截止频率的低通滤波得到低通滤波后信号srl(n),低通滤波器可以伪正交镜像滤波器(PQMF,pseudoquadraturemirrorfilter)为原型来构造;
17-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
17-3-6:由Sy-1(k)、Sy+1(k)、Sy0(k)Sy-计算得到映射域组合参数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)
k取值范围为
17-3-7:改变j0的取值,转入17-3-1,直到计算得到所有j0范围内所对应的Fy-1(j0,k)、Fy0(j0,k)、Fy+1(j0,k)参数。
应当注意的是,本实施例中的映射域组合处理方法同样适用于在低频谱的特定频段[fc,fl)的起始及截至频率处进行处理,再将处理后的低频谱映射到高频谱的特定频段。
在步骤18,高频参数编码是一种根据映射域边界预处理后的低频谱至高频谱映射后的高频谱提取用来恢复高频谱的高频参数的方法。本发明中对高频参数编码方法包含以下步骤:
步骤18-1、将低频谱至高频谱映射后的高频时频平面和原始高频时频平面根据信号类型和快变点发生的位置划分多个区域,然后分别计算原始高频每个区域的能量和低频谱至高频谱映射后高频对应区域的能量并计算该区域的能量增益,然后将增益量化,最后将量化后的增益作为边信息输出到比特流复用模块108。
步骤18-1中所述划分的区域类似于MPEGAAC中的尺度因子带(ScaleFactorBand),某个区域的能量是由计算该区域的谱线的能量之和得到。由于低频谱至高频谱映射后的高频谱是由低频谱映射得到的,所以其结构也和低频谱一致,如图8所示。当低频为缓变帧时,高频谱可以沿频率方向做区域划分;当低频为快变帧时,为了抑制前回声(pre-echo)和后回声(post-echo)的影响,需要有较高的时间分辨率,这时沿时间方向可以根据快变点的位置做不同的区域划分。如果快变点发生位置如图8中a)所示,则对应的区域划分如图8中b)所示。例如,在编码低频时,通过信号类型判断模块判断出快变点发生位置在第三个窗,则利用图8中a)需要选择模式3,然后按照图8中b)所示模式3对应的区域划分为(3,1,3,1)。为了减少传输边信息所用的比特数,在快变帧时可以将频率的分辨率降低。特别注意的是原始高频谱和低频谱至高频谱映射的高频的区域划分应该一致。这样,某个区域的增益就是该区域计算出的原始高频谱的能量和低频谱至高频谱映射的高频谱的能量之比。最后将所有区域的增益进行量化并输出到比特流复用模块108。
步骤18-2、分别计算每个原始高频频带的调性和对应的低频谱至高频谱映射的高频频带的调性,得到调整特定频带调性的边信息,包括调整类型和调整参数,并将此边信息输出到比特流复用模块108。可以采用多种方法来计算调性。比如,在时域通过线性预测的方法、谱平坦度的方法和MPEG中心理声学模型2利用不可预测度得到调性的方法。
下面以MPEG中心理声学模型2为例说明音调性的计算方法:模型2的音调性是根据信号频谱的幅值和相位,计算谱线的“不可预测测度”获取的;并且,将信号频谱分成频段,每个频段至少有一个谱线。
设当前帧信号的幅数谱为:
X[k]=r[k]ejφ[k],k=1,...,K
其中r[k]为幅值,φ[k]为相位。
计算每个频段的能量,
e [ b ] = &Sigma; k = k l k h r 2 [ 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]定义为:
c [ k ] = disk ( X [ k ] , X pred [ k ] ) r [ k ] + | r pred [ k ] | = | re j&phi; [ k ] - r pred e j &phi; pred [ k ] | r [ k ] + | r pred [ k ] |
则频段的不可预测度为该频段的谱线能量乘以不可预测测度的总和。即,
c [ b ] = &Sigma; k = k l k h c [ k ] r 2 [ k ]
定义归一化分区不可预测度为:
c s [ b ] = c [ b ] e [ b ]
由归一化不可预测度计算分区音调性有:
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大约相等时,调整类型为不调整,将调整类型编码并输出到比特流复用模块108;
情况2,当映射频段的调性Test小于原始高频特定频段的调性Tref时,则调整类型为加弦处理。具体需要加弦的能量ΔET计算如下:
T ref = E est &CenterDot; T est 1 + T est + &Delta;E T E est &CenterDot; 1 1 + T est = E est &CenterDot; T est + &Delta;E T &CenterDot; ( 1 + T est ) E est
整理后得到:作为调整参数进行量化编码,并同调整类型的编码一起输出到比特流复用模块108;
情况3,当映射频段的调性Test大于原始高频特定频段的调性Tref时,则调整类型为加噪处理。具体需要加噪的能量ΔEN计算如下:
1 T ref = E est &CenterDot; 1 1 + T est + &Delta;E N E est &CenterDot; T est 1 + T est = E est + &Delta;E N &CenterDot; ( 1 + T est ) E est &CenterDot; T est
整理后得到:作为调整参数进行量化编码,并同调整类型编码一起输出到比特流复用模块108。
以下介绍本发明优选实施例的单声道声音解码装置及方法,由于解码过程是编码过程的逆过程,所以仅简单介绍解码过程。
图9是根据本发明优选实施例的单声道声音解码装置的结构框图。
如图9所示,根据本发明的优选实施例的单声道声音解码装置包括:比特流解复用模块901、低频波形解码模块902、低频谱至高频谱映射模块903、映射域边界预处理模块904、高频参数解码模块905、映射域边界后处理模块906、频时映射模块907和重采样模块908。
下面,概括介绍图9所示各模块之间的连接关系和及其各自的功能。
比特流解复用模块901,用于对接收的声音编码码流进行解复用,得到相应数据帧的编码数据和边信息,向低频波形解码模块902输出相应的编码数据和边信息,向高频参数解码模块904和频时映射模块906输出相应的边信息;
低频波形解码模块902用于对该帧低频波形编码数据解码,并根据冗余处理边信息对解码数据进行冗余逆处理,获取低频谱解码数据;
低频谱至高频谱映射模块903用于从该帧解码后的低频谱中映射部分谱数据到高频部分,得到低频谱至高频谱映射后的高频谱;
映射域边界预处理模块904用于接收低频谱至高频谱映射模块903的输出,对低频谱至高频谱映射后的高频谱进行边界预处理,并将经过映射域边界预处理后的低频谱至高频谱映射后的高频谱数据输出到高频参数解码模块905。
高频参数解码模块905用于从映射域边界预处理模块904中接收预处理后的低频谱至高频谱映射后的高频谱,按照比特流解复用模块901输出的高频参数编码数据(包括增益调整和音调性调整边信息)调整其增益和音调性得到高频谱解码数据;
映射域边界后处理模块906用于接收高频参数解码模块905的输出,对高频谱解码数据进行边界后处理,并将经过映射域边界后处理的高频谱数据输出到频时映射模块907。
频时映射模块907用于将低频谱和高频谱组合在一起进行频时映射。频时映射根据信号类型边信息采用不同阶数的变换或子带滤波,获取该帧的时域信号。频时映射的方法是编码端时频映射模块中时频映射的逆过程。包括逆离散傅立叶变换(IDFT)、逆离散余弦变换(IDCT)、逆修正离散余弦变换(IMDCT)、逆修正离散傅立叶变换(IMDFT)、逆余弦调制滤波器组、逆小波变换等。
重采样模块908用于将频时映射模块907输出的该帧时域信号的采样频率变换到适合声音回放的采样频率,应注意,如果频时映射模块907输出的信号的采样频率适于声音回放,则本发明的声音解码装置中可以不包括该模块。
下面,对单声道声音解码装置的低频波形解码模块902和高频参数解码模块905进行具体详细地说明。
图10是图9所示低频波形解码模块的结构框图。
如图10所示,低频波形解码模块902包括逆量化模块1001和冗余逆处理模块1002。首先,逆量化模块1001将从比特流解复用模块901得到的低频编码数据进行逆量化解码,得到逆量化后的低频谱,逆量化解码的方法是编码端低频波形编码模块中采用量化编码的逆过程。然后冗余逆处理模块1002首先根据是否进行低频冗余逆处理的标志边信息作判断,如果标志为不作逆处理,逆量化后的低频谱不变化;否则,对逆量化后的低频谱作低频冗余逆处理。
图11是图9所示高频参数解码模块的结构框图。
如图11所示,高频参数解码模块905包括调性调整器1101和增益调整器1102。
调性调整器1101将低频谱至高频谱映射后的高频谱划分为多个频带,划分方法与编码端高频参数编码器中调性参数提取器401划分方法相同,然后根据调性调整类型边信息作判断,如果调整类型为不调整,则映射后的频谱不作处理;如果调整类型为加噪,则解量化调整参数边信息,根据解量化的结果计算得出加噪的能量,并在映射后的频谱中对应频带加入相应能量的噪声;如果调整类型为加弦,则解量化调整参数边信息,根据解量化的结果计算得出加弦的能量,并在映射后频谱的本频带中的中央加入相应能量的弦。加弦时,前后帧加弦的相位要保持连续。增益调整器1102根据快变点位置边信息将时频平面划分多个区域,划分的方法与高频参数编码模块中增益参数提取器402的区域划分方法相同。然后由增益调整参数边信息得到每个区域增益调整的目标能量,最后将每个区域的能量进行调整使其与该区域目标能量相同。
下面对根据本发明优选实施例的单声道声音解码方法进行详细描述,该方法包括以下步骤:
步骤21、将声音编码码流进行解复用,得到低频编码数据、高频参数编码数据以及解码所用的所有边信息。
步骤22、根据低频编码数据以及边信息对低频编码数据进行逆量化和解码,然后进行低频冗余逆处理得到解码后的低频谱;
步骤23、将逆量化后低频谱的特定频带映射到高频的特定频带;
步骤24、对低频谱至高频谱映射后的高频谱进行映射域边界预处理,得到映射域边界预处理后的低频谱至高频谱映射后的高频谱;
步骤25、根据映射域边界预处理后的低频谱至高频谱映射后的高频谱,对高频参数进行参数解码,得到解码后的高频谱;
步骤26、对解码后的高频谱进行映射域边界后处理,得到解码后的边界后处理的高频谱;
步骤27、对解码后的低频谱和高频谱组合在一起进行频时映射,得到解码后的时域信号;
步骤28、对解码后的时域信号进行重采样操作,将解码后的时域信号的采样率变换到适合声音回放的采样频率。
下面对根据本发明优选实施例的单声道声音解码方法的各步骤进行详细说明:
在步骤22,低频信号解码包括低频逆量化和低频冗余逆处理两个步骤。首先对低频编码数据进行逆量化和解码,得到逆量化后的低频谱。然后根据边信息判断该帧数据在编码端是否进行了低频冗余处理,如果是则需要将逆量化后的低频谱进行低频冗余逆处理,否则逆量化后的低频谱不做变化。
低频逆量化和低频冗余逆处理方法分别对应于低频信号编码方法。如果在低频信号编码部分的具体实施方案是采用的矢量量化的方法,则对应的低频逆量化需要从码流中得到矢量码字索引,根据码字索引在固定码书中找到对应的矢量。将矢量按顺序组合成逆量化后的低频谱。根据边信息判断出编码端是否进行了低频冗余处理。如果否,则逆量化后的低频谱不做低频冗余逆处理;如果是,则根据边信息判断出编码端采用哪种低频冗余处理方法,如果编码端采用DCT方法,则解码端采用8*8的IDCT对低频进行冗余逆处理;如果编码端采用LPC方法,则解码端对LPC模型参数进行逆量化,得到逆量化后的线性预测器参数,对低频残差谱进行逆滤波处理。
在步骤23,低频谱至高频谱映射目前有多种方法实现,例如折叠映射,线性映射,倍频映射等。下面以线性映射为例说明低频谱至高频谱映射的方法。假设原始信号的低频谱的范围为[0,Fl],高频谱的范围为[Fl,Fs],其中2×Fl<Fs<3×Fl,如图5中a)所示。则通过线性映射得到的频谱如图5中b)所示。
在步骤24,映射域边界预处理目前有多种方法实现,例如采用频域加窗等方法改善由于频带划分带来的频域截断问题;采用谐波干涉消除等方法改善由于低频谱至高频谱映射带来的拼接处的谐波干涉噪声问题;采用映射域组合处理、谐波提取、MPEG2Layer3蝶形变换混叠消除、反卷积等方法改善由于原型滤波器性能不理想导致的旁瓣泄露和混叠噪声。本步骤中的映射域边界预处理方法已在本发明单声道编码装置的编码方法的实施例中介绍过,在本发明单声道解码装置的解码方法的实施例中采用相同的方法,因此不做介绍。
在步骤25,高频参数解码方法可以包含以下步骤:
步骤25-1、求低频谱至高频谱映射后的时频平面的各区域的能量,区域的划分同编码器一致。
步骤25-2、从比特流解复用模块得到调性调整类型,如果调整类型为不调整,则执行步骤25-4,否则进行步骤25-3。
步骤25-3、从比特流解复用模块得到调性调整参数并解量化,然后根据解量化后的调性调整参数对映射后的频谱进行调性调整。
步骤25-4、从比特流解复用模块得到的时频平面各区域量化后的增益,解量化后并对步骤25-1或步骤25-3输出的高频谱的各区域增益进行调整,使得调整后的各区域的能量与目标能量相同,形成信号的高频谱。
步骤25-2中在得到高频各区域的调整类型和解量化后的调整参数后,对映射频谱的调性做调整。设映射频带的能量为Eest,解量化后的调整参数为则调整可以分以下两种情况处理:
情况1、当调整类型为加弦处理时,加弦的位置为该频带的正中,加弦的能量为并使前后帧加弦的相位保持连续;
情况2,当调整类型为加噪处理时,加噪的能量噪声的相位为随机数。
在步骤26,映射域边界后处理与步骤24中的映射域边界预处理相对应。其中,采用频域加窗、反卷积、MPEG2Layer3蝶形变换混叠消除、谐波提取等方法时需要进行与步骤24中的映射域边界预处理相对应的后处理,而采用谐波干涉消除、映射域组合处理等方法时不需要进行与步骤24中的映射域边界预处理相对应的后处理。
对应于本发明专利中编码部分映射域边界后处理的具体实施方法,以频域加窗为例来说明映射域边界后处理的过程。
频域加窗的映射域边界后处理分为加频率窗、频域加窗重构两个步骤。
步骤26-1a:加频率窗。对S′m(l)进行加窗处理,得到加窗的高频谱系数Sm(l)。
Sm(l)=S′m(l)*w(l),l=0..2M
步骤26-1b:频域加窗重构。将相邻的Sm(l)进行叠接相加,重构出映射域边界后处理后的高频谱系数S(k)。
在步骤27,频时映射与编码端的时频映射相对应。可以采用逆离散傅立叶变换(IDFT)、逆离散余弦变换(IDCT)、逆修正离散余弦变换(IMDCT)、逆修正离散傅立叶变换(IMDFT)、逆余弦调制滤波器组、逆小波变换等。
对应于本发明专利中编码部分时频映射的具体实施方法,以逆离散傅立叶变换(IDFT)、逆修正离散余弦变换(IMDCT)和逆修正离散傅立叶变换(IMDFT)为例说明频时映射的过程。
对于逆离散傅立叶变换(IDFT),频率-时间映射过程包括三个步骤:IDFT变换、时域加窗处理和时域叠加运算。
首先对解矢量量化后得到的DFT频谱进行IDFT变换,得到变换后的时域信号xi,n。IDFT变换的表达式为:
x i , n = 1 N + M &Sigma; k = 0 N + M - 1 X ( k ) e j ( 2 &pi; / ( M + N ) ) kn ,
其中,M表示当前帧样本数,N表示下一帧叠加样本数,M和N的长度由当前帧的信号类型确定,同编码器时频映射器中的取值保持一致;n表示样本序号,且0≤n<N+M,i表示帧序号;k表示谱序号。
其次,对IDFT变换后的时域信号进行加窗处理,加窗后的数据,后N点保留,为下一帧叠加数据。加窗函数与编码端相对应。例如余弦窗:
w ( n ) = cos ( n&pi; 2 N 0 ) , 0 &le; n < N 0 1 , N 0 &le; n &le; M cos ( ( n - M ) &pi; 2 N ) , M < n &le; M + N
其中,N0为当前帧叠加的长度。由上一帧的信号类型确定。最后对于上面加窗的时域信号的前M点进行叠加计算。计算方法为将前一帧保存最后N0点时域数据与当前帧前N0点的时域数据叠加,其余M-N0点数据不变,所得数据即为频时变换后当前帧的时域信号。
对于逆修正离散余弦变换(IMDCT),频率-时间映射过程包括三个步骤:IMDCT变换、时域加窗处理和时域叠加运算。
首先对逆量化谱进行IMDCT变换,得到变换后的时域信号xi,n。IMDCT变换的表达式为:
x i , n = 2 N &Sigma; k = 0 N 2 - 1 spec [ i ] [ k ] cos ( 2 &pi; N ( n + n 0 ) ( k + 1 2 ) ) ,
其中,n表示样本序号,且0≤n<N,N表示时域样本数,取值为2048,n0=(N/2+1)/2;i表示帧序号;k表示谱序号。
其次,对IMDCT变换获取的时域信号在时域进行加窗处理。为满足完全重构条件,窗函数w(n)必须满足以下两个条件:w(2M-1-n)=w(n)且w2(n)+w2(n+M)=1
典型的窗函数有Sine窗、KBD窗等。另外可以利用双正交变换,采用特定的分析滤波器和合成滤波器修改上述对窗函数的限制。
最后,对上述加窗时域信号进行叠加处理,得到时域音频信号。具体是:将加窗操作后获取的信号的前N/2个样本和前一帧信号的后N/2个样本重叠相加,获取N/2个输出的时域音频样本,即timeSami,n=preSami,n+preSami-1,n+N/2,其中i表示帧序号,n表示样本序号,有
对于逆修正离散傅里叶变换(IMDFT),频率-时间映射过程包括三个步骤:IMDFT变换、时域加窗处理和时域叠加运算。
首先对逆量化谱进行IMDFT变换,得到变换后的时域信号sr(n)。IMDFT变换的表达式为:
sr ( n ) = 1 2 M &Sigma; k = 0 2 M - 1 S ( k ) exp ( - i &pi; 4 M * ( 2 n + 1 + 2 M 2 ) * ( 2 k + 1 ) )
在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。
在步骤28,重采样的实施方法与编码装置端相同。应注意,如果频时映射后的时域信号的采样频率适于声音回放,则可以不包括重采样操作。
以下介绍本发明优选实施例的立体声编码装置及方法。
图12是根据本发明优选实施例的立体声编码装置的结构框图。
如图所示,立体声编码装置包括:重采样模块1201,和信号类型判断模块1202、时频映射模块1203、低频立体声编码模块1204、低频谱至高频谱映射模块1205、映射域边界预处理模块1206、高频参数编码模块1207、以及比特流复用模块1208。
首先,概括介绍图12中各个模块的连接关系和功能,其中:
重采样模块1201,用于将输入的两个声道中的数字声音信号从原始采样率变换到目标采样率,并将两个声道中的重采样后的信号以帧为单位输出到和信号类型判断模块1202和时频映射模块1203,应注意,如果所输入的两个声道中的数字声音信号本身就具有目标采样率,则根据本发明原理的编码装置可以不包括该模块,可直接将两个声道中的数字声音信号输入到和信号类型判断模块1202和时频映射模块1203。
和信号类型判断模块1202,用于由重采样后的立体声信号中的左、右声道(L,R)计算出和信号,对该和信号进行信号类型分析,判断该帧和信号的类型是缓变信号还是快变信号,若是缓变信号,则直接输出信号类型,例如,输出表示该帧和信号的类型为缓变的标识;若是快变信号,则继续计算快变点发生的位置,并输出相应的信号类型和快变点发生的位置,信号类型分析的结果输出到时频映射模块1203中进行时频映射的阶数控制,根据本发明原理的编码装置的时频映射可选择时频变换(Transform)或子带滤波(FilterBank),信号类型分析的结果还可输出到比特流复用模块1208,应注意,根据本发明原理的编码装置可以不包括该模块;
时频映射模块1203用于根据从和信号类型判断模块1202输出的和信号类型分析结果,采用不同阶数的变换或子带域滤波,分别将两个声道中的数字声音信号映射到诸如频域或子带域之类的映射域,这里,当采用变换方式时为频域,采用滤波器组滤波方式时为子带域,获得两个声道中的声音信号的频域或子带域信号表示,并将两个声道中的映射域上的声音信号输出到低频立体声编码模块1204、低频谱至高频谱映射模块1205、映射域边界预处理模块1206。如果根据本发明原理的立体声编码装置不包括和信号类型判断模块1202,则在时频映射时不对阶数进行控制。
具体的映射方法如离散傅立叶变换(DFT)、离散余弦变换(DCT)、修正离散余弦变换(MDCT)、余弦调制滤波器组(CMFB)、小波变换(DWT)等。对于快变信号,将帧划分为子帧,并以子帧为单位做时频映射,选择较短阶数的变换或子带域滤波;缓变信号以帧为单位做时频映射,并选择较长阶数的变换或子带域滤波。分别将时频映射得到的两个声道中的映射域系数划分为低频谱和高频谱,所述两个声道中的低频谱输出到低频立体声编码模块1204和低频谱至高频谱映射模块1205,所述两个声道中的高频谱、和信号类型和快变点的位置信息输出到映射域边界预处理模块1206。
低频立体声编码模块1204,用于从时频映射模块1203接收所述两个声道中的低频谱,并将低频谱划分为若干个子频带,分别对每个子频带采用立体声编码模式进行立体声编码,得到低频立体声编码数据,并输出到比特流复用模块1208。其中,立体声编码模式包含和差立体声编码模式、参数立体声编码模式和参数误差立体声编码模式。在进行立体声编码时,每个子频带选择上述三种编码模式中的一种进行立体声编码。其中,编码模式选择信息同时作为边信息输出到比特流复用模块1208中。
低频谱至高频谱映射模块1205,用于从时频映射模块1203接收所述两个声道中的低频谱,将所述两个声道的低频谱的特定频段映射到所述两个声道的高频谱的特定频段,得到所述两个声道的映射后的高频谱,并将所述两个声道的映射后的高频谱输入映射域边界预处理模块1206。映射后的时频平面与原时频平面相同。
映射域边界预处理模块1206,用于从时频映射模块1203接收所述两个声道的高频谱及从低频谱至高频谱映射模块1205接收所述两个声道的低频谱至高频谱映射后的高频谱,对两个声道中的高频谱和所述两个声道的低频谱至高频谱映射后的高频谱进行边界预处理,并将经过映射域边界预处理后的两个声道的高频谱和两个声道的低频谱至高频谱映射后的高频谱输出到高频参数编码模块1207。
高频参数编码模块1207,用于从映射域边界预处理模块1206接收经过边界预处理后的两个声道的高频谱和两个声道的低频谱至高频谱映射后的高频谱,根据两个声道的高频谱和两个声道的低频谱至高频谱映射后的高频谱提取两个声道的高频参数,然后该高频参数编码模块1207对提取的两个声道的高频参数进行量化编码后,得到两个声道的高频参数编码数据,并输出到比特流复用模块1208。
比特流复用模块1208,用于将从和信号类型判断模块1202、低频立体声编码模块1204和高频参数编码模块1207接收到的声音编码数据以及边信息进行复用,形成立体声的声音编码码流。
本实施例中,时频映射模块1203、低频谱至高频谱映射模块1205、映射域边界预处理模块1206、高频参数编码模块1207需要对立体声的左、右声道分别进行处理,其处理方法与单声道声音编码装置中的同名模块处理方法相同。因此,上述两个模块中的每个模块都通过将两个单声道声音编码装置中的同名模块组合,从而实现对立体声的处理。
可见,与本发明优选实施例的单声道声音编码装置不同之处在于,单声道声音编码装置生成声音编码码流的声音编码数据时,采用的是低频波形编码模块104;而立体声编码装置在生成声音编码码流的声音编码数据时,采用的是低频立体声编码模块1204。该模块也是对低频立体声编码数据的各子带进行划分子频带和立体声编码。
下面对根据本发明优选实施例的立体声编码方法进行详细描述,该方法包括以下步骤:
步骤31:分别对输入的两个声道中的数字声音信号进行重采样处理;
步骤32:由两个声道中的重采样后的声音信号计算出和信号,对该和信号进行信号类型分析,如果是缓变类型信号,则直接将信号类型确定为和信号类型分析结果;如果是快变类型信号,则继续计算快变点发生的位置,最后将信号类型和快变点位置确定为和信号类型分析结果。
步骤33:根据和信号类型分析结果,采用不同阶数分别对所述两个声道中的重采样后的声音信号进行时频映射,得到所述两个声道中的映射域上的声音信号。
步骤34:分别将时频映射得到的两个声道中的映射域系数划分为低频谱和高频谱。
步骤35:分别将两个声道中的低频谱划分为若干个子频带,对每个子频带进行立体声编码,得到低频立体声编码数据。
步骤36:分别将两个声道中的低频谱的特定频段映射到两个声道中的高频的特定频段,形成两个声道中的映射的高频谱。
步骤37:分别对两个声道的高频谱及两个声道的低频谱至高频谱映射后的高频谱进行映射域边界预处理得到两个声道的边界预处理后的高频谱及两个声道的低频谱至高频谱映射后的高频谱。
步骤38:根据映射域边界预处理后的两个声道的高频谱及两个声道的低频谱至高频谱映射后的高频谱,提取用来从所述两个声道中的低频谱恢复所述两个声道中的高频谱的高频参数,对所述两个声道的高频参数进行量化编码,获得所述两个声道的高频参数编码数据。
步骤39:对上述低频立体声编码数据、所述两个声道的高频参数编码数据以及边信息进行复用,得到立体声的声音编码码流。
其中,步骤31中的重采样方法、步骤32中的信号类型判断方法、步骤33中的时频映射方法、步骤36中的低频谱至高频谱映射方法、步骤37中的映射域边界预处理方法和步骤38中的高频参数编码方法都已在本发明单声道编码装置的编码方法的实施例中介绍过,在本发明立体声编码装置的编码方法的实施例中采用相同的方法,因此不做介绍。
其中,步骤35的低频立体声编码的过程为,首先将所述两个声道中的低频谱分别划分为若干个子频带,然后对每个子频带从三种编码模式即和差立体声编码模式、参数立体声编码模式和参数误差立体声编码模式中选择一种,对该子频带内的两个声道中的频谱进行编码。在划分时,分别对两个声道的低频谱的各子带进行划分。下面首先给出两种编码模式选择的实施方法:
编码模式选择实施方法1:分别用三种编码模式以相同的比特数对所述两个声道中的低频谱进行编码和解码,计算解码恢复的两个声道中的低频谱与编码前低频谱的误差,并选择误差最小的编码模式作为立体声编码的编码模式。将编码模式选择信息作为边信息输出到比特流复用模块1208中;
编码模式选择实施方法2:对于低频谱内频率低于一确定值的较低频率子频带,例如1kHz以下的子频带,分别采用和差立体声编码模式和参数立体声编码模式进行编码和解码,计算恢复的两个声道中的低频谱与编码前低频谱的误差,并选择误差较小的编码模式,将编码模式选择信息作为边信息输出到比特流复用模块1208中,对于频率高于上述确定值的较高频率子频带,如1kHz以上的子频带,采用参数立体声编码模式。此时,参数立体声编码模式的选择信息可以输出或者不输出至比特流复用模块1208。
当然,在实际应用中也可以采用固定的立体声编码模式,在这种情况下,不需要将编码模式选择信息作为边信息输出到比特流复用模块1208中。
下面分别对三种立体声编码模式的实施方法进行详细说明。
图13是根据本发明优选实施例的和差立体声编码模式的模型图。
和差立体声编码模式是根据所述两个声道中的子频带内的低频谱,计算出该子频带内的一个和频谱和一个差频谱。具体实施方法如下:
由左、右声道的拼谱计算相应的和频谱和差频谱并将进行波形量化编码后,将得到的作为低频立体声编码数据输出到比特流复用模块1208。的计算式为:
M &RightArrow; = ( L &RightArrow; + R &RightArrow; ) / 2
S &RightArrow; = ( L &RightArrow; - R &RightArrow; ) / 2
其中,对进行波形量化编码可以采用单声道声音编码装置的低频波形编码模块104对低频谱进行量化编码的方法。
图14是根据本发明优选实施例的参数立体声编码模式的模型图。
参数立体声编码模式是根据所述两个声道中的子频带k内的低频谱,计算出该子频带k内的一个单声道的频谱,同时计算用于通过该子频带单声道频谱来恢复所述两个声道中的该子频带k内的低频谱的参数。下面列举两种参数立体声编码的具体实施方法。
参数立体声编码具体实施方法1包含以下步骤:
步骤35-1a:在子频带k内,对于某个声道,如右声道计算该声道的加权参数gr(k),并得到缩放后的该声道的频谱使得缩放后的的能量相等;gr(k)的计算方法可以采用以下公式:
g r ( k ) = E R ( k ) E L ( k )
其中,ER(k)和EL(k)分别为子频带k内右声道、左声道的能量。
步骤35-1b:对于子频带k内的每个频率点i,计算该频率点的加权和频谱和加权差频谱由于经缩放后,子频带k内各个频率点的左右声道的能量比统计上近似相同,所以由能量近似相等,因此加权和频谱和加权差频谱近似垂直。计算公式如下:
M &RightArrow; &prime; = ( L &RightArrow; + R &RightArrow; &prime; ) / 2 = [ L &RightArrow; + 1 g r ( k ) R &RightArrow; ] / 2
S &RightArrow; &prime; = ( L &RightArrow; - R &RightArrow; &prime; ) / 2
步骤35-1c:产生与加权和频谱等幅垂直的正交频谱根据正交频谱和加权差频谱计算正交频谱的加权参数gd(k),使得采用gd(k)缩放后的正交频谱的能量相等。gd(k)的计算方法可以采用以下公式:
g d ( k ) = E S ( k ) E D ( k )
其中,ES(k)和ED(k)分别为子频带k内加权差频谱与正交频谱的能量。
步骤35-1d:上述加权和频谱和gr(k)和gd(k)分别经量化编码后输出到比特流复用模块1208。其中,量化编码后的为低频立体声编码数据,量化编码后的gr(k)和gd(k)为边信息。
相对于具体实施方法1,参数立体声编码具体实施方法2中的参数gr(k)、gd(k)和加权和频谱是根据误差最小原则求出的,包含以下步骤:
步骤35-2a:对于子频带k,根据下面公式,计算第一个参数gd(k):
g d ( k ) = - b ( k ) + b 2 ( k ) + a 2 ( k ) a ( k )
其中,
a ( k ) = &Sigma; i &Element; band ( k ) ( x r [ i , k ] y l [ i , k ] - x l [ i , k ] y r [ i , k ] ) ,
b ( k ) = &Sigma; i &Element; band ( k ) ( x l [ i , k ] x r [ i , k ] + y l [ i , k ] y r [ i , k ] )
其中,xl和yl分别为左声道低频谱的实部和虚部,xr和yr分别为右声道低频谱的实部和虚部;
步骤35-2b:对于子频带k,根据下面公式,计算第二个参数gr(k):
g r ( k ) = - ( c ( k ) - d ( k ) ) + ( c ( k ) - d ( k ) ) 2 + g ( k ) m 2 ( k ) g ( k ) m 2 ( k )
其中,
c ( k ) = &Sigma; i &Element; band ( k ) ( x l [ i , k ] x l [ i , k ] + y l [ i , k ] y l [ i , k ] ) ;
d ( k ) = &Sigma; i &Element; band ( k ) ( x r [ i , k ] x r [ i , k ] + y r [ i , k ] y r [ i , k ] ) ;
m ( k ) = 2 b ( k ) ( 1 - g d 2 ( k ) ) + 2 a ( k ) g d ( k ) 1 + g d 2 ( k )
步骤35-2c:对于子频带k内的每个频率点i,根据下面公式计算出加权和频谱
x m [ i , k ] = x l [ i , k ] + g d ( k ) y l [ i , k ] + g ( k ) g r ( k ) ( x r [ i , k ] - g d ( k ) y r [ i , k ] ) ( 1 + g d 2 ( k ) ) ( 1 + g ( k ) g r 2 ( k ) )
y m [ i , k ] = - g d ( k ) x l [ i , k ] + y l [ i , k ] + g ( k ) g r ( k ) ( g d ( k ) x r [ i , k ] + y r [ i , k ] ) ( 1 + g d 2 ( k ) ) ( 1 + g ( k ) g r 2 ( k ) )
其中,xm和ym分别表示加权和频谱的实部和虚部,g(k)是子频带k内参数立体声编码的重要度因子,反映了参数立体声编码误差在左右声道的分配,可以根据信号特性选择,例如g(k)可以等于子频带k内左声道与右声道的能量之比即EL(k)/ER(k)。
步骤35-2d:上述加权和频谱gr(k)和gd(k)分别经量化编码后输出到比特流复用模块1208。其中,量化编码后的为低频立体声编码数据,量化编码后的gr(k)和gd(k)为边信息。
图15是根据本发明优选实施例的本发明参数误差立体声编码模式的模型图。
参数误差立体声编码模式是根据所述两个声道中的子频带内的低频谱,计算出该子频带内的一个单声道的频谱、一个误差谱和通过该单声道频谱、误差谱来恢复所述两个声道中的子频带内的低频谱的参数。
相较于参数立体声编码模式的计算模型,如果需要提高编码精度则采用参数误差立体声编码模式,进一步计算频谱的误差,即误差谱并将误差谱也进行波形量化编码。参数误差立体声编码模式的具体实施方法包括以下步骤:
步骤35-3a:对于子频带k内某个声道,如右声道计算该声道的加权参数gr(k),并得到缩放后的该声道的频谱由于参数提取频带内各个频率点i的左右声道的能量比统计上近似相同,所以能量近似相等,所以加权和频谱和加权差频谱近似垂直;其中,gr(k)的计算方法与步骤35-1a中gr(k)的计算方法相同。
步骤35-3b:对于该子频带内的每个频率点i,计算该频率点的加权和频谱和加权差频谱
步骤35-3c:产生与加权和频谱等幅垂直的正交频谱
步骤35-3d:根据正交频谱和加权差频谱计算加权参数gd(k),并得到根据gd(k)缩放后的正交频谱其中,gd(k)的计算方法与步骤35-1c中gd(k)的计算方法相同。
步骤35-3e:通过计算加权差频谱和缩放后的正交频谱的差可以得到误差频谱
步骤35-3f:上述加权和频谱误差频谱参数gr(k)和gd(k)分别经量化编码后输出到比特流复用模块1208。其中,量化编码后的为低频立体声编码数据,量化编码后的gr(k)和gd(k)为边信息。
以下介绍本发明优选实施例的立体声解码装置及方法。
图16是根据本发明优选实施例的立体声解码装置的结构框图。
如图16所示,本发明优选实施例的立体声解码装置包括:比特流解复用模块1601、低频立体声解码模块1602、低频谱至高频谱映射模块1603、映射域边界预处理模块1604、高频参数解码模块1605、映射域边界后处理1606、频时映射模块1607和重采样模块1608。
下面,具体介绍图16所示各个模块的连接关系和功能,其中,
比特流解复用模块1601,用于对接收的声音编码流进行解复用,得到相应数据帧的声音编码数据和边信息。向低频立体声解码模块1602输出相应的编码数据和边信息,边信息包括是否进行低频冗余逆处理的标志;向高频参数解码模块1605输出的边信息包括调性调整类型、调性调整参数、增益调整参数和快变点发生的位置;向频时映射模块1607输出的控制信号为信号类型参数。当编码端的低频立体声编码模块1204输出了编码模式选择信息,编码模式选择信息还将作为边信息输出至低频立体声解码模块1602(图16中未示出)。
低频立体声解码模块1602,用于根据比特流解复用模块1601输出边信息中的编码模式选择信息对低频立体声编码数据进行立体声解码,获得所述两个声道中的低频谱,发送给频时映射模块1607和低频谱至高频谱映射模块1603。
低频谱至高频谱映射模块1603,用于从该帧解码后的两个声道中的低频谱中映射部分谱数据到两个声道中的高频部分,得到两个声道中的低频谱至高频谱映射后的高频谱。
映射域边界预处理模块1604,用于接收低频谱至高频谱映射模块1603的输出,对所述两个声道中的低频谱至高频谱映射后的高频谱进行边界预处理,并将经过映射域边界预处理后的两个声道的低频谱至高频谱映射后的高频谱数据输出到高频参数解码模块。
高频参数解码模块1605,用于根据接收自映射域边界预处理模块1604的所述两个声道中的预处理后的低频谱至高频谱映射后的高频谱和比特流解复用模块1601输出的两个声道的高频参数编码数据来恢复所述两个声道中的高频谱。
映射域边界后处理模块1606,用于接收高频参数解码模块1605的输出,对两个声道的高频谱进行边界后处理,并将经过映射域边界后处理后的两个声道的高频谱数据输出到频时映射模块1607。
频时映射模块1607,用于将所述两个声道中的低频谱和高频谱组合在一起进行频时映射,频时映射根据信号类型边信息采用不同阶数的变换或子带域滤波,获得该帧解码的立体声信号。频时映射的方法是编码端时频映射模块103中时频映射的逆过程。包括逆离散傅立叶变换(IDFT)、逆离散余弦变换(IDCT)、逆修正离散余弦变换(IMDCT)、逆余弦调制滤波器组、逆小波变换等。
重采样模块1608,用于将频时映射模块1607输出的该帧解码的立体声信号的采样频率变换到适合声音回放的采样频率,应注意,如果频时映射模块1607输出的信号的采样频率适于声音回放,则本发明的声音解码装置中可以不包括该模块。
本实施例中,低频谱至高频谱映射模块1603、映射域边界预处理模块1604、高频参数解码模块1605、映射域边界后处理模块1606、频时映射模块1607、重采样模块1608分别采用两套单声道声音解码装置的同名模块分别对左、右声道信号进行处理。
下面对根据本发明优选实施例的立体声音解码方法进行详细描述,该方法包括以下步骤:
步骤41:将声音编码码流进行解复用,得到低频立体声编码数据、两个声道的高频参数编码数据以及解码所用的所有边信息。
步骤42:根据边信息中的低频立体声编码模式选择信息对低频立体声编码数据进行立体声解码,获得所述两个声道中的解码后的低频谱。
步骤43:将所述两个声道中的解码后的低频谱的特定频带映射到所述两个声道中的高频的特定频带。
步骤44:对两个声道中的低频谱至高频谱映射后的高频谱进行映射域边界预处理,得到映射域边界预处理后的两个声道中的低频谱至高频谱映射后的高频谱。
步骤45:根据所述映射域边界预处理后的两个声道中的低频谱至高频谱映射后的高频谱和所述两个声道中的高频参数编码数据,恢复所述两个声道中的高频谱,得到所述两个声道中的解码后的高频谱。
步骤46:对两个声道中的解码后的高频谱进行映射域边界后处理,得到映射域边界后处理的两个声道中的解码后的高频谱。
步骤47:对解码后的所述两个声道中的低频谱和高频谱组合在一起进行频时映射,得到解码后的立体声信号。
步骤48:对解码后的立体声信号进行重采样操作,将解码后的立体声信号的采样率变换到适合声音回放的采样频率。
其中,步骤43中的低频谱至高频谱映射方法、步骤44中的映射域边界预处理方法、步骤45中的高频参数解码方法、步骤46中的映射域边界后处理、步骤47中的频时映射方法和步骤48中的重采样方法,都已在本发明单声道解码装置的解码方法的实施例中介绍过,在本发明立体声解码装置的解码方法的实施例中采用相同的方法,因此不做介绍。
其中,步骤42根据编码模式选择信息进行立体声解码,对应于编码模式选择实施方法1,解码方法为根据编码模式选择信息对每个子频带的低频立体声编码数据进行解码;对应于编码模式选择实施方法2,解码方法为根据编码模式选择信息对较低频率子频带中每个子频带的低频立体声编码数据进行解码,对于较高频率的子频带,采用参数立体声解码模式。其中,低频立体声解码包含三种立体声解码模式。
和差立体声解码模式是通过子频带内的低频和频谱和差频谱来恢复该子频带内的所述两个声道中的低频谱。具体实施方法如下:
低频立体声解码模块1602将从比特流解复用模块1601接收到低频立体声编码数据进行逆量化解码后,得到低频和频谱和差频谱采用以下公式恢复左、右声道的低频谱。
L &RightArrow; ^ = M &RightArrow; ^ + S &RightArrow; ^
R &RightArrow; ^ = M &RightArrow; ^ - S &RightArrow; ^
参数立体声解码模式是根据低频立体声解码模块1602接收到的子频带内的加权和频谱和边信息中的相应参数来恢复该子频带内的左、右声道低频谱。对应于编码部分的参数立体声编码方法中的具体实施方式1和具体实施方式2,但两种实施方式的解码过程相同,包含以下步骤:
步骤42-1a:低频立体声解码模块1602将从比特流解复用模块1601接收到低频域立体声编码数据和相应参数进行逆量化解码后,得到加权和频谱参数
步骤42-1b:产生与加权和频谱等幅垂直的正交频谱其中, D &RightArrow; [ i , k ] = - y m [ i , k ] + jx m [ i , k ] ;
步骤42-1c:根据得到的参数将正交频谱缩放得到缩放后的正交频谱
步骤42-1d:由加权和频谱和缩放后的正交频谱得到左、右声道的频谱,其中一个声道(右声道)的频谱是经过缩放后的;计算公式如下:
R &RightArrow; ^ &prime; = M &RightArrow; ^ &prime; + D &RightArrow; ^ &prime;
L &RightArrow; ^ = M &RightArrow; ^ &prime; - D &RightArrow; ^ &prime;
步骤42-1e:通过从边信息中得到的参数对缩放的一个声道进行重新缩放回原始的大小,得到
参数误差立体声解码模式是根据低频立体声解码模块1602得到的子频带加权和频谱误差频谱和边信息中相应的参数来恢复该子频带左右声道频谱。具体实施方法包含以下步骤:
步骤42-2a:低频立体声解码模块1602将从比特流解复用模块1601接收到低频立体声编码数据和相应参数进行逆量化解码后,得到加权和频谱误差频谱和参数
步骤42-2b:产生与加权和频谱等幅垂直的正交频谱
步骤42-2c:根据得到的参数将正交频谱缩放得到缩放后的正交频谱
步骤42-2d:缩放后的正交频谱与误差频谱相加,得到恢复的加权差频谱
步骤42-2e:由加权和频谱和加权差频谱得到左右声道的频谱,其中一个声道(右声道)的频谱是经过缩放后的;
步骤42-2f:通过参数对缩放的声道进行重新缩放回原始的大小。
显而易见,在不偏离本发明的真实精神和范围的前提下,在此描述的本发明可以有许多变化。因此,所有对于本领域技术人员来说显而易见的改变,都应包括在本权利要求书所涵盖的范围之内。本发明所要求保护的范围仅由所述的权利要求书进行限定。

Claims (24)

1.一种单声道声音编码装置,包括:
时频映射模块,用于将数字声音信号从时域映射到映射域以获取映射域上的声音信号,并且将所述映射域上的声音信号划分为低频谱和高频谱;
低频波形编码模块,用于对所述映射域上的声音信号的低频谱进行量化编码以获取低频波形编码数据;
低频谱至高频谱映射模块,用于将所述映射域上的声音信号的低频谱的特定频段映射到高频谱的特定频段,得到频谱映射后的高频谱;
映射域边界预处理模块,用于对所述频谱映射前的高频谱和所述频谱映射后的高频谱进行边界预处理,其中,所述频谱映射前的高频谱是所述时频映射模块所划分的高频谱;
高频参数编码模块,用于根据所述边界预处理后的频谱映射前的高频谱和频谱映射后的高频谱,计算用于在解码端从低频谱中恢复高频谱的高频参数,并对所述高频参数进行量化编码以获取高频参数编码数据;以及
比特流复用模块,用于对所述低频波形编码数据和所述高频参数编码数据进行复用,以输出声音编码码流。
2.根据权利要求1所述的装置,还包括:
信号类型分析模块,用于在所述时频映射模块进行映射之前,对所述数字声音信号进行信号类型分析,以获知所述数字声音信号是快变信号还是缓变信号,并将信号类型分析结果输出到所述时频映射模块、所述高频参数编码模块和所述比特流复用模块,其中,
所述时频映射模块还用于根据所述信号类型分析结果采用不同阶数变换或子带域滤波,所述高频参数编码模块还用于根据所述信号类型分析结果提取所述高频参数,所述比特流复用模块还用于,将所述信号类型分析结果与所述低频波形编码数据和所述高频参数编码数据一起进行复用。
3.根据权利要求1所述的装置,其中,所述低频波形编码模块还包括冗余消除处理模块,用于在所述映射域上的声音信号的低频谱进行量化编码之前对其进行冗余消除处理。
4.根据权利要求1所述的装置,其中,所述高频参数编码模块还包括:
调性参数提取器,用于根据边界预处理后的频谱映射前的高频谱和频谱映射后的高频谱,提取出在解码端用来调整高频谱调性所需的调性参数;以及
增益参数提取器,用于根据边界预处理后的频谱映射前的高频谱和频谱映射后的高频谱,提取出在解码端用来调整高频谱增益所需的增益参数,
其中,所述调性参数和所述增益参数是在解码端从低频谱中恢复高频谱的高频参数。
5.根据权利要求1所述的装置,还包括:
重采样模块,用于在所述时频映射模块进行所述映射之前,将所述数字声音信号从原始采样率变换到目标采样率。
6.一种单声道声音编码方法,包括:
将数字声音信号从时域映射到映射域以获取映射域上的声音信号,并且将所述映射域上的声音信号划分为低频谱和高频谱;
对所述映射域上的声音信号的低频谱进行量化编码以获取低频波形编码数据,将所述映射域上的声音信号的低频谱的特定频段映射到高频谱的特定频段,得到频谱映射后的高频谱,对所述频谱映射前的高频谱和所述频谱映射后的高频谱进行边界预处理,其中,所述频谱映射前的高频谱是时频映射模块所划分的高频谱,根据所述边界预处理后的频谱映射前的高频谱和频谱映射后的高频谱,计算用于在解码端从低频谱中恢复高频谱的高频参数,并对所述高频参数进行量化编码以获取高频参数编码数据;以及
对所述低频波形编码数据和所述高频参数编码数据进行复用,以输出声音编码码流。
7.根据权利要求6所述的方法,还包括:
在将所述数字声音信号映射到映射域之前,对所述数字声音信号进行信号类型分析,以获知所述数字声音信号是快变信号或缓变信号,并输出信号类型分析结果;
根据所述信号类型分析结果采用不同阶数变换或子带域滤波;
根据所述信号类型分析结果提取所述高频参数;
将所述信号类型分析结果与所述低频波形编码数据和所述高频参数编码数据一起进行复用。
8.根据权利要求6所述的方法,还包括:
在对所述映射域上的声音信号的低频谱进行量化编码之前对其进行冗余消除处理。
9.根据权利要求6所述的方法,其中,所述对高频参数进行计算的步骤还包括:
根据边界预处理后的频谱映射前的高频谱和频谱映射后的高频谱,提取出在解码端用来调整高频谱调性所需的调性参数;以及
根据边界预处理后的频谱映射前的高频谱和频谱映射后的高频谱,提取出在解码端用来调整高频谱增益所需的增益参数,
其中,所述调性参数和所述增益参数是在解码端从低频谱中恢复高频谱的高频参数。
10.根据权利要求6所述的方法,还包括:
在将数字声音信号从时域映射到映射域之前,将所述数字声音信号从原始采样率变换到目标采样率。
11.根据权利要求6所述的方法,其中,所述边界预处理包括下列步骤中的一个或多个:
分别根据在所述数字声音信号从时域映射到映射域时得到的高频谱系数以及将映射域上的声音信号的低频谱的特定频段映射到高频谱的特定频段时得到的高频谱系数构造出多个待加窗的高频谱频带,对每个待加窗的高频谱频带进行加频率窗处理,得到加窗处理后的高频谱系数以用于所述高频参数计算;
基于所述低频谱和所述频谱映射后的高频谱进行谐波检测,基于所述谐波检测结果在频谱映射后的高频谱的拼接处进行谐波干涉判定,根据谐波干涉判定的结果消除谐波干涉;以及
分别对以频谱映射后的高频谱的特定频段的起始频率和截止频率为中心的一定频率范围进行映射域组合处理,并将处理结果用于所述高频参数计算。
12.一种单声道声音解码装置,包括:
比特流解复用模块,用于对声音编码码流进行解复用,以获取低频波形编码数据和高频参数编码数据;
低频波形解码模块,用于解码所述低频波形编码数据,以获取声音信号的低频谱解码数据;
低频谱至高频谱映射模块,用于从所述低频谱解码数据中映射部分谱数据到高频部分,得到频谱映射后的高频谱;
映射域边界预处理模块,用于对所述频谱映射后的高频谱进行边界预处理;
高频参数解码模块,用于根据所述高频参数编码数据对边界预处理后的频谱映射后的高频谱进行参数解码得到高频谱解码数据;
映射域边界后处理模块,用于对所述高频谱解码数据进行边界后处理,得到边界后处理后的高频谱解码数据;以及
频时映射模块,用于将所述低频谱解码数据和所述边界后处理后的高频谱解码数据组合起来进行频时映射,以获取时域上的声音解码数据。
13.根据权利要求12所述的装置,其中,所述低频波形解码模块还包括:
逆量化模块,用于对所述低频波形编码数据进行逆量化解码,得到逆量化后的低频谱数据;
冗余逆处理模块,用于对所述逆量化后的低频谱数据进行冗余消除逆处理,得到所述低频谱解码数据。
14.根据权利要求12所述的装置,还包括:
重采样模块,用于将所述时域上的声音解码数据的采样频谱变换到适合声音回放的采样频率。
15.根据权利要求12所述的装置,其中,所述高频参数解码模块还包括:
调性调整模块,用于对边界预处理后的频谱映射后的高频谱进行调性调整;以及
增益调整模块,用于对调性调整后的高频谱进行增益调整,得到所述高频谱解码数据。
16.一种单声道声音解码方法,包括:
对声音编码码流进行解复用,以获取低频波形编码数据和高频参数编码数据;
解码所述低频波形编码数据,以获取声音信号的低频谱解码数据;
从所述低频谱解码数据中映射部分谱数据到高频部分,得到频谱映射后的高频谱;
对所述频谱映射后的高频谱进行边界预处理;
根据所述高频参数编码数据对所述频谱映射后的高频谱进行参数解码得到高频谱解码数据;
对所述高频谱解码数据进行边界后处理,得到边界后处理后的高频谱解码数据;以及
将所述低频谱解码数据和所述边界后处理后的高频谱解码数据组合起来进行频时映射,以获取时域上的声音解码数据。
17.根据权利要求16所述的方法,其中,解码所述低频波形编码数据的步骤还包括:
对低频波形编码数据进行逆量化解码,获得低频谱解码数据;以及
对所述低频谱解码数据进行冗余消除逆处理。
18.根据权利要求16所述的方法,还包括:
将所述时域上的数字声音信号的采样频谱变换到适合声音回放的采样频率。
19.根据权利要求16所述的方法,所述边界预处理包括下列步骤中的一个或多个:
根据在频谱映射中得到的高频谱系数构造出多个待加窗的高频谱频带,对每个待加窗的高频谱频带进行加频率窗处理,得到加窗处理后的高频谱系数以用于所述参数解码;
基于所述低频谱解码数据和所述频谱映射后的高频谱进行谐波检测,基于所述谐波检测结果在频谱映射后的高频谱的拼接处进行谐波干涉判定,根据谐波干涉判定的结果消除谐波干涉;以及
分别对以频谱映射后的高频谱的特定频段的起始频率和截止频率为中心的一定频率范围进行映射域组合处理,并将处理结果用于所述参数解码。
20.根据权利要求16所述的方法,其中,所述边界后处理还包括:
根据在所述参数解码中得到的高频谱频带,对每个高频谱频带进行加频率窗处理,并将加频率窗处理后的所有高频谱频带进行叠接相加处理,得到边界后处理后的高频谱解码数据以用于所述频时映射。
21.一种立体声编码装置,包括:
时频映射模块,用于分别将数字声音信号从时域映射到映射域,以获取左、右声道的映射域上的数字声音信号,并且将所述左、右声道的映射域上的声音信号划分为低频谱和高频谱;
低频立体声编码模块,用于对所述左、右声道的映射域上的低频谱进行立体声编码,以获取低频立体声编码数据;
低频谱至高频谱映射模块,用于将所述映射域上的左、右声道的声音信号的低频谱的特定频段映射到高频谱的特定频段,得到左、右声道的频谱映射后的高频谱;
映射域边界预处理模块,用于对所述左、右声道的频谱映射前的高频谱和频谱映射后的高频谱进行边界预处理,其中,所述频谱映射前的高频谱是所述时频映射模块所划分的高频谱;
高频参数编码模块,用于分别根据所述边界预处理后的左、右声道的频谱映射前和频谱映射后的高频谱,计算用于在解码端分别从所述左、右声道的低频谱中恢复高频谱的高频参数,并对所述高频参数进行量化编码以获取所述左、右声道的高频参数编码数据;以及
比特流复用模块,用于对所述低频立体声编码数据和所述左、右声道的高频参数编码数据进行复用,以输出声音编码码流。
22.一种立体声编码方法,包括:
分别将数字声音信号从时域映射到映射域,以获取左、右声道的映射域上的数字声音信号,并且将所述左、右声道的映射域上的声音信号划分为低频谱和高频谱;
对所述左、右声道的映射域上的低频谱进行立体声编码,以获取低频立体声编码数据,将所述映射域上的左、右声道的声音信号的低频谱的特定频段映射到高频谱的特定频段,得到左、右声道的频谱映射后的高频谱,对所述左、右声道的频谱映射前的高频谱和频谱映射后的高频谱进行边界预处理,其中,所述频谱映射前的高频谱是时频映射模块所划分的高频谱,分别根据所述边界预处理后的左、右声道的频谱映射前和频谱映射后的高频谱,计算用于在解码端分别从所述左、右声道的低频谱中恢复高频谱的高频参数,并对所述高频参数进行量化编码以获取所述左、右声道的高频参数编码数据;以及
对所述低频立体声编码数据和所述左、右声道的高频参数编码数据进行复用,以输出声音编码码流。
23.一种立体声解码装置,包括:
比特流解复用模块,用于对声音编码码流进行解复用,以获取低频立体声编码数据和左、右声道的高频参数编码数据;
低频立体声解码模块,用于对所述低频立体声编码数据进行立体声解码,以获取所述左、右声道的声音信号的低频谱解码数据;
低频谱至高频谱映射模块,用于从所述左、右声道的低频谱解码数据中映射部分谱数据到高频部分,得到所述左、右声道的频谱映射后的高频谱;
映射域边界预处理模块,用于对所述左、右声道的频谱映射后的高频谱进行边界预处理;
高频参数解码模块,用于根据所述左、右声道的高频参数编码数据对边界预处理后的频谱映射后的高频谱进行参数解码得到所述左、右声道的高频谱解码数据;
映射域边界后处理模块,用于对所述左、右声道的高频谱解码数据进行边界后处理,以得到边界后处理后的左、右声道的高频谱解码数据;以及
频时映射模块,用于将所述左、右声道的低频谱解码数据和边界后处理后的左、右声道的高频谱解码数据组合起来进行频时映射,以获得时域上的立体声解码数据。
24.一种立体声解码方法,包括:
对声音编码码流进行解复用,以获取低频立体声编码数据和左、右声道的高频参数编码数据;
对所述低频立体声编码数据进行立体声解码,以获取所述左、右声道的声音信号的低频谱解码数据;
从所述左、右声道的低频谱解码数据中映射部分谱数据到高频部分,得到所述左、右声道的频谱映射后的高频谱;
对所述左、右声道的频谱映射后的高频谱进行边界预处理;
根据所述左、右声道的高频参数编码数据对边界预处理后的频谱映射后的高频谱进行参数解码得到所述左、右声道的高频谱解码数据;
对所述左、右声道的高频谱解码数据进行边界后处理,以得到边界后处理后的左、右声道的高频谱解码数据;以及
将所述左、右声道的低频谱解码数据和边界后处理后的左、右声道的高频谱解码数据组合起来进行频时映射,以获得时域上的立体声解码数据。
CN201210085213.XA 2012-03-28 2012-03-28 一种声音编解码装置及其方法 Active CN103366749B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210085213.XA CN103366749B (zh) 2012-03-28 2012-03-28 一种声音编解码装置及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210085213.XA CN103366749B (zh) 2012-03-28 2012-03-28 一种声音编解码装置及其方法

Publications (2)

Publication Number Publication Date
CN103366749A CN103366749A (zh) 2013-10-23
CN103366749B true CN103366749B (zh) 2016-01-27

Family

ID=49367949

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210085213.XA Active CN103366749B (zh) 2012-03-28 2012-03-28 一种声音编解码装置及其方法

Country Status (1)

Country Link
CN (1) CN103366749B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104751849B (zh) * 2013-12-31 2017-04-19 华为技术有限公司 语音频码流的解码方法及装置
CN107369455B (zh) 2014-03-21 2020-12-15 华为技术有限公司 语音频码流的解码方法及装置
RU2673691C1 (ru) * 2014-04-25 2018-11-29 Нтт Докомо, Инк. Устройство преобразования коэффициентов линейного предсказания и способ преобразования коэффициентов линейного предсказания
CN105336333B (zh) * 2014-08-12 2019-07-05 北京天籁传音数字技术有限公司 多声道声音信号编码方法、解码方法及装置
KR102219752B1 (ko) 2016-01-22 2021-02-24 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 채널 간 시간 차를 추정하기 위한 장치 및 방법
CN109036457B (zh) * 2018-09-10 2021-10-08 广州酷狗计算机科技有限公司 恢复音频信号的方法和装置
CN110797038B (zh) * 2019-10-30 2020-11-06 腾讯科技(深圳)有限公司 音频处理方法、装置、计算机设备及存储介质
CN113933590A (zh) * 2020-07-14 2022-01-14 森兰信息科技(上海)有限公司 波的频谱的计算方法、系统、介质及装置
CN112259110B (zh) * 2020-11-17 2022-07-01 北京声智科技有限公司 音频编码方法及装置、音频解码方法及装置
CN113593592B (zh) * 2021-08-04 2024-03-22 深圳市瑞江科技有限公司 基于多域扩张的音频增强方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101048649A (zh) * 2004-11-05 2007-10-03 松下电器产业株式会社 可扩展解码装置及可扩展编码装置
CN101053019A (zh) * 2004-11-02 2007-10-10 皇家飞利浦电子股份有限公司 使用复值滤波器组的音频信号的编码和解码
CN101521012A (zh) * 2009-04-08 2009-09-02 武汉大学 Mdct域信号能量与相位补偿方法及其装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE0004163D0 (sv) * 2000-11-14 2000-11-14 Coding Technologies Sweden Ab Enhancing perceptual performance of high frequency reconstruction coding methods by adaptive filtering
EP1444688B1 (en) * 2001-11-14 2006-08-16 Matsushita Electric Industrial Co., Ltd. Encoding device and decoding device
DE10234130B3 (de) * 2002-07-26 2004-02-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer komplexen Spektraldarstellung eines zeitdiskreten Signals

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101053019A (zh) * 2004-11-02 2007-10-10 皇家飞利浦电子股份有限公司 使用复值滤波器组的音频信号的编码和解码
CN101048649A (zh) * 2004-11-05 2007-10-03 松下电器产业株式会社 可扩展解码装置及可扩展编码装置
CN101521012A (zh) * 2009-04-08 2009-09-02 武汉大学 Mdct域信号能量与相位补偿方法及其装置

Also Published As

Publication number Publication date
CN103366749A (zh) 2013-10-23

Similar Documents

Publication Publication Date Title
CN103366749B (zh) 一种声音编解码装置及其方法
KR101589942B1 (ko) 외적 향상 고조파 전치
JP4950210B2 (ja) オーディオ圧縮
CN101276587B (zh) 声音编码装置及其方法和声音解码装置及其方法
JP2020170186A (ja) 高周波再構成の際のオーディオ信号処理
CN101086845B (zh) 声音编码装置及方法以及声音解码装置及方法
CN103366750B (zh) 一种声音编解码装置及其方法
CN101067931B (zh) 一种高效可配置的频域参数立体声及多声道编解码方法与系统
US8032362B2 (en) Audio signal encoding/decoding method and apparatus
EP1852851A1 (en) An enhanced audio encoding/decoding device and method
KR20150126806A (ko) 고주파수 신호 복호화 방법 및 장치
CN103366751B (zh) 一种声音编解码装置及其方法
CN104103276A (zh) 一种声音编解码装置及其方法
RU2778834C1 (ru) Гармоническое преобразование, усовершенствованное перекрестным произведением
RU2806621C1 (ru) Гармоническое преобразование, усовершенствованное перекрестным произведением
CN104078048A (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