CN111954248A - 一种音频数据报文处理方法、装置、设备及存储介质 - Google Patents
一种音频数据报文处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111954248A CN111954248A CN202010635521.XA CN202010635521A CN111954248A CN 111954248 A CN111954248 A CN 111954248A CN 202010635521 A CN202010635521 A CN 202010635521A CN 111954248 A CN111954248 A CN 111954248A
- Authority
- CN
- China
- Prior art keywords
- audio data
- data message
- timestamp
- data packet
- silent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/08—Testing, supervising or monitoring using real traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/087—Jitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本公开涉及一种音频数据报文处理方法、装置、设备及存储介质。本公开通过从缓存队列中获取首个音频数据报文,当该首个音频数据报文包括的第一时间戳大于第二时间戳和第一预设时间的和值时,说明当前缓存队列中的首个音频数据报文不满足发送条件,进一步,通过获取一个静默音数据报文,进一步,将该静默音数据报文发送到网络侧,从而使得基站发送到网络侧的音频类的报文的序号是连续的,时间戳是等间隔的,也就是说,基站根据静默音数据报文可以对终端设备上行发送的音频数据报文进行丢包补偿和/或抖动修复,从而在很大程度上弥补了无线环境恶劣的影响,提高了语音质量,改善了语音感知,提高了用户体验。
Description
技术领域
本公开涉及信息技术领域,尤其涉及一种音频数据报文处理方法、装置、设备及存储介质。
背景技术
随着通信技术的发展,终端设备已经成为人们日常生活中不可或缺的通信工具。例如,用户可以通过终端设备进行语音通话、视频聊天等。
但是,在现有的移动通信技术领域中,例如,在长期演进(Long Term Evolution,LTE)移动通信技术领域中,无线传输环境异常复杂,以及存在频点规划、边缘覆盖、重复覆盖等诸多问题,从而导致终端设备在无线传输环境中上行发送的业务报文容易发生丢包、抖动等问题。尤其是终端设备上行发送的音频数据报文,例如,长期演进语音承载(Voiceover Long-Term Evolution,Volte)语音数据报文,一旦发生丢包、抖动等问题,将会导致语音质量下降,从而降低了用户体验。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种音频数据报文处理方法、装置、设备及存储介质,以弥补较为恶劣的无线环境对语音数据传输造成的影响,提高语音质量,改善语音感知,提高用户体验。
第一方面,本公开实施例提供一种音频数据报文处理方法,包括:
从缓存队列中获取首个音频数据报文,所述首个音频数据报文包括第一时间戳;
若所述第一时间戳大于第二时间戳和第一预设时间的和值,则获取静默音数据报文,所述第二时间戳是最近一次发送的音频数据报文包括的时间戳;
将所述静默音数据报文的标识信息设置为第一标识,将所述静默音数据报文包括的第三时间戳设置为所述和值,所述第一标识是第二标识的下一个标识,所述第二标识是所述最近一次发送的音频数据报文的标识信息;
将所述静默音数据报文发送到网络侧。
第二方面,本公开实施例提供一种音频数据报文处理装置,包括:
获取模块,用于从缓存队列中获取首个音频数据报文,所述首个音频数据报文包括第一时间戳;
补偿或修正模块,用于当所述第一时间戳大于第二时间戳和第一预设时间的和值时,获取静默音数据报文,所述第二时间戳是最近一次发送的音频数据报文包括的时间戳;
赋值模块,用于将所述静默音数据报文的标识信息设置为第一标识,将所述静默音数据报文包括的第三时间戳设置为所述和值,所述第一标识是第二标识的下一个标识,所述第二标识是所述最近一次发送的音频数据报文的标识信息;
发送模块,用于将所述静默音数据报文发送到网络侧。
第三方面,本公开实施例提供一种音频数据报文处理设备,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面所述的方法。
第四方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。
本公开实施例提供的音频数据报文处理方法、装置、设备及存储介质,通过从缓存队列中获取首个音频数据报文,当该首个音频数据报文包括的第一时间戳大于第二时间戳和第一预设时间的和值时,说明当前缓存队列中的首个音频数据报文不满足发送条件,例如,可能是该首个音频数据报文之前丢失了部分音频数据报文,或者是该缓存队列中的音频数据报文发生了抖动,进一步,通过获取一个静默音数据报文,并将静默音数据报文的序号设置为最近一次发送的音频数据报文的序号的下一个序号,将静默音数据报文的时间戳设置为第二时间戳和第一预设时间的和值,进一步,将该静默音数据报文发送到网络侧,从而使得基站发送到网络侧的音频类的报文的序号是连续的,时间戳是等间隔的,也就是说,基站根据静默音数据报文可以对终端设备上行发送的音频数据报文进行丢包补偿和/或抖动修复,从而在很大程度上弥补了无线环境恶劣的影响,提高了语音质量,改善了语音感知,提高了用户体验。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种应用场景的示意图;
图2为本公开实施例提供的一种判断该IP报文是否为音频数据报文的流程图;
图3为本公开实施例提供的一种缓存队列的示意图;
图4为本公开实施例提供的另一种缓存队列的示意图;
图5为本公开实施例提供的另一种缓存队列的示意图;
图6为本公开实施例提供的另一种缓存队列的示意图;
图7为本公开实施例提供的又一种缓存队列的示意图;
图8为本公开实施例提供的判断音频数据报文的语音类型的流程图;
图9为本公开实施例提供的语音补偿修正的前述流程;
图10为本公开实施例提供的音频数据报文处理方法流程图;
图11为本公开实施例提供的又一种缓存队列的示意图;
图12为本公开实施例提供的音频数据报文处理方法流程图;
图13为本公开实施例提供的音频数据报文处理装置的结构示意图;
图14为本公开实施例提供的音频数据报文处理设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
通常情况下,在长期演进(Long Term Evolution,LTE)移动通信技术领域中,无线传输环境异常复杂,以及存在频点规划、边缘覆盖、重复覆盖等诸多问题,从而导致终端设备在无线传输环境中上行发送的业务报文容易发生丢包、抖动等问题。尤其是终端设备上行发送的音频数据报文,例如,长期演进语音承载(Voice over Long-Term Evolution,Volte)语音数据报文,一旦发生丢包、抖动等问题,将会导致语音质量下降,从而降低了用户体验。针对该问题,本公开实施例提供了一种音频数据报文处理方法,下面结合具体的实施例对该方法进行介绍。
本公开实施例所述的音频数据报文处理方法可以由音频数据报文处理装置来执行,该音频数据报文处理装置可部署在网络设备中,例如,部署在基站上。本公开实施例并不限定该基站所属的通信系统的制式,例如,该基站可以是LTE制式的基站,也可以是全球移动通信系统(Global System for Mobile Communications,GSM)制式、码分多址(CodeDivision Multiple Access,CDMA)制式、宽带码分多址(Wideband Code DivisionMultiple Access,W-CDMA)制式、时分同步码分多址(Time Division-Synchronous CodeDivision Multiple Access,TD-SCDMA)制式、或第五代移动通信技术(5th generationmobile networks,5G)制式的基站。此外,该网络设备也可以不限于基站,例如还可以是其他的网元。
具体的,该音频数据报文处理装置具体可以是如图1所示的语音补偿与抗抖动单元。该语音补偿与抗抖动单元位于LTE基站的GPRS隧道协议(GPRS Tunneling Protocol,GTP)层,其中,GPRS的中文翻译是通用无线分组业务,GPRS的英文全称是General PacketRadio Service。如图1所示,该LTE基站还包括:物理(Physical,PHY)层、媒体访问控制(Media Access Control,MAC)层、无线链路层控制协议(Radio Link Control,RLC)层、分组数据汇聚协议(Packet Data Convergence Protocol,PDCP)层。另外,LTE基站还可以与终端设备进行通信,终端设备具体可以是移动终端,例如,手机、平台电脑等。此外,LTE基站还可以与LTE接入网网元通信,LTE接入网网元可以与LTE核心网网元通信。
如图1所示,终端设备可以通过无线传输协议向LTE基站发送上行报文,该上行报文具体可以是上行的数据报文,例如,网际互连协议(Internet Protocol,IP)报文。LTE基站接收到该IP报文后,该IP报文可以依次经过PHY层、MAC层、RLC层、PDCP层到达GTP层。也就是说,GTP层中的语音补偿与抗抖动单元可以接收来自PDCP层输入的信息。
可以理解的是,PDCP层也可以称为PDCP模块,也就是说,如上所述的“层”也可以称为“模块”,即“层”或“模块”可以是LTE基站内部的一种逻辑划分。
具体的,GTP层中的语音补偿与抗抖动单元接收该IP报文、判断该IP报文是否为音频数据报文、以及根据判断结果进一步处理的过程如图2所示的如下几个步骤:
S201、接收终端设备上行IP报文(来自PDCP模块输入)。
S202、判断该IP报文是否为音频数据报文,若是,则执行S203,否则,执行S204。
例如,判断该IP报文是否为音频数据报文,该音频数据报文具体可以是Volte语音数据报文。Volte语音数据报文可以有多种类型,本公开实施例以Volte语音实时传输协议(Real-time Transport Protocol,RTP)报文为例进行示意性说明。
S203、将该音频数据报文放入缓存队列。
例如,当语音补偿与抗抖动单元确定该IP报文是Volte语音RTP报文时,该语音补偿与抗抖动单元可以将该IP报文存入缓存队列中,该缓存队列也可以称为语音队列,即该缓存队列中存放的是音频数据报文或语音数据报文。
S204、将该IP报文通过GTP隧道发往网络侧。
例如,当语音补偿与抗抖动单元确定该IP报文不是Volte语音RTP报文时,该语音补偿与抗抖动单元可以将该IP报文通过GTP隧道发往网络侧,该网络侧具体可以是如图1所示的LTE接入网网元。
S205、处理完毕。
在本实施例中,终端设备上行发送的音频数据报文的格式,或者缓存队列中缓存的音频数据报文或语音数据报文的格式具体可以如图3所示,例如,30可以表示任意一个音频数据报文。如图3所示,每个音频数据报文可包括一个序号和时间戳。在本实施例中,并不限定时间戳的时间单位,例如,可以是毫秒ms。
当终端设备上行发送的音频数据报文没有发生丢包,且没有发生抖动时,缓存队列中缓存的音频数据报文的序号是连续的,并且缓存队列中相邻两个音频数据报文的时间戳的差值是固定的。例如图3所示的缓存队列31中的5个音频数据报文的序号分别是0、1、2、3、4,即5个音频数据报文的序号是连续的。另外,缓存队列中相邻两个音频数据报文具体可以是序号相邻或位置相邻的两个音频数据报文,例如,在缓存队列31中,序号相邻的两个音频数据报文的时间戳的差值固定是160。
当终端设备上行发送的音频数据报文发生丢包时,缓存队列中缓存的音频数据报文的序号是不连续的,例如图4所示的缓存队列41,其中,序号为1的音频数据报文发生了丢包。
当终端设备上行发送的音频数据报文发生抖动时,缓存队列中缓存的音频数据报文的序号是连续的,但相邻两个音频数据报文的时间戳的差值不是固定值。例如图5所示的缓存队列51,序号为0的音频数据报文的时间戳为0,序号为1的音频数据报文的时间戳为180,序号为2的音频数据报文的时间戳为320。
当终端设备上行发送的音频数据报文没有发生丢包,也没有发生抖动,但是终端设备上行发送的音频数据报文中包括静默音数据报文时,缓存队列中缓存的音频数据报文的序号是连续的,但该静默音数据报文与其相邻的音频数据报文的时间戳的差值可能不是固定值。例如图6所示的缓存队列61中,序号为3的音频数据报文是静默音数据报文,该静默音数据报文中的时间戳与序号为2的音频数据报文中的时间戳远大于160。在本公开实施例中,静默音数据报文具体可以是承载有静默音的音频数据的报文,其中,所谓的静默音是指静音,即没有声音。也就是说,静默音数据报文承载的音频数据是指静音即没有声音的音频数据。相比于静默音数据报文,音频数据报文承载的音频数据可以是指有声音的音频数据。
可以理解的是,本实施例并不限定如上所述的缓存队列的大小、以及缓存队列中包括的音频数据报文的个数。另外,该缓存队列中的音频数据报文可以是随时间变化的。在一些情况下,该缓存队列还可能为空。
此外,如上所述的相邻的音频数据报文的时间戳的差值为160只是一种示意性的举例,在其他实施例中,该差值还可以是其他的值,例如,320。如图7所示,相邻的音频数据报文的时间戳的差值为320,序号为3的音频数据报文是静默音数据报文。
通常情况下,根据缓存队列中相邻的音频数据报文的时间戳的差值可以确定出该缓存队列中所缓存的音频数据报文的语音类型。具体的,音频数据报文的语音类型的确定过程包括如图8所示的如下几个步骤:
S801、遍历缓存队列。
S802、计算缓存队列中相邻序号的两个音频数据报文的时间戳的差值。
S803、判断该差值是否等于160或160的整数倍,是则执行S805,否则执行S804。
S804、判断该差值是否等于320或320的整数倍,是则执行S806,否则执行S801。
S805、确定音频数据报文的语音类型是自适应多速率(Adaptive Multi-Rate,AMR),转S807。
S806、确定音频数据报文的语音类型是自适应多速率宽带(Adaptive Multi-RateWideband,AMR-WB),转S807。
S807、判断完毕。
例如,对于缓存队列31、缓存队列41、缓存队列51和缓存队列61,序号为0的音频数据报文是缓存队列中的首个音频数据报文。如果基站最近没有向网络侧发送过音频数据报文,则该基站可以执行如图9所示的如下几个步骤:
S901、定义“已发语音标识信息”,该“已发语音标识信息”包括LastSequenceNumber和LastTimestamp两个变量。
其中,LastSequenceNumber表示基站最近一次发送的音频数据报文的序号,LastTimestamp表示基站最近一次发送的音频数据报文包括的时间戳。
S902、取出缓存队列中的首个音频数据报文。
S903、将取出的首个音频数据报文的序号赋值给LastSequenceNumber,将该首个音频数据报文包括的时间戳赋值给LastTimestamp。
例如,LastSequenceNumber=0,LastTimestamp=0。
S904、将该首个音频数据报文通过GTP隧道发送到网络侧。
例如,对于缓存队列31、缓存队列51和缓存队列61而言,将序号为0的音频数据报文发送到网络侧之后,缓存队列的首个音频数据报文变成了序号为1的音频数据报文,例如,缓存队列31变为缓存队列32,缓存队列51变为缓存队列52,缓存队列61变为缓存队列62。对于缓存队列41而言,将序号为0的音频数据报文发送到网络侧之后,缓存队列的首个音频数据报文变成了序号为2的音频数据报文,例如,缓存队列41变为缓存队列42。
下面结合序号为0的音频数据报文被发送到网络侧之后的缓存队列,对本公开实施例提供的音频数据报文处理方法进行介绍。该音频数据报文处理方法可以以AMR类型的音频数据报文为例进行示意性说明,对于AMR-WB类型的音频数据报文的处理方法与此类似,不再重复赘述。
图10为本公开实施例提供的音频数据报文处理方法流程图。该方法具体步骤如下:
S1001、从缓存队列中获取首个音频数据报文,所述首个音频数据报文包括第一时间戳。
可选的,从缓存队列中获取首个音频数据报文之前,所述方法还包括:从终端设备接收数据报文;若确定所述数据报文为音频数据报文,则将所述音频数据报文放入所述缓存队列。具体过程如图2所示,此处不再赘述。
例如,从如图4所示的缓存队列42中获取首个音频数据报文,该首个音频数据报文的序号为2,该首个音频数据报文包括的时间戳记为第一时间戳,该第一时间戳具体为320。
S1002、若所述第一时间戳大于第二时间戳和第一预设时间的和值,则获取静默音数据报文,所述第二时间戳是最近一次发送的音频数据报文包括的时间戳。
本实施例将基站最近一次发送的音频数据报文包括的时间戳记为第二时间戳,即该第二时间戳为如上所述的LastTimestamp。当基站最近一次发送的音频数据报文为缓存队列41中的序号为0的音频数据报文时,该第二时间戳为0,即LastTimestamp=0。
本实施例以缓存队列缓存的是AMR类型的音频数据报文为例进行示意性说明,即序号相邻的AMR类型的音频数据报文的时间戳的差值为160,该160可记为第一预设时间。可以理解的是,第一预设时间不限于160。当缓存队列缓存的是AMR-WB类型的音频数据报文时,第一预设时间为320。
进一步,比较步骤S1001中的第一时间戳(例如,320)和(LastTimestamp+160)的大小。由于当前的LastTimestamp=0,因此,第一时间戳320大于LastTimestamp+160,说明缓存队列42中的首个音频数据报文还不满足发送条件,进一步,获取一个静默音数据报文,该静默音数据报文可以是预先设置的。
S1003、将所述静默音数据报文的标识信息设置为第一标识,将所述静默音数据报文包括的第三时间戳设置为所述和值,所述第一标识是第二标识的下一个标识,所述第二标识是所述最近一次发送的音频数据报文的标识信息。
具体的,在本公开实施例中,音频数据报文的标识信息、语音数据报文的标识信息或静默音数据报文的标识信息具体可以是如上所述的序号。此处,可以将基站最近一次发送的音频数据报文的标识信息记为第二标识,该第二标识为如上所述的LastSequenceNumber。例如,基站最近一次发送的音频数据报文是缓存队列41中的首个音频数据报文,则第二标识即LastSequenceNumber=0。
若在执行S1002时获取到了静默音数据报文,则在S1003中可以将该静默音数据报文的序号设置为第一标识,该第一标识可以是第二标识的下一个标识。具体的,该第一标识和第二标识是连续的标识,例如,LastSequenceNumber=0,则该第一标识可以是LastSequenceNumber+1,即第一标识为1。另外,还可以将该静默音数据报文的时间戳记为第三时间戳,并将该第三时间戳设置为LastTimestamp+160,由于基站最近一次发送的音频数据报文是缓存队列41中的首个音频数据报文,LastTimestamp=0,则第三时间戳为160。
S1004、将所述静默音数据报文发送到网络侧。
例如,基站将序号为1、时间戳为160的静默音数据报文发送到网络侧。也就是说,由于缓存队列42中的首个音频数据报文不满足发送条件,原因是缓存队列41中丢失了序号为1的音频数据报文。因此,当序号为0的音频数据报文被发送到网络侧之后,并不是将序号为2的音频数据报文发送到网络侧,而是获取一个静默音数据报文,将该静默音数据报文的序号设置为1,将该静默音数据报文的时间戳设置为160。进一步,将该静默音数据报文发送到网络侧。相当于在序号为2的音频数据报文之前增加了一个序号为1的音频数据报文,只不过增加的这个音频数据报文是静默音数据报文。
可选的,将所述静默音数据报文发送到网络侧之后,所述方法还包括:将所述静默音数据报文作为最近一次发送的音频数据报文。
例如,序号为1、时间戳为160的静默音数据报文被发送到网络侧之后,该基站最近一次发送的音频数据报文变成了该静默音数据报文。此时,可以根据该静默音数据报文的序号和时间戳来更新如上所述的LastSequenceNumber和LastTimestamp这两个变量。更新之后,LastSequenceNumber=1,LastTimestamp=160。
可以理解的是,当该静默音数据报文被发送之后,序号为2的音频数据报文将满足发送条件,进一步,可以正常发送序号为2的音频数据报文到网络侧。
另外,如果在S1001中,基站从缓存队列52中获取首个音频数据报文,该首个音频数据报文的序号为1,该首个音频数据报文包括的时间戳为180。在S1002中,比较第一时间戳180和(LastTimestamp+160)的大小之后,确定第一时间戳大于(LastTimestamp+160),则说明缓存队列52中的首个音频数据报文也不满足发送条件,原因是序号为1的音频数据报文发生了抖动。进一步,获取一个静默音数据报文,相当于在序号为1的音频数据报文之前增加了一个静默音数据报文。在S1003中,将该静默音数据报文的序号设置为1,将该静默音数据报文的时间戳设置为160。在S1004中,基站将序号为1、时间戳为160的静默音数据报文发送到网络侧,则该静默音数据报文将变为基站最近一次发送的音频数据报文。进一步,根据该静默音数据报文的序号和时间戳来更新如上所述的LastSequenceNumber和LastTimestamp这两个变量。更新之后,LastSequenceNumber=1,LastTimestamp=160。
可选的,若所述第一时间戳小于第二时间戳和第一预设时间的和值,则丢弃所述首个音频数据报文。
例如,基站将序号为1、时间戳为160的静默音数据报文发送到网络侧之后,缓存队列52中的首个音频数据报文没有变化,即缓存队列52中的首个音频数据报文还是序号为1、时间戳为180的音频数据报文。此时,第一时间戳180小于(LastTimestamp+160),则可以将序号为1、时间戳为180的音频数据报文从该缓存队列52中删除。也就是说,当缓存队列中的音频数据报文发生抖动时,可以采用静默音数据报文替换该发生抖动的音频数据报文,从而对抖动的音频数据报文进行修复。
本实施例通过从缓存队列中获取首个音频数据报文,当该首个音频数据报文包括的第一时间戳大于第二时间戳和第一预设时间的和值时,说明当前缓存队列中的首个音频数据报文不满足发送条件,例如,可能是该首个音频数据报文之前丢失了部分音频数据报文,或者是该缓存队列中的音频数据报文发生了抖动,进一步,通过获取一个静默音数据报文,并将静默音数据报文的序号设置为最近一次发送的音频数据报文的序号的下一个序号,将静默音数据报文的时间戳设置为第二时间戳和第一预设时间的和值,进一步,将该静默音数据报文发送到网络侧,从而使得基站发送到网络侧的音频类的报文的序号是连续的,时间戳是等间隔的,也就是说,基站根据静默音数据报文可以对终端设备上行发送的音频数据报文进行丢包补偿和/或抖动修复,从而在很大程度上弥补了无线环境恶劣的影响,提高了语音质量,改善了语音感知,提高了用户体验。
在上述实施例的基础上,若所述第一时间戳大于第二时间戳和第一预设时间的和值,则获取静默音数据报文,包括:若所述第一时间戳大于第二时间戳和第一预设时间的和值,且所述第一时间戳与所述第二时间戳的差值是所述第一预设时间的N倍,N是大于或等于2的整数,则获取静默音数据报文。
例如,缓存队列61中的序号为0的音频数据报文、序号为1的音频数据报文、序号为2的音频数据报文依次被正常发送到网络侧,则序号为2的音频数据报文为基站最近一次发送的音频数据报文,LastSequenceNumber=2,LastTimestamp=320。此时,缓存队列61变为缓存队列63,缓存队列63的首个音频数据报文的第一时间戳1600远大于(LastTimestamp+160),并且第一时间戳1600与第二时间戳320的差值1280是第一预设时间160的8倍。在这种情况下,在发送序号为3的音频数据报文之前,可能需要依次获取多个静默音数据报文,并依次发送多个静默音数据报文。
可选的,所述方法还包括:若所述第一时间戳等于第二时间戳和第一预设时间的和值,则将所述首个音频数据报文的标识信息设置为所述第一标识;将所述首个音频数据报文发送到网络侧。
例如,在发送缓存队列63的首个音频数据报文之前,需要依次获取7个静默音数据报文,该7个静默音数据报文的序号依次为3、4、5、6、7、8、9,该7个静默音数据报文的时间戳依次为480、640、800、960、1120、1280、1440。当基站将该7个静默音数据报文依次发送到网络侧后,LastSequenceNumber=9,LastTimestamp=1440。在发送缓存队列63的首个音频数据报文时,可以将该首个音频数据报文的序号设置为10,进一步,将该首个音频数据报文发送到网络侧。
可选的,将所述首个音频数据报文发送到网络侧之后,所述方法还包括:将所述首个音频数据报文作为最近一次发送的音频数据报文。
例如,基站将缓存队列63的首个音频数据报文发送到网络侧之后,将该首个音频数据报文作为最近一次发送的音频数据报文,例如,将LastSequenceNumber更新为10,将LastTimestamp更新为1600。
可以理解的是,若终端设备上行发送的音频数据报文丢失的个数较多时,进入缓存队列中的相邻的两个音频数据报文的时间戳的差值可能会较大,例如图11所示的缓存队列中的序号为2的音频数据报文和序号为10的音频数据报文。在这种情况下,基站在发送序号为10的音频数据报文之前,可以依次获取多个静默音数据报文,并依次发送多个静默音数据报文。
本实施例通过从缓存队列中获取首个音频数据报文,当该首个音频数据报文包括的第一时间戳大于第二时间戳和第一预设时间的和值,且第一时间戳与第二时间戳的差值是第一预设时间的N倍,N是大于或等于2的整数时,说明当前缓存队列中的首个音频数据报文不满足发送条件,例如,可能是该首个音频数据报文之前丢失了多个音频数据报文,进一步,通过依次获取多个静默音数据报文,并依次将多个静默音数据报文发送到网络侧,从而使得基站发送到网络侧的音频类的报文的序号是连续的,时间戳是等间隔的,从而对上行Volte语音数据在无线传输环境中受到的损伤,例如,抖动、丢包等,予以丢包补偿和/或抖动修复。在一定程度上提高了音频数据的抗丢包和/或抗抖动的能力,从而提升了用户通话质量。尤其缓解了无线环境复杂的场景中,语音传输质量差、用户通话质量随之也差的问题。
可选的,所述方法还包括:若所述缓存队列为空,则获取静默音数据报文;将所述静默音数据报文的标识信息设置为所述第一标识,将所述静默音数据报文包括的第三时间戳设置为所述和值;将所述静默音数据报文发送到网络侧。
例如,当该缓存队列为空时,说明该缓存队列中没有音频数据报文可供发送,此时,可以获取静默音数据报文。例如,以缓存队列42为例,若该缓存队列42中已有的音频数据报文被依次发送到网络侧之后,基站未接收到终端设备发送的数据报文,则缓存队列42变为空。此时,基站最近一次发送的音频数据报文为序号为5的音频数据报文,LastSequenceNumber=5,LastTimestamp=800。进一步,基站获取静默音数据报文,将该静默音数据报文的序号设置为6,将静默音数据报文的时间戳设置为960,并将该静默音数据报文发送到网络侧。
可选的,将所述静默音数据报文发送到网络侧之后,所述方法还包括:将所述静默音数据报文作为最近一次发送的音频数据报文。
例如,将序号为6、时间戳为960的静默音数据报文发送到网络侧之后,该静默音数据报文即为基站最近一次发送的音频数据报文,此时,LastSequenceNumber=6,LastTimestamp=960。
可选的,从缓存队列中获取首个音频数据报文,包括:每隔第二预设时间,从缓存队列中获取首个音频数据报文。
例如,基站可以每隔一段时间,从缓存队列中获取首个音频数据报文,该段时间可记为第二预设时间,具体的,该第二预设时间可以是20ms。也就是说,基站可以每隔20ms从缓存队列中获取一次缓存队列中的首个音频数据报文。从而使得基站可以每隔20ms向网络侧发送一个音频数据报文或补充的静默音数据报文。也就是说,基站可以严格按照20ms的间隔转发音频数据报文或静默音数据报文,从而对音频数据报文或静默音数据报文具备了无抖动的周期运转节奏控制能力,从RTP协议的层面实现了0丢包和0抖动,改善了用户的语音感知。
下面结合一个具体的实施例对该音频数据报文处理方法进行介绍,如图12所示,该方法包括如下几个步骤:
S1201、每隔20ms执行一次,转S1202。
S1202、判断缓存队列是否为空,若是则执行S1204,否则执行S1203。
S1203、判断缓存队列首个RTP报文的Timestamp是否等于LastTimestamp+160,若是则执行S1206,否则执行S1205。
S1204、获取静默音的RTP报文,转S1208。
S1205、判断缓存队列首个RTP报文的Timestamp是否小于LastTimestamp+160,若是则执行S1207,否则执行S1204。
S1206、取出缓存队列首个RTP报文,转S1208。
S1207、取出缓存队列首个RTP报文并丢弃,转S1202。
S1208、将所取报文的序号赋值为LastSequenceNumber+1,转S1209。
S1209、将所取报文的时间戳赋值为LastTimestamp+160,转S1210。
S1210、将所取报文通过GTP隧道发送到网络侧,转S1211。
S1211、将变量LastSequenceNumber更新为LastSequenceNumber+1,将变量LastTimestamp更新为LastTimestamp+160,转S1201。
本实施例通过对终端设备上行发送的语音数据流进行分流、检测、补偿、修正等处理,从而将上行语音数据流中的丢包、抖动等负面因素,予以补偿、修正;从而减少了客户语音体验类的投诉,优化了语音类的指标考核数据,提升了运营商效益。另外,通过基站在丢失报文的时间点予以静默修复,针对报文严格按照20ms的间隔进行转发,从而实现了无抖动,更加充分地利用基站处理的优势、弥补了无线环境对语音传输的损伤。此外,由于本公开实施例提供的音频数据报文处理方法可以由基站来执行,也就是说,当终端设备向基站发送音频数据报文时,基站并不是将音频数据报文直接透传到网络侧,而是可以感知音频数据报文的丢包或抖动,并且在基站感知到音频数据报文发生丢包或抖动时,根据静默音数据报文进行丢包补偿和/或抖动修复,从而提高了基站向网络侧转发的语音质量。
图13为本公开实施例提供的音频数据报文处理装置的结构示意图。该音频数据报文处理装置可以是如上所述的基站或基站中的部件。本公开实施例提供的音频数据报文处理装置可以执行音频数据报文处理方法实施例提供的处理流程,如图13所示,音频数据报文处理130包括:获取模块131、补偿或修正模块132、赋值模块133、发送模块134;其中,获取模块131用于从缓存队列中获取首个音频数据报文,所述首个音频数据报文包括第一时间戳;补偿或修正模块132用于当所述第一时间戳大于第二时间戳和第一预设时间的和值时,获取静默音数据报文,所述第二时间戳是最近一次发送的音频数据报文包括的时间戳;赋值模块133用于将所述静默音数据报文的标识信息设置为第一标识,将所述静默音数据报文包括的第三时间戳设置为所述和值,所述第一标识是第二标识的下一个标识,所述第二标识是所述最近一次发送的音频数据报文的标识信息;发送模块134用于将所述静默音数据报文发送到网络侧。
可选的,所述补偿或修正模块132具体用于:当所述第一时间戳大于第二时间戳和第一预设时间的和值,且所述第一时间戳与所述第二时间戳的差值是所述第一预设时间的N倍,N是大于或等于2的整数时,获取静默音数据报文。
可选的,所述赋值模块133还用于:当所述第一时间戳等于第二时间戳和第一预设时间的和值时,将所述首个音频数据报文的标识信息设置为所述第一标识;所述发送模块还用于:将所述首个音频数据报文发送到网络侧。
可选的,所述发送模块134将所述首个音频数据报文发送到网络侧之后,所述首个音频数据报文为最近一次发送的音频数据报文。
可选的,所述补偿或修正模块132还用于:当所述缓存队列为空时,获取静默音数据报文;所述赋值模块还用于:将所述静默音数据报文的标识信息设置为所述第一标识,将所述静默音数据报文包括的第三时间戳设置为所述和值;所述发送模块还用于:将所述静默音数据报文发送到网络侧。
可选的,所述发送模块134将所述静默音数据报文发送到网络侧之后,所述静默音数据报文为最近一次发送的音频数据报文。
可选的,音频数据报文处理装置130还包括:处理模块135,具体用于当所述第一时间戳小于第二时间戳和第一预设时间的和值时,丢弃所述首个音频数据报文。
可选的,音频数据报文处理装置130还包括:接收模块136、检测模块137、分流模块138;所述接收模块具体用于所述获取模块从缓存队列中获取首个音频数据报文之前,从终端设备接收数据报文;所述检测模块具体用于确定所述数据报文是否为音频数据报文;所述分流模块具体用于:所述检测模块确定所述数据报文为音频数据报文时,将所述音频数据报文放入所述缓存队列。
可选的,获取模块131具体用于:每隔第二预设时间,从缓存队列中获取首个音频数据报文。
图13所示实施例的音频数据报文处理装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图14为本公开实施例提供的音频数据报文处理设备的结构示意图。该音频数据报文处理设备可以是如上所述的基站或基站中的部件。本公开实施例提供的音频数据报文处理设备可以执行音频数据报文处理方法实施例提供的处理流程,如图14所示,音频数据报文处理设备140包括:存储器141、处理器142、计算机程序和通讯接口143;其中,计算机程序存储在存储器141中,并被配置为由处理器142执行如上所述的音频数据报文处理方法。
另外,本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的音频数据报文处理方法。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种音频数据报文处理方法,其特征在于,所述方法包括:
从缓存队列中获取首个音频数据报文,所述首个音频数据报文包括第一时间戳;
若所述第一时间戳大于第二时间戳和第一预设时间的和值,则获取静默音数据报文,所述第二时间戳是最近一次发送的音频数据报文包括的时间戳;
将所述静默音数据报文的标识信息设置为第一标识,将所述静默音数据报文包括的第三时间戳设置为所述和值,所述第一标识是第二标识的下一个标识,所述第二标识是所述最近一次发送的音频数据报文的标识信息;
将所述静默音数据报文发送到网络侧。
2.根据权利要求1所述的方法,其特征在于,若所述第一时间戳大于第二时间戳和第一预设时间的和值,则获取静默音数据报文,包括:
若所述第一时间戳大于第二时间戳和第一预设时间的和值,且所述第一时间戳与所述第二时间戳的差值是所述第一预设时间的N倍,N是大于或等于2的整数,则获取静默音数据报文。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
若所述第一时间戳等于第二时间戳和第一预设时间的和值,则将所述首个音频数据报文的标识信息设置为所述第一标识;
将所述首个音频数据报文发送到网络侧。
4.根据权利要求3所述的方法,其特征在于,将所述首个音频数据报文发送到网络侧之后,所述方法还包括:
将所述首个音频数据报文作为最近一次发送的音频数据报文。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述缓存队列为空,则获取静默音数据报文;
将所述静默音数据报文的标识信息设置为所述第一标识,将所述静默音数据报文包括的第三时间戳设置为所述和值;
将所述静默音数据报文发送到网络侧。
6.根据权利要求1或5所述的方法,其特征在于,将所述静默音数据报文发送到网络侧之后,所述方法还包括:
将所述静默音数据报文作为最近一次发送的音频数据报文。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一时间戳小于第二时间戳和第一预设时间的和值,则丢弃所述首个音频数据报文。
8.根据权利要求1或7所述的方法,其特征在于,从缓存队列中获取首个音频数据报文之前,所述方法还包括:
从终端设备接收数据报文;
若确定所述数据报文为音频数据报文,则将所述音频数据报文放入所述缓存队列。
9.根据权利要求1所述的方法,其特征在于,从缓存队列中获取首个音频数据报文,包括:
每隔第二预设时间,从缓存队列中获取首个音频数据报文。
10.一种音频数据报文处理装置,其特征在于,包括:
获取模块,用于从缓存队列中获取首个音频数据报文,所述首个音频数据报文包括第一时间戳;
补偿或修正模块,用于当所述第一时间戳大于第二时间戳和第一预设时间的和值时,获取静默音数据报文,所述第二时间戳是最近一次发送的音频数据报文包括的时间戳;
赋值模块,用于将所述静默音数据报文的标识信息设置为第一标识,将所述静默音数据报文包括的第三时间戳设置为所述和值,所述第一标识是第二标识的下一个标识,所述第二标识是所述最近一次发送的音频数据报文的标识信息;
发送模块,用于将所述静默音数据报文发送到网络侧。
11.一种音频数据报文处理设备,其特征在于,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-9中任一所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-9中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010635521.XA CN111954248B (zh) | 2020-07-03 | 2020-07-03 | 一种音频数据报文处理方法、装置、设备及存储介质 |
PCT/CN2020/140324 WO2022001041A1 (zh) | 2020-07-03 | 2020-12-28 | 一种音频数据报文处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010635521.XA CN111954248B (zh) | 2020-07-03 | 2020-07-03 | 一种音频数据报文处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111954248A true CN111954248A (zh) | 2020-11-17 |
CN111954248B CN111954248B (zh) | 2021-10-01 |
Family
ID=73339928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010635521.XA Active CN111954248B (zh) | 2020-07-03 | 2020-07-03 | 一种音频数据报文处理方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111954248B (zh) |
WO (1) | WO2022001041A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022001041A1 (zh) * | 2020-07-03 | 2022-01-06 | 京信网络系统股份有限公司 | 一种音频数据报文处理方法、装置、设备及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114844801B (zh) * | 2022-03-29 | 2023-06-16 | 中国信息通信研究院 | 用于实时业务网络丢包测试的方法及装置、电子设备、存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7162418B2 (en) * | 2001-11-15 | 2007-01-09 | Microsoft Corporation | Presentation-quality buffering process for real-time audio |
CN101827271A (zh) * | 2009-03-04 | 2010-09-08 | 联芯科技有限公司 | 音频视频同步方法、装置以及数据接收终端 |
CN109936514A (zh) * | 2019-04-29 | 2019-06-25 | 新华三信息安全技术有限公司 | 一种报文处理方法和装置 |
CN111328104A (zh) * | 2018-12-14 | 2020-06-23 | 华为技术有限公司 | 数据包的解压缩方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111954248B (zh) * | 2020-07-03 | 2021-10-01 | 京信网络系统股份有限公司 | 一种音频数据报文处理方法、装置、设备及存储介质 |
-
2020
- 2020-07-03 CN CN202010635521.XA patent/CN111954248B/zh active Active
- 2020-12-28 WO PCT/CN2020/140324 patent/WO2022001041A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7162418B2 (en) * | 2001-11-15 | 2007-01-09 | Microsoft Corporation | Presentation-quality buffering process for real-time audio |
CN101827271A (zh) * | 2009-03-04 | 2010-09-08 | 联芯科技有限公司 | 音频视频同步方法、装置以及数据接收终端 |
CN111328104A (zh) * | 2018-12-14 | 2020-06-23 | 华为技术有限公司 | 数据包的解压缩方法和装置 |
CN109936514A (zh) * | 2019-04-29 | 2019-06-25 | 新华三信息安全技术有限公司 | 一种报文处理方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022001041A1 (zh) * | 2020-07-03 | 2022-01-06 | 京信网络系统股份有限公司 | 一种音频数据报文处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022001041A1 (zh) | 2022-01-06 |
CN111954248B (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111954248B (zh) | 一种音频数据报文处理方法、装置、设备及存储介质 | |
CN102113277B (zh) | 在无线通信系统中用于基于定时器的丢弃的高效分组处理 | |
CN107005478B (zh) | 一种自适应流表的处理方法及装置 | |
US8412160B2 (en) | Method for discarding all segments corresponding to the same packet in a buffer | |
US20100238799A1 (en) | Method, Apparatus and Computer Program Product For Handover Failure Recovery | |
JP2004509481A5 (zh) | ||
MX2008000317A (es) | Sistema y metodo para resolver conflictos en comunicaciones simultaneas multiples en un sistema inalambrico. | |
CN107534589A (zh) | 去抖动缓冲器更新 | |
WO2016050166A1 (zh) | 一种半持续调度资源的分配方法及基站 | |
EP1633091A1 (en) | Bandwidth control in a mobile group communication system | |
KR20090023409A (ko) | 애드-혹 무선 네트워크에서의 오버헤드 감소 | |
US20160323192A1 (en) | Telecommunications system and method | |
CN106454959B (zh) | 一种分布式网络的服务质量控制方法、及服务器 | |
CN103945455A (zh) | 一种实现自适应心跳数据包发送的方法及装置 | |
JP4856251B2 (ja) | 無線通信ネットワークにおけるヘッダの抑制 | |
CN105959934A (zh) | 重入网识别方法和系统 | |
US20040258047A1 (en) | Clock difference compensation for a network | |
KR20120067456A (ko) | 무선통신 시스템에서 핸드오버 데이터를 포워딩하기 위한 장치 및 방법 | |
EP1897296B1 (en) | Block-based assignment of quality of service precedence values | |
CN106572030B (zh) | 一种分布式网络中多路径发送控制方法、及系统 | |
CN113905132B (zh) | 视频彩铃播放方法、装置和计算机可读存储介质 | |
CN112752300B (zh) | 本地分流的实现方法及装置 | |
TWI449358B (zh) | 無線通訊網路中之訊框選擇間隔的動態擴展 | |
JP5031870B2 (ja) | スイッチング方法及び装置 | |
KR20170043634A (ko) | 데이터 패킷의 전송 처리 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 510663 Shenzhou Road, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangdong, 10 Applicant after: Jingxin Network System Co.,Ltd. Address before: 510663 Shenzhou Road, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangdong, 10 Applicant before: Comba Telecom System (China) Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |