Fd/lpd转换环境中的帧丢失管理

文档序号:170859 发布日期:2021-10-29 浏览:29次 >En<

阅读说明:本技术 Fd/lpd转换环境中的帧丢失管理 (Frame loss management in FD/LPD conversion environment ) 是由 朱利恩·福雷 斯泰凡·雷高特 于 2015-07-27 设计创作,主要内容包括:本发明涉及FD/LPD转换环境中的帧丢失管理,具体涉及一种解码利用预测编码和变换编码所编码的数字信号的方法,所述方法包括下列步骤:预测解码通过一组预测编码参数所编码的数字信号的前一帧;检测编码数字信号当前帧的丢失;通过预测由编码前一帧的至少一个预测编码参数来生成取代当前帧的一帧;通过预测由编码前一帧的至少一个预测编码参数来生成数字信号的附加段;临时储存所述数字信号的附加段。(The present invention relates to frame loss management in an FD/LPD conversion environment, and more particularly, to a method of decoding a digital signal encoded using predictive coding and transform coding, the method comprising the steps of: predictive decoding a previous frame of the digital signal encoded by a set of predictive coding parameters; detecting the loss of a current frame of the encoded digital signal; generating a frame replacing the current frame by predicting at least one prediction encoding parameter encoding the previous frame; generating an additional segment of the digital signal by predicting at least one predictive coding parameter encoding a previous frame; temporarily storing additional segments of the digital signal.)

FD/LPD转换环境中的帧丢失管理

本发明是国际申请PCT/FR2015/052075在2017年01月26日进入中国国家阶段的申请号201580041610.9、发明名称为FD/LPD转换环境中的帧丢失管理的分案申请。

技术领域

本发明涉及到编码/解码数字信号的领域,尤其是帧丢失的矫正。

背景技术

本发明可有利于应用于可包含语音与音乐交替或组合的声音的编码/解码。

为了有效地编码低速率的语音,推荐CELP(“码激励线性预测”)技术。为了有效地编码音乐,推荐变换编码技术。

CELP编码器是预测编码器。其目的是利用各种元素建立语音生成模型:以便建立声道模型的短期线性预测、在浊音期间建立声带振动模型的长期预测以及来源于固定码本(白噪声、代数激励)的激励,所述激励代表可能未建立模型的“创新”。

比如MPEG AAC、AAC-LD、AAC-ELD或ITU-T G.722.1附件C这样的变换编码器利用临界采样变换来压缩变换域中的信号。术语“临界采样变换”用来指代变换域中系数的数量与每个分析帧中的时域样本的数量相等的变换。

有效编码含有组合语音/音乐的信号的一个方案是在至少两个编码模式之间随着时间推移选择最佳技术:一个是CELP类型的,另一个是变换类型的。

例如,对于编解码器3GPP AMR-WB+和MPEG USAC(“统一语音音频编码”)就是这种情况。AMR-WB+和USAC的目标应用并不是互动而是与分配和存储服务相对应、对于算法延迟没有严格限制。

在2009年5月7-10日的第126届AES大会上, M. Neuendorf等人发表的文章《低速率统一语音和音频编码的一个新方案——MPEG RM0》描述了被称为RM0(参考模型0)的USAC编解码器的最初版本。该RM0编解码器可在多个编码模式之间交替变换:

• 对于语音信号:LPD(“线性预测域”)模式包括来自AMR-WB+编码的两个不同模式:

- ACELP模式

- 称为wLPT(“加权线性预测变换”)的TCX(“变换编码激励”)模式,利用MDCT变换(不同于利用FFT变换的AMR-WB+编解码器)。

• 对于音乐信号:通过利用1024个样本的MPEG AAC(“高级音频编码”)型的MDCT(“修正离散余弦变换”)所采用编码的FD(“频域”)模式。

在USAC编解码器中,LPD与FD模式之间的转换至关重要,以便确保在模式切换过程中没有误差的有效质量,已知每种模式(ACELP、TCX、FD)都具有特殊“标志”(就伪像而言),而且,FD和LPD模式是不同类型的——FD模式以信号域中的变换编码为基础,而LPD模式利用感知加权域中的线性预测编码,所述感知加权域具有待恰当管理的过滤存储器。在2009年5月7日-10日的第126届AES大会上, J. Lecomte等人发表的文章《基于LPC与非基于LPC音频编码之间转换的高效交错淡变窗口》详细说明了在USAC RM0编解码器的模式之间切换的管理。如该文章所述,主要困难在于从LPD模式转换到FD模式,反之亦然。我们在这只讨论从ACELP转换到FD的情况。

为了正确理解其功能,我们利用典型的实施例回顾一下MDCT变换编码的原理。

在该编码器中,通常把MDCT变换分为三个步骤,在MDCT编码之前,将信号分成M个样本的帧:

• 通过窗口加权信号,所述窗口在此是指长度为2M的“MDCT窗口”;

• 在时域中折叠(“时域混叠”),以形成长度为M的块;;

• 进行长度为M的DCT(“离散余弦变换”)变换。

把MDCT窗口分为四个相邻的部分,其相等长度为M/2,在此称为“四等分”。

把信号乘以分析窗口,然后进行时域混叠:将第一等分(窗口化的)折叠(换言之,时间反转并重叠)在第二等分上,将第四等分折叠在第三等分上。

更具体而言,按照下列方式进行一等分在另一等分上的时域混叠:将第一等分的第一个样本加到第二等分的最后一个样本上(或者从第二等分的最后一个样本减去第一等分的第一个样本),将第一等分的第二个样本加到第二等分的倒数第二个样本上(或者从减去第二等分的倒数第二个样本减去第一等分的第二个样本),以此类推,直到将第一等分的最后一个样本加到第二等分的第一个样本上(或者从第二等分的第一个样本减去第一等分的最后一个样本)。

通过四等分,我们因此得到重叠的两等分,其中每个样本都是待编码信号的两个样本的线性组合的结果。该线性组合引起时域混叠。

然后,在之后DCT变换(IV型),共同编码重叠的两个等分。对于下一帧,通过半个窗口(50%重叠)将前一帧的第三等分和第四等分转移到当前帧的第一等分和第二等分。在重叠之后,像前一帧一样,发送相同对的样本的第二个线性组合,但使用不同的加权。

在解码器中,在逆DCT变换之后,我们得到这些重叠信号的解码版本。两个连续帧包含相同等分的两次不同重叠的结果,意味着,对于每对样本而言,我们都得到两个线性组合的结果,所述线性组合的加权不同,但是已知的:因此解出方程组,即可得到输入信号的解码版本,而且,因此可以通过使用两个连续解码帧来消除时域混叠。

解上述方程组通常可通过撤销折叠、乘以适当选择的合成窗口、然后重叠相加共有部分得到隐式的解。如此重叠相加还确保两个连续解码帧之间的平稳过渡(没有因为量化误差所导致的间断),有效地用作交错淡变。当第一等分或第四等分的窗口对于每个样本而言都在零点时,我们可以在窗口的那部分得到没有时域混叠的MDCT变换。在这种情况下,平稳过渡不能通过MDCT变换来提供,而必须由其它方式提供,例如外部交错淡变。

应注意的是,尤其是涉及到DCT变换的定义,可有MDCT变换的不同实施方案,例如折叠待变换块的方式(例如,可以颠倒应用到左侧和右侧的折叠等分的标志,或者把第二等分和第三等分分别折叠到第一等分和第四等分上)等。这些不同的实施方案不改变MDCT分析合成的原理,所述MDCT分析合成通过窗口化、时域混叠、然后通过变换、最后通过窗口化、折叠和重叠相加来减少样本块。

要避免CELP编码与MDCT编码之间转换的伪像,据此通过引用并入本申请书的国际专利申请书WO2012/085451所提供的一种编码转换帧的方法。转换帧定义为通过转换所编码的当前帧,它是通过预测编码所编码的前一帧的后继。根据所述新方法,部分转换帧,例如,在以12.8kHz进行核心CELP编码的情况下的5ms的子帧,在以16kHz进行核心CELP编码的情况下分别为4ms的两个附加CELP帧,是通过预测编码来编码的,它比前一帧的预测编码有更多的限制。

受限的预测编码包括利用通过预测编码所编码的前一帧的稳定参数,例如,线性预测滤波器的系数,以及仅仅只适用于转换帧中的附加子帧几个最低参数的编码。

因为前一帧不能使用变换编码进行编码,所以就不可能消除在帧的第一部分中的时域混叠。上文引用的专利申请书WO2012/085451进一步提出矫正第一半个MDCT窗口,使得在正常折叠的第一等分中没有时域混叠。还提出在编码CELP帧与编码MDCT帧之间整合一部分重叠相加(也称为“交错淡变”),与此同时改变分析/合成窗口的系数。参阅所述专利申请书的图4e,虚线(交替的点和破折号)与MDCT编码的折叠线(顶图)相对应,并与MDCT解码的展开线(底图)相对应。在顶图中,粗线分隔开进入编码器的新样本的帧。当因此确定的新输入样本的帧完全有效时,便可以开始新MDCT帧的编码。需要注意的是,编码器中这些粗线并非与当前帧相对应,而是与每一帧的新进入样本的块相对应:当前帧实际上延迟5ms,与前瞻量相对应。在底图中,粗线分隔开在解码器输出端的解码帧。

在编码器中,转换窗口为零,直到折叠点。因此,折叠窗口左侧的系数与展开窗口的系数相同。CELP转换子帧(TR)的折叠点与末端之间的部分对应于正弦(一半)窗口。在解码器中,展开之后,将同一个窗口应用于信号。在MDCT帧的折叠点与开端之间的段中,窗口的系数对应于sin2类型的窗口。要实现解码CELP子帧与源于MDCT的信号之间的重叠相加,只要将余弦cos2类型的窗口应用于CELP子帧的重叠部分并将后者与MDCT帧相加即可。方法提供完全重构。

然而,编码音频信号帧会丢失在编码器与解码器之间的信道中。

现有的帧丢失矫正技术通常高度取决于所采用的编码类型。

在基于预测技术的语音编码的情况下,比如CELP,帧丢失矫正通常与语音模型相关联。例如,2003年7月版的ITU-T G.722.2标准提出由延长长期预测增益且同时使之减弱来代替丢失的数据包,并且延长代表LPC滤波器的A(z)系数的频率光谱线(ISF指“导抗谱频率”),同时使其趋向其各自平均值。还重复音高周期。用随机值填充固定码本的贡献。将这种方法应用到变换解码器或PCM解码器需要在解码器中进行CELP分析,这就会大大增加复杂性。还应注意的是,对于8kbit/s和12kbit/s的速率而言以及对于可与AMR-WB共同使用的解码速率而言,在ITU-T G.718标准中描述了CELP解码中帧丢失矫正的更多先进的方法。

在ITU-T G.711标准中描述了另一个解决方案,该解决方案描述了变换编码器,其中,在“附件I”部分中讨论的帧丢失矫正算法包括在已编码信号中找到音高周期,并通过在已编码信号与重复信号之间应用重叠相加而重复所述音高周期。如此重叠相加可消除音频伪像,但是在解码器中需要附加时间(与重叠相加的持续时间相对应)以便将其执行。

在变换编码的情况下,矫正帧丢失的常用技术是重复所收到的最后一帧。该技术可在各种标准化编码器/解码器(尤其是G.719、G.722.1和G.722.1C)得到实施。例如,在G.722.1解码器的情况下,MLT变换(“调制重叠变换”)相当于带有50%重叠和正弦窗口的MDCT变换,MLT变换确保丢失的最后一帧与重复帧之间足够缓慢的转换,以消除与帧的简单重复相关的伪像。

这种技术成本很低,但是其主要缺点是恰在帧丢失前的信号与重复信号之间不一致。这会导致相位不连续性,如果两帧之间重叠的持续时间较短,所述相位不连续性就会导致明显的音频伪像,尤其是在用于MLT变换的窗口是的低延迟窗口的这种情况。

在现有当前技术中,当帧丢失时,就在解码器中利用适当的PLC(数据包丢失隐藏)算法来生成替换帧。值得注意的是,通常数据包可含有多帧,所以术语PLC会引起歧义;本文以此来表示矫正当前丢失帧。例如,准确地收到并解码CELP帧之后,如果随后的帧丢失了,则采用以适合CELP编码的PLC为基础的替换帧,利用CELP编码器的存储器。准确地收到并解码MDCT帧之后,如果下一帧也丢失了,则生成以适合MDCT编码的PLC为基础的替换帧。

在CELP帧与MDCT帧之间转换的情况下,鉴于转换帧由CELP子帧(处于与前一CELP帧相同的采样频率)和MDCT帧构成的,所述MDCT帧包括消除“左侧”折叠的修改MDCT窗口,在这种情况下,则现有技术难以提供现存的解决方案。

在第一种情况下,已经准确收到并解码了前一CELP帧,当前转换帧已经丢失,而且下一帧是MDCT帧。在这种情况下,在接收CELP帧之后,PLC算法不知道丢失帧是转换帧,并因此生成替换CELP帧。因此,如前所述,就无法补偿下一MDCT帧的第一个折叠部分,而且无法用转换帧中包含的(随转换帧丢失了的)CELP子帧来填充两种类型编码器之间的时间。没有已知方案能解决这种情况。

在第二种情况下,已经准确地收到并解码了12.8kHZ的前一CELP帧,但16kHz的当前CELP帧已经丢失,而且下一帧是转换帧。于是,PLC算法就按照准确接收的最后一帧的频率来生成12.8kHz的CELP帧,而且转换CELP子帧(利用丢失 16kHz CELP帧的CELP参数作部分编码的)难以解码。

发明内容

本发明目的是改进这种现状。

为此目的,本发明第一方面涉及一种适用于解码利用预测编码和变换编码所编码的数字信号的方法,所述方法包括下列步骤:

- 前一帧数字信号的预测解码,所述数字信号是通过一组预测编码参数编码的;

- 检测编码数字信号当前帧的丢失;

- 通过预测,由编码前一帧的至少一个预测编码参数来生成当前帧的替换帧;

- 通过预测,由编码前一帧的至少一个预测编码参数来生成数字信号的附加段;

- 临时储存该数字信号的附加段。

因此,每当生成替换CELP帧时,数字信号的附加段都可供使用。前一帧的预测解码包含准确接收的CELP帧的预测解码或者通过适合CELP的PLC算法所生成的替换CELP帧。

该附加段使CELP编码与变换编码之间能够转换,即便在帧丢失的情况下,亦是如此。

实际上,在上述第一种情况下,可以通过附加段来实现到下一MDCT帧的转换。如下文所述,可将附加段加到下一MDCT帧,以便在包含未消除时域混叠的区域通过交错淡变来补偿该MDCT帧的第一个折叠部分。

在上述第二种情况下,通过利用附加段,就有可能实现转换帧的转换。如果不能解码转换CELP子帧(以16kHz编码的前一帧的CELP参数无效),则可以用附加段将其代替,如下文所述。

此外,关于帧丢失管理和转换的计算随着时间而展开。针对所生成的每个替换CELP帧来生成并存储附加段。因此,在检测到帧丢失时,就生成转换段,而无需等待转换的随后检测。因此,对于每个丢失帧都预期转换,由此避免了在收到并解码准确的新帧时必须管理“复杂性尖峰”。

在一个实施例中,方法进一步包括下列步骤:

- 接收包括至少有一段通过变换编码的下一帧编码数字信号;以及

- 解码下一帧,包括重叠相加数字信号的附加段和通过变换编码的段的子步骤。重叠相加子步骤使之有可能交错淡变输出信号。这种交错淡变减少了声音伪像(比如“自鸣噪声”)的出现并确保了信号能量的一致性。

在另一个实施例中,下一帧通过变换编码来实现完全编码,并且所丢失的当前帧是通过预测编码所编码的前一帧与通过变换编码所编码的下一帧之间的转换帧。

作为选择,前一帧由以第一频率运行的核心预测编码器通过预测编码进行编码。在这个变体中,下一帧是转换帧且包括由以第二频率运行的核心预测编码器通过预测编码所编码的至少一个子帧,其中所述第二频率与第一频率不同。为此目的,下一转换帧可包括指示所采用的核心预测编码的频率的一位。

因此,可以用转换帧的位流(比特流)来表示转换CELP子帧中使用的CELP编码(12.8或16kHz)的类型。本发明因此把系统化指示(一位)加入转换帧中,以便能够检测转换CELP子帧与前一CELP帧之间的CELP编码/解码的频率差。

在另一个实施例中,重叠相加可应用下列采用线性加权的公式给出:

其中:

r是代表生成的附加段长度的系数;

i是下一帧样本的时间,介于0与L/r之间;

L是下一帧的长度;

S(i)是添加之后下一帧的样本i的幅值;

B(i)是通过变换所解码的段的样本i的幅值;

T(i)是数字信号的附加段的样本i的幅值。

因此,重叠相加可利用线性组合以及易于执行的运算来进行。从而减少解码所需要的时间,同时减少用于这些计算的处理器的负载。作为选择,在不改变本发明原则的情况下,也可以执行其他形式的交错淡变。

在一个实施例中,通过预测来生成替换帧的步骤进一步包括更新解码器的内存储器,通过预测来生成数字信号的附加段的步骤可包括下列子步骤:

- 从解码器的存储器向临时存储器进行复制,在通过预测生成替换帧过程中更新所述解码器的存储器;

- 利用临时存储器来生成数字信号的附加段。

于是,对于附加段的生成,未更新解码器的内存储器。结果,在下一帧是CELP帧的情况下,附加信号段的生成不会影响下一帧的解码。

实际上,如果下一帧是CELP帧,解码器的内存储器必须与替换帧之后解码器的状态相对应。

在一个实施例中,通过预测来生成数字信号的附加段的步骤包括下列子步骤:

- 通过预测,由编码前一帧的至少一个预测编码参数来生成附加帧;

- 提取一段附加帧。

在这个实施例中,数字信号的附加段与第一半附加帧相对应。因此,进一步提高了方法的效率,因为用于生成的替换CELP帧所述临时计算数据可直接用于生成附加CELP帧。通常,存储临时计算数据的暂存器和高速缓冲存储器不必更新,使之能够重新利用这些数据来生成附加CELP帧。

本发明的第二方面提供一种计算机程序,在通过处理器执行指令的情况下,所述计算机程序包括用于执行根据本发明第一方面的方法的这些指令。

本发明的第三方面提供一种适用于利用预测编码和变换编码所编码的数字信号的解码器,所述解码器包括:

- 检测单元,用于检测数字信号当前帧的丢失;

- 预测解码器,包括处理器,设置所述处理器,以便执行下列操作:

* 前一帧通过一组预测编码参数编码的数字信号的预测解码;

* 通过预测,由编码前一帧的至少一个预测编码参数来生成当前帧的替换帧;

* 通过预测,由编码前一帧的至少一个预测编码参数来生成数字信号的附加段;

* 将数字信号的附加段临时存储于临时存储器。

在一个实施例中,根据本发明第三方面的解码器进一步包括变换解码器,所述变换编码器包括处理器,设置所述处理器,以便执行以下操作:

* 接收包含通过变换编码的至少一段的下一帧编码数字信号;以及,

* 解码下一帧,包括数字信号的附加段与通过变换编码的段之间重叠相加的子步骤。

通过编码器,本发明可包括插入一位转换帧,以提供关于用于编码转换子帧的CELP核心的信息。

附图说明

本发明的其它特征和优点将通过仔细阅读以下的详细说明及附图而显而易见,在附图中:

- 图1阐释了根据本发明一个实施例的音频解码器;

- 图2阐释了根据本发明一个实施例的音频解码器的CELP解码器,比如图1的音频解码器;

- 图3是图示说明了由根据本发明一个实施例如图1所示的音频解码器执行的解码方法的步骤;

- 图4展示了根据本发明一个实施例的计算装置。

具体实施方式

图1阐释了根据本发明一个实施例的音频解码器100。

未显示音频编码器结构。然而,由根据本发明的解码器所接收的数字编码音频信号可来自于适合编码CELP帧、MDCT帧以及CELP/MDCT转换帧形式的音频信号的编码器,比如专利申请书WO2012/085451所述的编码器。为此目的,通过变换所编码的转换帧可进一步包括通过预测编码所编码的段(例如,子帧)。编码器可进一步向转换帧加上一位,以便识别所采用的CELP核心的频率。提供CELP编码的示例,以阐释适合任何类型预测编码的说明。同样,提供MDCT编码的示例,以阐释适合任何类型的变换编码的说明。

解码器100包括用于接收数字编码音频信号的单元101。数字信号可以CELP帧、MDCT帧和CELP/MDCT转换帧的形式来编码。在本发明的变体中,在不改变本发明原则的情况下,除CELP和MDCT以外的其它形式也有可能,其它模式组合也有可能。此外,可以用另一种形式的预测编码来代替CELP编码,也可以用另一种形式的变换编码来代替MDCT编码。

解码器100进一步包括分类单元102,适合通常简单地通过读取位流并翻译从编码器收到的指示,以确定当前帧是否为CELP帧、MDCT帧或转换帧。根据当前帧的分类,可将帧传递到CELP解码器103或MDCT解码器104(或者,在转换帧的情况下,两者皆传递,把CELP转换子帧传递到下文所述的解码单元105)。此外,如果当前帧是准确接收的转换帧以及CELP编码可以至少两个频率(12.8和16kHz)产生,分类单元102则可以确定附加CELP子帧所使用的CELP编码类型——用从编码器输出的位速率表示该编码类型。

CELP解码器结构103的一个实例如图2所示。

可包括多路分解功能的接收单元201适合接收当前帧的CELP编码参数。这些参数可包括激励参数(例如,增益向量、固定码本向量、自适应码本向量),所述激励参数传递到能够产生激励的解码单元202。此外,例如,CELP编码参数可包含表示为LSF或ISF的LPC系数。可通过解码单元203来解码LPC系数,所述解码单元适合为LPC合成滤波器205提供LPC系数。

合成滤波器205由通过单元202所产生的激励所激励,并合成数字信号帧(或者通常为子帧),将其传递到去加重滤波器206(函数形式为1/(1-az-1)例如,其中a=0.68)。在去加重滤波器的输出端,CELP解码器103可包括低频后处理(低音后滤波器207),与ITU-TG.718标准中所述内容相类似。CELP解码器103进一步包括以输出频率(MDCT解码器104的输出频率)对合成信号进行重采样208以及输出接口209。在本发明的变体中,在重采样之前或之后,可对CELP合成执行额外的后处理。

此外,在编码之前将数字信号分为高频带和低频带的情况下,CELP解码器103可包括高频解码单元204,通过上文所述的单元202至208解码低频信号。CELP合成会涉及到更新CELP编码器的内部状态(或者更新内存储器),比如:

- 用于解码激励的状态;

- 合成滤波器205的存储器;

- 去加重滤波器206的存储器;

- 后处理存储器207;

- 重采样单元208的存储器。

参阅图1,解码器进一步包括帧丢失管理单元108和临时存储器107。

为了解码转换帧,解码器100进一步包括解码单元105,适用于接收CELP转换子帧以及从MDCT解码器104输出的变换编码的转换帧,从而通过所接收到的信号的重叠相加来解码转换帧。解码器100可进一步包括输出接口106。

根据本发明的解码器100的操作可参阅图3得到更好的理解,所述图3图示显示了根据本发明实施例的方法的步骤。

在步骤301中,数字编码音频信号的当前帧可由接收单元101从编码器接收或者不被其接收。音频信号的前一帧被视为准确接收并解码的帧或者替换帧。

在步骤302中,检测编码的当前帧是否丢失或者所述编码的当前帧是否被接收单元101所接收。

如果实际上已经收到了编码的当前帧,则分类单元102在步骤303中确定编码的当前帧是否为CELP帧。

如果编码的当前帧是CELP帧,该方法则包括由CELP解码器103对编码的CELP帧进行解码以及重采样的步骤304。可在步骤305中更新前述CELP解码器103的内存储器。在步骤306中,从解码器100输出已解码和重采样的信号。当前帧的激励参数和LPC系数可存储在存储器107中。

如果编码的当前帧不是CELP帧,则当前帧包括通过变换编码(MDCT帧或转换帧)所编码的至少一段。然后,步骤307检查编码的当前帧是否为MDCT帧。如果是这样,则在步骤308中,由MDCT解码器104解码当前帧,并且在步骤306中从解码器100输出解码信号。

然而,如果当前帧不是MDCT帧,则是在步骤309中解码的转换帧,该转换帧是通过解码CELP转换子帧和通过MDCT变换所编码的当前帧,以及通过重叠相加来自CELP解码器和MDCT解码器的信号所解码的,从而得到像在步骤306从解码器100输出的一样的数字信号。

如果当前子帧已经丢失,则在步骤310中确定所接收并编码的前一帧是否为CELP帧。如果不是这类情况,则在步骤311中,在帧丢失管理单元108中执行适合MDCT的PLC算法,生成可由MDCT解码器104解码的MDCT替换帧,从而得到数字输出信号。

如果最后准确接收到的一帧是CELP帧,则在步骤312中,通过帧丢失管理单元108和CELP解码器103执行适合CELP的PLC算法,从而生成替换CELP帧。

PLC算法可包括下列步骤:

- 通过LSF参数的内插估计以及基于以前一帧的LSF参数LPC滤波器,与此同时,在步骤313中,更新存储在存储器(例如,可为AR型或MA型)中的LSF预测量级;在《ISF估计和内插》的7.11.1.2段和ITU-T G.718标准《频谱包络隐藏、合成和更新》的7.11.1.7段中给出了在帧丢失的情况下针对ISF参数的情况执行LPC参数估计的示例。作为选择,在ITU-TG.722.2标准的附件I的1.5.2.3.3段中所述的估计也可以用于MA型量化的情况;

- 基于以前一帧的自适应增益和固定增益的激励的估计,并在步骤313中针对下一帧更新这些值。在《未来音高的推断》的7.11.1.3段、《激励周期部分的构成》的7.11.1.4段、《低延迟的脉冲波再同步》的7.11.1.15段、《激励随机部分的构成》的7.11.1.6段中描述了激励估计的示例。在每个子帧中通常由随机信号代替固定码本向量,而自适应码本采用推断的音高,而且前一帧的码本通常在所接收的最后一帧中按照信号等级衰减。作为选择,也可以采用ITU-T G.722.2标准的附件I中所述的激励估计;基于激励和更新的合成滤波器205并利用前一帧的合成存储器来合成信号,在步骤313中更新前一帧的合成存储器;

- 在步骤313中,通过利用去加重单元206以及通过更新去加重单元206的存储器对合成信号去加重;

- 视需要,后处理合成信号207,同时在步骤313中更新后处理存储器,——值得注意的是,可在帧丢失矫正过程中禁止后处理,因为它所采用的信息只是简单地推断而来,所用是不可靠的,在这种情况下,仍应该更新后处理存储器,以便对所接收的下一帧进行正常操作;

- 通过重采样单元208以输出频率对合成信号进行重采样,同时在步骤313中更新过滤存储器208。

更新内存储器能够无缝解码可能存在的通过CELP预测编码的下一帧。值得注意的是,在ITU-T G.718标准中,解码在矫正丢失帧之后所接收的帧时,还可以采用恢复和控制合成能量的技术(例如,第7.11.1.8条和第7.11.1.8.1条)。因为这方法不在本发明范畴之内,所以在此不予考虑。

在步骤314中,通过这种方式更新的存储器可以复制到临时存储器107。在步骤315中,从解码器输出解码替换CELP帧。

在步骤316中,根据本发明的方法通过预测利用适合CELP的PLC算法能够生成数字信号的附加段。步骤316可包括下列子步骤:

- 通过LSF参数的内插估计和基于上一CELP帧的LSF参数的LPC滤波器,而不更新存储在存储器中的LSF计量器。可以采用与上文所述的针对替换帧通过内插进行估计相同的方法(而不更新存储在存储器中的LSF量级)通过内插进行估计;

- 基于上一CELP帧的自适应增益和固定增益的激励的估计,而不针对下一帧更新这些值。可以利用针对替换帧所确定激励的相同方法(而不更新自适应增益和固定增益值)来确定激励;

- 基于激励以及重新计算的合成滤波器205,并利用前一帧的合成存储器来合成信号段(例如,半帧或子帧);

- 利用去加重单元206对合成信号进行去加重;

- 视需要,利用后处理存储器207对合成信号进行后处理;

- 利用重采样存储器208,通过重采样单元208按照输出频率对合成信号进行重采样。

需要注意的是,对于这些步骤中的每个步骤而言,本发明都能够在执行这些步骤之前,在临时变量中存储每个步骤中改变的CELP解码的状态,从而在生成临时段后可以把预定状态存储到其存储值。

在步骤317中,将所生成的附加信号段存储在存储器107中。

在步骤318中,通过接收单元101接收下一帧数字信号。步骤319检查下一帧是否为MDCT帧或转换帧。

如果不是这样,下一帧则是CELP帧,并且在步骤320中通过CELP解码器103对其进行解码。在步骤316中所合成的附加段不予使用,而且可将其从存储器107中删除。

如果下一帧是MDCT帧或转换帧,则在步骤322中通过MDCT解码器104对其进行解码。并行地,在步骤323中通过管理单元108恢复存储在存储器107中的附加数字信号段,并将其发送到解码单元105。

如果下一帧是MDCT帧,则所得到的附加信号段使单元103能够在步骤324中执行重叠相加,从而准确地解码下一MDCT帧的第一部分。例如,在附加段是一半子帧的情况下,可以在重叠相加过程中把介于0至1之间的线性增益应用到第一半MDCT帧,把介于1至0之间的线性增益应用到附加信号段。没有该附加信号段的情况下,MDCT解码会因为量化误差而产生间断。

在下一帧是转换帧的情况下,我们按照下文可见的内容区分两种情况。切记,转换帧的解码不仅以当前帧分类为“转换帧”为基础,而且,在可能有多重CELP编码速率的情况下,还基于CELP编码(12.8 kHz或16kHz)类型的指示。因此:

- 如果由核心编码器按照第一频率(例如12.8kHz)编码上一CELP帧,由核心编码器按照第二频率(例如16kHz)编码转换CELP子帧,则转换子帧就无法解码,而且,附加信号段使解码单元105能够对通过步骤322的MDCT解码所产生的信号进行重叠相加。例如,在附加段是一半子帧的情况下,可以在重叠相加过程中把介于0至1之间的线性增益应用到第一半MDCT帧,把介于1至0之间的线性增益应用到附加信号段;

- 如果由核心编码器按照相同的频率来编码上一CELP帧和转换CELP子帧,则转换CELP子帧可以解码,并通过解码单元105将其用于数字信号的重叠相加,所述数字信号来自解码转换帧的MDCT解码器104。

附加信号段与解码MDCT帧的重叠相加可由下列公式给出:

其中:

- r是代表所生成的附加段长度的系数,长度等于L/r。关于r没有限制条件,可以选择r,以便附加信号段与编码转换MDCT帧之间充分重叠。例如,r可等于2;

- i是与下一帧样本相对应的时间,介于0与L/r之间;

- L是下一帧的长度(例如20ms);

- S(i)是添加之后下一帧的样本i的幅值;

- B(i)是通过变换所解码的段样本i的幅值;

- T(i)是数字信号的附加段的样本i的幅值。

在步骤325中,解码器输出在重叠相加之后所得到的数字信号。

在丢失了上一CELP帧之后的当前帧的情况下,本发明还能够生成除了替换帧外的附加段。在某些情况下,尤其是在下一帧是CELP帧的情况下,不采用所述附加段。但是,计算不会导致任何额外的复杂性,因为重复使用前一帧的编码参数。相反,在下一帧是MDCT帧或者转换帧的情况下,其CELP子帧的核心频率与编码上一CELP帧所采用的核心频率不同,所生成并存储的附加信号段使之能够解码下一帧,这在现有技术的解决方案中是无法实现的。

图4展示了示例性计算装置400,所述计算装置可以与CELP编码器103和MDCT编码器104相结合。

装置400包括随机存取存储器404和处理器403,用于存储能够执行如上所述的方法步骤(通过CELP编码器103或者MDCT编码器104执行的)的指令。装置还包括大容量存储器405,用于存储在应用方法之后待保留的数据。装置400进一步包括输入接口401和输出接口406,分别用于接收数字信号帧和传输编码信号帧。

装置400可进一步包括数字信号处理器(DSP)402。

DSP402接收数字信号帧,从而用已知方式使这些帧格式化、解调并放大所述帧。

本发明不只限于上文作为示例所述的实施例;本发明扩展到其它变体。

上文,我们描述了一个实施例,其中,解码器是单独实体。当然,这种解码器可以嵌入任何类型的较大装置中,比如手机、计算机等。

此外,我们还描述了一个实施例,该实施例提出解码器的特殊结构。所提供所述结构仅出于说明性目的。还可以对元件进行不同的设置,而且,分配到这些元件的任务分布也可以有所不同。

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种音视频信号处理芯片及方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类