一种基于组合设计的语音冗余交织方法

文档序号:2834970阅读:214来源:国知局
专利名称:一种基于组合设计的语音冗余交织方法
技术领域
本发明涉及语音数据传输方法领域,具体为一种基于组合设计的语音冗余交织方法。
背景技术
在实时语音传输中,由于语音要求较强的实时性,对少量的数据丢失不是很敏感,因此需要和一般网络传输不同的方法。实时性使得语音传输不适用带确认和重传的TCP协议,通常使用不可靠的UDP协议,但UDP不可避免的带有相对较高的丢包率,如何抵抗丢包和当发生丢包现象时如何处理的相关问题成为实时语音通信中研究的热点。丢包处理技术主要有前向纠错(FEC)、交织、丢包隐藏技术等。前向纠错技术是一类信道冗余编码的统称,目的在于提高语音数据传输的可靠性,当发生个别随机丢包时能恢复丢失的包。这类编码有简单有复杂,简单编码占用额外带宽小,恢复能力差,如奇偶校验等;较复杂的编码恢复能力好,占用额外带宽较大,如RS码等。LDPC码同时具有较好的编码性能,并有较灵活的参数调整、方便的译码方式,目前在一些领域得以推广应用。但FEC技术都有一个特点,在一定丢包限度内,数据可以完全恢复,但超过该限度,则完全无法恢复。交织技术是一种减少丢包损失的方法。将原始数据分成更小的帧,在发送前,重排帧的顺序,使每个包中的数据来自交错的语音帧。从而在发生丢包时,丢失的是非连续的帧数据,这些帧如果很少,对听觉影响不大;并且也方便对这些较分散的丢帧数据做后续的丢包隐藏处理。但交织技术容易引起较大的传输时延。丢包隐藏是指接收端在已经发生丢包或丢帧时,通过一定的算法填补丢失的数据,减少丢失数据带来的损失。主要包括插入和插值技术,插入是指用固定的信号替代丢失的数据,插值是指根据已知信号与语音的短时相关性,构造丢失的数据。现有交织技术本身并不提供冗余与纠错功能,而FEC也不支持数据的部分恢复。

发明内容
针对现有技术存在的问题,本发明提供了一种基于组合设计的语音冗余交织方法。为了达到上述目的,本发明所采用的技术方案为:一种基于组合设计的语音冗余交织方法,其特征在于:将实时语音数据分解成多个较小的语音帧,然后根据语音数据传输要求对多个语音帧进行重新排列与组合,从而交织成数据包,最后设定符合语音数据传输要求的数据包传送顺序,按传输顺序将数据包分配到符合语音数据传输要求的传输通道上进行传输。所述的一种基于组合设计的语音冗余交织方法,其特征在于:多个语音帧的组合方式通过简单的组合设计确定,具有对称冗余特性,在网络上出现随机丢包时,具有较高的恢复能力。
所述的一种基于组合设计的语音冗余交织方法,其特征在于:由于数据存在冗余需要额外的传输带宽,故使用多个并行的传输通道。所述的一种基于组合设计的语音冗余交织方法,其特征在于:在丢包稍多时,可基于正常数据进行后续丢包隐藏处理,仍可正常传输部分数据,提高语音传输质量。本发明结合了现有交织技术与前向纠错技术的特点,以增加传输带宽为代价,将数据流以分组冗余交织打包的形式传输,在与现有交织技术相比没有引入额外时延的前提下,提高了语音传输的可靠性与质量。


图1为用于对比的非交织语音传输技术的实施例图。图2为用于对比的传统交织语音传输技术的实施例图。图3为用于对比的偏移交织语音传输技术的实施例图。图4为本发明所公开的基于组合设计的冗余交织语音传输技术的实施例。
具体实施例方式首先通过附图,展示所述技术的实施例,并将所述技术与其他传统技术相对比,并说明其特点。应该说明的是,本技术的范围不局限于附图所述实施例,实施例是用于描述目的,而不是限制目的。图1说明了以具有五个帧的包来发送语音的一个不使用交织技术的基础实施例。语音数据流102的一部分被示为将要在三个包104、105、106中发送。包104包括数据流102中的第一至第五个编码巾贞,包105包括数据流102中的第六至第十个编码巾贞,包106包括数据流102中的第十一至第十五个编码帧。根据此基础实施例,在数据流102中第一至第五个相继编码帧填满包104后,在t5发送包104。同样,在数据流102中第六至第十个编码中贞填满包106后,在t1(l发送包105 ;在1:15发送包106。不失一般性,设每个五巾贞的包从发送到接收,也需要五帧的时间,下同。在接收端,在t1(l收到包104中的所有帧,其后跟随着剩下的帧。根据此基础实施例,接收端将在t25收到数据流102中的前十五帧并予以播放。如果一个发送的包在传输过程中丢失,那么在接收端将表现为相继五帧的丢失;因此,语音质量将受到较大损失,即使经过丢包隐藏技术处理,由于连续丢失数据较多,也仍会有可察觉的损失。图2说明了以具有五个帧的包来发送语音,采用基本交织技术的一个实施例。语音数据流202的一部分被示为将要在三个包204、205、206中发送。包204包括数据流202中的第一、四、七、十、十三个编码帧,包205包括数据流202中的第二、五、八、十一、十四个编码帧,包206包括数据流202中的第三、六、九、十二、十五个编码帧。根据此实施例,在包204被填满后,在t13发送包204。然后,在包205被填满后,由于传输通道被占用,在t18发送包115,同样地,在t23发送包206。在接收端,在t18收到包204中的所有帧,其后跟随着剩下的帧。根据此基础实施例,如果一个发送的包在传输过程中丢失,那么在接收端将表现为相间隔的帧的丢失;因此,语音质量的损失比图1要小,如经过丢包隐藏技术处理,损失会进一步减小。但接收端要在t33才能接收到数据流202中的前十五帧并予以播放,在系统中引入了较大的附加时延。
图3说明了以具有五个帧的包来发送语音,采用专利CN1906878所述偏移交织技术的一个实施例。语音数据流302的一部分被示为将要在三个包304、305、306中发送。包304包括数据流302中的第一、三、五、七、九个编码帧,包305包括数据流302中的第六、八、十、十二、十四个编码巾贞,包306包括数据流302中的第^ 、十三、十五、十七、十九个编码帧。根据此实施例,在包304被填满后,在t9发送包304。同样,在包305被填满后,在t14发送包305 ;在t19发送包306。在接收端,在t14收到包304中的所有帧,其后跟随着剩下的帧。根据此基础实施例,如果一个发送的包在传输过程中丢失,那么在接收端将表现为相间隔帧的丢失;因此,语音质量的损失与图2相接近。与图2相比,接收端在t29可以接收到数据流302中的第一至十五帧并予以播放(忽略第二、四帧的边缘效应,没有进入偏移交织范围),在系统中引入的附加时延比图2要小。图4说明了以具有五个帧的包来发送语音,采用本技术的一个实施例。语音数据流402的相继十五帧数据分为一组并被发送,在并行的两条传输通道403、404上传输。将数据流402打包为六个包。包405包括数据流402中的第一至第五个编码帧,于t5时刻在通道403上发送;包406包括数据流402中的第一、六、七、八、九个编码帧,于t9时刻在通道404上发送;包407包括数据流402中的第二、六、十、i^一、十二个编码帧,于t12时刻在通道403上发送;包408包括数据流402中的第三、·七、十、十三、十四个编码帧,于t14时刻在通道404上发送;包409包括数据流402中的第四、八、十一、十三、十五个编码帧,于t17时刻在通道403上发送;包410包括数据流402中的第五、九、十二、十四、十五个编码帧,于t19时刻在通道404上发送。接收端会按同样顺序依次收到各个包中的帧,并放入缓冲区予以播放。如在没有丢包的情况下,接收端可在t27时刻收到数据流402中的前十五帧并予以播放,比图2、3的时延都要小;并且,根据此实施例,如发生一个包在传输过程中丢失,接收端最终仍可收到数据流402中全部的帧,对语音质量不产生影响,仅可能引入不大的时延。例如假设包409在传输过程中丢失,则第十五帧的数据要依赖包410提供,将在t29时刻收至IJ,此时时延与图3相同,并未额外再增加时延。如发生两个包在传输过程中丢失,则接收端最终收到的帧将缺少一个,对语音质量影响不大,并可以经过丢包隐藏技术进一步处理降低影响。如发生三个以上包在传输过程中丢失,对语音的影响会较大,但在一个分组只有六个包的情况下,这种情况实际发生的概率是微乎其微的,而且图1、2、3所述实施例,在这种丢包特别多的情况下,影响将更大。由以上实施例可以看出,本技术在现有交织技术的基础上,以增加传输能力为代价,进一步提高了传输的可靠性,同时并不增加额外的时延。本技术的核心内容是交织方法的设计,其设计方法是基于组合设计的,基本原理如下:设本技术的实施例中,每个包中包含η帧数据。系统总共拥有k倍于直接传输的传输通道或传输带宽,需要在传输过程中丢包少于k个时不丢失任何帧,并以M个帧为分组单位进行交织。因此,在这M帧中,任取一个帧,该帧都必须在k个包中出现。设分组所打包成的总包数为P,为使交织的效果尽量好,应使任何一帧所分配的k个包都互不相同,因此有M=C (P, k),这里C (P, k)代表P个元素中取k个的组合数。但另一方面,M帧中每帧在P个大小为η的包中出现k次,因此有Mk=Pn。联立此二方程,即可求出M和P的值。然后,在具体交织方法设计上,只需将C(P,k)的所有组合一一列出,并将每个组合分别对应到M个包的每一个即可。在图4所举实施例中,n=5,k=2。依据上述设计方法有:M=C (P, 2),2M=5P,由此求得M=15,P=6。以15个帧为一组,每组数据通过对称和冗余,打包成6个包。将C(6,2)的组合一一列出,并对应到各帧,得出的分组交织设计方案即与图4 一致。然后按照时延尽可能小的方式,将设计出的包分别分配在各个通道上传输即可。再举一例如下:设n=10, k=3。依据上述设计方法有:M=C (P, 3),3M=10P,由此求得M=20,P=6。以20个帧为一组,每组数据通过对称和冗余,打包成6个包。将C(6,3)的组合一一列出,并对应到各帧,得具体分组交织设计方案如下:包1:帧 1、2、3、4、5、6、7、8、9、10包2:帧 1、2、3、4、11、12、13、14、15、16包3:帧 1、5、6、7、11、12、13、17、18、19包4:帧 2、5、8、9、11、14、15、17、18、20包5:帧 3、6、8、10、12、14、16、17、19、20包6:帧 4、7、9、10、13、15、16、18、19、20。需要补充说明的一点是,按上述设计方法,有时会出现P不能解得正整数的情况。通常η的最大值是受到网络条件制约的,不能任意增大。此时可以将P取为较小的邻近正整数,并以此为依据计算M值,再调整η值。由组合数C(P,k)的定义可知,由正整数P计算出的M和η都是正整数。例如n=8,k=3时,可得5〈P〈6,则取P=5,然后得出M=10,再得出n=6。
权利要求
1.一种基于组合设计的语音冗余交织方法,其特征在于:将实时语音数据分解成多个较小的语音帧,然后根据语音数据传输要求对多个语音帧进行重新排列与组合,从而交织成数据包,最后设定符合语音数据传输要求的数据包传送顺序,按传输顺序将数据包分配到符合语音数据传输要求的传输通道上进行传输。
2.根据权利要求1所述的一种基于组合设计的语音冗余交织方法,其特征在于:多个语音帧的组合方式通过简单的组合设计确定,具有对称冗余特性,在网络上出现随机丢包时,具有较高的恢复能力。
3.根据权利要求1所述的一种基于组合设计的语音冗余交织方法,其特征在于:由于数据存在冗余需要额外的传输带宽,故使用多个并行的传输通道。
4.根据权利要求1所述的一种基于组合设计的语音冗余交织方法,其特征在于:在丢包稍多时,可基于正常数据进行后续丢包隐藏处理,仍可正常传输部分数据,提高语音传输质量。
全文摘要
本发明公开了一种基于组合设计的语音冗余交织方法,将实时语音数据分成较小的语音帧,并对这些帧进行重新排列与组合,交织成数据包在网络上传输。本发明结合了现有交织技术与前向纠错技术的特点,以增加传输带宽为代价,将数据流以分组冗余交织打包的形式传输,在与现有交织技术相比没有引入额外时延的前提下,提高了语音传输的可靠性与质量。
文档编号G10L19/008GK103078715SQ20131003020
公开日2013年5月1日 申请日期2013年1月25日 优先权日2013年1月25日
发明者陈拥权, 李梁, 张羽 申请人:合肥寰景信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1