一种量化噪声泄漏控制方法及装置转让专利

申请号 : CN200810056312.9

文献号 : CN101488344B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张德明张琦

申请人 : 华为技术有限公司

摘要 :

本发明涉及通信技术领域一种量化噪声泄漏控制装置,包括瞬态信号检测单元,用于将当前输入的一帧信号分为多个子帧,计算每个子帧的最大幅度值,利用每个子帧的最大幅度值与该子帧相邻前几个子帧的最大幅度值之和的比值,作为瞬态检测函数;判断所述比值,如果大于一定的阈值,则认为检测到了瞬态信号,否则就认为没有检测到瞬态信号,并发送瞬态信号检测结果;选择控制单元,用于接收瞬态信号检测结果,对于不同的信号选择不同的支路进行编码处理。本发明还提供一种量化噪声泄漏控制方法。本发明解决了目前的量化噪声泄漏控制方案中计算复杂度高、时延较大、编码效率不高以及占用系统资源较多等问题。

权利要求 :

1.一种编码装置,用于对音频信号编码,其特征在于,包括:瞬态信号检测单元及选择控制单元;

所述瞬态信号检测单元,用于对当前输入的一帧信号进行瞬态分析,检测是否出现瞬态信号,并发送瞬态信号检测结果;所述瞬态信号检测单元进一步包括:最大幅值计算子单元,用于将一帧信号分为多个子帧,计算每个子帧的最大幅度值;

瞬态检测函数计算子单元,计算每个子帧的最大幅度值与该子帧相邻前几个子帧的最大幅度值之和的比值,得到瞬态检测函数;

检测子单元,用于判断所述比值是否大于一定阈值,如果比值大于一定的阈值,则认为检测到了瞬态信号,否则就认为没有检测到瞬态信号;

所述选择控制单元,用于接收所述瞬态信号检测结果,对于不同的信号选择不同的支路进行编码处理。

2.如权利要求1所述的装置,其特征在于,还包括:

瞬态信号编码处理单元,与所述选择控制单元相连,用于获取当前瞬态信号的一组时域包络,利用所述获取的时域包络对瞬态信号进行归一化处理;

变换编码单元,与选择控制单元及瞬态信号编码处理单元相连,用于对非瞬态信号或归一化处理后的瞬态信号进行变换编码。

3.如权利要求2所述的编码装置,其特征在于,所述瞬态信号编码处理单元进一步包括:时域包络获取子单元,与所述选择控制单元相连,用于获取当前瞬态信号的一组时域包络;

归一化处理子单元,用于利用所述获取的时域包络对该瞬态信号进行归一化处理;

编码子单元,用于对所述时域包络进行编码处理。

4.如权利要求2所述的编码装置,其特征在于,所述编码装置还包括:编码寄存器,与变换编码单元、瞬态信号编码处理单元及瞬态信号检测单元相连,用于保存编码端的编码结果及瞬态信号检测结果并发送。

5.一种解码装置,用于对音频信号解码,其特征在于,包括:变换解码单元,用于对接收的码流进行解码,得到反变换后的信号;

瞬态信号标志位检测单元,用于检测瞬态信号标志位,根据该瞬态信号标志位判断当前帧信号是否存在瞬态信号,并发送检测结果;

选择控制单元,与所述变换解码单元及瞬态信号标志位检测单元相连,用于接收所述瞬态信号标志位检测单元的检测结果,对不同的检测结果选择不同的支路进行解码;

瞬态信号处理单元,与所述选择控制单元及变换解码单元相连,用于对所述反变换后的瞬态信号进行整形处理,所述瞬态信号处理单元进一步包括:时域包络解码子单元,与所述选择控制单元相连,用于解码编码码流中的时域包络,得到一组时域包络;

瞬态信号整形子单元,与所述时域包络解码子单元及变换解码单元相连,用于利用所述解码得到的一组时域包络对变换解码后得到的反变换后的信号进行整形,得到最终的解码信号。

6.如权利要求5所述的解码装置,其特征在于,还包括:解码寄存器,与所述时域包络解码子单元相连,用于保存所述解码后得到的时域包络。

7.一种量化噪声泄漏控制方法,用于对音频信号进行量化噪声泄漏控制,其特征在于,包括:对当前输入的一帧信号进行瞬态分析,检测当前信号是否出现瞬态信号;所述瞬态分析过程为:将当前输入的一帧信号分为多个子帧,计算每个子帧的最大幅度值,利用每个子帧的最大幅度值与该子帧相邻前几个子帧的最大幅度值之和的比值作为瞬态检测函数,如果比值大于一定的阈值,则认为出现了瞬态信号;否则就认为没有检测到瞬态信号;

根据上述瞬态信号检测结果,对于不同的信号选择不同的支路进行编码处理。

8.如权利要求7所述的方法,其特征在于,所述根据上述瞬态信号检测结果,对于不同的信号选择不同的支路进行编码处理的步骤包括:如果出现瞬态信号,则计算该帧信号的一组时域包络,利用所述计算得到的时域包络对本帧信号进行归一化处理,对归一化处理后的信号进行基于感知编码原则的变换编码;

如果没有出现瞬态信号,则对输入信号进行基于感知编码原则的变换编码。

9.如权利要求8所述的方法,其特征在于,如果出现瞬态信号,则在计算该帧信号的一组时域包络后还包括:对所述时域包络进行编码处理。

10.如权利要求9所述的方法,其特征在于,所述方法还包括:保存并发送瞬态信号检测结果和已编码的内容,所述已编码的内容包括经过变换编码后的瞬态信号及编码后的时域包络、或变换编码后的非瞬态信号。

11.如权利要求7所述的方法,其特征在于,所述方法还包括:在检测当前信号是否出现瞬态信号后,根据检测结果设置瞬态信号标志位为相应的值。

12.一种量化噪声泄漏控制方法,用于对音频信号进行量化噪声泄漏控制,其特征在于,包括:解码瞬态信号标志位,根据该瞬态信号标志位判断当前帧信号是否存在瞬态信号,并对接收到的码流进行变换解码,得到反变换后的信号;

根据所述判断当前帧信号是否存在瞬态信号的结果选择相应的支路进行解码处理,包括:如果判断有瞬态信号,则解码码流,得到一组时域包络,利用该时域包络对解码后得到的反变换后的信号进行整形,得到最终的解码信号;如果判断没有瞬态信号,则反变换后的信号即为最终的解码信号。

13.如权利要求12所述的方法,其特征在于,如果判断有瞬态信号,则得到一组时域包络后,还包括:保存所述时域包络。

说明书 :

一种量化噪声泄漏控制方法及装置

技术领域

[0001] 本发明涉及通信技术领域,尤其涉及一种量化噪声泄漏控制方法及装置。 背景技术
[0002] 在音频以及宽带、超宽带语音编解码中,以MDCT(Modified DiscreteCosine Transform,修正的离散余弦变换)等为基础的变换域编码具有很好的能量压缩及频率分辨性能,因此得到了广泛运用。其核心思想是将一定长度的信号通过某种变换变换到变换域,然后根据特定的量化策略对变换域的系数进行量化编码。由于人耳听觉中存在着掩蔽效应,因此考虑量化策略的时候可以利用这一特性,当信号能量较大时允许有较大的量化误差。
[0003] 对于音频或语音信号来说,经常存在这样的场景:信号从相对很小的能量突然过渡到很大的能量,这会导致基于MDCT等的变换编解码器出现预回声(pre-echo)效应,即后一较大能量的帧的量化误差在解码端通过MDCT的重叠相加泄露到了前面能量相对较小的帧中。如图1a所示为未编码的信号示意图;图1b为变换编码后的信号示意图。一般这种Pre-Echo超过2毫秒的人耳前掩蔽时间就会被人耳察觉。相应的也会有Post-Echo(后回声)效应,然而Post-Echo一般会被长达几十毫秒的人耳后掩蔽效应掩盖。所以在语音音频编解码中通常需要关注的是Pre-Echo效应。
[0004] 现有技术一解决上述技术问题的技术方案为:窗长切换技术
[0005] 窗长切换技术是基于MDCT变换的算法解决由预回声引起的量化噪声泄漏的典型算法,在MPEG、PAC、ATARC(Adaptive Transform AcousticCoding,自适应音频变换编码)中都采用了这种技术。在信号比较平稳的时 候采用较长的分析窗,在信号突然出现瞬态信号的时候采用较短的分析窗。针对不同的信号特性采用不同的分析窗长主要有两个优点:首先,对瞬态信号采用较短的分析窗可以减小量化噪声在时域上的泄漏,同时也可以由这个瞬态信号产生的掩蔽效应使得泄漏的噪声对听觉不产生影响;其次采用较短的分析窗可以将瞬态信号所需的较多的比特数限制在最短的时间范围内。本方案中判断是否产生瞬态信号主要通过计算感知熵(PE)这一参数进行判断。
[0006] 在实现本发明过程中,发明人发现现有技术一至少存在如下缺点: [0007] 由于采用了长度不同的分析窗,所以编码器中的感知模型和无损编码部分都需要支持多种时间分辨率;其次在采用较短的分析窗时,频域分辨率会很低,编码效率降低;而且分析窗的切换本身就会给编码器带来更多的时延。感知熵的计算过程非常复杂,而且存在着较多的误判,会导致错误的窗切换。
[0008] 与本发明相关的现有技术二的技术方案为:时域噪声整形技术 [0009] 如果某个信号在时域是一个脉冲,那么它在频域则是一个可预测的周期性信号,可以在频域通过LPC(Linear Prediction Coding,线形预测编码)来得到较大的编码增益。TNS(Temporal Noise Shaping,时域噪声整形)就是基于这一想法在频域对每一帧输入信号的频谱进行LPC分析,当LPC的预测增益大于一定门限的时候,即认为出现了瞬态信号,然后对LPC分析之后的残差信号进行基于感知编码原则的编码,将LPC分析得到合成滤波器系数作为边信号进行传输;否则就认为没有检测到瞬态信号,按照正常状态编码。 [0010] 在实现本发明过程中,发明人发现现有技术二至少存在如下缺点: [0011] 利用TNS进行瞬态信号检测的准确率较低,会出现很多误判,由此会导致整个编码效率的降低。
[0012] 综上所述,现有技术解决预回声引起的量化噪声在时域泄漏问题的方法存在如下诸多问题:计算复杂度高、时延较大、编码效率不高、占用系统资源较多、准确率低等。

发明内容

[0013] 本发明实施例提供一种量化噪声泄漏控制方法及装置,具有低时延、低复杂度、高效准确等特性。
[0014] 本发明实施例是通过以下技术方案实现的:
[0015] 本发明实施例提供一种编码装置,用于对音频信号编码,包括:瞬态信号检测单元及选择控制单元;
[0016] 所述瞬态信号检测单元,用于对当前输入的一帧信号进行瞬态分析,检测是否出现瞬态信号,并发送瞬态信号检测结果;所述瞬态信号检测单元进一步包括: [0017] 最大幅值计算子单元,用于将一帧信号分为多个子帧,计算每个子帧的最大幅度值;
[0018] 瞬态检测函数计算子单元,计算每个子帧的最大幅度值与该子帧相邻前几个子帧的最大幅度值之和的比值,得到瞬态检测函数;
[0019] 检测子单元,用于判断所述比值是否大于一定阈值,如果比值大于一定的阈值,则认为检测到了瞬态信号,否则就认为没有检测到瞬态信号;
[0020] 所述选择控制单元,用于接收所述瞬态信号检测结果,对于不同的信号选择不同的支路进行编码处理。
[0021] 本发明实施例提供一种解码装置,用于对音频信号解码,包括: [0022] 变换解码单元,用于对接收的码流进行解码,得到反变换后的信号; [0023] 瞬态信号标志位检测单元,用于检测瞬态信号标志位,根据该瞬态信号标志位判断当前帧信号是否存在瞬态信号,并发送检测结果;
[0024] 选择控制单元,与所述变换解码单元及瞬态信号标志位检测单元相连,用于接收所述瞬态信号标志位检测单元的检测结果,对不同的检测结果选择不同的支路进行解码; [0025] 瞬态信号处理单元,与所述选择控制单元及变换解码单元相连,用于对所述反变换后的瞬态信号进行整形处理,所述瞬态信号处理单元进一步包括:
[0026] 时域包络解码子单元,与所述选择控制单元相连,用于解码编码码流中 的时域包络,得到一组时域包络;
[0027] 瞬态信号整形子单元,与所述时域包络解码子单元及变换解码单元相连,用于利用所述解码得到的一组时域包络对变换解码后得到的反变换后的信号进行整形,得到最终的解码信号。
[0028] 本发明实施例提供一种量化噪声泄漏控制方法,用于对音频信号进行量化噪声泄漏控制,包括:
[0029] 对当前输入的一帧信号进行瞬态分析,检测当前信号是否出现瞬态信号;所述瞬态分析过程为:将当前输入的一帧信号分为多个子帧,计算每个子帧的最大幅度值,利用每个子帧的最大幅度值与该子帧相邻前几个子帧的最大幅度值之和的比值作为瞬态检测函数,如果比值大于一定的阈值,则认为出现了瞬态信号;否则就认为没有检测到瞬态信号; [0030] 根据上述瞬态信号检测结果,对于不同的信号选择不同的支路进行编码处理。 [0031] 本发明实施例提供一种量化噪声泄漏控制方法,用于对音频信号进行量化噪声泄漏控制,包括:
[0032] 解码瞬态信号标志位,根据该瞬态信号标志位判断当前帧信号是否存在瞬态信号,并对接收到的码流进行变换解码,得到反变换后的信号;
[0033] 根据所述判断当前帧信号是否存在瞬态信号的结果选择相应的支路进行解码处理,包括:如果判断有瞬态信号,则解码码流,得到一组时域包络,利用该时域包络对解码后得到的反变换后的信号进行整形,得到最终的解码信号;如果判断没有瞬态信号,则反变换后的信号即为最终的解码信号。
[0034] 由上述本发明实施例提供的技术方案可以看出,本发明实施例由于对输入信号进行瞬态分析是基于每一输入帧,也就是对固定帧长信号进行分析,不用考虑不同的分析帧长引起的切换、衔接问题,因此解决了时延长的问题;对输入信号进行瞬态分析的算法是个低复杂度的算法,仅需要进行一些比较操作,计算量相当小,且由于仅在检测到了瞬态信号的情况下才会对信号的时域包络进行编码传输,提高了编码效率,节省了系统资源。且所述的解码方法中可以根据瞬态信号标志位检测出瞬态信号,从而进行与非瞬态信号不同的解码处理,其操作简便,保证了解码的准确性。
[0035] 附图说明
[0036] 图1a为现有技术未编码的信号示意图;
[0037] 图1b为现有技术变换编码后的信号示意图;
[0038] 图2为本发明实施例一编码装置示意图;
[0039] 图3为本发明实施例一瞬态信号检测单元结构示意图;
[0040] 图4为本发明实施例一解码装置示意图;
[0041] 图5为本发明实施例二编码方法操作流程图;
[0042] 图6为本发明实施例二解码方法操作流程图。

具体实施方式

[0043] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0044] 本发明实施例在编码端对当前帧信号进行检测,对检测出的瞬态信号及非瞬态信号分别进行不同的编码处理,对于瞬态信号利用时域包络进行归一化处理,之后进行基于感知编码原则的变换编码,对于非瞬态信号则直接进行基于感知编码原则的变换编码,之后将编码后的所有内容以及瞬态信号检测结果发送出去。在解码端进行瞬态信号标志位检测,对瞬态信号及非瞬态信号进行不同的解码过程,对于瞬态信号首先解码得到一组时域包络,以及解码得到反变换后的信号,利用该解码得到的时域包络对所述反变换后的信号进行整形,得到最终的解码信号,对于非瞬态信号,对反变换后的信号不进行处理,得到最终的解码信号。
[0045] 为实现本发明的编码过程,本发明实施例一提供一种编码装置,如图2所示,包括:
[0046] 瞬态信号检测单元,用于对当前输入的一帧信号进行瞬态分析,检测是否出现瞬态信号,并发送检测结果;
[0047] 如图3所示,为该瞬态信号检测单元结构示意图,所述瞬态信号检测单元进一步包括:
[0048] 最大幅值计算子单元,用于将一帧信号分为多个子帧,计算每个子帧的最大幅度值;
[0049] 瞬态检测函数计算子单元,计算每个子帧的最大幅度值与该子帧相邻前几个子帧的最大幅度值之和的比值,得到瞬态检测函数;
[0050] 检测子单元,用于判断所述比值是否大于一定阈值,如果比值大于一定的阈值,则认为检测到了瞬态信号,否则就认为没有检测到瞬态信号;
[0051] 所述瞬态分析过程可以为:首先将一帧信号分为多个子帧,计算每个子帧的最大幅度值,利用每个子帧的最大幅度值与该子帧相邻前几个子帧的最大幅度值之和的比值作为瞬态检测函数,如果比值大于一定的阈值,则认为出现了信号的突变,即出现了瞬态信号;否则就认为没有检测到瞬态信号。所选取的该子帧相邻前子帧的个数不做限定,只要能够满足确保瞬态检测函数的有效性。
[0052] 选择控制单元,用于接收所述检测结果,对于不同的信号选择不同的支路进行编码处理;
[0053] 瞬态信号编码处理单元,与所述选择控制单元相连,用于获取当前瞬态信号的一组时域包络,对瞬态信号进行归一化处理;其进一步包括:
[0054] 时域包络获取子单元,与所述选择控制单元相连,用于获取当前瞬态信号的一组时域包络;
[0055] 归一化处理子单元,用于利用所述获取的时域包络对该瞬态信号进行归一化处理;
[0056] 编码子单元,用于对所述获取的时域包络进行编码处理。
[0057] 变换编码单元,与选择控制单元及瞬态信号编码处理单元相连,用于对非瞬态信号或归一化处理后的瞬态信号进行变换编码;
[0058] 编码寄存器,与变换编码单元、瞬态信号编码处理单元及瞬态信号检测单元相连,用于保存编码端的编码结果及瞬态信号检测结果并发送。所述瞬态信号检测结果即表明该信号是否为瞬态信号,可通过设置瞬态信号标志位 来实现,例如可以设置该标志位为1时表示瞬态信号,为0时表示非瞬态信号。所述编码结果包括经过变换编码后的瞬态信号及编码后的时域包络、或变换编码后的非瞬态信号。
[0059] 为完成本发明的解码过程,本发明实施例一还提供一种解码装置,如图4所示,包括:
[0060] 瞬态信号标志位检测单元,用于检测瞬态信号标志位,根据该瞬态信号标志位判断当前帧信号是否存在瞬态信号,并发送检测结果。
[0061] 选择控制单元,与所述变换解码单元及瞬态信号标志位检测单元相连,用于接收所述瞬态信号标志位检测单元的检测结果,对不同的检测结果选择不同的支路进行解码; [0062] 变换解码单元,用于对接收的码流进行解码,得到反变换后的信号; [0063] 瞬态信号处理单元,与所述选择控制单元及变换解码单元相连,用于对接收的反变换后的瞬态信号进行解码处理,其进一步包括:
[0064] 时域包络解码子单元,与所述选择控制单元相连,用于解码编码码流中的时域包络,得到一组时域包络;
[0065] 瞬态信号整形子单元,用于利用所述解码得到的一组时域包络对变换解码后得到的反变换后的信号进行整形,得到最终的解码信号。
[0066] 解码寄存器,与瞬态信号处理单元中的时域包络解码子单元相连,用于保存解码后的时域包络。
[0067] 本发明实施例一所述的编码装置及解码装置解决了目前的量化噪声泄漏控制方案中计算复杂度高、时延较大、编码效率不高、占用系统资源较多以及准确率低等问题。 [0068] 本发明实施例二提供一种量化噪声泄漏控制方法,其包括编码操作和解码操作两部分,如图5所示,为本实施例所述方法的编码操作流程图,具体包括如下步骤: [0069] 步骤51:对当前一帧输入信号进行瞬态分析,判断当前信号是否出现瞬 态信号; [0070] 所述瞬态分析过程可以为:首先将一帧信号分为多个子帧,计算每个子帧的最大幅度值,利用每个子帧的最大幅度值与该子帧相邻前几个子帧的最大幅度值之和的比值作为瞬态检测函数,如果比值大于一定的阈值,则认为出现了信号的突变,即出现了瞬态信号;否则就认为没有检测到瞬态信号。所选取的该子帧相邻前子帧的个数不做限定,只要能够满足确保瞬态检测函数的有效性。
[0071] 如果检测到有瞬态信号,则将瞬态信号标志位设置为特定值,例如瞬态信号标志位设置为1表示为瞬态信号,为0表示为非瞬态信号。
[0072] 步骤52:如果出现瞬态信号,则计算该帧信号的一组时域包络; [0073] 将每个子帧的最大幅度值进行量化,量化后的值就是一组时域包络。提取时域包络的方法可以不唯一,例如,也可以通过计算每一个子帧的对数能量值,量化之后作为时域包络。
[0074] 在计算该帧信号的一组时域包络后,对所述时域包络进行编码,对该时域包络的编码时机并不作限定,可以在计算得到该时域包络后,发送已编码的内容前的任意时刻,例如可以在对输入信号进行基于感知编码原则的变换编码前,也可以在其后。 [0075] 步骤53:利用所述计算得到的时域包络对本帧信号进行归一化处理,去除瞬态信号;
[0076] 所述归一化处理即:将每个子帧的信号除以本子帧对应的时域包络,得到归一化后的信号。
[0077] 步骤54:对输入信号进行基于感知编码原则的变换编码;
[0078] 如果没有出现瞬态信号,则直接执行该步骤54,即对非瞬态信号进行基于感知编码原则的变换编码;如果出现瞬态信号,则对上述归一化处理后的瞬态信号进行基于感知编码原则的变换编码;
[0079] 步骤55:发送瞬态信号检测结果和所有已编码的内容;
[0080] 所述瞬态信号的检测结果即表示是否为瞬态信号标志位,例如若是瞬态信号,则标志位为1,若不是瞬态信号,则标志位为0。
[0081] 所述所有已编码的内容包括:经过变换编码后的瞬态信号及编码后的时域包络、或变换编码后的非瞬态信号。
[0082] 本发明实施例二所述的解码部分的流程如图6所示,包括如下流程: [0083] 步骤61:对接收到的码流进行变换解码,得到反变换后的信号; [0084] 步骤62:解码瞬态信号标志位,根据该瞬态信号标志位判断当前帧信号是否存在瞬态信号;
[0085] 根据解码后得到的标志位可判断当前是否有瞬态信号,例如,若标志位为1,表示存在瞬态信号,转至执行步骤63,若标志位为0,表示不存在瞬态信号,则对反变换之后的信号不进行处理,结束操作,最终得到的即为解码信号;
[0086] 该步骤62与步骤61可以同步执行,两个步骤无时序先后,也就是在解码瞬态信号标志位的同时对接收的码流进行变换解码,只是在输出反变换后的信号前要接收瞬态信号标志位检测结果,根据该结果决定是直接输出,还是进行整形等处理。 [0087] 步骤63:如果有瞬态信号,则解码码流,得到一组时域包络; [0088] 如果当前有瞬态信号,则编码码流中包含了时域包络,对其解码后会得到一组时域包络;
[0089] 在有瞬态信号的情况下,该步骤也可以与步骤61同步执行,并无时序先后限制。 [0090] 步骤64:利用上述解码后得到的时域包络对解码后得到的反变换后的信号进行整形,得到最终的解码信号;所述整形过程包括:将反变换后的每一子帧信号乘以相应的时域包络。
[0091] 上述本发明实施例所述的编码方法中由于对输入信号进行瞬态分析是基于每一输入帧,也就是对固定帧长信号进行分析,不用考虑不同的分析帧长 引起的切换、衔接问题,因此解决了时延大的问题;对输入信号进行瞬态分析的算法是个低复杂度的算法,仅需要进行一些比较操作,计算量相当小,且由于仅在检测到了瞬态信号的情况下才会对信号的时域包络进行编码传输,而在没有瞬态峰值的时候可以将更多的比特用于变换编码中,提高量化精度和编码效率,且节省了系统资源。且所述的解码方法中可以根据瞬态信号标志位检测出瞬态信号,从而进行与非瞬态信号不同的解码处理,其操作简便,保证了解码的准确性。
[0092] 下面以具体实例对本发明所述方法进行详细介绍,本实例运用于超宽带语音编解码系统中,在本系统中只需要进行瞬态判决并设置瞬态信号标志位,无需标识具体的瞬态信号出现的时间即可。在目前的超宽带语音编解码系统中对于7~14KHz超宽带部分通常采用基于MDCT的变换编码技术。
[0093] 编码端具体实现过程:
[0094] (1)对分析窗内的M(M=640)点信号中的当前帧M’(M’=320)点信号{x1…xM}进行瞬态分析,分析的详细过程如下:
[0095] a、将该帧信号分为N个子帧Si,每个子帧持续时间为1ms,其中i=0,…,N-1. [0096] b、计算每一子帧中的最大绝对幅度值Ai,即Ai=max(|xj|),xj∈Si,将其保存在编码状态器中,用于下一个包含瞬态信号帧的时域包络平滑;
[0097] c、计算检测函数
[0098] 通过当前子帧的最大幅值和前五个子帧的最大幅值之和做比较,判断是否是在一段小能量信号后有一个突变的大能量信号,这样的情况下才是瞬态信号,如果是连续的大能量信号是不作为瞬态信号处理的。
[0099] d、一旦检测到Di超过一定阈值,则可确定出现瞬态信号,将瞬态信号标 志位Dflag置为1;否则,认为没有瞬态信号,将Dflag置为0;
[0100] (2)根据Dflag的状态进行不同的处理:
[0101] 如果Dflag=1,即在本帧信号中检测到了瞬态信号,则
[0102] a、对Ai进行量化,得到Aiq;
[0103] b、对本帧内的信号利用反量化的时域包络进行归一化处理。
[0104] 即首先对时域包络进行反量化,得到 i,然后对 i进行平滑处理,得到平滑后的时域包络 ,再利用平滑后的时域包络进行归一化处理,即
[0105] c、对Aiq进行编码
[0106] 如果Dflag=0,即在本帧信号中没有检测到了瞬态信号,则不对本帧信号进行其它处理。
[0107] (3)对{x1…xM}进行基于感知编码准则的变换编码。
[0108] (4)将Dflag和所有已编码的信息一起打包,进行传输。
[0109] 解码端的具体操作流程为:
[0110] (1)对接收的码流解码,得到Dflag;
[0111] (2)解码得到反变换编码的信号
[0112] (3)根据Dflag的状态进行不同的处理,得到最终的解码信号; [0113] 如果Dflag=1,即在本帧信号中出现了瞬态信号,则
[0114] a、解码得到Aiq,将其保存在解码寄存器中,用于后续时域包络的平滑。 [0115] b、对Aiq反量化得到 i,然后对 i进行与编码端一致的平滑处理,得到平滑后的时域包络 。利用平滑后的时域包络对解码得到的反变换编码的信号 进行整形,即 xj∈Si,得到最终的解码信号{x1…xM}。
[0116] 如果Dflag=0,即在本帧信号中没有瞬态信号,则不对 进行任何处理,得到最终的解码信号{x1…xM}。
[0117] 综上所述,本发明实施例由于对输入信号进行瞬态分析是基于每一输入帧,也就是对固定帧长信号进行分析,不用考虑不同的分析帧长引起的切换、衔接问题,解决了时延长的问题;对输入信号进行瞬态分析的算法是个低复杂度的算法,仅需要进行一些比较操作,计算量相当小,且由于仅在检测到了瞬态信号的情况下才会对信号的时域包络进行编码传输,而在没有瞬态峰值的时候可以将更多的比特用于变换编码中,提高量化精度和编码效率,且节省了系统资源。且所述的解码方法中可以根据瞬态信号标志位检测出瞬态信号,从而进行与非瞬态信号不同的解码处理,其操作简便,保证了解码的准确性。 [0118] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。