一种语音质量评价方法及装置与流程

文档序号:15147917发布日期:2018-08-10 20:40阅读:232来源:国知局

本申请涉及通信技术领域,具体涉及一种语音质量评价方法及装置。



背景技术:

在语音通信领域中,通常需要检测通话语音质量。当前主流的语音质量评价方法包括pesq(perceptualevaluationofspeechquality,主观语音质量评估)算法以及polqa(perceptualobjectivelisteningqualityanalysis,感知客观语音质量评估)算法。

pesq算法以及polqa算法为基于语音信号输入-输出模型的算法,即需要使用原始语音信号以及经过通信网络后的退化语音信号进行比对,从而获得退化语音信号质量的评估值,pesq算法以及polqa算法可以做到较为准确的评价语音质量。但是,由于提供通信网络的运营商无法获取用户通话的原始语音信号,无法使用pesq算法以及polqa算法对语音质量做到实时评价。因此,运营商如需了解某一区域通话语音质量,就只能局限于使用拨测或路测设备在该区域人工测试采集,这种做法不仅耗费人力物力,效率低下,并且无法做到全区域实时的语音质量监测。



技术实现要素:

有鉴于此,本申请实施例提供一种语音质量评价方法及装置,以解决现有技术中无法进行实时语音质量评价的技术问题。

为解决上述问题,本申请实施例提供的技术方案如下:

一种语音质量评价方法,所述方法包括:

获取待评价语音数据;

提取所述待评价语音数据的网络评价特征,和/或提取所述待评价语音数据的语音评价特征;

将所述待评价语音数据的网络评价特征和/或所述待评价语音数据的语音评价特征输入语音质量评价模型,获得所述待评价语音数据的评价结果,所述语音质量评价模型是预先建立的。

可选的,所述提取所述待评价语音数据的网络评价特征,包括:

从获得所述待评价语音数据的网络接口上,提取所述待评价语音数据对应的网络参数,所述网络参数包括实时传输协议rtp丢包信息、rtp抖动信息、rtp包类型、rtp控制协议rtcp报文信息以及时序信息;

根据所述网络参数计算所述待评价语音数据的滑窗丢包特征、所述待评价语音数据的抖动特征、所述待评价语音数据的丢包特征以及所述待评价语音数据的时延特征中的一种或多种的组合。

可选的,所述根据所述网络参数计算所述待评价语音数据的滑窗丢包特征、所述待评价语音数据的抖动特征、所述待评价语音数据的丢包特征以及所述待评价语音数据的时延特征中的一种或多种的组合,包括:

根据所述rtp丢包信息以及所述rtp抖动信息,计算预设时长内的丢包次数、连续丢包次数、丢包方差以及抖动丢包次数中的一种或多种的组合作为所述待评价语音数据的滑窗丢包特征;

根据所述rtp抖动信息以及所述rtcp报文信息,计算rtp最大抖动、rtp平均抖动、rtp标准抖动、rtcp抖动信息以及rtcp加权抖动信息中的一种或多种的组合作为所述待评价语音数据的抖动特征;

根据所述rtp抖动信息、所述rtcp报文信息以及所述rtp包类型,计算rtp丢包率、rtp语音丢包率、rtp最大丢包率、rtcp丢包率、rtcp加权丢包率以及rtcp直接加权丢包率中的一种或多种的组合作为所述待评价语音数据的丢包特征;

根据所述时序信息中的时间戳,计算所述待评价语音数据的接收时间与所述时间戳的差值,将所述差值作为所述待评价语音数据的时延特征。

可选的,所述提取所述待评价语音数据的语音评价特征,包括:

提取所述待评价语音数据的时域特征和/或所述待评价语音数据的频域特征。

可选的,所述将所述待评价语音数据的网络评价特征和/或所述待评价语音数据的语音评价特征输入所述语音质量评价模型,获得所述待评价语音数据的评价结果,包括:

当提取到所述待评价语音数据的网络评价特征时,将所述待评价语音数据的网络评价特征输入所述语音质量评价模型,获得所述待评价语音数据的网络评价结果;

当提取到所述待评价语音数据的语音评价特征时,将所述待评价语音数据的语音评价特征输入所述语音质量评价模型,获得所述待评价语音数据的语音评价结果;

当获得所述待评价语音数据的网络评价结果或者所述待评价语音数据的语音评价结果时,将所述待评价语音数据的网络评价结果或者所述待评价语音数据的语音评价结果作为所述待评价语音数据的评价结果;

当获得所述待评价语音数据的网络评价结果以及所述待评价语音数据的语音评价结果时,将所述待评价语音数据的网络评价结果以及所述待评价语音数据的语音评价结果加权求和获得所述待评价语音数据的评价结果。

可选的,所述预先建立语音质量评价模型,包括:

获取训练语音数据,所述训练语音数据包括原始语音数据以及所述原始语音数据对应的退化语音数据;

根据所述训练语音数据获取所述退化语音数据的评价结果;

提取所述退化语音数据的网络评价特征,和/或提取所述退化语音数据的语音评价特征;

将所述退化语音数据的网络评价特征和/或所述退化语音数据的语音评价特征作为语音质量评价模型的输入,以第一评价结果与第二评价结果之间的误差小于预设阈值为目标,训练并建立所述语音质量评价模型,所述第一评价结果为所述语音质量评价模型输出的所述退化语音数据的评价结果,所述第二评价结果为根据所述训练语音数据获取的所述退化语音数据的评价结果。

一种语音质量评价装置,所述装置包括:

获取模块,用于获取待评价语音数据;

提取模块,包括第一提取子模块和/或第二提取子模块,所述第一提取子模块用于提取所述待评价语音数据的网络评价特征,所述第二提取子模块用于提取所述待评价语音数据的语音评价特征;

输入模块,用于将所述待评价语音数据的网络评价特征和/或所述待评价语音数据的语音评价特征输入语音质量评价模型,获得所述待评价语音数据的评价结果,所述语音质量评价模型是预先建立的。

可选的,所述第一提取子模块包括:

提取单元,用于从获得所述待评价语音数据的网络接口上,提取所述待评价语音数据对应的网络参数,所述网络参数包括实时传输协议rtp丢包信息、rtp抖动信息、rtp包类型、rtp控制协议rtcp报文信息以及时序信息;

计算单元,用于根据所述网络参数计算所述待评价语音数据的滑窗丢包特征、所述待评价语音数据的抖动特征、所述待评价语音数据的丢包特征以及所述待评价语音数据的时延特征中的一种或多种的组合。

可选的,所述计算单元包括:

第一计算子单元,用于根据所述rtp丢包信息以及所述rtp抖动信息,计算预设时长内的丢包次数、连续丢包次数、丢包方差以及抖动丢包次数中的一种或多种的组合作为所述待评价语音数据的滑窗丢包特征;

第二计算子单元,用于根据所述rtp抖动信息以及所述rtcp报文信息,计算rtp最大抖动、rtp平均抖动、rtp标准抖动、rtcp抖动信息以及rtcp加权抖动信息中的一种或多种的组合作为所述待评价语音数据的抖动特征;

第三计算子单元,用于根据所述rtp抖动信息、所述rtcp报文信息以及所述rtp包类型,计算rtp丢包率、rtp语音丢包率、rtp最大丢包率、rtcp丢包率、rtcp加权丢包率以及rtcp直接加权丢包率中的一种或多种的组合作为所述待评价语音数据的丢包特征;

第四计算子单元,用于根据所述时序信息中的时间戳,计算所述待评价语音数据的接收时间与所述时间戳的差值,将所述差值作为所述待评价语音数据的时延特征。

可选的,所述第二提取子模块具体用于,

提取所述待评价语音数据的时域特征和/或所述待评价语音数据的频域特征。

可选的,所述输入模块包括:

第一输入单元,用于当提取到所述待评价语音数据的网络评价特征时,将所述待评价语音数据的网络评价特征输入所述语音质量评价模型,获得所述待评价语音数据的网络评价结果;

第二输入单元,用于当提取到所述待评价语音数据的语音评价特征时,将所述待评价语音数据的语音评价特征输入所述语音质量评价模型,获得所述待评价语音数据的语音评价结果;

第三输入单元,用于当获得所述待评价语音数据的网络评价结果或者所述待评价语音数据的语音评价结果时,将所述待评价语音数据的网络评价结果或者所述待评价语音数据的语音评价结果作为所述待评价语音数据的评价结果;

第四输入单元,用于当获得所述待评价语音数据的网络评价结果以及所述待评价语音数据的语音评价结果时,将所述待评价语音数据的网络评价结果以及所述待评价语音数据的语音评价结果加权求和获得所述待评价语音数据的评价结果。

可选的,所述语音质量评价模型的建立方式包括:

获取训练语音数据,所述训练语音数据包括原始语音数据以及所述原始语音数据对应的退化语音数据;

根据所述训练语音数据获取所述退化语音数据的评价结果;

提取所述退化语音数据的网络评价特征,和/或提取所述退化语音数据的语音评价特征;

将所述退化语音数据的网络评价特征和/或所述退化语音数据的语音评价特征作为语音质量评价模型的输入,以第一评价结果与第二评价结果之间的误差小于预设阈值为目标,训练并建立所述语音质量评价模型,所述第一评价结果为所述语音质量评价模型输出的所述退化语音数据的评价结果,所述第二评价结果为根据所述训练语音数据获取的所述退化语音数据的评价结果。

由此可见,本申请实施例具有如下有益效果:

本申请实施例预先建立语音质量评价模型,在获得待评价语音数据后,提取待评价语音数据的网络评价特征,和/或提取待评价语音数据的语音评价特征,将待评价语音数据的网络评价特征和/或待评价语音数据的语音评价特征输入预先建立的语音质量评价模型,可以实时获得待评价语音数据的评价结果。本申请实施例可以使用通信网络输出的语音信号作为待评价语音数据以获得评价结果,从而实现实时准确地监测通过通信网络的语音信号质量。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其它的附图。

图1为本申请实施例提供的语音质量评价方法的一实施例的流程图;

图2为本申请实施例提供的建立语音质量评价模型方法的一实施例的流程图;

图3为本申请实施例提供的主叫用户与被叫用户之间的通信网络示例图;

图4为本申请实施例提供的语音质量评价装置的一实施例的架构图。

具体实施方式

现有的针对通信语音质量的评价方法,可以从评价结构上分为基于语音信号的输入-输出模型和基于语音信号或网络参数的输出模型这两大类方法。而基于语音信号的输入-输出模型的算法中,pesq算法以及polqa算法为当前较为主流的语音质量评价方法,这两种算法虽然可以较为准确的评价语音质量,但是不能做到实时的评价语音质量。具体的,上述算法在对语音质量进行评价时,需要使用原始语音信号以及经过通信网络后的退化语音信号进行比对,从而获得退化语音信号质量的评估值,但是实际应用中,提供通信网络的运营商无法实时获取用户通话的原始语音信号,从而也就不能做到对用户通话的语音质量进行实时评价。

为此,如果运营商需要了解某一区域的通话语音质量,现有技术通常需要使用拨测或者路测设备,在该区域进行人工测试采集。但是这种做法不仅耗费人力物力,效率低下,而且也无法做到全区域实时的语音质量监测,因此,上述算法的使用范围以及作用受到了较大程度的限制。

为了解决上述技术问题,本申请实施例提供了一种语音质量评价方法,通过预先建立的语音质量评价模型,可以实时地获得评价语音数据的评价结果。具体的,可以获取待评价语音数据,提取接收到的待评价语音数据的网络评价特征,和/或提取该待评价语音数据的语音评价特征,并将该待评价语音数据的网络评价特征和/或语音评价特征,输入到预先建立的语音质量评价模型中,以获得该语音质量评价模型输出的评价结果。可见,上述获得评价结果的过程中,可以将通信网络输出的语音信号作为待评价语音数据结果,并且根据该语音信号,即可获得该区域的通话语音质量的评价结果,并不需要使用通过通信网络前的原始语音数据,不仅能够实时、准确的对区域内的通话语音质量进行评价,也提高了获得评价结果的效率。

需要说明的是,上述应用场景中的语音质量评价方法仅作为示例性说明,并不用于限定本申请实施例的各种实施方式,相反,本申请实施例的各种实施方式可以适用于任何场景中。

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。

请一并参阅图1,图1示出了本申请实施例中语音质量评价方法的一具体实施例的流程示意图,该方法具体可以包括:

s101:获取待评价语音数据。

作为一种示例,当用户a与用户b分别利用终端a和终端b进行通话时,终端a处的语音数据,会经过通信网络并传输至终端b处,则可以在终端b处采集语音数据,将该语音数据作为待评价语音数据;也可以在传输该语音数据的通信网络中的各个网络接口处,采集该语音数据,将采集到的语音数据作为待评价语音数据。

获取待评价语音数据的实施方式存在多种,上述实施方式仅用于示例性说明,并不用于限定本申请实施例。

s102:提取待评价语音数据的网络评价特征,和/或提取待评价语音数据的语音评价特征。

其中,待评价语音数据的语音评价特征可以是待评价语音数据的时域特征和/或待评价语音数据的频域特征;待评价语音数据的网络评价特征可以是下列特征中的一个或者多个:待评价语音数据的滑窗丢包特征、待评价语音数据的抖动特征、待评价语音数据的丢包特征以及待评价语音数据的时延特征等。作为一种提取待评价语音数据的语音评价特征的示例性实施方式,可以提取待评价语音数据的时域特征和/或提取待评价语音数据的频域特征。在一些非限定性的示例中,时域特征可以是信号功率、噪声功率、能量参数以及基频等特征中的一个或者多个;频域特征可以是频谱参数等。在一些场景中,在提取频域特征时,可以采用能够描述人耳听觉的滤波器,使得提取的频域特征能够从人耳听觉感知角度描述语音数据。

进一步地,在一些实施方式中,还可以通过计算语音评价特征的一阶差分或二阶差分等方式,来描述相邻的多帧待评价语音数据的变化情况。

作为一种提取待评价语音数据的网络评价特征的示例性实施方式,可以从获得该待评价语音数据的网络接口上,提取带评价语音数据对应的网络参数,然后根据该网络参数计算待评价语音数据的滑窗丢包特征、待评价语音数据的抖动特征、待评价郧数据的丢包特征以及待评价语音数据的时延特征。其中,网络参数可以包括rtp(real-timetransportprotocol,实时传输协议)丢包信息、rtp抖动信息、rtp包类型、rtcp(rtpcontrolprotocol,rtp控制协议)报文信息以及时序信息。

具体的,在计算待评价语音数据的滑窗丢包特征时,可以根据从网络传输路径各采集点上获取到的rtp丢包信息以及rtp抖动信息,利用滑窗分析的方法,计算预设时长内的丢包次数、连续丢包次数、丢包方差以及抖动丢包次数中的一种或者多种,并将其中的一种或者多种的组合,作为待评价语音数据的滑窗丢包特征。而利用该滑窗丢包特征,可以拟合出rtp丢包,rtp抖动的频率、分布,以及抖动丢包次数对语音质量的影响,其中,抖动丢包次数是指抖动值超过抖动缓冲区阈值而产生丢包的次数。

比如,可以通过计算rtp丢包率在80ms滑窗上的方差,利用该方差来体现待评价语音数据的rtp丢包的分布情况;又如,可以通过计算超过20ms、40ms、60ms等不同梯度阈值上的抖动值的次数,拟合出抖动溢出丢包效果;再如,可以通过计算rtp丢包长度,具体为计算rtp连续丢包次数超过2、4、6、8个等不同梯度阈值上的次数,拟合出rtp丢包长度对语音质量的影响程度。

在计算待评价语音数据的抖动特征时,可以根据网络中各传输路径上的rtp抖动信息以及终端反馈的rtcp报文信息,计算rtp最大抖动、rtp平均抖动、rtp标准抖动以及rtcp加权抖动,并将其中一种或者多种的组合作为待评价语音数据的抖动特征。利用该抖动特征,可以拟合出网络的抖动情况对语音质量的不同影响。

其中,计算rtcp标准抖动,是指计算评估时间最长的rtcp发送报告中反应终端在上报周期内的平均抖动值。另外,可以根据rtcp发送报告中反应终端在上报周期内的平均抖动值,将在评估时间内的时间占比作为权重,得到rtcp加权抖动值,从而可以利用该rtcp加权抖动值拟合出rtcp抖动的整体情况对语音质量的影响。在计算待评价语音数据的丢包特征时,可以根据网络中各传输路径上的rtp抖动信息、终端反馈的rtcp报文信息以及rtp包类型,计算rtp丢包率、rtp语音丢包率、rtp最大丢包率、rtp丢包率、rtcp加权丢包率以及rtcp直接加权丢包率中的一种或者多种,并将其中一种或者多种的组合作为待评价语音数据的丢包特征。其中,rtp包类型可以包括rtp语音包以及非rtp语音包等类型。利用上述丢包特征,可以拟合出不同路径上的rtp丢包程度、最大丢包长度、有效语音信息的丢包程度以及rtcp的丢包对语音质量的影响。其中,有效语音信息是指根据rtp包类型确定出的包含用户说话内容的语音信息。

其中,在计算rtcp加权丢包率时,可以根据rtcp发送报告中反应终端在上报周期内的丢包数,将在评估时间内的时间占比作为权重,得到的加权平均丢包数,然后将加权平均丢包数与评估时间的总包数的比值,作为rtcp加权丢包率;在计算rtcp直接加权丢包率时,可以根据rtcp发送报告中反应终端在上报周期内的平均丢包率,将在评估时间内的时间占比作为权重,计算得到直接加权丢包率。

比如,可以计算一条传输路径上的rtp最多一次丢包的丢包率,利用该丢包率来体现该传输方向上rtp丢包的严重程度;又比如,也可以根据rtcp发送报告中反应终端在上报周期内的平均丢包率,将在评估时间内的时间占比作为权重,计算得到rtcp加权平均丢包率,利用该rtcp加权平均丢包率来体现rtcp丢包的严重程度;再比如,可以根据rtp的时间戳及序列号,数据包的类型(例如可以是20ms语音包,或者是160ms静默包)以及所丢包的前后数据包的类型等信息,判断所丢的数据包是否为语音包还是非话音的静默包,从而根据判断结果体现语音通话中有效语音信息的丢包程度。

此外,若提取的网络评价特征为时延特征,则可以根据时序信息中的时间戳,计算待评价语音数据的接收时间与该时间戳的差值,将该差值作为待评价语音数据的时延特征。例如,可以在网络传输路径上各采集点获取一通语音通话的接收时间与根据rtp获取的时间戳,然后计算接收时间与时间戳所表示的时间之间的差值,并将该差值作为待评价语音数据的时延特征。其中,该时间差可以体现各个采集点所在的传输路径上的总体抖动时延对语音质量的影响。

s103:将待评价语音数据的网络评价特征和/或待评价语音数据的语音评价特征,输入至语音质量评价模型中,获得待评价语音数据的评价结果。语音质量评价模型可以是预先建立的。在提取到待评价语音数据的网络评价特征和/或待评价语音数据的语音评价特征后,可以将该网络评价特征和/或语音评价特征输入至预先建立好的语音质量评价模型中,获得相应的待评价语音数据的评价结果。本实施例中,根据输入的待评价语音数据的不同,语音质量评价模型也可以不同。具体的,若输入的为待评价语音数据的网络评价特征,则语音质量评价模型可以是网络评价模型;若输入的为待评价语音数据的语音评价特征,则语音质量评价模型可以是语音评价模型;若输入的为待评价语音数据的网络评价特征以及语音评价特征,则语音质量评价模型中可以包括网络评价模型以及语音评价模型两个模型;若输入的为待评价语音数据的网络评价特征以及语音评价特征,这时,语音质量评价模型可以为一个模型,则该模型的输入为提取网络评价特征以及语音评价特征,输出为待评价语音数据的语音评价结果。

在一些实施方式中,当语音质量评价模型中的网络特征评价模型和语音特征评价模型分别构建时,则当提取到待评价语音数据的网络评价特征时,可以将该网络评价特征输入网络特征评价模型,获得待评价语音数据的网络评价结果;当提取到待评价语音数据的语音评价特征时,可以将该网络评价特征输入语音特征评价模型,获得待评价语音数据的语音评价结果。

若只获得待评价语音数据的网络评价结果,或者是只获得待评价语音数据的语音评价结果,则将该网络评价结果或者语音评价结果,作为待评价语音数据的评价结果。若同时获得待评价语音数据的网络评价结果,以及待评价语音数据的语音评价结果,则将该网络评价结果以及语音评价结果进行加权求和,将加权求和后得到的结果作为该待评价语音数据的评价结果。

在一种示例中,可以利用mos值来表征待评价语音数据的网络评价结果以及语音评价结果。具体的,若同时获得待评价语音数据的网络评价结果以及语音评价结果,则该待评价语音数据的评价结果可以利用公式(1)进行计算得到。

mos=α·mos1+β·mos2(1)

其中,mos为待评价语音数据的评价结果,mos1为获得的待评价语音数据的网络评价结果,mos2为获得的待评价语音数据的语音评价结果,α和β分别为网络评价结果以及语音评价结果的权重参数。需要说明的是,α和β的取值可以根据实验结果或者实际应用的需要进行设定。

可以理解,利用获得的待评价语音数据的网络评价结果以及语音评价结果所计算得到的mos,与待评价语音数据的网络评价特征以及语音评价特征有关,从而能够反馈出通话质量受网络因素以及非网络因素的综合影响程度,更加能够反映出用户真实的语音感知。值得注意的是,若只获得待评价语音数据的网络评价结果,则在计算待评价语音数据的评价结果mos时,可以α的取值为1,β的取值为0,即将待评价语音数据的网络评价结果作为待评价语音数据的评价结果;若只获得待评价语音数据的语音评价结果,则在计算待评价语音数据的评价结果mos时,可以α的取值为0,β的取值为1,即将待评价语音数据的语音评价结果作为待评价语音数据的评价结果。

在另一些实施方式中,当语音质量评价模型为一个模型时,则输入至语音质量评价模型的特征为待评价语音数据的网络评价特征以及语音评价特征,并且该语音质量评价模型可以根据待评价语音数据的网络评价特征以及语音评价特征,直接输出待评价语音数据的评价结果。

本实施例中,在获得待评价语音数据后,可以提取待评价语音数据的网络评价特征,和/或提取待评价语音数据的语音评价特征,并将提取到的待评价语音数据的网络评价特征和/或语音评价特征,输入至预先建立的语音质量评价模型中,从而可以实时获得待评价语音数据的评价结果。本申请实施例可以使用通信网络输出的语音信号作为待评价语音数据以获得评价结果,从而实现实时准确地监测通过通信网络的语音信号质量。

进一步的,上述实施例中,可以利用预先建立好的语音质量评价模型,对待评价语音数据进行语音信号质量的评价。为了详细介绍预先建立语音质量评价模型的具体实施过程,本申请还提供了建立语音质量评价模型的非限定性实施例。下面进行具体说明。

请一并参阅图2,图2示出了本申请实施例中建立语音质量评价模型的一具体实施例的方法流程图,该方法具体可以包括:

s201:获取训练语音数据,该训练语音数据包括原始语音数据以及原始语音数据对应的退化语音数据。

可以理解,在建立模型时,通常需要获取用于训练该模型的样本数据。而在评价语音信号质量时,可以是通过比对原始语音信号以及经过通信网络后的退化语音信号,得到退化语音信号的语音质量评估值。则在建立语音质量评价模型时,可以利用原始语音数据以及原始语音数据对应的退化语音数据训练得到。

需要说明的是,原始语音数据,通常是指没有经过通信网络的语音数据,而退化语音数据,通常是指经过通信网络的语音数据。例如,如图3所示,主叫用户与被叫用户之间分别通过终端a和终端b进行通话。当主叫用户在终端a发出声音(进行说话)时,终端a处的语音数据经过通信网络传输到终端b上,使得被叫用户通过终端b听见主叫用户的说话内容,其中,通信网络上包含一个或者多个网络接口。终端a处的语音数据没有经过通信网络,即为原始语音数据,而终端b的语音数据或者网络接口处的语音数据,是经过通信网络的语音数据,即为退化语音数据。

作为获取训练语音数据的一种示例性的实施方式,可以采用模拟通信的方式,分别收集各种模拟通信环境下的语音数据。具体的,可以在高保真录音室中采集大量的语音数据,如采集2000小时时长的语音数据等,将该语音数据作为原始语音数据;然后利用主叫用户的手机,分别拨打处于不同模拟通信环境下的被叫用户的手机,并在主叫用户所用的手机处播放之前采集的原始语音数据,原始语音数据经过通信网络后,在被叫用户的手机或主叫用户的手机与被叫用户的手机之间的网络接口上获取到相应的退化语音数据,则将该原始语音数据以及相应的退化语音数据作为训练语音数据。

实际应用中,通常是对影响主叫用户与被叫用户之间的通话质量的网络环境,存在较多的语音质量评价需求,因此,模拟通信环境可以包括各类通信网络质量较差的网络环境和/或场景环境。具体的,网络环境可以是频繁切换的网络环境,例如,处于通话状态的主叫用户和/或被叫用户在短时间内连续切换小区;也可以是通信网络信号较弱的网络环境,例如,基站覆盖范围内有建筑物遮挡导致部分区域的通信网络的信号较弱,或者距离基站较远的边界区域,其通信网络的信号也较弱等;也可以是通信网络中信号干扰程度较大的网络环境,例如,当多个基站的信号覆盖范围重叠覆盖某一区域,则该区域的通信信号受到较多的同频邻区影响并且干扰程度较大。场景环境可以是高铁中、高速路上、高架桥上、高校中、高楼中、地铁中、美食街、景点、站台等场景。当然,模拟通信环境也可以包括通信网络质量良好的网络环境和/或场景环境等。

值的注意的是,获取训练语音数据的另一些实施方式中,也可以是采集实际生活中的通话语音数据,即分别获取多个用户之间进行通话的语音数据,将发出声音的用户a处的语音数据作为原始语音数据,将听到声音的用户b处的语音数据或者用户a与用户b之间通信接口处的语音数据作为退化语音数据。

本申请实施例对获取训练语音数据的具体方式不进行限定。

s202:根据训练语音数据获取退化语音数据的评价结果。

在获得原始语音数据以及原始语音数据对应的退化语音数据后,可以通过比对原始语音数据以及原始语音数据对应的退化语音数据,得到退化语音数据的评价结果。

作为一种示例性的实施方式,可以利用语音活动检测(voiceactivitydetection,vad)等有效语音检测方法,获取训练语音数据中原始语音数据以及退化语音数据的有效语音段,然后再根据原始语音数据的有效语音段,对退化语音数据每个有效语音段进行逐帧分析,利用polqa算法或者pesq算法等计算退化语音数据的有效语音段的评价得分,可以得到退化语音数据的mos(meanopinionscore,平均意见分),或者可以得到退化语音数据的语音质量等级,在一个示例中,语音质量等级可以划分为好、较好、一般、较差、差5个等级。

s203:提取退化语音数据的网络评价特征,和/或提取退化语音数据的语音评价特征。

其中,退化语音数据的网络评价特征可以是下列特征中的一个或者多个:退化语音数据的滑窗丢包特征、退化语音数据的抖动特征、退化语音数据的丢包特征以及退化语音数据的时延特征等。退化语音数据的语音评价特征可以是退化语音数据的时域特征和/或退化语音数据的频域特征。

在一些可能的实施方式中,提取退化语音数据的网络评价特征可以包括:

从获得退化语音数据的网络接口上,提取退化语音数据对应的网络参数,网络参数包括实时传输协议rtp丢包信息、rtp抖动信息、rtp包类型、rtp控制协议rtcp报文信息以及时序信息;

根据网络参数计算退化语音数据的滑窗丢包特征、退化语音数据的抖动特征、退化语音数据的丢包特征以及退化语音数据的时延特征中的一种或多种的组合。

在一些可能的实施方式中,根据网络参数计算退化语音数据的滑窗丢包特征、退化语音数据的抖动特征、退化语音数据的丢包特征以及退化语音数据的时延特征中的一种或多种的组合,可以包括:

根据rtp丢包信息以及rtp抖动信息,计算预设时长内的丢包次数、连续丢包次数、丢包方差以及抖动丢包次数中的一种或多种的组合作为退化语音数据的滑窗丢包特征;

根据rtp抖动信息以及rtcp报文信息,计算rtp最大抖动、rtp平均抖动、rtp标准抖动、rtcp抖动信息以及rtcp加权抖动信息中的一种或多种的组合作为退化语音数据的抖动特征;

根据rtp抖动信息、rtcp报文信息以及rtp包类型,计算rtp丢包率、rtp语音丢包率、rtp最大丢包率、rtcp丢包率、rtcp加权丢包率以及rtcp直接加权丢包率中的一种或多种的组合作为退化语音数据的丢包特征;

根据时序信息中的时间戳,计算退化语音数据的接收时间与时间戳的差值,将差值作为退化语音数据的时延特征。

在一些可能的实施方式中,提取退化语音数据的语音评价特征,可以包括:

提取退化语音数据的时域特征和/或退化语音数据的频域特征,在一些非限定性的示例中,时域特征可以是信号功率、噪声功率、能量参数以及基频等特征中的一个或者多个;频域特征可以是频谱参数等。

提取退化语音数据的网络评价特征,以及提取退化语音数据的语音评价特征的方式,与上述实施例中提取待评价语音数据的网络评价特征,以及提取待评价语音数据的语音评价特征的方式类似,相关说明可以参见上述实施例。

s204:将退化语音数据的网络评价特征和/或退化语音数据的语音评价特征作为语音质量评价模型的输入,以第一评价结果与第二评价结果之间的误差小于预设阈值为目标,训练语音质量评价模型,其中,第一评价结果为语音质量评价模型输出的退化语音数据的评价结果,第二评价结果为根据训练语音数据获取的退化语音数据的评价结果。

在提取到退化语音数据的网络评价特征和/或语音评价特征后,可以将其作为语音质量评价模型的输入,并计算该语音质量评价模型输出的第一评价结果与该退化语音数据对应的第二评价结果之间的误差,如果该误差不小于预设阈值,则继续利用该退化语音数据的网络评价特征和/或语音评价特征,对该语音质量评价模型进行训练,具体可以是对该语音质量评价模型的参数进行更新,直至语音质量评价模型输出的第一评价结果与该退化语音数据对应的第二评价结果之间的误差,小于预设阈值。在一种示例中,第一评价结果与第二评价结果之间的误差可以是均方误差。当均方误差的值小于预设阈值时,表明语音质量评价模型所输出的评价结果,与实际退化语音数据的评价结果之间的差异程度很小,此时训练得到的语音质量评价模型,即为所需的语音质量评价模型。

需要说明的是,步骤s203中可以只提取网络评价特征,也可以只提取语音评价特征,还可以同时提取网络评价特征以及语音评价特征,则鉴于提取的特征不同,所训练得到的语音质量评价模型也可以不同。下面针对语音质量模型的四种非限定性实施方式进行详细说明。

在语音质量评价模型的第一种实施方式中,若只提取网络评价特征,则语音质量评价模型可以是网络评价模型,相应的,在训练网络评价模型的过程中,针对所获取的训练语音数据,可以只提取该训练语音数据中退化语音数据的网络评价特征,并将该退化语音数据的网络评价特征作为网络评价模型的输入,以第一评价结果与第二评价结果之间的误差小于预设阈值为目标,训练并建立得到网络评价模型。

在语音质量评价模型的第二种实施方式中,若只提取语音评价特征,则语音质量评价模型可以是语音评价模型,相应的,在训练语音评价模型的过程中,针对所获取的训练语音数据,可以只提取该训练语音数据中退化语音数据的语音评价特征,并将该退化语音数据的语音评价特征作为语音评价模型的输入,以第一评价结果与第二评价结果之间的误差小于预设阈值为目标,训练并建立得到语音评价模型。

在语音质量评价模型的第三种实施方式中,若提取网络评价特征以及语音评价特征,则语音质量评价模型中可以包括网络评价模型以及语音评价模型两个模型,相应的,在训练网络评价模型以及语音评价模型的过程中,针对所获取的训练语音数据,可以同时提取该训练语音数据中退化语音数据的网络评价特征以及语音评价特征,并将该退化语音数据的网络评价特征作为网络评价模型的输入,将该退化语音数据的语音评价特征作为语音评价模型的输入,以第一评价结果与第二评价结果之间的误差小于预设阈值为目标,分别训练并建立得到网络评价模型以及语音评价模型。

在语音质量评价模型的第四种实施方式中,若提取网络评价特征以及语音评价特征,则所需训练得到的语音质量评价模型为一个模型,相应的,在训练该语音质量评价模型的过程中,该语音质量评价模型的输入为退化语音数据的网络评价特征以及语音评价特征,并以第一评价结果与第二评价结果之间的误差小于预设阈值为目标,训练并建立得到语音质量评价模型。

值的注意的是,在建立语音质量评价模型时,可以采用深度学习的方法构建,语音质量评价模型的网络拓扑结构具体可以是深度学习网络dnn(deepneuralnetwork)、循环神经网络rnn(recurrentneuralnetworks)、长短时记忆神经网络lstm(longshortmemorynetwork)等网络中的一种或者多种的组合;也可以采用浅层神经网络算法模型,比如bp(backpropagation)神经网络、rbf(radicalbasisfunction)神经网络模型等。

实际应用中,通常需要对特定网络环境下的通话用户之间的语音质量进行评价,因此,在训练并且建立语音质量评价模型时,可以根据实际应用的需求,选择一种或者多种网络环境下的训练语音数据,训练得到适应于该特定网络环境的语音质量评价模型。比如,在一种场景中,用户a与处于高铁上的用户b进行通话,则在对用户b处的退化语音数据进行评价时,通常需要采用该场景下的语音质量评价模型进行评价,相应的,在训练语音质量评价模型时,所采用的训练语音数据通常为该场景下的原始语音数据以及退化语音数据。

本申请实施例中,在训练语音质量评价模型前,可以先获取用于训练语音质量评价模型的训练语音数据,然后可以根据该训练语音数据获得退化语音数据的评价结果,并提取退化语音数据的网络评价特征和/或语音评价特征,将其作为语音质量评价模型的输入,以第一评价结果与第二评价结果之间的误差小于预设阈值为目标,训练并建立得到语音质量评价模型。通过训练语音数据训练得到语音质量评价模型,在评价通信网络的语音质量时,可以利用该模型根据待评价的退化语音数据直接得到相应的评价结果,而不需要再获取原始语音数据。

此外,本申请实施例还提供了一种语音质量评价装置。请一并参阅图4,图4示出了本申请实施例中语音质量评价装置的一具体实施例的装置架构图,该装置具体可以包括:

获取模块401,用于获取待评价语音数据;

提取模块402,包括第一提取子模块4021和/或第二提取子模块4022,所述第一提取子模块4021用于提取所述待评价语音数据的网络评价特征,第二提取子模块4022用于提取所述待评价语音数据的语音评价特征;

输入模块403,用于将所述待评价语音数据的网络评价特征和/或所述待评价语音数据的语音评价特征输入语音质量评价模型,获得所述待评价语音数据的评价结果,所述语音质量评价模型是预先建立的。

在一些可能的实施方式中,第一提取子模块4021包括:

提取单元,用于从获得所述待评价语音数据的网络接口上,提取所述待评价语音数据对应的网络参数,所述网络参数包括实时传输协议rtp丢包信息、rtp抖动信息、rtp包类型、rtp控制协议rtcp报文信息以及时序信息;

计算单元,用于根据所述网络参数计算所述待评价语音数据的滑窗丢包特征、所述待评价语音数据的抖动特征、所述待评价语音数据的丢包特征以及所述待评价语音数据的时延特征中的一种或多种的组合。

在一些可能的实施方式中,计算单元包括:

第一计算子单元,用于根据所述rtp丢包信息以及所述rtp抖动信息,计算预设时长内的丢包次数、连续丢包次数、丢包方差以及抖动丢包次数中的一种或多种的组合作为所述待评价语音数据的滑窗丢包特征;

第二计算子单元,用于根据所述rtp抖动信息以及所述rtcp报文信息,计算rtp最大抖动、rtp平均抖动、rtp标准抖动、rtcp抖动信息以及rtcp加权抖动信息中的一种或多种的组合作为所述待评价语音数据的抖动特征;

第三计算子单元,用于根据所述rtp抖动信息、所述rtcp报文信息以及所述rtp包类型,计算rtp丢包率、rtp语音丢包率、rtp最大丢包率、rtcp丢包率、rtcp加权丢包率以及rtcp直接加权丢包率中的一种或多种的组合作为所述待评价语音数据的丢包特征;

第四计算子单元,用于根据所述时序信息中的时间戳,计算所述待评价语音数据的接收时间与所述时间戳的差值,将所述差值作为所述待评价语音数据的时延特征。

在一些可能的实施方式中,第二提取子模块4022具体用于,

提取所述待评价语音数据的时域特征和/或所述待评价语音数据的频域特征。

在一些可能的实施方式中,输入模块403包括:

第一输入单元,用于当提取到所述待评价语音数据的网络评价特征时,将所述待评价语音数据的网络评价特征输入所述语音质量评价模型,获得所述待评价语音数据的网络评价结果;

第二输入单元,用于当提取到所述待评价语音数据的语音评价特征时,将所述待评价语音数据的语音评价特征输入所述语音质量评价模型,获得所述待评价语音数据的语音评价结果;

第三输入单元,用于当获得所述待评价语音数据的网络评价结果或者所述待评价语音数据的语音评价结果时,将所述待评价语音数据的网络评价结果或者所述待评价语音数据的语音评价结果作为所述待评价语音数据的评价结果;

第四输入单元,用于当获得所述待评价语音数据的网络评价结果以及所述待评价语音数据的语音评价结果时,将所述待评价语音数据的网络评价结果以及所述待评价语音数据的语音评价结果加权求和获得所述待评价语音数据的评价结果。

在一些可能的实施方式中,所述语音质量评价模型的建立方式可以包括:

获取训练语音数据,所述训练语音数据包括原始语音数据以及所述原始语音数据对应的退化语音数据;

根据所述训练语音数据获取所述退化语音数据的评价结果;

提取所述退化语音数据的网络评价特征,和/或提取所述退化语音数据的语音评价特征;

将所述退化语音数据的网络评价特征和/或所述退化语音数据的语音评价特征作为语音质量评价模型的输入,以第一评价结果与第二评价结果之间的误差小于预设阈值为目标,训练并建立所述语音质量评价模型,所述第一评价结果为所述语音质量评价模型输出的所述退化语音数据的评价结果,所述第二评价结果为根据所述训练语音数据获取的所述退化语音数据的评价结果。

本申请实施例预先建立语音质量评价模型,在获得待评价语音数据后,提取待评价语音数据的网络评价特征,和/或提取待评价语音数据的语音评价特征,将待评价语音数据的网络评价特征和/或待评价语音数据的语音评价特征输入预先建立的语音质量评价模型,可以实时获得待评价语音数据的评价结果。本申请实施例可以使用通信网络输出的语音信号作为待评价语音数据以获得评价结果,从而实现实时准确地监测通过通信网络的语音信号质量。

需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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