发明内容
本发明实施例提供了一种传输语音IP报文的方法、装置及系统,用于进一步提升语音IP报文的传输效率,降低语音包抖动幅度,提升语音通信质量。
本发明一方面提供了一种传输语音IP报文的方法,包括:发送端获取同一用户设备的时间戳连续的至少两个第一语音IP报文,所述时间戳用于指示所述第一语音互联网协议IP报文的生成时间;所述发送端根据所述至少两个第一语音IP报文的时间戳,按照预设顺序将所述至少两个第一语音IP报文中的语音净荷填加到一个第二语音IP报文中;所述发送端发送所述第二语音IP报文给接收端;其中,所述第二语音IP报文包含所述至少两个第一语音IP报文中任意一个第一语音IP报文的IP头、用户数据报协议UDP头,以及第一语音净荷所属第一语音IP报文的语音头,所述语音头包含所述第一语音净荷所属第一语音IP报文的时间戳,所述第一语音净荷为第一个填加到所述第二语音IP报文中的语音净荷。
结合第一方面,在第一方面的第一种实现方式中,所述预设顺序为时间戳升序或降序。
结合第一方面或第一方面的第一种实现方式,在第一方面的第二种实现方式中,所述发送端获取同一用户设备的时间戳连续的至少两个第一语音IP报文包括:在预设时间内,获取所述同一用户设备的时间戳连续的所述至少两个第一语音IP报文;或,获取预设个数的所述同一用户设备的时间戳连续的所述至少两个第一语音IP报文。
结合第一方面的第二种实现方式,在第一方面的第三种实现方式中,所述预设时间为语音发送周期长度的k倍,k≥2,且k为整数。
结合第一方面或第一方面的上述任一种实现方式,在第一方面的第四种实现方式中,所述语音头还包含报文序号和资源信息,其中,所述资源信息用于指示所述同一用户设备占用的网络资源。
结合第一方面或第一方面的上述任一种实现方式,在第一方面的第五种实现方式中,所述发送端为基站,所述接收端为基站控制器;或者,所述发送端为基站控制器,所述接收端为基站。
本发明的第二方面提供了一种传输语音IP报文的方法,包括:接收端接收发送端发送的第二语音互联网协议IP报文,其中,所述第二语音IP报文包含一个IP头、一个用户数据报协议UDP头、至少两个语音净荷以及一个与所述至少两个语音净荷中的第一语音净荷对应的语音头,所述至少两个语音净荷属于同一用户设备;所述接收端根据所述语音头中的时间戳,确定所述第二语音IP报文中除所述第一语音净荷之外的其它语音净荷对应的时间戳;所述接收端分别根据所述至少两个语音净荷以及所述至少两个语音净荷对应的时间戳,生成第一语音IP报文,所述第一语音IP报文的个数与所述第二语音IP报文中语音净荷的个数相同。
结合第二方面,在第二方面的第一种实现方式中,当所述第二语音IP报文中的语音头包含报文序号时,在所述接收端分别根据所述至少两个语音净荷以及所述至少两个语音净荷对应的时间戳,生成第一语音IP报文之前还包括:所述接收端根据所述第二语音IP报文的语音头中的报文序号,确定所述第二语音IP报文中除所述第一语音净荷之外的其它语音净荷对应的报文序号;所述接收端分别根据所述至少两个语音净荷以及所述至少两个语音净荷对应的时间戳,生成第一语音IP报文包括:所述接收端分别根据所述至少两个语音净荷,以及所述至少两个语音净荷对应的时间戳和报文序号,生成所述第一语音IP报文。
本发明的第三方面提供了一种语音IP报文发送装置,包括:处理器,用于获取同一用户设备的至少两个时间戳连续的第一语音IP报文,所述时间戳用于指示所述第一语音IP报文的生成时间;并根据所述至少两个第一语音IP报文的时间戳,按照预设顺序将所述至少两个第一语音IP报文中的语音净荷填加到一个第二语音IP报文中;发送器,用于发送所述第二语音IP报文给接收装置;其中,所述第二语音IP报文包含所述至少两个第一语音IP报文中任意一个第一语音IP报文的IP头、用户数据报协议UDP头,以及第一语音净荷所属第一语音IP报文的语音头,所述语音头包含所述第一语音净荷所属第一语音IP报文的时间戳,所述第一语音净荷为第一个填加到所述第二语音IP报文中的语音净荷。
结合第三方面,在第三方面的第一种实现方式中,所述预设顺序为时间戳升序或降序。
结合第三方面或第三方面的第一种实现方式,在第三方面的第二种实现方式中,所述处理器具体用于:在预设时间内获取所述同一用户设备的时间戳连续的至少两个第一语音IP报文;或,获取预设个数的所述同一用户设备的时间戳连续的至少两个第一语音IP报文。
结合第三方面的第二种实现方式,在第三方面的第三种实现方式中,所述预设时间为语音发送周期长度的k倍,k≥2,且k为整数。
结合第三方面或第三方面的上述任一种实现方式,在第三方面的第四种实现方式中,所述语音头还包含报文序号和资源信息,其中,所述资源信息用于指示所述同一用户设备占用的网络资源。
本发明第四方面提供了一种语音IP报文接收装置,包括:接收器,用于接收发送装置发送的第二语音IP报文,其中,所述第二语音IP报文包含一个IP头、一个用户数据报协议UDP头、至少两个语音净荷以及一个与所述至少两个语音净荷中的第一语音净荷对应的语音头,所述至少两个语音净荷属于同一用户设备;处理器,用于根据所述接收器接收的所述第二语音IP报文的语音头中的时间戳,确定所述第二语音IP报文中除所述第一语音净荷之外的其它语音净荷对应的时间戳;分别根据所述至少两个语音净荷以及所述至少两个语音净荷对应的时间戳,生成第一语音IP报文,所述第一语音IP报文的个数与所述第二语音IP报文中的语音净荷个数相同。
结合第四方面,在第四方面的第一种实现方式中,当所述第二语音IP报文中的语音头包含报文序号时,所述处理器还用于:根据所述第二语音IP报文的语音头中的报文序号,确定所述第二语音IP报文中除所述第一语音净荷之外的其它语音净荷对应的报文序号;分别根据所述至少两个语音净荷,以及所述至少两个语音净荷对应的时间戳和报文序号,生成所述第一语音IP报文。
本发明的第五方面提供了一种传输语音IP报文的系统,包括上述任一种发送装置,以及上述任一种发送装置。
由上述技术方案可知,采用本发明实施例,通过对语音头的合并进一步提升了语音IP报文的传输效率;此外,通过对同一用户设备的IP报文进行合并,能够更好地控制同一用户设备语音包之间的间隔时间,进而降低了语音包的抖动幅度,提升语音质量。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本文中结合基站和/或基站控制设备来描述各种方面。
基站控制设备,可以是GSM或CDMA系统中的基站控制器(Base StationController,BSC),也可以是WCDMA中的无线网络控制器(RNC,Radio NetworkController),本发明实施例中并不限定。
基站,可以是指接入网中在空中接口上通过一个或多个扇区与终端通信的设备。基站可用于将收到的空中帧与IP分组进行相互转换,作为终端与接入网的其余部分之间的路由器,其中接入网的其余部分可包括IP网络。基站还可协调对空中接口的属性管理。例如,基站可以是全球移动通信系统(Global System for Mobile communications,GSM)或码分多址(Code Division Multiple Access,CDMA)系统中的基站(Base TransceiverStation,BTS),也可以是WCDMA中的基站(NodeB),还可以是长期演进(Long TermEvolution,LTE)或LTE高级(LTE Advanced,LTE-A)通信系统中的演进型基站(evolvedNode B,NodeB或eNB或e-NodeB),本发明实施例中并不限定。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本发明。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
另外,本文中术语“语音IP报文”指的是用于承载语音数据的IP报文。
如图3所示,本发明实施例提供的一种传输语音IP报文的方法,具体如下所述。该方法的执行主体是发送端,具体可以是基站或基站控制设备。
101、发送端获取同一用户设备(User Equipment,UE)的时间戳连续的至少两个第一语音IP报文,所述时间戳用于指示所述第一语音IP报文的生成时间。
其中,所述第一语音IP报文包含有一个IP头、一个UDP头、一个语音头和一个语音净荷。所述语音头包含所述第一语音IP报文的时间戳,还可以包含报文序号和资源信息。所述资源信息用于指示同一用户设备占用的网络资源,具体可以包括:空口资源、Abis口资源或码变换器/速率适配单元(transcoder and rate adapter unit,TRAU)资源。
其中,所述时间戳连续的至少两个第一语音IP报文指的是在按照生成时间升序或降序排列后的至少两个第一语音IP报文中,任意相邻的两个第一语音IP报文之间的生成时间间隔为语音发送周期长度。根据3GPP协议的规定,语音发送周期长度通常设置为20ms;此时,时间戳可以采用正整数表示,单位为20ms或ms,此处不予限制。
可选地,步骤101中具体可以采用如下方式执行:
方式一、在预设时间内获取同一用户设备的时间戳连续的至少两个第一语音IP报文。
例如,当在预设时间内每生成一个第一语音IP报文时,判断该新生成的第一语音IP与上一次保存的第一语音IP报文是否时间戳连续,若不连续,则将预设时间内生成并已保存的第一语音IP报文作为方式一中的时间戳连续的至少两个第一语音IP报文;若连续,则保存新生成的第一语音IP报文,当达到预设时间的时间长度时,将该预设时间内已保存的第一语音IP报文作为方式一中的时间戳连续的至少两个第一语音IP报文。
其中,上述预设时间可以设置为语音发送周期长度的整数倍,例如,假设语音发送周期长度为T,则预设时间可以为k×T,k≥2,且k为整数。该预设时间可以预先设置在发送端的内部,也可以通过外部输入设备进行配置,此处不予限制。
方式二、获取预设个数的同一用户设备的时间戳连续的至少两个第一语音IP报文。
例如,假设预设个数为3,则在发送端获取到同一用户设备的时间戳连续的3个第一语音IP报文时,则执行步骤102。
此处仅属于示例性的实现方式,还可以采用在确认预设时间内任意一个语音发送周期内没有需要发送的第一语音IP报文时,执行步骤102,不予限制。
102、发送端根据所述至少两个第一语音IP报文的时间戳,按照预设顺序将所述至少两个第一语音IP报文中的语音净荷填加到一个第二语音IP报文中。
其中,所述第二语音IP报文包含所述至少两个第一语音IP报文中任意一个第一语音IP报文的IP头、UDP头,以及第一语音净荷所属第一语音IP报文的语音头,所述语音头包含所述第一语音净荷所属第一语音IP报文的时间戳,所述第一语音净荷为第一个填加到所述第二语音IP报文中的语音净荷,具体可以参见图4中的报文格式。
其中,所述预设顺序具体可以为时间戳升序或降序,此处不予限制。
103、发送端发送所述第二语音IP报文给接收端。
需要说明的是,上述方法具体可以用于基站和基站控制器之间的语音通信。当发送端为基站时,接收端可以为基站控制器;反之,当发送端为基站控制器时,接收端可以为基站。
需要指出的是,本发明实施例中对于同一用户设备的识别可以采用现有技术来实现,例如,一个用户设备占用独立的资源,通过识别资源来识别是否为同一用户设备;显然,还可以通过判断第一语音IP报文的语音头携带的资源信息来确定是否为同一用户设备,例如,若资源信息相同,则为同一用户设备,此处不再赘述。
上述实施例提供的方法中,通过将同一用户设备的时间戳连续的语音IP报文进行合并,避免了现有技术中将不同用户设备的语音净荷携带在同一个语音IP报文传输而引起的单个用户设备的语音净荷传输时间间隔波动大的问题,从而降低了语音包抖动幅度,提升语音通信质量;此外,通过对语音IP报文中的语音头的合并,进一步提升了语音IP报文的传输效率。
如图5所示,本发明实施例提供的另一种传输语音IP报文的方法,具体如下所述。该方法的执行主体是发送端。
201、发送端判断是否达到预设时间,若未达到,则执行步骤202;若达到,则执行步骤205。
其中,上述预设时间的长度设置为语音发送周期长度T的整数倍,例如,k×T,k≥2,且k为整数。该预设时间可以预先设置在发送端的内部,也可以通过外部输入设备进行配置,此处不予限制。
202、判断当前语音发送周期内是否有生成第一语音IP报文,若有,则执行步骤203;若没有,则执行步骤205。
203、确定当前语音发送周期内生成的第一语音IP报文与上一个缓存的第一语音IP报文的时间戳是否连续,若连续,则缓存当前语音发送周期内生成的第一语音IP报文,并继续等待;若不连续,则执行步骤204。
其中,所述时间戳用于指示所述第一语音IP报文的生成时间。
204、根据已缓存的第一语音IP报文的时间戳,按照预设顺序将已经缓存的第一语音IP报文的语音净荷填加到一个第二语音IP报文中,并发送给接收端,缓存当前语音发送周期内生成的第一语音IP报文。
其中,所述预设顺序具体可以为时间戳升序或降序,此处不予限制。
需要说明的是,步骤201中同一用户设备的第一语音IP报文的确定可以通过图3所示实施例中提供的方法,此处不再赘述。
205、根据已缓存的第一语音IP报文的时间戳,按照预设顺序将已缓存的第一语音IP报文中的语音净荷填加到一个第二语音IP报文中,发送所述第二语音IP报文给接收端。
上述实施例提供的方法中,通过将预设时间内的同一用户设备的时间戳连续的语音IP报文进行合并,所述预设时间的长度设置为语音发送周期长度T的整数倍,不但提升了语音IP报文的传输效率,降低语音包抖动幅度,还避免了由于预设时间长度设置的不合理导致的语音包传输时延过大的问题。
如图6所示,本发明实施例提供的一种传输语音IP报文的方法,具体如下所述。该方法的执行主体是接收端,具体可以是基站或基站控制设备。
301、接收端接收发送端发送的第二语音IP报文,其中,所述第二语音IP报文包含一个IP头、一个UDP头、至少两个语音净荷以及一个与所述至少两个语音净荷中的第一语音净荷对应的语音头,所述至少两个语音净荷属于同一用户设备。
其中,所述语音头包含所述第一语音净荷对应的时间戳,还可以包含报文序号和资源信息。所述资源信息用于指示同一用户设备占用的网络资源,具体可以包括:空口资源、Abis口资源或TRAU资源。
具体地,第一语音净荷对应的时间戳指的是第一语音净荷所属第一语音IP报文的时间戳。
302、接收端根据所述语音头中的时间戳,确定所述第二语音IP报文中除所述第一语音净荷之外的其它语音净荷对应的时间戳。
具体地,可以按照上述步骤102中的预设顺序确定第二语音IP报文中除所述第一语音净荷之外的其它语音净荷对应的时间戳。例如,假设第二语音IP报文中的语音净荷是按照时间戳升序从左到右排列的,且所述语音头与所述第二语音IP报文中的第一个语音净荷对应,所述语音头中的时间戳为1(单位:20ms),所述第二语音IP报文中第二个语音净荷对应的时间戳为2(单位:20ms),第三个语音净荷对应的时间戳为3(单位:20ms),依次类推,可以获得该第二语音IP报文中所有语音净荷对应的时间戳。
303、接收端根据所述至少两个语音净荷以及所述至少两个语音净荷对应的时间戳,生成第一语音IP报文,所述第一语音IP报文的个数与所述第二语音IP报文中语音净荷的个数相同。
其中,所述第一语音IP报文包含一个语音头和一个语音净荷,且第一语音IP报文中语音头包含的时间戳与语音净荷相对应;第一语音IP报文还包含第二语音IP报文中的IP头和UDP头。
可选地,当第二语音IP报文中的语音头包含报文序号时,在步骤303之前还包括:接收端根据所述第二语音IP报文的语音头中的报文序号,确定所述第二语音IP报文中除所述第一语音净荷之外的其它语音净荷对应的报文序号;此时,步骤303具体可以包括:
接收端分别根据所述至少两个语音净荷,以及所述至少两个语音净荷对应的时间戳和报文序号,生成所述第一语音IP报文。
需要说明的是,上述方法具体可以用于基站和基站控制器之间的语音通信。当发送端为基站时,接收端为基站控制器;反之,当发送端为基站控制器时,接收端为基站。
上述实施例提供的方法中,接收端接收发送端发送的第二语音IP报文,其中,第二语音IP报文仅包含一个语音头,进一步提升了语音IP报文的传输效率;此外,由于第二语音IP报文中的语音净荷属于同一用户设备,因此降低了语音包的波动幅度,提升了语音质量。
如图7所示,提供了一种语音IP报文发送装置,包括:处理器701和发送器702。该发送装置用于执行图3或图5所示实施例提供的方法,该发送装置具体可以是基站或基站控制器,此处不予限制。
处理器701,用于获取同一用户设备的时间戳连续的至少两个第一语音IP报文,所述时间戳用于指示所述第一语音IP报文的生成时间;并根据所述至少两个第一语音IP报文的时间戳,按照预设顺序将所述至少两个第一语音IP报文中的语音净荷填加到一个第二语音IP报文中。
发送器702,用于发送所述第二语音IP报文给接收装置。
其中,所述预设顺序具体可以为时间戳升序或降序,此处不予限制;所述第二语音IP报文包含所述至少两个第一语音IP报文中任意一个第一语音IP报文的IP头、UDP头,以及第一语音净荷所属第一语音IP报文的语音头,所述语音头包含所述第一语音净荷所属第一语音IP报文的时间戳,所述第一语音净荷为第一个填加到所述第二语音IP报文中的语音净荷,具体可以参见图4中的报文格式。
需要说明的是,当发送装置为基站时,接收装置可以为基站控制器;反之,当发送装置为基站控制器时,接收装置可以为基站。
可选地,处理器701具体还可以用于:
在预设时间内获取同一用户设备的时间戳连续的至少两个第一语音IP报文;或,获取预设个数的同一用户设备的时间戳连续的至少两个第一语音IP报文。
其中,上述预设时间可以设置为语音发送周期长度的整数倍,例如,假设语音发送周期长度为T,则预设时间可以为k×T,k≥2,且k为整数。该预设时间可以预先设置在发送端的内部,也可以通过外部输入设备进行配置,此处不予限制。
需要说明的是,同一用户设备的识别方法可以参见图3所述实施例中的相关描述,不再赘述。
上述实施例提供的发送装置,通过将同一用户设备的时间戳连续的语音IP报文进行合并,避免了现有技术中将不同用户设备的语音净荷携带在同一个语音IP报文传输而引起的单个用户设备的语音净荷传输时间间隔波动大的问题,从而降低了语音包抖动幅度,提升语音通信质量;此外,通过对语音IP报文中的语音头的合并,进一步提升了语音IP报文的传输效率。
如图8所示,提供了一种传输语音IP报文接收装置,包括:接收器801和处理器802。该接收装置可以用于执行图6所示的方法,该接收装置具体可以是基站或基站控制器,此处不予限制。
接收器801,用于接收发送装置发送的第二语音IP报文,其中,所述第二语音IP报文包含一个IP头、一个用户数据报协议UDP头、至少两个语音净荷以及一个与所述至少两个语音净荷中第一语音净荷对应的语音头,所述至少两个语音净荷属于同一用户设备。
处理器802,用于根据接收器801接收的所述第二语音IP报文的语音头中的时间戳,确定所述第二语音IP报文中除所述第一语音净荷之外的其它语音净荷对应的时间戳。
所述处理器802,还用于分别根据所述至少两个语音净荷以及所述至少两个语音净荷对应的时间戳,生成第一语音IP报文,所述第一语音IP报文的个数与所述第二语音IP报文中的语音净荷个数相同。
其中,所述第一语音IP报文包含一个语音头和一个语音净荷,且第一语音IP报文中的语音头包含的时间戳与语音净荷相对应;第一语音IP报文还包含第二语音IP报文中的IP头和UDP头。
需要说明的是,当发送装置为基站时,接收装置可以为基站控制器;反之,当发送装置为基站控制器时,接收装置可以为基站。
可选地,当第二语音IP报文中的语音头包含报文序号时,所述处理器802具体用于:根据所述第二语音IP报文的语音头中的报文序号,确定所述第二语音IP报文中除所述第一语音净荷之外的其它语音净荷对应的报文序号;并分别根据所述至少两个语音净荷,以及所述至少两个语音净荷对应的时间戳和报文序号,生成所述第一语音IP报文。
本发明实施例还提供了一种传输语音IP报文的系统,包括:如图7所示的发送装置,以及如图8所示的接收装置。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。