一种即时通信检测方法及设备与流程

文档序号:17355877发布日期:2019-04-09 21:39阅读:190来源:国知局
一种即时通信检测方法及设备与流程

本发明涉及通信技术领域,尤其涉及一种即时通信检测方法及设备。



背景技术:

语音通信是用户对于通信最基本的需求,语音通信质量直接影响用户使用和感受,是网络运营商非常关心的指标。目前的语音质量评估方法是从统计角度对一段通话进行了评价,评价标准是基于mos分的,主要是对一段时间内整体的语音通话质量做出评分,无法对包损伤的分布做评价,因此实现不能对吞音,断续进行检测。



技术实现要素:

本发明实施例提供一种即时通信检测方法及设备,可以检测出目的数据中包损伤的分布情况。

第一方面,本发明实施例提供了一种即时通信检测方法,包括:

检测设备获取目的数据;所述目的数据为第一终端向第二终端发送的源数据传输到所述第二终端的数据;所述源数据包括至少一个rtp数据包,所述目的数据包括至少一个所述源数据中的rtp数据包;

若基于所述目的数据中rtp数据包的序列号检测到的所述目的数据的丢包数满足第一条件,则所述检测设备输出用于指示所述目的数据丢包的第一指示信息;和/或,若基于所述目的数据中rtp数据包的时间戳检测到所述目的数据的时延抖动满足第二条件,则所述检测设备输出用于指示所述目的数据抖动延时的第二指示信息。

通过执行上述方法,检测设备基于rtp数据包的序列号检测目的数据的丢包情况,以及检测设备基于rtp数据包的时间戳检测数据的时延抖动,可以检测出目的数据中包损伤的分布情况,并输出指示信息以提示用户,具有较高的检测准确率和检出率。

在一种可能的实现方式中,所述检测设备获取目的数据包括:

所述检测设备获取探针设备在第一接口获取到的目的数据;所述第一接口包括通过所述目的数据的支持节点或网关的s1-u接口、s5接口,s8接口、gm接口、mw接口、mi接口或mg接口中的一种。

在又一种可能的实现方式中,所述检测设备获取目的数据包括:

所述检测设备接收第二终端发送的tcp数据包,所述tcp数据包包括所述目的数据;所述tcp数据包为所述第二终端根据接收到所述目的数据封装生成。

在又一种可能的实现方式中,所述若基于所述目的数据中rtp数据包的序列号检测到的所述目的数据的丢包数满足第一条件,则所述检测设备输出用于指示所述目的数据丢包的第一指示信息包括:

在检测到第i个rtp数据包与第i+1个rtp数据包之间丢包时,所述检测设备开启检测窗口;

若所述检测窗口内rtp数据包的丢包总数大于第一阈值或所述检测窗口内rtp数据包的丢包率大于第二阈值,则所述目的数据的丢包数满足第一条件,所述检测设备输出用于指示所述目的数据丢包的第一指示信息;

其中,所述检测窗口以所述第i个rtp数据包所在的缓存单元起始,以所述第i个rtp数据包之后接收到的序列号连续的k个rtp数据包所在的缓存单元结束;或,所述检测窗口以所述第i个rtp数据包所在的缓存单元起始包括m个缓存单元,m为正整数。

通过执行上述方法,通过自适应窗口检测可以检测出出现损伤rtp数据包的段,检测更加精准,且自适应窗口检测出的损伤rtp数据包的段更加完整。

在又一种可能的实现方式中,,所述在检测到所述第i个rtp数据包与所述第i+1个rtp数据包之间丢包时,所述检测设备开启检测窗口包括:

若ti+1-ti<▽t1*(si+1-si)+nsid*▽tsid且si+1>si+1,则所述检测设备开启检测窗口;

其中,ti为检测设备获取到第i个rtp数据包时的时间,ti+1为检测设备获取到第i+1个rtp数据包时的时间;或,ti为第i个rtp数据包时的时间戳,ti+1为第i+1个rtp数据包时的时间戳;

si+1为所述第i+1个rtp数据包的序列号,si为所述第i个rtp数据包的序列号;▽t1为语音帧的打包时长,nsid为静默帧的帧数参数,▽tsid为静默帧的打包时长。

通过执行上述方法,当丢包包括静默帧时,检测设备不进行检测,提高检测效率。

在又一种可能的实现方式中,,所述在检测到所述第n个rtp数据包与所述第n+1个rtp数据包之间丢包时,所述检测设备开启检测窗口包括:

若▽t1*(si+1-si)/(ti+1-ti)>p,且si+1>si+1,则所述检测设备开启检测窗口;

其中,ti为检测设备获取到第i个rtp数据包时的时间,ti+1为检测设备获取到第i+1个rtp数据包时的时间;或,ti为第i个rtp数据包时的时间戳,ti+1为第i+1个rtp数据包时的时间戳;

si+1为所述第i+1个rtp数据包的序列号,si为所述第i个rtp数据包的序列号;▽t1为语音帧的打包时长,p为第一比率。

通过执行上述方法,当丢包包括静默帧时,检测设备不进行检测,提高检测效率。

在又一种可能的实现方式中,所述目的数据为所述第一终端向所述第二终端发送的源语音数据传输到所述第二终端的目的语音数据;所述若基于所述目的数据中rtp数据包的序列号检测到的所述目的数据的丢包数满足第一条件,则输出用于指示所述目的数据丢包的第一指示信息包括:

若所述检测窗口内rtp数据包的丢包总数大于第一吞音阈值或所述检测窗口内rtp数据包的丢包率大于第二吞音阈值,则所述检测设备输出用于指示所述目的数据吞音的吞音指示信息;

若所述检测窗口内rtp数据包的丢包总数大于第一断续阈值或所述检测窗口内rtp数据包的丢包率大于第二断续阈值,则所述检测设备输出用于指示所述目的数据断续的断续指示信息。

通过执行上述方法,在即时语音通信中,检测设备可检测出吞音、断续的分布情况。

在又一种可能的实现方式中,所述吞音指示信息还包括吞音时长;所述断续指示信息包括断续时长;所述吞音时长或断续时长的表达式为以下任意一种:

te=ncur*δt1;

te=tj-ti;

te=(nj-ni)*δt1;

其中,te为吞音时长或断音时长,ncur为所述检测窗口的窗口数,δt1为rtp数据包的打包时长;tj为所述检测窗口中最后一个rtp数据包的时间戳,ti为所述检测窗口的第一个rtp数据包的时间戳;ni为所述检测窗口中第一个rtp数据包的序列号,nj为所述检测窗口中最后一个rtp数据包的序列号。

在又一种可能的实现方式中,所述目的数据为所述第一终端向所述第二终端发送的源视频数据传输到所述第二终端的目的视频数据;所述若基于所述目的数据中rtp数据包的序列号检测到的所述目的数据的丢包数满足第一条件,则输出用于指示所述目的数据丢包的第一指示信息包括:

若所述测窗口内rtp数据包的丢包总数大于第一花屏阈值或所述检测窗口内rtp数据包的丢包率大于第二花屏阈值,则所述检测设备输出用于指示所述目的数据存在花屏的花屏指示信息;

若所述检测窗口内rtp数据包的丢包总数大于第一卡顿阈值或所述检测窗口内rtp数据包的丢包率大于第二卡顿阈值,则所述检测设备输出用于指示所述目的数据存在卡顿的卡顿指示信息。

通过执行上述方法,在即时视频通信中,检测设备可检测出花屏、卡顿的分布情况。

在又一种可能的实现方式中,所述目的数据为所述第一终端向所述第二终端发送的源视频数据传输到所述第二终端的目的视频数据;一个缓存单元用于存储一帧视频;所述若基于所述目的数据中rtp数据包的序列号检测到的所述目的数据的丢包数满足第一条件,则输出用于指示所述目的数据丢包的第一指示信息包括:

若所述检测窗口内花屏帧的帧数大于第三花屏阈值或花屏帧的占比大于第四花屏阈值时,所述检测设备输出用于指示所述目的数据花屏的花屏指示信息;

若所述检测窗口内丢失帧的帧数大于第三卡顿阈值或丢失帧的占比大于第五卡顿阈值时,所述检测设备输出用于指示所述目的数据卡顿的卡顿指示信息;

其中,所述花屏帧为丢包数大于第一丢包阈值或丢包率大于第二丢包阈值的视频帧;所述丢失帧为丢包数大于第三丢包阈值或丢包率大于第四丢包阈值的视频帧;所述第三丢包阈值不小于所述第一丢包阈值,所述第四丢包阈值不小于所述第二丢包阈值。

通过执行上述方法,在即时视频通信中,检测设备以帧为单位进行检测,可检测出花屏、卡顿的分布情况,提高准确率。

在又一种可能的实现方式中,所述花屏指示信息还包括花屏时长;所述卡顿指示信息包括卡顿时长;所述花屏时长或卡顿时长的表达式为以下任意一种:

tw=ncur*δt;

tw=tj-ti;

tw=(nj-ni)*δt2;

其中,tw为所述花屏时长或所述卡顿时长;ncur为所述检测窗口的窗口数,δt为视频帧的帧间隔;tj为所述检测窗口中最后一视频帧中rtp数据包的时间戳,ti为所述检测窗口的第一视频帧中rtp数据包的时间戳;ni为检测窗口中第一个rtp数据包的序列号,nj为检测窗口中最后一个rtp数据包的序列号,δt2为视频数据中rtp数据包的打包时长。

在又一种可能的实现方式中,所述若基于所述目的数据中rtp数据包的时间戳检测到所述目的数据的时延抖动满足第二条件,则所述检测设备输出用于指示所述目的数据抖动延时的第二指示信息包括:

在检测到第i+1个rtp数据包时延抖动时,所述检测设备开启检测窗口;

若所述检测窗口内rtp数据包的时延抖动量大于第三阈值时,所述检测设备输出用于指示所述目的数据抖动延时的第二指示信息;

其中,所述检测窗口以所述第i个rtp数据包所在的缓存单元起始,以所述第i个rtp数据包之后接收到的连续的k个包间隔等于打包时长的rtp数据包所在的缓存单元结束;或,所述检测窗口以所述第i个rtp数据包所在的缓存单元起始包括m个缓存单元。

通过执行上述方法,检测设备可检测rtp数据包的时延抖动的分布情况。

在又一种可能的实现方式中,所述在检测第i+1个rtp数据包之间时延抖动时,所述检测设备开启检测窗口包括:

若第i+1个rtp数据包之间时延抖动幅度大于第一幅度阈值,则所述检测设备开启检测窗口;所述第i+1个rtp数据包之间时延抖动幅度ai+1的表达式包括以下方式的一种:

ai+1=|ti+1-ti-▽ti+1|;

ai+1=ti+1-ti-▽ti+1;

ai+1=|ti+1-ti-▽ti+1|/▽ti+1;

其中,ti为检测设备获取到第i个rtp数据包时的时间,ti+1为检测设备获取到第i+1个rtp数据包时的时间;▽ti+1为所述第i+1个rtp数据包的打包时长。

在又一种可能的实现方式中,所述时延抖动量的计算方法包括:

其中,所述检测窗口包括l个rtp数据包,ajit为所述时延抖动量,tj+1为所述检测窗口中第j+1个rtp数据包的获取时间,tj为所述检测窗口中第j个rtp数据包的获取时间;δtj+1为所述第j+1个rtp数据包的打包时长。

第二方面,本发明实施例还提供了一种即时通信检测方法,包括:

检测设备获取第一音频以及获取第二音频;所述第一音频为第一终端编码并向第二终端发送的音频信息,所述第二音频为所述第二终端根据接收到的音频信息解码生成的音频信息;

所述检测设备将所述第一音频的第i音频帧与所述第二音频的第j音频帧进行比对,以检测所述第二音频的第j音频帧是否为异常帧;其中,所述第i音频帧为与所述第j音频帧一一对应;i、j为正整数;

在检测到所述第二音频中异常帧满足预设条件时,所述检测设备输出用于指示所述第二音频异常的指示信息。

通过执行上述方法,检测设备基于第一音频检测第二音频中音频帧的异常情况,可以检测出第二音频中音频帧的分布情况,并输出指示信息以提示用户,具有较高的检测准确率和检出率。

在一种可能的实现方式中,所述检测设备获取第一音频包括:

所述检测设备根据所述第二音频的特征获取与所述第二音频的特征相匹配的第一音频。

在一又种可能的实现方式中,所述检测设备获取第一音频包括:

所述检测设备接收所述第一终端发送的第一tcp数据包,所述第一tcp数据包包括所述第一音频。

在一又种可能的实现方式中,所述检测设备获取第二音频包括:

所述检测设备接收第二终端发送的第二tcp数据包,所述第二tcp数据包包括所述第二音频。

在一又种可能的实现方式中,所述检测设备将所述第一音频的第i音频帧与所述第二音频的第j音频帧进行比对,以检测所述第二音频的第j音频帧是否为异常帧之前,所述方法还包括:

所述检测设备建立所述第一音频的第i音频帧与所述第二音频的第j音频帧的对应关系,其中,j=i+m,m为延迟时间对应的音频帧数;或

所述检测设备将所述第一音频中第一个语音帧与第二音频中第一个语音帧进行对齐,以使包括所述第一音频中第一个语音帧在内的所述第一音频中第一个语音帧之后的音频帧与包括所述第二音频中第一个语音帧在内的所述述第二音频中第一个语音帧之后的音频帧一一对应。

通过执行上述方法,检测设备先对齐,再检测,提高检测准确率。

在一又种可能的实现方式中,所述检测设备将所述第一音频的第i音频帧与所述第二音频的第j音频帧进行比对,以检测所述第二音频的第j音频帧是否为异常帧包括:

所述检测设备将所述第一音频的第i音频帧的能量值与所述第二音频的第j音频帧的能量值进行比对,当所述第i音频帧的能量值与所述第j音频帧的能量值之差大于第一能量阈值时,所述第j音频帧为异常帧。

在一又种可能的实现方式中,所述第j音频帧的能量值ej的表示形式包括以下表示形式中的一种:

其中,ai为所述第j音频帧中第i个采样点的采样值;n为所述第j音频帧中采样点的个数;c、a、b为常数,-30≤c≤30,1≤a≤165535。

在一又种可能的实现方式中,所述在检测到所述第二音频中异常帧满足预设条件时,所述检测设备输出用于指示所述第二音频异常的指示信息包括:

在检测到所述第j音频帧为异常帧时,所述检测设备开启检测窗口;

若所述检测窗口内第二音频的异常帧的帧数大于第一阈值或所述检测窗口内第二音频的异常帧的帧率大于第二阈值时,所述检测设备输出用于指示所述第二音频异常的指示信息;

其中,所述检测窗口以所述第j音频帧起始,以所述第j音频帧之后检测到的连续k个非异常帧结束;或,所述检测窗口以所述第j音频帧起始包括m帧音频帧,m为正整数。

通过执行上述方法,通过自适应窗口或固定窗口检测可以检测出现损伤音频帧的段,检测更加精准,且自适应窗口检测出的损伤音频帧的段更加完整。

第三方面,本发明实施例还提供了一种检测设备,包括:获取单元,以及丢包检测单元和/或时延检测单元;其中,

所述获取单元用于:获取目的数据;所述目的数据为第一终端向第二终端发送的源数据传输到所述第二终端的数据;所述源数据包括至少一个rtp数据包,所述目的数据包括至少一个所述源数据中的rtp数据包;

所述丢包检测单元用于:若基于所述目的数据中rtp数据包的序列号检测到的所述目的数据的丢包数满足第一条件,则输出用于指示所述目的数据丢包的第一指示信息;

所述时延检测单元用于:若基于所述目的数据中rtp数据包的时间戳检测到所述目的数据的时延抖动满足第二条件,则输出用于指示所述目的数据抖动延时的第二指示信息。

上述发明实施例中,检测设备基于rtp数据包的序列号检测目的数据的丢包情况,以及检测设备基于rtp数据包的时间戳检测数据的时延抖动,可以检测出目的数据中包损伤的分布情况,并输出指示信息以提示用户,具有较高的检测准确率和检出率。

在一种可能的实现方式中,所述获取单元具体用于:

获取探针设备在第一接口获取到的目的数据;所述第一接口包括通过所述目的数据的支持节点或网关的s1-u接口、s5接口,s8接口、gm接口、mw接口、mi接口或mg接口中的一种。

在又一种可能的实现方式中,所述获取单元具体用于:

所述检测设备接收第二终端发送的tcp数据包,所述tcp数据包包括所述目的数据;所述tcp数据包为所述第二终端根据接收到所述目的数据封装生成。

在又一种可能的实现方式中,所述丢包检测单元具体用于:

在检测到第i个rtp数据包与第i+1个rtp数据包之间丢包时,开启检测窗口;

若所述检测窗口内rtp数据包的丢包总数大于第一阈值或所述检测窗口内rtp数据包的丢包率大于第二阈值,则所述目的数据的丢包数满足第一条件,输出用于指示所述目的数据丢包的第一指示信息;

其中,所述检测窗口以所述第i个rtp数据包所在的缓存单元起始,以所述第i个rtp数据包之后接收到的序列号连续的k个rtp数据包所在的缓存单元结束;或,所述检测窗口以所述第i个rtp数据包所在的缓存单元起始包括m个缓存单元,m为正整数。

在又一种可能的实现方式中,所述丢包检测单元执行所述在检测到所述第i个rtp数据包与所述第i+1个rtp数据包之间丢包时,开启检测窗口,具体包括:

若ti+1-ti<▽t1*(si+1-si)+nsid*▽tsid且si+1>si+1,则开启检测窗口;

其中,ti为检测设备获取到第i个rtp数据包时的时间,ti+1为检测设备获取到第i+1个rtp数据包时的时间;或,ti为第i个rtp数据包时的时间戳,ti+1为第i+1个rtp数据包时的时间戳;

si+1为所述第i+1个rtp数据包的序列号,si为所述第i个rtp数据包的序列号;▽t1为语音帧的打包时长,nsid为静默帧的帧数参数,▽tsid为静默帧的打包时长。

在又一种可能的实现方式中,所述丢包检测单元执行所述在检测到所述第i个rtp数据包与所述第i+1个rtp数据包之间丢包时,开启检测窗口,具体包括:

若▽t1*(si+1-si)/(ti+1-ti)>p,且si+1>si+1,则开启检测窗口;

其中,ti为检测设备获取到第i个rtp数据包时的时间,ti+1为检测设备获取到第i+1个rtp数据包时的时间;或,ti为第i个rtp数据包时的时间戳,ti+1为第i+1个rtp数据包时的时间戳;

si+1为所述第i+1个rtp数据包的序列号,si为所述第i个rtp数据包的序列号;▽t1为语音帧的打包时长,p为第一比率。

在又一种可能的实现方式中,所述目的数据为所述第一终端向所述第二终端发送的源语音数据传输到所述第二终端的目的语音数据;所述丢包检测单元还用于:

若所述检测窗口内rtp数据包的丢包总数大于第一吞音阈值或所述检测窗口内rtp数据包的丢包率大于第二吞音阈值,则输出用于指示所述目的数据吞音的吞音指示信息;

若所述检测窗口内rtp数据包的丢包总数大于第一断续阈值或所述检测窗口内rtp数据包的丢包率大于第二断续阈值,则输出用于指示所述目的数据断续的断续指示信息。

在又一种可能的实现方式中,所述吞音指示信息还包括吞音时长;所述断续指示信息包括断续时长;所述吞音时长或断续时长的表达式为以下任意一种:

te=ncur*δt1;

te=tj-ti;

te=(nj-ni)*δt1;

其中,te为吞音时长或断音时长,ncur为所述检测窗口的窗口数,δt1为rtp数据包的打包时长;tj为所述检测窗口中最后一个rtp数据包的时间戳,ti为所述检测窗口的第一个rtp数据包的时间戳;ni为所述检测窗口中第一个rtp数据包的序列号,nj为所述检测窗口中最后一个rtp数据包的序列号。

在又一种可能的实现方式中,所述目的数据为所述第一终端向所述第二终端发送的源视频数据传输到所述第二终端的目的视频数据;所述丢包检测单元还用于:

若所述测窗口内rtp数据包的丢包总数大于第一花屏阈值或所述检测窗口内rtp数据包的丢包率大于第二花屏阈值,则输出用于指示所述目的数据存在花屏的花屏指示信息;

若所述检测窗口内rtp数据包的丢包总数大于第一卡顿阈值或所述检测窗口内rtp数据包的丢包率大于第二卡顿阈值,则输出用于指示所述目的数据存在卡顿的卡顿指示信息。

在又一种可能的实现方式中,所述目的数据为所述第一终端向所述第二终端发送的源视频数据传输到所述第二终端的目的视频数据;一个缓存单元用于存储一帧视频;所述丢包检测单元还用于:

若所述检测窗口内花屏帧的帧数大于第三花屏阈值或花屏帧的占比大于第四花屏阈值时,输出用于指示所述目的数据花屏的花屏指示信息;

若所述检测窗口内丢失帧的帧数大于第三卡顿阈值或丢失帧的占比大于第五卡顿阈值时,输出用于指示所述目的数据卡顿的卡顿指示信息;

其中,所述花屏帧为丢包数大于第一丢包阈值或丢包率大于第二丢包阈值的视频帧;所述丢失帧为丢包数大于第三丢包阈值或丢包率大于第四丢包阈值的视频帧;所述第三丢包阈值不小于所述第一丢包阈值,所述第四丢包阈值不小于所述第二丢包阈值。

在又一种可能的实现方式中,所述花屏指示信息还包括花屏时长;所述卡顿指示信息包括卡顿时长;所述花屏时长或卡顿时长的表达式为以下任意一种:

tw=ncur*δt;

tw=tj-ti;

tw=(nj-ni)*δt2;

其中,tw为所述花屏时长或所述卡顿时长;ncur为所述检测窗口的窗口数,δt为视频帧的帧间隔;tj为所述检测窗口中最后一视频帧中rtp数据包的时间戳,ti为所述检测窗口的第一视频帧中rtp数据包的时间戳;ni为检测窗口中第一个rtp数据包的序列号,nj为检测窗口中最后一个rtp数据包的序列号,δt2为视频数据中rtp数据包的打包时长。

在又一种可能的实现方式中,所述时延检测单元具体用于:

在检测到第i+1个rtp数据包时延抖动时,开启检测窗口;

若所述检测窗口内rtp数据包的时延抖动量大于第三阈值时,输出用于指示所述目的数据抖动延时的第二指示信息;

其中,所述检测窗口以所述第i个rtp数据包所在的缓存单元起始,以所述第i个rtp数据包之后接收到的连续的k个包间隔等于打包时长的rtp数据包所在的缓存单元结束;或,所述检测窗口以所述第i个rtp数据包所在的缓存单元起始包括m个缓存单元。

在又一种可能的实现方式中,所述时延检测单元执行所述在检测第i+1个rtp数据包之间时延抖动时,开启检测窗口,具体包括:

若第i+1个rtp数据包之间时延抖动幅度大于第一幅度阈值,则开启检测窗口;所述第i+1个rtp数据包之间时延抖动幅度ai+1的表达式包括以下方式的一种:

ai+1=|ti+1-ti-▽ti+1|;

ai+1=ti+1-ti-▽ti+1;

ai+1=|ti+1-ti-▽ti+1|/▽ti+1;

其中,ti为检测设备获取到第i个rtp数据包时的时间,ti+1为检测设备获取到第i+1个rtp数据包时的时间;▽ti+1为所述第i+1个rtp数据包的打包时长。

在又一种可能的实现方式中,所述时延抖动量的计算方法包括:

其中,所述检测窗口包括l个rtp数据包,ajit为所述时延抖动量,tj+1为所述检测窗口中第j+1个rtp数据包的获取时间,tj为所述检测窗口中第j个rtp数据包的获取时间;δtj+1为所述第j+1个rtp数据包的打包时长。

第五方面,本发明实施例还提供了一种检测设备,包括:

获取单元,用于获取第一音频以及获取第二音频;所述第一音频为第一终端编码并向第二终端发送的音频信息,所述第二音频为所述第二终端根据接收到的音频信息解码生成的音频信息;

检测单元,用于将所述第一音频的第i音频帧与所述第二音频的第j音频帧进行比对,以检测所述第二音频的第j音频帧是否为异常帧;其中,所述第i音频帧为与所述第j音频帧一一对应;i、j为正整数;

输出单元,用于在所述检测单元检测到所述第二音频中异常帧满足预设条件时,输出用于指示所述第二音频异常的指示信息。

上述发明实施例中,检测设备基于第一音频检测第二音频中音频帧的异常情况,可以检测出第二音频中音频帧的分布情况,并输出指示信息以提示用户,具有较高的检测准确率和检出率。

在一种可能的实现方式中,所述获取单元执行所述获取第一音频,具体包括:

根据所述第二音频的特征获取与所述第二音频的特征相匹配的第一音频。

在又一种可能的实现方式中,所述获取单元执行所述获取第一音频,具体包括:

接收所述第一终端发送的第一tcp数据包,所述第一tcp数据包包括所述第一音频。

在又一种可能的实现方式中,所述获取单元执行所述获取第二音频,具体包括:

接收第二终端发送的第二tcp数据包,所述第二tcp数据包包括所述第二音频。

在又一种可能的实现方式中,所述设备还包括对齐单元,用于:

在所述检测单元将所述第一音频的第i音频帧与所述第二音频的第j音频帧进行比对,以检测所述第二音频的第j音频帧是否为异常帧之前,建立所述第一音频的第i音频帧与所述第二音频的第j音频帧的对应关系,其中,j=i+m,m为延迟时间对应的音频帧数;或

在所述检测单元将所述第一音频的第i音频帧与所述第二音频的第j音频帧进行比对,以检测所述第二音频的第j音频帧是否为异常帧之前,将所述第一音频中第一个语音帧与第二音频中第一个语音帧进行对齐,以使包括所述第一音频中第一个语音帧在内的所述第一音频中第一个语音帧之后的音频帧与包括所述第二音频中第一个语音帧在内的所述述第二音频中第一个语音帧之后的音频帧一一对应。

在又一种可能的实现方式中,所述检测单元具体用于:

将所述第一音频的第i音频帧的能量值与所述第二音频的第j音频帧的能量值进行比对,当所述第i音频帧的能量值与所述第j音频帧的能量值之差大于第一能量阈值时,所述第j音频帧为异常帧。

在又一种可能的实现方式中,所述第j音频帧的能量值的表示形式包括以下表示形式中的一种:

其中,ai为所述第j音频帧中第i个采样点的采样值;n为所述第j音频帧中采样点的个数;c、a、b为常数,-30≤c≤30,1≤a≤165535。

在又一种可能的实现方式中,所述输出单元具体用于:

在检测到所述第j音频帧为异常帧时,所述检测设备开启检测窗口;

若所述检测窗口内第二音频的异常帧的帧数大于第一阈值或所述检测窗口内第二音频的异常帧的帧率大于第二阈值时,所述检测设备输出用于指示所述第二音频异常的指示信息;

其中,所述检测窗口以所述第j音频帧起始,以所述第j音频帧之后检测到的连续k个非异常帧结束;或,所述检测窗口以所述第j音频帧起始包括m帧音频帧,m为正整数。

第五方面,本发明实施例还提供了一种检测设备,所述设备包括处理器、存储器以及通信接口:所述通信接口用于实现与通信对端的通信连接,以实现与通信对端的数据交换;所述存储器用于存储程序;所述处理器执行该存储器中的程序,使得检测设备执行如第一方面所述的即时通信检测方法的部分或全部流程。

第六方面,本发明实施例还提供了一种检测设备,所述设备包括处理器、存储器以及通信接口:所述通信接口用于实现与通信对端的通信连接,以实现与通信对端的数据交换;所述存储器用于存储程序;所述处理器执行该存储器中的程序,使得检测设备执行如第二方面所述的即时通信检测方法的部分或全部流程。

第七方面,本发明实施例还提供了一种计算机存储介质,所述存储介质用于存储指令,所述指令在检测设备上运行时使得所述检测设备执行如第一方面所述的即时通信检测方法的部分或全部流程。

第八方面,本发明实施例还提供了一种计算机存储介质,所述存储介质用于存储指令,所述指令在检测设备上运行时使得所述检测设备执行如第一方面所述的即时通信检测方法的部分或全部流程。

附图说明

为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。

图1是本发明实施例提供的一种即时通信检测系统的网络架构示意图;

图2是本发明实施例提供的另一种即时通信检测系统的网络架构示意图;

图3是是本发明实施例提供的一种rtp数据包头的封装结构示意图;

图4是本发明实施例提供的一种即时通信检测方法的流程示意图;

图5是本发明实施例提供的一种自适应窗口的丢包检测原理的示意性说明图;

图6是本发明实施例提供的一种固定窗口的丢包检测原理的示意性说明图;

图7是本发明实施例提供的一种自适应窗口的时延抖动检测原理的示意性说明图;

图8是本发明实施例提供的一种固定窗口的时延抖动检测原理的示意性说明图;

图9是本发明实施例提供的另一种即时通信检测方法的流程示意图

图10是本发明实施例提供的第一音频与第二音频的对齐原理示意图;

图11是本发明实施例提供的一种检测设备的结构示意图;

图12是本发明实施例提供的另一种检测设备的结构示意图;

图13是本发明实施例提供的又一种检测设备的结构示意图;

图14是本发明实施例提供的又一种检测设备的结构示意图。

具体实施方式

下面结合本发明实施例中的附图对本发明实施例进行描述。

请参见图1,图1是本发明实施例提供的一种即时通信检测系统的网络架构示意图。如图1所示,该即时通信检测系统中主要包括:第一终端(ue1)11、第二终端(ue2)12以及通信网络13等。

其中,通信网络13包括但不限于ip(internetprotocol)网131、公共交换电话网络(publicswitchedtelephonenetwork,pstn,也称pstn网)132、综合业务数字网(integratedservicesdigitalnetwork,isdn,也称isdn网)133、移动通信网络134等。可以理解,ip网131、pstn网132、isdn网133和移动通信网络134等相互之间可以通信连接。例如,ue1,如公共交换电话可以通过pstn网132、移动通信网络134等与ue2,比如移动手机进行通信连接。

其中,移动通信网络134可以包括基站、移动性管理实体、用户面实体等(图在中未示出),本发明不作限制。可选地,移动通信网络134中还可以包括但不限于策略与计费规则功能实体(policyandchargingrulesfunction,pcrf)、呼叫会话控制功能实体(callsessioncontrolfunction,cscf)等。

基站与ue1或ue2之间通过某种空口技术相互通信,所述空口技术可包括:现有的2g(如全球移动通信系统(globalsystemformobilecommunications,gsm))、3g(如通用移动通信系统(英文:universalmobiletelecommunicationssystem,umts)、宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)、时分同步码分多址(timedivision-synchronouscodedivisionmultipleaccess,td-scdma))、4g(如fddlte、tddlte)以及4.5g、5g系统等。

基站可以是:lte通信系统中的演进型基站(英文:evolvednodeb,enb)、umts通信系统中的nodeb和gsm通信系统中的基站收发器(英文:basetransceiverstation,bts)。

ue1和/或ue2可以是3g和4g网络中的用户终端(英文:userequipment,ue),相当于2g网络中的移动台(英文:mobilestation,ms),可包括:手机、平板电脑、移动互联网设备(英文:mobileinternetdevice,mid)、智能穿戴设备(例如智能手表、智能手环等)或其他安装署有全球用户识别卡(英文:universalsubscriberidentitymodule,usim)或客户识别模块(英文:subscriberidentitymodule,sim)卡的终端设备或通信模块。ue1和/或ue2还可以是可连接到ip网络、pstn网或isdn网等的用户终端,比如计算机、固定电话等。ue1和ue2可以通过ip网、pstn网、isdn网和移动通信网络中的一种或多种的组合进行即时通信。

移动性管理实体可以是lte中的mme(英文:mobilitymanagemententity),也可以是2g中的sgsn(英文:servinggprssupportnode)。

用户面实体可以包括服务网关(servinggateway,sgw)和/或pdn网关(pdngateway,pgw)。

基站通过s1-mme接口与mme连接,基站通过s1-u接口与sgw连接,sgw通过s5/s8接口与pgw连接。

本发明一实施例中,该即时通信检测系统还可以包括其他设备,比如检测服务器,检测终端等。检测服务器或检测终端可以连接到通信网络,获取到传输至第二终端侧的rtp数据包(本发明实施例中目的数据)。可选地,检测服务器或检测终端还可以将获取到的目的数据发送至ue1或ue2。

本发明一实施例中,该即时通信检测系统除包括图1中的网络单元外还可以包括网络探针设备。网络探针设备可以连接到通信网络,并获取到传输至第二终端侧的rtp数据包(本发明实施例中目的数据),可选地,网络探针设备还可以将获取到的目的数据发送至ue1、ue2、检测服务器或检测终端等。

例如,请参见图2,图2是本发明实施例提供的另一种即时通信检测系统的网络架构示意图。该即时通信检测系统至少包括第一终端20、第一基站21、第二基站22、第二终端23、网络探针设备24、检测服务器25以及通过s1-u接口与第二基站22连接的服务网关26或pdn网关27,核心网28等。

核心网28可以包括但不限于:策略与计费规则功能(policyandchargingrulesfunction,pcrf)实体281、呼叫会话控制功能(callsessioncontrolfunction,cscf)实体,媒体网关控制(mediagatewaycontrolfunction,mgcf)实体、终端触控网关控制功能(breakoutgatewaycontrolfunction,bgcf)实体等(部分图2中未示出)。

其中,网络探针设备24可以连接s1-u接口、s5接口,s8接口、gm接口、mw接口、mi接口或mg接口中任一接口,镜像复制通过该接口传输的数据,设置过滤条件(例如,数据包的源地址、源端口号、目的地址、目的端口号等),筛选目的数据。可以认为,ue2和enb2,以及该基站侧的sgw、pgw等距离较近,数据损失可忽略,通过网络探针设备在上述接口处获取到符合过滤条件的rtp数据包即为目的数据。

需要说明的是,图2以第一终端20为发送端,第二终端23为接收端为例来说明检测设备通过网络探针设备获取第一终端20发送给第二终端23的即时通信数据(即本发明实施例中目的数据),可以理解,第二终端23也可以作为发送端,第一终端20也可以作为接收端接收第第二终端23发送的即时通信数据。第一基站侧和第二基站侧的设备可以基于核心网传输数据。

可以理解,本发明实施例中即时通信检测方法可以基于上述所述的即时通信检测系统实现。本发明实施例中检测设备可以是第一终端,也可以是第二终端,还可以是检测终端、基站或检测服务器等,本发明不作限制。

下面介绍本发明涉及的实时传输协议(real-timetransportprotocol,rtp)数据包,本发明中也称rtp包。实时传输协议(rtp)为数据提供了具有实时特征的端对端传送服务,如在组播或单播网络服务下的交互式游戏、影像,语音,传真,网络会议等数据。rtp为网络上端到端的实施传输提供世家你信息和流同步,但不保证服务的质量,服务的质量由rtcp(real-timetransportcontrolprotocol,即实时传输控制协议)来提供。

请参阅图3,图3是本发明实施例提供的一种rtp数据包头的封装结构示意图:

版本号(v):2比特,用来标志使用的rtp版本。

填充位(p):1比特,如果该填充位为1,则该rtp包的尾部包含附加的填充字节。

扩展位(x):1比特,如果该扩展位为1,则rtp包头后面跟有一个扩展头部。

特约信源(contributingsource,csrc)计数器(cc):4比特,表示csrc标识的数目。csrc计数器不是rtp包必须的。

其中,csrc标识紧跟在rtp固定头部之后,用来表示rtp包的来源,rtp协议允许在同一个会话中存在多个数据源,它们可以通过rtp混合器合并为一个数据源。例如,可以产生一个csrc列表来表示一个电话会议,该会议通过一个rtp混合器将所有讲话者的语音数据组合为一个rtp数据源。

标记位(m):1比特,该位的解释由配置文档(profile)来承担。

载荷类型(pt):7比特,标识了rtp载荷的类型,用来指示声音或影像等使用的编码类型,由发送端决定。

序列号(sn):16比特,发送方在每发送完一个rtp包后就将该域的值增加1,接收方可以由该域检测rtp数据包的丢失。序列号的初始值可以是随机的。

时间戳:32比特,记录了该rtp数据包中数据的第一个字节的采样时间。接收方根据时间戳能够确定数据的到达是否受到了延迟抖动的影响。在一次会话开始时,时间戳初始化成一个初始值,且时间戳的数值也随时间而不断地增加。

同步信源标识符(synchronization,source,ssrc):32比特,同步源就是指rtp包流的来源。在同一个rtp会话中不能有两个相同的ssrc值。

特约信源列表(csrc列表):包括0~15项csrc标识符,每个csrc标识符占32比特,用来标志包含在rtp包有效载荷中所有的特约信源,以便接收端rtp包能正确指出会话双方的身份。

下面对本发明实施例提供的即时通信检测方法进行描述:

请参见图4,图4是本发明实施例提供的一种即时通信检测方法的流程示意图,该方法包括以下全部或部分步骤:

步骤s40:第一终端与第二终端建立通信连接。

具体地,第一终端与第二终端建立通信连接,以使第一终端与第一终端可以即时通信。例如,第一终端和第二终端为移动手机,第一终端可以呼叫第二终端,并建立通信连接。又例如,第一终端为移动终端,第二终端为直播平台对应的服务器,第一终端可以向第二终端发送请求,以请求直播内容,使得第二终端在接收到请求后实时向第一终端发送直播内容。

可以理解,在第一终端与第二终端的一次会话过程中,第一终端(发送端)以规定的采集速率采集视频信息或语音信息,缓存在存储单元中,第一终端再以一定的格式将该采集到的信息封装成序列号连续的rtp数据包流(源数据),并按照规定的发送速率依次发送至第二终端(接收端)。第二终端将接收到的rtp数据包缓存在存储单元中,进一步地,第二终端解码该rtp数据包,还原视频信息通过显示器或扩音器等输出和/或还原语音信息通过扩音器输出。在rtp数据包传输的过程中可能会发送丢包、延时等事件,使得第二终端接收到的rtp数据包(目的数据)的个数小于第一终端发送的rtp数据包的个数,或接收到的rtp数据包的时序不同于rtp数据包的发送时序。其中,对于语音通信,在一段会话过程中,采集到的语音信息通常是一段语音帧一段静默帧交替排列。在rtp数据包封装的过程中,语音帧和静音帧的打包速率可以不一致。语音帧的打包时长(本申请中也称打包间隔)是可以是5-320ms,例如,本发明实施例以语音帧的rtp打包时长为以20ms为例来描述。静默帧的打包时长是可以是5-2048ms,例如,本发明实施例以静默帧的rtp打包时长为以160ms为例来描述。语音帧的rtp打包时长或静默帧的rtp打包时长还可以是其他数值等。

其中,语音编码的方式包括但不限于pcm编码、wma编码、adpcm编码、lpc编码、mp3编码、aac编码、celp编码或其他语音编码方式等。视频编码的方式包括但不限于mp4编码、rmvb编码、mkv编码、avi编码或其他视频编码方式等。

本发明实施例中,源数据为第一终端发送的序列号连续的多个rtp数据包,目的数据为源数据在经过网络传输后到达第二终端侧的rtp数据包。

步骤s41:检测设备获取目的数据。

检测设备可以是第一终端,也可以是第二终端,还可以是检测终端、基站或检测服务器等。其中检测设备获取目的数据的方式可以包括但不限于以下方式:

第一方式:

检测设备可以是第一终端(发送端)、检测终端、或检测服务器,第二终端或基站在接收到目的数据后,可以将目的数据封装生成tcp数据包,通过ip网、pstn网、isdn网和移动通信网络中的一种网络或多种的网络组合发送至检测设备,检测设备可以解析该tcp数据包并获得目的数据。

第二方式:

检测设备可以是检测服务器、检测终端、基站、第一终端或第二终端,可以理解,第一终端或第二终端可以向网络探针设备请求该目的数据,网络探针设备可以将目的数据发送至检测服务器、检测终端、第一终端和/或第二终端。

第三方式:检测设备可以是第二终端(接收端)或基站,第一终端向第二终端发送源数据,传输到第二终端时,第二终端接收到的数据即为目的数据。源数据传输到基站时,基站接收到的数据即为目标数据。

可以理解,目的数据可以是第二终端接收到的全部或部分rtp数据包。

步骤s43:若基于所述目的数据中rtp数据包的序列号检测到的所述目的数据的丢包数满足第一条件,则输出用于指示所述目的数据丢包的第一指示信息。

检测设备可以根据序列号检测目的数据的丢包数,例如,检测设备接收到的第i个rtp数据包的序列号为si,第i+1个rtp数据包的序列号为si+1。若si+1>si+1则在第i个rtp数据包与第i+1个rtp数据包之间发生丢包,丢包数为si+1-si-1。同理,可以计算目的数据的丢包数。其中,i为正整数。

假设目的数据包括n个rtp数据包,n为正整数,i<n,则,

目的数据的丢包数

进而,根据目的数据的丢包数计算目的数据的丢包率:

目的数据的丢包率ploss=nloss/(n+nloss)×100%

其中,n+nloss=sn-s1+1,s1为第1个rtp数据包的序列号,sn第n个rtp数据包的序列号。

可以通过目的数据的丢包数和/或丢包率来描述目的数据的丢包情况。

可选地,第一指示信息可以包括目的数据中丢包的位置信息,以及丢包数和/或丢包率。

本发明一实施例中,当目的数据的丢包数大于第一阈值,比如50、55、72或其他数值等,则目的数据的丢包数满足第一条件。

本发明一实施例中,当目的数据的丢包率大于第二阈值,比如10%、12%、17%或其他数值等,则目的数据的丢包数满足第一条件。

可以理解,对于不同的检测方式,第一阈值或第二阈值的取值在不同的应用场景或实施例中可以不同,可根据需要进行设定。

本发明实施例中,检测设备检测目的数据的丢包情况的方式可以包括但不限于整体检测、自适应窗口检测或固定窗口检测。下面对整体检测、自适应窗口检测或固定窗口检测进行详细说明:

整体检测:

检测设备可以以一次会话过程中获取到的全部数据为检测对象(即目的数据)或以预设时间段(比如30s,1min、2min等)内的获取的rtp数据为检测对象,对此时会话过程中获取到的全部rtp数据包整体检测或分段检测,此时,目的数据包括本次会话过程中第二终端接收到的所有rtp数据包。

若目的数据的丢包总数大于第一阈值或该目的数据的丢包率大于第二阈值,则输出用于指示所述目的数据丢包的指示信息。

自适应窗口检测:

请一并参阅图5,图5是本发明实施例提供的一种自适应窗口的丢包检测原理的示意性说明图。缓存单元依次缓存接收到的rtp数据包,缓存单元内数字表示其缓存的rtp数据包的序列号。检测设备在获取到rtp数据包后,依次缓存获取到的rtp数据包,检测设备可以依次检测各个rtp数据包。具体地,在检测到第i个rtp数据包与第i+1个rtp数据包之间丢包(即第i个rtp数据包的序列号与第i+1个rtp数据包的序列号之差大于1)时,开启检测窗口,在第i+1个rtp数据包与第i+2个rtp数据包之间丢包时,检测窗口延伸至第i+2个rtp数据包所在的缓存单元,以此类推,直至检测到的序列号连续的k个rtp数据包。此时,检测窗口以所述第i个rtp数据包所在的缓存单元起始,以第i个rtp数据包之后接收到的序列号连续的k个rtp数据包所在的缓存单元结束。i为正整数。

若该检测窗口内rtp数据包的丢包总数大于第一阈值或该检测窗口内rtp数据包的丢包率大于第二阈值,则检测设备输出用于指示检测窗口内目的数据丢包的第一指示信息。

其中,k可以是检测设备预设的值,k的取值范围可以是1-65535,可选地,k值为4、6、12或其他数值,本发明不作限定。

固定窗口检测:

请一并参阅图6,图6是本发明实施例提供的一种固定窗口的丢包检测原理的示意性说明图。缓存单元依次缓存接收到的rtp数据包,缓存单元内数字表示其缓存的rtp数据包的序列号。检测设备在获取到rtp数据包后,依次缓存获取到的rtp数据包,检测设备可以固定的检测窗口检测rtp数据包。检测窗口的窗口数m,m为正整数(图5中m为10)m可以是固定的数值,比如100、300等。该窗口数小于缓存装置的最大缓存单元的数据,具体地,在检测到第i个rtp数据包与第i+1个rtp数据包之间满足第一丢包条件时或在接收到rtp数据包时,检测设备开启检测窗口,检测窗口以第i个rtp数据包所在的缓存单元起始包括m个缓存单元,m为正整数。

若所述检测窗口内rtp数据包的丢包总数大于第一阈值或所述检测窗口内rtp数据包的丢包率大于第二阈值,则检测设备输出用于指示检测窗口内目的数据丢包的第一指示信息。

可以理解,对于音频即时通信来说,一个rtp可以包括多个音频帧,音频帧分为语音帧和静音帧,静音帧的rtp的打包时长远大于语音帧的打包时长。静音帧不包括有用的语音信息,在检测rtp数据包时,若接收到的第i个rtp数据包与第i+1个rtp数据包之间丢失的rtp数据包包含静音帧,检测设备跳过该认为第i个rtp数据包与第i+1个rtp数据包正常,不进行进一步的检测。仅当第i个rtp数据包与第i+1个rtp数据包之间丢包且丢失的包不包含静音帧时,检测设备才打开检测窗口。

本发明一实施例中,

若ti+1-ti<▽t1*(si+1-si)+nsid*▽tsid且si+1>si+1,则第i个rtp数据包与第i+1个rtp数据包之间丢失的rtp数据包包含静音帧,检测设备开启检测窗口;

其中,ti为检测设备获取到第i个rtp数据包时的时间,ti+1为检测设备获取到第i+1个rtp数据包时的时间;或,ti为第i个rtp数据包时的时间戳,ti+1为第i+1个rtp数据包时的时间戳。si+1为所述第i+1个rtp数据包的序列号,si为所述第i个rtp数据包的序列号;▽t1为语音帧的打包时长,nsid为静默帧的帧数参数,▽tsid为静默帧的打包时长。

若ti+1-ti≥▽t1*(si+1-si)+nsid*▽tsid且si+1>si+1,则第i个rtp数据包与第i+1个rtp数据包之间丢包且丢包包括静默帧,检测设备可以不检测该段序列,进而检测第i+1个rtp数据包与第i+2个rtp数据包之间丢包情况。

若si+1=si+1,则第i个rtp数据包与第i+1个rtp数据包之间无丢包,检测设备进行下一段序列的检测,即检测第i+1个rtp数据包与第i+2个rtp数据包之间丢包情况。

本发明一实施例中

若▽t1*(si+1-si)/(ti+1-ti)>p,且si+1>si+1,则第i个rtp数据包与第i+1个rtp数据包之间丢失的rtp数据包包含静音帧,检测设备可以开启检测窗口;

其中,ti为检测设备获取到第i个rtp数据包时的时间,ti+1为检测设备获取到第i+1个rtp数据包时的时间;或,ti为第i个rtp数据包时的时间戳,ti+1为第i+1个rtp数据包时的时间戳。si+1为所述第i+1个rtp数据包的序列号,si为所述第i个rtp数据包的序列号;▽t1为语音帧的打包时长,p为第一比率。第一比率的取值可以是0.3、0.5、0.65或其他小于1的数值等。

反之,若▽t1*(si+1-si)/(ti+1-ti)≤p且si+1>si+1,则第i个rtp数据包与第i+1个rtp数据包之间丢包且丢包包括静默帧,检测设备可以不检测该段序列,进而检测第i+1个rtp数据包与第i+2个rtp数据包之间丢包情况。

若si+1=si+1,则第i个rtp数据包与第i+1个rtp数据包之间无丢包,检测设备进行下一段序列的检测,即检测第i+1个rtp数据包与第i+2个rtp数据包之间丢包情况。

对于即时语音通信来说,一个rtp数据包可以包括多帧语音,通常2个,一个缓存单元缓存一个rtp数据包的数据。目的数据为第一终端向第二终端发送的源语音传输到所述第二终端的目的语音数据。

若该检测窗口内rtp数据包的丢包总数大于第一吞音阈值(比如,7)或检测窗口内rtp数据包的丢包率大于第二吞音阈值(比如10%),则该检测窗口内的rtp数据包存在吞音,检测设备输出用于指示该检测窗口内rtp数据包存在吞音问题的吞音指示信息。若该检测窗口内rtp数据包的丢包总数大于断续阈值(比如,12)或该检测窗口内rtp数据包的丢包率大于第二断续阈值(比如50%),则该检测窗口内的rtp数据包存在断续,检测设备输出用于指示该检测窗口内rtp数据包存在断续的断续指示信息。

其中,第一吞音阈值或第一断续阈值的取值范围可以是1-65535。第二吞音阈值或第二断续阈值的取值范围可以是0.1-100%,。可选地,检测设备可以设置第一吞音阈值小于第一断续阈值,第二吞音阈值小于第二断续阈值。

本发明一实施例中,吞音指示信息还可以包括吞音时长,断续指示信息还可以包括断续时长。检测设备还可以输出吞音时长或断音时长,和/或发生吞音或断续的语音数据的位置。其中,

该吞音时长或断音时长te=ncur*δt1,其中,te为吞音时长或断音时长,ncur为检测窗口的窗口数,δt1为rtp数据包的打包时长;或,

该吞音时长或断音时长te=tj-ti,其中,tj为检测窗口中最后一个rtp数据包的时间戳,ti为检测窗口的第一个rtp数据包的时间戳;又或,

该吞音时长或断音时长te=(nj-ni)*δt1,其中,ni为检测窗口中第一个rtp数据包的序列号,nj为检测窗口中最后一个rtp数据包的序列号,δt1为rtp数据包的打包时长。

可以理解,检测窗口可以是自适应窗口也可以是固定窗口,输出吞音时长或断音时长还可以包括其他计算方法或表达方式,本发明不作限定。

对于即时视频通信来说,一帧图像可以打包成多个rtp数据包,属于同一帧图像的rtp数据包的时间戳相同,且一帧图像的最后一个rtp数据包的标志位为1,以使接收端或检测设备可以根据时间戳和/或标志位区分各帧图像。一个缓存单元缓存一帧图像。

可选地,若该检测窗口内rtp数据包的丢包总数大于第一花屏阈值(比如,7)或该检测窗口内rtp数据包的丢包率大于第二花屏阈值(比如,10%),则该检测窗口内的rtp数据包存在视频花屏,检测设备输出用于指示该检测窗口内rtp数据包存在花屏的花屏指示信息。若该检测窗口内rtp数据包的丢包总数大于第一卡顿阈值(比如,12)或该检测窗口内rtp数据包的丢包率大于第二卡顿阈值(比如50%),则该检测窗口内的rtp数据包存在视频卡顿,检测设备输出用于指示该检测窗口内rtp数据包存在卡顿的卡顿指示信息。

可选地,检测设备可以以缓存单元(即帧)为单位来进行检测。

例如,当检测到第i帧图像中rtp数据包的丢包数大于第一阈值或丢包率大于第二阈值时,该第i帧图像出现花屏,检测设备输出第i帧图像出现花屏的花屏指示信息。当检测到连续r帧图像中rtp数据包的丢包数都大于第一阈值或丢包率都大于第二阈值时,该连续的r帧图像处出现卡顿,检测设备输出连续的p帧图像出现卡顿的卡顿指示信息。p为大于1的正整数。

又例如,当检测到第i帧图像中rtp数据包的丢包数大于第一阈值或丢包率大于第二阈值时,检测设备开启检测窗口,当检测到第i+1帧图像中rtp数据包的丢包数大于第一阈值或丢包率大于第二阈值时,检测窗口延伸至第i+1帧图像所在的缓存单元,以此类推,直至检测到连续的q帧图像中rtp数据包的丢包数不大于第三阈值或丢包率不大于第四阈值。此时,检测窗口以第i帧图像所在的缓存单元起始,连续的q帧图像所在的缓存单元结束。其中,第三阈值不大于第一阈值,第四阈值不大于第二阈值。

又例如,当检测到第i帧图像中rtp数据包的丢包数大于第一阈值或丢包率大于第二阈值时,检测设备开启检测窗口,检测窗口以第i帧图像所在的缓存单元起始包括r个缓存单元。检测窗口的窗口数r可以是固定的数值,比如10、30等。该窗口数小于缓存装置的最大缓存单元的数据。

若检测窗口内花屏帧的帧数大于第三花屏阈值或花屏帧的占比大于第四花屏阈值时,检测设备输出用于指示检测窗口内目的数据花屏的花屏指示信息。

若检测窗口内丢失帧的帧数大于第三卡顿阈值或丢失帧的占比大于第四卡顿阈值时,检测设备输出用于指示检测窗口内目的数据卡顿的卡顿指示信息。

其中,花屏帧为丢包数大于第一丢包阈值或丢包率大于第二丢包阈值的帧。

花屏帧的占比a1=n1/ntotal;其中,n1为检测窗口内花屏帧的帧数,ntotal为检测窗口内图像帧的总数。

丢失帧为丢包数大于第三丢包阈值或丢包率大于第四丢包阈值的帧,其中,第三丢包阈值不小于第一丢包阈值,第四丢包阈值不小于第二丢包阈值。

花屏帧的占比a2=n2/ntotal;其中,n2为检测窗口内丢失帧的帧数,ntotal为检测窗口内图像帧的总数。

又例如,帧类型包括i帧、p帧、b帧等。例如,在mpeg编码的过程中,部分视频帧序列压缩成为i帧;部分压缩成p帧;还有部分压缩成b帧。i帧是视频压缩的第一个帧,其他类型的帧都是以i帧为参考进行编码而来。i帧的花屏或丢失,可导致其后连续的多帧图像无法完成编码,引起视频的卡顿。p帧的丢失可能会导致其后连续多帧图像的花屏。

若检测窗口内花屏帧或丢失帧为第一帧类型的帧数大于第五阈值,或检测窗口内花屏帧或丢失帧为第一帧类型的占比大于第六阈值,则输出目的数据损伤的指示信息。其中,第一帧类型包括:i帧、p帧或b帧中至少一种。

例如,若检测窗口内花屏帧或丢失帧包括i帧,则检测设备输出用于指示检测窗口内目的数据卡顿的卡顿指示信息。

本发明一实施例中,花屏指示信息还可以包括花屏时长、发生花屏的视频数据的位置等,卡顿指示信息还可以包括卡顿时长、发生卡顿的视频数据的位置等。检测设备还可以输出花屏时长或卡顿时长,和/或发生花屏或卡顿的视频数据的位置。其中,

该花屏时长或卡顿时长tw=ncur*δt,其中,ncur为检测窗口的的窗口数,δt为视频帧的帧间隔;或,

该花屏时长或卡顿时长tw=tj-ti,其中,tj为检测窗口中最后一帧图像中rtp数据包的时间戳,ti为检测窗口的第一帧图像中rtp数据包的时间戳;又或,

该花屏时长或卡顿时长tw=(nj-ni)*δt2,其中,ni为检测窗口中第一个rtp数据包的序列号,nj为检测窗口中最后一个rtp数据包的序列号,δt2为视频数据中rtp数据包的打包时长。

可以理解,检测窗口可以是自适应窗口也可以是固定窗口,输出花屏时长或卡顿时长还可以包括其他计算方法或表达方式,本发明不作限定。

需要说明的是,第一花屏阈值或第一卡顿阈值的取值范围可以是1-65535。第二花屏阈值或第二卡顿阈值的取值范围可以是0.01-1,可选地,检测设备可以设置第一花屏阈值小于第一卡顿阈值,第二花屏阈值小于第二卡顿阈值。

可以理解,检测设备还可以包括其他检测目的数据的丢包情况的方式,本发明不作限制。

步骤s34:若基于所述目的数据的时间戳检测到所述目的数据的延迟时长满足第二条件,则输出用于指示所述目的数据延时的第二指示信息。

步骤s32之后,检测设备还可以执行步骤s34。步骤s33和步骤s34可以以任意次序执行,也可以同时执行,本发明不作限制。

本发明实施例中,检测设备检测目的数据的延迟情况的方式也可以包括但不限于整体检测、自适应窗口检测或固定窗口检测。其中,

整体检测:检测设备可以以一次会话过程中全部数据为检测对象(即目的数据)或以预设时间段(比如30s,1min、2min等)内的获取的rtp数据为检测对象,对此时会话过程中获取到的全部rtp数据包整体检测或或分段检测,此时,目的数据包括本次会话过程中第二终端接收到的所有rtp数据包。若目的数据的时延抖动量大于第三阈值,则检测设备输出用于指示所述目的数据时延抖动的第二指示信息。

自适应窗口检测:

可一并参阅图7,图7是本发明实施例提供的一种自适应窗口的时延抖动检测原理的示意性说明图。缓存单元依次缓存接收到的rtp数据包,缓存单元内数字表示其缓存的rtp数据包的序列号。缓存单元之间的距离表示rtp数据包的接收时间间隔。检测设备在获取到rtp数据包后,依次缓存获取到的rtp数据包,检测设备可以依次检测各个rtp数据包。具体地,在检测到第i+1个rtp数据包时延抖动(即第i+1个rtp数据包的接收时间不等于rtp打包时长,40ms)时,检测设备开启检测窗口,随着检测进行,检测窗口延伸,以此类推,直至检测到rtp数据包间隔都等于打包时长的连续k个包间隔等于打包时长的rtp数据包。此时,检测窗口以第i个rtp数据包所在的缓存单元起始,以第i个rtp数据包之后接收到的连续的k(图7中k为4)个包间隔等于打包时长的rtp数据包所在的缓存单元结束。若检测窗口内rtp数据包的时延抖动量大于第三阈值时,检测设备输出用于指示检测窗口内rtp数据包抖动延时的第二指示信息,否者,检测设备可以继续检测该连续的k个包间隔等于打包时长的rtp数据包之后是rtp数据包。

固定窗口检测:

可一并参阅图8,图8是本发明实施例提供的一种固定窗口的时延抖动检测原理的示意性说明图。缓存单元依次缓存接收到的rtp数据包,缓存单元内数字表示其缓存的rtp数据包的序列号。缓存单元之间的距离表示rtp数据包的接收时间间隔。所示的固定窗口检测原理示意图。检测设备在获取到rtp数据包后,依次缓存获取到的rtp数据包,检测设备可以固定的检测窗口检测rtp数据包。检测窗口的窗口数m可以是固定的数值(图7中m为10),比如100、300等。该窗口数小于缓存装置的最大缓存单元的数据,具体地,在检测到第i+1个rtp数据包之间时延抖动时,检测设备开启检测窗口,检测窗口以第i个rtp数据包所在的缓存单元起始包括m个缓存单元。若检测窗口内rtp数据包的时延抖动量大于第三阈值时,检测设备输出用于指示检测窗口内rtp数据包抖动延时的第二指示信息,否者,检测设备可以继续下一个检测窗口中的rtp数据包。

本发明一实施例中,第i+1个rtp数据包之间时延抖动幅度ai+1的表达式包括但不限于以下方式的一种:

ai+1=|ti+1-ti-▽ti+1|;

ai+1=ti+1-ti-▽ti+1;

ai+1=|ti+1-ti-▽ti+1|/▽ti+1。

其中,ti为检测设备获取到第i个rtp数据包时的时间,ti+1为检测设备获取到第i+1个rtp数据包时的时间;▽ti+1为所述第i+1个rtp数据包的打包时长。

其中,▽ti+1=ti+1-ti;ti+1为第i+1个rtp数据包的时间戳,ti为第i个rtp数据包的时间戳。

可以理解,对于即时语音通信,当第i+1个rtp数据包的打包时长为语音帧时,▽ti+1为语音帧的打包时长;当第i+1个rtp数据包的打包时长为静音帧时,▽ti+1为静音帧的打包时长。可选地,对于当第i+1个rtp数据包包括静音帧时,检测设备可以不开启检测窗口,在检测到语音帧rtp数据包时延抖动时,检测设备才开启检测窗口。

本发明一实施例中,时延抖动量ajit的表达方式可以包括但不限于以下方式的一种:

其中,ajit为所述时延抖动量;tj+1为所述检测窗口中第j+1个rtp数据包的获取时间,tj为所述检测窗口中第j个rtp数据包的获取时间;δt为所述rtp数据包的打包时长;λ为常数。

若所述检测窗口内rtp数据包的时延抖动量ajit大于第三阈值时,所述检测设备输出用于指示所述目的数据抖动延时的第二指示信息。

可以理解,对于不同的检测方式,对于不同的时延抖动量ajit的表达方式,第三阈值取值不同。例如,第三阈值可以是80ms、100ms或其他数值,本发明不作限制。

可选地,第二指示信息可以包括目的数据中时延抖动的位置信息以及延迟时长。

本发明一实施例中,检测设备输出第一指示信息、第二指示信息、吞音指示信息、断续指示信息、花屏指示信息、卡顿指示信息等的方式包括但不限于以下方式:

检测设备显示该第一指示信息、第二指示信息、吞音指示信息、断续指示信息、花屏指示信息、卡顿指示信息等中的至少一种;

检测设备将第一指示信息、第二指示信息、吞音指示信息、断续指示信息、花屏指示信息、卡顿指示信息等中的至少一种发送至其他设备(第一终端、第二终端、检测终端等),其他设备进行显示输出。

可选地,对于即时语音通信,检测设备解码目的数据,形成的音频,检测设备可以显示该音频的波形,并在音频的波形上标注出发生吞音的位置和/或发生断续的位置。可以理解,该吞音的位置可以是指发送吞音的时间点/段。

可选地,对于即时视频通信,检测设备解码目的数据,形成的视频,检测设备可以显示该视频形成的帧图像上标注出发生花屏的位置,或标注卡顿的时间或帧。

实施上述发明实施例,检测设备获取目的数据,其中,该目的数据为第一终端向第二终端发送的源数据传输到第二终端的数据;源数据包括至少一个rtp数据包,目的数据包括至少一个源数据中的rtp数据包;若基于目的数据中rtp数据包的序列号检测到的目的数据的丢包数满足第一条件,则检测设备输出用于指示目的数据丢包的第一指示信息;若基于目的数据中rtp数据包的时间戳检测到目的数据的时延抖动满足第二条件,则检测设备输出用于指示目的数据抖动延时的第二指示信息。实施本发明实施例,检测设备可以检测出目的数据中包损伤的分布情况,并输出指示信息以提示用户,具有较高的检测准确率和检出率。

通过自适应窗口检测可以检测出出现损伤rtp数据包的段,检测更加精准,且自适应窗口检测出的损伤rtp数据包的段更加完整。

对于即时语音通信,检测设备可检测出吞音、断续的分布情况;对于即时视频通信,检测设备可检测出花屏、卡顿的分布情况。

请参阅图9,图9是本发明实施例提供的另一种即时通信检测方法的流程示意图。该即时通信检测方法可包括以下全部或部分步骤:

步骤s90:检测设备获取第一音频以及第二音频。

其中,所述第一音频为第一终端编码并即时向第二终端发送的音频信息,所述第一音频为第一终端编码并向第二终端发送的音频信息,所述第二音频为所述第二终端根据接收到的音频信息解码生成的音频信息。

可以理解,第一终端以选定的语音编码方式将采集的语音转换为第一音频,再将该第一音频以固定的打包时长封装成rtp数据包,通常一个rtp数据包可以包括一个或多个音频帧,第一终端将该封装好的rtp数据包即时发送至第二终端。rtp数据包在传输的过程中可能发生丢包或时延抖动,使得第二终端接收到的rtp数据包发生损伤。第二终端接收该rtp数据包,解析该rtp数据包,并解码成第二音频。

需要说明的是,语音编码的方式包括但不限于pcm编码、wma编码、adpcm编码、lpc编码、mp3编码、aac编码、celp编码或其他语音编码方式等。本发明实施例以基于pcm编码形成的wav文件为例来说明本发明实施例所述的即时通信检测方法。

在获取到第一音频和第二音频后,检测设备对第一音频和第二音频做分帧处理,比如通过使用移动窗函数实现分帧处理,进而获得特定帧长和特定帧移的音频帧。

本发明一实施例中,检测设备获取第一音频的方式包括但不限于以下几种方式:

第一方式:检测设备可以是第一终端,第一终端可以存储第一音频。

第二方式:检测设备可以是第二终端、检测终端或检测服务器等,第一终端可以将第一音频通过非即时通信的方式发送至检测设备,检测设备接收第一终端发送的第一tcp数据包,所述第一tcp数据包包括所述第一音频。

第三方式:检测设备可以是第二终端、检测终端或检测服务器等,检测设备根据第二音频的特征获取与该第二音频匹配的第一音频。

通常每秒钟的音频信息中可包含4-10个单音,即单个音的持续时长为100ms到250ms之间。若以20ms作为rtp数据包的打包时长,则单音的丢失需要持续损伤5到13个rtp数据包。可以通过连续的多帧音频帧的特征识别该多帧音频帧对应的音。

具体地,第二音频发生丢包,可能导致第二音频中丢失音频帧,对于连续的几个音频帧组成的单音或多音,丢失部分音频帧后,依然可以通过该音频帧的特征识别出该单音或多音,也可以通过该单音或多音的上k音和/或下k音,或者该单音或多音所在的单词或句子等通过机器学习识别出该单音或多音,进而获取该单音或多音对应的样本单音或多音波形,进一步地获取到第二音频中多个单音或多音或对应的样本单音或样本多音,检测设备可以将样本单音或样本多音合成与第二音频对应的音频样本,即第一音频。其中,音频帧的特征包括但不限于梅尔倒频谱系数(mel-scalefrequencycepstralcoefficients,简称mfcc)。

本发明一实施例中,检测设备获取第二音频的方式包括但不限于以下几种方式:

第一方式:检测设备可以是第二终端,第二终端可以接收到的第一终端即时发送的第一音频,解码后得到第二音频。

第二方式:检测设备可以是第一终端、检测终端或检测服务器等,第二终端可以接收到的第一终端即时发送的第一音频,解码后得到第二音频,第二终端可以将该第二音频通过tcp数据包发送至第一终端。

步骤s91:所述检测设备将所述第一音频的第i音频帧与所述第二音频的第j音频帧进行比对,以检测所述第二音频的第j音频帧是否为异常帧。

在将第一音频和第二音频进行分帧后,将第一音频和第二音频进行帧对齐,以建立第一音频中音频帧与第二音频中音频帧的对应关系。具体可以包括但不限于以下三种实现方式:

第一实现方式:例如,请参阅图10所示的第一音频与第二音频的对齐原理示意图。在第一音频在传输到第二终端时,会发生时间延迟,延迟时间为第一音频的传输时间。因而,第二音频开始的预设时间段(比如,延迟时间)内的音频在第一音频中无对应的音频,检测设备可以去除第二音频中预设时间段内的音频,在将去除预设时间段的第二音频与第一音频进行对齐。例如,该预设时间段内的音频包括m个音频帧,则第一音频中的第i音频帧与第二音频的第i+m音频帧对齐。

第二实现方式:检测设备将第一音频中第一个语音帧与第二音频中第一个语音帧进行对齐,以使包括第一音频中第一个语音帧在内的第一音频中第一个语音帧之后的音频帧与包括第二音频中第一个语音帧在内的述第二音频中第一个语音帧之后的音频帧一一对应。

第三实现方式:检测设备提取第一音频的波形特征和第二音频的波形特征,将第一音频的波形特征与第二音频的波形特征进行匹配,基于匹配的位置将第一音频与第二音频进行对齐,以建立第一音频中音频帧与第二音频中音频帧的对应关系。

可以理解,一个音频帧可以包括多个采集点的采样值。每个采集点的采样值可以是其对应时间采集到的声音的振幅。对于确定的音频编码方式和确定的采样率(每秒从连续的音频信号中提取并组成离散信号的个数),一帧音频包含的采集点的个数是确定的值n。

本发明实施例中,步骤s91的一种实现方式可以是:检测设备将第一音频的第i音频帧的能量值与第二音频的第j音频帧的能量值进行比对,当第i音频帧的能量值与第j音频帧的能量值之差大于第一能量阈值时,第j音频帧为异常帧。

其中,第j音频帧的能量值ej的表达方式可以包括但不限于以下表达方式:

其中,ai为第j音频帧中第i个采样点的采样值;n为第j音频帧中采样点的个数;c、a、b为常数,-30≤c≤30,1≤a≤165535,例如c=10,a=10。

音频帧中采集点的个数n等于帧字节数nbit除以每个采集点的存储字节数,其中,帧字节数nbit=▽t1*/k,▽t1为即音频帧时长,比特率k是指每秒传送的比特(bit)数。单位为bps,比特率越高,传送的数据越大。可以理解,第j音频帧为第二音频中任意一帧音频帧,第二音频中各个音频帧中采集点的个数可以相同。同理,可以计算第一音频帧第i音频帧的能量值,本发明不再赘述。

可以理解,对于不同的能量值ej的表达方式,第一能量阈值、第二能量阈值或第三能量阈值的取值在不同的应用场景或可以不同,可根据需要进行设定。

需要说明的是,本发明实施例中,第一音频或第二音频可以以任意音频帧时长进行分帧,分帧后,第一音频的音频帧时长等于第二音频的音频帧时长。

本发明实施例中,步骤s91的另一种实现方式可以是:检测设备将第一音频的第i音频帧的帧类型和第二音频的第j音频帧的帧类型,当第i音频帧的帧类型与第j音频帧的帧类型不一致时,第j音频帧为异常帧。可以理解,帧类型可以划分为语音帧和静音帧。

其中,语音帧可以是能量值大于第二能量阈值的音频帧,静音帧可以是能量值小于第三能量阈值的音频帧。其中,第二能量阈值不小于第三能量阈值。能量值的表达方式可以参见上述步骤s91的第一种实现方式中的相关描述,本发明不在赘述。

步骤s92:在检测到所述第二音频中异常帧满足预设条件时,所述检测设备输出用于指示所述第二音频异常的指示信息。

本发明实施例中,检测设备检测到所述第二音频中异常帧满足预设条件的方式可以包括但不限于整体检测、自适应窗口检测或固定窗口检测。下面对整体检测、自适应窗口检测或固定窗口检测进行详细说明:

整体检测:

检测设备可以以第二音频中所有音频帧为检测对象,若第二音频的异常帧的帧数大于第一阈值或第二音频的异常帧的帧率大于第二阈值时,检测设备输出用于指示所述第二音频异常的指示信息。

自适应窗口检测:

在检测到所述第j音频帧为异常帧时,所述检测设备开启检测窗口,随着检测的进行检测窗口延伸至下一帧,直到检测到连续k个非异常帧,此时,所述检测窗口以所述第j音频帧起始,以所述第j音频帧之后检测到的连续k个非异常帧结束。k为正整数。

若所述检测窗口内第二音频的异常帧的帧数大于第一阈值或所述检测窗口内第二音频的异常帧的帧率大于第二阈值时,所述检测设备输出用于指示所述第二音频异常的指示信息。

其中,k可以是检测设备预设的值,k的取值范围可以是1-65535,可选地,k值为6、8、12或其他数值,本发明不作限定。

固定窗口检测:

检测设备可以固定的检测窗口检测第二音频。检测窗口的窗口数m(图5中m为10)可以是固定的数值,比如100、300等。在检测到所述第j音频帧为异常帧时,所述检测设备开启检测窗口,所述检测窗口以所述第j音频帧起始包括m帧音频帧。

若所述检测窗口内第二音频的异常帧的帧数大于第一阈值或所述检测窗口内第二音频的异常帧的帧率大于第二阈值时,所述检测设备输出用于指示所述第二音频异常的第二指示信息。

本发明一实施例中,检测设备输出第二指示信息等的方式包括但不限于以下方式:

检测设备显示该第二指示信息或检测设备将第二指示信息发送至其他设备(第一终端、第二终端、检测终端等),其他设备进行显示输出。

可选地,对于即时语音通信,检测设备可以显示该第二音频的波形,并在第二音频的波形上标注出发生吞音的位置和/或发生断续的位置。可以理解,该吞音的位置可以是指发送吞音的时间点/段。

本发明图9所示的实施例,检测设备获取第一音频以及获取第二音频;第一音频为第一终端编码并向第二终端发送的音频信息,第二音频为第二终端根据接收到的音频信息解码生成的音频信息;检测设备将第一音频的第i音频帧与第二音频的第j音频帧进行比对,以检测第二音频的第j音频帧是否为异常帧;其中,第i音频帧为与第j音频帧一一对应;i、j为正整数;在检测到第二音频中异常帧满足预设条件时,检测设备输出用于指示第二音频异常的指示信息。实施本发明实施例,可以检测出第二音频中音频帧的分布情况,并输出指示信息以提示用户,具有较高的检测准确率和检出率。

上述详细阐述了本发明实施例的方法,下面提供了本发明实施例的装置。

请参见图11,图11是本发明实施例提供的一种检测设备的结构示意图,该检测设备110可以包括获取单元1101,以及丢包检测单元1102和/或时延检测单元1103;其中,各个单元的详细描述如下:

所述获取单元1101用于:获取目的数据;所述目的数据为第一终端向第二终端发送的源数据传输到所述第二终端的数据;所述源数据包括至少一个rtp数据包,所述目的数据包括至少一个所述源数据中的rtp数据包;

所述丢包检测单元1102用于:若基于所述目的数据中rtp数据包的序列号检测到的所述目的数据的丢包数满足第一条件,则输出用于指示所述目的数据丢包的第一指示信息;

所述时延检测单元1103用于:若基于所述目的数据中rtp数据包的时间戳检测到所述目的数据的时延抖动满足第二条件,则输出用于指示所述目的数据抖动延时的第二指示信息。

在一种可能的实现方式中,所述获取单元1101具体用于:

获取探针设备在第一接口获取到的目的数据;所述第一接口包括通过所述目的数据的支持节点或网关的s1-u接口、s5接口,s8接口、gm接口、mw接口、mi接口或mg接口中的一种。

在又一种可能的实现方式中,所述获取单元1101具体用于:

所述检测设备接收第二终端发送的tcp数据包,所述tcp数据包包括所述目的数据;所述tcp数据包为所述第二终端根据接收到所述目的数据封装生成。

在又一种可能的实现方式中,所述丢包检测单元1102具体用于:

在检测到第i个rtp数据包与第i+1个rtp数据包之间丢包时,开启检测窗口;

若所述检测窗口内rtp数据包的丢包总数大于第一阈值或所述检测窗口内rtp数据包的丢包率大于第二阈值,则所述目的数据的丢包数满足第一条件,输出用于指示所述目的数据丢包的第一指示信息;

其中,所述检测窗口以所述第i个rtp数据包所在的缓存单元起始,以所述第i个rtp数据包之后接收到的序列号连续的k个rtp数据包所在的缓存单元结束;或,所述检测窗口以所述第i个rtp数据包所在的缓存单元起始包括m个缓存单元,m为正整数。

在又一种可能的实现方式中,所述丢包检测单元1102执行所述在检测到所述第i个rtp数据包与所述第i+1个rtp数据包之间丢包时,开启检测窗口,具体包括:

若ti+1-ti<▽t1*(si+1-si)+nsid*▽tsid且si+1>si+1,则开启检测窗口;

其中,ti为检测设备获取到第i个rtp数据包时的时间,ti+1为检测设备获取到第i+1个rtp数据包时的时间;或,ti为第i个rtp数据包时的时间戳,ti+1为第i+1个rtp数据包时的时间戳;

si+1为所述第i+1个rtp数据包的序列号,si为所述第i个rtp数据包的序列号;▽t1为语音帧的打包时长,nsid为静默帧的帧数参数,▽tsid为静默帧的打包时长。

在又一种可能的实现方式中,所述丢包检测单元1102执行所述在检测到所述第i个rtp数据包与所述第i+1个rtp数据包之间丢包时,开启检测窗口,具体包括:

若▽t1*(si+1-si)/(ti+1-ti)>p,且si+1>si+1,则开启检测窗口;

其中,ti为检测设备获取到第i个rtp数据包时的时间,ti+1为检测设备获取到第i+1个rtp数据包时的时间;或,ti为第i个rtp数据包时的时间戳,ti+1为第i+1个rtp数据包时的时间戳;

si+1为所述第i+1个rtp数据包的序列号,si为所述第i个rtp数据包的序列号;▽t1为语音帧的打包时长,p为第一比率。

在又一种可能的实现方式中,所述目的数据为所述第一终端向所述第二终端发送的源语音数据传输到所述第二终端的目的语音数据;所述丢包检测单元1102还用于:

若所述检测窗口内rtp数据包的丢包总数大于第一吞音阈值或所述检测窗口内rtp数据包的丢包率大于第二吞音阈值,则输出用于指示所述目的数据吞音的吞音指示信息;

若所述检测窗口内rtp数据包的丢包总数大于第一断续阈值或所述检测窗口内rtp数据包的丢包率大于第二断续阈值,则输出用于指示所述目的数据断续的断续指示信息。

在又一种可能的实现方式中,所述吞音指示信息还包括吞音时长;所述断续指示信息包括断续时长;所述吞音时长或断续时长的表达式为以下任意一种:

te=ncur*δt1;

te=tj-ti;

te=(nj-ni)*δt1;

其中,te为吞音时长或断音时长,ncur为所述检测窗口的窗口数,δt1为rtp数据包的打包时长;tj为所述检测窗口中最后一个rtp数据包的时间戳,ti为所述检测窗口的第一个rtp数据包的时间戳;ni为所述检测窗口中第一个rtp数据包的序列号,nj为所述检测窗口中最后一个rtp数据包的序列号。

在又一种可能的实现方式中,所述目的数据为所述第一终端向所述第二终端发送的源视频数据传输到所述第二终端的目的视频数据;所述丢包检测单元1102还用于:

若所述测窗口内rtp数据包的丢包总数大于第一花屏阈值或所述检测窗口内rtp数据包的丢包率大于第二花屏阈值,则输出用于指示所述目的数据存在花屏的花屏指示信息;

若所述检测窗口内rtp数据包的丢包总数大于第一卡顿阈值或所述检测窗口内rtp数据包的丢包率大于第二卡顿阈值,则输出用于指示所述目的数据存在卡顿的卡顿指示信息。

在又一种可能的实现方式中,所述目的数据为所述第一终端向所述第二终端发送的源视频数据传输到所述第二终端的目的视频数据;一个缓存单元用于存储一帧视频;所述丢包检测单元1102还用于:

若所述检测窗口内花屏帧的帧数大于第三花屏阈值或花屏帧的占比大于第四花屏阈值时,输出用于指示所述目的数据花屏的花屏指示信息;

若所述检测窗口内丢失帧的帧数大于第三卡顿阈值或丢失帧的占比大于第五卡顿阈值时,输出用于指示所述目的数据卡顿的卡顿指示信息。

其中,所述花屏帧为丢包数大于第一丢包阈值或丢包率大于第二丢包阈值的视频帧;所述丢失帧为丢包数大于第三丢包阈值或丢包率大于第四丢包阈值的视频帧;所述第三丢包阈值不小于所述第一丢包阈值,所述第四丢包阈值不小于所述第二丢包阈值。

在又一种可能的实现方式中,所述花屏指示信息还包括花屏时长;所述卡顿指示信息包括卡顿时长;所述花屏时长或卡顿时长的表达式为以下任意一种:

tw=ncur*δt;

tw=tj-ti;

tw=(nj-ni)*δt2;

其中,tw为所述花屏时长或所述卡顿时长;ncur为所述检测窗口的窗口数,δt为视频帧的帧间隔;tj为所述检测窗口中最后一视频帧中rtp数据包的时间戳,ti为所述检测窗口的第一视频帧中rtp数据包的时间戳;ni为检测窗口中第一个rtp数据包的序列号,nj为检测窗口中最后一个rtp数据包的序列号,δt2为视频数据中rtp数据包的打包时长。

在又一种可能的实现方式中,所述时延检测单元1103具体用于:

在检测到第i+1个rtp数据包时延抖动时,开启检测窗口;

若所述检测窗口内rtp数据包的时延抖动量大于第三阈值时,输出用于指示所述目的数据抖动延时的第二指示信息;

其中,所述检测窗口以所述第i个rtp数据包所在的缓存单元起始,以所述第i个rtp数据包之后接收到的连续的k个包间隔等于打包时长的rtp数据包所在的缓存单元结束;或,所述检测窗口以所述第i个rtp数据包所在的缓存单元起始包括m个缓存单元。

在又一种可能的实现方式中,所述时延检测单元1103执行所述在检测第i+1个rtp数据包之间时延抖动时,开启检测窗口,具体包括:

若第i+1个rtp数据包之间时延抖动幅度大于第一幅度阈值,则开启检测窗口;所述第i+1个rtp数据包之间时延抖动幅度ai+1的表达式包括以下方式的一种:

ai+1=|ti+1-ti-▽ti+1|;

ai+1=ti+1-ti-▽ti+1;

ai+1=|ti+1-ti-▽ti+1|/▽ti+1;

其中,ti为检测设备获取到第i个rtp数据包时的时间,ti+1为检测设备获取到第i+1个rtp数据包时的时间;▽ti+1为所述第i+1个rtp数据包的打包时长。

在又一种可能的实现方式中,所述时延抖动量的计算方法包括:

其中,所述检测窗口包括l个rtp数据包,ajit为所述时延抖动量,tj+1为所述检测窗口中第j+1个rtp数据包的获取时间,tj为所述检测窗口中第j个rtp数据包的获取时间;δtj+1为所述第j+1个rtp数据包的打包时长。

需要说明的是,各个单元的实现还可以对应参照图4所示的方法实施例的相应描述。

在图11所描述的检测设备110中,检测设备获取目的数据,其中,该目的数据为第一终端向第二终端发送的源数据传输到第二终端的数据;源数据包括至少一个rtp数据包,目的数据包括至少一个源数据中的rtp数据包;若基于目的数据中rtp数据包的序列号检测到的目的数据的丢包数满足第一条件,则检测设备输出用于指示目的数据丢包的第一指示信息;若基于目的数据中rtp数据包的时间戳检测到目的数据的时延抖动满足第二条件,则检测设备输出用于指示目的数据抖动延时的第二指示信息。实施本发明实施例,检测设备可以检测出目的数据中包损伤的分布情况,并输出指示信息以提示用户,具有较高的检测准确率和检出率。

通过自适应窗口检测可以检测出出现损伤rtp数据包的段,检测更加精准,且自适应窗口检测出的损伤rtp数据包的段更加完整。

对于即时语音通信,检测设备可检测出吞音、断续的分布情况;对于即时视频通信,检测设备可检测出花屏、卡顿的分布情况。

请参阅图12,图12是本发明实施例提供的另一种检测设备的结构示意图,该检测设备120可以包括处理器1201、存储器1202以及通信接口1203:所述处理器1201、存储器1202和通信接口1203通过总线1204相互连接。

所述通信接口1203用于实现与通信对端的通信连接,以实现与通信对端的数据交换;

存储器1202包括但不限于是随机存储记忆体(英文:randomaccessmemory,简称:ram)、只读存储器(英文:read-onlymemory,简称:rom)、可擦除可编程只读存储器(英文:erasableprogrammablereadonlymemory,简称:eprom)、或便携式只读存储器(英文:compactdiscread-onlymemory,简称:cd-rom),该存储器1202用于相关指令及数据。

处理器1201可以是一个或多个中央处理器(英文:centralprocessingunit,简称:cpu),在处理器1201是一个cpu的情况下,该cpu可以是单核cpu,也可以是多核cpu。

所述检测设备还可以包括至少一个用户接口,例如,检测设备还包括显示器,可实现第一指示信息或第二指示信息的输出;又例如,检测设备还可以包括触摸屏,用于实现指令的输入,以实现检测设备与用户的交互。

所述存储器1202用于存储程序;所述处理器1201执行该存储器中的程序,使得检测设备执行:

获取目的数据;所述目的数据为第一终端向第二终端发送的源数据传输到所述第二终端的数据;所述源数据包括至少一个rtp数据包,所述目的数据包括至少一个所述源数据中的rtp数据包;

若基于所述目的数据中rtp数据包的序列号检测到的所述目的数据的丢包数满足第一条件,则输出用于指示所述目的数据丢包的第一指示信息;和/或,若基于所述目的数据中rtp数据包的时间戳检测到所述目的数据的时延抖动满足第二条件,则输出用于指示所述目的数据抖动延时的第二指示信息。

其中,所述处理器1201输出所述第一指示信息和/或所述第二指示信息的方式包括但不限于:

通过通信接口1203将所述第一指示信息和/或所述第二指示信息发送至其他设备,比如,第一终端、第二终端、检测服务器等;

通过用户接口显示所述第一指示信息和/或第二指示信息。

在一种可能的实现方式中,所述处理器1201执行所述获取目的数据包括:

通过所述通信接口1203获取探针设备在第一接口获取到的目的数据;所述第一接口包括通过所述目的数据的支持节点或网关的s1-u接口、s5接口,s8接口、gm接口、mw接口、mi接口或mg接口中的一种。

在又一种可能的实现方式中,所述处理器1201执行所述获取目的数据包括:

通过所述通信接口1203接收第二终端发送的tcp数据包,所述tcp数据包包括所述目的数据;所述tcp数据包为所述第二终端根据接收到所述目的数据封装生成。

在又一种可能的实现方式中,所述处理器1201执行所述若基于所述目的数据中rtp数据包的序列号检测到的所述目的数据的丢包数满足第一条件,则输出用于指示所述目的数据丢包的第一指示信息,具体包括:

在检测到第i个rtp数据包与第i+1个rtp数据包之间丢包时,开启检测窗口;

若所述检测窗口内rtp数据包的丢包总数大于第一阈值或所述检测窗口内rtp数据包的丢包率大于第二阈值,则所述目的数据的丢包数满足第一条件,输出用于指示所述目的数据丢包的第一指示信息;

其中,所述检测窗口以所述第i个rtp数据包所在的缓存单元起始,以所述第i个rtp数据包之后接收到的序列号连续的k个rtp数据包所在的缓存单元结束;或,所述检测窗口以所述第i个rtp数据包所在的缓存单元起始包括m个缓存单元,m为正整数。

在又一种可能的实现方式中,所述处理器1201执行所述在检测到所述第i个rtp数据包与所述第i+1个rtp数据包之间丢包时,开启检测窗口,具体包括:

若ti+1-ti<▽t1*(si+1-si)+nsid*▽tsid且si+1>si+1,则开启检测窗口;

其中,ti为检测设备获取到第i个rtp数据包时的时间,ti+1为检测设备获取到第i+1个rtp数据包时的时间;或,ti为第i个rtp数据包时的时间戳,ti+1为第i+1个rtp数据包时的时间戳;

si+1为所述第i+1个rtp数据包的序列号,si为所述第i个rtp数据包的序列号;▽t1为语音帧的打包时长,nsid为静默帧的帧数参数,▽tsid为静默帧的打包时长。

在又一种可能的实现方式中,所述处理器1201执行所述在检测到所述第n个rtp数据包与所述第n+1个rtp数据包之间丢包时,开启检测窗口,具体包括:

若▽t1*(si+1-si)/(ti+1-ti)>p,且si+1>si+1,则开启检测窗口;

其中,ti为检测设备获取到第i个rtp数据包时的时间,ti+1为检测设备获取到第i+1个rtp数据包时的时间;或,ti为第i个rtp数据包时的时间戳,ti+1为第i+1个rtp数据包时的时间戳;

si+1为所述第i+1个rtp数据包的序列号,si为所述第i个rtp数据包的序列号;▽t1为语音帧的打包时长,p为第一比率。

在又一种可能的实现方式中,所述目的数据为所述第一终端向所述第二终端发送的源语音数据传输到所述第二终端的目的语音数据;所述处理器1201执行所述若基于所述目的数据中rtp数据包的序列号检测到的所述目的数据的丢包数满足第一条件,则输出用于指示所述目的数据丢包的第一指示信息,具体包括:

若所述检测窗口内rtp数据包的丢包总数大于第一吞音阈值或所述检测窗口内rtp数据包的丢包率大于第二吞音阈值,则输出用于指示所述目的数据吞音的吞音指示信息;

若所述检测窗口内rtp数据包的丢包总数大于第一断续阈值或所述检测窗口内rtp数据包的丢包率大于第二断续阈值,则输出用于指示所述目的数据断续的断续指示信息。

在又一种可能的实现方式中,所述吞音指示信息还包括吞音时长;所述断续指示信息包括断续时长;所述吞音时长或断续时长的表达式包括但不限于以下任意一种:

te=ncur*δt1;

te=tj-ti;

te=(nj-ni)*δt1;

其中,te为吞音时长或断音时长,ncur为所述检测窗口的窗口数,δt1为rtp数据包的打包时长;tj为所述检测窗口中最后一个rtp数据包的时间戳,ti为所述检测窗口的第一个rtp数据包的时间戳;ni为所述检测窗口中第一个rtp数据包的序列号,nj为所述检测窗口中最后一个rtp数据包的序列号。

在又一种可能的实现方式中,所述目的数据为所述第一终端向所述第二终端发送的源视频数据传输到所述第二终端的目的视频数据;所述处理器1201执行所述若基于所述目的数据中rtp数据包的序列号检测到的所述目的数据的丢包数满足第一条件,则输出用于指示所述目的数据丢包的第一指示信息,具体包括:

若所述测窗口内rtp数据包的丢包总数大于第一花屏阈值或所述检测窗口内rtp数据包的丢包率大于第二花屏阈值,则输出用于指示所述目的数据存在花屏的花屏指示信息;

若所述检测窗口内rtp数据包的丢包总数大于第一卡顿阈值或所述检测窗口内rtp数据包的丢包率大于第二卡顿阈值,则输出用于指示所述目的数据存在卡顿的卡顿指示信息。

在又一种可能的实现方式中,所述目的数据为所述第一终端向所述第二终端发送的源视频数据传输到所述第二终端的目的视频数据;一个缓存单元用于存储一帧视频;所述处理器1201执行所述若基于所述目的数据中rtp数据包的序列号检测到的所述目的数据的丢包数满足第一条件,则输出用于指示所述目的数据丢包的第一指示信息,具体包括:

若所述检测窗口内花屏帧的帧数大于第三花屏阈值或花屏帧的占比大于第四花屏阈值时,输出用于指示所述目的数据花屏的花屏指示信息;

若所述检测窗口内丢失帧的帧数大于第三卡顿阈值或丢失帧的占比大于第五卡顿阈值时,输出用于指示所述目的数据卡顿的卡顿指示信息。

其中,所述花屏帧为丢包数大于第一丢包阈值或丢包率大于第二丢包阈值的视频帧;所述丢失帧为丢包数大于第三丢包阈值或丢包率大于第四丢包阈值的视频帧;所述第三丢包阈值不小于所述第一丢包阈值,所述第四丢包阈值不小于所述第二丢包阈值。

在又一种可能的实现方式中,所述花屏指示信息还包括花屏时长;所述卡顿指示信息包括卡顿时长;所述花屏时长或卡顿时长的表达式包括但不限于以下任意一种:

tw=ncur*δt;

tw=tj-ti;

tw=(nj-ni)*δt2;

其中,tw为所述花屏时长或所述卡顿时长;ncur为所述检测窗口的窗口数,δt为视频帧的帧间隔;tj为所述检测窗口中最后一视频帧中rtp数据包的时间戳,ti为所述检测窗口的第一视频帧中rtp数据包的时间戳;ni为检测窗口中第一个rtp数据包的序列号,nj为检测窗口中最后一个rtp数据包的序列号,δt2为视频数据中rtp数据包的打包时长。

在又一种可能的实现方式中,所述处理器1201执行所述若基于所述目的数据中rtp数据包的时间戳检测到所述目的数据的时延抖动满足第二条件,则输出用于指示所述目的数据抖动延时的第二指示信息,具体包括:

在检测到第i+1个rtp数据包时延抖动时,开启检测窗口;

若所述检测窗口内rtp数据包的时延抖动量大于第三阈值时,输出用于指示所述目的数据抖动延时的第二指示信息;

其中,所述检测窗口以所述第i个rtp数据包所在的缓存单元起始,以所述第i个rtp数据包之后接收到的连续的k个包间隔等于打包时长的rtp数据包所在的缓存单元结束;或,所述检测窗口以所述第i个rtp数据包所在的缓存单元起始包括m个缓存单元。

在又一种可能的实现方式中,所述在检测第i+1个rtp数据包之间时延抖动时,开启检测窗口包括:

若第i+1个rtp数据包之间时延抖动幅度大于第一幅度阈值,则开启检测窗口;所述第i+1个rtp数据包之间时延抖动幅度ai+1的表达式包括以下方式的一种:

ai+1=|ti+1-ti-▽ti+1|;

ai+1=ti+1-ti-▽ti+1;

ai+1=|ti+1-ti-▽ti+1|/▽ti+1;

其中,ti为检测设备获取到第i个rtp数据包时的时间,ti+1为检测设备获取到第i+1个rtp数据包时的时间;▽ti+1为所述第i+1个rtp数据包的打包时长。

在又一种可能的实现方式中,所述时延抖动量的计算方法包括:

其中,所述检测窗口包括l个rtp数据包,ajit为所述时延抖动量,tj+1为所述检测窗口中第j+1个rtp数据包的获取时间,tj为所述检测窗口中第j个rtp数据包的获取时间;δtj+1为所述第j+1个rtp数据包的打包时长。

需要说明的是,各个单元的实现还可以对应参照图4所示的方法实施例的相应描述。

在图12所描述的检测设备120中,检测设备获取目的数据,其中,该目的数据为第一终端向第二终端发送的源数据传输到第二终端的数据;源数据包括至少一个rtp数据包,目的数据包括至少一个源数据中的rtp数据包;若基于目的数据中rtp数据包的序列号检测到的目的数据的丢包数满足第一条件,则检测设备输出用于指示目的数据丢包的第一指示信息;若基于目的数据中rtp数据包的时间戳检测到目的数据的时延抖动满足第二条件,则检测设备输出用于指示目的数据抖动延时的第二指示信息。实施本发明实施例,检测设备可以检测出目的数据中包损伤的分布情况,并输出指示信息以提示用户,具有较高的检测准确率和检出率。

通过自适应窗口检测可以检测出出现损伤rtp数据包的段,检测更加精准,且自适应窗口检测出的损伤rtp数据包的段更加完整。

对于即时语音通信,检测设备可检测出吞音、断续的分布情况;对于即时视频通信,检测设备可检测出花屏、卡顿的分布情况。

请参见图13,图13是本发明实施例提供的一种检测设备的结构示意图,该检测设备130可以包括获取单元1301、检测单元1302以及输出单元1303;其中,各个单元的详细描述如下:

获取单元1301,用于获取第一音频以及获取第二音频;所述第一音频为第一终端编码并向第二终端发送的音频信息,所述第二音频为所述第二终端根据接收到的音频信息解码生成的音频信息;

检测单元1302,用于将所述第一音频的第i音频帧与所述第二音频的第j音频帧进行比对,以检测所述第二音频的第j音频帧是否为异常帧;其中,所述第i音频帧为与所述第j音频帧一一对应;i、j为正整数;

输出单元1303,用于在所述检测单元检测到所述第二音频中异常帧满足预设条件时,输出用于指示所述第二音频异常的指示信息。

在一种可能的实现方式中,所述获取单元1301执行所述获取第一音频,具体包括:

根据所述第二音频的特征获取与所述第二音频的特征相匹配的第一音频。

在又一种可能的实现方式中,所述获取单元1301执行所述获取第一音频,具体包括:

接收所述第一终端发送的第一tcp数据包,所述第一tcp数据包包括所述第一音频。

在又一种可能的实现方式中,所述获取单元1301执行所述获取第二音频,具体包括:

接收第二终端发送的第二tcp数据包,所述第二tcp数据包包括所述第二音频。

在又一种可能的实现方式中,所述设备130还包括对齐单元,用于:

在所述检测单元将所述第一音频的第i音频帧与所述第二音频的第j音频帧进行比对,以检测所述第二音频的第j音频帧是否为异常帧之前,建立所述第一音频的第i音频帧与所述第二音频的第j音频帧的对应关系,其中,j=i+m,m为延迟时间对应的音频帧数;或

在所述检测单元将所述第一音频的第i音频帧与所述第二音频的第j音频帧进行比对,以检测所述第二音频的第j音频帧是否为异常帧之前,将所述第一音频中第一个语音帧与第二音频中第一个语音帧进行对齐,以使包括所述第一音频中第一个语音帧在内的所述第一音频中第一个语音帧之后的音频帧与包括所述第二音频中第一个语音帧在内的所述述第二音频中第一个语音帧之后的音频帧一一对应。

在又一种可能的实现方式中,所述检测单元1302具体用于:

将所述第一音频的第i音频帧的能量值与所述第二音频的第j音频帧的能量值进行比对,当所述第i音频帧的能量值与所述第j音频帧的能量值之差大于第一能量阈值时,所述第j音频帧为异常帧。

在又一种可能的实现方式中,所述第j音频帧的能量值的表示形式包括以下表示形式中的一种:

其中,ai为所述第j音频帧中第i个采样点的采样值;n为所述第j音频帧中采样点的个数;c、a、b为常数,-30≤c≤30,1≤a≤165535。

在又一种可能的实现方式中,所述输出单元1303具体用于:

在检测到所述第j音频帧为异常帧时,开启检测窗口;

若所述检测窗口内第二音频的异常帧的帧数大于第一阈值或所述检测窗口内第二音频的异常帧的帧率大于第二阈值时,输出用于指示所述第二音频异常的指示信息;

其中,所述检测窗口以所述第j音频帧起始,以所述第j音频帧之后检测到的连续k个非异常帧结束;或,所述检测窗口以所述第j音频帧起始包括m帧音频帧,m为正整数。

需要说明的是,各个单元的实现还可以对应参照图9所示的方法实施例的相应描述。

本发明图13描述的检测设备130中,检测设备通过获取第一音频以及获取第二音频;第一音频为第一终端编码并向第二终端发送的音频信息,第二音频为第二终端根据接收到的音频信息解码生成的音频信息;检测设备将第一音频的第i音频帧与第二音频的第j音频帧进行比对,以检测第二音频的第j音频帧是否为异常帧;其中,第i音频帧为与第j音频帧一一对应;i、j为正整数;在检测到第二音频中异常帧满足预设条件时,检测设备输出用于指示第二音频异常的指示信息。实施本发明实施例,可以检测出第二音频中音频帧的分布情况,并输出指示信息以提示用户,具有较高的检测准确率和检出率。

请参阅图14,图14是本发明实施例提供的又一种检测设备的结构示意图,该检测设备可以包括处理器1401、存储器以及通信接口1403:所述处理器1401、存储器1402和通信接口1403通过总线1404相互连接。

所述通信接口1403用于实现与通信对端的通信连接,以实现与通信对端的数据交换;

存储器1402包括但不限于是随机存储记忆体(英文:randomaccessmemory,简称:ram)、只读存储器(英文:read-onlymemory,简称:rom)、可擦除可编程只读存储器(英文:erasableprogrammablereadonlymemory,简称:eprom)、或便携式只读存储器(英文:compactdiscread-onlymemory,简称:cd-rom),该存储器1402用于相关指令及数据。

处理器1401可以是一个或多个中央处理器(英文:centralprocessingunit,简称:cpu),在处理器1401是一个cpu的情况下,该cpu可以是单核cpu,也可以是多核cpu。

所述检测设备还可以包括但不限于至少一个用户接口,例如,检测设备还包括显示器,可实现指示信息输出;又例如,检测设备还可以包括触摸屏,用于实现指令的输入,以实现检测设备与用户的交互。

所述存储器用于存储程序;所述处理器1401执行该存储器中的程序,使得检测设备执行:

通过所述通信接口1403获取第一音频以及获取第二音频;所述第一音频为第一终端编码并向第二终端发送的音频信息,所述第二音频为所述第二终端根据接收到的音频信息解码生成的音频信息;

将所述第一音频的第i音频帧与所述第二音频的第j音频帧进行比对,以检测所述第二音频的第j音频帧是否为异常帧;其中,所述第i音频帧为与所述第j音频帧一一对应;i、j为正整数;

在检测到所述第二音频中异常帧满足预设条件时,输出用于指示所述第二音频异常的指示信息。

其中,所述处理器1401输出所述指示信息或的方式包括但不限于:

通过通信接口1403将所述指示信发送至其他设备,比如,第一终端、第二终端、检测服务器等。

通过用户接口显示指示信息。

在一种可能的实现方式中,所述处理器1401执行所述获取第一音频包括:

根据所述第二音频的特征获取与所述第二音频的特征相匹配的第一音频。

在又一种可能的实现方式中,所述处理器1401执行所述获取第一音频包括:

通过所述通信接口1403接收所述第一终端发送的第一tcp数据包,所述第一tcp数据包包括所述第一音频。

在又一种可能的实现方式中,所述处理器1401执行所述获取第二音频包括:

所述检测设备接收第二终端发送的第二tcp数据包,所述第二tcp数据包包括所述第二音频。

在又一种可能的实现方式中,所述处理器1401执行所述将所述第一音频的第i音频帧与所述第二音频的第j音频帧进行比对,以检测所述第二音频的第j音频帧是否为异常帧之前,所述处理器1401还用于执行:

建立所述第一音频的第i音频帧与所述第二音频的第j音频帧的对应关系,其中,j=i+m,m为延迟时间对应的音频帧数;或

将所述第一音频中第一个语音帧与第二音频中第一个语音帧进行对齐,以使包括所述第一音频中第一个语音帧在内的所述第一音频中第一个语音帧之后的音频帧与包括所述第二音频中第一个语音帧在内的所述述第二音频中第一个语音帧之后的音频帧一一对应。

在又一种可能的实现方式中,所述处理器1401执行所述将所述第一音频的第i音频帧与所述第二音频的第j音频帧进行比对,以检测所述第二音频的第j音频帧是否为异常帧,具体包括:

将所述第一音频的第i音频帧的能量值与所述第二音频的第j音频帧的能量值进行比对,当所述第i音频帧的能量值与所述第j音频帧的能量值之差大于第一能量阈值时,所述第j音频帧为异常帧。

在又一种可能的实现方式中,所述第j音频帧的能量值的表示形式包括以下表示形式中的一种:

其中,ai为所述第j音频帧中第i个采样点的采样值;n为所述第j音频帧中采样点的个数;c、a、b为常数,-30≤c≤30,1≤a≤165535。

在又一种可能的实现方式中,所述处理器1401执行所述在检测到所述第二音频中异常帧满足预设条件时,所述检测设备输出用于指示所述第二音频异常的指示信息,具体包括:

在检测到所述第j音频帧为异常帧时,开启检测窗口;

若所述检测窗口内第二音频的异常帧的帧数大于第一阈值或所述检测窗口内第二音频的异常帧的帧率大于第二阈值时,输出用于指示所述第二音频异常的指示信息;

其中,所述检测窗口以所述第j音频帧起始,以所述第j音频帧之后检测到的连续k个非异常帧结束;或,所述检测窗口以所述第j音频帧起始包括m帧音频帧,m为正整数。

需要说明的是,各个器件的实现还可以对应参照图9所示的方法实施例的相应描述。

在图13所描述的检测设备130中,检测设备通过获取第一音频以及获取第二音频;第一音频为第一终端编码并向第二终端发送的音频信息,第二音频为第二终端根据接收到的音频信息解码生成的音频信息;检测设备将第一音频的第i音频帧与第二音频的第j音频帧进行比对,以检测第二音频的第j音频帧是否为异常帧;其中,第i音频帧为与第j音频帧一一对应;i、j为正整数;在检测到第二音频中异常帧满足预设条件时,检测设备输出用于指示第二音频异常的指示信息。实施本发明实施例,可以检测出第二音频中音频帧的分布情况,并输出指示信息以提示用户,具有较高的检测准确率和检出率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1