掌桥专利:专业的专利平台
掌桥专利
首页

用于音频信号的时域数据包丢失隐藏的方法

文献发布时间:2023-06-19 09:30:39


用于音频信号的时域数据包丢失隐藏的方法

本申请是申请日为2015年7月28日、申请号为201580052448.0的中国专利申请的分案申请。

技术领域

示例性实施方案涉及数据包丢失隐藏,并且更具体地涉及数据包丢失隐藏方法和装置,以及在音频的部分帧中发生错误时能够将重构音质的劣化最小化的音频解码方法和装置。

背景技术

当通过有线/无线网络传输编码的音频信号时,如果部分数据包由于传输错误而损坏或失真,则在解码的音频信号的部分帧中可能发生擦失。如果没有正确地校正该擦失,则在包括发生错误的帧(在下文中称为“擦失帧”)和相邻帧的持续时间中,解码的音频信号的音质可能劣化。

关于音频信号编码,已知的是,对特定信号执行时频变换处理、然后在频域中执行压缩处理的方法提供了良好的重构音质。在时频变换处理中,广泛使用经修改的离散余弦变换(MDCT)。在这种情况下,对于音频信号解码,使用反MDCT(IMDCT)将频域信号变换为时域信号,并且可以对该时域信号执行重叠相加(OLA)处理。在OLA处理中,如果在当前帧中发生错误,下一帧也可能受到影响。具体地,最终的时域信号是通过将前一帧和后续帧之间的混叠分量添加到时域信号中的重叠部分而产生的,并且如果发生错误,则不存在精确的混叠分量,因此可能发生噪声,从而导致重构音质的严重劣化。

当使用时频变换处理来编码和解码音频信号时,在来自用于隐藏已擦失帧的方法中的通过对在前好帧(PGF)的参数进行回归分析来获得擦失帧的参数的回归分析方法中,通过一定程度地考虑擦失帧的原始能量,隐藏是可能实现的,但是在信号逐渐增加或严重波动的部分中,错误隐藏效率可能降低。此外,当将应用的参数的类型数增加时,回归分析方法趋于导致复杂性的增加。在用于通过重复地再现擦失帧的PGF来恢复擦失帧中的信号的重复法中,可能难以将由于OLA处理的特性引起的重构音质劣化最小化。用于通过对PGF和下一好帧(NGF)的参数进行内插来预测擦失帧的参数的内插法需要一个帧的附加延迟,因此在对延迟敏感的通信编解码器中不适合采用这种内插法。

因此,当使用时频变换处理来编码和解码音频信号时,需要一种用于隐藏擦失帧而没有附加时间延迟并且不会过度增加复杂性的方法,以最小化由于数据包丢失导致的重构音质劣化。

发明内容

技术问题

示例性实施方案提供了一种数据包丢失隐藏方法和装置以用于适应于频域或时域中的信号特性来更准确地隐藏擦失帧,该方法和装置具有低复杂度且没有附加时间延迟。

示例性实施方案还提供了一种音频解码方法和装置,以用于通过适应于频域或时域中的信号特性更准确地重构擦失帧,来最小化由于数据包丢失造成的重构音质劣化,该方法和装置具有低复杂度且没有附加时间延迟。

示例性实施方案还提供了一种其中存储有程序指令的非暂态计算机可读存储介质,所述程序指令在由计算机执行时执行数据包丢失隐藏方法或音频解码方法。

技术方案

根据示例性实施方案的一个方面,提供了一种用于时域数据包丢失隐藏的方法,该方法包括:检查当前帧是否为擦失帧或擦失帧之后的好帧;当当前帧是擦失帧或擦失帧之后的好帧时,获得信号特性;基于包括信号特性的多个参数选择相位匹配工具和平滑工具中的一个;以及基于所选工具对当前帧执行数据包丢失隐藏处理。

根据示例性实施方案的另一个方面,提供了一种用于时域数据包丢失隐藏的装置,该装置包括配置用于以下的处理器:检查当前帧是否为擦失帧或擦失帧之后的好帧;当当前帧是擦失帧或擦失帧之后的好帧时,获得信号特性;基于包括信号特性的多个参数选择相位匹配工具和平滑工具中的一个;以及基于所选工具对当前帧执行数据包丢失隐藏处理。

根据示例性实施方案的一个方面,提供了一种音频解码方法,该方法包括:当当前帧是擦失帧时,在频域中执行数据包丢失隐藏处理;当当前帧是好帧时解码频谱系数;对当前帧进行时频逆变换处理,所述当前帧是时频逆变换后的擦失帧,或是好帧;检查当前帧是否为擦失帧或擦失帧之后的好帧,当当前帧是擦失帧或擦失帧之后的好帧时,获得信号特性;基于包括信号特性的多个参数选择相位匹配工具和平滑工具中的一个;以及基于所选工具对当前帧执行数据包丢失隐藏处理。

根据示例性实施方案的一个方面,提供了一种音频解码装置,该装置包括配置用于以下的处理器:当当前帧是擦失帧时,在频域中执行数据包丢失隐藏处理;当当前帧是好帧时解码频谱系数;对当前帧进行时频逆变换处理,所述当前帧是时频逆变换后的擦失帧,或是好帧;检查当前帧是否为擦失帧或擦失帧之后的好帧,当当前帧是擦失帧或擦失帧之后的好帧时,获得信号特性;基于包括信号特性的多个参数选择相位匹配工具和平滑工具中的一个;以及基于所选工具对当前帧执行数据包丢失隐藏处理。

本发明的有益效果

根据示例性实施方案,可以适应于信号特性来平滑频域中的快速信号起伏和更精确地重构擦失帧,所述信号特性为例如瞬态特性和突发擦失期,所述平滑和重构具有低复杂度且没有附加延迟。

另外,通过根据时域中的信号特性以最佳方法执行平滑处理,可以在具有低复杂度且没有附加延迟的情况下平滑由于解码信号中的擦失帧引起的快速信号起伏。

具体地,可以更精确地重构为瞬态帧的擦失帧或构成突发错误的擦失帧,因此可以将对与擦失帧相邻的下一好帧的影响最小化。

另外,通过将基于相位匹配获得的预定大小的区段从存储在缓冲器中的多个先前帧复制到为擦失帧的当前帧,并在相邻帧之间执行平滑处理,可以额外地期望对低频带的重构音质的改善。

附图说明

图1是根据示例性实施方案的频域音频解码装置的框图;

图2是根据示例性实施方案的频域数据包丢失隐藏装置的框图;

图3示出了根据示例性实施方案经分组以应用回归分析的子带的结构;

图4示出了应用于示例性实施方案的线性回归分析和非线性回归分析的概念;

图5是根据示例性实施方案的时域数据包丢失隐藏装置的框图;

图6是根据示例性实施方案的相位匹配隐藏处理装置的框图;

图7是示出根据示例性实施方案操作图6的第一隐藏单元的流程图;

图8是用于描述应用于示例性实施方案的相位匹配方法的概念的图;

图9是常规OLA单元的框图;

图10示出了通用的OLA方法;

图11是根据示例性实施方案的重复和平滑擦失隐藏装置的框图;

图12是图11的第一隐藏单元1110和OLA单元1130的框图;

图13示出了擦失帧的重复和平滑处理中的加窗;

图14是图11的第三隐藏单元1170的框图;

图15示出了具有用于擦失帧之后下一好帧的窗口示例的重复和平滑处理中的加窗;

图16是图11的第二隐藏单元1150的示例的框图;

图17示出了用于平滑图16中的突发擦失之后的下一好帧的重复和平滑处理中的加窗;

图18是图11的第二隐藏单元1150的另一示例的框图;

图19示出了用于图18中的突发擦失之后的下一好帧的重复和平滑处理中的加窗;

图20a和图20b分别是根据示例性实施方案的音频编码装置和音频解码装置的框图;

图21a和图21b分别是根据另一示例性实施方案的音频编码装置和音频解码装置的框图;

图22a和图22b分别是根据另一示例性实施方案的音频编码装置和音频解码装置的框图;

图23a和图23b分别是根据另一示例性实施方案的音频编码装置和音频解码装置的框图。

具体实施方式

本发明构思可允许各种类型的改变或修改以及各种形式改变,并且具体示例性实施方案将在附图中示出并在说明书中详细描述。然而,应当理解,具体示例性实施方案并不将本发明构思限于特定公开形式,而是包括在本发明构思的精神和技术范围内的每种修改、等同物或替换。在以下描述中,不再详细描述熟知的功能或构造,因为它们会以不必要的细节模糊本发明。

虽然诸如“第一”和“第二”的术语可以用于描述各种要素,但是要素不可被这些术语限制。这些术语可以用于区分某个要素与另一个要素。

本申请中使用的术语仅用于描述具体的示例性实施方案,并且不具有限制本发明构思的任何意图。虽然在考虑本发明构思中的功能的同时尽可能选择当前广泛使用的术语作为本发明构思中使用的术语,但是它们可以根据本领域中的普通技术人员的意图、司法先例或新技术的出现而变化。此外,在特定情况下,可以使用由申请人有意选择的术语,并且在这种情况下,术语的含义将在本发明的相应描述中公开。因此,本发明构思中使用的术语不应限于术语的简单名称,而是由术语的含义和本发明构思的内容来限定。

单数形式的表达包括复数形式的表达,除非它们在上下文中彼此明显不同。在本申请中,应当理解,诸如“包括”和“具有”的术语用于指示存在所实现的特征、数字、步骤、操作、要素、部件或它们的组合,但不预先排除存在或添加一个或多个其他特征、数字、步骤、操作、要素、部件或它们的组合的可能性。

现将参考附图详细描述示例性实施方案。

图1是根据示例性实施方案的频域音频解码装置的框图。

图1所示的频域音频解码装置可以包括参数获得单元110、频域解码单元130、以及后处理单元150。频域解码单元130可以包括频域数据包丢失隐藏(PLC)模块132、频谱解码单元133、存储器更新单元134、逆变换单元135、通用重叠相加(OLA)单元136、以及时域PLC模块137。除了嵌入在存储器更新单元134中的存储器(未示出)之外的部件可以集成在至少一个模块中,并且可以实现成至少一个处理器(未示出)。存储器更新单元134的功能可以分布到并包括在频域PLC模块132和频谱解码单元133中。

参见图1,参数获得单元110可以根据接收到的比特流解码参数,并且根据解码的参数检查帧单元中是否发生了错误。由参数获得单元110提供的信息可以包括错误标记,该错误标记指示当前帧是否为擦失帧以及到目前为止已经连续发生的擦失帧的数目。如果确定在当前帧中发生了擦失,则诸如坏帧指示符(BFI)的错误标记可设置为1,以指示不存在关于该擦失帧的信息。

频域PLC模块132可以在其中具有频域数据包丢失隐藏算法,并且当由参数获得单元110提供的错误标志BFI为1并且前一帧的解码模式为频域模式时操作。根据示例性实施方案,频域PLC模块132可以通过重复存储在存储器(未示出)中的PGF的合成频谱系数来生成擦失帧的频谱系数。在这种情况下,可以通过考虑前一帧的帧类型和到目前为止已经发生的擦失帧的数量来执行重复处理。为了便于描述,当已经连续发生的擦失帧的数量为两个或更多时,此发生对应于突发擦失。

根据示例性实施方案,当当前帧是形成突发擦失的擦失帧并且前一帧不是瞬态帧时,频域PLC模块132可从例如第五擦失帧开始将PGF的解码频谱系数强制向下缩放固定值3dB。也就是说,如果当前帧对应于已经连续发生的擦失帧中的第五擦失帧,则频域PLC模块132可以通过降低PGF的解码频谱系数的能量并重复用于第五擦失帧的该能量降低的频谱系数来生成频谱系数。

根据另一示例性实施方案,当当前帧是形成突发擦失的擦失帧并且前一帧是瞬态帧时,频域PLC模块132可以从例如第二擦失帧开始将PGF的解码频谱系数强制向下缩放固定值3dB。也就是说,如果当前帧对应于已经连续发生的擦失帧中的第二擦失帧,则频域PLC模块132可以通过降低PGF的解码频谱系数的能量并重复用于第二擦失帧的该能量降低的频谱系数来生成频谱系数。

根据另一示例性实施方案,当当前帧是形成突发擦失的擦失帧时,频域PLC模块132可以通过随机改变针对擦失帧生成的频谱系数的符号来减少由于重复每个帧的频谱系数而生成的调制噪声。在形成突发擦失的擦失帧组中开始应用随机符号的擦失帧可以根据信号特性而变化。根据示例性实施方案,开始应用随机符号的擦失帧的位置可以根据信号特性是否指示当前帧是瞬态的而不同地设置,或者开始应用随机符号的擦失帧的位置可以针对多个非瞬态信号中的稳态信号而不同地设置。例如,当确定输入信号中存在谐波分量时,输入信号可以被确定为信号起伏不严重的稳态信号,并且可以执行与该稳态信号相对应的数据包丢失隐藏算法。通常,从编码器发送的信息可以用于输入信号的谐波信息。当不需要低复杂度时,可以使用由解码器合成的信号来获得谐波信息。

根据另一示例性实施方案,频域PLC模块132可以不仅对形成突发擦失的擦失帧,而且还在每隔一个帧是擦失帧的情况下应用向下缩放或随机符号。也就是说,当当前帧是擦失帧,前一帧是好帧,并且再前一帧是擦失帧时,可以应用向下缩放或随机符号。

当由参数获得单元110提供的错误标志BFI为0时,即,当当前帧是好帧时,频谱解码单元133可以操作。频谱解码单元133可以通过使用由参数获得单元110解码的参数执行频谱解码来合成频谱系数。

关于当前帧为好帧的情况,存储器更新单元134可以针对下一帧更新合成的频谱系数、使用解码参数获得的信息、直到目前为止已经连续发生的擦失帧的数量、关于每个帧的信号特性或帧类型的信息。信号特性可以包括瞬态特性或稳态特性,并且帧类型可以包括瞬态帧、稳态帧或谐波帧。

逆变换单元135可以通过对合成的频谱系数执行时频逆变换来生成时域信号。逆变换单元135可以基于当前帧的错误标记和前一帧的错误标记,而将当前帧的时域信号提供给通用OLA单元136和时域PLC模块137中的一个。

当当前帧和前一帧都是好帧时,通用OLA单元136可以操作。通用OLA单元136可以通过使用前一帧的时域信号来执行通用OLA处理,生成当前帧的最终时域信号作为通用OLA处理的结果,并且将该最终时域信号提供给后处理单元150。

当当前帧是擦失帧时,或当前帧是好帧而前一帧是擦失帧,并且最新PGF的解码模式是频域模式时,时域PLC模块137可以操作。也就是说,当当前帧是擦失帧时,数据包丢失隐藏处理可以由频域PLC模块132和时域PLC模块137执行,并且当前一帧是擦失帧且当前帧是好帧时,数据包丢失隐藏处理可以由时域PLC模块137执行。

后处理单元150可以对从频域解码单元130提供的时域信号执行用于音质改进的滤波、上采样等,但不限于此。后处理单元150提供重构音频信号作为输出信号。

图2是根据示例性实施方案的频域数据包丢失隐藏装置的框图。图2的装置可以应用于BFI标记为1并且前一帧的解码模式为频域模式的情况。图2的装置可以实现自适应淡出并且可以应用于突发擦失。

图2所示的装置可以包括信号特性确定器210、参数控制器230、回归分析器250、增益计算器270、以及缩放器290。所述部件可以集成在至少一个模块中,并且实现为至少一个处理器(未示出)。

参见图2,信号特性确定器210可以通过使用解码信号来确定信号的特性,并且使用解码信号的特性,可以将帧分类为瞬态帧、正常帧、稳态帧等。现将在下文描述确定瞬态帧的方法。根据示例性实施方案,可以使用从编码器发送的帧类型is_transient和能量差energy_diff来确定当前帧是瞬态帧还是稳态帧。为此,可以使用针对好帧获得的移动平均能量E

现将描述获得E

如果假设当前帧的能量或范数值的平均值是E

接下来,energy_diff可以通过对E

当energy_diff小于预定阈值并且帧类型is_transient为0时,即,不是瞬态帧时,信号特性确定器210可以确定当前帧不是瞬态的。当energy_diff等于或大于预定阈值并且帧类型is_transient为1,即,是瞬态帧时,信号特性确定器210可以确定当前帧是瞬态的。energy_diff为1.0表示E

参数控制器230可以使用由信号特性确定器210确定的信号特性以及包括在从编码器发送的信息中的帧类型和编码模式来控制用于数据包丢失隐藏的参数。

用于回归分析的先前好帧的数量可以被例示为针对数据包丢失隐藏控制的参数。为此,可以通过使用从编码器发送的信息或由信号特性确定器210获得的瞬态信息来确定当前帧是否是瞬态帧。当同时使用两种信息时,可以使用以下条件:也就是说,如果从编码器发送的瞬态信息is_transient是1,或者如果由解码器获得的信息energy_diff等于或大于预定阈值ED_THRES,例如1.0,则此指示当前帧是能量变化严重的瞬态帧,因此可以减少要用于回归分析的PGF的数量num_pgf。否则,确定当前帧不是瞬态帧,并且可以增大num_pgf。这可以表示为以下伪码。

在上述情形中,ED_THRES表示阈值,并且可以设置为例如1.0。

数据包丢失隐藏的参数的另一示例可以是突发错误持续时间的缩放法。在一个突发错误持续时间中可以使用相同的energy_diff值。如果确定为擦失帧的当前帧不是瞬态的,那么,当发生突发擦失时,从例如第五帧开始的帧可以被强制缩放3dB的固定值,而与对前一帧的解码频谱系数的回归分析无关。否则,如果确定作为擦失帧的当前帧是瞬态的,那么,当发生突发擦失时,从例如第二帧开始的帧可以被强制缩放3dB的固定值,而与对前一帧的解码频谱系数的回归分析无关。

数据包丢失隐藏的参数的另一示例可以是自适应静噪和随机符号的应用方法,下面将参考缩放器290来描述。

回归分析器250可以通过使用存储的前一帧的参数来执行回归分析。当设计解码器时,可以预先定义执行回归分析的擦失帧的条件。在发生了突发擦失时执行回归分析的情况下,当nbLostCmpt指示连续擦失帧的数量为2时,从第二个连续擦失帧开始执行回归分析。在这种情况下,对于第一个擦失帧,可以简单地重复从前一帧获得的频谱系数,或者可以将频谱系数缩放确定的值。

if(nbLostCmpt==2){

regression_anaysis();

}

在频域中,即使作为在时域中变换重叠信号的结果没有发生连续擦失,也可能发生类似于连续擦失的问题。例如,如果按照跳过一个帧而发生擦失,换句话说如果以擦失帧、好帧和擦失帧的顺序发生擦失,那么,当通过重叠50%形成变换窗口时,音质与以擦失帧、擦失帧和擦失帧的顺序发生擦失的情况没有很大不同,与中间是否存在好帧无关。即使第n帧是好帧,如果第(n-1)和第(n+1)帧是擦失帧,则在重叠处理中产生完全不同的信号。因此,当以擦失帧、好帧和擦失帧的顺序发生擦失时,尽管发生第二次擦失的第三帧的nbLostCmpt为1,但是nbLostCmpt被强制地增加1。结果,nbLostCmpt为2,并且确定发生了突发擦失,因此可以使用回归分析。

在上述情形中,prev_old_bfi表示第二个先前帧的帧错误信息。当当前帧是错误帧时,该处理可以适用。

为了具有低复杂度,回归分析器250可以通过对两个或更多个频带进行分组来形成各组,导出每个组的代表值,并将回归分析应用于代表值。代表值的示例可以是平均值、中间值和最大值,但是代表值不限于此。根据示例性实施方案,可以使用为包括在每个组中的频带的平均范数值的分组范数的平均矢量作为代表值。用于回归分析的PGF的数量可以是2或4。用于回归分析的矩阵的行数可以设置为例如2。

作为回归分析器250的回归分析的结果,可以针对擦失帧预测每个组的平均范数值。也就是说,可以针对属于擦失帧中一个组的每个频带预测相同的范数值。详细地,回归分析器250可以通过回归分析来根据线性回归分析等式计算值a和b,并通过使用计算出的值a和b来预测每个组的平均范数值。计算出的值a可以在预定范围内调节。在EVS编解码器中,预定范围可以被限制为负值。在以下伪代码中,norm_values是前一好帧中每个组的平均范数值,而norm_p是每组的预测平均范数值。

利用此经修改的a值,可以预测每个组的平均范数值。

增益计算器270可以获得在针对擦失帧预测的每个组的平均范数值与在先前好帧中的每个组的平均范数值之间的增益。当预测范数大于零并且前一帧的范数非零时,可以执行增益计算。当预测范数小于零或前一帧的范数为零时,增益可以从初始值如1.0向下缩放3dB。计算的增益可以被调整到预定范围。在EVS编解码器中,增益的最大值可以被设置为1.0。

缩放器290可以对前一好帧应用增益缩放以预测擦失帧的频谱系数。缩放器290还可以根据输入信号的特性将自适应静噪应用于擦失帧,并将随机符号应用于预测的频谱系数。

首先,输入信号可以被识别为瞬态信号和非瞬态信号。稳态信号可以与非瞬态信号分离地识别并以另一种方法处理。例如,如果确定输入信号具有大量的谐波分量,则输入信号可以被确定为其信号变化不大的稳态信号,并且可执行对应于稳态信号的数据包丢失隐藏算法。一般来说,输入信号的谐波信息可以获自从编码器发送的信息。当不需要低复杂度时,可以使用由解码器合成的信号来获得输入信号的谐波信息。

当输入信号主要被分类为瞬态信号、稳态信号和残余信号时,可以如下所述应用自适应静噪和随机符号。在下面的情境中,由mute_start指示的数字指示:当发生突发擦失时,如果bfi_cnt等于或大于mute_start,则静噪强制地开始。另外,可以以相同的方式分析与随机符号相关的random_start。

根据应用自适应静噪的方法,将频谱系数强制向下缩放固定值。例如,如果当前帧的bfi_cnt是4,并且当前帧是稳态帧,则当前帧的频谱系数可以被向下缩放3dB。

另外,频谱系数的符号经随机地修改以减少由于每帧中的频谱系数的重复而产生的调制噪声。可以使用各种熟知的方法作为应用随机符号的方法。

根据示例性实施方案,随机符号可以应用于帧的所有频谱系数。根据另一示例性实施方案,可以预先定义开始应用随机符号的频带,并且可以将随机符号应用于等于或高于定义频带的频带,因为可以更好地使用频谱系数与极低频带(例如200Hz或更小)或第一频带中的前一帧的频谱系数相同的符号,这是因为波形或能量可能由于该极低频带中的符号的变化而极大地变化。

因此,可以平滑信号的急剧变化,并且可以精确地恢复错误帧以适应于信号的特性,特别是瞬态特性和突发擦失持续时间,而在频域中没有低复杂度下的附加延迟。

图3示出了根据示例性实施方案经分组以应用回归分析的子带的结构。回归分析可以应用于窄带信号,其支持直到例如4.0KHz。

参见图3,对于第一区域,通过将8个子带组合为一个组来获得平均范数值,并且使用前一帧的分组平均范数值来预测擦失帧的分组平均范数值。从分组的子带获得的分组平均范数值形成了向量,该向量被称为分组范数的平均向量。通过使用分组范数的平均向量,可以获得等式1中的a和b。使用每个分组的子带(GSb)的K个分组的平均范数值来进行回归分析。

图4示出了线性回归分析和非线性回归分析的概念。线性回归分析可应用于根据示例性实施方案的数据包丢失算法。在这种情况下,“范数的平均值”表示通过对多个频带进行分组而获得的平均范数值,并且是应用回归分析的目标。当量化值用于前一帧的平均范数值时,执行线性回归分析。指示用于回归分析的PGF的数目的“PGF数目”可以可变地设定。

线性回归分析的示例可以由等式2表示。

如在等式2中,当使用线性等式时,可以通过获得a和b来预测即将到来的转变y。在等式2中,a和b可以通过逆矩阵获得。获得逆矩阵的简单方法可以使用高斯-约当消去法(Gauss-Jordan Elimination)。

图5是根据示例性实施方案的时域数据包丢失隐藏装置的框图。图5的装置可以用于实现考虑到输入信号特性的附加质量增强,并且可以包括相位匹配工具和重复平滑工具这两个隐藏工具以及通用OLA模块。利用这两个隐藏工具,可以通过检查输入信号的平稳性来选择适当的隐藏方法。

图5所示的装置500可以包括PLC模式选择单元531、相位匹配处理单元533、OLA处理单元535、重复和平滑处理单元537、以及第二存储器更新单元539。第二存储器更新单元539的功能可以包括在每个处理单元533、535和537中。在此,第一存储器更新单元510可以对应于图1的存储器更新单元134。

参见图5,第一存储器更新单元510可以提供用于PLC模式选择的各种参数。各种参数可以包括phase_matching_flag、stat_mode_out和diff_energy等。

PLC模式选择单元531可以接收当前帧的标记BFI,前一帧的标记Prev_BFI,连续擦失帧的数目nbLostCmpt以及从第一存储器更新单元510提供的参数,并选择PLC模式。关于每个标记,1表示擦失帧,0表示好帧。当连续擦失帧的数目等于或大于例如2时,可以确定形成了突发擦失。根据PLC模式选择单元531中的选择结果,可以向处理单元533、535和537中的一个提供当前帧的时域信号。

表1概括了PLC模式。存在用于时域PLC的两种工具。

[表1]

表2概括了PLC模式选择单元531中的PLC模式选择方法。

[表2]

用于选择用于相位匹配工具的PLC模式的伪代码可以概括如下。

相位匹配标记(phase_mat_flag)可以用于在前一好帧中在第一存储器更新单元510处确定在下一帧中发生擦失时是否对每个好帧使用相位匹配擦失隐藏处理。为此,可以使用每个子带的能量和频谱系数。能量可以从范数值获得,但不限于此。更具体地,当当前帧中具有最大能量的子带属于预定的低频带,并且帧间能量变化不大时,相位匹配标记可以被设置为1。

根据示例性实施方案,当当前帧中具有最大能量的子带在75Hz至1000Hz的范围内,当前帧的索引与关于对应子带的前一帧的索引之间的差是1或更小,并且当前帧是能量变化小于阈值的稳态帧,并且例如存储在缓冲器中的三个过去帧不是瞬态帧时,相位匹配擦失隐藏处理将被应用于已经发生擦失的下一帧。伪代码可以概括如下。

用于重复和平滑工具和常规OLA的PLC模式选择方法可以通过稳定性检测来执行并且解释如下。

可以引入滞后以便防止稳定性检测中的检测结果频繁改变。擦失帧的稳定性检测可以通过接收包括前一帧的稳态模式stat_mode_old、能量差diff_energy等的信息来确定当前的擦失帧是否是稳态的。具体地,当能量差diff_energy小于阈值如0.032209时,当前帧的稳态模式标记stat_mode_curr被设置为1。

如果确定当前帧是稳态的,则滞后应用可以通过应用前一帧的稳态模式参数stat_mode_old来从当前帧生成最终稳定性参数stat_mode_out以防止当前帧的稳定性信息的频繁改变。也就是说,当确定当前帧是稳态的并且前一帧是稳态帧时,可以将当前帧检测为稳态帧。

PLC模式选择的操作可以取决于当前帧是否为擦失帧或擦失帧之后的下一好帧。参见表2,对于擦失帧,可以通过使用各种参数来确定输入信号是否为稳态的。更具体地,当前一好帧是稳态的并且能量差小于阈值时,得出输入信号是稳态的结论。在这种情况下,可以执行重复和平滑处理。如果确定输入信号不是稳态的,则可以执行通用的OLA处理。

同时,如果输入信号不是稳态的,则对于擦失帧之后的下一好帧,可以通过检查连续擦失帧的数量是否大于1来确定前一帧是否是突发擦失帧。如果是这种情况,则响应于为突发擦失帧的前一帧来执行对下一好帧的擦失隐藏处理。如果确定输入信号不是稳态的并且前一帧是随机擦失,则执行常规OLA处理。

如果输入信号是稳态的,则可以响应于被擦失的前一帧执行对下一好帧的擦失隐藏处理,即,重复和平滑处理。对下一好帧的这种重复和平滑具有两种类型的隐藏方法。一种是用于擦失帧之后的下一好帧的重复和平滑方法,另一种是用于突发擦失之后的下一好帧的重复和平滑方法。

针对重复和平滑工具以及常规OLA来选择PLC模式的伪代码如下。

将参照图6至图8来解释相位匹配处理单元533的操作。

将参照图9和图10来解释OLA处理单元535的操作。

将参照图11至图19来解释重复和平滑处理单元537的操作。

第二存储器更新单元539可以更新用于对当前帧的数据包丢失隐藏处理的各种类型的信息,并将该信息存储在用于下一帧的存储器(未示出)中。

图6是根据示例性实施方案的相位匹配隐藏处理装置的框图。

图6所示的装置可以包括第一至第三隐藏单元610、630和650。相位匹配工具可以通过复制从先前的好帧获得的相位匹配的时域信号来产生当前擦失帧的时域信号。一旦将相位匹配工具被用于擦失帧,则该工具也将用于下一好帧或随后的突发擦失。对于下一好帧,使用针对下一好帧的相位匹配工具。对于后续的突发擦失,使用用于突发擦失的相位匹配工具。

参见图6,第一隐藏单元610可以对当前擦失帧执行相位匹配隐藏处理。

第二隐藏单元630可以对下一好帧执行相位匹配隐藏处理。也就是说,当前一帧是擦失帧并且对前一帧执行了相位匹配隐藏处理时,可以对下一好帧执行相位匹配隐藏处理。

在第二隐藏单元630中,可以使用参数mean_en_high。mean_en_high参数表示高频带的平均能量并且指示最后的好帧的相似性。该参数通过以下等式2计算。

其中k是所确定的高频带的起始频带索引。

如果mean_en_high大于2.0或小于0.5,则其表示能量变化严重。如果能量变化严重,则将oldout_pha_idx设置为1。Oldout_pha_idx用作使用Oldauout存储器的切换。两组Oldauout被保存在擦失帧区块的相位匹配和突发擦失区块的相位匹配两者处。第一Oldauout是通过相位匹配处理从复制的信号生成的,第二Oldauout是由从IMDCT得到的时域信号生成的。如果oldout_pha_idx被设置为1,则其指示高频带信号不稳定,并且第二Oldauout将被用于下一好帧中的OLA处理。如果oldout_pha_idx被设置为0,则其指示高频带信号稳定,并且第一Oldauout将被用于下一好帧中的OLA处理。

第三隐藏单元650可以对突发擦失执行相位匹配隐藏处理。也就是说,当前一帧是擦失帧并且对前一帧执行了相位匹配隐藏处理时,可以对当前帧作为突发擦失的一部分执行相位匹配隐藏处理。

第三隐藏单元650没有最大相关搜索处理和复制处理,因为这些处理所需的所有信息可以通过用于擦失帧的相位匹配来重复使用。在第三隐藏单元650中,为了重叠的目的,可以在对应于复制信号的重叠持续时间的信号和存储在当前帧n中的Oldauout信号之间进行平滑。Oldauout实际上是通过对前一帧的相位匹配处理获得的复制信号。

图7是示出根据示例性实施方案图6的第一隐藏单元610的操作的流程图。

为了使用相位匹配工具,phase_mat_flag应设置为1。也就是说,当先前好帧在预定低频带中具有最大能量并且能量变化小于阈值时,可以对为随机擦失帧的当前帧执行相位匹配隐藏处理。即使满足该条件,也获得相关标度accA,并且可以选择相位匹配擦失隐藏处理或通用OLA处理。该选择取决于相关标度accA是否在预定范围内。也就是说,可以取决于在搜索范围内的区段之间是否存在相关性,以及是否存在搜索区段和在搜索范围中的区段之间的互相关,来有条件地执行相位匹配数据包丢失隐藏处理。

相关标度由等式3给出。

在等式3中,d表示存在于搜索范围中的区段的数目,Rxy表示用于搜索与搜索区段(x信号)具有相同长度的匹配区段相对于存储在缓冲器中的过去好帧(y信号)的互相关性,并且Ryy表示存储在缓冲器中的过去好帧中存在的区段之间的相关性。

接下来,确定相关标度accA是否在预定范围内。如果是,则在当前擦失帧上进行相位匹配擦失隐藏处理。否则,执行对当前帧的常规OLA处理。如果相关标度accA小于0.5或大于1.5,则执行常规OLA处理。否则,执行相位匹配擦失隐藏处理。在本文中,上限值和下限值仅是说明性的,并且可以通过实验或模拟预先设置为最佳值。

首先,从存储在缓冲器中的N个过去好帧中的一个先前好帧中的解码信号中搜索与当前帧相邻的搜索区段具有最大相关性,即最相似的匹配区段。对于确定执行相位匹配擦失隐藏处理的当前擦失帧,可以通过获得相关性尺度来再次确定相位匹配擦失隐藏处理是否合适。

接下来,通过参考作为搜索结果获得的匹配区段的位置索引,将从匹配区段的末尾开始的预定持续时间复制到为擦失帧的当前帧。另外,当前一帧是随机擦失帧并且对前一帧执行了相位匹配擦失隐藏处理时,通过参考作为搜索结果获得的匹配区段的位置索引,将从匹配区段的末尾开始的预定持续时间复制到为擦失帧的当前帧。此时,将对应于窗口长度的持续时间复制到当前帧。当从匹配区段的末尾开始的复制比窗口长度短时,从匹配区段的末尾开始的复制将被重复地复制到当前帧中。

接下来,可以通过OLA执行平滑处理,以最小化当前帧和相邻帧之间的不连续,从而在隐藏的当前帧上生成时域信号。

图8是用于描述应用于示例性实施方案的相位匹配方法的概念的图。

参见图8,当在解码音频信号中的帧n中发生错误时,可以从存储在缓冲器中的N个过去的正常帧之中的先前帧n-1中的解码信号中搜索与和帧n相邻的搜索区段810最相似的匹配区段830。此时,可以根据与要搜索的音调分量相对应的最小频率的波长来确定搜索区段810的大小和缓冲器中的搜索范围。为了最小化搜索的复杂性,搜索区段810的大小优选地较小。例如,搜索区段810的大小可以被设置为大于最小频率的波长的一半,并且小于最小频率的波长。可以将缓冲器中的搜索范围设置为等于或大于要搜索的最小频率的波长。根据本发明的实施方案,可以基于上述标准,根据输入频带(NB、WB、SWB或FB)预先设置搜索区段810的大小和缓冲器中的搜索范围。

详细地,可以从搜索范围内的过去解码信号中搜索与搜索区段810具有最高互相关性的匹配区段830,可以获得与匹配区段830相对应的位置信息,并且可以通过考虑窗口长度(例如,通过将帧长度和重叠持续时间的长度相加而获得的长度)来设置从匹配区段830的末尾开始的预定持续时间850,并将该预定持续时间复制到发生了错误的帧n。

当完成复制处理时,在当前帧n的开始部分,对复制信号和存储在用于重叠的前一帧n-1中的Oldauout信号执行重叠处理达第一重叠持续时间。重叠持续时间的长度可以设置为2ms。

图9是常规OLA单元的框图。常规OLA单元可以包括加窗单元910和重叠相加(OLA)单元930。

参见图9,加窗单元910可以对当前帧的IMDCT信号执行加窗处理以去除时域混叠。根据实施方案,可以应用具有小于50%的重叠持续时间的窗口。

OLA单元930可以对经加窗的IMDCT信号执行OLA处理。

图10示出了通用的OLA方法。

当在频域编码中发生擦失时,过去的频谱系数通常被重复,因此可能不能去除擦失帧中的时域混叠。

图11是根据示例性实施方案的重复和平滑擦失隐藏装置的框图。

图11的装置可以包括第一至第三隐藏单元1110、1150和1170,以及OLA单元1130。

将参考图12和图13来解释第一隐藏单元1110和OLA单元1130的操作。

将参照图16至图19来解释第二隐藏单元1130的操作。

将参考图14和图15来解释第三隐藏单元1130的操作。

图12是根据示例性实施方案的第一隐藏单元1110和OLA单元1130的框图。图12的装置可以包括加窗单元1210、重复单元1230、平滑单元1250、确定单元1270和OLA单元1290(图11的1130)。即使使用原始的重复方法,重复和平滑处理被用来最小化噪声的发生。

参考图12,加窗单元1210可以执行与图9的加窗单元910的操作相同的操作。

重复单元1230可以将在当前帧之前两个帧的帧(在图13中称为“先前旧的”)的IMDCT信号应用于当前擦失帧的开始部分。

平滑单元1250可以在前一帧的信号(旧音频输出)和当前帧的信号(称为“当前音频输出”)之间应用平滑窗口,并且执行OLA处理。平滑窗口被形成为使得相邻窗口之间的重叠持续时间的总和等于1。满足该条件的窗口的示例是正弦波窗口、使用主函数的窗口和汉宁窗口,但是平滑窗口不限于此。根据示例性实施方案,可以使用正弦波窗口,并且在这种情况下,窗口函数w(n)可以由等式4表示。

在等式4中,OV_SIZE表示要在平滑处理中使用的重叠的持续时间。

通过执行平滑处理,当当前帧是擦失帧时,防止了前一帧和当前帧之间的不连续性,该不连续性可能是通过使用从当前帧之前两个帧的帧复制的IMDCT信号而不是存储在前一帧中的IMDCT信号而发生的。

在重复和平滑完成之后,在确定单元1270中,可以将重叠区域中的预定持续时间的能量Pow1与非重叠区域中的预定持续时间的能量Pow2进行比较。详细地,当在错误隐藏处理之后重叠区域的能量减小或大幅增加时,可以执行通用的OLA处理,因为当相位在重叠中逆转时可能发生能量减少,并且当相位在重叠中保持时可能发生能量增加。当信号一定程度地稳定时,由于重复和平滑操作中的隐藏性能优异,所以如果重叠区域和非重叠区域之间的能量差大,则表示由于重叠中的相位而产生了问题。因此,当重叠区域中的能量和非重叠区域中的能量之间的差值大时,可以采用通用OLA处理的结果,而不是重复和平滑处理的结果。当重叠区域中的能量和非重叠区域中的能量之间的差不大时,可以采用重复和平滑处理的结果。例如,可以通过Pow2>Pow1*3执行比较。当满足Pow2>Pow1*3时,可以采用OLA单元1290的通用OLA处理的结果,而不是重复和平滑处理的结果。当不满足Pow2>Pow1*3时,可以采用重复和平滑处理的结果。

OLA单元1290可以对重复单元1230的重复信号和当前信号的IMDCT信号执行OLA处理。因此,产生音频输出信号,并且可以减少音频输出信号的开始部分中的噪声的产生。此外,如果在频域中通过对前一帧的频谱复制来应用缩放,则可以大大减少当前帧的开始部分中的噪声产生。

图13示出了擦失帧的重复加窗和平滑处理,其对应于图11中的第一隐藏单元1110的操作。

图14是第三隐藏单元1170的框图,并且可以包括平滑单元1410。

在图14中,平滑单元1410可以将平滑窗应用于旧的IMDCT信号和当前IMDCT信号并执行OLA处理。类似地,平滑窗口被形成为使得相邻窗口之间的重叠持续时间的总和等于1。

也就是说,当前一帧是第一擦失帧并且当前帧是好帧时,难以在前一帧的IMDCT信号和当前帧的IMDCT信号之间的重叠持续时间中去除时域混叠。因此,通过执行基于平滑窗口的平滑处理而不是传统的OLA处理,可以使噪声最小化。

图15示出了具有用于平滑擦失帧之后的下一好帧的窗口的示例的重复和平滑方法,其对应于图11中的第三隐藏单元1170的操作。

图16是图11的第二隐藏单元1150的框图并且可以包括重复单元1610、缩放单元1630、第一平滑单元1650和第二平滑单元1670。

参见图16,重复单元1610可以将当前帧的IMDCT信号的用于下一帧的部分复制到当前帧的开始部分。

缩放单元1630可以调整当前帧的比例以防止突然的信号增加。在一个实施方案中,缩放区块执行3dB的向下缩放。

第一平滑单元1650可以对前一帧的IMDCT信号和来自未来帧的复制IMDCT信号应用平滑窗,并执行OLA处理。类似地,平滑窗口被形成为使得相邻窗口之间的重叠持续时间的总和等于1。也就是说,当使用复制的信号时,需要加窗以去除可能在前一帧和当前帧之间发生的不连续性,并且可以用通过第一平滑单元1650的OLA处理获得的信号替换旧的IMDCT信号。

第二平滑单元1670可以执行OLA处理,同时通过在作为被替换信号的旧IMDCT信号和作为当前帧信号的当前IMDCT信号之间应用平滑窗口来去除不连续性。类似地,平滑窗口被形成为使得相邻窗口之间的重叠持续时间的总和等于1。

也就是说,当前一帧是突发擦失并且当前帧是好帧时,不能去除前一帧的IMDCT信号和当前帧的IMDCT信号之间的重叠持续时间中的时域混叠。在突发擦失帧中,由于噪声可能因为能量减少或连续重复而发生,所以应用复制来自未来帧的信号以与当前帧重叠的方法。在这种情况下,执行平滑处理两次以去除可能在当前帧中出现的噪声,并同时去除在前一帧和当前帧之间发生的不连续性。

图17示出了用于图16中的突发擦失之后的下一好帧的重复和平滑处理中的加窗。

图18是图11的第二隐藏单元1150的框图并且可以包括重复单元1810、缩放单元1830、平滑单元1850、以及OLA单元1870。

参见图18,重复单元1810可以将当前帧的IMDCT信号的用于下一帧的部分复制到当前帧的开始部分。

缩放单元1830可以调整当前帧的比例以防止突然的信号增加。在一个实施方案中,缩放区块执行3dB的向下缩放。

第一平滑单元1850可以对前一帧的IMDCT信号和来自未来帧的复制IMDCT信号应用平滑窗,并执行OLA处理。类似地,平滑窗口被形成为使得相邻窗口之间的重叠持续时间的总和等于1。也就是说,当使用复制的信号时,需要加窗以去除可能在前一帧和当前帧之间发生的不连续性,并且可以用通过第一平滑单元1850的OLA处理获得的信号替换旧的IMDCT信号。

OLA单元1870可以在替换的OldauOut信号和当前IMDCT信号之间执行OLA处理。

图19示出了用于图18中的突发擦失之后的下一好帧的重复和平滑处理中的加窗。

图20a和图20b分别是根据示例性实施方案的音频编码装置和音频解码装置的框图。

图20a中示出的音频编码装置2110可以包括预处理单元2112、频域编码单元2114、以及参数编码单元2116。上述部件可以集成在至少一个模块中,并且可以实现为至少一个处理器(未示出)。

在图20a中,预处理单元2112可对输入信号执行滤波、下采样等,但不限于此。输入信号可以包括语音信号、音乐信号,或语音和音乐的混合信号。在下文中,为了便于描述,将输入信号称为音频信号。

频域编码单元2114可以对预处理单元2112提供的音频信号进行时频变换,根据音频信号的信道数、编码频带和比特率选择编码工具,以及通过使用所选编码工具来编码音频信号。时频变换使用经修改的离散余弦变换(MDCT)、经调制重叠变换(MLT)或快速傅里叶变换(FFT),但不限于此。当给定比特的数量足够时,可以对所有频带应用一般的变换编码方案,并且当给定比特的数量不足时,可以对部分频带应用带宽扩展方案。当音频信号是立体声信道或多信道时,如果给定比特的数量足够,则对每个信道执行编码,并且如果给定比特的数量不足,则可以应用降混方案。由频域编码单元2114生成编码频谱系数。

参数编码单元2116可以从由频域编码单元2114提供的编码频谱系数中提取参数,并对提取的参数进行编码。例如,可以提取每个子带的参数,所述子带为频谱系数的分组单位并且可以通过反映临界频带而具有均匀或不均匀的长度。当每个子带具有不均匀的长度时,与存在于高频带中的子带相比,存在于低频带中的子带可以具有相对较短的长度。一个帧中包括的子带的数量和长度根据编解码器算法而变化,并且可能影响编码性能。参数可以包括例如缩放系数、功率、平均能量或范数,但不限于此。频谱系数和作为编码结果获得的参数形成比特流,并且比特流可以存储在存储介质中,或者可以以例如数据包的形式通过信道发送。

图20b中示出的音频解码装置2130可以包括参数解码单元2132、频域解码单元2134、以及后处理单元2136。频域解码单元2134可以包括数据包丢失隐藏算法。上述部件可以集成在至少一个模块中,并且可以实现为至少一个处理器(未示出)。

在图20b中,参数解码单元2132可以从接收到的比特流中解码参数,并且根据解码的参数来检查帧单元中是否已经发生了擦失。各种公知的方法可以用于擦失检查,并且关于当前帧是好帧还是擦失帧的信息被提供给频域解码单元2134。

当当前帧是好帧时,频域解码单元2134可以通过经由通用变换解码处理执行解码来生成合成频谱系数。当当前帧为擦失帧时,频域解码单元2134可以通过经由数据包丢失隐藏算法缩放前一好帧(PGF)的频谱系数来生成合成频谱系数。频域解码单元2134可以通过对合成的频谱系数执行频率-时间变换来生成时域信号。

后处理单元2136可以对从频域解码单元2134提供的时域信号执行用于音质改进的滤波、上采样等,但不限于此。后处理单元2136提供重构音频信号作为输出信号。

图21a和图21b分别是根据另一示例性实施方案的具有切换结构的音频编码装置和音频解码装置的框图。

图21a中示出的音频编码装置2210可以包括预处理单元2212、模式确定单元2213、频域编码单元2214、时域编码单元2215、以及参数编码单元2216。上述部件可以集成在至少一个模块中,并且可以实现为至少一个处理器(未示出)。

在图21a中,因为预处理单元2212基本上与图20a的预处理单元2112相同,所以不再重复对其的描述。

模式确定单元2213可以通过参考输入信号的特性来确定编码模式。模式确定单元2213可以根据输入信号的特性确定适合于当前帧的编码模式是语音模式还是音乐模式,并且还可以确定对当前帧有效的编码模式是时域模式还是频域模式。可以通过使用一个帧的短期特性或多个帧的长期特性来感知输入信号的特性,但是不限于此。例如,如果输入信号对应于语音信号,则编码模式可以被确定为语音模式或时域模式,并且如果输入信号对应于除了语音信号之外的信号,即音乐信号或者混合信号,则编码模式可以被确定为音乐模式或频域模式。当输入信号的特性对应于音乐模式或频域模式时,模式确定单元2213可以提供预处理单元2212的输出信号给频域编码单元2214,并且当输入信号的特性对应于语音模式或时域模式时,模式确定单元2213可以提供预处理单元2212的输出信号给时域编码单元215。

因为频域编码单元2214基本上与图20a的频域编码单元2114相同,所以不再重复对其的描述。

时域编码单元2215可以对从预处理单元2212提供的音频信号执行码激励线性预测(CELP)编码。详细地,代数CELP可以用于CELP编码,但是CELP编码不限于此。由时域编码单元2215生成编码频谱系数。

参数编码单元2216可以从由频域编码单元2214或时域编码单元2215提供的编码频谱系数中提取参数,并对提取的参数进行编码。因为参数编码单元2216基本上与图20a的参数编码单元2116相同,所以不再重复对其的描述。作为编码结果获得的频谱系数和参数可以与编码模式信息一起形成比特流,并且比特流可以以数据包的形式通过信道发送或者可以存储在存储介质中。

图21b中示出的音频解码装置2230可以包括参数解码单元2232、模式确定单元2233、频域解码单元2234、时域解码单元2235、以及后处理单元2236。频域解码单元2234和时域解码单元2235中的每一者可以在各自相应的域中包括数据包丢失隐藏算法。上述部件可以集成在至少一个模块中,并且可以实现为至少一个处理器(未示出)。

在图21b中,参数解码单元2232可以从以数据包形式发送的比特流中解码参数,并且根据解码的参数检查是否已经在帧单位中发生了擦失。各种熟知的方法可以用于擦失检查,并且关于当前帧是好帧还是擦失帧的信息被提供给频域解码单元2234或时域解码单元2235。

模式确定单元2233可以检查包括在比特流中的编码模式信息,并将当前帧提供给频域解码单元2234或时域解码单元2235。

当编码模式是音乐模式或频域模式时,频域解码单元2234可以操作,并且当当前帧是好帧时通过经由通用变换解码处理进行解码来生成合成的频谱系数。当当前帧是擦失帧,并且前一帧的编码模式是音乐模式或者频域模式时,频域解码单元2234可以通过经由擦失隐藏算法缩放PGF的频谱系数来生成合成的频谱系数。频域解码单元2234可以通过对合成的频谱系数执行频率-时间变换来生成时域信号。

当编码模式是语音模式或时域模式时,时域解码单元2235可以操作,并且当当前帧是好帧时通过经由通用CELP解码处理进行解码来生成时域信号。当当前帧是擦失帧并且前一帧的编码模式是语音模式或时域模式时,时域解码单元2235可以在时域中执行擦失隐藏算法。

后处理单元2236可以对从频域解码单元2234或时域解码单元2235提供的时域信号进行滤波、上采样等,但不限于此。后处理单元2236提供重构音频信号作为输出信号。

图22a和图22b分别是根据另一示例性实施方案的音频编码装置2310和音频解码装置2320的框图。

图22a中示出的音频编码装置2310可以包括预处理单元2312、线性预测(LP)分析单元2313、模式确定单元2314、频域激励编码单元2315、时域激励编码单元2316、以及参数编码单元2317。上述部件可以集成在至少一个模块中,并且可以实现为至少一个处理器(未示出)。

在图22a中,因为预处理单元2312基本上与图20a的预处理单元2112相同,所以不再重复对其的描述。

LP分析单元2313可以通过对输入信号执行LP分析来提取LP系数,并且根据所提取的LP系数生成激励信号。可以根据编码模式将激励信号提供给频域激励编码单元2315和时域激励编码单元2316中的一个。

因为模式确定单元2314基本上与图21a的模式确定单元2213相同,所以不再重复对其的描述。

当编码模式是音乐模式或频域模式时,频域激励编码单元2315可以操作,并且因为频域激励编码单元2315基本上与图20a的频域编码单元2114相同,除了输入信号是激励信号以外,所以不再重复对其的描述。

当编码模式是语音模式或时域模式时,时域激励编码单元2316可以操作,并且因为时域激励编码单元2316基本上与图21a的时域编码单元2215相同,所以不再重复对其的描述。

参数编码单元2317可以从由频域激励编码单元2315或时域激励编码单元2316提供的编码频谱系数中提取参数,并对所提取的参数进行编码。因为参数编码单元2317基本上与图20a的参数编码单元2116相同,所以不再重复对其的描述。作为编码结果获得的频谱系数和参数可以与编码模式信息一起形成比特流,并且比特流可以以数据包的形式通过信道发送或者可以存储在存储介质中。

图22b中示出的音频解码装置2330可以包括参数解码单元2332、模式确定单元2333、频域激励解码单元2334、时域激励解码单元2335、LP合成单元2336、以及后处理单元2337。频域激励解码单元2334和时域激励解码单元2335中的每一者可以在各自相应的域中包括数据包丢失隐藏算法。上述部件可以集成在至少一个模块中,并且可以实现为至少一个处理器(未示出)。

在图22b中,参数解码单元2332可以从以数据包形式发送的比特流中解码参数,并且根据解码的参数检查是否已经在帧单位中发生了擦失。各种熟知的方法可以用于擦失检查,并且关于当前帧是好帧还是擦失帧的信息被提供给频域激励解码单元2334或时域激励解码单元2335。

模式确定单元2333可以检查包括在比特流中的编码模式信息,并将当前帧提供给频域激励解码单元2334或时域激励解码单元2335。

当编码模式是音乐模式或频域模式时,频域激励解码单元2334可以操作,并且当当前帧是好帧时通过经由通用变换解码处理进行解码来生成合成的频谱系数。当当前帧是擦失帧,并且前一帧的编码模式是音乐模式或者频域模式时,频域激励解码单元2334可以通过经由数据包丢失隐藏算法缩放PGF的频谱系数来生成合成的频谱系数。频域激励解码单元2334可以通过对合成的频谱系数执行频率-时间变换来产生作为时域信号的激励信号。

当编码模式是语音模式或时域模式时,时域激励解码单元2335可以操作,并且当当前帧是好帧时通过经由通用CELP解码处理进行解码来生成作为时域信号的激励信号。当当前帧是擦失帧并且前一帧的编码模式是语音模式或时域模式时,时域激励解码单元2335可以在时域中执行数据包丢失隐藏算法。

LP合成单元2336可以通过对从频域激励解码单元2334或时域激励解码单元2335提供的激励信号执行LP合成来生成时域信号。

后处理单元2337可以对从LP合成单元2336提供的时域信号执行滤波、上采样等,但不限于此。后处理单元2337提供重构音频信号作为输出信号。

图23a和图23b分别是根据另一示例性实施方案的具有切换结构的音频编码装置2410和音频解码装置2430的框图。

图23a中示出的音频编码装置2410可以包括预处理单元2412、模式确定单元2413、频域编码单元2414、LP分析单元2415、频域激励编码单元2416、时域激励编码单元2417、以及参数编码单元2418。上述部件可以集成在至少一个模块中,并且可以实现为至少一个处理器(未示出)。由于可以视为图23a所示的音频编码装置2410是通过组合图21a的音频编码装置2210和图22a的音频编码装置2310而获得的,所以不再重复对共有部分的操作的描述,并且现将描述模式确定单元2413的操作。

模式确定单元2413可以通过参考输入信号的特性和比特率来确定输入信号的编码模式。模式确定单元2413可以基于根据输入信号的特性、当前帧是语音模式还是音乐模式并且基于对当前帧有效的编码模式是时域模式还是频域模式,而将编码模式确定为CELP模式或另一种模式。模式确定单元2413可以当输入信号的特性对应于语音模式时确定编码模式为CELP模式,当输入信号的特性对应于音乐模式和高比特率时确定编码模式为频域模式,以及当输入信号的特性对应于音乐模式和低比特率时,将编码模式确定为音频模式。模式确定单元2413可以当编码模式为频域模式时提供输入信号至频域编码单元2414,当编码模式为音频模式时经由LP分析单元2415提供输入信号至频域激励编码单元2416,以及当编码模式是CELP模式时,经由LP分析单元2415将输入信号提供给时域激励编码单元2417。

频域编码单元2414可以对应于图20a的音频编码装置2110中的频域编码单元2114,或图21a的音频编码装置2210中的频域编码单元2214,并且频域激励编码单元2416或时域激励编码单元2417可以对应于图22a的音频编码装置2310中的频域激励编码单元2315或时域激励编码单元2316。

图23b中示出的音频解码装置2430可以包括参数解码单元2432、模式确定单元2433、频域解码单元2434、频域激励解码单元2435、时域激励解码单元2436、LP合成单元2437,以及后处理单元2438。频域解码单元2434、频域激励解码单元2435、以及时域激励解码单元2436可以中的每一者可以在各自相应的域中包括数据包丢失隐藏算法。上述部件可以集成在至少一个模块中,并且可以实现为至少一个处理器(未示出)。由于可以视为图23b所示的音频解码装置2430通过组合图21b的音频解码装置2230和图22b的音频解码装置2330而获得的,所以不再重复对共有部分的操作的描述,并且现将描述模式确定单元2433的操作。

模式确定单元2433可以检查包括在比特流中的编码模式信息,并将当前帧提供给频域解码单元2434、频域激励解码单元2435或时域激励解码单元2436。

频域解码单元2434可以对应于图20b的音频解码装置2130中的频域解码单元2134,或图21b的音频编码装置2230中的频域解码单元2234,并且频域激励解码单元2435或时域激励解码单元2436可以对应于图22b的音频解码装置2330中的频域激励解码单元2334或时域激励解码单元2335。

上述示例性实施方案可以被编写为计算机可执行程序,并且可以在通过使用非暂态计算机可读记录介质执行程序的通用数字计算机中实现。另外,可以在各实施方案中使用的数据结构、程序指令或数据文件可以以各种方式记录在非暂态计算机可读记录介质上。非暂态计算机可读记录介质是可以存储其后可以由计算机系统读取的数据的任何数据存储设备。非暂态计算机可读记录介质的示例包括诸如硬盘、软盘和磁带的磁性存储介质,诸如CD-ROM和DVD的光学记录介质,诸如光盘的磁光介质,以及专门配置用来存储和执行程序指令的硬件设备,诸如ROM、RAM和闪存存储器。另外,非暂态计算机可读记录介质可以是用于发送指定程序指令、数据结构等的信号的传输介质。程序指令的示例可以不仅包括由编译器创建的机械语言代码,而且还包括可由计算机使用解译器等执行的高级语言代码。

虽然已经具体示出和描述了一个或多个示例性实施方案,但是本领域中的普通技术人员将理解,在不脱离由权利要求书限定的发明构思的精神和范围的情况下,可以在形式和细节上进行各种变化。应当理解,本文描述的示例性实施方案应当仅被认为是描述性的,而不是为了限制性目的。每个示例性实施方案内的特征或方面的描述通常应被认为可用于其他实施方案中的其他类似特征或方面。

相关技术
  • 用于音频信号的时域数据包丢失隐藏的方法
  • 用于使用基于时域激励信号的错误隐藏提供经解码的音频信息的音频解码器及方法
技术分类

06120112195882