CN101276587B - 声音编码装置及其方法和声音解码装置及其方法 - Google Patents
声音编码装置及其方法和声音解码装置及其方法 Download PDFInfo
- Publication number
- CN101276587B CN101276587B CN2007100888785A CN200710088878A CN101276587B CN 101276587 B CN101276587 B CN 101276587B CN 2007100888785 A CN2007100888785 A CN 2007100888785A CN 200710088878 A CN200710088878 A CN 200710088878A CN 101276587 B CN101276587 B CN 101276587B
- Authority
- CN
- China
- Prior art keywords
- frequency
- low
- domain
- sub
- band
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 187
- 238000004458 analytical method Methods 0.000 claims abstract description 265
- 230000009466 transformation Effects 0.000 claims abstract description 105
- 230000005236 sound signal Effects 0.000 claims abstract description 32
- 238000000695 excitation spectrum Methods 0.000 claims description 393
- 230000005284 excitation Effects 0.000 claims description 232
- 238000013139 quantization Methods 0.000 claims description 177
- 238000001228 spectrum Methods 0.000 claims description 132
- 230000015572 biosynthetic process Effects 0.000 claims description 125
- 238000003786 synthesis reaction Methods 0.000 claims description 125
- 239000013598 vector Substances 0.000 claims description 100
- 238000001914 filtration Methods 0.000 claims description 37
- 238000006243 chemical reaction Methods 0.000 claims description 33
- 238000000354 decomposition reaction Methods 0.000 claims description 19
- 230000003044 adaptive effect Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000000605 extraction Methods 0.000 claims description 5
- 238000011002 quantification Methods 0.000 abstract 1
- 230000003595 spectral effect Effects 0.000 description 56
- 230000008569 process Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 28
- 238000012545 processing Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 16
- 101100500467 Arabidopsis thaliana EAAC gene Proteins 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 10
- 238000005070 sampling Methods 0.000 description 10
- 239000000284 extract Substances 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 230000002194 synthesizing effect Effects 0.000 description 3
- 238000011426 transformation method Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000001755 vocal effect Effects 0.000 description 2
- 238000012952 Resampling Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005238 low-frequency sound signal Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000001308 synthesis method Methods 0.000 description 1
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
Abstract
本发明公开了一种单声道声音编码装置,采用分析子带滤波器组模块将单声道声音信号分解为包括至少2个子带的低频子带域信号和包括至少2个子带的高频子带域信号;低频子带域信号经低频子带域时变预测分析模块的预测分析、低频子带域时频变换模块的时频变换和低频子带域波形编码模块的量化编码得到低频子带域波形编码数据;高频子带域信号经高频子带域参数编码模块的参数编码提取高频子带域参数编码数据;比特流复用模块对低频子带域波形编码数据和高频子带域参数编码数据进行复用,输出声音编码码流。本发明还公开了单声道声音解码装置、单声道声音编码、解码方法,立体声编码、解码装置及方法,均能够实现低码率下对宽带声音的高质量编码。
Description
技术领域
本发明涉及声音编解码技术,具体涉及单声道声音的编码装置及其方法、单声道声音的解码装置及其方法、立体声声音的编码装置及其方法,及立体声声音的解码装置及其方法。
背景技术
目前,宽带高质量压缩编码技术均采用波形编码技术。波形编码技术大致分为3类:预测编码、子带编码和变换编码。其中,预测编码将传输声音信号的实际值改为传输误差值,可以用较少的编码位数来表达声音信号。子带编码将声音信号分为若干个连续的子带,就可以对每个子带上的信号采用单独的编码方案进行编码,例如针对不同强度的子带信号,采用不同的量化阶,可以最大限度的减小量化误差。变换编码将时域空间的信号变换到诸如频域的变换域,使得信号在变换域中分布更集中,可以提高编码效率。上述编解码技术还可以相互结合,形成目前的子带预测编码、子带变换编码和预测变换编码。
其中,数字影院系统公司的数字家庭影院系统(DTS,Digitaminl.GIF TheaterSystems)所采用的子带预测编码系统APT-X100是子带预测编码的代表。APT-X100系统首先采用二级串联正交镜像滤波器组(QMF,QuadratureMirror Fiminl.GIFter)将音频信号分为4个子带信号,并对子带信号进行时域线性预测,以获得去除子带冗余的子带激励信号,然后采用自适应量化编码,得到经子带预测编码的音频信号。
杜比实验室的AC-3和移动图像专家组(MPEG,Moving Picture ExpertsGroup)组织的高级音频编码(AAC,Advanced Audio Coding)是采用变换编码方案的代表。AC-3和AAC的变换编码方案首先对音频信号进行修正离散余弦变换/修正离散正弦变换(MDCT,Modified Discrete Cosine Transform/MDST,Modified Discrete Sine Transform),并根据心理声学模型对变换系数进行比特分配,然后采用标量哈夫曼编码进行量化编码,得到经变换编码的音频信号。
MPEG组织的MP3是子带变换编码的代表。MPEG第1层和第2层采用伪镜像滤波器组(PQMF,Pseudo Quadrature Mirror Filter)将音频信号分为32个子带信号,并对子带信号进行标量量化和熵编码;MPEG第3层,即MP3,则在32PQMF子带滤波的基础上,进一步采用MDCT剔除信号冗余,然后进行标量量化和熵编码,得到经子带变换编码的音频信号。
MPGE TwinVQ是预测变换编码的代表,同样可以获得很高的编码效率。
实践表明,子带预测编码、变换编码、子带变换编码和预测变换编码能够将单声道48kHz和16比特采样的音频信号压缩到64kb/s左右的码率,从而有效的提高编码效率,很适合高质量的声音编码应用。但是,如果要进一步压缩比特率,则必须采用更适合于低码率声音编码应用的参数编码技术。
目前,在低码率编码应用中,典型的作法是以波形编码为基础的“波形-参数”编码方案。波形和参数编码技术的结合可以有效的提高编码效率。其中,被第三代合作伙伴项目(3GPP,3rd Generation Partnership Project)采纳的扩展的增强型高级音频编码(EAAC+,Enhanced Advanced AudioCoding Plus)和扩展的宽带自适应多速率(AMR-WB+,Extended AdaptiveMulti-Rate-Wideband)编解码方案,是目前为止被证明最适合移动通信等低带宽应用的声音编码技术。EAAC+方案的编码器结构和EAAC+方案的解码器结构分别参见图1和图2。AMR-WB+方案的编码器结构和AMR-WB+方案的解码器结构分别参见图3和图4。
其中,在EAAC+方案中,在以波形编码技术为主的MPEG ACC技术基础上,增加了频谱复制(SBR,Spectral Band Replication)编码技术,该技术可以对低频激励信号拷贝获得的高频拷贝激励信号进行有效的频谱结构调整。EAAC+方案的基础模型采用了效率较高的波形编码技术,较AMR-WB+方案更合适音乐信号编码,但是解码复杂度比AMR-WB+高很多。同时,由于没有采用符合语音生成机理的有效参数模块,即“预测+激励”,低码率下的语音编码质量比AMR-WB+低。
EAAC+编码方案中的参数立体声编码技术是具有较高压缩率和编码声音质量的编码方法,但是该编码方案是基于子带信号频谱的实现方法。而目前EAAC+中的参数立体声编码技术并没有涉及基于子带激励谱的立体声编码解决方案。
在AMR-WB+方案中,通过简单的滤波方法将输入信号分解为两个子带,第一个子带为低频(LF,Low Frequency)信号,经临界采样,其采样频率为Fs/2,其中Fs是经AMR-WB+编码器的重采样模块所获得信号的采样频率,在立体声编码中,该低频信号又分解为一个子带的低频信号和一个子带的中频信号;第二个子带为高频(HF,High Frequency)信号,同样被临界采样,其采样频率为Fs/2。其中,HF信号采用简单的高频扩展编码(BWE,Band Width Extension)技术,该BWE技术是一个时域的实现方法,解码复杂度较低,但不能对低频激励信号拷贝获得的高频拷贝激励信号进行有效的频谱结构调整,因此编码后生成的声音质量较低,特别是对一些音乐信号的编码声音会出现较大失真。
AMR-WB+方案中的立体声编码技术采用时域滤波方法实现,其分辨率不如EAAC+高,解码后生成的音乐质量较EAAC+低。
可见,在数字声音的低码率编码应用中,现有的EAAC+技术和AMR-WB+技术在编码质量和复杂度方面,都存在一定的缺陷。目前,需要一种更合理的声音编解码技术,使得在较低的码率和较低的实现复杂度约束下,实现高质量的声音编码,来克服以上技术存在的问题。
发明内容
有鉴于此,本发明的主要目的在于提供一种单声道声音编码装置,能够实现低码率下对宽带声音的高质量编码。
本发明的第二个主要目的在于提供一种单声道声音编码方法,能够实现低码率下对宽带声音的高质量编码。
本发明的第三个主要目的在于提供一种单声道声音解码装置,能够实现低码率下对宽带声音的高质量解码。
本发明的第四个主要目的在于提供一种单声道声音解码方法,能够实现低码率下对宽带声音的高质量解码。
本发明的第五个主要目的在于提供一种立体声编码装置,能够实现低码率下对宽带声音的高质量编码。
本发明的第六个主要目的在于提供一种立体声编码方法,能够实现低码率下对宽带声音的高质量编码。
本发明的第七个主要目的在于提供一种立体声解码装置,能够实现低码率下对宽带声音的高质量解码。
本发明的第八个主要目的在于提供一种立体声解码方法,能够实现低码率下对宽带声音的高质量解码。
根据上述目的的第一个方面,本发明提供了一种单声道声音编码装置,包括:
分析子带滤波器组模块,用于对单声道声音信号进行子带分解,分解为包括至少2个子带的低频子带域信号,以及包括至少2个子带的高频子带域信号;
低频子带域时变预测分析模块,用于对所述低频子带域信号进行预测分析,以获取低频子带域激励信号;
低频子带域时频变换模块,用于对所述低频子带域激励信号进行时频变换,以获取低频子带域激励谱;
低频子带域波形编码模块,用于对所述低频子带域激励谱进行量化编码,以获取低频子带域波形编码数据;
高频子带域参数编码模块,用于根据所述低频子带域激励谱和所述高频子带域信号计算用于从低频子带域激励谱中恢复高频子带域信号的高频子带域参数,对该高频子带域参数进行量化编码后,以获取高频子带域参数编码数据;或者,根据所述低频子带域激励信号和所述高频子带域信号计算用于从低频子带域激励信号中恢复高频子带域信号的高频子带域参数,对该高频子带域参数进行量化编码后,以获取高频子带域参数编码数据;
比特流复用模块,用于对所述低频子带域波形编码数据和高频子带域参数编码数据进行复用,以输出声音编码码流。
该单声道声音编码装置进一步包括低频子带域信号类型分析模块,该模块用于对一帧所述低频子带域信号进行信号类型分析,并输出低频子带域信号类型分析结果;如果所述低频子带域信号是缓变信号则输出信号类型;如果是快变信号,则进一步获取快变点位置,并输出信号类型和所述快变点位置;
所述低频子带域时变预测分析模块进一步用于根据所述低频子带域信号类型分析结果,将所述低频子带域信号划分为一个或一个以上的、用于预测分析的子帧;
所述低频子带域时频变换模块进一步用于根据所述低频子带域信号类型分析结果,将所述低频子带域激励信号划分为一个或一个以上的、用于时频变换的子帧;
所述比特流复用模块进一步用于对所述低频子带域信号类型分析结果进行复用。
根据上述目的的第二个方面,本发明提供了一种单声道声音编码方法,包括:
A、对单声道声音信号进行子带分解,分解为包括至少2个子带的低频子带域信号,以及包括至少2个子带的高频子带域信号;
B、对所述低频子带域信号进行预测分析和时频变换,以获取低频子带域激励谱;对所述低频子带域激励谱进行量化编码,以获取低频子带域波形编码数据;
C、根据所述高频子带域信号和低频子带域激励谱,计算用于从低频子带域激励谱中恢复高频子带域信号的高频子带域参数,并对该高频子带域参数进行量化编码后,获取高频子带域参数编码数据;或者,根据所述高频子带域信号和经所述预测分析得到的低频子带域激励信号,计算用于从低频子带域激励信号中恢复高频子带域信号的高频子带域参数,并对高频子带域参数进行量化编码后,获取高频子带域参数编码数据;
D、对所述低频子带域波形编码数据和所述高频子带域参数编码数据进行复用,输出声音编码码流。
该单声道声音编码方法进一步包括步骤:对一帧低频子带域信号进行信号类型分析,并确定低频子带域信号类型分析结果;如果所述低频子带域信号是缓变信号,则将信号类型作为低频子带域信号类型分析结果;如果是快变信号,则进一步获取快变点位置,将信号类型和快变点位置作为信号类型分析结果;
步骤B所述对所述低频子带域信号进行预测分析和时频变换包括:根据低频子带域信号类型分析结果,将一帧低频子带域信号划分为一个或一个以上的、用于预测分析的子帧;按子帧对所述低频子带域信号进行预测分析,获得子帧的低频子带域激励信号,然后按照划分顺序将各个子帧组合生成一帧低频子带域激励信号;
根据所述低频子带域信号类型分析结果,将所述一帧低频子带域激励信号划分为一个或一个以上的、用于时频变换的子帧;按子帧对所述低频子带域激励信号进行时频变换,获得子帧的低频子带域激励谱;
步骤D进一步包括对所述低频子带域信号类型分析结果进行复用。
根据上述目的的第三个方面,本发明提供了一种单声道声音解码装置,包括:
比特流解复用模块,用于对声音编码码流进行解复用,以获取包括至少2个子带的低频子带域波形编码数据,以及包括至少2个子带的高频子带域参数编码数据;
低频子带域波形解码模块,用于对所述低频子带域波形编码数据进行逆量化解码,以获取低频子带域激励谱;
低频子带域频时变换模块,用于对所述低频子带域激励谱进行频时变换,以获取低频子带域激励信号;
低频子带域时变预测综合模块,用于对所述低频子带域激励信号进行预测综合,以获取低频子带域信号;
高频子带域参数解码模块,用于对所述高频子带域参数编码数据进行逆量化解码以获得高频子带域参数,并根据所述高频子带域参数从所述低频子带域激励谱中恢复出高频子带域信号;或者,根据所述高频子带域参数从所述低频子带域激励信号中恢复出高频子带域信号;
综合子带滤波器组模块,用于将所述低频子带域信号和所述高频子带域信号进行子带合成,以获取解码的单声道声音信号。
其中,所述比特流解复用模块进一步用于,从解复用的所述声音编码码流中获取用于恢复单声道声音的低频子带域信号类型分析结果;
所述低频子带域频时变换模块进一步用于根据所述低频子带域信号类型分析结果,将接收的低频子带域激励谱划分为一个或一个以上的、用于频时变换的子帧;
所述低频子带域时变预测综合模块进一步用于根据低频子带域信号类型分析结果,将接收的低频子带域激励信号划分为一个或一个以上的、用于预测综合的子帧。
根据上述目的的第四个方面,本发明提供了一种单声道声音解码方法,包括:
A、对声音编码码流进行解复用,以获取包括至少2个子带的低频子带域波形编码数据,以及包括至少2个子带的高频子带域参数编码数据;
B、将所述低频子带域波形编码数据进行逆量化解码,以获取低频子带域激励谱;将所述低频子带域激励谱进行频时变换和预测综合,以获取低频子带域信号;
C、对所述高频子带域参数编码数据进行逆量化解码以获取高频子带域参数,并根据所述高频子带域参数从所述低频子带域激励谱中恢复出高频子带域信号;或者,根据所述高频子带域参数从经所述频时变换得到的低频子带域激励信号中恢复出高频子带域信号;
D、将所述低频子带域信号和所述高频子带域信号进行子带合成,输出解码的单声道声音信号。
其中,所述步骤A进一步包括从解复用的声音编码码流中获取用于恢复单声道声音的低频子带域信号类型分析结果;
步骤B所述将低频子带域激励谱进行频时变换和预测综合包括:根据所述低频子带域信号类型分析结果,将一帧所述低频子带域激励谱划分为一个或一个以上的、用于频时变换的子帧;按子帧对所述低频子带域激励谱进行频时变换,获取子帧的低频子带域激励信号,然后按照划分顺序将各个子帧组合生成一帧低频子带域激励信号;
根据所述低频子带域信号类型分析结果,将所述一帧低频子带域激励信号划分为一个或一个以上的、用于预测综合的子帧;按子帧对所述低频子带域信号进行预测综合,获得子帧的低频子带域信号。
根据上述目的的第五个方面,本发明提供了一种立体声编码装置,包括:
分析子带滤波器组模块,用于对立体声信号的左、右声道分别进行子带分解,分解为包括至少2个子带的左、右声道的低频子带域信号,以及包括至少2个子带的左、右声道的高频子带域信号;
低频子带域时变预测分析模块,用于分别对所述左、右声道的低频子带域信号进行预测分析,以获取左、右声道的低频子带域激励信号;
低频子带域时频变换模块,用于分别对所述左、右声道低频子带域激励信号进行时频变换,以获取左、右声道的低频子带域激励谱;
低频子带域立体声编码模块,用于对所述左、右声道的低频子带域激励谱进行立体声编码,以获取低频子带域立体声编码数据;
高频子带域参数编码模块,用于分别根据所述左、右声道的低频子带域激励谱和所述左、右声道的高频子带域信号,计算用于从左、右声道的低频子带域激励谱中恢复左、右声道的高频子带域信号的左、右声道的高频子带域参数,并分别对所述左、右声道的高频子带域参数进行量化编码,以获取左、右声道的高频子带域参数编码数据;或者,分别根据所述左、右声道的低频子带域激励信号和所述左、右声道的高频子带域信号,计算用于从左、右声道的低频子带域激励信号中恢复左、右声道的高频子带域信号的左、右声道的高频子带域参数,并分别对所述左、右声道的高频子带域参数进行量化编码,以获取左、右声道的高频子带域参数编码数据;
比特流复用模块,用于对所述低频子带域立体声编码数据和所述左、右声道的高频子带域参数编码数据进行复用,以输出立体声的声音编码码流。
该立体声编码装置进一步包括低频子带域和信号类型分析模块,该模块用于根据一帧左、右声道的低频子带域信号计算出一帧低频子带域和信号,对该低频子带域和信号进行信号类型分析,并输出低频子带域和信号类型分析结果;如果所述低频子带域和信号是缓变信号则输出信号类型;如果是快变信号,则进一步获取快变点位置,并输出信号类型和所述快变点位置;
所述低频子带域时变预测分析模块进一步用于根据所述低频子带域和信号类型分析结果,分别将接收的一帧所述左、右声道的低频子带域信号划分为一个或一个以上的、用于预测分析的子帧;
所述低频子带域时频变换模块进一步用于根据所述低频子带域和信号类型分析结果,分别将接收的所述左、右声道低频子带域激励信号划分为一个或一个以上的、用于时频变换的子帧;
所述比特流复用模块进一步用于对所述低频子带域和信号类型分析结果进行复用。
在进行立体声编码时,所述低频子带域立体声编码模块进一步用于从一种以上的可选立体声编码模式中进行选择,采用选择的立体声编码模式进行编码,并将编码模式选择信息输出至所述比特流复用模块
根据上述目的的第六个方面,本发明提供了一种立体声编码方法,包括:
A、对立体声信号的左、右声道分别进行子带分解,分解为包括至少2个子带的左、右声道的低频子带域信号,以及包括至少2个子带的左、右声道的高频子带域信号;
B、分别对所述左、右声道的低频子带域信号进行预测分析和时频变换,以获取左、右声道的低频子带域激励谱;对所述左、右声道的低频子带域激励谱进行立体声编码,以获取低频子带域立体声编码数据;
C、分别根据所述左、右声道的高频子带域信号和所述左、右声道低频子带域激励谱,计算用于从左、右声道低频子带域激励谱中恢复左、右声道高频子带域信号的左、右声道的高频子带域参数,并分别对左、右声道的高频子带域参数进行量化编码,以获取左、右声道的高频子带域参数编码数据;或者,分别根据所述左、右声道的高频子带域信号和经所述预测分析得到的左、右声道的低频子带域激励信号,计算用于从左、右声道低频子带域激励信号中恢复左、右声道高频子带域信号的左、右声道的高频子带域参数,并分别对所述左、右声道的高频子带域参数进行量化编码,以获取左、右声道的高频子带域参数编码数据;
D、对所述低频子带域立体声编码数据和所述左、右声道的高频子带域参数编码数据进行复用,以输出立体声的声音编码码流。
该立体声编码方法进一步包括步骤:根据步骤A经子带分解获得的一帧左、右声道的低频子带域信号计算出一帧低频子带域和信号,对该低频子带域和信号进行信号类型分析,并确定低频子带域和信号类型分析结果;如果所述低频子带域和信号是缓变信号,则将信号类型作为所述低频子带域和信号类型分析结果;如果是快变信号,则进一步获取快变点位置,将信号类型和所述快变点位置作为所述低频子带域和信号类型分析结果;
步骤B所述对所述左/右声道的低频子带域信号进行预测分析和时频变换包括:根据低频子带域和信号类型分析结果,将一帧左/右声道低频子带域信号划分为一个或一个以上的、用于预测分析的子帧;按子帧对所述左/右声道的低频子带域信号进行预测分析,获得子帧的左/右声道低频子带域激励信号,然后按照划分顺序将各个子帧组合生成一帧左/右声道低频子带域激励信号;
根据所述低频子带域和信号类型分析结果,将所述一帧左/右声道低频子带域激励信号划分为一个或一个以上的、用于时频变换的子帧;按子帧对所述左/右声道低频子带域激励信号进行时频变换,获得子帧的左/右声道低频子带域激励谱;
步骤D进一步包括对所述低频子带域和信号类型分析结果进行复用。
在进行立体声编码时,步骤B所述对左、右声道的低频子带域激励谱进行立体声编码包括:
B2、分别将所述左、右声道的低频子带域激励谱划分为若干个子频带,对每个子频带选择一种立体声编码模式进行立体声编码;
步骤D进一步包括对编码模式选择信息进行复用。
根据上述目的的第七个方面,本发明提供了一种立体声解码装置,包括:
比特流解复用模块,用于对立体声的声音编码码流进行解复用,以获取包括至少2个子带的低频子带域立体声编码数据,以及包括至少2个子带的左、右声道的高频子带域参数编码数据;
低频子带域立体声解码模块,用于对所述低频子带域立体声编码数据进行立体声解码,以获取左、右声道的低频子带域激励谱;
所述低频子带域时变换模块,用于分别对所述左、右声道的低频子带域激励谱进行频时变换,以获取左、右声道的低频子带域激励信号;
低频子带域时变预测综合模块,用于分别对所述左、右声道的低频子带域激励信号进行预测综合,以获取左、右声道的低频子带域信号;
高频子带域参数解码模块,用于对所述左、右声道的高频子带域参数编码数据进行逆量化解码以获得左、右声道的高频子带域参数,并分别根据所述左、右声道的高频子带域参数从所述左、右声道的低频子带域激励谱中恢复出左、右声道的高频子带域信号;或者,分别根据所述左、右声道的高频子带域参数从所述左、右声道的低频子带域激励信号中恢复出左、右声道的高频子带域信号;
综合子带滤波器组模块,用于将所述左、右声道的低频子带域信号和所述左、右声道的高频子带域信号进行子带合成,以获取解码的左、右声道的立体声信号。
其中,所述比特流解复用模块进一步用于,从解复用的所述立体声的声音编码码流中获取用于恢复立体声的低频子带域和信号类型分析结果;
所述低频子带域频时变换模块进一步用于根据所述低频子带域和信号类型分析结果,分别将接收的左、右声道的低频子带域激励谱划分为一个或一个以上的、用于频时变换的子帧;
所述低频子带域时变预测综合模块进一步用于根据所述低频子带域和信号类型分析结果,将接收的左、右声道的低频子带域激励信号划分为一个或一个以上的、用于预测综合的子帧。
所述比特流复用模块进一步用于,从解复用的所述立体声的声音编码码流中获取用于立体声解码的编码模式选择信息;
在进行立体声编码时,所述低频子带域立体声解码模块进一步用于,采用所述编码模式选择信息对应的立体声解码模式进行立体声解码。
根据上述目的的第八个方面,本发明提供了一种立体声解码方法,包括:
A、对立体声的声音编码码流进行解复用,以获取包括至少2个子带的低频子带域立体声编码数据,以及包括至少2个子带的左、右声道的高频子带域参数编码数据
B、对所述解复用获得的低频子带域立体声编码数据进行立体声解码,获取左、右声道的低频子带域激励谱;分别对所述左、右声道的低频子带域激励谱进行频时变换和预测综合,以获取左、右声道的低频子带域信号;
C、对所述解复用获得的左、右声道的高频子带域参数编码数据进行逆量化解码以获得左、右声道的高频子带域参数,并分别根据所述左、右声道的高频子带域参数从所述左、右声道的低频子带域激励谱中恢复出左、右声道的高频子带域信号;或者分别根据所述左、右声道的高频子带域参数从所述经频时变换得到的左、右声道的低频子带域激励信号中恢复出左、右声道的高频子带域信号;
D、将所述左、右声道的低频子带域信号和所述左、右声道的高频子带域信号进行子带合成,获取解码的左、右声道的立体声信号。
其中,步骤A进一步包括从解复用的声音编码码流中获取用于恢复立体声的低频子带域和信号类型分析结果;
步骤B所述将左/右声道的低频子带域激励谱进行频时变换和预测综合包括:根据所述低频子带域和信号类型分析结果,将一帧所述左/右声道低频子带域激励谱划分为一个或一个以上的、用于频时变换的子帧;按子帧对所述左/右声道低频子带域激励谱进行频时变换,获取子帧的左/右声道低频子带域激励信号,然后按照划分顺序将各个子帧组合生成一帧左/右声道低频子带域激励信号;
根据所述低频子带域和信号类型分析结果,将所述一帧左/右声道低频子带域激励信号划分为一个或一个以上的、用于预测综合的子帧;按子帧对所述左/右声道低频子带域信号进行预测综合,获得子帧的左/右声道低频子带域信号
在进行立体声解码时,所述步骤A进一步包括从解复用的声音编码码流中获取用于立体声解码的编码模式选择信息;
步骤B所述进行立体声解码为:采用所述编码模式选择信息对应的立体声解码模式,对每个子频带k的低频子带域立体声编码数据进行解码。
与现有技术相比,本发明所提供的单声道声音编解码方案先对声音信号进行子带分解,分解为包括至少2个子带的低频子带域信号和至少包括2个子带的高频子带域信号,然后分别对低频子带域信号和高频子带域信号采用不同的处理方法进行编码。在对低频子带域信号进行波形编码时,对低频子带域信号采用了“预测+激励”的有效参数模型,提高了在低码率约束下的语音编码质量;然后将低频子带域激励信号变换为低频子带域激励谱,信号在变换空间的分布更集中,可以用更低的码率表示相同的声音信号,因此降低了码率,最后将子带域激励谱量化编码并输出。可见,对低频声音信号进行波形编码时采用了高效率的子带编码、预测编码和变换编码的结合形式。在对高频子带域信号进行处理时,采用了高效率参数编码形式。而且在参数编码的过程中,进行有效的频谱结构调整和时域增益调整,不仅提高编码效率而且降低解码后声音的失真。
本发明还提供了立体声的编解码方案,该方案不仅拥有上述基于本发明原理的单声道声音编解码方案所拥有的优势,还提供了多种基于子带激励谱的参数立体声编码方法,适合在极低码率下的立体声编码。
附图说明
图1为现有技术中EAAC+编码器的结构框图;
图2为现有技术中EAAC+解码器的结构框图;
图3为现有技术中AMR-WB+编码器的结构框图;
图4为现有技术中AMR-WB+解码器的结构框图;
图5为本发明优选实施例单声道声音编码装置的结构框图;
图6为图5所示低频子带域时变预测分析模块的结构框图;
图7为图5所示高频子带域参数编码模块的结构框图;
图8为基于本发明单声道声音编码装置的编码方法流程图;
图9a为时频变换后的缓变信号的时频平面图;
图9b为时频变换后的快变信号的时频平面图;
图10为本发明优选实施例单声道声音解码装置的结构框图;
图11为图10所示低频子带域时变预测综合模块的结构框图;
图12为图10所示高频子带域参数解码模块的结构框图;
图13为基于本发明单声道声音解码装置的解码方法流程图;
图14为本发明优选实施例立体声编码装置的结构框图;
图15为基于本发明立体声编码装置的编码方法流程图;
图16为本发明和差立体声编码模式的模型图;
图17为本发明参数立体声编码模式的模型图;
图18为本发明参数误差立体声编码模式的模型图;
图19为本发明优选实施例立体声解码装置的结构框图;
图20为基于本发明立体声音解码装置的解码方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
图5为作为本发明优选实施例的单声道声音编码装置的结构框图。如图5所示,本发明优选实施例的单声道声音编码装置包括分析子带滤波器组模块501、低频子带域信号类型分析模块502、低频子带域时变预测分析模块503、低频子带域时频变换模块504、低频子带域波形编码模块505、高频子带域参数编码模块506和比特流复用模块507。
首先,详细介绍图5中各个模块的连接关系和功能,其中:
分析子带滤波器组模块501,用于将输入的单声道声音信号M进行子带分解,使每个子带信号对应特定的频率范围,生成各频率范围的子带域信号M1~Mk1+k2,然后将低频子带域信号M1~Mk1以帧为单位输入到低频子带域信号类型分析模块502和低频子带域时变预测分析模块503,将高频子带域信号Mk1+1~Mk1+k2以帧为单位输入到高频子带域参数编码模块506。其中k1大于等于2,k2大于等于2。
该分析子带滤波器组模块501可以采用镜像滤波器(QMF)、伪镜像滤波器(PQMF)、余弦调制滤波器(CMF,Cosine Modulated Filter)和离散小波(Discrete Wavelet)变换器等进行子带分解处理。
低频子带域信号类型分析模块502,用于对接收自分析子带滤波器组模块501的每帧低频子带域信号进行信号类型分析,判断该帧信号的类型是缓变信号还是快变信号,若是缓变信号,则直接输出信号类型,例如,输出表示该帧信号的类型为缓变的标识;若是快变信号,则继续计算快变点发生的位置,并输出相应的信号类型和快变点发生的位置。信号类型分析结果一方面输出到低频子带域时变预测分析模块503中用于子帧划分控制,另一方面输出到低频子带域时频变换模块504中用于对时频变换的阶数进行控制,同时,信号类型分析结果还可以作为声音编码码流的边信息(Side Information)输出到比特流复用模块507中。该声音编码码流是本编码装置向解码装置发送的数据,包括声音编码数据和边信息。其中,边信息是码率数据的一种,通常为控制信息或参数编码信息,用于在解码端恢复声音信号。该低频子带域信号类型分析模块502可以采用信号感知熵判断信号类型,通过计算信号帧的能量判断信号类型等。在实际中,根据本发明原理的单声道声音编码装置可以不包括该模块。
低频子带域时变预测分析模块503,用于从分析子带滤波器组模块501接收低频子带域信号,并根据从低频子带域信号类型分析模块502接收的低频子带域信号类型分析结果,对接收的低频子带域信号进行分子帧处理,然后按子帧对低频子带域信号进行预测分析,即线性预测滤波,得到低频子带域激励信号,或称低频子带域残差信号,然后将得到的低频子带域激励信号以帧为单位输出到低频子带域时频变换模块504。当采用线性预测滤波时,该低频子带域时变预测分析模块503对低频子带域信号进行线性预测分析,得到一组预测系数,将其转换为一组线谱频率(LSF,Linear SpectrumFrequency),再将该组LSF参数进行矢量量化,得到的LSF矢量量化索引在解码端用于构建线性预测综合滤波器,因此该LSF矢量量化索引作为边信息输出到比特流复用模块507。
低频子带域时频变换模块504,用于从低频子带域时变预测分析模块503接收低频子带域激励信号,并根据从低频子带域信号类型分析模块502接收的低频子带域信号类型分析结果,采用不同长度阶数的变换,将低频子带域激励信号由时域变换到频域,获得低频子带域激励信号的频域表示,即低频子带域激励谱。将时频变换得到的低频子带域激励谱输出到低频子带域波形编码模块505和高频子带域参数编码模块506。如果根据本发明原理的单声道声音编码装置不包括低频子带域信号类型分析模块502,则在时频变换时不对阶数进行控制。
低频子带域波形编码模块505,用于从低频子带域时频变换模块504接收低频子带域激励谱,对其进行量化编码,得到低频子带域波形编码数据,作为声音编码码流的声音编码数据输出到比特流复用模块507。
高频子带域参数编码模块506,用于从低频子带域时频变换模块504接收低频子带域激励谱,从分析子带滤波器组模块501接收高频子带域信号,根据低频子带域激励谱和高频子带域信号提取高频子带域参数,该高频子带域参数用于在解码端从低频子带域激励谱恢复高频子带域信号,然后该高频子带域参数编码模块506对提取的高频子带域参数进行量化编码,将获得的高频子带域参数编码数据作为边信息输出到比特流复用模块507。
比特流复用模块507,用于将从低频子带域信号类型分析模块502、低频子带域时变预测分析模块503、低频子带域波形编码模块505、和高频子带域参数编码模块506接收到的声音编码数据以及边信息进行复用,形成声音编码码流。
由于低频子带域信号和高频子带域信号都分别包括2个以上的子带,因此上述低频子带域信号类型分析模块502对低频子带域信号的各子带进行信号类型分析;低频子带域时变预测分析模块503对低频子带域信号的各子带进行预测分析;低频子带域时频变换模块504对低频子带域激励信号的各子带进行时频变换;低频子带域波形编码模块505对低频子带域激励谱的各子带进行量化编码,以码流形式输出给比特流复用模块507;高频子带域参数编码模块506获取各子带的高频子带域参数以码流形式输出给比特流复用模块507。本实施例中的以下详细说明内容就不再对各子带进行区分描述。
下面,对上述单声道声音编码装置的低频子带域时变预测分析模块503、低频子带域时频变换模块504、低频子带域波形编码模块505、高频子带域参数编码模块506进行具体详细地说明。
图6为图5中的低频子带域时变预测分析模块503的结构框图。低频子带域时变预测分析模块503由子帧划分器600、线性预测分析器601、转换器602、矢量量化器603、逆转换器604以及线性预测滤波器605构成。具体地,首先由子帧划分器600根据接收的低频子带域信号类型分析结果,对输入的低频子带域信号y(n)进行分子帧处理,将一帧y(n)划分成一个或一个以上的、用于线性预测分析的子帧,再由线性预测分析器601以子帧为单位对低频子带域信号y(n)进行线性预测分析,求出一组预测系数ai,然后由转换器602将该组ai转换成一组线谱频率(LSF),再将该组LSF送入矢量量化器603中进行矢量量化并得到LSF矢量量化索引,并根据LSF矢量量化索引得到量化后的一组线谱频率LSF,将得到的该组LSF经过逆转换器604求出量化后的一组预测系数,最后用量化后的该组预测系数构成的线性预测滤波器605对经子帧划分器600进行子帧划分处理的子帧信号进行滤波,得到低频子带域激励信号xe(n),以帧为单位输出。如果划分成了多个子帧,则将子帧按划分顺序合并为帧输出。在预测分析过程中采用了矢量量化,上述LSF矢量量化索引在解码端进行线性预测综合时,将作为构成线性预测综合滤波器的信息,所以,在编码端,该LSF矢量量化索引作为边信息输出到比特流复用模块507中。每个进行线性预测分析的子帧分别对应其各自的LSF矢量量化索引。
其中,在划分用于线性预测分析的子帧时,如果信号类型为缓变信号,一帧只划分一个子帧,即不划分子帧;如果信号类型为快变信号,则将该帧低频子带域信号根据快变点位置分为不同的子帧,具体可以是:快变点之前的若干个256采样点帧划分为一个子帧,包括快变点的256采样点帧划分为一个子帧,快变点发生后的若干个256采样点帧划分为一个子帧。如果根据本发明原理的单声道声音编码装置不包括低频子带域信号类型分析模块502,则低频子带域时变预测模块503不包括子帧划分器600。
低频子带域时频变换模块504进行时频变换的方法可以采用离散傅立叶变换(DFT,Discrete Fourier Transform)、离散余弦变换(DCT,DiscreteCosine Transform)、修正离散余弦变换(MDCT)等变换方法。在具体时频变换时,根据低频子带域信号类型分析结果对低频子带域激励信号重新划分子帧,将一帧低频子带域激励信号划分为一个或一个以上的、用于时频变换的子帧,按子帧对低频子带域激励信号进行变换。
其中,在划分用于变换的子帧时,如果信号类型为缓变信号,则划分为一个子帧,并选择较长阶数的变换;如果信号类型为快变信号,则根据快变点位置划分为不同的子帧或者划分为相同长度的子帧,并选择较短阶数的变换。当根据快变点位置划分子帧时,划分方法与低频子带域时变预测分析模块503划分用于线性预测分析的子帧方法相同。
低频子带域波形编码模块505对低频子带域激励谱进行量化编码的方法可以采用类似MPEG AAC中的标量加哈夫曼(Huffman)编码的量化方案,也可以采用矢量量化方案。当采用矢量量化方案时,矢量量化过程中产生的矢量码字索引作为边信息发送给比特流复用模块507(图5中未示出),该矢量码字索引将作为解码端解码低频子带域波形编码数据的信息。
图7为图5所示高频子带域参数编码模块506的结构框图,高频子带域参数编码模块506包括信号类型分析器701、时变预测分析器702、谱参数编码器703、时变预测综合器704、和时域自适应增益调整参数提取器705。
其中,信号类型分析器701,用于对接收自分析子带滤波器组模块501的每帧高频子带域信号进行信号类型分析,将高频子带域信号类型分析结果输出到时变预测分析器702、时变预测综合器704和时域自适应增益调整参数提取器705,并作为边信息输出到比特流复用模块507。对高频子带域信号进行信号类型分析的方法与低频子带域信号类型分析模块502进行信号类型分析的方法原理相同。在实际中,基于本发明的高频子带域参数编码模块中也可以不包括信号类型分析器701。
时变预测分析器702,用于接收分析子带滤波器组模块501输出的高频子带域信号,并根据来自信号类型分析器701的高频子带域信号类型分析结果,将接收的高频子带域信号划分为一个或一个以上的子帧,每个子帧为一组高频子带域信号样本,是预测分析的单位。这里,如果高频子带域信号类型分析结果为缓变信号,则划分为一个子帧,也可以认为是不作划分子帧处理,如果是快变信号,则根据快变点发生位置,划分为一个以上的子帧。然后对每个子帧进行线性预测滤波,得到高频子带域激励信号,或称高频子带域残差信号,然后将得到的高频子带域激励信号输出到谱参数编码器703。该时变预测分析器702的具体组成结构可以采用上述图6示出的低频子带域时变预测分析模块503的组成结构,根据输入的高频子带域信号经划分子帧、线性预测分析、预测系数到线谱频率的转换、矢量量化、线谱频率到预测系数的逆转换,最后生成线性预测滤波器,采用该线性预测滤波器按子帧对高频子带域信号进行滤波,最终将得到高频子带域激励信号以帧为单位输出。如果进行了子帧划分,则将处理后的子帧按划分顺序合并为帧输出。在其中的矢量量化过程中,将生成的高频LSF矢量量化索引输出到时变预测综合器704,以及作为边信息输出到比特流复用模块507中(图7中未示出)。为了与低频子带域信号处理过程中生成的LSF矢量量化索引区分,将对高频子带域信号经线性预测分析得到的LSF矢量量化索引称为高频LSF矢量量化索引。
谱参数编码器703,用于从时变预测分析器702接收一帧高频子带域激励信号,从低频子带域时频变换模块504接收低频子带域激励谱;将高频子带域激励信号中与上述低频子带域激励谱对应的部分作离散傅立叶变换(DFT)得到高频子带域激励谱,然后根据所得高频子带域激励谱对所述低频子带域激励谱进行谱调整,该谱调整包括调性调整和增益调整;最后将谱调整参数经量化编码后输出到比特流复用模块507,并将谱调整后的低频子带域激励谱作逆离散傅立叶变换(IDFT),得到谱调整后的低频子带域激励信号输出到时变预测综合器704。在该模块中,除了DFT还可以对高频子带域激励信号采用其它时频变换方法以获取高频子带域激励谱。同理,逆变换也采用与上述时频变换对应的频时变换。
该谱参数编码器703包括DFT变换器703a、谱调性调整和参数提取器703b、谱增益调整和参数提取器703c以及IDFT变换器703d。其中,DFT变换器703a将接收自时变预测分析器702的一帧高频子带域激励信号划分为一个或多个用于DFT变换的子帧,划分方法与划分低频子带域激励信号的方法相同,划分的根据可以是来自低频子带域信号类型分析模块502的低频子带域信号类型分析结果(图5中未示出);按子帧将高频子带域激励信号作DFT获得该子帧的频谱,即高频子带域激励谱,并将所得的高频子带域激励谱输出至谱调性调整和参数提取器703b和谱增益调整和参数提取器703c;
谱调性调整和参数提取器703b,用于根据DFT变换器703a输出的子帧的高频子带域激励谱,对从低频子带域时频变换模块504接收的低频子带域激励谱进行谱调性调整,并将得到的谱调性调整的参数经量化编码后作为边信息输出到比特流复用模块507,将谱调性调整后的低频子带域激励谱输出至谱增益调整和参数提取器703c;
谱增益调整和参数提取器703c,用于根据来自DFT变换器703a的子帧的高频子带域激励谱,对来自谱调性调整和参数提取器703b的对应的谱调性调整后的低频子带域激励谱进行谱增益调整,并将谱增益调整的参数经量化编码后作为边信息输出到比特流复用模块507,将谱增益调整后的低频子带域激励谱输出至IDFT变换器703d;
IDFT变换器703d,用于对来自谱增益调整和参数提取器703c的谱增益调整后的低频子带域激励谱进行IDFT变换,得到谱调整后的低频子带域激励信号,所述谱调整包括谱调性调整和谱增益调整;然后将每个子帧的谱调整后的低频子带域激励信号重新组合成一整帧的谱调整后的低频子带域激励信号,将该信号输出到时变预测综合器704。
时变预测综合器704,根据来自信号类型分析器701的高频子带域信号类型分析结果,对来自谱参数编码模块703的一帧谱调整后的低频子带域激励信号重新划分为一个或一个以上的子帧,每个子帧为一组谱调整后的低频子带域激励信号样本,是综合滤波的单位;再根据来自时变预测分析器701的高频LSF矢量量化索引获得线性预测综合滤波器,并对每个子帧的谱调整后的低频子带域激励信号进行综合滤波,得到重建高频子带域信号,该信号以帧为单位输出至时域自适应增益调整参数提取器705;
时域自适应增益调整参数提取器705,根据来自信号类型分析器701的高频子带域信号类型分析结果,将来自时变预测综合器704的每帧的重建高频子带域信号划分为一个或一个以上的子帧,每个子帧为一组重建高频子带域信号样本,是时域增益调整的单位;并接收来自分析子带滤波器组模块501的高频子带域信号,将每个子帧的重建高频子带域信号的时域增益和该子帧对应的高频子带域信号的时域增益进行比较,得到时域增益调整参数,经量化编码后输出到比特流复用模块507。所述时域增益指子帧内信号能量的平均值。
因此,高频子带域参数编码模块506提取的高频子带域参数包括谱调整参数、时域增益调整参数、高频LSF矢量量化索引和高频子带域信号类型分析结果。这些高频子带域参数经量化编码后生成高频子带域参数编码数据,作为边信息输出到比特流复用模块507。
比特流复用模块507将接收自上述各个模块的声音编码数据和边信息进行复用,形成声音编码码流。其中,声音编码数据为低频子带域波形编码模块505输出的低频子带域波形编码数据。边信息包括低频子带域信号类型分析模块502输出的低频子带域信号类型分析结果,低频子带域时变预测分析模块503输出的LSF矢量量化索引,以及高频子带域参数编码模块506输出的高频子带域参数编码数据。该高频子带域参数编码数据包括量化编码的谱调整参数、时域增益调整参数、高频LSF矢量量化索引和高频子带域信号类型分析结果。当低频子带域波形编码模块采用矢量量化编码时,边信息还包括矢量码字索引。
本优选实施例的高频子带域参数编码模块506根据高频子带域信号和低频子带域激励谱提取用于从低频子带域激励谱中恢复高频子带域信号的高频子带域参数。在实际中,高频子带域参数编码模块506接收低频子带域时变预测分析模块503生成的低频子带域激励信号,而不接收低频子带域激励谱。在这种情况下,高频子带域参数编码模块506可以不进行谱调整,即高频子带域参数编码模块506不包括谱参数编码器703,而是直接根据低频子带域激励信号和高频子带域信号提取用于从高频子带域激励信号中恢复高频子带域信号的高频子带域参数,该高频子带域参数不包括谱调整参数。
图8为基于本发明单声道声音编码装置的编码方法流程图。如图8所示,该方法包括以下步骤:
步骤11:对输入的单声道信号进行子带分解,使每个子带信号对应特定的频率范围;子带分解后的单声道声音信号可按频率范围简单的划分为低频子带域信号和高频子带域信号。其中,低频子带域信号包括至少2个子带的子带域信号;高频子带域信号也包括至少2个子带的子带域信号。
步骤12:对低频子带域信号进行信号类型分析,如果是缓变类型信号,则直接将信号类型确定为低频子带域信号类型分析结果;如果是快变类型信号,则继续计算快变点发生的位置,最后将信号类型和快变点位置确定为低频子带域信号类型分析结果。
步骤13:根据低频子带域信号类型分析结果,对低频子带域信号进行分子帧处理,按子帧进行预测分析,即线性预测滤波,得到低频子带域激励信号。
步骤14:根据低频子带域信号类型分析结果,采用不同长度阶数对低频子带域激励信号进行时频变换,得到低频子带域激励谱。
步骤15:对低频子带域激励谱进行量化编码,得到低频子带域波形编码数据。
步骤16:根据低频子带域激励谱和高频子带域信号提取用来从低频子带域激励谱恢复高频子带域信号的高频子带域参数,对高频子带域参数进行量化编码,获得高频子带域参数编码数据。
步骤17:对上述低频子带域波形编码数据和边信息进行复用,得到声音编码码流。其中,边信息包括低频子带域信号类型分析结果和高频子带域参数编码数据,还包括线性预测滤波过程中生成的LSF矢量量化索引。
其中,由于低频子带域信号和高频子带域信号都分别包括2个以上的子带,因此上述步骤12对低频子带域信号的各子带进行信号类型分析;步骤13对低频子带域信号的各子带进行预测分析;步骤14对低频子带域激励信号的各子带进行时频变换;步骤15对低频子带域激励谱的各子带进行量化编码;步骤16计算出各个子带的高频子带域参数。本实施例中的以下详细说明内容就不再对各子带进行区分描述。
下面对图8中的步骤进行详细说明。
步骤11的子带滤波器组可采用QMF、PQMF、CMF和离散小波变换等技术。优选地,以PQMF为例说明子带分解的过程。
PQMF中分析滤波器的脉冲响应为:
其中,p0(n)为原型滤波器,M为子带数,N为原型滤波器阶数,并且M≥4,0≤k<M-1,0≤n<2KM-1,N=2KM。
用PQMF进行子带分解的步骤具体如下:
步骤11a:将输入PQMF缓冲区的数据平移,则缓冲区中数据移出缓冲区,移出数据个数为M,与子带数相同,即:
x[n]=x[n-M],n=N-1~M
其中,x[n]为输入声音信号的脉冲编码调制(PCM,Pulse Code Modulate)样本;
步骤11b:M个新增样本输入缓冲区,获得待滤波向量X;
步骤11c:对缓冲区中的数据进行加窗处理,获得新向量U,即:
u[n]=x[n]×c[n],n=0~N-1
其中,c[n]为窗函数;
步骤11e:计算子带数据yk(n):
其中,0≤k<M-1,0≤n<2KM-1。
步骤12中的低频子带域信号类型判断有许多种方法,例如,通过信号感知熵判断信号类型,通过计算信号子帧的能量判断信号类型等。优选地,采用通过计算信号子帧能量判断信号类型的方法,具体过程如下:
步骤12a:将一帧低频子带域信号y(n)进行高通滤波,将低频部分,例如500Hz以下的频率,滤除掉;
步骤12b:将高通滤波后的信号分成若干个子帧yi(n),为计算方便,通常将一帧信号分成整数个子帧,如一帧为2048点时,可256点为一个子帧;
步骤12c:分别计算每个子帧yi(n)的能量Ei,其中i为子帧的序号。再求出当前子帧与前一子帧的能量比,当能量比大于某个阈值Te时,则判断该帧信号类型为快变信号,若所有子帧与前一帧的能量比均小于Te时,则判断该帧信号类型为缓变信号。如果是快变信号,则继续执行步骤12d,否则不执行步骤12d,将缓变的信号类型确定为低频子带域信号类型分析结果。在该方法中的阈值Te可采用一些信号处理中的熟知方法获得,如统计已编码信号能量的平均比值,并乘以某个常数得到Te;
步骤12d:对于快变信号,将能量最大的子帧判断为快变点发生的位置。将快变的信号类型和快变点发生的位置确定为低频子带域信号类型分析结果。
如果不需划分子帧则无需执行步骤12。
步骤13中,对于每个低频子带域上的一帧信号,如果该帧信号类型为快变信号,则将该帧的低频子带域信号根据快变点的位置分成子帧,具体可以是快变点之前的若干个256采样点帧划分为一个子帧,包括快变点的256采样点帧划分为一个子帧,快变点发生后的若干个256采样点帧划分为一个子帧,否则,划分为一个子帧或者说是不做子帧划分处理。然后对低频子带域的该帧信号按子帧进行线性预测滤波,得到该帧的各个低频子带域上的低频子带域激励信号和每个子帧的LSF矢量量化索引。
其中,对于一子帧的N点低频子带域信号y(n)进行p阶线性预测分析处理包含以下步骤:
步骤13a:计算当前子帧低频子带域信号y(n)的自相关系数r(k),
步骤13b:采用获得的自相关系数r(k),通过递推执行Levinson-Durbin算法获得一组预测系数ai,并由预测系数ai构成线性预测滤波器
步骤13c:通过对两个多项式 求根,将ai转换成一组线谱对LSPi,并由线谱对LSPi得到线谱频率LSFi;
步骤13f:将低频子带域信号y(n)通过量化后的滤波器计算出预测后的低频子带域激励信号
步骤14中,对低频子带域激励信号进行时频变换的方法有很多,如离散傅立叶变换(DFT)、离散余弦变换(DCT)、修正离散余弦变换(MDCT)等。优选地,以离散傅立叶变换(DFT)和修正离散余弦变换(MDCT)为例说明时频变换的过程。
对于采用离散傅立叶变换(DFT)进行时频变换的情况,首先根据信号类型分析结果对当前帧进行分子帧处理,从激励信号的当前子帧的起始位置选取M+N个样本的低频子带域激励信号,这里用xe(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)xe(n)。其中w(n)为窗函数,在实现中可以使用各种窗函数,例如可采用余弦窗,即
其中,N0为当前帧重叠的长度,由上一帧的信号类型确定。然后对经过加窗后的信号进行DFT变换,从而获得M+N个低频子带域激励谱系数, k∈[0,M+N-1]
对于采用修正离散余弦变换(MDCT)进行时频变换的情况,首先选取前一子帧M个样本和当前子帧M个样本的低频子带域激励信号,再对这两子帧共2M个样本的低频子带域激励信号进行加窗操作,然后对经过加窗后的信号进行MDCT变换,从而获得M个低频子带域激励谱系数。
MDCT分析滤波器的脉冲响应为:
则MDCT变换为: 0≤k≤M-1,其中:w(n)为窗函数;xe(n)为MDCT变换的输入低频子带域激励信号;X(k)为MDCT变换的输出的低频子带域激励谱。
为满足信号完全重构的条件,MDCT变换的窗函数w(n)必须满足以下两个条件:
w(2M-1-n)=w(n)且w2(n)+w2(n+M)=1。
在实际中,可选用Sine窗作为窗函数。当然,也可以通过使用双正交变换,用特定的分析滤波器和综合滤波器修改上述对窗函数的限制。
这样,采用MDCT进行时频变换的该帧数据根据信号类型就得到不同的时频平面图。例如,假设当前帧为缓变信号时的时频变换阶数为2048,为快变信号类型时的时频变换阶数为256,则时频平面图如图9所示,其中图9a为缓变信号的时频平面图;图9b为快变信号的时频平面图。
步骤15中,对低频子带域激励谱进行的波形量化编码可采用类似MPEGAAC中的标量加哈夫曼编码的量化方案,也可以采用矢量量化方案。在定码率编码中,矢量量化器是一个合理的选择方案。在本发明的一个具体实施方法中,本优选实施例采用了8维矢量量化方案。矢量量化模块对低频子带域的激励信号频谱进行8维矢量量化。矢量量化的结果输出到比特流复用模块507。
矢量量化的方法具体包括以下步骤:首先将低频子带域上的频域系数构成多个8维矢量信号;而后根据感知距离测度准则通过全搜索方法在码书中查找与待量化矢量距离最小的码字,获得其矢量码字索引。该矢量码字索引加入声音编码码流,用于在解码端解码低频子带域波形编码数据。其中感知距离可采用欧氏距离测度。
步骤16中,高频子带域参数编码是一种根据低频子带域激励谱和高频子带域信号提取用来恢复高频子带域信号的高频子带域参数的方法。本发明中对高频子带域参数编码方法包含以下步骤:
步骤16-1:对步骤11获得的高频子带域信号进行信号类型分析,确定高频子带域信号类型分析结果;
其中,高频子带域信号类型分析包括:判断所述高频子带域信号的类型是缓变信号还是快变信号,若是快变信号则进一步分析快变点发生的位置,确定高频子带域信号类型分析结果。这里,判断、分析方法与低频子带域信号的信号类型分析方法相同,见步骤12的具体实现过程。
步骤16-2:根据高频子带域信号类型分析结果,将高频子带域信号划分为一个或一个以上的、用于预测分析的子帧,按子帧进行线性预测滤波,获得高频子带域信号的高频LSF矢量量化索引以及高频子带域激励信号。其获取方法与计算低频子带域信号的LSF矢量量化索引与低频子带域激励信号的方法相同,见步骤13的具体实现过程。
步骤16-3:对高频子带域激励信号作不同阶数的时频变换,得到高频子带域激励谱。例如可以采用DFT变换。时频变换的阶数与步骤14对低频子带域激励信号进行时频变换时的阶数相同,使得本步骤获得的高频子带域激励谱与步骤14获的低频子带域激励谱相对应。见步骤14的具体实现过程。
步骤16-4:根据高频子带域激励谱对低频子带域激励谱进行谱调整中的谱调性调整,并得到谱调性调整参数以及谱调性调整之后的低频子带域激励谱。
其中,谱调性调整包括:
步骤16-4a:将高频子带域激励谱和低频子带域激励谱划分为若干个频段,并计算每个子频段的高频子带域激励谱的调性Tref以及相应频段的低频子带域激励谱的调性Test,并判断Test与Tref的大小,若Test<Tref-T0,则调整类型为加弦调整,并执行步骤16-4b;若Tref-T0≤Test≤Tref+T1,则调整类型设置为不进行调性调整,直接转至步骤16-5的谱增益调整;若Test>Tref+T1,则调整类型为加噪调整,并执行步骤16-4c;其中T0、T1为预先设置的常数;
步骤16-4b:将调整类型设置为加弦调整,将调整类型和加弦因子 作为谱调性调整参数,用加弦能量 对所述低频子带域激励谱进行加弦调整并转至步骤16-5的谱增益调整;
步骤16-4c:将调整类型设置为加噪调整,将调整类型和加噪因子 作为谱调性调整参数,用加噪能量 对所述低频子带域激励谱进行加噪调整并转至步骤16-5的谱增益调整。
步骤16-5:根据高频子带域激励谱对谱调性调整后的低频子带域激励谱进行谱调整中的谱增益调整,并得到谱增益调整参数以及谱增益调整之后的低频子带域激励谱。其步骤如下:
步骤16-5a:将高频子带域激励谱和谱调性调整后的低频子带域激励谱划分成若干个子频带,对于每个子频带的高频子带域激励谱和谱调性调整后的低频子带域激励谱,分别计算其能量;
步骤16-5b:对于任意一个频带,计算该频带的高频子带域激励谱和谱调性调整后的低频子带域激励谱的能量比,将所述能量比的平方根作为该频带的频域增益调整参数;
步骤16-5c:对谱调性调整后的低频子带域激励谱的任意一个子频带,将该子频带内的每根谱线分别乘以与该子频带对应的谱增益调整参数,得到谱增益调整后的低频子带域激励谱;并将各个子频带的谱增益调整参数的集合作为谱增益调整参数。
步骤16-6:对谱调整后的低频子带域激励谱进行频时变换,得到调整后的低频子带域激励信号。其中谱调整包括谱调性调整和谱增益调整。对应于步骤16-3的时频变换,本步骤采用IDFT变换。
步骤16-7:根据高频子带域信号类型分析结果,对调整后的低频子带域激励信号进行综合滤波,得到重建高频子带域信号。本步骤具体包括:
步骤16-7a:根据高频子带域信号类型分析结果,将一个帧的调整后的低频子带域激励信号划分成一个或一个以上的、用于预测综合的子帧,其划分方法与步骤16-2中的子帧划分方法原理相同;
步骤16-7b:对每一个子帧,采用步骤16-2获得的该子帧内一组高频LSF矢量量化索引,作逆矢量量化得到矢量量化的线谱频率,并将该线谱频率转化为矢量量化后的线性预测滤波器系数,并由所得的这些系数构成线性预测综合滤波器;
步骤16-7c:按子帧,将调整后的低频子带域激励信号通过该子帧对应的线性预测综合滤波器进行综合滤波,得到一帧重建的高频子带域信号。
步骤16-8:根据高频子带域信号类型分析结果,以及所述重建的高频子带域信号的时域增益与步骤11获得的高频子带域信号的时域增益提取时域增益调整参数。具体做法为:根据所述高频子带域信号类型分析结果,将所得的每个帧的重建高频子带域信号划分为一个或一个以上的子帧;计算每个子帧的重建高频子带域信号的能量平均值和该子帧对应的高频子带域信号的能量平均值的比值,将所述比值的平方根作为调整该子帧的时域增益调整参数。
步骤16-9:将包括步骤16-1获得的高频子带域信号类型分析结果、步骤16-2获得的高频LSF矢量量化索引、步骤16-6所得谱调整参数以及步骤16-8所得的时域增益调整参数在内的高频子带域参数进行量化编码后,输出。
本优选实施例中,如果步骤16直接根据步骤13获得的低频子带域激励信号和高频子带域信号提取高频子带域参数,则在提取过程中不包括谱调整的步骤,因此高频子带域参数中不包括谱调整参数。
以下介绍本发明优选实施例的单声道声音解码装置及方法,由于解码过程是编码过程的逆过程,所以仅简单介绍解码过程。图10为作为本发明优选实施例的单声道声音解码装置的结构框图。本发明优选实施例的声音解码装置包括:比特流解复用模块1001、低频子带域波形解码模块1002、低频子带域频时变换模块1003、低频子带域时变预测综合模块1004、高频子带域参数解码模块1005和综合子带滤波器组模块1006。
下面,概括介绍图10所示各个模块的连接关系和功能。
比特流解复用模块1001,用于对接收的声音编码码流进行解复用,得到相应数据帧的声音编码数据和边信息,向低频子带域波形解码模块1002输出相应的声音编码数据;向低频子带域频时变换模块1003、低频子带域时变预测综合模块1004和高频子带域参数解码模块1005输出相应的边信息。
其中,输出到低频子带域波形解码模块1002的数据为低频子带域波形编码数据;输出到低频子带域频时变换模块1003的边信息为低频子带域信号类型分析结果;输出到低频子带域时变预测综合模块1004的边信息包括低频子带域信号类型分析结果和LSF矢量量化索引;输出到高频子带域参数解码模块1005的边信息为高频子带域参数编码数据,包括:量化编码的高频子带域信号类型分析结果、高频LSF矢量量化索引、谱调整参数和时域增益调整参数。
由于该比特流解复用模块1001接收的是图5示出的单声道声音编码装置发送的声音编码码流,因此对该声音编码码流解复用获得低频子带域波形编码数据包括至少2个子带的编码数据;高频子带域编码数据包括至少2个子带的编码数据;低频子带域信号类型分析结果和LSF矢量量化索引也分别包括至少2个子带的相应数据。
低频子带域波形解码模块1002,用于对接收自比特流解复用模块1001的低频子带域波形编码数据进行逆量化解码,并将获得逆量化后的低频子带域激励谱输出到低频子带域频时变换模块1003和高频子带域参数解码模块1005。这里,逆量化解码的方法是编码端中低频子带域波形编码模块505中采用量化编码的逆过程。
低频子带域频时变换模块1003,用于对接收自低频子带域波形解码模块1002的低频子带域激励谱进行频时变换,频时变换根据比特流解复用模块1001输出边信息中的低频子带域信号类型分析结果,采用不同长度阶数的变换,获得低频子带域激励信号,以帧为单位输出至低频子带域时变预测综合模块1004。频时变换的方法是编码端低频子带域时频变换模块504中时频变换的逆过程,包括逆离散傅立叶变换(IDFT,Inverse Discrete FourierTransform)、逆离散余弦变换(IDCT,Inverse Discrete Cosine Transform)、逆修正离散余弦变换(IMDCT,Inverse Modified Discrete Cosine Transform)等。
低频子带域时变预测综合模块1004,根据比特流解复用模块1001输出边信息中的低频子带域信号类型分析结果,对接收自低频子带域频时变换模块1003的一帧低频子带域激励信号进行分子帧处理,然后按子帧进行预测综合,获得该子帧低频子带域信号。如果该帧信号为快变信号,则将该帧低频子带域激励信号根据快变点的位置分为一个以上的子帧,并根据边信息中的每个子帧LSF矢量量化索引对对应子帧的低频子带域激励信号进行预测综合,获得每个子帧的低频子带域信号,最后将每个子帧的低频子带域信号组合成为该帧低频子带域信号;如果是缓变信号,划分为一个子帧,相当于没有划分子帧处理,因此根据该帧的LSF矢量量化索引对该帧低频子带域激励信号进行预测综合,获得该帧的低频子带域信号。
高频子带域参数解码模块1005,用于将接收自比特流解复用模块1001的高频子带域参数编码数据进行逆量化,得到高频子带域参数;根据低频子带域波形解码模块1002输出的低频子带域激励谱和高频子带域参数来恢复高频子带域信号。在根据高频子带域参数恢复高频子带域信号时,根据一个子带的低频子带域激励谱恢复一个子带的高频子带域信号;多个子带的高频子带域信号可以采用同一个子带的低频子带域激励谱恢复,只是对于采用同一个子带的低频子带域激励谱恢复的不同子带的高频子带域信号来说,用于恢复信号的高频LSF矢量量化索引不同。
综合子带滤波器组模块1006,用于将低频子带域时变预测综合模块1004输出的低频子带域信号和高频子带域参数解码模块1005输出的高频子带域信号进行子带合成,以获得解码的单声道声音信号。
与编码端相对应,低频子带域波形解码模块1002对低频子带域波形编码数据的各子带进行逆量化解码;低频子带域频时变换模块1003对低频子带域激励谱的各子带进行频时变换;低频子带域时变预测综合模块1004对低频子带域激励信号的各子带进行预测综合;高频子带域参数解码模块1005根据各子带的高频子带域参数编码数据获取对应子带的高频子带域信号。本实施例的以下详细内容就不再对各子带进行区分描述。
下面,对上述单声道声音解码装置的低频子带域时变预测综合模块1004和高频子带域参数解码模块1005进行具体详细地说明。
图11为图10所示低频子带域时变预测综合模块1004的结构框图,该模块由解矢量量化器1101、转换器1102和线性预测综合器1103组成。其中,解矢量量化器1101接收边信息中的子帧的LSF矢量量化索引,由LSF矢量量化索引解出量化后的线谱频率输出至转换器1102。转换器1102将接收的量化后的线谱频率转换为量化后的一组线性预测滤波器系数将这些系数输入线性预测综合器1103。线性预测综合器1103根据接收的系数构成线性预测综合滤波器再根据边信息中的低频子带域信号类型分析结果,将接收自低频子带域频时变换模块1003的低频子带域激励信号划分为子帧,采用线性预测综合滤波器按子帧对低频子带域激励信号进行综合滤波,得到恢复的低频子带域信号。预测综合是编码端低频子带域时变预测分析模块503中预测分析的逆过程。
图12为图10所示高频子带域参数解码模块1005的结构框图,其包括谱参数解码器1201、自适应时域增益解码器1202和时变预测综合器1203。
其中,谱参数解码器1201,首先从低频子带域波形解码模块1002获得低频子带域激励谱,根据从比特流解复用模块1001得到的谱调整参数(包括调性调整参数和增益调整参数)对低频子带域激励谱进行相应的调整,然后对调整后的低频子带域激励谱进行诸如IDFT的频时变换,获得调整后的低频子带域激励信号输出到自适应时域增益解码器1202。
该谱参数解码器1201包括谱调性调整器1201a、谱增益调整器1201b和IDFT变换器1201c。其中,谱调性调整器1201a,用于从比特流解复用模块1001接收边信息中的谱调性调整参数,根据谱调性调整参数对从低频子带域波形解码模块1002获得低频子带域激励谱进行谱调性调整;谱增益调整器1201b,用于从比特流解复用模块1001接收边信息中的谱增益调整参数,根据谱增益调整参数对谱调性调整后的低频子带域激励谱进行谱增益调整;IDFT变换器1201c将谱增益调整后的低频子带域激励谱进行IDFT变换得到低频子带域激励信号,输出至自适应时域增益解码器1202。
自适应时域增益解码器1202,根据比特流解复用模块1001输出边信息中的高频子带域信号类型分析结果,将来自谱参数解码器1201的调整后低频子带域激励信号划分为一个或多个子帧;所述高频子带域信号类型分析结果包括信号类型和快变信号时的快变点发生的位置,子帧的划分方法与编码端的时域自适应增益调整参数提取器705中的子帧划分方法相同;然后自适应时域增益解码器1202根据从比特流解复用模块1001得到的对应子帧的时域增益调整参数对每一个子帧的低频子带域激励信号进行时域增益调整,并将所得到的时域增益调整后的低频子带域激励信号输出至时变预测综合器1203。
所述时域增益调整方法为:首先从比特流解复用模块1001中获得的所要进行时域增益调整的子帧的量化后的时域增益调整参数,解量化该调整参数,并将该子帧内的激励信号均乘以解量化后的该调整参数。所得结果即为时域增益调整后的低频子带域激励信号。
时变预测综合器1203,将来自自适应时域增益解码器1202的一个或若干个子帧的低频子带域激励信号根据其时间顺序组合成一帧低频子带域激励信号,并根据从比特流解复用模块1001输出边信息中的高频子带域信号类型分析结果将该帧低频子带域激励信号重新进行划分子帧,子帧的划分方法与编码端的时变预测分析器702中的方法相同;再根据从比特流解复用模块1001中得到的高频LSF矢量量化索引构成每个子帧的线性预测综合滤波器,并对对应子帧的低频子带域激励信号进行综合滤波,获得对应子帧的重建高频子带域信号。综合滤波的方法与编码端的时变预测综合器704相同;并将所得对应子帧的重建高频子带域信号作为解码后的高频子带域信号输出到综合子带滤波器组模块1006。
与编码端相对应,当高频子带域参数不包括谱调整参数,则高频子带域参数解码模块1005也可以从低频子带域频时变换模块1003中获取低频子带域激励信号,因此高频子带域参数解码模块1005不进行谱调整,即高频子带域参数解码模块1005也不包括谱参数解码器1201,只根据高频LSF矢量量化索引构成的线性预测综合滤波器,对时域增益调整后的低频子带域激励信号进行综合滤波,从而获得重建的高频子带域信号,实现了高频子带域信号的恢复。
图13为基于本发明单声道声音解码装置的解码方法流程图。如图13所示,该方法包括以下步骤:
步骤21:将声音编码码流进行解复用,得到低频子带域波形编码数据以及解码所用的所有边信息。
步骤22:对低频子带域波形编码数据进行解码逆量化,得到逆量化后的低频子带域激励谱。
步骤23:对逆量化后的低频子带域激励谱进行频时变换,得到低频子带域激励信号。
步骤24:根据从边信息中读取的LSF矢量量化索引获得线性预测综合滤波器,对低频子带域激励信号进行综合滤波,恢复低频子带域信号。
步骤25:根据步骤22中得到的低频子带域激励谱和从边信息中的高频子带域参数编码数据恢复高频子带域信号。
步骤26:将步骤24得到的低频子带域信号和步骤25得到的高频子带域信号组合在一起用综合子带滤波器组进行子带合成,恢复单声道声音信号。
与编码端相对应,步骤21获取的低频子带域波形编码数据包括至少两个子带的波形编码数据,边信息中包括至少两个子带的高频参数编码数据。步骤22对低频子带域波形编码数据的各子带进行逆量化解码;步骤23对低频子带域激励谱的各子带进行频时变换;步骤24对低频子带域激励信号的各子带进行预测综合;步骤25根据各子带的高频子带域参数编码数据获取对应子带的高频子带域信号。本实施例的以下详细内容就不再对各子带进行区分描述。
以下对图13中的各个步骤进行详细说明。
步骤22中,低频子带域波形解码方法对应于低频子带域波形编码方法。如果在低频子带域信号编码部分的具体实施方案是采用的矢量量化的方法,则对应的低频子带域逆量化需要从码流中得到矢量码字索引,根据码字索引在固定码书中找到对应的矢量。将低频子带域波形矢量按顺序组合成逆量化后的低频子带域激励谱。
步骤23中,对应于本发明中单声道声音编码部分低频子带域时频变换的具体实施方法,以逆离散傅立叶变换(IDFT)和逆修正离散余弦变换(IMDCT)为例说明频时变换的过程。
对于逆离散傅立叶变换(IDFT),频时变换过程包括三个步骤:IDFT变换、时域加窗处理和时域叠加运算。
本实施例中,首先根据边信息中的低频子带域信号类型分析结果将低频子带域激励谱划分为一个或一个以上的用于频时变换的子帧,再按子帧对低频子带域激励谱进行频时变换。划分方法与编码端低频子带域时频变换模块504中,采用DFT变换的划分方法相同。
其次,对逆量化后的低频子带域激励谱进行IDFT变换,得到变换后的时域信号xi,n。IDFT变换的表达式为: 其中,M表示当前子帧样本数,N表示下一子帧叠加样本数,M和N的长度由当前帧的信号类型确定,同编码器低频子带域时频变换模块504中的取值保持一致;n表示样本序号,且0≤n<N+M,i表示帧序号;k表示谱序号。
然后,对IDFT变换后的时域信号进行加窗处理,加窗后的数据,后N点保留,为下一子帧叠加数据。加窗函数与编码端相对应。例如余弦窗:
其中,N0为当前子帧叠加的长度。由上一帧的信号类型确定。最后对于上面加窗的时域信号的前M点进行叠加计算。计算方法为将前一子帧保存最后N0点时域数据与当前子帧前N0点的时域数据叠加,其余M-N0点数据不变,所得数据即为频时变换后当前子帧的时域信号,即低频子带域激励信号。
对于逆修正离散余弦变换(IMDCT),频时变换过程包括三个步骤:IMDCT变换、时域加窗处理和时域叠加运算。
本实施例中,首先根据边信息中的低频子带域信号类型分析结果将低频子带域激励谱划分为一个或一个以上的用于频时变换的子帧。划分方法与编码端低频子带域时频变换模块504中,采用MDCT进行时频变换的划分方法相同。
其次,按子帧对低频子带域激励谱进行IMDCT变换,得到变换后的时域信号xi,n。IMDCT变换的表达式为: 其中,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,Kaiser-BesselDerived)窗等。另外可以利用双正交变换,采用特定的分析滤波器和合成滤波器修改上述对窗函数的限制。
最后,对上述加窗时域信号进行叠加处理,得到时域音频信号。具体是:将加窗操作后获得的信号的前N/2个样本和前一子帧信号的后N/2个样本重叠相加,获得N/2个输出的时域音频样本,即timeSami,n=preSami,n+preSami-1,n+N/2,其中i表示帧序号,n表示样本序号,有 从而得到低频子带域激励信号。
步骤24中,低频子带域激励信号的预测综合是编码部分中对低频子带域信号预测分析的逆过程,其作用是将低频子带域激励信号通过线性预测综合得到合成后的低频子带域信号。
在进行预测综合时,首先根据边信息中的低频子带域信号类型分析结果,将一帧低频子带域激励信号重新划分为一个或一个以上的、用于预测综合的子帧,划分方法与编码端低频子带域时变预测分析模块503的划分子帧方法相同。下面为本发明实现对一子帧的低频子带域激励信号xe(n)进行预测综合的具体过程,包括以下步骤:
步骤24a:由边信息中读取的LSF矢量量化索引,将LSF矢量量化索引解码为量化后的线谱频率,并转换为线谱对;
步骤24c、将低频子带域激励信号xe(n)通过线性预测综合滤波器得到合成的低频子带域信号y(n):
步骤25中,高频子带域参数解码方法包含以下步骤:
步骤25-1:将边信息的高频子带域参数编码数据逆量化解码,获得高频子带域参数,从高频子带域参数中读取谱调性调整参数,并根据该谱调性调整参数对步骤22得到的低频子带域激励谱进行谱调性调整。其中,谱调性调整参数包括调整类型和调整参数调性调整包括以下步骤:
步骤25-1a:将低频子带域激励谱划分为一个或一个以上的子频带,并分别计算每个子频带的能量Eest;
步骤25-1b:对于每一个子频带判断调整类型,若调整类型为不调整,则对该频带不作处理;若调整类型为加弦处理,则在该频带的正中位置加弦,加弦能量为 所加弦的相位与前一帧相位连续;若调整类型为加噪调整,则在该频带加随机噪声,加噪能量为 处理完毕所有频带后则结束谱调性调整。
步骤25-2,从高频子带域参数中读取谱增益调整参数,并对谱调性调整后的低频子带域激励谱进行谱增益调整,包括:
步骤25-2a:将低频子带域激励谱划分为一个或一个以上的子频带;
步骤25-2b:对于任一个子频带,用该子频带对应的谱增益调整参数乘以该子频带内的每根谱线,得到该子频带的谱增益调整后的低频子带域激励谱,将所有子频带组合起来即为谱增益调整后的低频子带域激励谱。
步骤25-3:对调整后的低频子带域激励谱进行IDFT变换,得到低频子带域激励信号,变换方法与低频子带域频时变换方法相同,具体实施方式见步骤23。
步骤25-4:从高频子带域参数中读取时域增益调整参数,根据对应的时域增益调整参数对所得低频子带域激励信号进行时域增益调整,并输出所得调整后的低频子带域激励信号。具体做法为:先将低频子带域激励信号划分为一个或一个以上的子帧;再读取时域增益调整参数,将每个子帧的低频子带域激励信号分别乘以相应的时域增益调整参数,得到时域增益调整后的低频子带域激励信号。
步骤25-5:对所得时域增益调整后的低频子带域激励信号进行综合滤波,得到重建的高频子带域信号。具体包括:
步骤25-5a:读取高频子带域信号类型分析结果,并根据所读取的高频子带域信号类型分析结果将一帧的低频子带域激励信号划分成一个或一个以上的、用于预测综合的子帧;
步骤25-5b:对所述每一个子帧,读取高频LSF矢量量化索引构成每个子帧的线性预测综合滤波器;
步骤25-5c:由所述线性预测综合滤波器对低频子带域激励信号进行综合滤波,得到重建的高频子带域信号,即恢复出了高频子带域信号,实现频带扩展解码,并继续执行后续处理步骤。
步骤26中,对应于本发明单声道声音编码部分分析子带滤波器组采用PQMF进行子带分解的具体实施例,以PQMF为例说明子带合成的过程。
PQMF中综合滤波器的脉冲响应为:
其中,p0(n)为原型滤波器,M为子带数,N为原型滤波器阶数,并且0≤k<M-1,0≤n<2KM-1,N=2KM。
用PQMF合成时域波形信号的步骤具体如下:
步骤26a:将PQMF的缓冲区中的数据平移,即:
z[t]=z[t-M],t=N-1~M
步骤26b:计算M个新系数,即:
其中,t=M-1~0。
步骤26c:生成加权向量,即:
u[Mn+k]=z[2Mn+k]
u[Mn+64+k]=z[2Mn+192+k]
其中,k=0~M-1,n=0~K。
步骤26d:加权向量数据加窗,即:
w[n]=u[n]*c[n],其中n=0~N-1
步骤26f:顺序输出PCM样本,得到恢复的单声道声音信号。
本优选实施例中,步骤25在恢复高频子带域信号时,如果高频子带域参数中没有谱调整参数,则该步骤25可以根据高频子带域参数从步骤23获得的低频子带域激励信号中恢复高频子带域信号,在恢复过程中也不包括谱调整。
以下介绍本发明优选实施例的立体声编码装置及方法。
图14为作为本发明优选实施例的立体声编码装置的结构框图,本发明优选实施例的立体声编码装置包括:分析子带滤波器组模块1401、低频子带域和信号类型分析模块1402、低频子带域时变预测分析模块1403、低频子带域时频变换模块1404、低频子带域立体声编码模块1405、高频子带域参数编码模块1406,以及比特流复用模块1407。
下面,具体介绍图14中各个模块的连接关系和功能,其中:
分析子带滤波器组模块1401,用于将输入的立体声信号中的左、右声道(L,R)分别进行子带分解,使两个声道中的每个子带信号都对应特定的频率范围,生成各频率范围的子带域信号(L1,R1)~(Lk1+k2,Rk1+k2),其中k1大于等于2,k2大于等于2。然后将两个声道中的低频子带信号(L1,R1)~(Lk1,Rk1)以帧为单位输入到低频子带域和信号类型分析模块1402和低频子带域时变预测分析模块1403,将两个声道中的高频子带信号(Lk1+1,Rk1+1)~(Lk1,Rk1)以帧为单位输入到高频子带域参数编码模块1406。
低频子带域和信号类型分析模块1402,用于从分析子带滤波器组模块1401接收两个声道中的低频子带域信号,并由这两个声道的低频子带信号计算出低频子带域和信号,对该低频子带域和信号进行信号类型分析,判断该帧和信号的类型是缓变信号还是快变信号,若是缓变信号,则直接输出信号类型,例如,输出表示该帧和信号的类型为缓变的标识;若是快变信号,则继续计算快变点发生的位置,并输出相应的信号类型和快变点发生的位置。低频子带域和信号类型分析的结果一方面输出到低频子带域时变预测分析模块1403中用于子帧划分控制,另一方面输出到低频子带域时频变换模块1404中用于对时频变换的阶数进行控制,同时,和信号类型分析结果还作为声音编码码流的边信息输出到比特流复用模块1407中。在实际中,根据本发明原理的立体声编码装置可以不包括该模块。
低频子带域时变预测分析模块1403,用于从分析子带滤波器组模块1401接收两个声道中的低频子带域信号,并根据低频子带域和信号类型分析模块1402输出的低频子带域和信号类型分析结果,对接收的两个声道中的低频子带信号进行分子帧处理,然后按子帧对两个声道中的低频子带域信号进行预测分析,即线性预测滤波,得到所述两个声道中的低频子带域激励信号,再将得到的两个声道中的低频子带域激励信号输出到低频子带域时频变换模块1404。在输出时,将子帧按照划分顺序合并成帧输出。
其中,在划分子帧时,如果和信号类型为缓变信号,一帧只划分一个子帧,即不划分子帧;如果和信号类型为快变信号,则将该帧左/右声道低频子带域信号根据快变点位置分为不同的子帧。具体划分不同子帧的方法参见低频子带域时变预测分析模块503对单声道声音信号进行子帧划分处理的具体方法。
低频子带域时变预测分析模块1403可以采用本发明单声道声音编码装置中的组成结构按子帧对低频子带域信号进行线性预测分析。将线性预测分析过程中得到的两个声道的LSF矢量量化索引作为边信息发送给比特流复用模块1407。
低频子带域时频变换模块1404,用于从低频子带域时变预测分析模块1403接收所述两个声道中的低频子带域激励信号,并根据低频子带域和信号类型分析模块1402输出的低频子带域和信号类型分析结果,采用不同长度阶数的变换,分别将两个声道中的低频子带域激励信号由时域变换到频域,获得所述两个声道中的低频子带域激励信号的频域表示,即两个声道的低频子带域激励谱。再将时频变换得到的两个声道的低频子带域激励谱输出到低频子带域波形编码模块1405和高频子带域参数编码模块1406。如果根据本发明原理的立体声编码装置不包括低频子带域和信号类型分析模块1402,则在时频变换时不对阶数进行控制。
其中,具体的时频变换方法如离散傅立叶变换(DFT)、离散余弦变换(DCT)、修正离散余弦变换(MDCT)等。并且,在具体时频变换时,以低频子带域和信号类型分析结果作为时频变换的阶数控制。快变信号以子帧为单位做时频变换,选择较短阶数的变换;缓变信号以帧为单位做时频变换,选择较长阶数的变换。将时频变换得到的所述两个声道的低频子带域激励谱输出到低频子带域立体声编码模块1405。
低频子带域立体声编码模块1405,用于从低频子带域时频变换模块1404接收所述两个声道中的低频子带域激励谱,并将激励谱划分为若干个子频带,分别对每个子频带采用立体声编码模式进行立体声编码,得到低频子带域立体声编码数据,并作为声音编码码流中的声音编码数据输出到比特流复用模块1407。其中,立体声编码模式包含和差立体声编码模式、参数立体声编码模式和参数误差立体声编码模式。在进行立体声编码时,每个子频带选择上述三种编码模式中的一种进行立体声编码。其中,编码模式选择信息同时作为边信息输出到比特流复用模块1407中。
高频子带域参数编码模块1406,用于从低频子带域时频变换模块1404接收两个声道的低频子带域激励谱,从分析子带滤波器组1401接收两个声道的高频子带域信号,根据两个声道的低频子带域激励谱和两个声道的高频子带域信号提取两个声道的高频子带域参数,该高频子带域参数用来从两个声道的低频子带域激励谱恢复两个声道的高频子带域信号,然后该高频子带域参数编码模块1406对提取的高频子带域参数进行量化编码后,得到高频子带域参数编码数据,将该高频子带域参数编码数据作为边信息输出到比特流复用模块1407。
比特流复用模块1407,用于将从低频子带域和信号类型分析模块1402、低频子带域时变预测分析模块1403、低频子带域立体声编码模块1405、和高频子带域参数编码模块1406接收到的声音编码数据以及边信息进行复用,形成立体声的声音编码码流。
本实施例中,低频子带域时变预测分析模块1403、低频子带域时频变换模块1404、高频子带域参数编码模块1406需要对立体声的左、右声道分别进行处理,其处理方法与单声道声音编码装置中的同名模块处理方法相同。因此,上述三个模块中的每个模块都通过将两个单声道声音编码装置中的同名模块组合,从而实现对立体声的处理。
可见,与本发明优选实施例的单声道声音编码装置不同之处在于,单声道声音编码装置生成声音编码码流的声音编码数据时,采用的是低频子带域波形编码模块505;而立体声编码装置在生成声音编码码流的声音编码数据时,采用的是低频子带域立体声编码模块1405。该模块也是对低频子带域立体声编码数据的各子带进行划分子频带和立体声编码。
当然,与单声道声音编码装置中的高频子带域参数编码模块506相同,本优选实施例的高频子带域参数编码模块1406也可以接收低频子带域时变预测分析模块1403生成的两个声道的低频子带域激励信号,而不接收两个声道的低频子带域激励谱。在这种情况下,直接根据两个声道的低频子带域激励信号和两个声道的高频子带域信号提取两个声道的高频子带域参数。该高频子带域参数用于从两个声道的高频子带域激励信号中恢复两个声道的高频子带域信号,该高频子带域参数不包括谱调整参数。
图15为基于本发明立体声编码装置的编码方法流程图。如图15所示,该方法包括以下步骤:
步骤31:对输入的立体声信号的左、右声道分别进行子带分解,使两个声道中的每个子带域信号对应特定的频率范围。分解得到左、右声道的低频子带域信号和左、右声道的高频子带域信号,其中左/右声道的低频子带域信号包括至少2个子带的子带域信号;左/右声道的高频子带域信号也包括至少2个子带的子带域信号。
步骤32:由两个声道中的低频子带域信号计算出低频子带域和信号,对该低频子带域和信号进行信号类型分析,如果是缓变类型信号,则直接将信号类型确定为低频子带域和信号类型分析结果;如果是快变类型信号,则继续计算快变点发生的位置,最后将信号类型和快变点位置确定为低频子带域和信号类型分析结果。
步骤33:根据低频子带域和信号类型分析结果,对所述两个声道中的低频子带域信号进行分子帧处理,按子帧进行预测分析,即线性预测滤波,并得到所述两个声道中的低频子带域激励信号。
步骤34:根据低频子带域和信号类型分析结果,采用不同长度阶数对所述两个声道中的低频子带域激励信号进行时频变换,得到所述两个声道中的低频子带域激励谱。
步骤35:将所述两个声道中的低频子带域激励谱划分为若干个子频带,对每个子频带进行立体声编码,得到低频子带域立体声编码数据。
步骤36:根据所述两个声道中的低频子带域激励谱和所述两个声道中的高频子带域信号,提取用来从所述两个声道中的低频子带域激励谱恢复所述两个声道中的高频子带域信号的高频子带域参数,对高频子带域参数进行量化编码,获得高频子带域参数编码数据。
步骤37:对上述低频子带域立体声编码数据和边信息进行复用,得到声音编码码流。其中,边信息包括低频子带域和信号类型分析结果和左、右声道的高频子带域参数编码数据,还包括对低频子带域信号进行线性预测滤波过程中生成的两个声道的LSF矢量量化索引。
其中,步骤31中的子带分解方法、步骤32中的信号类型判断方法、步骤33中的预测分析处理、步骤34中的时频变换方法、和步骤36中的高频子带域参数编码方法,都已在本发明单声道编码装置的编码方法的实施例中介绍过,在本发明立体声编码装置的编码方法的实施例中采用相同的方法,因此不做介绍。
其中,步骤35的低频子带域立体声编码的过程为,首先将所述两个声道中的低频子带域激励谱划分为若干个子频带,然后对每个子频带从三种编码模式即和差立体声编码模式、参数立体声编码模式和参数误差立体声编码模式中选择一种,对该子频带内的两个声道中的低频激励谱进行编码。在划分时,分别对两个声道的低频子带域激励谱的各子带进行划分。下面首先给出两种编码模式选择的实施方法:
编码模式选择实施方法1:分别用三种编码模式以相同的比特数对所述两个声道中的低频子带域激励谱进行编码和解码,计算解码恢复的两个声道中的低频子带域激励谱与编码前低频子带域激励谱的误差,并选择误差最小的编码模式作为立体声编码的编码模式。将编码模式选择信息作为边信息输出到比特流复用模块1407中;
编码模式选择实施方法2:对于低频子带域内频率低于一确定值的较低频率子频带,例如1kHz以下的子频带,分别采用和差立体声编码模式和参数立体声编码模式进行编码和解码,计算恢复的两个声道中的低频子带域激励谱与编码前低频子带域激励谱的误差,并选择误差较小的编码模式,将编码模式选择信息作为边信息输出到比特流复用模块1407中,对于频率高于上述确定值的较高频率子频带,如1kHz以上的子频带,采用参数立体声编码模式。此时,参数立体声编码模式的选择信息可以输出或者不输出至比特流复用模块1407。
当然,在实际应用中也可以采用固定的立体声编码模式,在这种情况下,不需要将编码模式选择信息作为边信息输出到比特流复用模块1407中。
下面分别对三种立体声编码模式的实施方法进行详细说明。
图16为和差立体声编码模式的模型图。和差立体声编码模式是根据所述两个声道中的子频带内的低频子带域激励谱,计算出该子频带内的一个和激励谱和一个差激励谱。具体实施方法如下:
图17为参数立体声编码模式的模型图。参数立体声编码模式是根据所述两个声道中的子频带k内的低频子带域激励谱,计算出该子频带k内的一个单声道的激励谱,同时计算用于通过该子频带单声道激励谱来恢复所述两个声道中的该子频带k内的低频子带域激励谱的参数。下面列举两种参数立体声编码的具体实施方法。
参数立体声编码具体实施方法1包含以下步骤:
其中,ER(k)和EL(k)分别为子频带k内右声道、左声道的能量。
步骤35-1b:对于子频带k内的每个频率点i,计算该频率点的加权和激励谱和加权差激励谱。由于经缩放后,子频带k内各个频率点的左右声道的能量比统计上近似相同,所以由与能量近似相等,因此加权和激励谱和加权差激励谱近似垂直。计算公式如下:
步骤35-1c:产生与加权和激励谱等幅垂直的正交激励谱,根据正交激励谱和加权差激励谱计算正交激励谱的加权参数gd(k),使得采用gd(k)缩放后的正交激励谱与的能量相等。gd(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)。
图18为参数误差立体声编码模式的模型图。参数误差立体声编码模式是根据所述两个声道中的子频带内的低频子带域激励谱,计算出该子频带内的一个单声道的激励谱、一个误差谱和通过该单声道激励谱、误差谱来恢复所述两个声道中的子频带内的低频子带域激励谱的参数。
步骤35-3a:对于子频带k内某个声道,如右声道计算该声道的加权参数gr(k),并得到缩放后的该声道的激励谱由于参数提取频带内各个频率点i的左右声道的能量比统计上近似相同,所以与能量近似相等,所以加权和激励谱和加权差激励谱近似垂直;其中,gr(k)的计算方法与步骤35-1a中gr(k)的计算方法相同。
步骤35-3f:上述加权和激励谱误差激励谱参数gr(k)和gd(k)分别经量化编码后输出到比特流复用模块1407。其中,量化编码后的和为低频子带域立体声编码数据,量化编码后的gr(k)和gd(k)为边信息。
本优选实施例中,如果步骤36直接根据步骤33获得的两个声道的低频子带域激励信号和两个声道的高频子带域信号提取高频子带域参数,则在提取过程中不包括谱调整的步骤,因此两个声道的高频子带域参数中都不包括谱调整参数。
以下介绍本发明优选实施例的立体声解码装置及方法。
图19为作为本发明优选实施例的立体声解码装置的结构框图。如图19所示,本发明优选实施例的立体声解码装置包括:比特流解复用模块1901、低频子带域立体声解码模块1902、低频子带域频时变换模块1903、低频子带域时变预测综合模块1904、高频子带域参数解码模块1905和综合子带滤波器组模块1906。
下面,具体介绍图19所示各个模块的连接关系和功能,其中,
比特流解复用模块1901,用于对接收的声音编码码流进行解复用,得到相应数据帧的声音编码数据和边信息,向低频子带域立体声解码模块1902输出相应的声音编码数据;向低频子带域频时变换模块1903、低频子带域时变预测综合模块1904和高频子带域参数解码模块1905输出相应的边信息。
其中,输出到低频子带域立体声解码模块1902的声音编码数据为低频子带域立体声编码数据;输出到低频子带域频时变换模块1903的边信息为低频子带域和信号类型分析结果;输出到低频子带域时变预测综合模块1904的边信息包括低频子带域和信号类型分析结果和低频子带域LSF矢量量化索引;输出到高频子带域参数解码模块1905的边信息为高频子带域参数编码数据,包括:高频子带域信号类型分析结果、高频LSF矢量量化索引、谱调整参数和时域增益调整参数。当编码端的低频子带域立体声编码模块1405输出了编码模式选择信息,编码模式选择信息还将作为边信息输出至低频子带域立体声解码模块1902(图19中未示出)。
低频子带域立体声解码模块1902,用于根据比特流解复用模块1901输出边信息中的编码模式选择信息对低频子带域立体声编码数据进行立体声解码,获得所述两个声道中的低频子带域激励谱,发送给低频子带域频时变换模块1903和高频子带域参数解码模块1905。
低频子带域频时变换模块1903,用于对接收自低频子带域立体声解码模块1902的两个声道中的低频子带域激励谱进行频时变换,频时变换根据比特流解复用模块1901输出边信息中的低频子带域和信号类型分析结果,采用不同长度阶数的变换,获得所述两个声道中的低频子带域激励信号,以帧为单位发送给低频子带域时变预测综合模块1904。频时变换的方法是编码端低频子带域时频变换模块1404中时频变换的逆过程,包括逆离散傅立叶变换(IDFT)、逆离散余弦变换(IDCT)、逆修正离散余弦变换(IMDCT)等。
低频子带域时变预测综合模块1904,用于根据比特流解复用模块1901输出边信息中的低频子带域和信号类型分析结果,将接收自低频子带域频时变换模块1903的一帧低频子带域激励谱划分为一个或一个以上的、用于预测综合的子帧,对每个子帧进行综合滤波,获得每个子帧的低频子带域信号,按照划分顺序组成一帧低频子带域信号。划分方法与立体声编码装置的低频子带域时变预测分析模块1403的子帧划分方法相同。
高频子带域参数解码模块1905,用于根据接收自低频子带域立体声解码模块1902的所述两个声道中的低频子带域激励谱和比特流解复用模块1901输出边信息中的两个声道的高频子带域参数编码数据来恢复所述两个声道中的高频子带域信号。
综合子带滤波器组模块1906,用于将低频子带域时变预测综合模块1904输出的所述两个声道中的低频子带域信号和高频子带域参数解码模块1905输出的所述两个声道中的高频子带域信号进行子带合成,以获得解码的立体声信号。
本实施例中,低频子带域频时变换模块1903、低频子带域时变预测综合模块1904和高频子带域参数解码模块1905分别采用两套单声道声音解码装置的同名模块分别对左、右声道信号进行处理。
与立体声解码装置相对应,当高频子带域参数不包括谱调整参数,则高频子带域参数解码模块1905也可以从低频子带域频时变换模块1903中获取两个声道的低频子带域激励信号,因此高频子带域参数解码模块1905不进行谱调整,只根据两个声道的高频LSF矢量量化索引构成的各自的线性预测综合滤波器,对只经过了时域增益调整后的两个声道的低频子带域激励信号进行综合滤波,从而获得两个声道的重建高频子带域信号,实现了两个声道的高频子带域信号的恢复。
图20为基于本发明立体声音解码装置的解码方法流程图。如图20所示,该方法包括以下步骤:
步骤41:将声音编码码流进行解复用,得到低频子带域立体声编码数据以及解码所用的所有边信息。
步骤42:根据边信息中的立体声编码模式选择信息对低频子带域立体声编码数据进行立体声解码,获得所述两个声道中的低频子带域激励谱。
步骤43:根据边信息中的低频子带域和信号类型分析结果,对所述两个声道中的低频子带域激励谱按照不同阶数,进行频时变换,得到所述两个声道中的低频子带域激励信号。
步骤44:根据边信息中的两个声道的LSF矢量量化索引获得低频子带域线性预测综合滤波器,采用边信息中的低频子带域和信号类型分析结果对两个声道中的低频子带域激励信号进行划分子帧处理,然后采用获得的线性预测综合滤波器按子帧对所述两个声道中的低频子带域激励信号进行综合滤波,得到所述两个声道中的解码后的低频子带域信号。
步骤45:根据所述两个声道中的低频子带域激励谱和边信息中的高频子带域参数编码数据,恢复所述两个声道中的高频子带域信号,得到所述两个声道中的解码后的高频子带域信号。
步骤46:将所述两个声道中的低频子带域信号和所述两个声道中的高频子带域信号组合在一起,用综合子带滤波器组进行子带合成。
其中,步骤43中的频时变换方法、步骤44中的预测综合处理、步骤45中的高频子带域参数解码方法,和步骤46中的子带合成方法,都已在本发明单声道解码装置的解码方法的实施例中介绍过,在本发明立体声解码装置的解码方法的实施例中采用相同的方法,因此不做介绍。
其中,步骤42根据编码模式选择信息进行立体声解码,对应于编码模式选择实施方法1,解码方法为根据编码模式选择信息对每个子频带的低频子带域立体声编码数据进行解码;对应于编码模式选择实施方法2,解码方法为根据编码模式选择信息对较低频率子频带中每个子频带的低频子带域立体声编码数据进行解码,对于较高频率的子频带,采用参数立体声解码模式。其中,低频子带域立体声解码包含三种立体声解码模式。
和差立体声解码模式是通过子频带内的低频子带域的和激励谱和差激励谱来恢复该子频带内的所述两个声道中的低频子带域激励谱。具体实施方法如下:
参数立体声解码模式是根据低频子带域立体声解码模块1902接收到的子频带内的加权和激励谱和边信息中的相应参数和来恢复该子频带内的左、右声道低频子带域激励谱。对应于编码部分的参数立体声编码方法中的具体实施方式1和具体实施方式2,但两种实施方式的解码过程相同,包含以下步骤:
本优选实施例中,步骤45在恢复两个声道的高频子带域信号时,如果两个声道的高频子带域参数中没有谱调整参数,则该步骤45可以根据两个声道的高频子带域参数从步骤43获得的两个声道的低频子带域激励信号中恢复两个声道的高频子带域信号,在恢复过程中不包括谱调整的步骤。
由以上所述可以看出,本发明所提供的单声道声音编解码方案在对低频子带域信号进行波形编码时,采用了高效率的子带编码、预测编码和变换编码的结合形式,提高了编码效率;在对高频子带域信号进行处理时采用了高效率参数编码形式,还在高频子带域激励信号进行参数编码的过程中,进行有效的频谱结构调整和时域增益调整,不仅提高了编码效率而且降低解码后声音的失真。
另外,本发明的立体声编解码方案不仅拥有上述基于本发明原理的单声道声音编解码方案所拥有的优势,还提供了多种基于子带激励谱的参数立体声编码方法,能够降低码率,适合在极低码率下的立体声编码。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (31)
1.一种单声道声音编码装置,其特征在于,该编码装置包括:
分析子带滤波器组模块,用于对单声道声音信号进行子带分解,分解为包括至少2个子带的低频子带域信号,以及包括至少2个子带的高频子带域信号;
低频子带域时变预测分析模块,用于对所述低频子带域信号进行预测分析,以获取低频子带域激励信号;
低频子带域时频变换模块,用于对所述低频子带域激励信号进行时频变换,以获取低频子带域激励谱;
低频子带域波形编码模块,用于对所述低频子带域激励谱进行量化编码,以获取低频子带域波形编码数据;
高频子带域参数编码模块,用于根据所述低频子带域激励谱和所述高频子带域信号,计算用于从低频子带域激励谱中恢复高频子带域信号的高频子带域参数,对该高频子带域参数进行量化编码后,以获取高频子带域参数编码数据;或者,根据所述低频子带域激励信号和所述高频子带域信号,计算用于从低频子带域激励信号中恢复高频子带域信号的高频子带域参数,对该高频子带域参数进行量化编码后,以获取高频子带域参数编码数据;
比特流复用模块,用于对所述低频子带域波形编码数据和高频子带域参数编码数据进行复用,以输出声音编码码流。
2.如权利要求1所述的编码装置,其特征在于,该编码装置进一步包括低频子带域信号类型分析模块,该模块用于对一帧所述低频子带域信号进行信号类型分析,并输出低频子带域信号类型分析结果;如果所述低频子带域信号是缓变信号则输出信号类型;如果是快变信号,则进一步获取快变点位置,并输出信号类型和所述快变点位置;
所述低频子带域时变预测分析模块进一步用于根据所述低频子带域信号类型分析结果,将所述低频子带域信号划分为一个或一个以上的、用于预测分析的子帧;
所述低频子带域时频变换模块进一步用于根据所述低频子带域信号类型分析结果,将所述低频子带域激励信号划分为一个或一个以上的、用于时频变换的子帧;
所述比特流复用模块进一步用于对所述低频子带域信号类型分析结果进行复用。
3.如权利要求1所述的编码装置,其特征在于,当所述高频子带域参数编码模块根据低频子带域激励谱和高频子带域信号计算高频子带域参数时,所述高频子带域参数编码模块包括:
时变预测分析器,用于对接收的所述高频子带域信号进行线性预测分析,获得线性预测滤波器的高频LSF矢量量化索引和高频子带域激励信号;将所述高频LSF矢量量化索引经编码后输出至所述比特流复用模块;
谱参数编码器,用于对所述高频子带域激励信号进行时频变换,得到高频子带域激励谱,根据所述高频子带域激励谱对接收的所述低频子带域激励谱进行谱调整,将提取的谱调整参数经量化编码后输出至所述比特流复用模块,对谱调整后的低频子带域激励谱进行频时变换,得到谱调整后的低频子带域激励信号;
时变预测综合器,用于采用根据所述高频LSF矢量量化索引获得的线性预测综合滤波器,对所述谱调整后的低频子带域激励信号进行综合滤波,得到重建高频子带域信号;
时域自适应增益调整参数提取模块,用于将所述高频子带域信号以及所述重建高频子带域信号进行比较,得到时域增益调整参数,经量化编码后输出至所述比特流复用模块。
4.一种单声道声音编码方法,其特征在于,该方法包括:
A、对单声道声音信号进行子带分解,分解为包括至少2个子带的低频子带域信号,以及包括至少2个子带的高频子带域信号;
B、对所述低频子带域信号进行预测分析和时频变换,以获取低频子带域激励谱;对所述低频子带域激励谱进行量化编码,以获取低频子带域波形编码数据;
C、根据所述高频子带域信号和低频子带域激励谱,计算用于从低频子带域激励谱中恢复高频子带域信号的高频子带域参数,并对该高频子带域参数进行量化编码后,获取高频子带域参数编码数据;或者,根据所述高频子带域信号和经所述预测分析得到的低频子带域激励信号,计算用于从低频子带域激励信号中恢复高频子带域信号的高频子带域参数,并对高频子带域参数进行量化编码后,获取高频子带域参数编码数据;
D、对所述低频子带域波形编码数据和所述高频子带域参数编码数据进行复用,输出声音编码码流。
5.如权利要求4所述的编码方法,其特征在于,该方法进一步包括步骤:对一帧低频子带域信号进行信号类型分析,并确定低频子带域信号类型分析结果;如果所述低频子带域信号是缓变信号,则将信号类型作为低频子带域信号类型分析结果;如果是快变信号,则进一步获取快变点位置,将信号类型和快变点位置作为信号类型分析结果;
步骤B所述对所述低频子带域信号进行预测分析和时频变换包括:根据低频子带域信号类型分析结果,将一帧低频子带域信号划分为一个或一个以上的、用于预测分析的子帧;按子帧对所述低频子带域信号进行预测分析,获得子帧的低频子带域激励信号,然后按照划分顺序将各个子帧组合生成一帧低频子带域激励信号;
根据所述低频子带域信号类型分析结果,将所述一帧低频子带域激励信号划分为一个或一个以上的、用于时频变换的子帧;按子帧对所述低频子带域激励信号进行时频变换,获得子帧的低频子带域激励谱;
步骤D进一步包括对所述低频子带域信号类型分析结果进行复用。
6.如权利要求4所述的编码方法,其特征在于,当所述步骤C根据高频子带域信号和低频子带域激励谱计算高频子带域参数时,所述步骤C包括:
C1、根据高频子带域信号获得高频子带域激励信号,并将高频子带域激励信号作时频变换得到高频子带域激励谱;根据高频子带域激励谱对所述低频子带域激励谱进行谱调整,得到谱调整参数以及谱调整后的低频子带域激励谱;对谱调整后的低频子带域激励谱进行频时变换得到谱调整后的低频子带域激励信号;
C2、根据高频LSF矢量量化索引获得线性预测综合滤波器,用所述线性预测综合滤波器对所述谱调整后的低频子带域激励信号进行综合滤波,得到重建高频子带域信号,并根据所述重建高频子带域信号的时域增益与高频子带域信号的时域增益提取时域增益调整参数;得到包括步骤C1所得谱调整参数以及所述时域增益调整参数在内的高频子带域参数。
7.一种单声道声音解码装置,其特征在于,该解码装置包括:
比特流解复用模块,用于对声音编码码流进行解复用,以获取包括至少2个子带的低频子带域波形编码数据,以及包括至少2个子带的高频子带域参数编码数据;
低频子带域波形解码模块,用于对所述低频子带域波形编码数据进行逆量化解码,以获取低频子带域激励谱;
低频子带域频时变换模块,用于对所述低频子带域激励谱进行频时变换,以获取低频子带域激励信号;
低频子带域时变预测综合模块,用于对所述低频子带域激励信号进行预测综合,以获取低频子带域信号;
高频子带域参数解码模块,用于对所述高频子带域参数编码数据进行逆量化解码以获得高频子带域参数,并根据所述高频子带域参数从所述低频子带域激励谱中恢复出高频子带域信号;或者,根据所述高频子带域参数从所述低频子带域激励信号中恢复出高频子带域信号;
综合子带滤波器组模块,用于将所述低频子带域信号和所述高频子带域信号进行子带合成,以获取解码的单声道声音信号。
8.如权利要求7所述的解码装置,其特征在于,所述比特流解复用模块进一步用于,从解复用的所述声音编码码流中获取用于恢复单声道声音的低频子带域信号类型分析结果;
所述低频子带域频时变换模块进一步用于根据所述低频子带域信号类型分析结果,将接收的低频子带域激励谱划分为一个或一个以上的、用于频时变换的子帧;
所述低频子带域时变预测综合模块进一步用于根据低频子带域信号类型分析结果,将接收的低频子带域激励信号划分为一个或一个以上的、用于预测综合的子帧。
9.如权利要求7所述的解码装置,其特征在于,当所述高频子带域参数解码模块根据高频子带域参数从低频子带域激励谱中恢复高频子带域信号时,所述高频子带域参数包括高频LSF矢量量化索引、谱调整参数和时域增益调整参数;该高频子带域参数解码模块包括:
谱参数解码器,用于根据所述谱调整参数对所述低频子带域激励谱进行谱调整,将谱调整后的低频子带域激励谱进行频时变换,得到谱调整后的低频子带域激励信号;
自适应时域增益解码器,用于根据所述时域增益调整参数对所述低频子带域激励信号进行时域增益调整,得到时域增益调整后的低频子带域激励信号;
时变预测综合器,用于根据所述高频LSF矢量量化索引获得线性预测综合滤波器,对所述时域增益调整后的低频子带域激励信号进行综合滤波,得到重建高频子带域信号,并输出至所述综合子带滤波器组模块。
10.一种单声道声音解码方法,其特征在于,该方法包括:
A、对声音编码码流进行解复用,以获取包括至少2个子带的低频子带域波形编码数据,以及包括至少2个子带的高频子带域参数编码数据;
B、将所述低频子带域波形编码数据进行逆量化解码,以获取低频子带域激励谱;将所述低频子带域激励谱进行频时变换和预测综合,以获取低频子带域信号;
C、对所述高频子带域参数编码数据进行逆量化解码以获取高频子带域参数,并根据所述高频子带域参数从所述低频子带域激励谱中恢复出高频子带域信号;或者,根据所述高频子带域参数从经所述频时变换得到的低频子带域激励信号中恢复出高频子带域信号;
D、将所述低频子带域信号和所述高频子带域信号进行子带合成,输出解码的单声道声音信号。
11.如权利要求10所述的解码方法,其特征在于,所述步骤A进一步包括从解复用的声音编码码流中获取用于恢复单声道声音的低频子带域信号类型分析结果;
步骤B所述将低频子带域激励谱进行频时变换和预测综合包括:根据所述低频子带域信号类型分析结果,将一帧所述低频子带域激励谱划分为一个或一个以上的、用于频时变换的子帧;按子帧对所述低频子带域激励谱进行频时变换,获取子帧的低频子带域激励信号,然后按照划分顺序将各个子帧组合生成一帧低频子带域激励信号;
根据所述低频子带域信号类型分析结果,将所述一帧低频子带域激励信号划分为一个或一个以上的、用于预测综合的子帧;按子帧对所述低频子带域信号进行预测综合,获得子帧的低频子带域信号。
12.如权利要求10所述的解码方法,其特征在于,当所述步骤C根据高频子带域参数从低频子带域激励谱中恢复高频子带域信号时,所述高频子带域参数包括高频LSF矢量量化索引、谱调整参数和时域增益调整参数;所述步骤C包括:
C1、根据谱调整参数对所述低频子带域激励谱进行谱调整;对调整后的低频子带域激励谱进行频时变换,得到低频子带域激励信号;
C2、对所述低频子带域激励信号进行时域增益调整,得到调整后的低频子带域激励信号;
C3、采用根据所述高频LSF矢量量化索引获得的线性预测综合滤波器,对调整后的低频子带域激励信号进行综合滤波,得到重建的高频子带域信号。
13.一种立体声编码装置,其特征在于,该编码装置包括:
分析子带滤波器组模块,用于对立体声信号的左、右声道分别进行子带分解,分解为包括至少2个子带的左、右声道的低频子带域信号,以及包括至少2个子带的左、右声道的高频子带域信号;
低频子带域时变预测分析模块,用于分别对所述左、右声道的低频子带域信号进行预测分析,以获取左、右声道的低频子带域激励信号;
低频子带域时频变换模块,用于分别对所述左、右声道低频子带域激励信号进行时频变换,以获取左、右声道的低频子带域激励谱;
低频子带域立体声编码模块,用于对所述左、右声道的低频子带域激励谱进行立体声编码,以获取低频子带域立体声编码数据;
高频子带域参数编码模块,用于分别根据所述左、右声道的低频子带域激励谱和所述左、右声道的高频子带域信号,计算用于从左、右声道的低频子带域激励谱中恢复左、右声道的高频子带域信号的左、右声道的高频子带域参数,并分别对所述左、右声道的高频子带域参数进行量化编码,以获取左、右声道的高频子带域参数编码数据;或者,分别根据所述左、右声道的低频子带域激励信号和所述左、右声道的高频子带域信号,计算用于从左、右声道的低频子带域激励信号中恢复左、右声道的高频子带域信号的左、右声道的高频子带域参数,并分别对所述左、右声道的高频子带域参数进行量化编码,以获取左、右声道的高频子带域参数编码数据;
比特流复用模块,用于对所述低频子带域立体声编码数据和所述左、右声道的高频子带域参数编码数据进行复用,以输出立体声的声音编码码流。
14.如权利要求13所述的编码装置,其特征在于,该编码装置进一步包括低频子带域和信号类型分析模块,该模块用于根据一帧左、右声道的低频子带域信号计算出一帧低频子带域和信号,对该低频子带域和信号进行信号类型分析,并输出低频子带域和信号类型分析结果;如果所述低频子带域和信号是缓变信号则输出信号类型;如果是快变信号,则进一步获取快变点位置,并输出信号类型和所述快变点位置;
所述低频子带域时变预测分析模块进一步用于根据所述低频子带域和信号类型分析结果,分别将接收的一帧所述左、右声道的低频子带域信号划分为一个或一个以上的、用于预测分析的子帧;
所述低频子带域时频变换模块进一步用于根据所述低频子带域和信号类型分析结果,分别将接收的所述左、右声道低频子带域激励信号划分为一个或一个以上的、用于时频变换的子帧;
所述比特流复用模块进一步用于对所述低频子带域和信号类型分析结果进行复用。
15.如权利要求13所述的编码装置,其特征在于,所述高频子带域参数编码模块包括两个相同的高频子带域参数编码子模块,分别用于提取左、右声道的高频子带域参数;当所述高频子带域参数编码子模块根据左、右声道的低频子带域激励谱和左、右声道的高频子带域信号计算左、右声道的高频子带域参数时,所述高频子带域参数编码子模块包括:
时变预测分析器,用于对接收的所述左、右声道的高频子带域信号进行线性预测分析,获得左、右声道的线性预测滤波器的高频LSF矢量量化索引和高频子带域激励信号;将所述左、右声道的高频LSF矢量量化索引经编码后输出至所述比特流复用模块;
谱参数编码器,用于对所述左、右声道的高频子带域激励信号进行时频变换,得到左、右声道的高频子带域激励谱,根据所述左、右声道的高频子带域激励谱对接收的所述左、右声道的低频子带域激励谱进行谱调整,将提取的左、右声道的谱调整参数经量化编码后输出至所述比特流复用模块,将左、右声道的谱调整后的低频子带域激励谱进行频时变换,得到谱调整后的左、右声道的低频子带域激励信号;
时变预测综合器,用于采用根据所述高频LSF矢量量化索引获得的左、右声道的线性预测综合滤波器,对所述谱调整后的左、右声道的低频子带域激励信号进行综合滤波,得到左、右声道的重建高频子带域信号;
时域自适应增益调整参数提取器,用于将所述左、右声道的高频子带域信号以及所述左、右声道的重建高频子带域信号进行比较,得到左、右声道的时域增益调整参数,经量化编码后输出至所述比特流复用模块。
16.如权利要求13所述的编码装置,其特征在于,所述低频子带域立体声编码模块进一步用于从一种以上的可选立体声编码模式中进行选择,采用选择的立体声编码模式进行编码,并将编码模式选择信息输出至所述比特流复用模块。
17.一种立体声编码方法,其特征在于,该方法包括:
A、对立体声信号的左、右声道分别进行子带分解,分解为包括至少2个子带的左、右声道的低频子带域信号,以及包括至少2个子带的左、右声道的高频子带域信号;
B、分别对所述左、右声道的低频子带域信号进行预测分析和时频变换,以获取左、右声道的低频子带域激励谱;对所述左、右声道的低频子带域激励谱进行立体声编码,以获取低频子带域立体声编码数据;
C、分别根据所述左、右声道的高频子带域信号和所述左、右声道低频子带域激励谱,计算用于从左、右声道低频子带域激励谱中恢复左、右声道高频子带域信号的左、右声道的高频子带域参数,并分别对左、右声道的高频子带域参数进行量化编码,以获取左、右声道的高频子带域参数编码数据;或者,分别根据所述左、右声道的高频子带域信号和经所述预测分析得到的左、右声道的低频子带域激励信号,计算用于从左、右声道低频子带域激励信号中恢复左、右声道高频子带域信号的左、右声道的高频子带域参数,并分别对所述左、右声道的高频子带域参数进行量化编码,以获取左、右声道的高频子带域参数编码数据;
D、对所述低频子带域立体声编码数据和所述左、右声道的高频子带域参数编码数据进行复用,以输出立体声的声音编码码流。
18.如权利要求17所述的编码方法,其特征在于,该方法进一步包括步骤:根据步骤A获得的一帧左、右声道的低频子带域信号计算出一帧低频子带域和信号,对该低频子带域和信号进行信号类型分析,并确定低频子带域和信号类型分析结果;如果所述低频子带域和信号是缓变信号,则将信号类型作为所述低频子带域和信号类型分析结果;如果是快变信号,则进一步获取快变点位置,将信号类型和所述快变点位置作为所述低频子带域和信号类型分析结果;
步骤B所述对所述左、右声道的低频子带域信号进行预测分析和时频变换包括:根据低频子带域和信号类型分析结果,将一帧左、右声道低频子带域信号划分为一个或一个以上的、用于预测分析的子帧;按子帧对所述左、右声道的低频子带域信号进行预测分析,获得子帧的左、右声道低频子带域激励信号,然后按照划分顺序将各个子帧组合生成一帧左、右声道低频子带域激励信号;
根据所述低频子带域和信号类型分析结果,将所述一帧左、右声道低频子带域激励信号划分为一个或一个以上的、用于时频变换的子帧;按子帧对所述左、右声道低频子带域激励信号进行时频变换,获得子帧的左、右声道低频子带域激励谱;
步骤D进一步包括对所述低频子带域和信号类型分析结果进行复用。
19.如权利要求17所述的编码方法,其特征在于,当所述步骤C根据左、右声道的高频子带域信号和左、右声道的低频子带域激励谱计算左、右声道的高频子带域参数时,所述步骤C包括:
C1、根据左、右声道的高频子带域信号获得左、右声道的高频子带域激励信号,并将所述左、右声道的高频子带域激励信号作时频变换得到左、右声道的高频子带域激励谱;根据所述左、右声道的高频子带域激励谱对所述左、右声道的低频子带域激励谱进行谱调整,得到左、右声道的谱调整参数以及谱调整后的左、右声道的低频子带域激励谱;对谱调整后的左、右声道的低频子带域激励谱进行频时变换得到谱调整后的左、右声道的低频子带域激励信号;
C2、根据高频LSF矢量量化索引获得线性预测综合滤波器,用所述线性预测综合滤波器对所述谱调整后的左、右声道的低频子带域激励信号进行综合滤波,得到左、右声道的重建高频子带域信号,并根据所述左、右声道的重建高频子带域信号的时域增益与左、右声道的高频子带域信号的时域增益提取左、右声道的时域增益调整参数;得到包括步骤C1所得左、右声道的谱调整参数以及所述左、右声道的时域增益调整参数在内的左、右声道的高频子带域参数。
20.如权利要求17所述的编码方法,其特征在于,步骤B所述对左、右声道的低频子带域激励谱进行立体声编码包括:
B2、分别将所述左、右声道的低频子带域激励谱划分为若干个子频带,对每个子频带选择一种立体声编码模式进行立体声编码;
步骤D进一步包括对编码模式选择信息进行复用。
21.如权利要求20所述的编码方法,其特征在于,步骤B2所述对每个子频带选择一种立体声编码模式包括:
B21、分别采用一种以上的可选的立体声编码模式对子频带k的左、右声道的低频子带域激励谱进行立体声编码和解码,计算解码恢复的子频带k的左、右声道的低频子带域激励谱与编码前子频带k的左、右声道的低频子带域激励谱的误差,通过比较选择误差最小的编码模式,作为子频带k的立体声编码模式;或者
B22、在低频子带域中,对频率高于一确定值的子频带采用固定的立体声编码模式;频率低于所述确定值的子频带执行所述步骤B21选择立体声编码模式。
22.如权利要求21所述的编码方法,其特征在于,当立体声编码模式为参数立体声编码模式时,所述进行立体声编码包括:
B31、在子频带k内,对左、右声道中的第一声道低频子带域激励谱计算加权参数gr(k),使得第二声道低频子带域激励谱和采用gr(k)缩放后的第一声道低频子带域激励谱能量相等;
B32、将第二声道子带域激励谱和缩放后的第一声道低频子带域激励谱相加并除以2,计算得到加权和激励谱;将第二声道子带域激励谱和缩放后的第一声道低频子带域激励谱相减并除以2,计算得到加权差激励谱;
B33、计算与所述加权和激励谱等幅垂直的正交激励谱;
B34、根据所述正交激励谱和所述加权差激励谱,计算加权参数gd(k),使得所述加权差激励谱和采用gd(k)缩放后的正交激励谱能量相等;
B35、将所述加权和激励谱、gr(k)和gd(k)分别进行量化编码,将量化编码的加权和激励谱作为低频子带域立体声编码数据,将量化编码的gr(k)和gd(k)作为用于立体声解码的参数;
步骤D进一步包括对所述加权参数gr(k)和gd(k)进行复用;
或者,当所述立体声编码模式为参数立体声编码模式时,所述进行立体声编码包括:
B41、在子频带k内,根据以下公式计算加权参数gd(k):
其中,
xl和yl分别为左声道低频子带域激励谱的实部和虚部,xr和yr分别为右声道低频子带域激励谱的实部和虚部;
B42、根据以下公式计算加权参数gr(k):
其中,
g(k)为参数立体声编码误差在左、右声道的分配的重要度因子;
B43、根据以下公式计算加权和激励谱,
其中,xm和ym分别表示加权和激励谱的实部和虚部;
步骤D进一步包括对所述加权参数gr(k)和gd(k)进行复用;
当所述立体声编码模式为参数误差立体声编码模式时,所述进行立体声编码包括:
B51、在子频带k内,对左、右声道中的第一声道低频子带域激励谱计算加权参数gr(k),使得第二声道低频子带域激励谱和采用gr(k)缩放后的第一声道低频子带域激励谱能量相等;
B52、将第二声道子带域激励谱和缩放后的第一声道低频子带域激励谱相加并除以2,计算得到加权和激励谱;将第二声道子带域激励谱和缩放后的第一声道低频子带域激励谱相减并除以2,计算得到加权差激励谱;
B53、计算与所述加权和激励谱等幅垂直的正交激励谱;
B54、根据所述正交激励谱和所述加权差激励谱,计算加权参数gd(k),使得所述加权差激励谱和采用gd(k)缩放后的正交激励谱的能量相等;
B55、计算所述加权差激励谱和缩放后正交激励谱的差,得到误差激励谱;
B56、将所述加权和激励谱、误差激励谱、gr(k)和gd(k)分别进行量化编码,将量化编码的加权和激励谱和误差激励谱作为低频子带域立体声编码数据,将量化编码的gr(k)和gd(k)作为用于立体声解码的参数;
步骤D进一步包括对所述加权参数gr(k)和gd(k)进行复用。
23.一种立体声解码装置,其特征在于,该解码装置包括:
比特流解复用模块,用于对立体声的声音编码码流进行解复用,以获取包括至少2个子带的低频子带域立体声编码数据,以及包括至少2个子带的左、右声道的高频子带域参数编码数据;
低频子带域立体声解码模块,用于对所述低频子带域立体声编码数据进行立体声解码,以获取左、右声道的低频子带域激励谱;
低频子带域频时变换模块,用于分别对所述左、右声道的低频子带域激励谱进行频时变换,以获取左、右声道的低频子带域激励信号;
低频子带域时变预测综合模块,用于分别对所述左、右声道的低频子带域激励信号进行预测综合,以获取左、右声道的低频子带域信号;
高频子带域参数解码模块,用于对所述左、右声道的高频子带域参数编码数据进行逆量化解码以获得左、右声道的高频子带域参数,并分别根据所述左、右声道的高频子带域参数从所述左、右声道的低频子带域激励谱中恢复出左、右声道的高频子带域信号;或者,分别根据所述左、右声道的高频子带域参数从所述左、右声道的低频子带域激励信号中恢复出左、右声道的高频子带域信号;
综合子带滤波器组模块,用于将所述左、右声道的低频子带域信号和所述左、右声道的高频子带域信号进行子带合成,以获取解码的左、右声道的立体声信号。
24.如权利要求23所述的解码装置,其特征在于,所述比特流解复用模块进一步用于,从解复用的所述立体声的声音编码码流中获取用于恢复立体声的低频子带域和信号类型分析结果;
所述低频子带域频时变换模块进一步用于根据所述低频子带域和信号类型分析结果,分别将接收的左、右声道的低频子带域激励谱划分为一个或一个以上的、用于频时变换的子帧;
所述低频子带域时变预测综合模块进一步用于根据所述低频子带域和信号类型分析结果,将接收的左、右声道的低频子带域激励信号划分为一个或一个以上的、用于预测综合的子帧。
25.如权利要求23所述的解码装置,其特征在于,所述高频子带域参数解码模块包括两个相同的高频子带域参数解码子模块,分别用于恢复左、右声道的高频子带域信号;当所述高频子带域参数解码模块根据左、右声道的高频子带域参数从左、右声道的低频子带域激励谱恢复高频子带域信号时,所述左、右声道的高频子带域参数包括高频LSF矢量量化索引、谱调整参数和时域增益调整参数;所述高频子带域参数解码子模块包括:
谱参数解码器,用于根据所述左、右声道的谱调整参数对所述左、右声道的低频子带域激励谱进行谱调整,将谱调整后的左、右声道的低频子带域激励谱进行频时变换,得到谱调整后的左、右声道的低频子带域激励信号;
自适应时域增益解码器,用于根据所述左、右声道的时域增益调整参数对所述左、右声道的低频子带域激励信号进行时域增益调整,得到时域增益调整后的左、右声道的低频子带域激励信号;
时变预测综合器,用于采用根据所述左、右声道的高频LSF矢量量化索引获得左、右声道的线性预测综合滤波器,对所述时域增益调整后的左、右声道的低频子带域激励信号进行综合滤波,得到左、右声道的重建高频子带域信号,并输出到所述的综合子带滤波器组模块。
26.如权利要求23所述的解码装置,其特征在于,所述比特流解复用模块进一步用于,从解复用的所述立体声的声音编码码流中获取用于立体声解码的编码模式选择信息;
所述低频子带域立体声解码模块进一步用于,采用所述编码模式选择信息对应的立体声解码模式进行立体声解码。
27.一种立体声解码方法,其特征在于,该方法包括:
A、对立体声的声音编码码流进行解复用,以获取包括至少2个子带的低频子带域立体声编码数据,以及包括至少2个子带的左、右声道的高频子带域参数编码数据;
B、对所述低频子带域立体声编码数据进行立体声解码,获取左、右声道的低频子带域激励谱;分别对所述左、右声道的低频子带域激励谱进行频时变换和预测综合,以获取左、右声道的低频子带域信号;
C、对所述左、右声道的高频子带域参数编码数据进行逆量化解码以获得左、右声道的高频子带域参数,并分别根据所述左、右声道的高频子带域参数从所述左、右声道的低频子带域激励谱中恢复出左、右声道的高频子带域信号;或者分别根据所述左、右声道的高频子带域参数从所述经频时变换得到的左、右声道的低频子带域激励信号中恢复出左、右声道的高频子带域信号;
D、将所述左、右声道的低频子带域信号和所述左、右声道的高频子带域信号进行子带合成,获取解码的左、右声道的立体声信号。
28.如权利要求27所述的解码方法,其特征在于,步骤A进一步包括从解复用的声音编码码流中获取用于恢复立体声的低频子带域和信号类型分析结果;
步骤B所述将左、右声道的低频子带域激励谱进行频时变换和预测综合包括:根据所述低频子带域和信号类型分析结果,将一帧所述左、右声道低频子带域激励谱划分为一个或一个以上的、用于频时变换的子帧;按子帧对所述左、右声道低频子带域激励谱进行频时变换,获取子帧的左、右声道低频子带域激励信号,然后按照划分顺序将各个子帧组合生成一帧左、右声道低频子带域激励信号;
根据所述低频子带域和信号类型分析结果,将所述一帧左、右声道低频子带域激励信号划分为一个或一个以上的、用于预测综合的子帧;按子帧对所述左、右声道低频子带域信号进行预测综合,获得子帧的左、右声道低频子带域信号。
29.如权利要求27所述的解码方法,其特征在于,当所述步骤C根据左、右声道的高频子带域参数从左、右声道的低频子带域激励谱中恢复左、右声道的高频子带域信号时,所述左、右声道的高频子带域参数包括高频LSF矢量量化索引、谱调整参数和时域增益调整参数;所述步骤C包括:
C1、根据所述左、右声道的谱调整参数对所述左、右声道的低频子带域激励谱进行谱调整;对调整后的左、右声道的低频子带域激励谱进行频时变换,得到左、右声道的低频子带域激励信号;
C2、根据所述左、右声道的时域增益调整参数对所述左、右声道的低频子带域激励信号进行时域增益调整,得到调整后的左、右声道的低频子带域激励信号;
C3、采用根据所述左、右声道的高频LSF矢量量化索引获得的线性预测综合滤波器,对调整后的左、右声道的低频子带域激励信号进行综合滤波,得到重建的左、右声道的高频子带域信号。
30.如权利要求27所述的解码方法,其特征在于,所述步骤A进一步包括从解复用的声音编码码流中获取用于立体声解码的编码模式选择信息;
步骤B所述进行立体声解码为:采用所述编码模式选择信息对应的立体声解码模式,对每个子频带k的低频子带域立体声编码数据进行解码。
31.如权利要求30所述的解码方法,其特征在于,当所述立体声解码模式为参数立体声解码模式时,所述步骤A进一步包括从解复用的声音编码码流中获取用于立体声解码的量化编码的加权参数gr(k)和gd(k),所述低频子带域立体声编码数据为量化编码的加权和激励谱;所述进行立体声解码包括:
B11、将所述量化编码的加权和激励谱、量化编码的加权参数gr(k)和gd(k)进行逆量化解码;得到加权和激励谱和加权参数gr(k)和gd(k);
B12、计算与所述加权和激励谱等幅垂直的正交激励谱;
B13、根据gd(k)得到缩放后的正交激励谱;
B14、根据所述加权和激励谱和所述缩放后的正交激励谱,计算左右声道中第二声道低频子带域激励谱和缩放后第一声道低频子带域激励谱;
B15、根据gr(k)得到还原的第一声道低频子带域激励谱;
当所述立体声解码模式为参数误差立体声解码模式时,步骤A进一步包括从解复用的声音编码码流中获取用于立体声解码的量化编码的加权参数gr(k)和gd(k),所述低频子带域立体声编码数据为量化编码的加权和激励谱和误差激励谱;所述进行立体声解码包括:
B21、将所述量化编码的加权和激励谱、量化编码的误差激励谱、量化编码的加权参数gr(k)和gd(k)进行逆量化解码;得到加权和激励谱、误差激励谱和加权参数gr(k)和gd(k);
B22、计算与所述加权和激励谱等幅垂直的正交激励谱;
B23、根据gd(k)得到缩放后的正交激励谱;
B24、将所述缩放后的正交激励谱与所述加权和激励谱相加,得到恢复的加权差激励谱;
B25、根据所述加权和激励谱和所述加权差激励谱,计算左、右声道中第二声道低频子带域激励谱和缩放后第一声道低频子带域激励谱;
B26、根据gr(k)还原所述第一声道低频子带域激励谱。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100888785A CN101276587B (zh) | 2007-03-27 | 2007-03-27 | 声音编码装置及其方法和声音解码装置及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100888785A CN101276587B (zh) | 2007-03-27 | 2007-03-27 | 声音编码装置及其方法和声音解码装置及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101276587A CN101276587A (zh) | 2008-10-01 |
CN101276587B true CN101276587B (zh) | 2012-02-01 |
Family
ID=39995948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007100888785A Active CN101276587B (zh) | 2007-03-27 | 2007-03-27 | 声音编码装置及其方法和声音解码装置及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101276587B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103714822A (zh) * | 2013-12-27 | 2014-04-09 | 广州华多网络科技有限公司 | 基于silk编解码器的子带编解码方法及装置 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436407B (zh) * | 2008-12-22 | 2011-08-24 | 西安电子科技大学 | 音频编解码方法 |
EP2239732A1 (en) * | 2009-04-09 | 2010-10-13 | Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. | Apparatus and method for generating a synthesis audio signal and for encoding an audio signal |
CN102006483B (zh) * | 2009-09-03 | 2013-05-01 | 中兴通讯股份有限公司 | 一种视频编解码方法及装置 |
US20130166307A1 (en) * | 2010-09-22 | 2013-06-27 | Dolby Laboratories Licensing Corporation | Efficient Implementation of Phase Shift Filtering for Decorrelation and Other Applications in an Audio Coding System |
CN102737636B (zh) * | 2011-04-13 | 2014-06-04 | 华为技术有限公司 | 一种音频编码方法及装置 |
US11665482B2 (en) | 2011-12-23 | 2023-05-30 | Shenzhen Shokz Co., Ltd. | Bone conduction speaker and compound vibration device thereof |
CN103854650A (zh) * | 2012-11-30 | 2014-06-11 | 中兴通讯股份有限公司 | 立体声音频编码的方法及装置 |
CN104078048B (zh) * | 2013-03-29 | 2017-05-03 | 北京天籁传音数字技术有限公司 | 一种声音解码装置及其方法 |
CN104103276B (zh) * | 2013-04-12 | 2017-04-12 | 北京天籁传音数字技术有限公司 | 一种声音编解码装置及其方法 |
US8804971B1 (en) * | 2013-04-30 | 2014-08-12 | Dolby International Ab | Hybrid encoding of higher frequency and downmixed low frequency content of multichannel audio |
EP4297026A3 (en) * | 2013-09-12 | 2024-03-06 | Dolby International AB | Method for decoding and decoder. |
CN107221334B (zh) * | 2016-11-01 | 2020-12-29 | 武汉大学深圳研究院 | 一种音频带宽扩展的方法及扩展装置 |
TWI834582B (zh) * | 2018-01-26 | 2024-03-01 | 瑞典商都比國際公司 | 用於執行一音訊信號之高頻重建之方法、音訊處理單元及非暫時性電腦可讀媒體 |
CN109036457B (zh) * | 2018-09-10 | 2021-10-08 | 广州酷狗计算机科技有限公司 | 恢复音频信号的方法和装置 |
KR102568044B1 (ko) | 2018-09-12 | 2023-08-21 | 썬전 샥 컴퍼니 리미티드 | 다중 음향-전기 변환기들을 구비한 신호 처리 디바이스 |
GB2582748A (en) * | 2019-03-27 | 2020-10-07 | Nokia Technologies Oy | Sound field related rendering |
CN110941415B (zh) * | 2019-11-08 | 2023-11-28 | 北京达佳互联信息技术有限公司 | 一种音频文件的处理方法、装置、电子设备及存储介质 |
CN113470667B (zh) * | 2020-03-11 | 2024-09-27 | 腾讯科技(深圳)有限公司 | 语音信号的编解码方法、装置、电子设备及存储介质 |
CN111862994A (zh) * | 2020-05-30 | 2020-10-30 | 北京声连网信息科技有限公司 | 一种声波信号解码的方法及装置 |
CN113948096A (zh) * | 2020-07-17 | 2022-01-18 | 华为技术有限公司 | 多声道音频信号编解码方法和装置 |
CN113948097A (zh) * | 2020-07-17 | 2022-01-18 | 华为技术有限公司 | 多声道音频信号编码方法和装置 |
CN112365897B (zh) * | 2020-11-26 | 2024-07-09 | 北京百瑞互联技术股份有限公司 | Lc3编码器自适应调节帧间传输码率的方法、装置和介质 |
-
2007
- 2007-03-27 CN CN2007100888785A patent/CN101276587B/zh active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103714822A (zh) * | 2013-12-27 | 2014-04-09 | 广州华多网络科技有限公司 | 基于silk编解码器的子带编解码方法及装置 |
CN103714822B (zh) * | 2013-12-27 | 2017-01-11 | 广州华多网络科技有限公司 | 基于silk编解码器的子带编解码方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101276587A (zh) | 2008-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101276587B (zh) | 声音编码装置及其方法和声音解码装置及其方法 | |
JP7483792B2 (ja) | 符号化オーディオ信号を復号する復号装置および復号方法 | |
JP4950210B2 (ja) | オーディオ圧縮 | |
KR101589942B1 (ko) | 외적 향상 고조파 전치 | |
JP6980871B2 (ja) | 信号符号化方法及びその装置、並びに信号復号方法及びその装置 | |
CN103366749B (zh) | 一种声音编解码装置及其方法 | |
CN103366750B (zh) | 一种声音编解码装置及其方法 | |
CN101086845A (zh) | 声音编码装置及方法以及声音解码装置及方法 | |
WO2005096274A1 (fr) | Dispositif et procede de codage/decodage audio ameliores | |
CN110998721A (zh) | 用于使用宽频带滤波器生成的填充信号对已编码的多声道信号进行编码或解码的装置 | |
JP5629319B2 (ja) | スペクトル係数コーディングの量子化パラメータを効率的に符号化する装置及び方法 | |
CN103366751B (zh) | 一种声音编解码装置及其方法 | |
JPWO2009125588A1 (ja) | 符号化装置および符号化方法 | |
JP2024529883A (ja) | 積分帯域ごとのパラメトリックオーディオコーディング | |
RU2409874C2 (ru) | Сжатие звуковых сигналов |
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 | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20081001 Assignee: Pan Xingde Assignor: Beijing Tianlai Chuanyin Digital Technology Co., Ltd. Contract record no.: 2013990000772 Denomination of invention: Audio encoding apparatus and method thereof, audio decoding device and method thereof Granted publication date: 20120201 License type: Common License Record date: 20131119 |
|
LICC | Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model |