一种语音数据传输方法及装置的制造方法
【技术领域】
[0001 ]本发明涉及通信领域,尤其涉及一种语音数据传输方法及装置。
【背景技术】
[0002]移动无线通信系统使用无线自组网技术,但是无线通信常常是不可靠的,在无线信号较差情况下,丢包较为严重,语音通信质量受到较大影响,语音通信常常出现卡顿现象。
[0003]在实时语音传输中,由于语音要求较强的实时性,对少量的数据丢失不是很敏感,因此需要和一般网络传输不同的方法。实时性使得语音传输不适用带确认和重传的TCP协议,通常使用不可靠的UDP协议,但UDP不可避免的带有相对较高的丢包率,如何抵抗丢包和当发生丢包现象时如何处理的相关问题成为实时语音通信中研究的热点。
[0004]丢包处理技术主要有前向纠错(FEC)、交织、丢包隐藏技术等。
[0005]前向纠错技术是一类信道冗余编码的统称,目的在于提高语音数据传输的可靠性,当发生个别随机丢包时能恢复丢失的包。这类编码有简单有复杂,简单编码占用额外带宽小,恢复能力差,如奇偶校验等;较复杂的编码恢复能力好,占用额外带宽较大,如RS码等。LDPC码同时具有较好的编码性能,并有较灵活的参数调整、方便的译码方式,目前在一些领域得以推广应用。但FEC技术都有一个特点,在一定丢包限度内,数据可以完全恢复,但超过该限度,则完全无法恢复。
[0006]交织技术是一种减少丢包损失的方法。将原始数据分成更小的帧,在发送前,重排帧的顺序,使每个包中的数据来自交错的语音帧。从而在发生丢包时,丢失的是非连续的帧数据,这些帧如果很少,对听觉影响不大;并且也方便对这些较分散的丢帧数据做后续的丢包隐藏处理,但交织技术容易引起较大的传输时延。
[0007]丢包隐藏是指接收端在已经发生丢包或丢帧时,通过一定的算法填补丢失的数据,减少丢失数据带来的损失。主要包括插入和插值技术,插入是指用固定的信号替代丢失的数据,插值是指根据已知信号与语音的短时相关性,构造丢失的数据。
[0008]现有交织技术本身并不提供冗余与纠错功能,而FEC也不支持数据的部分恢复。
【发明内容】
[0009]本发明所要解决的技术问题是:提供一种具有丢包还原功能的语音传输方法及装置。
[0010]为了解决上述技术问题,本发明采用的技术方案为:
[0011 ] —种语音数据传输方法,包括:
[0012]步骤1、接收根据自然数依次编号的语音数据压缩包;所述语音数据压缩包由N个语音压缩帧组成,分别为I个用于语音数据读取的第一语音压缩帧和N-1个用于还原丢包的语音压缩帧;所述N-1个用于还原丢包的语音压缩帧为第一语音压缩帧后连续的语音数据;N的取值为大于I的整数;
[0013]步骤2、计算连续两次接收到的语音数据压缩包的编号差值,若所述编号差值大于I且小于等于N,则根据编号差值依次从所述N-1个用于还原丢包的语音压缩帧中与第一语音压缩帧连接的语音压缩帧开始读取;若所述编号差值大于N,则读取两次接收到的语音数据压缩包中前一次的语音数据压缩包中的全部语音压缩帧。
[0014]本发明采用的另一技术方案为:
[0015]—种语音数据传输装置,包括接收模块和计算模块;
[0016]所述接收模块,用于接收根据自然数依次编号的语音数据压缩包;所述语音数据压缩包由N个语音压缩帧组成,分别为I个用于语音数据读取的第一语音压缩帧和N-1个用于还原丢包的语音压缩帧;所述N-1个用于还原丢包的语音压缩帧为第一语音压缩帧后连续的语音数据;N的取值为大于I的整数;
[0017]所述计算模块包括计算单元、第一读取单元和第二读取单元;
[0018]所述计算单元,用于计算连续两次接收到的语音数据压缩包的编号差值;
[0019]所述第一读取单元,用于若所述编号差值大于I且小于等于N,则根据编号差值依次从所述N-1个用于还原丢包的语音压缩帧中与第一语音压缩帧连接的语音压缩帧开始读取;
[0020]所述第二读取单元,用于若所述编号差值大于N,则读取两次接收到的语音数据压缩包中前一次的语音数据压缩包中的全部语音压缩帧。
[0021 ]本发明的有益效果在于:通过牺牲部分传输带宽,每个语音数据压缩包中均含有该压缩包正常读取的数据内容,还包括接下来需要发送的连续的数据内容,通过计算连接两次接收到的语音数据压缩包的编号差值,可以判断是否发生数据包丢失情况,如果没有丢包,只读取该压缩包正常读取的数据内容,若丢包,则从前一个语音数据压缩包的接下来连续的数据内容中还原丢失的语音数据压缩包。通常为了数据传输的效率,充分的利用传输带宽,是不会采用上述这种方式,而本发明所采用的技术方案主要是为了降低丢包的概率,通过牺牲部分传输带宽,尽可能的还原丢失的数据,保证语音清晰流畅,保证了通信的质量。
【附图说明】
[0022]图1为本发明的语音数据传输方法的步骤流程图;
[0023]图2为本发明的语音数据传输装置的结构示意图;
[0024]标号说明:
[0025]丨、接收模块;
[0026]2、计算模块;21、计算单元;22、第一读取单元;23、第二读取单元。
【具体实施方式】
[0027]为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
[0028]本发明最关键的构思在于:通过牺牲部分传输带宽,每个语音数据压缩包中均含有该压缩包正常读取的数据内容,还包括接下来连续的数据内容,若没有丢包,只读取该压缩包正常读取的数据内容,若丢包,则从前一个语音数据压缩包的接下来连续的数据内容中还原丢失的语音数据压缩包。
[0029]请参照图1,本发明提供的一种语音数据传输方法,包括:
[0030]步骤1、接收根据自然数依次编号的语音数据压缩包;所述语音数据压缩包由N个语音压缩帧组成,分别为I个用于语音数据读取的第一语音压缩帧和N-1个用于还原丢包的语音压缩帧;所述N-1个用于还原丢包的语音压缩帧为第一语音压缩帧后连续的语音数据;N的取值为大于I的整数;
[0031]步骤2、计算连续两次接收到的语音数据压缩包的编号差值,若所述编号差值大于I且小于等于N,则根据编号差值依次从所述N-1个用于还原丢包的语音压缩帧中与第一语音压缩帧连接的语音压缩帧开始读取;若所述编号差值大于N,则读取两次接收到的语音数据压缩包中前一次的语音数据压缩包中的全部语音压缩帧。
[0032]从上述描述可知,本发明的有益效果在于:通过牺牲部分传输带宽,每个语音数据压缩包中均含有该压缩包正常读取的数据内容,还包括接下来需要发送的连续的数据内容,通过计算连接两次接收到的语音数据压缩包的编号差值,可以判断是否发生数据包丢失情况,如果没有丢包,只读取该压缩包正常读取的数据内容,若丢包,则从前一个语音数据压缩包的接下来连续的数据内容中还原丢失的语音数据压缩包。通常为了数据传输的效率,充分的利用传输带宽,是不会采用上述这种方式,而本发明所采用的技术方案主要是为了降低丢包的概率,通过牺牲部分传输带宽,尽可能的还原丢失的数据,保证语音清晰流畅,保证了通信的质量。
[0033]进一步的,所述步骤2还包括:若所述编号差值等于I,则读取