陈拥权 张 羽 胡翀豪 楚 瑾
(合肥寰景信息技术有限公司 安徽 230088)
在实时语音传输中,由于语音要求较强的实时性,对少量的数据丢失不是很敏感,因此需要和一般网络传输不同的方法。
实时性使得语音传输不适用带确认和重传的TCP协议,通常使用不可靠的 UDP协议,但UDP不可避免的带有相对较高的丢包率,如何抵抗丢包,以及当发生丢包现象时如何处理的相关问题成为实时语音通信中研究的热点。
本文结合了现有交织技术与前向纠错技术的特点,以增加传输带宽为代价,将数据流以分组冗余交织打包的形式传输,在与现有交织技术相比没有引入额外时延的前提下,提高了语音传输的可靠性与质量,具有一定的参考借鉴价值。
数据在互联网上是以数据包为单位传输的。因此,不论网速多少,数据都不会是以线性(就像打电话一样)传输的,中间总是有空洞的。数据包的传输,不可能百分之百的能够完成,因为种种原因,总会有一定的损失。碰到这种情况,互联网会自动的让双方的电脑根据协议来补包。如果网络线路好,速度快,包的损失会非常小,补包的工作也相对较易完成,因此可以近似的把数据看做是无损传输。但是,如果网络线路较差,数据的损失量就会非常大,补包工作也不可能百分之百完成。在这种情况下,数据的传输就会出现空洞,造成丢包。
目前,国内外主流丢包处理技术主要包括:前向纠错(FEC)、交织和丢包隐藏技术等。
前向纠错技术是一类信道冗余编码的统称,目的在于提高语音数据传输的可靠性,当发生个别随机丢包时能恢复丢失的包。前向纠错编码(FEC)技术通过在传输码列中加入冗余纠错码,在一定条件下,通过解码可以自动纠正传输误码,降低接收信号的误码率(BER)。在WDM系统中,衡量FEC纠错能力的指标称为“FEC编码增益”,该增益越强表示纠错性能越强。
这类编码有简单有复杂,简单编码占用额外带宽小,恢复能力差,如奇偶校验等;较复杂的编码恢复能力好,占用额外带宽较大,如RS码等。LDPC码同时具有较好的编码性能,并有较灵活的参数调整、方便的译码方式,目前在一些领域得以推广应用。但FEC技术都有一个特点,在一定丢包限度内,数据可以完全恢复,但超过该限度,则完全无法恢复。
在陆地移动通信这种变参信道上,持续较长的深衰落谷点会影响到相继一串的比特,使比特差错常常成串发生。然而,信道编码仅能检测和校正单个差错和不太长的差错串。因此,交织技术就是把一条消息中的相继比特分散开的方法,即一条信息中的相继比特以非相继方式发送,这样即使在传输过程中发生了成串差错,恢复成一条相继比特串的消息时,差错也就变成单个(或者长度很短)的错误比特,这时再用信道纠正随机差错的编码技术(FEC)消除随机差错。
语音交织技术是一种减少语音数据丢包损失的方法。将原始数据分成更小的帧,在发送前,重排帧的顺序,使每个包中的数据来自交错的语音帧。从而在发生丢包时,丢失的是非连续的帧数据,这些帧如果很少,对听觉影响不大;并且也方便对这些较分散的丢帧数据做后续的丢包隐藏处理。但交织技术容易引起较大的传输时延。
丢包隐藏是指接收端在已经发生丢包或丢帧时,通过一定的算法填补丢失的数据,减少丢失数据带来的损失。主要包括插入和插值技术,插入是指用固定的信号替代丢失的数据,插值是指根据已知信号与语音的短时相关性,构造丢失的数据。
丢包隐藏技术是指接收端在已经发生丢包或丢帧时,通过一定的算法填补丢失的数据,减少丢失数据带来的损失。主要包括插入和插值技术,插入是指用固定的信号替代丢失的数据,插值是指根据已知信号与语音的短时相关性,构造丢失的数据。
为了能提高语音传输的可靠性与质量,本文提出了基于组合设计的语音冗余交织方法。
该方法将实时语音数据分解成多个较小的语音帧,然后根据语音数据传输要求对多个语音帧进行重新排列与组合,从而交织成数据包,最后设定符合语音数据传输要求的数据包传送顺序,按传输顺序将数据包分配到符合语音数据传输要求的传输通道上进行传输。其主要技术特点如下:
在基于组合设计的语音冗余交织方法中,多个语音帧的组合方式通过简单的组合设计确定,具有对称冗余特性,在网络上出现随机丢包时,具有较高的恢复能力。
由于该方法中的语音数据存在冗余,需要额外的传输带宽,因此采用了多个并行的传输通道,提高了语音数据传输效率,减少干扰。
在丢包稍多时,可基于正常数据进行后续丢包隐藏处理,仍可正常传输部分数据,提高语音传输质量。
本文提出的一种基于组合设计的语音冗余交织方法,其核心内容是交织方法的设计,将实时语音数据分成较小的语音帧,并对这些帧进行重新排列与组合,交织成数据包在网络上传输。
本方法结合了现有交织技术与前向纠错技术的特点,以增加传输带宽为代价,将数据流以分组冗余交织打包的形式传输,在与现有交织技术相比没有引入额外时延的前提下,进一步提高了语音传输的可靠性与质量。