数据帧的处理方法和装置的制造方法
【技术领域】
[0001]本发明实施例涉及通信技术,尤其涉及一种数据帧的处理方法和装置。
【背景技术】
[0002]在VoIP(Voice over Internet Protocol)通信系统中,分组包在传输过程中会产生时延抖动(delay jitter),严重时会产生数据包丢失,造成语音频失真,VoIP质量下降。接收端可以通过高效的抖动缓存处理(Jitter Buffer Management,简称JBM)来补偿网络的延迟抖动,以解决音频失真、VoIP质量下降的问题。
[0003]在JBM处理过程中,如果短时间内接收到大量的数据包,接收端在解码当前语音频帧后将进一步进行缩减(shrink)处理,从而避免数据丢失;如果较长时间内才能接收到数据包,接收端在解码当前语音频帧后将进一步进行拉伸(extend)处理,从而避免数据不连续。其中,缩减和拉伸处理需要结合时长调整(Time Scale Modificat1n,简称TSM)技术。
[0004]在通过TSM技术进行缩减处理过程中,为了保持输出语音频的连贯性,当前语音频帧通常会进行缓存处理。具体地,如果缓存器中数据长度达到帧长,则输出一帧语音频信号;否则继续解码下一语音频帧并进行缓存处理,直至缓存器中数据长度达到帧长为止。当缓存器中的数据长度未达到帧长,则需要解码下一语音频帧,此时接收端算法复杂度较高。
【发明内容】
[0005]本发明实施例提供一种数据帧的处理方法和装置,以克服现有TSM技术进行缩减处理过程中,接收端算法复杂度较高的缺陷。
[0006]第一方面,本发明实施例提供一种数据帧的处理方法,包括:
[0007]获得待输出的数据帧以及所述数据帧对应的预期时长调整长度,若判断获知需要对所述数据帧进行时长缩减处理,则结合缓存器中当前缓存数据的数据长度和所述预期时长调整长度,确定所述数据帧对应的实际时长调整长度;
[0008]根据所述实际时长调整长度对所述数据帧进行时长缩减处理。
[0009]结合第一方面,在第一方面的第一种可能的实现方式中,所述结合缓存器中当前缓存数据的数据长度和所述预期时长调整长度,确定所述数据帧对应的实际时长调整长度包括:
[0010]对于包括的重复数据的周期个数小于阈值的所述待输出的数据帧,判断所述预期时长调整长度是否超过所述缓存器中当前缓存数据的数据长度,若所述预期时长调整长度超过所述缓存器中当前缓存数据的数据长度,则将所述缓存器中当前缓存数据的数据长度作为所述实际时长调整长度;若所述预期时长调整长度不超过所述缓存器中当前缓存数据的数据长度,则将所述预期时长调整长度作为所述实际时长调整长度;其中,所述预期时长调整长度为中间时长调整长度与最大时长调整长度中较小的,所述中间时长调整长度是根据所述帧长获得的,所述最大时长调整长度是所述帧长对应的最大时长调整长度。
[0011]结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述根据所述实际时长调整长度对所述数据帧进行时长缩减处理包括:
[0012]根据所述实际时长调整长度,采用直接去掉样点的方法进行所述数据帧的时长缩减处理;
[0013]结合第一方面,在第一方面的第三种可能的实现方式中,所述结合缓存器中当前缓存数据的数据长度和所述预期时长调整长度,确定所述数据帧对应的实际时长调整长度包括:
[0014]对于包括的重复数据的周期个数大于或等于阈值的所述待输出的数据帧,判断所述预期时长调整长度是否超过所述缓存器中当前缓存数据的数据长度,若所述预期时长调整长度超过所述缓存器中当前缓存数据的数据长度,则将所述实际时长调整长度设置为O ;若所述预期时长调整长度不超过所述缓存器中当前缓存数据的数据长度,则将所述预期时长调整长度作为所述实际时长调整长度;其中,所述预期时长调整长度为所述重复数据的长度。
[0015]结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述根据所述实际时长调整长度对所述数据帧进行时长缩减处理包括:
[0016]根据所述实际时长调整长度,采用对所述重复数据进行加窗并叠接的方法进行所述数据帧的时长缩减处理。
[0017]结合第一方面、第一方面的第一种至第一方面的第四种任一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述方法还包括:
[0018]根据预设的采样率,对所述待输出的数据帧进行降采样处理,并获取所述重复数据的长度。
[0019]结合第一方面、第一方面的第一种至第五种任一种可能的实现方式,在第一方面的第六种可能的实现方式中,所述方法还包括:
[0020]若判断获知需要对所述数据帧进行时长拉伸处理,对于包括的重复数据的周期个数小于阈值的所述待输出的数据帧,则采用零值填充或噪声填充的方法进行所述数据帧的时长拉伸处理。
[0021]第二方面,本发明实施例提供一种数据帧的处理装置,包括:
[0022]获取模块,用于获得待输出的数据帧以及所述数据帧对应的预期时长调整长度,若判断获知需要对所述数据帧进行时长缩减处理,则结合缓存器中当前缓存数据的数据长度和所述预期时长调整长度,确定所述数据帧对应的实际时长调整长度;
[0023]时长缩减处理模块,用于根据所述实际时长调整长度对所述数据帧进行时长缩减处理。
[0024]结合第二方面,在第二方面的第一种可能的实现方式中,所述获取模块具体用于:
[0025]对于包括的重复数据的周期个数小于阈值的所述待输出的数据帧,判断所述预期时长调整长度是否超过所述缓存器中当前缓存数据的数据长度,若所述预期时长调整长度超过所述缓存器中当前缓存数据的数据长度,则将所述缓存器中当前缓存数据的数据长度作为所述实际时长调整长度;若所述预期时长调整长度不超过所述缓存器中当前缓存数据的数据长度,则将所述预期时长调整长度作为所述实际时长调整长度;其中,所述预期时长调整长度为中间时长调整长度与最大时长调整长度中较小的,所述中间时长调整长度是根据所述帧长获得的,所述最大时长调整长度是所述帧长对应的最大时长调整长度。
[0026]结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述时长缩减处理模块具体用于:
[0027]根据所述实际时长调整长度,采用直接去掉样点的方法进行所述数据帧的时长缩减处理。
[0028]结合第二方面,在第二方面的第三种可能的实现方式中,所述获取模块具体用于:
[0029]对于包括的重复数据的周期个数大于或等于阈值的所述待输出的数据帧,判断所述预期时长调整长度是否超过所述缓存器中当前缓存数据的数据长度,若所述预期时长调整长度超过所述缓存器中当前缓存数据的数据长度,则将所述实际时长调整长度设置为O ;若所述预期时长调整长度不超过所述缓存器中当前缓存数据的数据长度,则将所述预期时长调整长度作为所述实际时长调整长度;其中,所述预期时长调整时长为所述重复数据的长度。
[0030]结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述时长缩减处理模块具体用于:
[0031]采用对所述重复数据进行加窗并叠接的方法进行所述数据帧的时长缩减处理。
[0032]结合第二方面、第二方面的第一种至第四种任一种可能的实现方式,在第二方面的第五种可能的实现方式中,所述装置还包括:
[0033]采样模块,用于根据预设的采样率,对所述待输出的数据帧进行降采样处理,并获取所述重复数据的长度。
[0034]结合第二方面、第二方面的第一种至第五种任一种可能的实现方式,在第二方面的第六种可能的实现方式中,所述装置还包括:
[0035]时长拉伸处理模块,用于若判断获知需要对所述数据帧进行时长拉伸处理,对于包括的重复数据的周期个数小于阈值的所述待输出的数据帧,则采用零值填充或噪声填充的方法进行所述数据帧的时长拉伸处理。
[0036]本发明实施例提供的数据帧的处理方法和装置,当判断获知需要对数据帧进行时长缩减处理时,通过结合缓存器中当前缓存数据的数据长度和数据帧对应的预期时长调整长度,确定数据