一种基于通信网络的高质量语音传输方法

文档序号:8265189阅读:917来源:国知局
一种基于通信网络的高质量语音传输方法
【技术领域】
[0001]本发明涉及网络传输和通信,特别涉及一种语音传输方法。
【背景技术】
[0002]近年来,随着互联网和信息技术的高速发展,以及服务器与互联网的结合,如何对网络协议进行优化,在有限的网络带宽下高效地传输多媒体数据,并且避免造成网络拥塞,成为了视频、语音等媒体服务器的发展方向之一。语音数据在互联网上的传输依赖网络传输协议,包括TCP和UDP传输协议,如果用不具备任何排序、重传和拥塞控制的协议来传输多媒体数据,网络带宽会被迅速耗尽,而且随着网络状态的恶化,丢包数的增加也会影响传输质量。现有的拥塞控制不适合硬件条件有限的嵌入式设备,没有根据嵌入式设备的特点进行相应调整,无法满足嵌入式设备中语音数据的实时性和准确性。因此,针对相关技术中所存在的上述问题,目前尚未提出有效的解决方案。

【发明内容】

[0003]为解决上述现有技术所存在的问题,本发明提出了一种基于通信网络的高质量语音传输方法,包括:
[0004]嵌入式语音数据服务器作为发送方,在数据包头添加序号和时间戳,通过测定接收方的响应数据来判断当前网络状态;
[0005]根据当前网络状态,计算下一时刻的在每两个数据包或每两组数据包的发送之间的主控延迟,基于所述主控延迟调整服务器的语音传输速率。
[0006]优选地,所述响应数据包括丢包率,并且所述根据当前网络状态,计算下一时刻的在每两个数据包或每两组数据包的发送之间的主控延迟,基于所述主控延迟调整服务器的语音传输速率,进一步包括:
[0007](I)计算第I时刻的丢包率P (I),以此作为第I时刻的丢包率估计值P(I);然后计算第2时刻的丢包率P (2),通过平滑公式计算第2时刻的丢包率估计值,其中所述平滑公式如下:
[0008]P (t) = (1- α ).P (t-1) + α.p (t)
[0009]式中α为平滑系数,是0-1之间的常数;
[0010](2)将丢包率估计值P(t)进行正则化,使计算出的丢包率等级L(t)为0-1之间的数值,公式如下:
[0011]L(t)=P(t)/0
[0012]式中β为预先选择的可容忍的最大丢包率;
[0013](3)采用基于主控延迟的方法对传输速率进行调整,包括:
[0014]在每两个数据包之间间隔一个主控延迟,或每两组数据包之间间隔一个主控延迟;主控延迟的参数D⑴的范围是[D1, Dh],其中DjP Dh计算公式如下:
[0015]D1=MaveZMh[_ Dh=MJM1
[0017]式中Mh和M 别为单位时间内允许的最大和最小数据传输量,M 为每个或每组数据包大小;
[0018](4)拥塞情况的判断:设定两个拥塞阈值Lh和L i,且(KL1O^l ; [0,L1]作为空闲状态,[Lh, I]作为拥塞状态;根据不同的丢包率等级L(t)和L(t-l)判定不同的拥塞情况,然后分别计算速率调整参数d:
[0019]若L(t)彡Lh且L(t_l)〈Lh,即t_l时刻未进入拥塞状态,t时刻进入拥塞状态,则通过增加主控延迟来降低传输速率:
[0020]d = (Dh-D1).(L (t)-Lh)/(1-Lh) D (t) = min{D(t)+d, Dj ;
[0021]若L(t)彡L (t-Ι)彡Lh,即t-Ι时刻已进入拥塞状态,t时刻拥塞程度比t-Ι时刻严重,则通过增加主控延迟来降低传输速率:
[0022]d = (Dh-D1).(L(t)-L(t-1))/(1-Lh)D(t) = min{D(t)+d, Dj ;
[0023]若L(t) <LX,即t时刻进入空闲状态,则通过减少主控延迟来加快传输速率:
[0024]d = (Dh-D1).(L1-L (t)) /L1 D (t) = max {D (t) -d, D1I ;
[0025]若L(t)和L (t-1)不满足上述任一种情况,则不作任何速率调整,即D (t) =D(t)。
[0026]本发明相比现有技术,具有以下优点:
[0027]本发明提供了一种针对硬件条件有限的语音数据服务器的传输控制方法,提高了语音传输的实时性和有效性,传输速率得到有效调整,显著提高了 QoS。
【附图说明】
[0028]图1是根据本发明实施例的基于通信网络的高质量语音传输方法的流程图。
【具体实施方式】
[0029]下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。
[0030]拥塞控制的目的就是控制网络吞吐量,从而实现低丢包率、低网络延迟和低抖动。对于语音数据服务器来说,远距离的广域网通信是它的一大特点,拥塞控制中应考虑到网络延迟的问题,同时为了减轻网络负担,用单程延迟代替往返延迟。在发送方包头添加时间戳,在接收方根据发送方的时间戳和接收时间就可计算出网络延迟,从而计算延迟。本发明所改进的拥塞控制算法是在数据包头添加序号和时间戳,通过测定丢包率、网络延迟来对网络状态进行估计与判断。
[0031]本发明的一方面提供了一种基于通信网络的高质量语音传输方法。图1是根据本发明实施例的基于通信网络的高质量语音传输方法流程图。
[0032]嵌入式媒体服务器数据速率调整的机制是,在每两个数据包或者每两组数据包的发送之间经历一段时间的主控延迟,通过主控延迟的长短控制网络吞吐量。速率调整机制都是基于数据传输速率的,即通过公式计算下一时刻单位时间应发送的数据量,然后进行调整。这样速率调整的机制对于CPU处理性能较高、系统时钟精度较高的计算机来说是准确且有效的,但是对于系统资源有限的语音数据服务器来说是不合适的。综上所述,对于基于嵌入式设备的语音数据服务器来说,不应采取基于传输速率的调整机制,而应采取基于主控延迟的速率调整机制,既可以简化代码复杂程度,又可以有效控制吞吐量。
[0033]本发明采用双阈值,并且改进了网络状态的判定方法。针对丢包率和网络延迟这两个拥塞指标,分别采用基于丢包率的拥塞控制方法和基于网络延迟的拥塞控制方法。
[0034]下面介绍基于丢包率的拥塞控制算法流程。
[0035](I)根据丢包率公式计算第I时刻的丢包率P (I),以此作为第I时刻的丢包率估计值Pd)。然后计算第2时刻的丢包率P (2),通过平滑公式计算第2时刻的丢包率估计值。所述平滑公式如下:
[0036]P (t) = (1- α ).P (t~l) + α.p (t)
[0037]式中α为平滑系数,是0-1之间的常数。当α接近I的时候,丢包率估计值P (t)接近丢包率P (t),平滑效果不明显;当α接近O的时候,丢包率估计值P (t)接近上一时刻的丢包率估计值P(t-l),过于平稳,无法及时跟踪当前丢包率。所以,应根据不同的需要,选择不同的α。在本实施例中,为了兼顾实时性与稳定性,平滑系数取0.5。
[0038](2)为了简化计算,将丢包率估计值P (t)进行正则化,使计算出的丢包率等级L(t)为0-1之间的数值。公式如下:
[0039]L (t) = P (t) / β
[0040]式中β为可容忍的最大丢包率,此值根据不同需求预先选择。在本发明中选3%作为可容忍的最大丢包率。
[0041](3)采用基于主控延迟的方法对传输速率进行调整:在每两个数据包之间间隔一个主控延迟,或两组数据包(每组有若干个数据包)之间间隔一个主控延迟。主控延迟的参数D(t)的范围是[D1, Dh],其中DjP Dh需要根据芯片性能、操作系统精度以及具体任务要求而选择。DjP Dh计算公式如下:
[0042]Dl=Mave/Mh
[0043]Dh= M
[0044]式中Mh和M 别为单位时间内系统所允许的最大和最小数据传输量,M 为每个或每组数据包大小。
[0045](4)拥塞情况的判断:设定两个拥塞阈值L1^PL1,且(KWl。[O,LI]作为空闲状态,[Lh, I]作为拥塞状态。根据不同的丢包率等级L(t)和L(t-l)判定不同的拥塞情况,然后分别计算速率调整参数d。
[0046]情况1:L(t)彡Lh且L(t_l)〈Lh,即t_l时刻未进入拥塞状态,t时刻进入拥塞状态,应通过增加主控延迟来降低传输速率。
[0047]d = (Dh-D1).(L (t)-Lh) / (1-Lh)
[0048]D (t) = min {D (t) +d, Dj
[0049]情况2:L(t)彡L(t-Ι)彡Lh,即t_l时刻已进入拥塞状态,t时刻拥塞程度比t_l时刻更严重,应通过增加主控延迟来降低传输速率。
[0050]d = (Dh-D1).(L(t)-L (t_l))/(1-Lh)
[0051]D (t) = min {D (t) +d, Dj
[0052]情况3 ^aXL1,即t时刻进入空闲状态,应通过减少主控延迟来加快传输速率。
[0053]d= (Dh-D1).(L1-La))/^
[0054]D (t) = max {D (t) -d, D1I
[0055]情况4:除了以上3种情况的其他情况,不需要作任何速率调整。即D(t) =D(t)
[0056]基于网络延迟的拥塞控制算法和基于丢包率的拥塞控制算法基本相同,仅需要用相应的网络延迟代替丢包率,然后代入以上公式计算即可。
[0057](I)根据网络延迟值公式计算第I时刻的网络延迟γ (I),以此作为第I时刻的网络延迟估计值R(I)。然后计算第2时刻的网络延迟γ (2),通过平滑公式计算第2时刻的网络延迟估计值。所述平滑公式如下:
[0058]R(t) = (1- Θ ).R(t-l)+ θ.γ (t)
[0059]式中Θ为平滑系数,是0-1之间的常数。当Θ接近I的时候,网络延迟估计值R(t)接近网络延迟γ (t),平滑效果不明显;当Θ接近O的时候,网络延迟估计值R(t)接近上一时刻的网络延迟估计值R(t-l),过于平稳,无法及时跟踪当前网络延迟。所以,应根据不同的需要,选择不同的Θ。在本实施例中,为了兼顾实时性与稳定性,平滑系数取0.5。
[0060](2)为了简化计算,将网络延迟估计值R(t)进行正则化,使计算出的网络延迟等级M(t)为0-1之间的数值。公式如下:
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1