一种语音分析的方法、系统和语音采集前端机的制作方法

文档序号:7647549阅读:184来源:国知局

专利名称::一种语音分析的方法、系统和语音采集前端机的制作方法
技术领域
:本发明涉及通信
技术领域
,特别是指一种语音分析的方法、系统和语音采集前端才几。
背景技术
:下一代网络(NGN)是电信史的一块里程碑,标志着新一代电信网络时代的到来。随着NGN中软交换技术的飞速发展和应用,软交换技术中的互联网协议(IP)技术承载语音替代基于时分复用(TDM)的公共交换电话网络(PSTN)已经成为电信运营商的重要目标。但是,IP技术承载语音业务在提供高带宽、高度灵活性和服务综合性等等优点的同时,也带了新的困难和挑战。由于IP网络本身提供的是一种按照尽力而为策略实现的无连接业务,如何保证语音等业务的业务质量(Qos)性能,是能否为用户提供优质服务的关键所在。因此,对语音承载质量进行持久、有效的测试、监控就显得非常必要。语音流相对于信令流而言,承载了大量用户的语音数据,因此它的流量较大。在这样高流量的数据之中,如何从中合成属于同一个语音链路的信息,如何分析其语音质量,产出指标告警,给出有指导意义的报表等信息,如何能够同相关呼叫信令进行关联分析,产生出统计指标。这些都是摆在进行高流量语音质量分析面前的难题。目前,现有技术在进行高流量语音质量分析时,第一种方法是同时监测信令数据和语音数据,根据信令数据合成出每次呼叫的关键信息。从每次呼叫的关键信息中提取承载本次语音的IP地址对和端口对,然后关联到所接收的相应的语音数据之中,在语音数据中找出IP地址对和端口对匹配的实时传输协议/实时传输控制协议(RTP/RTCP)数据包,根据RTP数据包、或者根据RTCP数据包所带信息,分析本次通话的语音质量。系统根据记载每次通话语音链路损伤指标的数据,进行相关维度的统计,产生各种关4建业绩指标(KPI,KeyPerformanceIndication)统计指标,分析其统计维度的语音质量。现有技术的第二种方法是系统直接监测RTP数据流,根据RTP数据包的信息合成语音链路,根据对RTP数据包的丟包,时延,抖动等指标的统计,计算产生语音质量指标。第一种方法由于先对信令数据采集,只有根据在信令数据中采集到的IP地址对和端口对后,才能采集语音数据中与IP地址对和端口对相应的RTP/RTCP数据包,再对RTP/RTCP数据包分析处理。因此,需要对语音数据和信令数据同时釆集、监测关联。存在以下缺点对语音数据和信令数据的采集要求较高,在硬件和软件的实施部署上往往有一定的困难;同时监测信令和语音流,加重了系统处理的负担;实现技术复杂,由于需要通过信令数据解析信息,然后关联RTP/RTCP流,对系统监测的准确度有一定影响。第二种方法由于实现的过程中,RTP数据流较大,实现技术复杂,所采集到的RTP数据包只占RTP数据流的其中一部分。存在以下缺点直接根据所采集的RTP数据包合成出属于同一个语音的链路信息时,存在一定的准确性的制约,所以从釆集到的RTP数据包出发,分析时延、抖动等指标,同样存在准确性的问题。这样得出的语音质量情况,其可信度存在一定准确性的影响;由于RTP流量较大,该方案同样存在系统性能受到制约的问题。
发明内容有鉴于此,本发明在于提供一种语音分析的方法、系统和语音采集前端机,以解决上述现有技术中语音分析流程复杂、系统性能受制约的问题。为解决上述现有技术中的问题,本发明提供一种语音分析的方法,包括在所采集到的语音数据包中,获取UDP奇数端口的数据包,通过判断所述UDP奇数端口数据包的版本号和报文类型,得到RTCP数据包;对所述RTCP数据包解码,得到语音链路损伤指标、SSRC标识;利用所述RTCP数据包的端口和所述SSRC标识确定所述RTCP数据包相对应的语音链路,利用所述语音链路损伤指标分析所述相应的语音链路。其中,所述通过判断所UDP奇数端口数据包的版本号和报文类型,得到RTCP数据包的过程包括判断数据包的版本号为2、且报文类型的值在200至204之间时,则确定该数据包为RTCP数据包。其中,确定所述RTCP数据包相对应的语音链路为查找出与所述RTCP数据包有相同端口、SSRC标识相同的语音链路。其中,所述分析为利用所述语音链路损伤指标得到R系数,通过R系数得到相应的MOS评分。其中,该方法之后进一步包括将所述语音链路相对应的呼叫链路关联,输出关联后的分析记录。其中,将所述语音链路相对应的呼叫链路关联为将具有相同IP地址对和RTCP端口对的语音链^各和呼叫链路进行关联。本发明还提供一种语音采集前端机,包括数据采集单元,用于采集语音数据包;获取单元,用于从所述采集的语音数据包中获取UDP奇数端口的数据包;判断单元,用于判断所述UDP奇数端口的数据包的版本号和报文类型,得到RTCP数据包;解码单元,用于对所述RTCP数据包解码,得到语音链路损伤指标、SSRC标识;查找单元,用于利用所述RTCP数据包的端口和所述SSRC标识确定所述RTCP数据包相对应的语音链路;分析单元,用于利用所述语音链路损伤指标分析所述相应的语音链路。其中,所述判断单元,用于判断数据包的版本号为2、且报文类型的值在200至204之间时,则确定该数据包为RTCP数据包。其中,所述查找单元,用于查找出与所述RTCP数据包有相同端口、SSRC标识相同的语音链路。其中,所述分析单元,用于利用所述语音链路损伤指标得到R系数,通过R系数得到相应的MOS评分。本发明还提供一种语音分析的系统,包括有信令采集前端机,语音采集前端机,中心站,信令采集前端机,用于在采集到的呼叫链路中,提取每次呼叫链路的IP地址和RTCP端口;语音釆集前端才几,包括数据采集单元,用于采集语音数据包;获取单元,用于从所述采集的语音数据包中获取UDP奇数端口的数据包;判断单元,用于判断所述UDP奇数端口的数据包的版本号和报文类型,得到RTCP数据包;解码单元,用于对所述RTCP数据包解码,得到语音链路损伤指标、SSRC标识;查找单元,用于利用所述RTCP数据包的端口和所述SSRC标识确定所述RTCP数据包相对应的语音链路;分析单元,用于利用所述语音链路损伤指标分析所述相应的语音链路;中心站,用于将具有相同IP地址对和RTCP端口对的语音链路和呼叫链路进行关联。本发明通过语音数据中提取关键信息分析语音链路,与现有技术相比,分析过程快速、准确,对于高流量语音流量而言,分析过程简单,可将语音数据和信令数据分开监测、分析,使语音分析系统部署更加方便;通过中心站将语音分析和相应的呼叫数据进行关联,可得到丰富、易于识别的分析结果。图1是本发明实施例的流程图;图2是实施例中RTCP数据包包头结构的示意图;图3是实施例中定位语音链路的示意图;图4是实施例中语音链路和呼叫链路关联的示意图;图5是系统实施例的示意图;图6是语音采集前端机的示意图。具体实施方式下面结合附图详细说明本发明的各个实施例。首先给出本发明的实施例。参见图1,步骤S101:在所采集到的语音数据包中,获取用户数据报协议(UDP,UserDatagramProtocol)奇数端口的数据包;对于高流量的语音数据的采集,采集板卡使用千兆以太网卡采集语音数据,采集后的语音数据需要过滤和解码,滤除不相关的数据,只留下RTCP数据包。其中,过滤出RTCP数据包的过程需要结合数据端口特征和协议数据包头的特征来综合判断。由于RTCP数据包不是独立存在的,是与其对应的承载语音数据的RTP数据包一起传送的,RTCP数据包用来表征记录对应语音的相关信息。请求注解RFC1889(R叫uestforComments)身见定的承载RTP相关数据的UDP协议中,UDP偶数端口加1的奇数端口,就是对应的RTCP的数据端口。即,RTCP的数据包,在UDP的端口上,都是奇数的。因此,需要滤除所有非UDP的数据包,然后对UDP包头做简单解码,滤除所有偶数包,得到UDP奇数端口的数据包。步骤S102:通过判断所获取数据包的版本号和报文类型,得到RTCP数据包;在所获取的UDP奇数端口的数据包,也不一定就是RTCP数据包。为此,需要对荻取的数据包进一步的解码判断,判断的依据是RTCP数据包头结构。RTCP数据包的包头(header)结构参见图2,其中,版本(V):2bits,表示RTP的版本号,在RTCP报文中和RTP报文中的一样。填充标志(P):lbit,如果该标志置位,这个RTCP报文在末尾包含不属于控制信息的填充字节。填充字节的最后一个字节是应该忽略的填充字节的计数。一些加密算法需要固定块长的填充字节。对于复合RTCP报文来说,由于复合报文作为一个整体来加密,因此填充字节仅仅出现在最后的单个报文中。接收报告计数(RC):5bits,表示报文中接收报告块的个数。0是有效值。报文类型(PT):8bits,当该报文是SR报文时为常数200。长度(length):16bits,该RTCP报文的32位双字的长度减1,包括首部和所有填充字节。减1使得0是有效长度值,避免扫描复合RTCP报文时出现无限循环,而以32位双字计数是为了避免4字节对齐的有效性检查。判断出数据包的版本号为2、且报文类型的值在200至204之间时,则确定该数据包为RTCP数据包。步骤S103:对所述RTCP数据包解码,得到语音链路损伤指标、同步源(SSRC)标识;在得到RTCP数据包后,进行解码,RTCP数据包中记录有语音链路损伤指标、属性信息。语音链路损伤指标包括有时延、抖动、丟包等情况的记录;属性信息包括有SSRC标识等一些属性信息。在确定出数据包是RTCP数据包后,该数据包的端口也就是RTCP端口。步骤S104:利用所述RTCP数据包的端口和所述SSRC标识确定所述RTCP数据包相对应的语音链路;查找出与所述RTCP数据包有相同端口、SSRC标识相同的语音链路,因为具有与RTCP数据包相同端口和SSRC标识的语音链路,才是RTCP数据包相对应的语音链路。每条语音链路都会有通过预先定义的数据记录构。如图3所示,总管理器为每一条语音链路定义数据记录,所有的数据记录通过一个总的管理器来控制管理。总管理器根据RTCP端口对和SSRC标识,将RTCP包定位到相关的语音链路记录,随后将该RTCP数据包的语音链路损伤指标、属性信息等内容记录在语音链路数据之中。如果RTCP端口和SSRC标识对应的语音链^^信息尚不存在,总管理器就负责创建一条语音链路。总管理器将使用哈希(HASH)表等数据结构,来实现管理的功能。步骤S105:利用所述语音链路损伤指标分析所述相对应的语音链路;在确定出RTCP数据包相对应的语音链路后,利用在步骤S103中解码后得到的语音链路损伤指标进行分析该语音链路的质量。在分析的过程中,利用语音链路损伤指标得到R系数,通过R系数得到体现语音链^各质量的主7见评分(MOS,MeanOptionsScore)。判断一条语音链路的质量状况,最重要的指标是MOS(meanoptionsscore)。虽然MOS是一个主观评分,因此我要通过客观的语音链路损伤指标,如时延、抖动、丟包等情况,通过一套标准规范的算法手段,将之转化成MOS值。通过在每条语音链路的记录结构中的语音链路损伤指标,根据ITU-TG107的"E模型"(E—Model)计算出反映语音质量的R系数,然后根据R系数与MOS分数之间存在的映射关系,得出最终的MOS评分。参考文档ITU-TG.107、ITU-TG..l13AppendixI、rfc355L计算R系数的主要思想参考文档ITU-TG..107,根据一个基准的基本信噪比值Ro,减去各种因素造成的损伤值,最后得出实际的语音质量评估值,也即R系数。理论上R=Ro-各种损伤因素。实际计算时,一般考虑语音链路损伤指标,如编码、延时,抖动和包丢失等损伤因素,G.107给出的计算公式是R=Ro-Is-Id-Ie一eff+AIs是同步损伤;Id是时延损伤;Ie—eff是所谓有效的(effictive)设备损伤;A是一个修正的因子。然后分别计算等式右边的各个值,得出R系数。在实际计算过程中,往往采用一些简化的作法。首先一般A为0,所以直接去掉A。Ro和Is都采用缺省值代替,最后公式简化为R=93.34-Id-Ie—eff只需要计算Id和Ie一eff,就可以算出一个比较准确的近似R系数的值。其中,计算Id的过程如下Id是时延损伤因素,是由数据包在从发送者到接受者的整个过程中,所有的延迟因素共同决定的。数据包在从发送者到接受者的整个过程,包括了如下延迟数据包从发送者到网关的延迟Ds;数据包经过网关的延迟,所谓的编码和组织数据包的延迟De;数据包从网关到接受者网关的延迟Drtcp;接受者网关的处理延迟,主要是缓沖抖动和解码Dj;从接受者网关到接受者的中间延迟Dr;当收集了有关的上述延迟数据之后,就可以计算出Id值。现在关键是首先要计算出上述的延迟数据其中的Ds和Dr,既不好测量,而且它们本身也非常小,故而忽略为0。De主要跟编码解码的方式有关,因此可以计算出各种编码方式的De经验值,查表获得De的值。这个表给出了每种编码在最好情况和最差情况下的De值,使用最好情况加上lt据包时间(packet_size)的20%来作为该编码方式下的De值。packet—size的单位是毫秒ms,由不同的编码方式可以查表G133AppendixI得到,如表1:<table>tableseeoriginaldocumentpage13</column></row><table>表1按照RTP的负载类型字段值,参考rfc3551的4.5,扩展上表,如表2:<table>tableseeoriginaldocumentpage13</column></row><table>181packet—size+520182packet—size+520183packetsize+5201(1016)packet_size+5203(GSM)packet—size+5205(DVI4-1)packet—size+5206(DVI4-2)packet_size+52010(L16-l)packet—size+52011(L16隱2)packet—size+52014(MPA)packetsize+52015(G728)packetsize+520111(G728)packet—size+520表2Drtcp是RTCP时延值除以2,这里的RTCP时延值是指一发一收两个相邻RTCP包所花费的时间之和。Dj=min(code—frame—size+0.9*RTPJitter,300)codeframesize应该就是上面算De提到的packet—size;RTP」itter是抖动值,其中,300为校准值。下面说明计算Ie_eff的过程,有关计算时的分析和表格,参阅ITU-TG.113AppendixI。首先ITU-TG..107给出了一个基本的计算公式,它说明了Ie—eff主要跟两个因素有关编码类型和丢包率Ie—eff=Ie+(95-Ie)*Ppl/(Ppl+Bpl)其中的Ie是纯由编码类型决定的设备损伤,Bpl是由编码类型决定的"丢包强因子",Ppl是丢包率。如果不考虑丟包率,Ie一eff就等于Ie。如果考虑丢包率,就按照上述公式计算。计算时相应数值的参阅表3:编码(按照RTP的负载类型IeBpl14类型字段值区分)<table>tableseeoriginaldocumentpage15</column></row><table>表3上面描述的是计算R系数的过程。通过R系数和MOS值之间预定的对应关系,得到MOS值,将得到的R系数和MOS值记入对应的语音链路记录之中。步骤S106:将所述语音链路相应的呼叫链路关联,输出关联后的记录。在信令呼叫的过程中,从信令数据包中提取RTP信息,并将RTP使用的IP地址和端口记载在呼叫链路中。由于RTP的端口加一后是RTCP的端口,语音链路中记载有RTCP的端口对和IP地址对,可通过RTCP端口对和IP地址对将语音链路和呼叫链路关联。参见图4,通过这个信息,中心站^殳备将具有相同IP地址对和端口对的语音链路和呼叫链路进行关联,并向用户输出关联后的记录,使用户掌握当前语音链路的质量情况。上面的实施例描述的是本发明的实施例进行语音分析的过程,下面详细描述本发明的系统实施例,和语音采集前端的实施例。参见图5、图6在该系统的实施例中,包括信令采集前端机501、语音采集前端才几502、中心站503,信令采集前端机501,用于在采集到的呼叫链路中,提取每次呼叫链路的IP地址和RTCP端口;中心站503,用于将具有相同IP地址对和RTCP端口对的语音链路和呼叫链路进行关联。对于上述语音采集前端机502的实施例,其组成可参见图6,语音采集前端机包括数据采集单元601,用于采集语音数据包;获取单元602,用于从所述采集的语音数据包中获取UDP奇数端口的数据包;判断单元603,用于判断所述UDP奇数端口的数据包的版本号和报文类型,得到RTCP数据包;解码单元604,用于对所述RTCP数据包解码,得到语音链路损伤指标、SSRC标识;查找单元605,用于利用所述RTCP数据包的端口和所述SSRC标识确定所述RTCP数据包相对应的语音链路;分析单元606,用于利用所述语音链路损伤指标分析所述相应的语音链路。在该实施例中,所述判断单元603,用于判断数据包的版本号为2、且报文类型的值在200至204之间时,则确定该数据包为RTCP数据包。在该实施例中,所述查找单元605,用于查找出与所述RTCP数据包有相同端口、SSRC标识相同的语音链路。在该实施例中,所述分析单元606,用于利用所述语音链路损伤指标得到R系数,通过R系数得到相应的MOS评分。对于本发明的方法、系统和语音采集前端机,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1.一种语音分析的方法,其特征在于,包括在所采集到的语音数据包中,获取用户数据报协议UDP奇数端口的数据包,通过判断所述UDP奇数端口数据包的版本号和报文类型,得到实时传输控制协议RTCP数据包;对所述RTCP数据包解码,得到语音链路损伤指标、同步源SSRC标识;利用所述RTCP数据包的端口和所述SSRC标识确定所述RTCP数据包相对应的语音链路,利用所述语音链路损伤指标分析所述相应的语音链路。2、根据权利要求1所述的方法,其特征在于,所述通过判断所UDP奇数端口数据包的版本号和报文类型,得到RTCP数据包的过程包括判断数据包的版本号为2、且报文类型的值在200至204之间时,则确定该数据包为RTCP数据包。3、根据权利要求1所述的方法,其特征在于,确定所述RTCP数据包相对应的语音链路为查找出与所述RTCP数据包有相同端口、SSRC标识相同的语音链路。4、根据权利要求1所述的方法,其特征在于,所述分析为利用所述语音链路损伤指标得到R系数,通过R系数得到相应的主,见评分MOS。5、根据权利要求1所述的方法,其特征在于,该方法之后进一步包括将所述语音链路相对应的呼叫链路关联,输出关联后的分析记录。6、根据权利要求5所述的方法,其特征在于,将所述语音链路相对应的呼叫链路关联为将具有相同IP地址对和RTCP端口对的语音《连路和呼叫链路进行关联。7、一种语音采集前端机,其特征在于,包括数据采集单元,用于采集语音数据包;获取单元,用于从所述采集的语音数据包中获取UDP奇数端口的数据包;判断单元,用于判断所述UDP奇数端口的数据包的版本号和报文类型,得到RTCP数据包;解码单元,用于对所述RTCP数据包解码,得到语音链路损伤指标、SSRC标识;查找单元,用于利用所述RTCP数据包的端口和所述SSRC标识确定所述RTCP数据包相对应的语音链路;分析单元,用于利用所述语音链路损伤指标分析所述相应的语音链路。8、根据权利要求7所述的语音采集前端机,其特征在于,所述判断单元,用于判断数据包的版本号为2、且报文类型的值在200至204之间时,则确定该数据包为RTCP数据包。9、根据权利要求7所述的语音采集前端机,其特征在于,所述查找单元,用于查找出与所述RTCP数据包有相同端口、SSRC标识相同的语音链路。10、根据权利要求7所述的语音采集前端机,其特征在于,所述分析单元,用于利用所述语音链路损伤指标得到R系数,通过R系数得到相应的MOS评分。11、一种语音分析的系统,其特征在于,包括有信令采集前端机,语音采集前端才几,中心站,信令釆集前端机,用于在采集到的呼叫链路中,提取每次呼叫链路的IP地址和RTCP端口;语音采集前端机,包括数据采集单元,用于采集语音数据包;获取单元,用于从所述采集的语音数据包中获取UDP奇数端口的数据包;判断单元,用于判断所述UDP奇数端口的数据包的版本号和报文类型,得到RTCP数据包;解码单元,用于对所述RTCP数据包解码,得到语音链路损伤指标、SSRC标识;查找单元,用于利用所述RTCP数据包的端口和所述SSRC标识确定所述RTCP数据包相对应的语音链路;分析单元,用于利用所述语音链路损伤指标分析所述相应的语音链路;中心站,用于将具有相同IP地址对和RTCP端口对的语音链路和呼叫链路进行关联。全文摘要本发明公开了一种语音分析的方法、系统和语音采集前端机。应用于通信
技术领域
,本发明的方法包括在所采集到的语音数据包中,获取UDP奇数端口的数据包,通过判断所述UDP奇数端口数据包的版本号和报文类型,得到RTCP数据包;对所述RTCP数据包解码,得到语音链路损伤指标、SSRC标识;利用所述RTCP数据包的端口和所述SSRC标识确定所述RTCP据包相对应的语音链路,利用所述语音链路损伤指标分析所述相应的语音链路。本发明提供一种语音分析的系统,和语音采集前端机。本发明在进行高流量语音数据分析时,分析过程简单、快速、准确。文档编号H04L29/06GK101272216SQ20071006456公开日2008年9月24日申请日期2007年3月20日优先权日2007年3月20日发明者佟明君,翔高申请人:北京中创信测科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1