一种网络语音质量评估方法、装置和系统与流程

文档序号:13891300阅读:128来源:国知局
一种网络语音质量评估方法、装置和系统与流程
本发明涉及通信
技术领域
,具体涉及一种网络语音质量评估方法、装置和系统。
背景技术
:近年来,网络电话(VoIP,VoiceoverInternetProtocol)发展迅速,与传统电话相比,VoIP具有占用网络资源少、成本低等优势。然而网际协议(IP,InternetProtocol)网络只提供尽力而为的服务,语音在传输的过程中会受到丢包等多种网络因素的影响,造成网络语音质量的下降,通过对网络语音质量的监控和反馈,可以调整压缩或传输参数,改善网络语音质量。因此,如何对网络语音质量进行实时和准确可靠的测量与评估是网络测量和网络规划设计中相当关键的问题。根据模型输入信息类型以及对码流的介入程度,语音质量评估方法可以分为:参数规划模型、包层模型、比特流层模型、媒体层模型以及混合模型等;其中,基于包层模型的网络语音质量评估方法只允许通过分析语音数据包的包头信息评估语音的质量,其计算复杂度低,且适用于无法介入数据包载荷信息的情形。而基于比特流层模型的网络语音质量评估方法则不仅允许分析语音数据包的包头信息,而且还可以对语音负载信息进行分析,甚至可以进行语音解码,比如分析语音信号的波形,以获得更加详细的丢帧和失真信息,从而获得比基于包层模型的网络语音质量评估方法更加精确的预测质量,但是其计算复杂度交包层模型要高。因此,这两种方法各有其优势,是现有技术较为常用的两种网络语音质量评估方法。但是,不管是基于包层模型的网络语音质量评估方法,还是基于比特流层模型的网络语音质量评估方法,在现有技术中,一般都会利用语音的平均压缩码率来评估压缩失真,以及利用平均丢包率来评估丢包引起的失真,然后再根据压缩失真和丢包引起的失真来评估网络语音质量。在对现有技术的研究和实践过程中,本发明的发明人发现,由于语音的组成较为复杂,比如,语音中经常会出现静音(如说话的间隙等)等情况,而现有方案仅仅只根据其平均失真情况来衡量其语音质量,因此,其预测精度不高,评估结果并不够准确。技术实现要素:本发明实施例提供一种网络语音质量评估方法、装置和系统,可以提高预测精度,从而提高评估结果的准确性。第一方面,本发明实施例提供一种网络语音质量评估方法,包括:获取网络语音的数据包,所述网络语音的数据包包括语音序列;对所述数据包进行解析,得到解析结果;根据所述解析结果确定所述数据包的帧内容特性,所述帧内容特性包括静音帧和语音帧;根据确定的帧内容特性对所述语音序列进行语句划分,并将划分得到的语句划分为多个丢帧事件;根据所述丢帧事件提取非语音参数,所述非语音参数包括位置参数和离散分布参数;根据所述非语音参数按照预置的语音质量评估模型对每条语句的语音质量进行评估,得到每条语句的语音质量;根据所述每条语句的语音质量评估所述语音序列的语音质量。在第一种可能的实施方式中,结合第一方面,所述对所述数据包进行解析,得到解析结果,包括:对所述数据包的包头进行解析,得到解析结果,所述解析结果包括语音序列的时长、语音序列的比特数、丢帧位置和语音负载;所述根据所述解析结果确定所述数据包的帧内容特性,包括:根据所述丢帧位置在所述数据包中确定当前需要检测的丢失帧部分,分别根据所述语音序列的时长、语音序列的比特数和语音负载确定所述丢失帧部分的前一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的帧内容特性,根据所述前一个相邻的未丢失帧的帧内容特性、后一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的标记确定所述丢失帧部分的帧内容特性。在第二种可能的实施方式中,结合第一方面的第一种可能的实施方式,根据所述语音序列的时长、语音序列的比特数和语音负载确定未丢失帧的帧内容特性,包括:获取未丢失帧的实际有效载荷长度;根据所述语音负载、语音序列的比特数和语音序列的时长确定码率;若所述码率所对应的标准有效载荷长度与所述实际有效载荷长度一致,则确定所述未丢失帧为语音帧;若所述码率所对应的标准有效载荷长度与所述实际有效载荷长度不一致,则确定所述未丢失帧为静音帧。在第三种可能的实施方式中,结合第一方面的第二种可能的实施方式,所述根据所述前一个相邻的未丢失帧的帧内容特性、后一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的标记确定所述丢失帧部分的帧内容特性,包括:若确定所述前一个相邻的未丢失帧和后一个相邻的未丢失帧均为静音帧,或后一个相邻的未丢失帧的标记指示所述后一个相邻的未丢失帧为第一个语音帧,则确定所述丢失帧部分为静音帧,否则,确定所述丢失帧部分为语音帧。在第四种可能的实施方式中,结合第一方面的第三种可能的实施方式,所述语音帧包括关键语音帧和非关键语音帧,则在所述确定所述丢失帧部分为语音帧包括:在确定所述前一个相邻的未丢失帧和后一个相邻的未丢失帧均为语音帧时,确定所述丢失帧部分为关键语音帧;在确定所述前一个相邻的未丢失帧为语音帧,以及所述后一个相邻的未丢失帧为静音帧时,确定所述丢失帧部分的前一半部分为关键语音帧,所述丢失帧部分的后一半部分为非关键语音帧;在确定所述前一个相邻的未丢失帧为静音帧,以及所述后一个相邻的未丢失帧为语音帧时,确定所述丢失帧部分的前一半部分为非关键语音帧,所述丢失帧部分的后一半部分为关键语音帧。在第五种可能的实施方式中,结合第一方面,所述对所述数据包进行解析,得到解析结果,包括:对所述数据包的包头进行解析,得到解析结果,所述解析结果包括语音序列的时长、语音序列的比特数、丢帧位置和语音负载;根据所述语音负载进行自适应多速率AMR解码,得到AMR解码后语音信号;根据所述语音序列的时长和语音序列的比特数计算所述AMR解码后语音信号中每一帧的帧能量和平均帧能量;所述根据所述解析结果确定所述数据包的帧内容特性,包括:根据所述丢帧位置在所述数据包中确定当前需要检测的丢失帧部分,根据计算出的帧能量和平均帧能量确定所述丢失帧部分的前一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的帧内容特性,根据所述前一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的帧内容特性确定所述丢失帧部分的帧内容特性。在第六种可能的实施方式中,结合第一方面的第五种可能的实施方式,根据计算出的帧能量和平均帧能量确定未丢失帧的帧内容特性,包括:若所述未丢失帧的帧能量小于等于0,则确定所述未丢失帧为静音帧;若所述未丢失帧的帧能量大于0小于平均帧能量,则确定所述未丢失帧为非关键语音帧;若所述未丢失帧的帧能量大于平均帧能量,则确定所述未丢失帧为关键语音帧。在第七种可能的实施方式中,结合第一方面的第六种可能的实施方式,所述根据所述前一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的帧内容特性确定所述丢失帧部分的帧内容特性,包括:若确定所述前一个相邻的未丢失帧和后一个相邻的未丢失帧均为静音帧,则确定所述丢失帧部分为静音帧;若确定所述前一个相邻的未丢失帧和后一个相邻的未丢失帧均为关键语音帧,则确定所述丢失帧部分为关键语音帧;若确定所述前一个相邻的未丢失帧和后一个相邻的未丢失帧均为非关键语音帧,则确定所述丢失帧部分为非关键语音帧;若确定所述前一个相邻的未丢失帧为关键语音帧,以及所述后一个相邻的未丢失帧为静音帧,则确定所述丢失帧部分的前一半部分为关键语音帧,所述丢失帧部分的后一半部分为非关键语音帧;若确定所述前一个相邻的未丢失帧为静音帧,以及所述后一个相邻的未丢失帧为关键语音帧,则确定所述丢失帧部分的前一半部分为非关键语音帧,所述丢失帧部分的后一半部分为关键语音帧;若确定所述前一个相邻的未丢失帧为关键语音帧,以及所述后一个相邻的未丢失帧为非关键语音帧,则确定所述丢失帧部分为关键语音帧;若确定所述前一个相邻的未丢失帧为非关键语音帧,以及所述后一个相邻的未丢失帧为关键语音帧,则确定所述丢失帧部分为关键语音帧;若确定所述前一个相邻的未丢失帧为非关键语音帧,以及所述后一个相邻的未丢失帧为静音帧,则确定所述丢失帧部分为非关键语音帧;若确定所述前一个相邻的未丢失帧为静音帧,以及所述后一个相邻的未丢失帧为非关键语音帧,则确定所述丢失帧部分为非关键语音帧。在第八种可能的实施方式中,结合第一方面的第三、四或七种可能的实施方式,所述根据确定的帧内容特性对所述语音序列进行语句划分,并将划分得到的语句划分为多个丢帧事件,包括:确定静音帧连续出现的帧数超过预置次数时,将所述静音帧之前的语音序列划分为语句;确定所述语句中相邻两次丢帧部分的距离小于等于预置距离时,将所述相邻两次丢帧部分确定为一次丢帧事件;确定所述语句中相邻两次丢帧部分的距离大于预置距离时,将所述相邻两次丢帧部分确定为两次丢帧事件。在第九种可能的实施方式中,结合第一方面的第三、四或七种可能的实施方式,所述根据所述非语音参数按照预置的语音质量评估模型对每条语句的语音质量进行评估,得到每条语句的语音质量,包括:根据所述非语音参数按照预置的语音质量评估模型对所述丢帧事件进行失真映射,得到丢失的语音帧总数;根据所述丢失的语音帧总数计算语句的语音质量。在第十种可能的实施方式中,结合第一方面的第九种可能的实施方式,所述非语音参数包括非关键语音帧和关键语音帧之间的距离、语音帧丢帧次数、语音帧一次丢失长度、以及损伤长度,则所述根据所述非语音参数按照预置的语音质量评估模型对所述丢帧事件进行失真映射,得到丢失的语音帧总数,包括:确定连续丢帧时,根据所述非关键语音帧和关键语音帧之间的距离将丢帧事件中的非关键语音帧映射成丢失的关键语音帧数,根据所述语音帧丢帧次数确定实际丢失的关键语音帧数,根据所述实际丢失的关键语音帧数和映射得到的丢失的关键语音帧数将所述丢帧事件映射成丢失的语音帧总数;确定离散丢帧时,根据所述语音帧丢帧次数、语音帧一次丢失长度、以及损伤长度将丢帧事件中的损伤帧映射成丢失的语音帧数,根据所述语音帧丢帧次数确定实际丢失的关键语音帧数,根据所述实际丢失的关键语音帧数和映射得到的丢失的语音帧数将所述丢帧事件映射成丢失的语音帧总数;或者,确定离散丢帧时,根据所述语音帧一次丢失长度和损伤长度将丢帧事件中的损伤帧映射成丢失的语音帧数,根据所述语音帧丢帧次数确定实际丢失的关键语音帧数,根据所述实际丢失的关键语音帧数和映射得到的丢失的语音帧数将所述丢帧事件映射成丢失的语音帧总数。在第十一种可能的实施方式中,结合第一方面的第九种可能的实施方式,所述非语音参数包括非关键语音帧和关键语音帧之间的距离、语音帧丢帧次数、平均丢失长度和平均损伤长度,则所述根据所述非语音参数将所述丢帧事件中不同位置下的丢失帧和不同离散分布下的丢失帧映射成丢失的语音帧总数,包括:确定连续丢帧时,根据所述非关键语音帧和关键语音帧之间的距离将丢帧事件中的非关键语音帧映射成丢失的关键语音帧数,根据所述语音帧丢帧次数确定实际丢失的关键语音帧数,根据所述实际丢失的关键语音帧数和映射得到的丢失的关键语音帧数将所述丢帧事件映射成丢失的语音帧总数;确定离散丢帧时,根据所述平均丢失长度和平均损伤长度将所述丢帧事件映射成丢失的语音帧总数。第二方面,本发明实施例还提供一种网络语音质量评估装置,包括获取单元、解析单元、确定单元、划分单元、提取单元和评估单元,其中:获取单元,用于获取网络语音的数据包,所述网络语音的数据包包括语音序列;解析单元,用于对获取单元获取到的数据包进行解析,得到解析结果;确定单元,用于根据解析单元得到的解析结果确定所述数据包的帧内容特性,所述帧内容特性包括静音帧和语音帧;划分单元,用于根据确定单元确定的帧内容特性对所述语音序列进行语句划分,并将划分得到的语句划分为多个丢帧事件;提取单元,用于根据划分单元划分的丢帧事件提取非语音参数,所述非语音参数包括位置参数和离散分布参数;评估单元,用于根据提取单元提取的非语音参数按照预置的语音质量评估模型对每条语句的语音质量进行评估,得到每条语句的语音质量,根据所述每条语句的语音质量评估所述语音序列的语音质量。在第一种可能的实施方式中,结合第二方面,其中:所述解析单元,具体用于对所述数据包的包头进行解析,得到解析结果,所述解析结果包括语音序列的时长、语音序列的比特数、丢帧位置和语音负载;所述确定单元,具体用于根据所述丢帧位置在所述数据包中确定当前需要检测的丢失帧部分,分别根据所述语音序列的时长、语音序列的比特数和语音负载确定所述丢失帧部分的前一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的帧内容特性,以及确定后一个相邻的未丢失帧的标记,根据所述前一个相邻的未丢失帧的帧内容特性、后一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的标记确定所述丢失帧部分的帧内容特性。在第二种可能的实施方式中,结合第二方面的第一种可能的实施方式,其中:所述确定单元,具体用于获取未丢失帧的实际有效载荷长度;根据所述语音负载、语音序列的比特数和语音序列的时长确定码率;若所述码率所对应的标准有效载荷长度与所述实际有效载荷长度一致,则确定所述未丢失帧为语音帧;若所述码率所对应的标准有效载荷长度与所述实际有效载荷长度不一致,则确定所述未丢失帧为静音帧。在第三种可能的实施方式中,结合第二方面的第二种可能的实施方式,其中:所述确定单元,具体用于若确定所述前一个相邻的未丢失帧和后一个相邻的未丢失帧均为静音帧,或后一个相邻的未丢失帧的标记指示所述后一个相邻的未丢失帧为第一个语音帧,则确定所述丢失帧部分为静音帧,否则,确定所述丢失帧部分为语音帧。在第四种可能的实施方式中,结合第二方面的第三种可能的实施方式,其中:所述语音帧包括关键语音帧和非关键语音帧,则:所述确定单元,具体用于在确定所述前一个相邻的未丢失帧和后一个相邻的未丢失帧均为语音帧时,确定所述丢失帧部分为关键语音帧;在确定所述前一个相邻的未丢失帧为语音帧,以及所述后一个相邻的未丢失帧为静音帧时,确定所述丢失帧部分的前一半部分为关键语音帧,所述丢失帧部分的后一半部分为非关键语音帧;在确定所述前一个相邻的未丢失帧为静音帧,以及所述后一个相邻的未丢失帧为语音帧时,确定所述丢失帧部分的前一半部分为非关键语音帧,所述丢失帧部分的后一半部分为关键语音帧。在第五种可能的实施方式中,结合第二方面,其中:所述解析单元,具体用于对所述数据包的包头进行解析,得到解析结果,所述解析结果包括语音序列的时长、语音序列的比特数、丢帧位置和语音负载;根据所述语音负载进行自适应多速率AMR解码,得到AMR解码后语音信号;根据所述语音序列的时长和语音序列的比特数计算所述AMR解码后语音信号中每一帧的帧能量和平均帧能量;所述确定单元,具体用于根据所述丢帧位置在所述数据包中确定当前需要检测的丢失帧部分,根据计算出的帧能量和平均帧能量确定所述丢失帧部分的前一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的帧内容特性,根据所述前一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的帧内容特性确定所述丢失帧部分的帧内容特性。在第六种可能的实施方式中,结合第二方面的第五种可能的实施方式,其中:所述确定单元,具体用于若所述未丢失帧的帧能量小于等于0,则确定所述未丢失帧为静音帧;若所述未丢失帧的帧能量大于0小于平均帧能量,则确定所述未丢失帧为非关键语音帧;若所述未丢失帧的帧能量大于平均帧能量,则确定所述未丢失帧为关键语音帧。在第七种可能的实施方式中,结合第二方面的第六种可能的实施方式,其中:所述确定单元,具体用于:若确定所述前一个相邻的未丢失帧和后一个相邻的未丢失帧均为静音帧,则确定所述丢失帧部分为静音帧;若确定所述前一个相邻的未丢失帧和后一个相邻的未丢失帧均为关键语音帧,则确定所述丢失帧部分为关键语音帧;若确定所述前一个相邻的未丢失帧和后一个相邻的未丢失帧均为非关键语音帧,则确定所述丢失帧部分为非关键语音帧;若确定所述前一个相邻的未丢失帧为关键语音帧,以及所述后一个相邻的未丢失帧为静音帧,则确定所述丢失帧部分的前一半部分为关键语音帧,所述丢失帧部分的后一半部分为非关键语音帧;若确定所述前一个相邻的未丢失帧为静音帧,以及所述后一个相邻的未丢失帧为关键语音帧,则确定所述丢失帧部分的前一半部分为非关键语音帧,所述丢失帧部分的后一半部分为关键语音帧;若确定所述前一个相邻的未丢失帧为关键语音帧,以及所述后一个相邻的未丢失帧为非关键语音帧,则确定所述丢失帧部分为关键语音帧;若确定所述前一个相邻的未丢失帧为非关键语音帧,以及所述后一个相邻的未丢失帧为关键语音帧,则确定所述丢失帧部分为关键语音帧;若确定所述前一个相邻的未丢失帧为非关键语音帧,以及所述后一个相邻的未丢失帧为静音帧,则确定所述丢失帧部分为非关键语音帧;若确定所述前一个相邻的未丢失帧为静音帧,以及所述后一个相邻的未丢失帧为非关键语音帧,则确定所述丢失帧部分为非关键语音帧。在第八种可能的实施方式中,结合第二方面的第三、四或七种可能的实施方式,其中:所述划分单元,具体用于确定静音帧连续出现的帧数超过预置次数时,将所述静音帧之前的语音序列划分为语句;确定所述语句中相邻两次丢帧部分的距离小于等于预置距离时,将所述相邻两次丢帧部分确定为一次丢帧事件;确定所述语句中相邻两次丢帧部分的距离大于预置距离时,将所述相邻两次丢帧部分确定为两次丢帧事件。在第九种可能的实施方式中,结合第二方面的第三、四或七种可能的实施方式,其中:所述评估单元,具体用于根据所述非语音参数按照预置的语音质量评估模型对所述丢帧事件进行失真映射,得到丢失的语音帧总数;根据所述丢失的语音帧总数计算语句的语音质量。在第十种可能的实施方式中,结合第二方面的第九种可能的实施方式,其中:所述非语音参数包括非关键语音帧和关键语音帧之间的距离、语音帧丢帧次数、语音帧一次丢失长度、以及损伤长度;则所述评估单元,具体用于:确定连续丢帧时,根据所述非关键语音帧和关键语音帧之间的距离将丢帧事件中的非关键语音帧映射成丢失的关键语音帧数,根据所述语音帧丢帧次数确定实际丢失的关键语音帧数,根据所述实际丢失的关键语音帧数和映射得到的丢失的关键语音帧数将所述丢帧事件映射成丢失的语音帧总数;确定离散丢帧时,根据所述语音帧丢帧次数、语音帧一次丢失长度、以及损伤长度将丢帧事件中的损伤帧映射成丢失的语音帧数,根据所述语音帧丢帧次数确定实际丢失的关键语音帧数,根据所述实际丢失的关键语音帧数和映射得到的丢失的语音帧数将所述丢帧事件映射成丢失的语音帧总数;或者,确定离散丢帧时,根据所述语音帧一次丢失长度和损伤长度将丢帧事件中的损伤帧映射成丢失的语音帧数,根据所述语音帧丢帧次数确定实际丢失的关键语音帧数,根据所述实际丢失的关键语音帧数和映射得到的丢失的语音帧数将所述丢帧事件映射成丢失的语音帧总数。在第十一种可能的实施方式中,结合第二方面的第九种可能的实施方式,其中:所述非语音参数包括非关键语音帧和关键语音帧之间的距离、语音帧丢帧次数、平均丢失长度和平均损伤长度,则所述评估单元,具体用于:确定连续丢帧时,根据所述非关键语音帧和关键语音帧之间的距离将丢帧事件中的非关键语音帧映射成丢失的关键语音帧数,根据所述语音帧丢帧次数确定实际丢失的关键语音帧数,根据所述实际丢失的关键语音帧数和映射得到的丢失的关键语音帧数将所述丢帧事件映射成丢失的语音帧总数;确定离散丢帧时,根据所述平均丢失长度和平均损伤长度将所述丢帧事件映射成丢失的语音帧总数。第三方面,本发明实施例还提供一种通信系统,包括本发明实施例提供的任一种网络语音质量评估装置。本发明实施例采用对获取到的网络语音的数据包进行解析,并根据解析结果确定该数据包的帧内容特性,比如确定是静音帧和语音帧,然后根据确定的帧内容特性对语音序列进行语句划分,并将语句划分为多个丢帧事件,在根据丢帧事件提取非语音参数(包括位置参数和离散分布参数)后,根据该非语音参数按照预置的语音质量评估模型对每条语句的语音质量进行评估,最后,根据每条语句的语音质量评估整个语音序列的语音质量;由于在该方案中,可以通过对语音序列进行语句划分和丢帧事件划分,使得单个丢帧事件中的丢帧模式相对比较简单,从而易于研究每个丢帧事件所带来的失真影响;而且,由于该方案在评估网络语音质量的过程中,将帧内容特性(比如确定静音帧还是语音帧)和丢帧位置也作为考虑的因素,因此,相对于现有技术只根据其平均失真情况来衡量网络语音质量的方案而言,可以有效地提高网络语音质量评估的精度;也就是说,采用该方案,可以大大地提高预测精度,从而提高评估结果的准确性。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1a是本发明实施例提供的网络语音质量评估方法的流程图;图1b是本发明实施例提供的网络语音质量评估方法中语音序列的划分示意图;图1c是本发明实施例提供的网络语音质量评估方法中一次丢帧事件的分析示意图;图2a是本发明实施例提供的网络语音质量评估装置的结构示意图;图2b是本发明实施例中单词的音区示例图;图2c是本发明实施例提供的网络语音质量评估方法的另一流程图;图3是本发明实施例提供的网络语音质量评估方法的又一流程图;图4是本发明实施例提供的网络语音质量评估装置的结构示意图;图5是本发明实施例提供的服务器的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供一种网络语音质量评估方法、装置和系统。以下分别进行详细说明。实施例一、本实施例将从网络语音质量评估装置的角度进行描述,该网络语音质量评估装置具体可以集成在服务器等网络侧设备中。一种网络语音质量评估方法,包括:获取网络语音的数据包,其中,该网络语音的数据包包括语音序列;对该数据包进行解析,得到解析结果;根据该解析结果确定该数据包的帧内容特性,根据确定的帧内容特性对该语音序列进行语句划分,并将划分得到的语句划分为多个丢帧事件;根据丢帧事件提取非语音参数;根据该非语音参数按照预置的语音质量评估模型对每条语句的语音质量进行评估,得到每条语句的语音质量;根据该每条语句的语音质量评估语音序列的语音质量。如图1a所示,该网络语音质量评估方法的流程具体可以如下:101、获取网络语音的数据包。其中,该网络语音的数据包可以包括包头和语音载荷,其中,包头可以包括实时传输协议(RTP,Real-timeTransportProtocol)头、用户数据包协议(UDP,UserDatagramProtocol)头和IP头等,语音载荷可以包括语音序列等。102、对获取到的数据包进行解析,得到解析结果。其中,根据不同的网络语音评估模型,其对数据包的解析方法也有所不同,比如,以包层模型和比特流层模型为例,具体可以如下:(1)包层模型;具体可以对数据包的包头进行解析,得到解析结果。其中,该解析结果可以包括语音序列的时长、语音序列的比特数、丢帧位置和语音负载等。例如,以第i个数据包为例,则上述参数的获取方法具体可以如下:第i个数据包包含的语音序列的时长Durationi:Durationi=Timestampi+1-Timestampi,其中,Timestampi为第i个数据包的时间戳,Timestampi+1为第i+1个数据包的时间戳,可以从数据包的RTP头中读取。第i个数据包包含的语音序列的比特数Bi:Bi=LIPi-HIPi-HUDPi-HRTPi其中,LIPi为第i个数据包的比特数,可以直接由IP头得到;HIPi为第i个数据包的IP协议头长度,HUDPi为第i个数据包的UDP头长度,HRTPi为第i个IP数据包的RTP协议头长度。记录语音负载和该第i个数据包的语音时长Durationmax,其中,语音负载指的是数据包负载最大时的RTP负载比特数,记为Bmax。一般认为该第i个数据包是非静音,则该第i个数据包的非静音的码率为:此外,RTP头中的序列号域标示了数据包的顺序,根据每个数据包的RTP序列号就可以确定丢失帧的位置(就丢帧位置)和数量。(2)比特流层模型;与包层模型不同的是,比特流程模型除了需要对数据包的包头进行解析之外,还需要对语音负载部分也进行解析,如下:A、对数据包的包头进行解析,得到解析结果,其中,该解析结果可以包括语音序列的时长、语音序列的比特数、丢帧位置和语音负载等信息,这些信息的具体获取与包层模型相同,在此不再赘述。B、根据语音负载进行自适应多速率(AMR,AdaptiveMulti-Rate)解码,得到AMR解码后语音信号。C、根据语音序列的时长和语音序列的比特数计算该AMR解码后语音信号中每一帧的帧能量和平均帧能量。其中,每一帧的帧能量可以根据人耳的听觉特性和主观体验进行量化而得,若该帧能量大于0,则为语音帧,并依此计算语音帧的平均能力,得到平均帧能量。103、根据得到的解析结果确定该数据包的帧内容特性。其中,帧内容特性可以包括静音帧和语音帧,即该步骤(步骤103)可以对该数据包的帧内容进行检测,以确定是语音帧还是静音帧,其中,语音帧还可以进一步分为关键语音帧和非关键语音帧。对于不同的网络语音评估模型,由于其获取到的解析结果不同,因此,其确定数据包的帧内容特性的方法也有所不同,比如,还是以包层模型和比特流层模型为例,具体可以如下:(1)包层模型;A、根据该丢帧位置在该数据包中确定当前需要检测的丢失帧部分。其中,一个丢失帧部分可以包括连续的多个丢失帧。B、分别根据该语音序列的时长、语音序列的比特数和语音负载确定该丢失帧部分的前一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的帧内容特性,以及确定该后一个相邻的未丢失帧的标记(mark),该标记为帧的序号。其中,根据所述语音序列的时长、语音序列的比特数和语音负载确定未丢失帧的帧内容特性,具体可以包括:获取未丢失帧的实际有效载荷长度;根据该语音负载、语音序列的比特数和语音序列的时长确定码率(即编码速率);若该码率所对应的标准有效载荷长度与该实际有效载荷长度一致,则确定该未丢失帧为语音帧;若该码率所对应的标准有效载荷长度与实际有效载荷长度不一致,则确定该未丢失帧为静音帧。其中,具体可以设置一张对应表,用于记录码率和标准有效载荷长度的对应关系,这样,根据码率查找该对应表便可得到相应的标准有效载荷长度。例如,具体可参见表一。表一:编码模式码率(kb/s)标准有效载荷长度(Byte)AMR4754.7514AMR5155.1515AMR595.917AMR676.719AMR747.421AMR7957.9522AMR10210.228AMR12212.233………………根据表一可知,在AMR475编码模式下,码率4.75kb/s对应的标准有效载荷长度为14字节(Byte),因此,如果未丢失帧的实际有效载荷为14字节,则为语音帧,否则,若未丢失帧的实际有效载荷不是14字节,则为静音帧,以此类推,等等。C、根据该前一个相邻的未丢失帧的帧内容特性、后一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的标记确定该丢失帧部分的帧内容特性,例如,具体可以如下:若确定所述前一个相邻的未丢失帧和后一个相邻的未丢失帧均为静音帧,或后一个相邻的未丢失帧的标记指示所述后一个相邻的未丢失帧为第一个语音帧(比如标记为1),则确定所述丢失帧部分为静音帧,否则,均确定该丢失帧部分为语音帧。此外,为了进一步提高预测精度,还可以将语音帧划分为关键语音帧和非关键语音帧,以便后续可以针对这些关键语音帧和非关键语音帧作出不同的处理。其中,关键语音帧指的是对语音质量的影响较大的帧,而关键语音帧指的是对语音质量的影响较小的帧。若将语音帧划分为关键语音帧和非关键语音帧,则在步骤“确定该丢失帧部分为语音帧”具体可以包括如下情况:a、在确定该前一个相邻的未丢失帧和后一个相邻的未丢失帧均为语音帧时,确定该丢失帧部分为关键语音帧;b、在确定该前一个相邻的未丢失帧为语音帧,以及该后一个相邻的未丢失帧为静音帧时,确定该丢失帧部分的前一半部分为关键语音帧,以及确定该丢失帧部分的后一半部分为非关键语音帧;c、在确定该前一个相邻的未丢失帧为静音帧,以及该后一个相邻的未丢失帧为语音帧时,确定该丢失帧部分的前一半部分为非关键语音帧,以及确定丢失帧部分的后一半部分为关键语音帧。(2)比特流层模型;比特流层模型的帧内容检测较包层模型更为精细,比如,其中语音帧可以包括关键语音帧和非关键语音帧,等等。对于比特流层模型来说,其“根据得到的解析结果确定该数据包的帧内容特性”的步骤具体可以如下:A、根据该丢帧位置在所述数据包中确定当前需要检测的丢失帧部分。其中,一个丢失帧部分可以包括连续的多个丢失帧。B、根据计算出的帧能量和平均帧能量确定该丢失帧部分的前一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的帧内容特性。其中,根据计算出的帧能量和平均帧能量确定未丢失帧的帧内容特性,包括:若该未丢失帧的帧能量小于等于0,则确定该未丢失帧为静音帧;若该未丢失帧的帧能量大于0小于平均帧能量,则确定该未丢失帧为非关键语音帧;若该未丢失帧的帧能量大于平均帧能量,则确定该未丢失帧为关键语音帧。C、根据所述前一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的帧内容特性确定所述丢失帧部分的帧内容特性,具体可以如下:a、若确定该前一个相邻的未丢失帧和后一个相邻的未丢失帧均为静音帧,则确定该丢失帧部分为静音帧;b、若确定该前一个相邻的未丢失帧和后一个相邻的未丢失帧均为关键语音帧,则确定该丢失帧部分为关键语音帧;c、若确定该前一个相邻的未丢失帧和后一个相邻的未丢失帧均为非关键语音帧,则确定该丢失帧部分为非关键语音帧;d、若确定该前一个相邻的未丢失帧为关键语音帧,以及该后一个相邻的未丢失帧为静音帧,则确定该丢失帧部分的前一半部分为关键语音帧,该丢失帧部分的后一半部分为非关键语音帧;e、若确定该前一个相邻的未丢失帧为静音帧,以及该后一个相邻的未丢失帧为关键语音帧,则确定该丢失帧部分的前一半部分为非关键语音帧,该丢失帧部分的后一半部分为关键语音帧;f、若确定该前一个相邻的未丢失帧为关键语音帧,以及该后一个相邻的未丢失帧为非关键语音帧,则确定该丢失帧部分为关键语音帧;g、若确定该前一个相邻的未丢失帧为非关键语音帧,以及该后一个相邻的未丢失帧为关键语音帧,则确定该丢失帧部分为关键语音帧;h、若确定该前一个相邻的未丢失帧为非关键语音帧,以及该后一个相邻的未丢失帧为静音帧,则确定该丢失帧部分为非关键语音帧;i、若确定该前一个相邻的未丢失帧为静音帧,以及该后一个相邻的未丢失帧为非关键语音帧,则确定该丢失帧部分为非关键语音帧。104、根据确定的帧内容特性对该语音序列进行语句划分,并将划分得到的语句划分为多个丢帧事件,其中,语音序列、语句和丢帧事件三者之间的关系具体可参见图1b。例如,具体可以采用如下的方法进行语句和丢帧事件的划分:(1)确定静音帧连续出现的帧数超过预置次数时,将该静音帧之前的语音序列划分为语句;即出现连续Ns帧以上的静音帧时,将该静音帧之前的语音序列划分为语句,其中,该Ns可以根据实际应用的需求进行设置,比如,可以设置Ns为6等。(2)确定该语句中相邻两次丢帧部分的距离小于等于预置距离时,将该相邻两次丢帧部分确定为一次丢帧事件。(3)确定该语句中相邻两次丢帧部分的距离大于预置距离时,将该相邻两次丢帧部分确定为两次丢帧事件。其中,预置次数和预置距离可以根据实际应用的需求进行设置,比如,预置次数可以设置为6,预置距离可以设置为10,等等。105、根据该丢帧事件提取非语音参数。其中,该非语音参数可以包括位置参数和离散分布参数,根据不同的后续语音质量评估方法的不同,此时提取的非语音参数也会有所不同,比如,该非语音参数可以包括非关键语音帧和关键语音帧之间的距离、语音帧丢帧次数、语音帧一次丢失长度、以及损伤长度等;或者,该非语音参数也可以非关键语音帧和关键语音帧之间的距离、语音帧丢帧次数、平均丢失长度和平均损伤长度等,以下对这些参数进行简略说明:非关键语音帧和关键语音帧之间的距离Lj:根据人耳的听觉感知特性,丢失的非关键语音帧距离相邻关键语音帧越远,引起的失真越小。语音帧丢帧次数N1:指的是丢帧事件中丢失语音帧的次数,如图1c所示的丢帧事件,则其丢失语音帧的次数N1=4。语音帧的一次丢失长度N0k:指的是每次发生丢帧时,连续丢失的语音帧数,如图1c所示的丢帧事件,N01=2,N02=1,N03=2,N04=1。损伤长度Lk:指的是相邻两次丢帧事件未丢失语音帧的数目,如图1c所示的丢帧事件,L1=2,L2=3,L3=2。语音帧的平均丢失长度N0:如图1c所示的丢帧事件,其中,N0=6/4=1.5。损伤长度L:如图1c所示的丢帧事件,其中,L=(L1+L2+L3)/N1=7/3。106、根据该非语音参数按照预置的语音质量评估模型对每条语句的语音质量进行评估,得到每条语句的语音质量,例如,具体可以如下:根据该非语音参数按照预置的语音质量评估模型对该丢帧事件进行失真映射,得到丢失的语音帧总数,根据该丢失的语音帧总数计算语句的语音质量。其中,步骤“根据该非语音参数按照预置的语音质量评估模型对该丢帧事件进行失真映射,得到丢失的语音帧总数”具体可以采用如下任意一种方式来实现:(1)第一种方式;非语音参数可以包括位置参数和离散分布参数等,其中,该非语音参数可以包括非关键语音帧和关键语音帧之间的距离、语音帧丢帧次数、语音帧一次丢失长度、以及损伤长度,则此时,步骤“根据所述非语音参数按照预置的语音质量评估模型对所述丢帧事件进行失真映射,得到丢失的语音帧总数”可以包括:A、连续丢帧的情况;确定连续丢帧时,根据该非关键语音帧和关键语音帧之间的距离将丢帧事件中的非关键语音帧映射成丢失的关键语音帧数,根据该语音帧丢帧次数确定实际丢失的关键语音帧数,根据所述实际丢失的关键语音帧数和映射得到的丢失的关键语音帧数将所述丢帧事件映射成丢失的语音帧总数,如下:将非关键语音帧映射成丢失的关键语音帧数,用公式表示可以为:FLNi,j=f(Lj);比如,具体可以为:FLNi,j=exp(-0.033*Lj);其中,FLNi,j为第i个丢帧事件中第j个非关键语音帧映射的关键语音帧数,Lj为第j个非关键语音帧与关键语音帧之间的距离。丢失的语音帧总数可以为:其中,FLNi为第i个丢帧事件映射得到的丢失的语音帧总数(即关键语音帧丢失总数目),ni表示实际丢失的关键语音帧数。B、离散丢帧的情况;确定离散丢帧时,根据所述语音帧丢帧次数、语音帧一次丢失长度、以及损伤长度将丢帧事件中的损伤帧映射成丢失的语音帧数,根据所述语音帧丢帧次数确定实际丢失的关键语音帧数,根据所述实际丢失的关键语音帧数和映射得到的丢失的语音帧数将所述丢帧事件映射成丢失的语音帧总数;例如,具体可以如下:将损伤帧映射成丢失的语音帧数,用公式表示可以为:FLNi,k=f(N1,N0k,Lk);比如,具体可以为:其中,N0k为语音帧一次丢失长度,A0k为语音帧丢帧次数和一次丢失长度对单个未丢失语音帧的损伤影响,Lk为丢帧事件第k次出现的损伤长度,FLNi,k为第i个丢帧事件中Lk个语音损伤帧中单帧映射的语音帧数。其中,参数a1,b1,c1,a2,b2,c2,a3,b3和c3可以通过训练得到。将该丢帧事件映射成丢失的语音帧总数,可以为:FLNi为丢帧事件映射得到的丢失的语音帧总数(即语音帧丢失总数目),ni表示实际丢失的关键语音帧数。(2)第二种方式;非语音参数可以包括位置参数和离散分布参数等,其中,该非语音参数包括非关键语音帧和关键语音帧之间的距离、语音帧丢帧次数、语音帧一次丢失长度、以及损伤长度,则所述根据该非语音参数按照预置的语音质量评估模型对所述丢帧事件进行失真映射,得到丢失的语音帧总数,包括:A、连续丢帧的情况;确定连续丢帧时,根据该非关键语音帧和关键语音帧之间的距离将丢帧事件中的非关键语音帧映射成丢失的关键语音帧数,根据该语音帧丢帧次数确定实际丢失的关键语音帧数,根据该实际丢失的关键语音帧数和映射得到的丢失的关键语音帧数将该丢帧事件映射成丢失的语音帧总数。与第一种方式中的连续丢帧的情况的处理方式相同,详见前面的描述,在此不再赘述。B、离散丢帧的情况;确定离散丢帧时,根据该语音帧一次丢失长度和损伤长度将丢帧事件中的损伤帧映射成丢失的语音帧数,根据该语音帧丢帧次数确定实际丢失的关键语音帧数,根据该实际丢失的关键语音帧数和映射得到的丢失的语音帧数将该丢帧事件映射成丢失的语音帧总数;例如,具体可以如下:将损伤帧映射成丢失的语音帧数,用公式表示可以为:FLNi,k=f(N0k,Lk);比如,具体可以为:其中,FLNi,k为第i个丢帧事件中Lk个语音损伤帧中映射的语音帧数,A0k为丢帧事件中一次丢失长度对单个未丢失语音帧的损伤影响,参数a1,b1,c1,a2,b2和c2可以通过训练得到。将该丢帧事件映射成丢失的语音帧总数,可以为:FLNi为丢帧事件映射得到的丢失的语音帧总数(即语音帧丢失总数目),ni表示实际丢失的关键语音帧数。(3)第三种方式;与第一和第二种方式不同,第三种方式不再计算单帧的失真,而是直接计算整个丢帧事件的失真。其中,非语音参数可以包括位置参数和离散分布参数等,其中,该非语音参数可以包括非关键语音帧和关键语音帧之间的距离、语音帧丢帧次数、平均丢失长度和平均损伤长度,则所述根据所述非语音参数将该丢帧事件中不同位置下的丢失帧和不同离散分布下的丢失帧映射成丢失的语音帧总数,具体可以包括:A、连续丢帧的情况;确定连续丢帧时,根据该非关键语音帧和关键语音帧之间的距离将丢帧事件中的非关键语音帧映射成丢失的关键语音帧数,根据该语音帧丢帧次数确定实际丢失的关键语音帧数,根据该实际丢失的关键语音帧数和映射得到的丢失的关键语音帧数将该丢帧事件映射成丢失的语音帧总数。与第一种方式中的连续丢帧的情况的处理方式相同,详见前面的描述,在此不再赘述。B、离散丢帧的情况;确定离散丢帧时,根据该平均丢失长度和平均损伤长度将所述丢帧事件映射成丢失的语音帧总数,用公式表示可以为:其中,FLNi为将该丢帧事件映射成丢失的语音帧总数,N0为语音帧的平均丢失长度,L为损伤长度;其中,参数a1,b1,c1,a2,b2,a3和b3可以通过训练得到。在得到丢失的语音帧总数之后,就可以根据该丢失的语音帧总数计算语句的语音质量,如下:一个语句的丢失语音帧数为:FLN=f(FLN1,FLN2,...,FLNM);其中,M为每个语句中丢帧事件个数,FLNi为每个丢帧事件的映射得到的丢失的语音帧总数。由于不考虑遭受数据包丢失的语句质量MOS0为:MOS0=f(R);因此,考虑遭受数据包丢失的语句质量Qn可以为:Qn=f(MOS0,FLN);其中,如果通过主观实验建立R与MOS0的匹配数据表格,则质量评估时可以直接查表得到MOS0。107、根据每条语句的语音质量评估该语音序列的语音质量,即将该语音序列中的每条语句的语音质量进行综合,得到该语音序列的语音质量Q,如下:Q=f(Q1,Q2,...,QN);其中,Qn为考虑遭受数据包丢失的语句质量,N为语音序列中语句的个数。由上可知,本实施例采用对获取到的网络语音的数据包进行解析,并根据解析结果确定该数据包的帧内容特性,比如确定是静音帧和语音帧,然后根据确定的帧内容特性对语音序列进行语句划分,并将语句划分为多个丢帧事件,在根据丢帧事件提取非语音参数(包括位置参数和离散分布参数)后,根据该非语音参数按照预置的语音质量评估模型对每条语句的语音质量进行评估,最后,根据每条语句的语音质量评估整个语音序列的语音质量;由于在该方案中,可以通过对语音序列进行语句划分和丢帧事件划分,使得单个丢帧事件中的丢帧模式相对比较简单,从而易于研究每个丢帧事件所带来的失真影响;而且,由于该方案在评估网络语音质量的过程中,将帧内容特性(比如确定静音帧还是语音帧)和丢帧位置也作为考虑的因素,因此,相对于现有技术只根据其平均失真情况来衡量网络语音质量的方案而言,可以有效地提高网络语音质量评估的精度;也就是说,采用该方案,可以大大地提高预测精度,从而提高评估结果的准确性。根据实施例一所描述的方法,以下将在实施例二、三、四和五中举例作进一步详细说明。实施例二、在本实施例中,将以包层模型为例进行说明。如图2a所示,该网络语音质量评估装置可以包括解析模块、检测模块、划分模块、非语音参数提取模块和语音质量评估模块,其中,各个模块的功能具体可以如下:(1)解析模块;该解析模块,用于获取网络语音的数据包,并对获取到的数据包进行解析,得到解析结果,其中,该解析结果可以包括语音序列的时长、语音序列的比特数、丢帧位置和语音负载等。(2)检测模块;丢帧对语音质量的影响与丢帧的内容密切相关,当丢帧内容为静音时,对语音质量损伤的程度较小;当丢失帧内容为语音时,会导致重要语音信息的丢失,对语音质量的影响较大。因此,在进行语音质量评估时,需要对丢帧内容进行检测。所以,该检测模块,主要用于根据得到的解析结果确定该数据包的帧内容特性,即判断每个数据帧是静音帧还是语音帧。例如,具体可以分析未丢失帧的帧内容特性,然后根据语音信号短时相关性的性质,利用相邻未丢失帧的帧内容特性去判断当前丢失帧的帧内容特性。此外,丢帧发生在单词/汉字的不同位置,其影响也不相同,如图2b所示,A表示单词的中间区(或叫关键区域),B和C分别表示单词的词首和词尾(统称为非关键区),D表示静音区。根据人耳的听觉感知特性,相邻非关键区的丢帧位置距离A区域越远,引起的失真越小。因此在帧内容检测的基础上,该检测模块还可以对丢失部分的帧进行进一步的判断,以确定当前丢失帧是关键语音帧,还是非关键语音帧。(3)划分模块;该划分模块,用于根据确定的帧内容特性对该语音序列进行语句划分,并将划分得到的语句划分为多个丢帧事件。(4)非语音参数提取模块;该非语音参数提取模块,用于根据该丢帧事件提取非语音参数。其中,该非语音参数可以包括位置参数和离散分布参数。(5)语音质量评估模块;该语音质量评估模块,用于根据该非语音参数按照预置的语音质量评估模型对每条语句的语音质量进行评估,得到每条语句的语音质量,然后根据每条语句的语音质量评估该语音序列的语音质量。一种网络语音质量评估方法,如图2c所示,具体流程可以如下:201、解析模块获取网络语音的数据包。其中,该网络语音的数据包可以包括包头和语音载荷,其中,包头可以包括RTP头、UDP头和IP头等,语音载荷可以包括语音序列等。202、解析模块对数据包的包头进行解析,得到解析结果。其中,该解析结果可以包括语音序列的时长、语音序列的比特数、丢帧位置和语音负载等。例如,以第i个数据包为例,则上述参数的获取方法具体可以如下:第i个数据包包含的语音序列的时长Durationi:Durationi=Timestampi+1-Timestampi,其中,Timestampi为第i个数据包的时间戳,Timestampi+1为第i+1个数据包的时间戳,可以从数据包的RTP头中读取。第i个数据包包含的语音序列的比特数Bi:Bi=LIPi-HIPi-HUDPi-HRTPi其中,LIPi为第i个数据包的比特数,可以直接由IP头得到;HIPi为第i个数据包的IP协议头长度,HUDPi为第i个数据包的UDP协议头长度,HRTPi为第i个IP数据包的RTP协议头长度。记录语音负载和该第i个数据包的语音时长Durationmax,其中,语音负载指的是数据包负载最大时的RTP负载比特数,记为Bmax。一般认为该第i个数据包是非静音,则该第i个数据包的非静音的码率为:此外,RTP头中的序列号域标示了数据包的顺序,根据每个数据包的RTP序列号就可以确定丢失帧的位置(就丢帧位置)和数量。203、检测模块根据丢帧位置在该数据包中确定当前需要检测的丢失帧部分。其中,一个丢失帧部分可以包括连续的多个丢失帧。204、检测模块分别根据该语音序列的时长、语音序列的比特数和语音负载确定该丢失帧部分的前一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的帧内容特性,以及确定该后一个相邻的未丢失帧的标记(mark)。例如,若当前丢失帧为第n帧到第n+m-1帧(即该丢失帧部分为第n帧到第n+m-1帧),前一个相邻的未丢失帧为第n-1帧,后一个相邻的未丢失帧为第n+m帧,则此时,检测模块可以分别根据该语音序列的时长、语音序列的比特数和语音负载确定第n-1帧的帧内容特性和第n+m帧的帧内容特性,以及确定第n+m帧的标记。其中,帧内容特性可以包括静音帧和语音帧,则根据该语音序列的时长、语音序列的比特数和语音负载确定未丢失帧的帧内容特性,具体可以包括:获取未丢失帧的实际有效载荷长度;根据该语音负载、语音序列的比特数和语音序列的时长确定码率(即编码速率);若该码率所对应的标准有效载荷长度与该实际有效载荷长度一致,则确定该未丢失帧为语音帧;若该码率所对应的标准有效载荷长度与实际有效载荷长度不一致,则确定该未丢失帧为静音帧。其中,具体可以设置一张对应表,用于记录码率和标准有效载荷长度的对应关系,这样,根据码率查找该对应表便可得到相应的标准有效载荷长度,例如,具体可以参见表一。205、检测模块根据该前一个相邻的未丢失帧的帧内容特性、后一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的标记确定该丢失帧部分的帧内容特性。例如,若当前丢失帧为第n帧到第n+m-1帧(即该丢失帧部分为第n帧到第n+m-1帧),前一个相邻的未丢失帧为第n-1帧,后一个相邻的未丢失帧为第n+m帧,则此时具体可以如下:若确定所述第n-1帧和第n+m帧均为静音帧,或第n+m帧的标记指示所述第n+m帧为第一个语音帧(比如标记为1),则确定所述丢失帧部分为静音帧,否则,均确定该丢失帧部分为语音帧。此外,为了进一步提高预测精度,还可以将语音帧划分为关键语音帧和非关键语音帧,若将语音帧划分为关键语音帧和非关键语音帧,则在步骤“确定该丢失帧部分为语音帧”具体可以包括如下情况:a、在确定第n-1帧和第n+m帧均为语音帧时,确定该丢失帧部分为关键语音帧;b、在确定第n-1帧为语音帧,以及第n+m帧为静音帧时,确定该丢失帧部分的前一半部分为关键语音帧,以及确定该丢失帧部分的后一半部分为非关键语音帧;c、在确定第n-1帧为静音帧,以及第n+m帧为语音帧时,确定该丢失帧部分的前一半部分为非关键语音帧,以及确定丢失帧部分的后一半部分为关键语音帧。206、划分单元根据确定的帧内容特性对该语音序列进行语句划分,并将划分得到的语句划分为多个丢帧事件。例如,具体可以采用如下的方法进行语句和丢帧事件的划分:(1)确定静音帧连续出现的帧数超过预置次数时,将该静音帧之前的语音序列划分为语句;即出现连续Ns帧以上的静音帧时,将该静音帧之前的语音序列划分为语句,其中,该Ns可以根据实际应用的需求进行设置,比如,可以设置Ns为6等。(2)确定该语句中相邻两次丢帧部分的距离小于等于预置距离时,将该相邻两次丢帧部分确定为一次丢帧事件。(3)确定该语句中相邻两次丢帧部分的距离大于预置距离时,将该相邻两次丢帧部分确定为两次丢帧事件。其中,预置次数和预置距离可以根据实际应用的需求进行设置,比如,预置次数可以设置为6,预置距离可以设置为10,等等。207、非语音参数提取模块根据该丢帧事件提取非语音参数。其中,该非语音参数可以包括位置参数和离散分布参数,该非语音参数可以包括非关键语音帧和关键语音帧之间的距离、语音帧丢帧次数、语音帧一次丢失长度、以及损伤长度等,如下:非关键语音帧和关键语音帧之间的距离Lj:根据人耳的听觉感知特性,丢失的非关键语音帧距离相邻关键语音帧越远,引起的失真越小。语音帧丢帧次数N1:指的是丢帧事件中丢失语音帧的次数。语音帧的一次丢失长度N0k:指的是每次发生丢帧时,连续丢失的语音帧数。损伤长度Lk:指的是相邻两次丢帧事件未丢失语音帧的数目。语音帧的平均丢失长度N0:损伤长度L:208、语音质量评估模块根据得到的非语音参数按照预置的语音质量评估模型对所述丢帧事件进行失真映射,得到丢失的语音帧总数,例如,具体可以如下:A、连续丢帧的情况;确定连续丢帧时,根据该非关键语音帧和关键语音帧之间的距离将丢帧事件中的非关键语音帧映射成丢失的关键语音帧数,根据该语音帧丢帧次数确定实际丢失的关键语音帧数,根据所述实际丢失的关键语音帧数和映射得到的丢失的关键语音帧数将所述丢帧事件映射成丢失的语音帧总数,如下:将非关键语音帧映射成丢失的关键语音帧数,用公式表示可以为:FLNi,j=f(Lj);比如,具体可以为:FLNi,j=exp(-0.033*Lj);其中,FLNi,j为第i个丢帧事件中第j个非关键语音帧映射的关键语音帧数,Lj为第j个非关键语音帧与关键语音帧之间的距离。丢失的语音帧总数可以为:其中,FLNi为第i个丢帧事件映射得到的丢失的语音帧总数(即关键语音帧丢失总数目),ni表示实际丢失的关键语音帧数。B、离散丢帧的情况;确定离散丢帧时,根据所述语音帧丢帧次数、语音帧一次丢失长度、以及损伤长度将丢帧事件中的损伤帧映射成丢失的语音帧数,根据所述语音帧丢帧次数确定实际丢失的关键语音帧数,根据所述实际丢失的关键语音帧数和映射得到的丢失的语音帧数将所述丢帧事件映射成丢失的语音帧总数;例如,具体可以如下:将损伤帧映射成丢失的语音帧数,用公式表示可以为:FLNi,k=f(N1,N0k,Lk);比如,具体可以为:其中,N0k为语音帧一次丢失长度,A0k为语音帧丢帧次数和一次丢失长度对单个未丢失语音帧的损伤影响,Lk为丢帧事件第k次出现的损伤长度,FLNi,k为第i个丢帧事件中Lk个语音损伤帧中单帧映射的语音帧数。其中,参数a1,b1,c1,a2,b2,c2,a3,b3和c3可以通过训练得到。将该丢帧事件映射成丢失的语音帧总数,可以为:FLNi为丢帧事件映射得到的丢失的语音帧总数(即语音帧丢失总数目),ni表示实际丢失的关键语音帧数。209、语音质量评估模块根据该丢失的语音帧总数计算语句的语音质量,如下:一个语句的丢失语音帧数为:FLN=f(FLN1,FLN2,...,FLNM);其中,M为每个语句中丢帧事件个数,FLNi为每个丢帧事件的映射得到的丢失的语音帧总数。比如,该函数具体可以如下:由于不考虑遭受数据包丢失的语句质量MOS0(即语句的压缩失真)为:MOS0=f(R);因此,考虑遭受数据包丢失的语句质量Qn可以为:Qn=f(MOS0,FLN);比如,该函数具体可以如下:其中,D为语句失真,MOS0不考虑遭受数据包丢失的语句质量(即语句的压缩失真),Qn为考虑遭受数据包丢失的语句质量,a和b为模型固定参数,a和b可以通过训练得到。其中,如果通过主观实验建立码率R(即编码速率)与MOS0的匹配数据表格,则质量评估时可以直接查表得到MOS0。例如,具体可参见表二。表二:码率(kb/s)MOS04.753.4655.153.5025.93.5636.73.6317.43.7257.953.83610.23.96412.24.086…………比如,通过查找表二可知,码率为4.75kb/s所对应的MOS0为3.465,码率为5.15kb/s所对应的MOS0为3.502,以此类推,等等。210、语音质量评估模块根据每条语句的语音质量评估该语音序列的语音质量,即将该语音序列中的每条语句的语音质量进行综合,得到该语音序列的语音质量Q,如下:Q=f(Q1,Q2,...,QN);其中,Qn为考虑遭受数据包丢失的语句质量,N为语音序列中语句的个数。比如,该函数具体可以如下:其中,Q为语音序列的语音质量,Qn为考虑遭受数据包丢失的语句质量,N为语音序列中语句的个数。由上可知,本实施例采用基于包层模型的方式对获取到的网络语音的数据包进行解析,并根据解析结果确定该数据包的帧内容特性,比如确定是静音帧和语音帧,然后根据确定的帧内容特性对语音序列进行语句划分,并将语句划分为多个丢帧事件,在根据丢帧事件提取非语音参数(包括位置参数和离散分布参数)后,根据该非语音参数按照预置的语音质量评估模型对每条语句的语音质量进行评估,最后,根据每条语句的语音质量评估整个语音序列的语音质量;由于在该方案中,可以通过对语音序列进行语句划分和丢帧事件划分,使得单个丢帧事件中的丢帧模式相对比较简单,从而易于研究每个丢帧事件所带来的失真影响;而且,由于该方案在评估网络语音质量的过程中,将帧内容特性(比如确定静音帧还是语音帧)和丢帧位置也作为考虑的因素,因此,相对于现有技术只根据其平均失真情况来衡量网络语音质量的方案而言,可以有效地提高网络语音质量评估的精度;也就是说,采用该方案,可以大大地提高预测精度,从而提高评估结果的准确性。实施例三、在本实施例中,将以比特流层模型为例进行说明。本实施例所采用的网络语音质量评估装置与实施例二相同,详见图2a以及实施例二中的描述。本实施例与实施例二不同的之处,主要在于数据包的解析、以及帧内容特性的检测上,以下将进行详细说明。一种网络语音质量评估方法,如图3所示,具体流程可以如下:301、解析模块获取网络语音的数据包。其中,该网络语音的数据包可以包括包头和语音载荷,其中,包头可以包括RTP头、UDP头和IP头等,语音载荷可以包括语音序列等。302、解析模块对数据包的包头进行解析,得到解析结果。其中,该解析结果可以包括语音序列的时长、语音序列的比特数、丢帧位置和语音负载等。例如,以第i个数据包为例,则上述参数的获取方法具体可以如下:第i个数据包包含的语音序列的时长Durationi:Durationi=Timestampi+1-Timestampi。其中,Timestampi为第i个数据包的时间戳,Timestampi+1为第i+1个数据包的时间戳,可以从数据包的RTP头中读取。第i个数据包包含的语音序列的比特数Bi:Bi=LIPi-HIPi-HUDPi-HRTPi。其中,LIPi为第i个数据包的比特数,可以直接由IP头得到;HIPi为第i个数据包的IP协议头长度,HUDPi为第i个数据包的UDP协议头长度,HRTPi为第i个IP数据包的RTP协议头长度。记录语音负载和该第i个数据包的语音时长Durationmax,其中,语音负载指的是数据包负载最大时的RTP负载比特数,记为Bmax。一般认为该第i个数据包是非静音,则该第i个数据包的非静音的码率为:此外,RTP头中的序列号域标示了数据包的顺序,根据每个数据包的RTP序列号就可以确定丢失帧的位置(就丢帧位置)和数量。303、解析模块根据语音负载进行自适应多速率(AMR,AdaptiveMulti-Rate)解码,得到AMR解码后语音信号。304、解析模块根据语音序列的时长和语音序列的比特数计算该AMR解码后语音信号中每一帧的帧能量和平均帧能量。其中,每一帧的帧能量可以根据人耳的听觉特性和主观体验进行量化而得,若该帧能量大于0,则为语音帧,并依此计算语音帧的平均能力,得到平均帧能量。305、检测模块根据该丢帧位置在所述数据包中确定当前需要检测的丢失帧部分。其中,一个丢失帧部分可以包括连续的多个丢失帧。306、检测模块根据计算出的帧能量和平均帧能量确定该丢失帧部分的前一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的帧内容特性。例如,若当前丢失帧为第n帧到第n+m-1帧(即该丢失帧部分为第n帧到第n+m-1帧),前一个相邻的未丢失帧为第n-1帧,后一个相邻的未丢失帧为第n+m帧,则此时,检测模块可以分别根据该语音序列的时长、语音序列的比特数和语音负载确定第n-1帧的帧内容特性和第n+m帧的帧内容特性。其中,帧内容特性可以包括静音帧和语音帧,则根据计算出的帧能量和平均帧能量确定未丢失帧的帧内容特性,包括:若该未丢失帧的帧能量小于等于0,则确定该未丢失帧为静音帧;若该未丢失帧的帧能量大于0小于平均帧能量,则确定该未丢失帧为非关键语音帧;若该未丢失帧的帧能量大于平均帧能量,则确定该未丢失帧为关键语音帧。307、检测模块根据所述前一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的帧内容特性确定所述丢失帧部分的帧内容特性,具体可以如下:例如,若当前丢失帧为第n帧到第n+m-1帧(即该丢失帧部分为第n帧到第n+m-1帧),前一个相邻的未丢失帧为第n-1帧,后一个相邻的未丢失帧为第n+m帧,则此时具体可以如下:a、若确定第n-1帧和第n+m帧均为静音帧,则确定该丢失帧部分为静音帧;b、若确定第n-1帧和第n+m帧均为关键语音帧,则确定该丢失帧部分为关键语音帧;c、若确定第n-1帧和第n+m帧均为非关键语音帧,则确定该丢失帧部分为非关键语音帧;d、若确定第n-1帧为关键语音帧,以及第n+m帧为静音帧,则确定该丢失帧部分的前一半部分为关键语音帧,该丢失帧部分的后一半部分为非关键语音帧;e、若确定第n-1帧为静音帧,以及第n+m帧为关键语音帧,则确定该丢失帧部分的前一半部分为非关键语音帧,该丢失帧部分的后一半部分为关键语音帧;f、若确定第n-1帧为关键语音帧,以及第n+m帧为非关键语音帧,则确定该丢失帧部分为关键语音帧;g、若确定第n-1帧为非关键语音帧,以及第n+m帧为关键语音帧,则确定该丢失帧部分为关键语音帧;h、若确定第n-1帧为非关键语音帧,以及第n+m帧为静音帧,则确定该丢失帧部分为非关键语音帧;i、若确定第n-1帧为静音帧,以及第n+m帧为非关键语音帧,则确定该丢失帧部分为非关键语音帧。308、划分单元根据确定的帧内容特性对该语音序列进行语句划分,并将划分得到的语句划分为多个丢帧事件。例如,具体可以采用如下的方法进行语句和丢帧事件的划分:(1)确定静音帧连续出现的帧数超过预置次数时,将该静音帧之前的语音序列划分为语句;即出现连续Ns帧以上的静音帧时,将该静音帧之前的语音序列划分为语句,其中,该Ns可以根据实际应用的需求进行设置,比如,可以设置Ns为6等。(2)确定该语句中相邻两次丢帧部分的距离小于等于预置距离时,将该相邻两次丢帧部分确定为一次丢帧事件。(3)确定该语句中相邻两次丢帧部分的距离大于预置距离时,将该相邻两次丢帧部分确定为两次丢帧事件。其中,预置次数和预置距离可以根据实际应用的需求进行设置,比如,预置次数可以设置为6,预置距离可以设置为10,等等。309、非语音参数提取模块根据该丢帧事件提取非语音参数。其中,该非语音参数可以包括位置参数和离散分布参数,该非语音参数可以包括非关键语音帧和关键语音帧之间的距离、语音帧丢帧次数、语音帧一次丢失长度、以及损伤长度等,如下:非关键语音帧和关键语音帧之间的距离Lj:根据人耳的听觉感知特性,丢失的非关键语音帧距离相邻关键语音帧越远,引起的失真越小。语音帧丢帧次数N1:指的是丢帧事件中丢失语音帧的次数。语音帧的一次丢失长度N0k:指的是每次发生丢帧时,连续丢失的语音帧数。损伤长度Lk:指的是相邻两次丢帧事件未丢失语音帧的数目。语音帧的平均丢失长度N0:损伤长度L:310、语音质量评估模块根据得到的非语音参数按照预置的语音质量评估模型对所述丢帧事件进行失真映射,得到丢失的语音帧总数,例如,具体可以如下:A、连续丢帧的情况;确定连续丢帧时,根据该非关键语音帧和关键语音帧之间的距离将丢帧事件中的非关键语音帧映射成丢失的关键语音帧数,根据该语音帧丢帧次数确定实际丢失的关键语音帧数,根据所述实际丢失的关键语音帧数和映射得到的丢失的关键语音帧数将所述丢帧事件映射成丢失的语音帧总数,如下:将非关键语音帧映射成丢失的关键语音帧数,用公式表示可以为:FLNi,j=f(Lj);比如,具体可以为:FLNi,j=exp(-0.033*Lj)。其中,FLNi,j为第i个丢帧事件中第j个非关键语音帧映射的关键语音帧数,Lj为第j个非关键语音帧与关键语音帧之间的距离。丢失的语音帧总数可以为:其中,FLNi为第i个丢帧事件映射得到的丢失的语音帧总数(即关键语音帧丢失总数目),ni表示实际丢失的关键语音帧数。B、离散丢帧的情况;确定离散丢帧时,根据所述语音帧丢帧次数、语音帧一次丢失长度、以及损伤长度将丢帧事件中的损伤帧映射成丢失的语音帧数,根据所述语音帧丢帧次数确定实际丢失的关键语音帧数,根据所述实际丢失的关键语音帧数和映射得到的丢失的语音帧数将所述丢帧事件映射成丢失的语音帧总数;例如,具体可以如下:将损伤帧映射成丢失的语音帧数,用公式表示可以为:FLNi,k=f(N1,N0k,Lk);比如,具体可以为:其中,N0k为语音帧一次丢失长度,A0k为语音帧丢帧次数和一次丢失长度对单个未丢失语音帧的损伤影响,Lk为丢帧事件第k次出现的损伤长度,FLNi,k为第i个丢帧事件中Lk个语音损伤帧中单帧映射的语音帧数。其中,参数a1,b1,c1,a2,b2,c2,a3,b3和c3可以通过训练得到。将该丢帧事件映射成丢失的语音帧总数,可以为:FLNi为丢帧事件映射得到的丢失的语音帧总数(即语音帧丢失总数目),ni表示实际丢失的关键语音帧数。311、语音质量评估模块根据该丢失的语音帧总数计算语句的语音质量,如下:一个语句的丢失语音帧数为:FLN=f(FLN1,FLN2,...,FLNM);其中,M为每个语句中丢帧事件个数,FLNi为每个丢帧事件的映射得到的丢失的语音帧总数。比如,该函数具体可以如下:由于不考虑遭受数据包丢失的语句质量MOS0(即语句的压缩失真)为:MOS0=f(R);因此,考虑遭受数据包丢失的语句质量Qn可以为:Qn=f(MOS0,FLN);比如,该函数具体可以如下:其中,D为语句失真,MOS0不考虑遭受数据包丢失的语句质量(即语句的压缩失真),Qn为考虑遭受数据包丢失的语句质量,a和b为模型固定参数,a和b可以通过训练得到。其中,如果通过主观实验建立R与MOS0的匹配数据表格,则质量评估时可以直接查表得到MOS0,具体可参见表二,在此不再赘述。312、语音质量评估模块根据每条语句的语音质量评估该语音序列的语音质量,即将该语音序列中的每条语句的语音质量进行综合,得到该语音序列的语音质量Q,如下:Q=f(Q1,Q2,...,QN);其中,Qn为考虑遭受数据包丢失的语句质量,N为语音序列中语句的个数。比如,该函数具体可以如下:其中,Q为语音序列的语音质量,Qn为考虑遭受数据包丢失的语句质量,N为语音序列中语句的个数。由上可知,本实施例采用基于比特流层模型的方式对获取到的网络语音的数据包进行解析,并根据解析结果确定该数据包的帧内容特性,比如确定是静音帧和语音帧,然后根据确定的帧内容特性对语音序列进行语句划分,并将语句划分为多个丢帧事件,在根据丢帧事件提取非语音参数(包括位置参数和离散分布参数)后,根据该非语音参数按照预置的语音质量评估模型对每条语句的语音质量进行评估,最后,根据每条语句的语音质量评估整个语音序列的语音质量;由于在该方案中,可以通过对语音序列进行语句划分和丢帧事件划分,使得单个丢帧事件中的丢帧模式相对比较简单,从而易于研究每个丢帧事件所带来的失真影响;而且,由于该方案在评估网络语音质量的过程中,将帧内容特性(比如确定静音帧还是语音帧)和丢帧位置也作为考虑的因素,因此,相对于现有技术只根据其平均失真情况来衡量网络语音质量的方案而言,可以有效地提高网络语音质量评估的精度;也就是说,采用该方案,可以大大地提高预测精度,从而提高评估结果的准确性。实施例四、除了实施例二和三所提供的对丢帧事件的失真映射方案方法之外,还可以采用其他的方式对丢帧事件进行映射。即步骤“语音质量评估模块根据得到的非语音参数按照预置的语音质量评估模型对所述丢帧事件进行失真映射,得到丢失的语音帧总数”具体也可以如下:A、连续丢帧的情况;确定连续丢帧时,根据该非关键语音帧和关键语音帧之间的距离将丢帧事件中的非关键语音帧映射成丢失的关键语音帧数,根据该语音帧丢帧次数确定实际丢失的关键语音帧数,根据所述实际丢失的关键语音帧数和映射得到的丢失的关键语音帧数将所述丢帧事件映射成丢失的语音帧总数,如下:将非关键语音帧映射成丢失的关键语音帧数,用公式表示可以为:FLNi,j=f(Lj);比如,具体可以为:FLNi,j=exp(-0.033*Lj);其中,FLNi,j为第i个丢帧事件中第j个非关键语音帧映射的关键语音帧数,Lj为第j个非关键语音帧与关键语音帧之间的距离。丢失的语音帧总数可以为:其中,FLNi为第i个丢帧事件映射得到的丢失的语音帧总数(即关键语音帧丢失总数目),ni表示实际丢失的关键语音帧数。B、离散丢帧的情况;确定离散丢帧时,根据该语音帧一次丢失长度和损伤长度将丢帧事件中的损伤帧映射成丢失的语音帧数,根据该语音帧丢帧次数确定实际丢失的关键语音帧数,根据该实际丢失的关键语音帧数和映射得到的丢失的语音帧数将该丢帧事件映射成丢失的语音帧总数;例如,具体可以如下:将损伤帧映射成丢失的语音帧数,用公式表示可以为:FLNi,k=f(N0k,Lk);比如,具体可以为:其中,FLNi,k为第i个丢帧事件中Lk个语音损伤帧中映射的语音帧数,A0k为丢帧事件中一次丢失长度对单个未丢失语音帧的损伤影响,参数a1,b1,c1,a2,b2和c2可以通过训练得到。将该丢帧事件映射成丢失的语音帧总数,可以为:FLNi为丢帧事件映射得到的丢失的语音帧总数(即语音帧丢失总数目),ni表示实际丢失的关键语音帧数。可见,对于连续丢帧的情况,本实施例和实施例二和三关于失真映射的处理方式是一致的,但是对于离散丢帧的情况,本实施例所采用的方案只需考虑非关键语音帧和关键语音帧之间的距离、语音帧丢帧次数、语音帧一次丢失长度、以及损伤长度等因素,而无需考虑语音帧丢帧次数,而实施例二和三所采用的方案只除了需要考虑非关键语音帧和关键语音帧之间的距离、语音帧丢帧次数、语音帧一次丢失长度、以及损伤长度等因素之外,还需考虑考虑语音帧丢帧次数,这两种方案各有优点,在实际应用时,可以根据需求自行进行选择。需说明的是,在本实施例中,除了上述失真映射方法与实施例二和三略有不同之外,其他步骤的实施与实施例二和三相同,故在此不再赘述,具体可参见实施例二和三。本实施例同样可以实现实施例二和三一样的有益效果,详见前面实施例,在此不再赘述。实施例五、在实施例二、三和四中,所提取的非语音参数主要包括关键语音帧和关键语音帧之间的距离、语音帧丢帧次数、语音帧一次丢失长度、以及损伤长度等,与实施例二、三和四不同的是,本实施例所提取的非语音参数可以包括非关键语音帧和关键语音帧之间的距离、语音帧丢帧次数、平均丢失长度和平均损伤长度等,如下:非关键语音帧和关键语音帧之间的距离Lj:根据人耳的听觉感知特性,丢失的非关键语音帧距离相邻关键语音帧越远,引起的失真越小。语音帧丢帧次数N1:指的是丢帧事件中丢失语音帧的次数。损伤长度Lk:指的是相邻两次丢帧事件未丢失语音帧的数目。语音帧的平均丢失长度N0:损伤长度L:由于所提取的非语音参数与实施例二、三和四不同,因此,后续对失真事件的失真映射也不同,在实施例二、三和四中,均需要计算单帧的失真,而在本实施例中,可以直接计算整个丢帧事件的失真,如下:A、连续丢帧的情况;确定连续丢帧时,根据该非关键语音帧和关键语音帧之间的距离将丢帧事件中的非关键语音帧映射成丢失的关键语音帧数,根据该语音帧丢帧次数确定实际丢失的关键语音帧数,根据该实际丢失的关键语音帧数和映射得到的丢失的关键语音帧数将该丢帧事件映射成丢失的语音帧总数。与实施例二、三和四中关于连续丢帧的情况的处理方式相同,即具体可以如下:将非关键语音帧映射成丢失的关键语音帧数,用公式表示可以为:FLNi,j=f(Lj);比如,具体可以为:FLNi,j=exp(-0.033*Lj);其中,FLNi,j为第i个丢帧事件中第j个非关键语音帧映射的关键语音帧数,Lj为第j个非关键语音帧与关键语音帧之间的距离。丢失的语音帧总数可以为:其中,FLNi为第i个丢帧事件映射得到的丢失的语音帧总数(即关键语音帧丢失总数目),ni表示实际丢失的关键语音帧数。B、离散丢帧的情况;确定离散丢帧时,根据该平均丢失长度和平均损伤长度将所述丢帧事件映射成丢失的语音帧总数,用公式表示可以为:其中,FLNi为将该丢帧事件映射成丢失的语音帧总数,N0为语音帧的平均丢失长度,L为损伤长度;其中,参数a1,b1,c1,a2,b2,a3和b3可以通过训练得到。可见,对于连续丢帧的情况,本实施例与实施例二、三和四关于失真映射的处理方式是一致的,但是对于离散丢帧的情况,本实施例所采用的方案与实施例二、三和四并不同,在实施例二、三和四中,需要计算单帧的失真,然后再综合单帧的失真来得到整个丢帧事件的失真,而在本实施例的方案中,可以直接根据语音帧的平均丢失长度和损伤长度等计算整个丢帧事件的失真。需说明的是,本实施例所提供的方案和实施例二、三和四所提供的方案各有优点,在实际应用时,可以根据需求自行进行选择。此外,还需说明的是,在本实施例中,除了上述提取非语音参数和失真映射方法与实施例二、三和四略有不同之外,其他步骤的实施与实施例二、三和四相同,故在此不再赘述,具体可参见实施例二、三和四。本实施例同样可以实现实施例二、三和四一样的有益效果,详见前面实施例,在此不再赘述。实施例六、相应的,本发明实施例还提供一种网络语音质量评估装置,如图4所示,该网络语音质量评估装置包括获取单元401、解析单元402、确定单元403、划分单元404、提取单元405和评估单元406。获取单元401,用于获取网络语音的数据包,其中,该网络语音的数据包包括语音序列;解析单元402,用于对获取单元获取到的数据包进行解析,得到解析结果。确定单元403,用于根据解析单元得到的解析结果确定该数据包的帧内容特性,其中,帧内容特性可以包括静音帧和语音帧。划分单元404,用于根据确定单元确定的帧内容特性对语音序列进行语句划分,并将划分得到的语句划分为多个丢帧事件。提取单元405,用于根据划分单元划分的丢帧事件提取非语音参数,其中,非语音参数包括位置参数和离散分布参数。评估单元406,用于根据提取单元提取的非语音参数按照预置的语音质量评估模型对每条语句的语音质量进行评估,得到每条语句的语音质量,根据每条语句的语音质量评估所述语音序列的语音质量。其中,根据不同的网络语音评估模型,其对数据包的解析方法也有所不同,比如,以包层模型和比特流层模型为例,具体可以如下:(1)包层模型;解析单元402,具体可以用于对所述数据包的包头进行解析,得到解析结果,其中,该解析结果可以包括语音序列的时长、语音序列的比特数、丢帧位置和语音负载等。例如,以第i个数据包为例,则上述参数的获取方法具体可以如下:第i个数据包包含的语音序列的时长Durationi:Durationi=Timestampi+1-Timestampi。其中,Timestampi为第i个数据包的时间戳,Timestampi+1为第i+1个数据包的时间戳,可以从数据包的RTP头中读取。第i个数据包包含的语音序列的比特数Bi:Bi=LIPi-HIPi-HUDPi-HRTPi。其中,LIPi为第i个数据包的比特数,可以直接由IP头得到;HIPi为第i个数据包的IP协议头长度,HUDPi为第i个数据包的UDP,HRTPi为第i个IP数据包的RTP协议头长度。记录语音负载和该第i个数据包的语音时长Durationmax,其中,语音负载指的是数据包负载最大时的RTP负载比特数,记为Bmax。一般认为该第i个数据包是非静音,则该第i个数据包的非静音的码率为:此外,RTP头中的序列号域标示了数据包的顺序,可以根据每个数据包的RTP序列号来确定丢失帧的位置(就丢帧位置)和数量。则此时,确定单元403,具体可以用于根据该丢帧位置在该数据包中确定当前需要检测的丢失帧部分,分别根据该语音序列的时长、语音序列的比特数和语音负载确定所述丢失帧部分的前一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的帧内容特性,以及确定后一个相邻的未丢失帧的标记,根据所述前一个相邻的未丢失帧的帧内容特性、后一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的标记确定所述丢失帧部分的帧内容特性。其中,根据所述语音序列的时长、语音序列的比特数和语音负载确定未丢失帧的帧内容特性,具体可以包括:获取未丢失帧的实际有效载荷长度;根据该语音负载、语音序列的比特数和语音序列的时长确定码率(即编码速率);若该码率所对应的标准有效载荷长度与该实际有效载荷长度一致,则确定该未丢失帧为语音帧;若该码率所对应的标准有效载荷长度与实际有效载荷长度不一致,则确定该未丢失帧为静音帧,即:确定单元403,具体可以用于获取未丢失帧的实际有效载荷长度;根据所述语音负载、语音序列的比特数和语音序列的时长确定码率;若所述码率所对应的标准有效载荷长度与所述实际有效载荷长度一致,则确定所述未丢失帧为语音帧;若所述码率所对应的标准有效载荷长度与所述实际有效载荷长度不一致,则确定所述未丢失帧为静音帧。其中,“根据该前一个相邻的未丢失帧的帧内容特性、后一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的标记确定该丢失帧部分的帧内容特性”具体可以如下:若确定所述前一个相邻的未丢失帧和后一个相邻的未丢失帧均为静音帧,或后一个相邻的未丢失帧的标记指示所述后一个相邻的未丢失帧为第一个语音帧(比如标记为1),则确定所述丢失帧部分为静音帧,否则,均确定该丢失帧部分为语音帧,即:确定单元403,具体可以用于若确定前一个相邻的未丢失帧和后一个相邻的未丢失帧均为静音帧,或后一个相邻的未丢失帧的标记指示该后一个相邻的未丢失帧为第一个语音帧,则确定所述丢失帧部分为静音帧,否则,确定该丢失帧部分为语音帧。此外,为了进一步提高预测精度,还可以将语音帧划分为关键语音帧和非关键语音帧,以便后续可以针对这些关键语音帧和非关键语音帧作出不同的处理。其中,关键语音帧指的是对语音质量的影响较大的帧,而关键语音帧指的是对语音质量的影响较小的帧。若将语音帧划分为关键语音帧和非关键语音帧,则“确定该丢失帧部分为语音帧”具体可以包括如下情况:a、在确定该前一个相邻的未丢失帧和后一个相邻的未丢失帧均为语音帧时,确定该丢失帧部分为关键语音帧;b、在确定该前一个相邻的未丢失帧为语音帧,以及该后一个相邻的未丢失帧为静音帧时,确定该丢失帧部分的前一半部分为关键语音帧,以及确定该丢失帧部分的后一半部分为非关键语音帧;c、在确定该前一个相邻的未丢失帧为静音帧,以及该后一个相邻的未丢失帧为语音帧时,确定该丢失帧部分的前一半部分为非关键语音帧,以及确定丢失帧部分的后一半部分为关键语音帧。也就是说,确定单元403,具体可以用于执行上述a~c的操作。(2)比特流层模型;与包层模型不同的是,比特流程模型除了需要对数据包的包头进行解析之外,还需要对语音负载部分也进行解析,如下:解析单元402,具体可以用于对所述数据包的包头进行解析,得到解析结果,其中,该解析结果包括语音序列的时长、语音序列的比特数、丢帧位置和语音负载等;根据所述语音负载进行AMR解码,得到AMR解码后语音信号;根据该语音序列的时长和语音序列的比特数计算所述AMR解码后语音信号中每一帧的帧能量和平均帧能量;其中,解析结果中所包含的各种信息的具体获取与包层模型相同,在此不再赘述。则此时,确定单元403,具体可以用于根据该丢帧位置在所述数据包中确定当前需要检测的丢失帧部分,根据计算出的帧能量和平均帧能量确定该丢失帧部分的前一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的帧内容特性,根据该前一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的帧内容特性确定所述丢失帧部分的帧内容特性。其中,根据计算出的帧能量和平均帧能量确定未丢失帧的帧内容特性,包括:若该未丢失帧的帧能量小于等于0,则确定该未丢失帧为静音帧;若该未丢失帧的帧能量大于0小于平均帧能量,则确定该未丢失帧为非关键语音帧;若该未丢失帧的帧能量大于平均帧能量,则确定该未丢失帧为关键语音帧。即:确定单元403,具体可以用于若所述未丢失帧的帧能量小于等于0,则确定所述未丢失帧为静音帧;若所述未丢失帧的帧能量大于0小于平均帧能量,则确定所述未丢失帧为非关键语音帧;若所述未丢失帧的帧能量大于平均帧能量,则确定所述未丢失帧为关键语音帧。其中,“根据所述前一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的帧内容特性确定所述丢失帧部分的帧内容特性”具体可以如下:a、若确定该前一个相邻的未丢失帧和后一个相邻的未丢失帧均为静音帧,则确定该丢失帧部分为静音帧;b、若确定该前一个相邻的未丢失帧和后一个相邻的未丢失帧均为关键语音帧,则确定该丢失帧部分为关键语音帧;c、若确定该前一个相邻的未丢失帧和后一个相邻的未丢失帧均为非关键语音帧,则确定该丢失帧部分为非关键语音帧;d、若确定该前一个相邻的未丢失帧为关键语音帧,以及该后一个相邻的未丢失帧为静音帧,则确定该丢失帧部分的前一半部分为关键语音帧,该丢失帧部分的后一半部分为非关键语音帧;e、若确定该前一个相邻的未丢失帧为静音帧,以及该后一个相邻的未丢失帧为关键语音帧,则确定该丢失帧部分的前一半部分为非关键语音帧,该丢失帧部分的后一半部分为关键语音帧;f、若确定该前一个相邻的未丢失帧为关键语音帧,以及该后一个相邻的未丢失帧为非关键语音帧,则确定该丢失帧部分为关键语音帧;g、若确定该前一个相邻的未丢失帧为非关键语音帧,以及该后一个相邻的未丢失帧为关键语音帧,则确定该丢失帧部分为关键语音帧;h、若确定该前一个相邻的未丢失帧为非关键语音帧,以及该后一个相邻的未丢失帧为静音帧,则确定该丢失帧部分为非关键语音帧;i、若确定该前一个相邻的未丢失帧为静音帧,以及该后一个相邻的未丢失帧为非关键语音帧,则确定该丢失帧部分为非关键语音帧。也就是说,确定单元403,具体可以用于执行上述a~i的操作。其中,划分单元404,具体可以用于在确定静音帧连续出现的帧数超过预置次数时,将所述静音帧之前的语音序列划分为语句;以及,在确定语句中相邻两次丢帧部分的距离小于等于预置距离时,将所述相邻两次丢帧部分确定为一次丢帧事件;以及,在确定语句中相邻两次丢帧部分的距离大于预置距离时,将所述相邻两次丢帧部分确定为两次丢帧事件。其中,预置次数和预置距离可以根据实际应用的需求进行设置,比如,预置次数可以设置为6,预置距离可以设置为10,等等。其中,评估单元406,具体可以用于根据提取单元405提取到的非语音参数按照预置的语音质量评估模型对所述丢帧事件进行失真映射,得到丢失的语音帧总数;根据该丢失的语音帧总数计算语句的语音质量。其中,步骤“根据该非语音参数按照预置的语音质量评估模型对该丢帧事件进行失真映射,得到丢失的语音帧总数”具体可以采用如下任意一种方式来实现:(1)第一种方式;非语音参数可以包括位置参数和离散分布参数等,其中,该非语音参数可以包括非关键语音帧和关键语音帧之间的距离、语音帧丢帧次数、语音帧一次丢失长度、以及损伤长度,则此时,评估单元406具体可以用于执行如下操作:A、连续丢帧的情况;确定连续丢帧时,根据该非关键语音帧和关键语音帧之间的距离将丢帧事件中的非关键语音帧映射成丢失的关键语音帧数,根据该语音帧丢帧次数确定实际丢失的关键语音帧数,根据所述实际丢失的关键语音帧数和映射得到的丢失的关键语音帧数将所述丢帧事件映射成丢失的语音帧总数,如下:将非关键语音帧映射成丢失的关键语音帧数,用公式表示可以为:FLNi,j=f(Lj);比如,具体可以为:FLNi,j=exp(-0.033*Lj);其中,FLNi,j为第i个丢帧事件中第j个非关键语音帧映射的关键语音帧数,Lj为第j个非关键语音帧与关键语音帧之间的距离。丢失的语音帧总数可以为:其中,FLNi为第i个丢帧事件映射得到的丢失的语音帧总数(即关键语音帧丢失总数目),ni表示实际丢失的关键语音帧数。B、离散丢帧的情况;确定离散丢帧时,根据所述语音帧丢帧次数、语音帧一次丢失长度、以及损伤长度将丢帧事件中的损伤帧映射成丢失的语音帧数,根据所述语音帧丢帧次数确定实际丢失的关键语音帧数,根据所述实际丢失的关键语音帧数和映射得到的丢失的语音帧数将所述丢帧事件映射成丢失的语音帧总数;例如,具体可以如下:将损伤帧映射成丢失的语音帧数,用公式表示可以为:FLNi,k=f(N1,N0k,Lk);比如,具体可以为:其中,N0k为语音帧一次丢失长度,A0k为语音帧丢帧次数和一次丢失长度对单个未丢失语音帧的损伤影响,Lk为丢帧事件第k次出现的损伤长度,FLNi,k为第i个丢帧事件中Lk个语音损伤帧中单帧映射的语音帧数。其中,参数a1,b1,c1,a2,b2,c2,a3,b3和c3可以通过训练得到。将该丢帧事件映射成丢失的语音帧总数,可以为:FLNi为丢帧事件映射得到的丢失的语音帧总数(即语音帧丢失总数目),ni表示实际丢失的关键语音帧数。(2)第二种方式;非语音参数可以包括位置参数和离散分布参数等,其中,该非语音参数包括非关键语音帧和关键语音帧之间的距离、语音帧丢帧次数、语音帧一次丢失长度、以及损伤长度,则此时,评估单元406具体可以用于执行如下操作:A、连续丢帧的情况;确定连续丢帧时,根据该非关键语音帧和关键语音帧之间的距离将丢帧事件中的非关键语音帧映射成丢失的关键语音帧数,根据该语音帧丢帧次数确定实际丢失的关键语音帧数,根据该实际丢失的关键语音帧数和映射得到的丢失的关键语音帧数将该丢帧事件映射成丢失的语音帧总数。与第一种方式中的连续丢帧的情况的处理方式相同,详见前面的描述,在此不再赘述。B、离散丢帧的情况;确定离散丢帧时,根据该语音帧一次丢失长度和损伤长度将丢帧事件中的损伤帧映射成丢失的语音帧数,根据该语音帧丢帧次数确定实际丢失的关键语音帧数,根据该实际丢失的关键语音帧数和映射得到的丢失的语音帧数将该丢帧事件映射成丢失的语音帧总数;例如,具体可以如下:将损伤帧映射成丢失的语音帧数,用公式表示可以为:FLNi,k=f(N0k,Lk);比如,具体可以为:其中,FLNi,k为第i个丢帧事件中Lk个语音损伤帧中映射的语音帧数,A0k为丢帧事件中一次丢失长度对单个未丢失语音帧的损伤影响,参数a1,b1,c1,a2,b2和c2可以通过训练得到。将该丢帧事件映射成丢失的语音帧总数,可以为:FLNi为丢帧事件映射得到的丢失的语音帧总数(即语音帧丢失总数目),ni表示实际丢失的关键语音帧数。(3)第三种方式;与第一和第二种方式不同,第三种方式不再计算单帧的失真,而是直接计算整个丢帧事件的失真。其中,非语音参数可以包括位置参数和离散分布参数等,其中,该非语音参数可以包括非关键语音帧和关键语音帧之间的距离、语音帧丢帧次数、平均丢失长度和平均损伤长度,则此时,评估单元406具体可以用于执行如下操作:A、连续丢帧的情况;确定连续丢帧时,根据该非关键语音帧和关键语音帧之间的距离将丢帧事件中的非关键语音帧映射成丢失的关键语音帧数,根据该语音帧丢帧次数确定实际丢失的关键语音帧数,根据该实际丢失的关键语音帧数和映射得到的丢失的关键语音帧数将该丢帧事件映射成丢失的语音帧总数。与第一种方式中的连续丢帧的情况的处理方式相同,详见前面的描述,在此不再赘述。B、离散丢帧的情况;确定离散丢帧时,根据该平均丢失长度和平均损伤长度将所述丢帧事件映射成丢失的语音帧总数,用公式表示可以为:其中,FLNi为将该丢帧事件映射成丢失的语音帧总数,N0为语音帧的平均丢失长度,L为损伤长度;其中,参数a1,b1,c1,a2,b2,a3和b3可以通过训练得到。在得到丢失的语音帧总数之后,就可以根据该丢失的语音帧总数计算语句的语音质量,如下:一个语句的丢失语音帧数为:FLN=f(FLN1,FLN2,...,FLNM);其中,M为每个语句中丢帧事件个数,FLNi为每个丢帧事件的映射得到的丢失的语音帧总数。由于不考虑遭受数据包丢失的语句质量MOS0为:MOS0=f(R);因此,考虑遭受数据包丢失的语句质量Qn可以为:Qn=f(MOS0,FLN);其中,如果通过主观实验建立R与MOS0的匹配数据表格,则质量评估时可以直接查表得到MOS0。具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的实施具体可参见前面的实施例,在此不再赘述。该网络语音质量评估装置具体可以集成在服务器等网络侧设备中。由上可知,本实施例的网络语音质量评估装置的解析单元402可以将获取单元401获取到的网络语音的数据包进行解析,并由确定单元403根据解析结果确定该数据包的帧内容特性,比如确定是静音帧和语音帧,然后由划分单元404根据确定的帧内容特性对语音序列进行语句划分,并将语句划分为多个丢帧事件,在提取单元405根据丢帧事件提取非语音参数(包括位置参数和离散分布参数)后,由评估单元406根据该非语音参数按照预置的语音质量评估模型对每条语句的语音质量进行评估,最后,根据每条语句的语音质量评估整个语音序列的语音质量;由于在该方案中,可以通过对语音序列进行语句划分和丢帧事件划分,使得单个丢帧事件中的丢帧模式相对比较简单,从而易于研究每个丢帧事件所带来的失真影响;而且,由于该方案在评估网络语音质量的过程中,将帧内容特性(比如确定静音帧还是语音帧)和丢帧位置也作为考虑的因素,因此,相对于现有技术只根据其平均失真情况来衡量网络语音质量的方案而言,可以有效地提高网络语音质量评估的精度;也就是说,采用该方案,可以大大地提高预测精度,从而提高评估结果的准确性。实施例七、相应的,本发明实施例还提供一种通信系统,包括本发明实施例提供的任一种网络语音质量评估装置,该网络语音质量评估装置具体可参见实施例六,在此不再赘述。由于该通信系统可以包括本发明实施例提供的任一种网络语音质量评估装置,因此,可以实现本发明实施例提供的任一种网络语音质量评估装置所能实现的有益效果,详见前面的实施例,在此不再赘述。实施例八、此外,本发明实施例还提供一种网络侧设备,包括用于存储数据的存储器501、用于收发数据的收发接口502、以及处理器503;其中:处理器503,可以用于通过收发接口502获取网络语音的数据包,其中,该网络语音的数据包包括语音序列;对该数据包进行解析,得到解析结果;根据该解析结果确定该数据包的帧内容特性,根据确定的帧内容特性对该语音序列进行语句划分,并将划分得到的语句划分为多个丢帧事件;根据丢帧事件提取非语音参数;根据该非语音参数按照预置的语音质量评估模型对每条语句的语音质量进行评估,得到每条语句的语音质量;根据该每条语句的语音质量评估语音序列的语音质量。其中,根据不同的网络语音评估模型,处理器503对数据包的解析方式也有所不同,比如,以包层模型和比特流层模型为例,处理器503对数据包的解析具体可以如下:(1)包层模型;具体可以对数据包的包头进行解析,得到解析结果。其中,该解析结果可以包括语音序列的时长、语音序列的比特数、丢帧位置和语音负载等。例如,以第i个数据包为例,则上述参数的获取方法具体可以如下:第i个数据包包含的语音序列的时长Durationi:Durationi=Timestampi+1-Timestampi。其中,Timestampi为第i个数据包的时间戳,Timestampi+1为第i+1个数据包的时间戳,可以从数据包的实时传输协议(RTP,Real-timeTransportProtocol)头中读取。第i个数据包包含的语音序列的比特数Bi:Bi=LIPi-HIPi-HUDPi-HRTPi。其中,LIPi为第i个数据包的比特数,可以直接由IP头得到;HIPi为第i个数据包的IP协议头长度,HUDPi为第i个数据包的用户数据包协议(UDP,UserDatagramProtocol)协议头长度,HRTPi为第i个IP数据包的RTP协议头长度。记录语音负载和该第i个数据包的语音时长Durationmax,其中,语音负载指的是数据包负载最大时的RTP负载比特数,记为Bmax。一般认为该第i个数据包是非静音,则该第i个数据包的非静音的码率为:此外,RTP头中的序列号域标示了数据包的顺序,根据每个数据包的RTP序列号就可以确定丢失帧的位置(就丢帧位置)和数量。(2)比特流层模型;与包层模型不同的是,比特流程模型除了需要对数据包的包头进行解析之外,还需要对语音负载部分也进行解析,如下:A、对数据包的包头进行解析,得到解析结果,其中,该解析结果可以包括语音序列的时长、语音序列的比特数、丢帧位置和语音负载等信息,这些信息的具体获取与包层模型相同,在此不再赘述。B、根据语音负载进行自适应多速率(AMR,AdaptiveMulti-Rate)解码,得到AMR解码后语音信号。C、根据语音序列的时长和语音序列的比特数计算该AMR解码后语音信号中每一帧的帧能量和平均帧能量。其中,每一帧的帧能量可以根据人耳的听觉特性和主观体验进行量化而得,若该帧能量大于0,则为语音帧,并依此计算语音帧的平均能力,得到平均帧能量。对于不同的网络语音评估模型,由于其获取到的解析结果不同,因此,其确定数据包的帧内容特性的方式也有所不同,比如,还是以包层模型和比特流层模型为例,处理器503确定数据包的帧内容特性的方式具体可以如下:(1)包层模型;A、根据该丢帧位置在该数据包中确定当前需要检测的丢失帧部分。B、分别根据该语音序列的时长、语音序列的比特数和语音负载确定该丢失帧部分的前一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的帧内容特性,以及确定该后一个相邻的未丢失帧的标记(mark),该标记为帧的序号。其中,根据所述语音序列的时长、语音序列的比特数和语音负载确定未丢失帧的帧内容特性,具体可以包括:获取未丢失帧的实际有效载荷长度;根据该语音负载、语音序列的比特数和语音序列的时长确定码率(即编码速率);若该码率所对应的标准有效载荷长度与该实际有效载荷长度一致,则确定该未丢失帧为语音帧;若该码率所对应的标准有效载荷长度与实际有效载荷长度不一致,则确定该未丢失帧为静音帧。C、根据该前一个相邻的未丢失帧的帧内容特性、后一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的标记确定该丢失帧部分的帧内容特性,例如,具体可以如下:若确定所述前一个相邻的未丢失帧和后一个相邻的未丢失帧均为静音帧,或后一个相邻的未丢失帧的标记指示所述后一个相邻的未丢失帧为第一个语音帧(比如标记为1),则确定所述丢失帧部分为静音帧,否则,均确定该丢失帧部分为语音帧。此外,为了进一步提高预测精度,还可以将语音帧划分为关键语音帧和非关键语音帧,以便后续可以针对这些关键语音帧和非关键语音帧作出不同的处理。其中,关键语音帧指的是对语音质量的影响较大的帧,而关键语音帧指的是对语音质量的影响较小的帧。若将语音帧划分为关键语音帧和非关键语音帧,则在步骤“确定该丢失帧部分为语音帧”具体可以包括如下情况:a、在确定该前一个相邻的未丢失帧和后一个相邻的未丢失帧均为语音帧时,确定该丢失帧部分为关键语音帧;b、在确定该前一个相邻的未丢失帧为语音帧,以及该后一个相邻的未丢失帧为静音帧时,确定该丢失帧部分的前一半部分为关键语音帧,以及确定该丢失帧部分的后一半部分为非关键语音帧;c、在确定该前一个相邻的未丢失帧为静音帧,以及该后一个相邻的未丢失帧为语音帧时,确定该丢失帧部分的前一半部分为非关键语音帧,以及确定丢失帧部分的后一半部分为关键语音帧。(2)比特流层模型;比特流层模型的帧内容检测较包层模型更为精细,比如,其中语音帧可以包括关键语音帧和非关键语音帧,等等。对于比特流层模型来说,“根据得到的解析结果确定该数据包的帧内容特性”的操作具体可以如下:A、根据该丢帧位置在所述数据包中确定当前需要检测的丢失帧部分。B、根据计算出的帧能量和平均帧能量确定该丢失帧部分的前一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的帧内容特性。其中,根据计算出的帧能量和平均帧能量确定未丢失帧的帧内容特性,包括:若该未丢失帧的帧能量小于等于0,则确定该未丢失帧为静音帧;若该未丢失帧的帧能量大于0小于平均帧能量,则确定该未丢失帧为非关键语音帧;若该未丢失帧的帧能量大于平均帧能量,则确定该未丢失帧为关键语音帧。C、根据所述前一个相邻的未丢失帧的帧内容特性和后一个相邻的未丢失帧的帧内容特性确定所述丢失帧部分的帧内容特性,具体可以如下:a、若确定该前一个相邻的未丢失帧和后一个相邻的未丢失帧均为静音帧,则确定该丢失帧部分为静音帧;b、若确定该前一个相邻的未丢失帧和后一个相邻的未丢失帧均为关键语音帧,则确定该丢失帧部分为关键语音帧;c、若确定该前一个相邻的未丢失帧和后一个相邻的未丢失帧均为非关键语音帧,则确定该丢失帧部分为非关键语音帧;d、若确定该前一个相邻的未丢失帧为关键语音帧,以及该后一个相邻的未丢失帧为静音帧,则确定该丢失帧部分的前一半部分为关键语音帧,该丢失帧部分的后一半部分为非关键语音帧;e、若确定该前一个相邻的未丢失帧为静音帧,以及该后一个相邻的未丢失帧为关键语音帧,则确定该丢失帧部分的前一半部分为非关键语音帧,该丢失帧部分的后一半部分为关键语音帧;f、若确定该前一个相邻的未丢失帧为关键语音帧,以及该后一个相邻的未丢失帧为非关键语音帧,则确定该丢失帧部分为关键语音帧;g、若确定该前一个相邻的未丢失帧为非关键语音帧,以及该后一个相邻的未丢失帧为关键语音帧,则确定该丢失帧部分为关键语音帧;h、若确定该前一个相邻的未丢失帧为非关键语音帧,以及该后一个相邻的未丢失帧为静音帧,则确定该丢失帧部分为非关键语音帧;i、若确定该前一个相邻的未丢失帧为静音帧,以及该后一个相邻的未丢失帧为非关键语音帧,则确定该丢失帧部分为非关键语音帧。其中,处理器503在划分语句和丢帧事件时,具体可以执行如下操作:确定静音帧连续出现的帧数超过预置次数时,将该静音帧之前的语音序列划分为语句;确定该语句中相邻两次丢帧部分的距离小于等于预置距离时,将该相邻两次丢帧部分确定为一次丢帧事件。确定该语句中相邻两次丢帧部分的距离大于预置距离时,将该相邻两次丢帧部分确定为两次丢帧事件。其中,预置次数和预置距离可以根据实际应用的需求进行设置,比如,预置次数可以设置为6,预置距离可以设置为10,等等。此外,处理器503在根据该非语音参数按照预置的语音质量评估模型对每条语句的语音质量进行评估时,具体可以根据该非语音参数按照预置的语音质量评估模型对该丢帧事件进行失真映射,得到丢失的语音帧总数,然后再根据该丢失的语音帧总数计算语句的语音质量。其中,“根据该非语音参数按照预置的语音质量评估模型对该丢帧事件进行失真映射,得到丢失的语音帧总数”具体可以采用如下任意一种方式来实现:(1)第一种方式;非语音参数可以包括位置参数和离散分布参数等,其中,该非语音参数可以包括非关键语音帧和关键语音帧之间的距离、语音帧丢帧次数、语音帧一次丢失长度、以及损伤长度,则此时,步骤“根据所述非语音参数按照预置的语音质量评估模型对所述丢帧事件进行失真映射,得到丢失的语音帧总数”可以包括:A、连续丢帧的情况;确定连续丢帧时,根据该非关键语音帧和关键语音帧之间的距离将丢帧事件中的非关键语音帧映射成丢失的关键语音帧数,根据该语音帧丢帧次数确定实际丢失的关键语音帧数,根据所述实际丢失的关键语音帧数和映射得到的丢失的关键语音帧数将所述丢帧事件映射成丢失的语音帧总数,如下:将非关键语音帧映射成丢失的关键语音帧数,用公式表示可以为:FLNi,j=exp(-0.033*Lj);其中,FLNi,j为第i个丢帧事件中第j个非关键语音帧映射的关键语音帧数,Lj为第j个非关键语音帧与关键语音帧之间的距离。丢失的语音帧总数可以为:其中,FLNi为第i个丢帧事件映射得到的丢失的语音帧总数(即关键语音帧丢失总数目),ni表示实际丢失的关键语音帧数。B、离散丢帧的情况;确定离散丢帧时,根据所述语音帧丢帧次数、语音帧一次丢失长度、以及损伤长度将丢帧事件中的损伤帧映射成丢失的语音帧数,根据所述语音帧丢帧次数确定实际丢失的关键语音帧数,根据所述实际丢失的关键语音帧数和映射得到的丢失的语音帧数将所述丢帧事件映射成丢失的语音帧总数;例如,具体可以如下:将损伤帧映射成丢失的语音帧数,用公式表示可以为:其中,N0k为语音帧一次丢失长度,A0k为语音帧丢帧次数和一次丢失长度对单个未丢失语音帧的损伤影响,Lk为丢帧事件第k次出现的损伤长度,FLNi,k为第i个丢帧事件中Lk个语音损伤帧中单帧映射的语音帧数。其中,参数a1,b1,c1,a2,b2,c2,a3,b3和c3可以通过训练得到。将该丢帧事件映射成丢失的语音帧总数,可以为:FLNi为丢帧事件映射得到的丢失的语音帧总数(即语音帧丢失总数目),ni表示实际丢失的关键语音帧数。(2)第二种方式;非语音参数可以包括位置参数和离散分布参数等,其中,该非语音参数包括非关键语音帧和关键语音帧之间的距离、语音帧丢帧次数、语音帧一次丢失长度、以及损伤长度,则所述根据该非语音参数按照预置的语音质量评估模型对所述丢帧事件进行失真映射,得到丢失的语音帧总数,包括:A、连续丢帧的情况;确定连续丢帧时,根据该非关键语音帧和关键语音帧之间的距离将丢帧事件中的非关键语音帧映射成丢失的关键语音帧数,根据该语音帧丢帧次数确定实际丢失的关键语音帧数,根据该实际丢失的关键语音帧数和映射得到的丢失的关键语音帧数将该丢帧事件映射成丢失的语音帧总数。与第一种方式中的连续丢帧的情况的处理方式相同,详见前面的描述,在此不再赘述。B、离散丢帧的情况;确定离散丢帧时,根据该语音帧一次丢失长度和损伤长度将丢帧事件中的损伤帧映射成丢失的语音帧数,根据该语音帧丢帧次数确定实际丢失的关键语音帧数,根据该实际丢失的关键语音帧数和映射得到的丢失的语音帧数将该丢帧事件映射成丢失的语音帧总数;例如,具体可以如下:将损伤帧映射成丢失的语音帧数,用公式表示可以为:其中,FLNi,k为第i个丢帧事件中Lk个语音损伤帧中映射的语音帧数,A0k为丢帧事件中一次丢失长度对单个未丢失语音帧的损伤影响,参数a1,b1,c1,a2,b2和c2可以通过训练得到。将该丢帧事件映射成丢失的语音帧总数,可以为:FLNi为丢帧事件映射得到的丢失的语音帧总数(即语音帧丢失总数目),ni表示实际丢失的关键语音帧数。(3)第三种方式;与第一和第二种方式不同,第三种方式不再计算单帧的失真,而是直接计算整个丢帧事件的失真。其中,非语音参数可以包括位置参数和离散分布参数等,其中,该非语音参数可以包括非关键语音帧和关键语音帧之间的距离、语音帧丢帧次数、平均丢失长度和平均损伤长度,则所述根据所述非语音参数将该丢帧事件中不同位置下的丢失帧和不同离散分布下的丢失帧映射成丢失的语音帧总数,具体可以包括:A、连续丢帧的情况;确定连续丢帧时,根据该非关键语音帧和关键语音帧之间的距离将丢帧事件中的非关键语音帧映射成丢失的关键语音帧数,根据该语音帧丢帧次数确定实际丢失的关键语音帧数,根据该实际丢失的关键语音帧数和映射得到的丢失的关键语音帧数将该丢帧事件映射成丢失的语音帧总数。与第一种方式中的连续丢帧的情况的处理方式相同,详见前面的描述,在此不再赘述。B、离散丢帧的情况;确定离散丢帧时,根据该平均丢失长度和平均损伤长度将所述丢帧事件映射成丢失的语音帧总数,用公式表示可以为:其中,FLNi为将该丢帧事件映射成丢失的语音帧总数,N0为语音帧的平均丢失长度,L为损伤长度;其中,参数a1,b1,c1,a2,b2,a3和b3可以通过训练得到。在得到丢失的语音帧总数之后,就可以根据该丢失的语音帧总数计算语句的语音质量,如下:一个语句的丢失语音帧数为:FLN=f(FLN1,FLN2,...,FLNM);其中,M为每个语句中丢帧事件个数,FLNi为每个丢帧事件的映射得到的丢失的语音帧总数。由于不考虑遭受数据包丢失的语句质量MOS0为:MOS0=f(R);因此,考虑遭受数据包丢失的语句质量Qn可以为:Qn=f(MOS0,FLN);其中,如果通过主观实验建立R与MOS0的匹配数据表格,则质量评估时可以直接查表得到MOS0。以上各个操作的具体实施可参见前面的实施例,在此不再赘述。由上可知,本实施例的网络侧设备采用对获取到的网络语音的数据包进行解析,并根据解析结果确定该数据包的帧内容特性,比如确定是静音帧和语音帧,然后根据确定的帧内容特性对语音序列进行语句划分,并将语句划分为多个丢帧事件,在根据丢帧事件提取非语音参数(包括位置参数和离散分布参数)后,根据该非语音参数按照预置的语音质量评估模型对每条语句的语音质量进行评估,最后,根据每条语句的语音质量评估整个语音序列的语音质量;由于在该方案中,可以通过对语音序列进行语句划分和丢帧事件划分,使得单个丢帧事件中的丢帧模式相对比较简单,从而易于研究每个丢帧事件所带来的失真影响;而且,由于该方案在评估网络语音质量的过程中,将帧内容特性(比如确定静音帧还是语音帧)和丢帧位置也作为考虑的因素,因此,相对于现有技术只根据其平均失真情况来衡量网络语音质量的方案而言,可以有效地提高网络语音质量评估的精度;也就是说,采用该方案,可以大大地提高预测精度,从而提高评估结果的准确性。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,ReadOnlyMemory)、随机存取记忆体(RAM,RandomAccessMemory)、磁盘或光盘等。以上对本发明实施例所提供的一种网络语音质量评估方法、装置和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1