去除数据包抖动的方法及装置.pdf

上传人:1** 文档编号:1119659 上传时间:2018-04-01 格式:PDF 页数:11 大小:696.37KB
返回 下载 相关 举报
摘要
申请专利号:

CN200810007996.3

申请日:

2008.02.22

公开号:

CN101515838A

公开日:

2009.08.26

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):H04L 1/00申请公布日:20090826|||实质审查的生效|||公开

IPC分类号:

H04L1/00; H04L12/56

主分类号:

H04L1/00

申请人:

华为技术有限公司

发明人:

于 江; 邱慰刚

地址:

518129广东省深圳市龙岗区坂田华为总部办公楼

优先权:

专利代理机构:

北京集佳知识产权代理有限公司

代理人:

逯长明

PDF下载: PDF下载
内容摘要

本发明实施例提供一种去除数据包抖动的方法,包括:接收多个数据包;如果所述多个数据包出现乱序或抖动,则缓存所述多个数据包中的所有或部分数据包;以相同的传输时间间隔发送所述多个数据包。本发明实施例还提供一种去除数据包抖动的装置。在本发明实施例中,如果接收的多个数据包出现乱序或抖动,则可以先缓存所有的或部分的数据包,再以相同的传输时间间隔将所述多个数据包发送出去,避免了到达数据接收方的多个数据包出现抖动。

权利要求书

1.  一种去除数据包抖动的方法,其特征在于,包括:
接收多个数据包;
如果所述多个数据包出现乱序或抖动,则缓存所述多个数据包中的所有或部分数据包;
以相同的传输时间间隔发送所述多个数据包。

2.
  如权利要求1所述的去除数据包抖动的方法,其特征在于,缓存的数据包的数量根据预留给缓存的时延范围确定。

3.
  如权利要求2所述的去除数据包抖动的方法,其特征在于,所述预留给缓存的时延范围根据数据包由发出数据包的用户设备到接收数据包的用户设备的实际时间及数据包由发出数据包的用户设备到接收数据包的用户设备的可接受时延确定,或者根据数据包由发出数据包的用户设备到接收数据包的用户设备的实际时间、数据包由发出数据包的用户设备到接收数据包的用户设备的可接受时延及空口重传时延确定。

4.
  如权利要求3所述的去除数据包抖动的方法,其特征在于,所述根据数据包由发出数据包的用户设备到接收数据包的用户设备的实际时间及数据包由发出数据包的用户设备到接收数据包的用户设备的可接受时延确定预留给缓存的时延范围包括:
确定数据包由发出数据包的用户设备到接收数据包的用户设备的实际时间及数据包由发出数据包的用户设备到接收数据包的用户设备的可接受时延;
获取实际时间与可接受时延之间的差值;
确定预留给缓存的时延范围为所述差值的一半。

5.
  如权利要求3所述的去除数据包抖动的方法,其特征在于,所述根据数据包由发出数据包的用户设备到接收数据包的用户设备的实际时间、数据包由发出数据包的用户设备到接收数据包的用户设备的可接受时延及空口重传时延确定预留给缓存的时延范围包括:
确定数据包由发出数据包的用户设备到接收数据包的用户设备的实际时间及数据包由发出数据包的用户设备到接收数据包的用户设备的可接受时延;
获取实际时间与可接受时延之间的差值;
获取所述差值与空口重传时延之间的差值,所述差值与空口重传时延之间的差值为预留给缓存的时延范围,其中,所述空口重传时延是根据预先设置或统计的空口重传的次数确定的。

6.
  如权利要求1所述的去除数据包抖动的方法,其特征在于,在缓存的部分数据包中,每个数据包的序列号都比未缓存的任何一个数据包的序列号大。

7.
  如权利要求6所述的去除数据包抖动的方法,其特征在于,所述以相同的传输时间间隔发送所述多个数据包包括:在同一时刻发送所有未缓存的数据包,再以相同的传输时间间隔发送缓存的数据包,其中,发送所有未缓存的数据包与第一次发送缓存的数据包之间的时间间隔与所述传输时间间隔相同。

8.
  一种去除数据包抖动的装置,其特征在于,包括:
数据包接收单元,用于接收多个数据包;
缓存单元,如果所述多个数据包出现乱序或抖动,则用于缓存所述数据包接收单元接收的多个数据包中的所有或部分数据包;
数据包发送单元,用于以相同的传输时间间隔发送所述缓存单元缓存的多个数据包中的所有数据包,或者在同一时刻发送所有未缓存的数据包,再以相同的传输时间间隔发送所述缓存单元缓存的数据包,其中,发送所有未缓存的数据包与第一次发送所述缓存单元缓存的数据包之间的时间间隔与所述传输时间间隔相同。

9.
  如权利要求8所述的去除数据包抖动的装置,其特征在于,所述去除数据包抖动的装置包含在无线网络控制器RNC中,所述接收的多个数据包为上行的多个数据包,所述上行的多个数据包被发送到核心网CN。

10.
  如权利要求8所述的去除数据包抖动的装置,其特征在于,所述去除数据包抖动的装置包含在终端中,所述接收的多个数据包为下行的多个数据包,所述下行的多个数据包被发送到终端的解码器。

说明书

去除数据包抖动的方法及装置
技术领域
本发明涉及通信技术,尤其涉及去除数据包抖动的技术。
背景技术
在通信网络中,各个网络实体之间、一个网络实体内部的功能单元之间经常需要传输数据包。例如,在宽带码分多址(WCDMA,Wideband CodeDivision Multiple Access)网络中,电路域(CS,Circuit Switched)语音业务采用自适应多速率(AMR,Adaptive MutiRate)编码,无线网络控制器(RNC,Radio Network Controller)每20ms向核心网发出一个语音数据包。在R99版本和R4版本中,全球陆地无线接入网(UTRAN,Universal Terrestrial RadioAccess Network)侧主要通过专用信道(DCH,Dedicated Channel)信道承载电路域语音业务,固定分配带宽,可以保证语音数据包以20ms等间隔地到达核心网(CN,Core Net)。在R5版本之后,引入了高速上行链路分组接入(HSUPA,High Speed Uplink Packet Access)信道,电路域语音业务可以承载于HSUPA信道。
发明人经过仔细分析后发现,通常情况下,一个网络实体接收到的数据包都是有序的,而且将这些数据包发给其他网络实体都是按照相同的传输时间间隔(TTI,Transmission Time Interval)发送的,但有时,由于不同的原因,一个网络实体接收到的多个数据包可能会出现乱序,这样,将多个数据包发给其他网络实体时,相邻两个数据包之间的传输时间间隔可能就不是预先设置的时间间隔,由此也就是说会出现数据包抖动的现象。例如,当采用HSUPA信道承载上行语音业务时,由于空口重传或调度算法的影响,会导致无线网络控制器收到的语音数据包出现乱序,这样,在将语音数据包重新排序之后,无线网络控制器发给核心网的连续语音数据包之间就可能出现抖动现象,即,无法保证连续语音数据包之间的传输时间间隔为20ms。
发明内容
本发明实施例要解决的技术问题在于提供一种去除数据包抖动的方法及装置,用以去除数据包的抖动。
为解决上述技术问题,本发明实施例提供一种去除数据包抖动的方法,包括:接收多个数据包;如果所述多个数据包出现乱序或抖动,则缓存所述多个数据包中的所有或部分数据包;以相同的传输时间间隔发送所述多个数据包。
本发明实施例还提供一种去除数据包抖动的装置,包括:数据包接收单元,用于获得多个数据包;缓存单元,如果多个数据包出现乱序或抖动,则用于缓存所述数据包接收单元接收的多个数据包中的所有或部分数据包;数据包发送单元,用于以相同的传输时间间隔发送所述缓存单元缓存的多个数据包中的所有数据包,或者在同一时刻发送所有未缓存的数据包,再以相同的传输时间间隔发送所述缓存单元缓存的数据包,其中,发送所有未缓存的数据包与第一次发送所述缓存单元缓存的数据包之间的时间间隔与所述传输时间间隔相同。
在本发明实施例中,如果接收的多个数据包出现乱序或抖动,则可以先缓存所有的或部分的数据包,再以相同的传输时间间隔将所述多个数据包发送出去,避免了到达数据接收方的多个数据包出现抖动。
附图说明
图1为本发明一实施例的方法流程图;
图2为本发明一实施例的装置结构示意图。
具体实施方式
首先对本发明的方法实施例进行说明。
如图1所示,为本发明一实施例的去数据包抖动的方法,可以包括:
S101:接收多个数据包。
其中,数据包可以是指任意一种形式的数据包,例如语音业务的数据包、数据业务的数据包或信令形式的数据包。
此外,可以使用序列号(SN,Sequence Number)来标识数据包的时间先后顺序关系,例如,假设第1个数据包的序列号是1,第2个数据包的序列号是2,以此类推,则第n个数据包的序列号是n。为了便于说明,后续对于数据包的时间先后顺序采用序列号进行表示,序列号越小代表数据包产生的时间越早。
S102:如果多个数据包出现乱序或抖动,则缓存多个数据包中的所有或部分数据包。
通常情况下,多个数据包都是依次到达一个网络实体的,但由于某种或某些原因,例如终端发给网络侧的某个数据包在空口被重传多次,多个数据包也可能不是依次到达一个网络实体的,例如在空口被重传多次的数据包就有可能在序列号比其大的数据包之后才能到达网络实体,即,多个数据包发生了乱序。
另外,正常情况下,多个数据包都是以相同的传输时间间隔到达一个网络实体的,但由于某种或某些原因,多个数据包可能不是以相同的传输时间间隔到达一个网络实体的,即,多个数据包发生了抖动,例如,假设多个数据包包括序列号分别为1、2、3的三个数据包,正常情况下,序列号为1的数据包和序列号为2的数据包之间需要间隔20ms到达网络实体,序列号为2的数据包和序列号为3的数据包之间也需要间隔20ms到达网络实体,但由于某种原因,序列号为1的数据包和序列号为2的数据包之间间隔20ms到达了网络实体,但序列号为2的数据包和序列号为3的数据包之间却间隔25ms到达了网络实体,这样,多个数据包就不是以相同的传输时间间隔到达网络实体的。
当接收到多个数据包时,可以判断这些数据包到达的顺序是否正确,如果是,则说明多个数据包没有出现乱序,否则,说明多个数据包出现了乱序。另外,也可以判断这些数据包到达的时间间隔是否一致,如果是,则说明多个数据包没有出现抖动,否则,说明多个数据包出现了抖动。
对于接收到乱序的或抖动的多个数据包,可以先将多个数据包缓存一下。具体的,如果缓存空间比较大,则可以将多个数据包都缓存起来,当然,如果缓存空间比较小,则只能缓存一部分数据包,此时可以缓存序列号大的一部分数据包,即,在缓存的这部分数据包中,每个数据包的序列号都比未缓存的任何一个数据包的序列号大。例如,假设缓存空间可以缓存5个数据包,如果接收到的多个数据包是3个数据包,则缓存空间可以将多个数据包全部缓存,但是,如果接收到的多个数据包是6个数据包,则缓存空间就不能缓存全部的数据包,而至多只能缓存5个数据包,而且还是6个数据包中应该后接收的5个数据包。
缓存空间的大小可以根据实际需要而定,也可以根据某个或某些指标而定。例如,缓存空间的大小可以根据预留给缓存的时延范围而定,而预留给缓存的时延范围可以根据数据包由发出数据包的用户设备到接收数据包的用户设备的实际时间及数据包由发出数据包的用户设备到接收数据包的用户设备的可接受时延确定,或者根据数据包由发出数据包的用户设备到接收数据包的用户设备的实际时间、数据包由发出数据包的用户设备到接收数据包的用户设备的可接受时延及空口重传时延确定,其中,数据包由发出数据包的用户设备到接收数据包的用户设备的实际时间可以由实际测量得到,数据包由发出数据包的用户设备到接收数据包的用户设备的可接受时延可以根据实际情况而定,一般都要比实际时间大,空口重传时延可以根据实际需要而设置,也可以根据统计的实际的空口重传次数而定。
以电路域语音业务承载于HSUPA信道为例。假设数据包由发出数据包的用户设备到达接收数据包的用户设备的可接受时延为280ms,数据包由发出数据包的用户设备到达接收数据包的用户设备的实际时间为160ms,那么空口重传和给缓存预留的总时延为120ms,由于缓存的主要作用就是去除空口重传引起的抖动,所以,给空口重传和缓存各预留相同的时延,即60ms,60ms时延的缓存空间可以缓存3个AMR语音数据包。当然,上述只是计算预留给缓存的时延范围的一种方式,在实际应用中,还可以有多种方式计算预留给缓存的时延范围。其中的一种方式为,假设HSUPA采用2ms传输时间间隔和非调度方式,给空口重传和缓存预留的总时延为120ms,按照上述方式,应该给空口重传和缓存各预留60ms,但经过统计发现,空口重传平均为3次,每一次重传需16ms,那么空口重传导致的实际最大时延为48ms,这样,预留给缓存的时延范围可以调整至72ms。
S103:以相同的传输时间间隔发送多个数据包。
在S102曾提到,如果缓存的空间足够大,则可以容纳连续的所有数据包,这样,可以以相同的传输时间间隔发送每一个数据包。但是,如果缓存的空间不足以容纳连续的所有数据包,而只能容纳一部分序列号比较大的数据包,则可以将没有缓存的数据包在同一时刻发送出去,之后,再以相同的传输时间间隔发送每一个缓存的数据包,其中,发送所有未缓存的数据包与第一次发送缓存的数据包之间的时间间隔和发送每一个缓存的数据包的传输时间间隔相同。
还是以电路域语音业务承载于HSUPA信道为例,假设多个数据包共有5个数据包,序列号分别为1、2、3、4、5。如果缓存的空间可以容纳这5个数据包,则可以每20ms按照序列号由低到高的顺序发送这5个数据包;如果缓存的空间只能容纳3个数据包,则缓存的是序列号为5、4、3的数据包,这样,在第一个时刻将序列号为1、2的数据包发送出去,间隔20ms时,再发送序列号为3的数据包,同样,分别以20ms的间隔依次发送序列号为4、5的数据包,当然,20ms只是一种时间设置,在实际应用中,只要以核心网能够接受的时延抖动范围间隔发送数据包都是可行的。
上述方法实施例的执行主体可以是RNC,去抖动功能可以在RNC的分组数据汇聚协议(PDCP,Packet Data Conver Protocol)层中实现,也可以在RNC的无线链路控制(RLC,Radio Link Control)层中实现,当然,去抖动功能也可以设置在RNC的其他侧,RNC发出的多个数据包到达的是核心网。上述方法实施例的执行主体也可以是终端中的某个功能单元,这个功能单元发出的多个数据包到达的是终端的解码器。此外,上述方法实施例的执行主体还可以是任意一个可能会接收到乱序或抖动的多个数据包的网元,这里不再一一列举。
上述方法实施例可以由多种形式的装置实现,如图2所示,为本发明一实施例的一种去抖动装置,可以包括:数据包接收单元201,用于接收多个数据包;缓存单元202,如果多个数据包出现乱序或抖动,则用于缓存数据包接收单元201接收的多个数据包中的所有或部分数据包;数据包发送单元203,用于以相同的传输时间间隔发送缓存单元202缓存的多个数据包中的所有数据包,或者在同一时刻发送所有未缓存的数据包,再以相同的传输时间间隔发送缓存单元202缓存的数据包,其中,发送所有未缓存的数据包与第一次发送缓存单元202缓存的数据包之间的时间间隔与发送每一个缓存单元202缓存的数据包的传输时间间隔相同。
对于数据包接收单元201接收到的乱序的或抖动的多个数据包,缓存单元202可以先将多个数据包缓存一下。具体的,如果缓存单元202的存储空间比较大,则可以将多个数据包都缓存起来,当然,如果缓存单元202的存储空间比较小,则只能缓存一部分数据包,此时可以缓存序列号大的一部分数据包。例如,假设缓存单元202可以缓存5个数据包,如果数据包接收单元201接收到的多个数据包是3个数据包,则缓存单元202可以将多个数据包全部缓存,但是,如果接收到的多个数据包是6个数据包,则缓存单元202就不能缓存全部的数据包,而至多只能缓存5个数据包,而且还是6个数据包中数据包接收单元201应该后接收的5个数据包。
缓存单元202的容量可以根据实际需要而定,也可以根据某个或某些指标而定。例如,缓存单元202的容量可以根据缓存单元202缓存数据包的时延而定,而缓存单元202缓存数据包的时延可以根据数据包由发出数据包的用户设备到接收数据包的用户设备的实际时间及数据包由发出数据包的用户设备到接收数据包的用户设备的可接受时延确定,或者根据数据包由发出数据包的用户设备到接收数据包的用户设备的实际时间、数据包由发出数据包的用户设备到接收数据包的用户设备的可接受时延及空口重传时延确定,其中,数据包由发出数据包的用户设备到接收数据包的用户设备的实际时间可以由实际测量得到,数据包由发出数据包的用户设备到接收数据包的用户设备的可接受时延可以根据实际情况而定,一般都要比实际时间大,空口重传时延可以根据实际需要而设置,也可以根据统计的实际的空口重传次数而定。
以上述装置设置在RNC中、电路域语音业务承载于HSUPA信道为例。假设数据包由发出数据包的用户设备到达接收数据包的用户设备的可接受时延为280ms,数据包由发出数据包的用户设备到达接收数据包的用户设备的实际时间为160ms,那么空口重传和缓存单元202缓存数据包的总时延为120ms,由于缓存单元202缓存数据包的主要作用就是去除空口重传引起的抖动,所以,给空口重传和缓存单元202缓存数据包各预留相同的时延,即60ms,60ms时延对应缓存单元202的容量是3个AMR语音数据包。当然,上述只是计算缓存单元202缓存数据包的时延的一种方式,在实际应用中,还可以有多种方式计算缓存单元202缓存数据包的时延。其中的一种方式为,假设HSUPA采用2ms传输时间间隔和非调度方式,给空口重传和缓存单元202缓存数据包预留的总时延为120ms,按照上述方式,应该给空口重传和缓存单元202缓存数据包各预留60ms,但经过统计发现,空口重传平均为3次,每一次重传需16ms,那么空口重传导致的实际最大时延为48ms,这样,缓存单元202缓存数据包的时延可以调整至72ms。
如果缓存单元202的空间足够大,则缓存单元202可以容纳连续的所有数据包,这样,数据包发送单元203可以以相同的传输时间间隔发送每一个数据包。但是,如果缓存单元202的空间不足以容纳连续的所有数据包,而只能容纳一部分序列号比较大的数据包,则数据包发送单元203可以将没有缓存的数据包在同一时刻发送出去,之后,再以相同的传输时间间隔发送每一个缓存的数据包,其中,发送所有未缓存的数据包与第一次发送缓存的数据包之间的时间间隔和发送每一个缓存的数据包的传输时间间隔相同。需要说明的是,如果缓存单元202缓存数据包接收单元接收的多个数据包中的一部分数据包,则数据包发送单元203可以在某一时刻,将数据包接收单元201接收的并且缓存单元202没有缓存的另一部分数据包一同发送出去。
还是以电路域语音业务承载于HSUPA信道为例,假设多个数据包共有5个数据包,序列号分别为1、2、3、4、5。如果缓存单元202可以容纳这5个数据包,则数据包发送单元203可以每20ms按照序列号由低到高的顺序发送这5个数据包;如果缓存单元202只能容纳3个数据包,则缓存单元202缓存的是序列号为5、4、3的数据包,这样,数据包发送单元203在第一个时刻将序列号为1、2的数据包发送出去,间隔20ms时,再发送序列号为3的数据包,同样,分别以20ms的间隔依次发送序列号为4、5的数据包,当然,20ms只是一种时间设置,在实际应用中,只要以核心网能够接受的时延抖动范围间隔发送数据包都是可行的。
上述装置可以包括在RNC中,此时,上述装置发出的多个数据包到达的是核心网。此外,上述装置也可以包括在终端中,那么上述装置发出的多个数据包到达的是终端的解码器。此外,上述装置还可以包括在任意一个可能会接收到乱序或抖动的多个数据包的网元,这里不再一一列举。
上述方法和装置可以应用于任何一种多个数据包可能发生乱序或抖动的业务,例如分组域(PS)的网络电话(VoIP,Voice over Internet Protocol)业务,当电路域(CS)语音业务承载在DCH信道时,可以应用于可视电话(VP)业务、视频流业务等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

去除数据包抖动的方法及装置.pdf_第1页
第1页 / 共11页
去除数据包抖动的方法及装置.pdf_第2页
第2页 / 共11页
去除数据包抖动的方法及装置.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《去除数据包抖动的方法及装置.pdf》由会员分享,可在线阅读,更多相关《去除数据包抖动的方法及装置.pdf(11页珍藏版)》请在专利查询网上搜索。

本发明实施例提供一种去除数据包抖动的方法,包括:接收多个数据包;如果所述多个数据包出现乱序或抖动,则缓存所述多个数据包中的所有或部分数据包;以相同的传输时间间隔发送所述多个数据包。本发明实施例还提供一种去除数据包抖动的装置。在本发明实施例中,如果接收的多个数据包出现乱序或抖动,则可以先缓存所有的或部分的数据包,再以相同的传输时间间隔将所述多个数据包发送出去,避免了到达数据接收方的多个数据包出现抖动。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1