用于包括通用音频和语音帧的音频信号的编码器转让专利

申请号 : CN201180012387.7

文献号 : CN102834862B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 乌达·米塔尔乔纳森·A·吉布斯詹姆斯·P·阿什利

申请人 : 摩托罗拉移动有限责任公司

摘要 :

一种用于通过以下将音频帧编码的方法:通过将帧序列中的第一音频帧代码化,产生代码化音频样本的第一帧;通过将帧序列中的第二音频帧的至少一部分代码化,产生代码化音频样本的第二帧的至少一部分;以及产生用于生成音频间隙填充样本的参数,其中所述参数表示代码化音频样本的第一帧的加权分段或者代码化音频样本的所述一部分第二帧的加权分段。

权利要求 :

1.一种用于将音频帧编码的方法,所述方法包括:

使用第一代码化方法,通过将帧序列中的第一音频帧代码化来产生代码化音频样本的第一帧;

使用第二代码化方法,通过将所述帧序列中的至少一部分第二音频帧代码化来产生代码化音频样本的至少一部分第二帧;

产生用于生成音频间隙填充样本的参数,其中所述参数表示代码化音频样本的所述第一帧的加权分段和/或代码化音频样本的所述一部分第二帧的加权分段;以及其中所述参数基于以下表达式:其中,α是代码化音频样本的所述第一帧的分段 的第一加权因子,β是代码化音频样本的所述一部分第二帧的分段 的第二加权因子,并且 表示所述音频间隙填充样本。

2.如权利要求1所述的方法,通过选择用于减少在所生成的所述音频间隙填充样本与所述帧序列中基准音频间隙样本集合之间失真的参数,来产生用于生成所述音频间隙填充样本的所述参数。

3.如权利要求1所述的方法,其中,如果将代码化音频样本的所述第一帧与代码化音频样本的所述一部分第二帧组合,则在代码化音频样本的所述第一帧与代码化音频样本的所述一部分第二帧之间将形成音频间隙;

所述方法进一步包括:

基于所述参数来生成所述音频间隙填充样本;以及

形成包括所述音频间隙填充样本以及代码化音频样本的所述一部分第二帧的序列;

其中,所述音频间隙填充样本填充了所述音频间隙。

4.如权利要求1所述的方法,其中

代码化音频样本的所述第一帧的所述加权分段包括第一加权参数和第一索引,所述第一加权参数和第一索引用于代码化音频样本的所述第一帧的所述加权分段,并且其中代码化音频样本的所述一部分第二帧的所述加权分段包括第二加权参数和第二索引,所述第二加权参数和第二索引用于代码化音频样本的所述一部分第二帧的所述加权分段。

5.如权利要求4所述的方法,

所述第一索引指定从所述帧序列中的基准音频间隙样本到代码化音频样本的所述第一帧中对应样本的第一时间偏移;以及所述第二索引指定从所述基准音频间隙样本到代码化音频样本的所述一部分第二帧中对应样本的第二时间偏移。

6.如权利要求4所述的方法,进一步包括:

基于所述帧序列中代码化音频样本的所述第一帧的分段与基准音频间隙样本的分段之间的相关性来确定所述第一索引;以及基于代码化音频样本的所述一部分第二帧的分段与基准音频间隙样本的所述分段之间的相关性来确定所述第二索引。

7.如权利要求1所述的方法,进一步包括:

基于失真度量来产生所述参数,所述失真度量是所述帧序列中基准音频间隙样本集合的函数,其中所述失真度量是方差失真度量。

8.如权利要求1所述的方法,进一步包括:

基于失真度量来产生所述参数,所述失真度量是基准音频间隙样本集合的函数,其中所述失真度量基于以下表达式:其中sg表示所述基准音频间隙样本集合。

9.如权利要求1所述的方法,进一步包括:接收所述帧序列,其中所述第一帧与所述第二帧相邻,且所述第一帧在所述第二帧前面,并且其中使用通用音频代码化方法来产生代码化音频样本的所述一部分第二帧,并且使用语音代码化方法来产生代码化音频样本的所述第一帧。

10.如权利要求1所述的方法,进一步包括:基于失真度量来产生所述参数,所述失真度量是基准音频间隙样本集合的函数。

11.如权利要求1所述的方法,进一步包括:使用通用音频代码化方法来产生代码化音频样本的所述一部分第二帧。

12.如权利要求11所述的方法,进一步包括:使用语音代码化方法来产生代码化音频样本的所述第一帧。

13.如权利要求1所述的方法,进一步包括:接收所述帧序列,其中所述第一帧与所述第二帧相邻,且所述第一帧在所述第二帧前面。

说明书 :

用于包括通用音频和语音帧的音频信号的编码器

技术领域

[0001] 本公开一般地涉及语音和音频处理,并且尤其涉及用于处理包括通用音频和语音帧的音频信号的编码器。

背景技术

[0002] 很多音频信号可分类为具有较多语音类特性或者较多通用音频特性,典型的有音乐、音调、背景噪声、回响语音等等。基于适合于处理语音信号的源过滤器模型的编解码器不能有效处理通用音频信号。这样的编解码器包括线性预测代码化(LPC)编解码器,比如代码激励线性预测(CELP)代码器。语音代码器易于处理低比特率的语音信号。相反,诸如频域变换编解码器的通用音频处理系统不能很好地处理语音信号。公知的是,提供分类器或辨别器来在逐个帧的基础上确定音频信号更像语音还是不太像语音,并基于分类来将信号引导到语音编解码器或者通用音频编解码器。有时候将能够处理不同信号类型的音频信号处理器称为混合核心编解码器。
[0003] 然而,已知分别使用语音和通用音频编解码器在语音帧与通用音频帧的处理之间的变换在已处理的输出信号中产生音频间隙形式的不连续性。这样的音频间隙通常在用户接口处是可感知的,并且一般不受欢迎。现有技术图1图示了在输出帧序列中,在已处理的语音帧与已处理的通用音频帧之间产生的音频间隙。图1还在102处图示了输入帧序列,该序列可分类为语音帧(m-2)和(m-1)以及后面的通用音频帧(m)和(m+1)。样本索引n对应于在帧序列内的时间n处获得的样本。为了该曲线的目的,n=0的样本索引对应于获得帧(m)的最后一个样本的相对时间。这里,可以在已经积累了320个新样本以后处理帧(m),这320个新样本与之前积累的160个样本组合,总共480个样本。虽然很多采样率和帧尺寸都可以,但是在该示例中,采样率为16kHz,且对应的帧尺寸为20毫秒。可使用线性预测代码化(LPC)语音代码化来处理语音帧,其中在104处图示了LPC分析窗口。处理的语音帧(m-1)在106处被图示,且前面是未图示的与语音帧(m-2)相对应的代码化语音帧(m-2)。图1还在108处图示了重叠代码化通用音频帧。通用音频分析/综合窗口对应于已处理的通用音频帧的幅度包络。由于算法处理延迟,已处理的帧106和108的序列在相对于输入帧102的序列的时间上偏移,对于语音和通用音频帧,这里又将算法处理延迟分别称为先行延迟和重叠添加延迟。图1中在108处代码化通用音频帧(m)和(m+1)的重叠部分对110处的对应连续处理的通用音频帧(m)和(m+1)提供附加效果。然而,在108处代码化通用音频帧(m)的导尾不与相邻通用音频帧的拖尾重叠,因为前面的帧是代码化语音帧。因此,在108处对应的已处理的通用音频帧(m)的引导部分具有减小的幅度。将代码化语音和通用音频帧序列组合的结果是在已处理的输出帧序列中已处理的语音帧与已处理的通用音频帧之间的音频间隙,如110处的合成输出帧中所示。
[0004] 题为“Switching Between Coding Schemes(代码化方案之间的切换)”的美国公开No.2006/0173675公开了通过在逐个帧的基础上在自适应多速率宽带(AMR-WB)编解码器与利用修正离散余弦变换(MDCT)的编解码器(例如,MPEG 3编解码器或者(AAC)编解码器,只要最合适)之间进行选择来兼容语音和音乐的混合代码器。诺基亚改良了作为不能取消的混叠误差出现的不连续性的不利效果,当使用具有接近完美的重构性质(其特征在于混叠误差的最小化)的特殊MDCT分析/综合窗口,从AMR-WB编解码器切换到基于MDCT的编解码器时出现上述混叠误差。诺基亚公开的特殊MDCT分析/综合窗口包括重叠基于正弦的窗口的3个组成部分H0(n)、H1(n)和H2(n),这3个组成部分应用于跟随语音帧的第一输入音乐帧,以提供改进的已处理的音乐帧。然而,该方法可能经历信号不连续性,信号不连续性可能由于通过H0(n)、H1(n)和H2(n)定义的关联谱区域的下建模而出现。也就是说,可能可用的有限数目的比特需要在三个区域上分发,但是仍然需要在前面语音帧的末端与区域H0(n)的开始之间产生接近完美的波形匹配。
[0005] 对本领域普通技术人员而言,通过仔细考虑本发明后面的具体实施方式以及后述附图,本发明的各种方案、特征和优点将变得更充分地显而易见。为了清楚起见,附图可被简化,并且不一定按照比例绘制。

附图说明

[0006] 现有技术图1示出具有音频间隙的语音和通用音频帧的传统处理的序列。
[0007] 图2是混合语音和通用音频信号代码器的示意性框图。
[0008] 图3是混合语音和通用音频信号解码器的示意性框图。
[0009] 图4图示音频信号编码处理。
[0010] 图5图示经历非传统代码化处理的语音和通用音频帧序列。
[0011] 图6图示经历另一非传统代码化处理的语音和通用音频帧序列。
[0012] 图7图示音频解码处理。

具体实施方式

[0013] 图2图示配置成将输入帧流代码化的混合核心代码器200,一些输入帧流是语音帧,而其他输入帧流是不太像语音的帧。不太像语音的帧在此被称为通用音频帧。混合核心编解码器包括模式选择器210,模式选择器210处理输入音频信号s(n)的帧,其中n是样本索引。当采样率是每秒16k个样本时(其对应于20毫秒的帧时间间隔),帧长度可包括320个音频样本,但是很多其他变化也是可能的。模式选择器被配置成基于特定于每个帧的属性或特性的估计来评估输入帧序列中的帧是更像语音还是不太像语音。音频信号辨别的细节或者更一般地音频帧分类超出了本公开的范围,但是为本领域技术人员所熟知。模式选择码字被提供给复用器220。码字在逐个帧的基础上指示处理输入信号的对应帧的模式。因此,例如,可将输入音频帧处理作为语音信号或者作为通用音频信号,其中码字指示怎样处理帧,并且特别是使用哪种类型的音频代码器来处理帧。码字也可以传递关于从语音到通用音频的转变的信息。虽然转变信息可以暗示来自之前的帧分类类型,但是发射信息的信道可能是有损耗的,并且因此关于之前帧类型的信息可能不可用。
[0014] 在图2中,编解码器一般包括第一代码器230和第二代码器240,第一代码器230适合于将语音帧代码化,第二代码器240适合于将通用音频帧代码化。在一个实施例中,语音代码器基于适合于处理语音信号的源过滤器模型,而通用音频代码器是基于时域混叠抵消(TDAC)的线性正交重叠变换。在一个实现中,除了适合于处理语音信号的其他代码器之外,语音代码器可利用代码激励线性预测(CELP)代码器的线性预测代码化(LPC)典型。通用音频代码器可实现为修正离散余弦变换(MDCT)编解码器,或者修正离散正弦变换(MDST),或者基于不同类型的离散余弦变换(DCT)的MDCT的形式,或者DCT/离散正弦变换(DST)组合。
[0015] 在图2中,通过基于由模式选择器210选择或确定的模式来控制的选择开关250,第一代码器230和第二代码器240的输入端耦合到输入音频信号。例如,可基于模式选择器的码字输出,通过处理器来控制开关250。开关250选择用于处理语音帧的语音代码器230,并且该开关选择用于处理通用音频帧的通用音频代码器。借助于选择开关250,可以通过仅一个代码器(例如,语音代码器,或者通用音频代码器)来处理每个帧。更一般地,虽然图2中仅图示了两个代码器,但是可通过若干不同代码器中的一个将帧代码化。例如,可选择三个或更多个代码器中的一个来处理输入音频信号的特定帧。然而,在其他实施例中,可通过下面进一步讨论的所有代码器将每个帧代码化。
[0016] 在图2中,每个编解码器基于通过代码器处理的对应输入音频帧来产生编码比特流和对应处理帧。通过语音代码器产生的处理帧用 表示,而通过通用音频代码器产生的处理帧用 表示。
[0017] 在图2中,代码器230和代码器240输出端上的开关252将所选择的代码器的代码化输出耦合到复用器220。更特别地,开关将代码器的编码比特流输出耦合到复用器。还基于由模式选择器210选择或确定的模式来控制开关252。例如,可基于模式选择器的码字输出,通过处理器来控制开关252。复用器将码字与基于码字选择的对应代码器的编码比特流输出复用。因此,对于通用音频帧,开关252将通用音频代码器240的输出端耦合到复用器220,而对于语音帧,开关252将语音代码器230的输出端耦合到复用器。在通用音频帧代码化处理遵循(follow)语音编码处理的情况下,根据本公开利用特殊“转变模式”帧。转变模式编码器包括通用音频代码器240和音频间隙编码器260,其细节描述如下。
[0018] 图4图示混合音频信号处理编解码器(例如图2的混合编解码器)中实现的代码化处理400。在410,通过将帧序列中的第一音频帧代码化来产生代码化音频样本的第一帧。在示例性实施例中,音频样本的第一代码化帧是使用音频编解码器产生或生成的代码化语音帧。在图5中,输入语音/音频帧序列502包括连续的语音帧(m-2)和(m-1)以及后续的通用语音帧(m)。可部分地基于LPC分析窗口将语音帧(m-2)和(m-1)代码化,在504处图示了两者。在506处图示了与输入语音帧(m-1)相对应的代码化语音帧。该帧前面可以是未图示的与输入帧(m-2)相对应的另一代码化语音帧。相对于对应的输入帧,代码化语音帧被延迟了由于与LPC“先行”处理缓冲相关联(即,估计代码化语音帧的末端(或末端附近)周围的LPC参数所需要的帧前面的音频样本)的算法延迟所致的间隔。
[0019] 在图4中,在420,通过将帧序列中的第二音频帧的至少一部分代码化,产生代码化音频样本的第二帧的至少一部分。第二帧与第一帧相邻。在示例性实施例中,音频样本的第二代码化帧是使用通用音频编解码器产生或生成的代码化通用音频帧。在图5中,输入语音/音频帧序列502中的帧“m”是基于508处所示的基于TDAC的线性正交重叠变换分析/综合窗口(m)代码化的通用音频帧。输入帧序列502中的后续通用音频帧(m+1)通过508处所示的重叠分析/综合窗口(m+1)代码化。在图5中,通用音频分析/综合窗口在幅度上对应于已处理的通用音频帧。在图5中的508处,分析/综合窗口(m)和(m+1)的重叠部分对输入帧序列的对应连续处理通用音频帧(m)和(m+1)提供附加效果。结果是与输入帧(m)相对应的已处理通用音频帧的拖尾以及与输入帧(m+1)相对应的相邻处理帧的导尾不逐渐减小。
[0020] 在图5中,因为使用MDCT代码器处理通用音频帧(m),并且使用LPC代码器处理之前的语音帧(m-1),所以-480与-400之间的重叠区域中的MDCT输出为零。不知道怎样获得通用音频帧(m)的全部320个样本的混叠自由生成,并且同时使用与规则音频帧的MDCT顺序相同顺序的MDCT,通过后续通用音频帧(m+1)的MDCT输出来生成一些样本用于重叠添加。根据本公开的一个方面,如下所述,提供对音频间隙的补偿,否则在处理的通用音频帧与前面已处理的语音帧之间会出现音频间隙。
[0021] 为了保证适当的混叠抵消,必须在M样本重叠添加区域内通过补充窗口展示以下性质:
[0022] 0≤n<M,和 (1)
[0023] wm-1(M+n)wm-1(2M-n-1)-wm(n)wm(M-n-1)=0,0≤n<M (2)[0024] 其中,m是当前帧索引,n是当前帧内的样本索引,wm(n)是帧m处的对应分析和综合窗口,并且M是关联帧长度。满足以上标准的通用窗口形状给出为:
[0025]
[0026] 然而,公知的是很多窗口形状可满足这些条件。例如,在本公开中,通用音频代码化重叠-添加处理的算法延迟通过零填充2M帧结构而减少,如下:
[0027]
[0028] 通过允许处理在仅获取3M/2个样本或者用于M=320的帧长度的480个样本之后开始,这减少了算法延迟。注意,当对于2M个样本(处理具有50%的重叠添加的MDCT结构所需)定义w(n)时,只需要480个样本用于处理。
[0029] 返回以上等式(1)和(2),如果前面的帧(m-1)是语音帧,并且当前帧(m)是通用音频中,则不会有重叠添加数据,并且基本上从帧(m-1)开始的窗口将为零,或者wm-1(M+n)=0,0≤n<M。因此,等式(1)和(2)会变为:
[0030] 0≤n<M,和 (5)
[0031] Wm(n)wm(M-n-1)=0,0≤n<M (6)
[0032] 根据这些修正等式,显然等式(3)和(4)中的窗口功能不满足这些约束,并且实际上对于存在的等式(5)和(6)的唯一可能解是对于间隔M/2≤n<M为:
[0033] wm(n)=1,M/2≤n<M,和 (7)
[0034] wm(n)-0,0≤n<M/2 (8)
[0035] 因此,为了保证适当的混叠抵消,在本公开中语音-音频帧转变窗口给出为:
[0036]
[0037] 并且示出在图5中在(508)用于帧m。然后“音频间隙”形成为与0≤n<M/2相对应的样本(在语音帧(m-1)的末端出现),并且被强制为零。
[0038] 在图4中,在430,产生用于生成音频间隙填充样本或补偿样本的参数,其中音频间隙填充样本可用于补偿已处理的语音帧与已处理的通用音频帧之间的音频间隙。一般地,将参数作为代码化比特流的部分而被复用,并存储用于以后的使用,或者传送给解码器,如下所述。在图2中,我们称它们为“音频间隙样本代码化比特流”。在图5中,音频间隙填充样本构成通过如下进一步讨论的 所示的代码化间隙帧。参数代表代码化音频样本的第一帧的加权分段和/或代码化音频样本的所述一部分第二帧的加权分段。音频间隙填充样本一般构成填充已处理的语音帧与已处理的通用音频帧之间的间隙的已处理的音频间隙帧。可将参数存储,或者传送给另一设备,并用于生成音频间隙填充样本,或帧,用于填充已处理的语音帧与已处理的通用音频帧之间的音频间隙,如下进一步描述的。虽然在一些使用情况下编码器不一定生成音频间隙填充样本,但是期望在编码器处生成音频间隙填充样本。
[0039] 在一个实施例中,参数包括用于代码化音频样本的第一帧(例如,语音帧)的加权分段的第一加权参数和第一索引,以及用于代码化音频样本的第二帧(例如,通用音频帧)部分的加权分段的第二加权参数和第二索引。参数可以是恒定值或函数。在一个实现中,第一索引指定从输入帧序列中的基准音频间隙样本到代码化音频样本的第一帧(例如,代码化语音帧)的分段中的对应样本的第一时间偏移,而第二索引指定从基准音频间隙样本到代码化音频样本的第二帧(例如,代码化通用语音帧)部分的分段中的对应样本的第二时间偏移。第一加权参数包括适用于第一帧的加索引分段中的对应样本的第一增益因子。类似地,第二加权参数包括适用于所述一部分第二帧的加索引分段中的对应样本的第二增益因子。在图5中,第一偏移是T1,并且第二偏移是T2。而且在图5中,α表示第一加权参数,并且β表示第二加权参数。基准音频间隙样本可以在代码化语音帧与代码化通用音频帧之间的音频间隙中的任何位置,例如,它们之间的第一或最末位置或样本。我们称基准间隙样本为sg(n),其中n=0,...,L-1,且L是间隙样本的数目。
[0040] 一般将参数选择为减少与音频间隙相对应的帧序列中使用参数和样本集合生成的音频间隙填充样本之间的失真,其中样本集合称为基准音频间隙样本集合。因此,一般地,参数可基于失真度量,失真度量是输入帧序列中基准音频间隙样本集合的函数。在一个实施例中,失真度量是方差失真度量。在另一个实施例中,失真度量是加权均方差失真度量。
[0041] 在一个特定实现中,基于帧序列中代码化音频样本的第一帧的分段与基准音频间隙样本的分段之间的相关性来确定第一索引。此外,基于代码化音频样本的所述一部分第二帧的分段与基准音频间隙样本的分段之间的相关性来确定第二索引。在图5中,通过将帧502的序列中的基准间隙样本集合sg(n)与506处的代码化语音帧相关,确定第一偏移和加权分段 类似地,通过将帧502的序列中的样本集合sg(n)与508处的代码化通用音频帧相关,确定第二偏移和加权分段 因此,一般地,基于指定的参数并基于代码化音频样本的第一帧和/或第二帧来生成音频间隙填充样本。包括这样的代码化音频间隙填充样本的代码化间隙帧 在图5的510处示出。在一个实施例中,当参数表示代码化音频样本的第一帧和第二帧的加权分段两者时,用表示代码化间隙帧的音频间隙填充样本。可将代码化间隙帧样本 与代码化通用音频帧(m)组合,以向相对连续转变提供代码化语音帧(m-1),如图5的512处所示。
[0042] 下面讨论用于确定与音频间隙填充样本相关联的参数的细节。令sg为表示间隙区域的长度为L=80的输入向量。根据之前帧(m-1)的语音帧输出 以及当前帧(m)的通用th音频帧输出 部分,通过生成估计 来代码化间隙区域。令 为从 的第T 个过去样本th
开始的长度为L的向量,并且 为从 的第T 个将来样本开始的长度为L的向量(参见图5)。则可获得向量 为:
[0043]
[0044] 其中,获得T1、T2、α和β以将sg与 之间的失真最小化。T1、T2是整数值,其中,160≤T1≤260,且0≤T2≤80。因此,T1与T2的组合总数目是101×81=8181<8192,因此可以使用13个比特将它们联合代码化。将6比特标量量化器用于将每个参数α和β代码化。使用25个比特将间隙代码化。
[0045] 下面给出用于确定这些参数的方法。首先将加权均方差失真给出为:
[0046]
[0047] 其中,W是用于寻找最佳参数的加权矩阵,且T示向量置换。W是正定矩阵,并且优选为对角矩阵。如果W是单位矩阵,则失真是均方失真。
[0048] 下面我们将等式(11)各项之间的自相关性和互相关性定义为:
[0049]
[0050]
[0051]
[0052] 和 (15)
[0053]
[0054] 由此,我们可进一步定义以下:
[0055] δ(T1,T2)=RssRaa-RasRas (17)
[0056] η(T1,T2)=RaaRgs-RasRga (18)
[0057] γ(T1,T2)=RssRga-RasRgs (19)
[0058] 将等式(10)中的失真最小化的T1和T2的值是将以下最大化的T1和T2的值:
[0059] S=(η·Rgs+γ·Rga)/δ (20)
[0060] 现在令 和 是将等式(20)中的表达式最大化的最佳值,则获得等式(10)中的系数α和β为:
[0061]
[0062]
[0063] 随后使用六比特标量量化器将α和β的值量化。在对于T1和T2的一定值,等式(20)中的决定子δ为零的不太可能的情况下,等式(20)中的表达式被估计为:
[0064] S=RgsRgs/Rss,Rss>0 (23)
[0065] 或者
[0066] S-RgaRga/Raa,Raa>0 (24)
[0067] 如果Rss和Raa都为零,则将S设定为极小值。
[0068] 上面描述了对T1和T2的联合穷尽搜索方法。一般地,联合搜索复杂,但是对于该搜索可采用各种复杂性相对低的方法。例如,首先可通过大于1的因子将对T1和T2的搜索大部分消除,并且然后将搜索局部化。也可以使用连续搜索,其中,假定Rga=0,首先获得T1的少数最佳值,并且然后仅对于T1的这些值来搜索T2。
[0069] 使用如上所述的连续搜索还产生了这样的情况,可使用第一加权分段 或者第二加权分段 来构造用 表示的代码器音频间隙填充样本。也就是说,在一个实施例中,可以生成用于加权分段的仅一个参数集合,并由解码器使用来重构音频间隙填充样本。此外,可以有这样的实施例,相对另一个加权分段,始终优选一个加权分段。在这样的情况下,可通过仅考虑一个加权分段来减少失真。
[0070] 在图6中,输入语音和音频帧序列602、LPC语音分析窗口604以及代码化间隙帧610与图5中相同。在一个实施例中,代码化语音帧的拖尾逐渐减小,如图6中的606处所示,并且代码化间隙帧的导尾逐渐减小,如612中所示。在另一实施例中,代码化通用音频帧的导尾逐渐减小,如图6中的608处所示,并且代码化间隙帧的拖尾逐渐减小,如612中所示。当代码化间隙帧的导尾和拖尾都逐渐减小时,很可能最有效地减少与时域不连续性相关的缺陷。然而,在一些实施例中,只逐渐减小代码化间隙帧的导尾或者拖尾是有利的,如下进一步描述的。在另一实施例中,没有逐渐减小。在图6中,在614,组合输出语音帧(m-1)和通用帧(m)包括具有拖尾的代码化间隙帧。
[0071] 在一个实现中,参照图5,并非502处的全部通用音频帧(m)都包括在508处的通用音频分析/综合窗口中。在一个实施例中,502处的通用音频帧(m)的前L个样本从通用音频分析/综合窗口中被排除。排除的样本数目一般取决于形成用于已处理的通用音频帧的包络的通用音频分析/综合窗口的特性。在一个实施例中,排除的样本数目等于80。在其他实施例中,可排除更少或更多数目的样本。在本示例中,MDCT窗口的剩余的非零区域的长度是小于规则音频帧中MDCT窗口的长度的L。通用音频帧中窗口的长度等于帧的长度与先行长度的总和。在一个实施例中,转变帧的长度是320-80+160=400,而不是规则音频帧的480。
[0072] 如果音频代码器可以在没有任何损耗的情况下生成当前帧的全部样本,则优选左端具有矩形形状的窗口。然而,使用具有矩形形状的窗口可能在高频MDCT系数中导致更多的能量,这可能更难以使用有限数目的比特来进行没有明显损耗的代码化。因此,为了具有适当的频率响应,使用具有平滑转变的窗口(左边有M1=50个样本正弦窗口,而右边有M/2个样本余弦窗口)。对此描述如下:
[0073]
[0074] 在本示例中,使用前述方法的替代方法对80+M1个样本的间隙代码化。因为使用具有50个样本的转变区域的平滑窗口而不是矩形或阶梯形窗口,所以通过M1=50个样本来扩展使用替代方法代码化的间隙区域,从而得到130个样本的间隙区域的长度。上述相同的正向/反向预测方法用于生成这些130个样本。
[0075] 典型地,加权均方方法适用于低频信号,并且易于减少高频信号的能量。为了降低该效果,在生成以上等式(10)中的 之前,可使信号 和 经过第一顺序预先强调过滤器(预先强调过滤器系数=0.1)。
[0076] 音频模式输出 可具有逐渐减小分析和综合窗口,并且因此具有用于延迟T2的使得 与 的逐渐减小区域重叠。在这样的情况下,间隙区域sg与 可能不一定有很好的相关性。在这样的情况下,优选通过量化器窗口E将 扩大,以获
[0077]
[0078] 不是使用 现在可将此量化的音频信号用于等式(10)以及等式(10)后面的讨论中。
[0079] 一般而言,用于间隙帧代码化的前向/后向估计方法产生用于间隙信号的良好匹配,但是有时候会在两个端点导致不连续性,即,在语音部分和间隙区域的边界以及在间隙区域与通用音频代码化部分之间的边界(参见图5)。因此,在一些实施例中,为了降低语音部分和间隙部分边界处的不连续性的影响,例如先通过15个样本来扩展语音部分的输出。通过在语音代码器中使用帧误差缓解处理(通常用于重构传输期间损失的帧)扩展激励,来获得扩展语音。该扩展语音部分通过 的前15个样本重叠添加(梯形),以在语音部分和间隙的边界获得平滑转变。
[0080] 为了在间隙和语音到音频切换帧的MDCT输出的边界的平滑转变,先将 的最后50个样本乘以 并且然后将其添加到 的前50个样本。
[0081] 图3图示了配置成将编码比特流(例如通过图2的代码器200编码的组合比特流)解码的混合核心解码器300。在一些实现中,最典型地,将图2的代码器200与图3的解码器300组合形成编解码器。在其他实现中,可单独实施或实现代码器和解码器。在图3中,解复用器将组合比特流的组成元素分离。可以通过通信信道,例如通过无线或有线信道从另一个实体接收比特流,或者从解码器可访问或者可访问解码器的存储介质获得比特流。在图3中,将组合的比特流分离为码字和包括语音和通用音频帧的代码化音频帧序列。
码字在逐个帧的基础上指示序列中的特定帧是语音(SP)帧还是通用音频(GA)帧。虽然转变信息可以暗示来自之前的帧分类类型,但是发射信息的信道可能是有损耗的,并且因此关于之前帧类型的信息可能不可靠或可用。因此在一些实施例中,码字也可以传送关于从语音到通用音频的转变的信息。
[0082] 在图3中,解码器一般包括适合于将语音帧代码化的第一解码器320以及适合于将通用音频帧解码的第二代码器330。在一个实施例中,语音解码器是基于适合于处理解码语音信号的源过滤器模型解码器,并且通用音频解码器是基于适合于如上所述将通用音频信号解码的时域混叠抵消(TDAC)的线性正交重叠变换解码器。更一般而言,语音和通用音频解码器的配置必须与代码器的配置互补。
[0083] 在图3中,对于给定的音频帧,第一解码器320和第二解码器330中的一个具有通过基于码字控制的选择开关340或者其他器件耦合到解复用器的输出端的输入端。例如,可基于模式选择器的码字输出由处理器来控制开关。根据解复用器输出的音频帧类型,开关340选择用于处理语音帧的语音解码器320以及用于处理通用音频帧的通用音频解码器330。一般而言,借助于选择开关340,只通过一个代码器,例如语音代码器或者通用音频代码器来处理每个帧。然而,替代地,选择可在通过两个解码器将每个帧解码之后出现。更一般而言,虽然图3只图示了两个解码器,但是可通过若干解码器中的一个将帧解码。
[0084] 图7图示了在图3的混合音频信号处理编解码器或者至少混合解码器部分中实现的解码处理700。该处理还包括如下面进一步描述的音频间隙填充样本的生成。在图7中,在710,产生代码化音频样本的第一帧,并且在720产生代码化音频样本的第二帧的至少一部分。例如,在图3中,当从复用器310输出的比特流包括代码化语音帧和代码化通用音频帧时,使用语音解码器320来产生代码化样本的第一帧,并且然后使用通用音频解码器330来产生代码化音频样本的第二帧的至少一部分。如上所述,有时在代码化音频样本的第一帧与代码化音频样本的所述一部分第二帧之间形成音频间隙,导致在用户接口产生不期望的噪声。
[0085] 在730,基于表示代码化音频样本的第一帧的加权分段和/或代码化音频样本的所述一部分第二帧的加权分段的参数来生成音频间隙填充样本。在图3中,音频间隙样本解码器350基于所述参数,根据通过解码器320生成的已处理的语音帧 和/或根据通过通用音频解码器330生成的已处理的通用音频帧 生成音频间隙填充样本 所述参数被传送给音频间隙解码器350作为代码化比特流的一部分。一般而言,所述参数减少了生成的音频间隙样本与上述基准音频间隙样本集合之间的失真。在一个实施例中,所述参数包括用于代码化音频样本的第一帧的加权分段的第一加权参数和第一索引,以及用于代码化音频样本的所述一部分第二帧的加权分段的第二加权参数和第二索引。第一索引指定从音频间隙填充样本到代码化音频样本的第一帧的分段中的对应样本的第一时间偏移,而第二索引指定从音频间隙填充样本到代码化音频样本的所述一部分第二帧的分段中的对应样本的第二时间偏移。
[0086] 在图3中,通过音频间隙解码器350生成的音频填充间隙样本被传送给序列器360,序列器360将音频间隙样本 与通过通用音频解码器330产生的代码化音频样本的第二帧组合。一般而言,序列器形成样本序列,该样本序列至少包括音频间隙填充样本和代码化音频样本的所述一部分第二帧。在一个特定实现中,序列还包括代码化音频样本的第一帧,其中音频间隙填充样本至少部分地填充代码化音频样本的第一帧与代码化音频样本的所述一部分第二帧之间的音频间隙。
[0087] 音频间隙帧填充了代码化音频样本的第一帧与代码化音频样本的所述一部分第二帧之间的音频间隙的至少一部分,从而消除或者至少减少了用户可能感知的任何听得见的噪声。开关370基于码字来选择语音解码器320或组合器360的输出,使得在输出序列中重组解码帧。
[0088] 虽然以建立所有权并使得本领域普通技术人员能够制造和使用本公开的方式描述了本公开及其最佳模式,但是将理解,这里公开的示例性实施例有等同实施例,并且在不脱离本发明范围和精神的情况下可对其做出修改和变化,这些修改和变化不是受示例性实施例限制,而是受所附权利要求书限制。