本申请是申请号为201580070117.x、申请日为2015年12月23日、发明名称为“与语音质量估计相关的改进方法和设备”的发明专利申请的分案申请。
本公开落入语音通信系统领域,更具体地涉及基于分组的语音通信系统中的语音质量估计领域。特别地,本公开提供了通过考虑丢失的语音分组的内容来减小语音质量估计的预测误差的方法和设备。此外,本公开提供了使用语音质量估计算法以基于可以在第一输入模式和第二输入模式之间切换的输入来计算语音质量估计的方法和设备。
背景技术:
在过去的几年中,互联网协议语音(voiceoverinternetprotocol(voip))已经变成重要的应用,并且被预期通过tcp/ip网络携带越来越多的语音流量。
在这种基于互联网协议(ip)的语音通信系统中,通常用户的语音波形被在时间上分片、由语音编码器压缩、分组化并发送(transmit)给其他用户。由于ip网络的固有性质和人类语音通信的实时约束,在发送期间丢失语音分组或者迟到的语音分组即使接收到也会被丢弃是常见的,从而导致劣化的语音质量。移动和wifi网络通常在许多情况下使情况更糟。因而,语音质量的精确实时监视是语音通信系统的分析、管理和优化的基本特征。
典型的语音质量监视系统采用分析分组丢失信息(诸如分组丢失率和丢失模式(例如,丢失是随机的或具有突发性质))的方案,因为它提供了简单且计算成本低的方法来估计语音质量。这种方案被称为经修改的e模型。但是,这些系统在估计语音质量方面具有低精确度,这是因为在估计语音质量时,它们不考虑丢失的语音分组的内容(例如,有效载荷)。
可以通过在完全解码在voip呼叫(例如itu-tp.563,ansianique )中发出的所有分组和其它数据之后分析语音波形来实现更精确的语音质量估计。但是,这种方法需要用于分析语音波形的大量的计算。而且,这种方法丢弃了在分组层级可用的重要分组丢失统计信息。
因而,期望具有利用分组丢失信息和语音波形信息两者而不需要昂贵的完全解码过程的语音质量监视系统。
附图说明
现在将参考附图描述示例实施例,其中:
图1是根据示例实施例的语音质量估计设备的一般框图,
图2通过示例示出与连续丢失的语音分组的组相关的统计度量的修改,其中修改基于每组中的丢失的语音分组的感知重要性,
图3通过示例描述了怎样基于与丢失的语音分组相邻的语音分组估计丢失的语音分组的感知重要性,
图4通过示例示出当在计算语音质量估计时使用丢失的语音分组的感知重要性时怎样减小语音质量估计的预测误差,
图5通过示例示出用于修改与丢失的语音分组相关的统计度量的方法,
图6通过示例示出用于计算语音质量估计的方法。
所有附图都是示意性的并且一般仅示出为了阐明本公开所必需的部分,而其它部分可以被省略或仅仅被暗示。除非另有指示,否则在不同图中相同的附图标记指的是相同部分。
具体实施方式
鉴于以上,一个目的是提供通过基于丢失的语音分组的感知重要性修改与丢失的语音分组相关的常规统计量度来提供语音质量估计的减小的预测误差的设备和相关联方法。而且,一个目标是提供在计算语音质量估计时促进两种操作模式的设备和相关联方法,使得提供低复杂度模式和高精确度模式。
i.概述-使用丢失的分组的感知重要性
根据第一方面,示例实施例提出了用于修改与丢失的语音分组相关的统计度量的方法、实现该方法的设备以及适于实施该方法的计算机程序产品。所提出的方法、设备和计算机程序产品一般可以具有相同的特征和优点。
根据示例实施例,提供了用于修改基于分组的语音通信系统中的与丢失的语音分组相关的统计度量的方法。
该方法包括接收包括从语音通信系统中的一个或多个端点发送的编码语音分组的序列的数据,其中从所述一个或多个端点发送的编码语音分组包括接收到的编码语音分组的序列以及在从所述一个或多个端点的发送期间丢失的或由于发送中的延时(latency)和/或抖动而被丢弃的一个或多个丢失的语音分组。
该方法还包括基于接收到的编码语音分组的序列计算与丢失的语音分组相关的统计度量,以及基于丢失的语音分组的感知重要性来修改统计度量,以便在使用修改的统计度量作为语音质量估计算法的输入时减小语音质量估计的预测误差。
本公开一般涉及包括多个电话端点的电话会议系统,并且特别地涉及当这样的系统经历信道劣化或网络劣化时感知到的呼叫质量的改进。
作为背景,在典型的电话会议系统中,混合器从语音呼叫中的电话端点中的每个接收携带由该电话端点捕获的音频信号的相应上行链路数据流,并将相应的下行链路数据流发出到电话端点中的每个。结果,每个电话端点接收携带由其它电话端点捕获的相应音频信号的混合的下行链路数据流。从而,当电话会议中的两个或更多个参与者同时发言时,其他(一个或多个)参与者可以听到这两个参与者发言。
如果携带去往端点中的一个的下行链路数据流和来自端点中的该一个端点的上行链路数据流的数据信道存在问题,则这可以引起在下行链路和/或上行链路数据流中的误差。对于使用端点中的所述一个端点的参与者和/或语音呼叫中的其他参与者,该误差可以是可感知的。误差可以导致在从一个或多个端点发送期间丢失的、丢失的语音分组。
误差会进一步导致抖动。抖动在技术上是跨网络的延时随时间的变化性的测量,并且是基于分组的语音通信系统中的常见问题。因为语音分组可以通过从发送器(sender)到接收器的不同路径行进,所以语音分组可能按照与它们原始发出的次序不同的次序到达它们意图的目的地。即使使用抖动缓冲区来临时存储到达的语音分组以便最小化延迟变化,一些抖动特性也会超过抖动缓冲区的能力并且一些语音分组仍然可能迟到。这些分组最终被丢弃。因而,这种丢弃的语音分组被看作是由于发送中的延时和/或抖动而被丢弃的、丢失的语音分组。
因而,丢失的语音分组可以在发送中被动丢失或由于抖动/延时而被主动丢弃(例如,被抖动缓冲区主动丢弃)。
以上讨论的与下行链路和/或上行链路数据流中的误差相关的问题可以导致从一个或多个端点发送的编码语音分组中,一些编码语音分组在发送期间丢失或由于发送中的延时和/或抖动而被丢弃,其余的作为编码语音分组的序列被接收。
如本文所使用的,“端点”指的是电话端点和/或混合器。应当注意,术语“电话端点”包括可以在电话会议系统中使用的任何端点设备,其中声音被转换成电脉冲以用于发送,并且其中电脉冲被转换回声音。
以上方法提供了减小语音质量估计的预测误差的简单且灵活的方式。
计算语音质量估计时的常规统计度量不考虑丢失的语音分组的有效载荷。有效载荷包含语音呼叫中对应时间帧的语音波形或音频数据。相反,仅考虑语音分组是丢失还是被接收的信息。
但是,丢失的语音分组的内容可以与减小语音质量估计的预测误差非常相关。例如,携带表示语音呼叫中主演示者的语音的音频数据的丢失的语音分组可以比携带表示语音呼叫中收听者的沉默的音频数据的丢失的语音分组降低更多感知到的语音质量。结果,通过使用丢失的语音分组的感知重要性来计算随后可以被用作语音质量估计算法的输入的统计度量,可以减小语音质量估计的预测误差。
通过减小预测误差,可以更早地和/或更精确地检测可能导致一个或多个参与者感知劣化的呼叫质量的问题,并且因而可以更好地处理该问题。
根据示例实施例,修改统计度量的步骤包括根据丢失的语音分组的感知重要性对该丢失的语音分组进行加权。结果,可以考虑每个丢失的语音分组的感知重要性。例如,两个连续的丢失的语音分组可以具有不同的感知重要性,并且因而在计算语音质量估计时被不同地加权。这可以在修改统计度量时提供改进的灵活性。
根据示例实施例,统计度量与连续的丢失的语音分组的组相关,每组包括一个或多个丢失的语音分组,其中在计算统计度量的步骤中,每组连续的丢失的语音分组基于该组中连续的丢失的语音分组的数量被加权,并且其中在修改统计度量的步骤中,每组基于该组中丢失的语音分组的感知重要性被进一步加权。
因为统计度量基于连续的丢失的语音分组的组,所以丢失分组的模式被考虑到。应当注意,组可以仅包括一个丢失的语音分组。
在基于分组的语音通信系统中,随机丢失模式可以比丢失的分组被编组(grouped)(例如,突发丢失模式)的情况更少地降低语音质量,因为更大数量的连续的丢失的语音分组可以增加感知重要的数据丢失的风险。例如,在主演示者正在阐述重要观点的同时,携带表示他或她的语音的音频数据的数个连续的语音分组的丢失比在上行链路数据流上与主演示者分隔开一段时间的相同数量的语音分组的丢失更多地负面地影响感知到的语音质量。换言之,突发丢失模式可以会增加整个单词或重要音素丢失的风险,而更随机的丢失模式可以被听众忽略。
根据示例实施例,基于与从一个或多个端点发送期间丢失或者由于发送的延时和/或抖动而被丢弃的分组相邻的编码语音分组的序列中的语音分组的感知重要性来估计丢失的语音分组的感知重要性。
结果,可以在没有与实际丢失的语音分组相关的任何信息的情况下估计丢失的语音分组的感知重要性。而且,因为每个语音分组例如与诸如1/100或1/50秒之类的小时间帧对应,所以具有某个感知重要性的语音分组有可能在具有相似感知重要性的语音分组之前和之后。应当注意,语音分组可以与第一时间帧(例如20ms)对应,而相同发送中的另一语音分组可以与第二时间帧(例如10ms)对应。
根据示例实施例,接收到的编码语音分组的序列中的每个语音分组包括指示语音分组的感知重要性的单独的位或单独的多位。这可以减小从语音分组提取感知重要性的计算复杂度,因为不需要为了提取感知重要性而执行对语音分组中的实际语音波形的分析。
根据示例实施例,该方法还包括以下步骤:接收指示从一个或多个端点发送的编码语音分组中的每个的感知重要性的信号。这个实施例可能是有利的,因为丢失的分组的感知重要性仍然在指示从一个或多个端点发送的编码语音分组中的每个的感知重要性的信号中被描述。结果,不需要为了估计(一个或多个)丢失的语音分组的感知重要性而执行基于相邻语音分组的分析或计算。这可以导致在基于丢失的语音分组的感知重要性修改统计度量时更低的计算复杂度。
根据示例实施例,该方法还包括对接收的编码语音分组中的至少一些进行部分解码以便估计丢失的语音分组的感知重要性的步骤。可以例如使用基于经修改的离散余弦变换(mdct)的编码器对编码语音分组进行编码,其中通过对接收到的编码语音分组中的至少一些进行部分解码来提取mdct增益参数,其中mdct增益参数被用于估计丢失的语音分组的感知重要性。与语音分组被完全解码和分析的策略相比,这可以减小丢失的语音分组的感知重要性的估计的计算复杂度。
根据示例实施例,该方法还包括完全解码接收到的编码语音分组中的至少一些以便估计丢失的语音分组的感知重要性的步骤。这可以改进丢失的分组的感知重要性的估计,并且与在itu-tp.563、ansianique 中使用的策略相比,这与分组层级的分组丢失统计相结合可以减小语音质量估计的预测误差。
根据示例实施例,统计度量包括以下中的至少一个:分组丢失率plr,其是与所发送的语音分组的总数量相关的丢失的语音分组的数量,以及突发性因子bf,其是一减去与丢失的语音分组的数量相关的连续的丢失的语音分组的组的数量。
这些是常规语音质量估计算法中的典型参数,并且通过修改这些统计度量中的至少一个,可以重用这样的语音质量估计算法。
根据示例实施例,基于丢失的语音分组的感知重要性修改统计度量的步骤包括plr和/或bf的线性或非线性映射。这将在下面详细解释。
根据示例实施例,语音分组的感知重要性基于语音分组的响度值、语音分组的音素类别和语音分组的频带加权信号能量水平中的至少一个。这些参数全都解决语音波形的感知重要性并且可以单独使用或组合使用以便提取语音分组的感知重要性。
如本文所使用的,“响度”表示声音强度的建模的心理声学测量;换言之,响度表示由普通用户感知到的一个或多个声音的音量的近似。响度可以例如指语音波形的对白归一(dialnorm)值(根据itu-rbs.1770建议)。可以使用其它合适的响度测量标准,诸如glasberg和moore的响度模型,该响度模型提供对zwicker的响度模型的修改和扩展。
根据示例实施例,接收到的数据还包括表示一个或多个丢失的语音分组的分组。如上面所解释的,电话会议系统中的设备(例如,混合器或电话端点)通常包括抖动缓冲区,该抖动缓冲区存储可以以不规则的时间间隔到达的、传入的语音分组以便以均匀隔开的时间间隔创建语音分组。通过也创建例如带有丢失的语音分组的标记的分组,就每个时间帧的语音分组的数量和语音分组之间的时间段而言,从抖动缓冲区的输出总是看起来相同。这进而可以减小系统的其余部分(例如,计算语音质量估计的部分)的复杂度。
根据示例实施例,提供了包括计算机代码指令的计算机可读介质,该计算机代码指令适于在具有处理能力的设备上执行时执行第一方面的任何方法。
根据示例实施例,提供了用于估计基于分组的语音通信系统中的语音质量的设备。该设备包括接收级,被配置为接收包括从语音通信系统中的一个或多个端点发送的编码语音分组的序列的数据,其中从一个或多个端点发送的编码语音分组包括接收到的编码语音分组的序列以及在从一个或多个端点的发送期间丢失或由于发送中的延时和/或抖动而被丢弃的一个或多个丢失的语音分组。该设备还包括计算级,被配置为基于接收到的编码语音分组的序列来计算与丢失的语音分组的数量相关的统计度量。该设备还包括感知变换级,被配置为基于丢失的语音分组的感知重要性来修改统计度量,以便在使用修改的统计度量作为语音质量估计算法的输入时减小语音质量估计的预测误差。
ii.概述-可切换的输入模式
根据第二方面,示例实施例提出了用于计算基于分组的语音通信系统中的语音质量估计的方法、实现该方法的设备以及适于执行该方法的计算机程序产品。所提出的方法、设备和计算机程序产品一般可以具有相同的特征和优点。一般地,第二方面的特征可以具有与第一方面的对应特征相同的优点。
根据示例实施例,提供了用于计算基于分组的语音通信系统中的语音质量估计的方法。该方法包括以下步骤:使用语音质量估计算法接收包括编码语音分组的序列的数据,以基于可在第一输入模式和第二输入模式之间切换的输入来计算语音质量估计。
在第一输入模式下,输入是与编码语音分组的序列相关的统计度量。
在第二输入模式下,输入是与编码语音分组的序列相关的统计度量的预处理版本。
根据这个方法,预处理改进语音质量估计的精确度,使得与基于统计度量的语音质量估计的预测误差相比,基于统计度量的预处理版本的语音质量估计的预测误差被减小。
通过提供两种输入模式,其中一种是为了低复杂度并且一种提供更高的精确度,提供了用于计算语音质量估计的更灵活的方法。而且,因为两种输入模式共享相同的语音质量估计算法,所以可以实现改进的可扩展性。
根据示例实施例,该方法还包括接收来自端点中的一个的、指示要选择的第一输入模式和第二输入模式中的一个的输入的步骤。这个输入可以例如由端点电话的用户感知到语音质量不令人满意来触发。在这种情况下,为了更好地处理语音分组发送中的问题,可能需要在例如混合器处对语音质量进行更好的估计。
根据示例实施例,第一输入模式与第二输入模式之间的选择基于与第一输入模式和第二输入模式相关联的计算负荷。在这种情况下,例如,如果混合器的处理器正在计算上过载,则混合器本身可以从第二输入模式切换到第一输入模式。这可以在例如如果许多端点连接到语音呼叫时发生,使得需要执行更多的混合。
根据示例实施例,第一输入模式与第二输入模式之间的选择基于与同期望的语音质量估计精确度相关的第一输入模式和第二输入模式相关联的计算负荷。结果,两种输入模式之间的切换可以是执行该方法的设备的计算负荷与语音质量估计的精确度之间的权衡。
根据示例实施例,第一输入模式与第二输入模式之间的选择基于预设模式。
根据示例实施例,从语音通信系统中的一个或多个端点发送接收到的数据,其中从一个或多个端点发送的编码语音分组包括接收到的编码语音分组的序列以及在从一个或多个端点发送期间丢失或由于发送中的延时和/或抖动而被丢弃的一个或多个丢失的语音分组,其中统计度量根据接收到的编码语音分组的序列被计算并且与丢失的语音分组相关,并且其中预处理与基于丢失的语音分组的感知重要性来修改统计度量相关。如上所述,通过在计算语音质量估计时考虑丢失的语音分组的感知重要性,可以实现更精确的语音质量估计。应当注意,可以采用任何其它类型的预处理,例如使用如“animprovedgmm-basedvoicequalitypredictor”(falk等人)中描述的高斯混合模型,或者使用元音和辅音音素的发音转换(articulatorytransition)(即,主动和被动发音器)以便修改统计度量。
根据示例实施例,预处理包括根据丢失的语音分组的感知重要性对该丢失的语音分组进行加权。
根据示例实施例,统计度量与连续的丢失的语音分组的组相关,每组包括一个或多个丢失的分组,其中通过基于每组中连续的丢失的语音分组的数量对该组连续的丢失的语音分组进行加权来计算统计度量,并且其中预处理还包括基于每组中的丢失的语音分组的感知重要性对该组进行加权。
根据示例实施例,基于编码语音分组的序列中与从一个或多个端点的发送期间丢失的分组相邻的语音分组的感知重要性来估计丢失的语音分组的感知重要性。
根据示例实施例,该方法还包括至少部分地解码接收到的编码语音分组中的至少一些以便估计丢失的语音分组的感知重要性的步骤。
这样的至少部分解码可以导致执行该方法的设备上的计算负荷增加。结果,当第二输入模式包括至少部分地解码接收到的编码语音分组中的一些时;可能甚至更有利的是具有两种输入模式,使得如果需要则可以释放设备的计算负荷。
根据示例实施例,接收到的编码语音分组的序列中的每个语音分组包括指示语音分组的感知重要性的单独位。
根据示例实施例,该方法还包括接收指示从一个或多个端点发送的编码语音分组中的每个的感知重要性的信号的步骤。
根据示例实施例,统计度量包括以下中的至少一个:分组丢失率plr,其是与所发送的语音分组的总数量相关的丢失的语音分组的数量,以及突发性因子bf,其是一减去与丢失的语音分组的数量相关的连续的丢失的语音分组的组的数量。
根据示例性实施例,语音分组的感知重要性基于语音分组的响度值、语音分组的音素类别和语音分组的频带加权信号能量水平中的至少一个。
根据示例性实施例,提供了包括计算机代码指令的计算机可读介质,该计算机代码指令适于在具有处理能力的设备上执行时执行第二方面的任何方法。
根据示例实施例,提供了一种用于计算基于分组的语音通信系统中的语音质量估计的设备。该设备包括接收级,被配置为接收包括编码语音分组的序列的数据,以及语音质量估计级,被配置为使用语音质量估计算法以基于可在第一输入模式与第二输入模式之间切换的输入来计算语音质量估计,其中,在第一输入模式下,输入是与编码语音分组的序列相关的统计度量,其中在第二输入模式下,输入是与编码语音分组的序列相关的统计度量的预处理版本,并且其中与基于统计度量的语音质量估计的预测误差相比,基于统计度量的预处理版本的语音质量估计的预测误差被减小。
iii.示例实施例
图1描述了根据示例实施例的语音质量估计设备100的一般框图。设备100是基于分组的语音通信系统的一部分,例如,电话会议系统中的混合器或电话端点。
设备100包括两个不同的部分100a、100b。图1中包括抖动缓冲区102和用于解码和分组丢失隐藏(plc)的级104的上部100a是接收器(例如,移动电话)的典型语音处理单元。抖动缓冲区102通常是从基于分组的语音通信系统的其它部分接收传入的语音分组101的缓冲区。由于基于分组的语音通信系统中的上行链路和/或下行链路数据流的问题,传入的语音分组101通常以不规则的时间间隔到达。传入的分组中的一些由于它们因网络中的延时而迟到而被丢弃,这意味着语音呼叫的对应时间区段已经被接收器的扬声器呈现。由于抖动特性超过了抖动缓冲区的能力,所以将丢弃一些语音分组。抖动缓冲区102可以以均匀隔开的时间间隔输出语音分组103。可选地,抖动缓冲区102还可以创建表示丢失的语音分组的分组,照此(assuch)标记它们,并以均匀隔开的时间间隔将它们包括在输出的语音分组103中。用于丢失的语音分组的标记可以是输出的语音分组中的单个位,例如,如果语音分组没有丢失则为零,如果语音分组表示丢失的语音分组则为一。抖动缓冲区可以例如使用被包括在语音分组中的序列号以便确定分组是否丢失以及那些丢失的语音分组原始(当发送时)位于语音分组流中的哪里。
用于解码和plc的级104解码语音分组流的内容(有效载荷)以合成语音波形。如果在语音分组中有丢失,该丢失有可能由抖动缓冲区102标记或以其他方式被级104已知(例如,通过每个语音分组中的行程(running)数量),则采用plc来通过使用先前接收的语音分组来估计丢失分组的语音波形。
图1中的设备100的下部100b是执行丢失的分组对感知到的语音质量的影响的估计的部分,即,计算语音质量估计116的部分。可以在平均意见得分(mos)量表(scale)中输出计算出的语音质量估计116。
来自抖动缓冲区102的输出语音分组103由分组丢失统计(pls)计算单元106(即,设备100的计算级)接收。pls计算单元106包括接收级,该接收级适于接收包括从语音通信系统中的一个或多个端点发送的编码语音分组103的序列的数据。如上所述,从一个或多个端点发送的编码语音分组中的一些可能已经在从一个或多个端点到设备100的发送期间丢失,或者由于迟到而被抖动缓冲区102丢弃。这些丢失的分组可以引起编码语音分组与其相关的语音呼叫的感知质量降低。
plc计算单元106被配置为基于接收到的编码语音分组的序列103来计算与丢失的语音分组的数量相关的统计度量107。统计度量107可以包括分组丢失率plr,plr是与所发送的语音分组的总数量相关的丢失的语音分组的数量。例如,如果100个语音分组中的10个丢失,则plr等于0.1。
附加地或替代地,统计度量107可以与突发性因子bf相关,bf是一减去与丢失的语音分组的数量相关的连续的丢失的语音分组的组的数量。如果在10个丢失的语音分组中可以形成三组连续的丢失的分组,例如,各组包括1、3和6个丢失的语音分组,则bf等于1-(3/10)=0.7。
设备100包括用于在语音质量估计级108中计算语音质量估计116的两种不同的输入模式112、114。应当注意,这两种模式的语音质量估计级108相等,即,不管采用两种输入模式112、114中哪一种,都使用相同的语音质量估计算法。
第一输入模式112仅使用分组层级上的统计,例如,plr和/或bf,用于计算语音质量估计。这是计算语音质量估计的典型方法,该方法计算成本低,但是因为不考虑丢失的语音分组的实际内容而可能会遭受语音质量估计的低精确度。
现在将描述语音质量估计级108的示例实施例。根据这个实施例,语音质量估计级108需要两个输入,它们是分组丢失率值和突发性值。
语音质量估计级108包括l个回归模型。l是突发性因子的选择的预设数量。例如,语音质量估计级108可以包括六个回归模型(l=6),分别对应于bf值0、0.2、0.4、0.6、0.8和1.0。
给定plr值和bf值的输入,选择具有与bf值最接近的近似的两个回归模型,这两个回归模型根据plr值估计语音质量值。最后的语音质量由该两个语音质量值的加权和来估计。
但是,为了改进语音质量估计116的精确度,可以使用第二输入模式114。在第二输入模式114下,到语音质量估计级108的输入是与由pls计算单元100计算的编码语音分组的序列相关的统计度量107的预处理版本111。预处理在设备100的预处理级110中进行,这将在下面详细描述。
第一输入模式112与第二输入模式114之间的切换可以基于来自端点中的一个的、指示要选择的第一输入模式和第二输入模式中的一个的、接收到的输入(图1中未示出)。
例如,连接到基于分组的电话会议的电话端点可以确定设备100(例如,会议服务器或另一电话端点)的操作模式。而且,当设备100是连接到基于分组的电话会议的电话端点时,会议服务器或混合器可以发出用于确定操作模式的适当信令。
根据其它实施例,其中计算语音质量估计116的电话端点或会议服务器可以基于与第一输入模式112和第二输入模式114相关联的计算负荷在第一输入模式112与第二输入模式114之间进行选择。如从上面可以理解的,第一输入模式112下的语音质量估计116的计算是相当直接的,因而具有低的计算复杂度。第二输入模式114下的语音质量估计116的计算经常意味着更高的计算复杂度,这依赖于所采用的是什么类型的预处理。因而,计算语音质量估计116的设备100可以依赖于该设备100可用的计算资源确定应当使用两种输入模式112、114中的哪一种。而且,第一输入模式112与第二输入模式114之间的选择可以基于与期望的语音质量估计精确度相关的和第一输入模式和第二输入模式相关联的计算负荷。
要使用的输入模式的选择也可以基于预设模式。
根据一些实施例,在设备100的预处理级110中进行的预处理可以与基于丢失的语音分组的感知重要性来修改统计度量相关。例如,plr值和/或bf值可以根据丢失的分组的感知重要性而被变换,并进一步输入到如上面所解释的将使用输入值111的语音质量估计级108。
下面将结合图4进一步解释被感知加权的或不被感知加权的、在语音质量估计级108中的plr和bf值的使用。
语音分组的感知重要性可以基于语音分组的语音波形的若干属性中的一个或多个。根据一些实施例,感知重要性基于语音分组的响度值,即,语音分组的有效载荷中的语音波形的响度值。根据其它实施例,感知重要性基于语音分组的频带加权信号能量水平(或响度水平)。这个能量水平可以通过以下方式变换成响度值(例如,以宋(sone)为单位):
响度=20.1*p-4(1)
其中p是频带加权信号能量水平或响度水平。
其它信息(诸如语音分组周围或用于语音分组的音素类别)可以与响度信息一起使用或单独使用以计算语音分组的感知重要性。
现在将结合图2和图3进一步描述丢失的语音分组的感知重要性的计算和使用。
根据一些实施例,统计度量与连续的丢失的语音分组的组相关,其中在计算统计度量的步骤中,每组连续的丢失的语音分组基于该组中连续的丢失的语音分组的数量进行加权。这在图2中描述。图2的上部例示了从一个或多个端点发送到设备100的编码语音分组中的接收到的分组101与丢失的分组202之间的关系。如上面结合图1所描述的,抖动缓冲区102可以包括表示由pls计算单元106以及可选地由预处理级110接收的数据103中的一个或多个丢失的语音分组202的分组。这些分组可以是空的和/或包括指示它们表示丢失的分组的数据。这在图2中描述,其中数据103包括表示一个或多个丢失的语音分组202的空分组。
给定可以从103获得的丢失的语音分组的时间序列,可以定义分组丢失事件函数s(k),对于k=1,2,...,k,s(k)表示第k组丢失事件处连续的丢失的分组的数量,其中k是连续的丢失的分组的组的数量。在图2中,这样的组的数量是3。在这个示例中,分组丢失事件函数s(k)是具有值[1,3,2]的向量。然后,分组丢失率(plr)可以通过下式来计算
其中m是接收到的分组101和丢失的分组202的总数量,即,在图2中m=14。
图2还描述了怎样将统计度量107(在这种情况下是向量s(k))输入到预处理级110。预处理级可以例如是感知变换级,该感知变换级被配置为基于丢失的语音分组的感知重要性来修改统计度量107,使得每个组还基于该组中的丢失的语音分组的感知重要性被进一步加权。感知变换级将向量s(k)变换为新的向量z(k),可以通过下式根据该新的向量计算感知分组丢失率(pplr):
z(k)在图2中被示出并且这个经修改的向量被用作根据等式3计算经修改的统计度量pplr的基础。
丢失的语音分组的感知重要性可以以数种不同方式来计算。例如,预处理级110可以接收指示从一个或多个端点发送的编码语音分组中的每个的感知重要性的信号109。因而,信号109可以包括数据103中包括丢失的语音分组202在内的所有语音分组的感知重要性。通过采用这样的附加的信号109,可以减小统计度量107的预处理的计算负荷。
根据其它实施例,基于编码语音分组的序列中与在从一个或多个端点的发送期间丢失或由于迟到而被抖动缓冲区丢弃的分组相邻的语音分组的感知重要性来估计丢失的语音分组的感知重要性。这可以是有利的,因为不需要发送额外的信号,这可能意味着设备100可以被插入到标准的基于分组的通信系统中。根据一些实施例,设备100可以被配置为检查附加信号109是否被接收并且在被接收的情况下使用它,并且如果未接收到信号109,则基于编码语音分组的序列中与在从一个或多个端点的发送期间丢失或由于迟到而被抖动缓冲区丢弃的分组相邻的语音分组的感知重要性来估计丢失的语音分组的感知重要性。
图3描述了怎样基于编码语音分组的序列中与在从一个或多个端点的发送期间丢失或由于迟到而被抖动缓冲区丢弃的分组相邻的语音分组的感知重要性来估计丢失的语音分组的感知重要性。
令x为k乘(d 1)特征矩阵,其中第k行表示与第k组丢失的语音分组相关联的(d 1)维特征向量x(k),d是特征的数量,并且额外的维度是恒定移位项。
特征向量x(k)包含关于第k组丢失的分组的语音特性或感知重要性的有用信息。在信息不可用的情况下,即,设备100没有接收到信号109的情况下;这个信息可以根据接收到的丢失的分组周围的临近分组而被估计。
在一个示例实施例中,特征向量可以基于第k组丢失的分组的邻域中的响度信息和plr,表达为
x(k)=[plrlinterp(k)lleft(k)lright(k)ltd(k)1](4)
其中
如果ed(k)-st(k)<6,则
并且否则
st(k)和ed(k)是就在第k组丢失之前和之后的分组的时间索引。
ltd(k)=[l(ed(k))-l(st(k))]/[ed(k)-st(k)](9)
l(i)是第i个时间索引的语音分组的估计响度。这在图3中总结。
x(k)中的最后一项是要适应在下面描述的线性变换中的平移(translation)分量。
感知分组丢失事件函数z=[z(1)z(2)...z(k)](如图2中所示)可以通过下式得出
z=xw·s(10)
其中w=[w(1)w(2)...w(d 1)]是特征矩阵x的加权因子,s=[s(1)s(2)...s(k)]是分组丢失事件函数的向量表示(如等式2和图2中所述)。可以使用训练数据集来训练加权因子w,使得改进语音质量估计的精确度。
获得感知分组丢失事件函数的过程可以被解释为对每组分组丢失事件分配感知重要性,其中感知重要性通过特征的线性组合来估计。应当注意,也可以使用特征的非线性组合。例如,在s向量中,包括大于阈值数量的丢失的语音分组的组可以被求平方。
然后,感知分组丢失率(pplr)可以如等式3中那样被定义,
这个概念在图4中描绘。回归曲线402基于bf值来确定。回归曲线基于实际感知语音质量的经验数据并且因而是预定义的参考。如先前所述,回归曲线也可以基于根据以上而被变换到感知域的bf值来确定。
图4示出了与使用常规plr值404作为输入相比,使用pplr值406作为语音质量估计级的输入怎样使预测误差减小了大的值(在图4中称为408)。换言之,通过应用将plr变换为pplr的处理,将数据点404平移到数据点406,从而导致使用相同回归曲线402的语音质量估计误差减小。
当如上所述从相邻语音分组得出丢失的分组的感知重要性时,相邻语音分组的感知重要性可以通过从接收到的编码语音分组中部分地解码所需的语音分组而得出。语音分组的有效载荷包含编码位以便在呈现语音呼叫时产生发送的语音波形。有效载荷的内容通常包括一些形式的信息,例如在单独的一个或多个位中,该信息可以被用来估计信号的能量水平或响度。在这种情况下,可以通过有效载荷的部分解码而不是完全解码处理来估计响度信息。例如,如果编码语音分组是使用基于经修改的离散余弦变换(mdct)的编码器被编码的,则可以通过对接收到的编码语音分组进行部分解码来提取mdct增益参数。然后可以使用mdct增益参数来估计语音分组(以及任何邻近的丢失的语音分组)的感知重要性。
对于基于mdct的编码器,为了减小在随后的编码过程中的熵,首先用具有对数量化的包络编码器对mdct增益进行编码。这个增益是语音带信号能量水平的直接反映并且可以由计算语音质量估计的设备检索。可以根据下式从mdct增益直接计算频带加权信号能量水平p:
n:原始频带中用于响度生成的带数量;
m:mdct增益中的带数量;
k:mdct系数中的槽(bin)数量;
t:时间轴上的帧数量;
binmdct:mdct槽系数,它是k*t矩阵
bandloudness=w1·binmdct2(11)
其中w1是n*k矩阵,以将槽系数变换为带能。带加权信号能量p可以通过下式计算:
其中b是1*n向量(频带感知重要性的加权,诸如b加权),nf是用于归一化的n*n矩阵。mdct增益由下式得出:
bandgain=w2·binmdct(13)
其中binmdct是k*t矩阵,w2是m*k矩阵。
从等式13,可以近似逆矩阵以恢复具有与binmdct完全相同的带能的bin′mdct:
bin′mdct=w3·bandgain(14)
其中w3是k*m矩阵。
通过将等式14代入等式11,我们可以得到:
p=b·nf·w1·(w3·bandgain)2=w4·(w3·bandgain)2(15)
其中w4是1*k向量,由下式计算:
w4=b·nf·w1(16)
用于计算频带加权信号能量水平p的以上策略可以被用于任何基于变换的编解码器(dct、qmf等),其中对应的增益是可提取的。
为了估计丢失的语音分组的感知重要性而部分解码接收到的编码语音分组中的至少一些的其它合适方法同样可以被使用。在美国专利申请us20090094026(alcatellucentusainc)中描述了一种这样的方法。
应当注意,根据一些实施例,通过完全解码接收到的编码语音分组中的至少一些来估计丢失的语音分组的感知重要性。
图5描述了用于修改基于分组的语音通信系统中与丢失的语音分组相关的统计度量的方法500。第一步骤s502是接收包括从语音通信系统中的一个或多个端点发送的编码语音分组的序列的数据的步骤,其中从一个或多个端点发送的编码语音分组包括接收的编码语音分组的序列以及在从一个或多个端点的发送期间丢失或由于发送中的延时和/或抖动而被丢弃的一个或多个丢失的语音分组。基于接收到的编码语音分组的序列,计算与丢失的语音分组相关的统计度量s504。然后,基于丢失的语音分组的感知重要性修改s506统计度量。可选地,经修改的统计度量被用作语音质量估计算法的输入,使得与使用在步骤s504中计算的未经修改的统计度量作为到相同语音质量估计算法的输入相比,语音质量估计的预测误差被减小。
图6描述了用于计算基于分组的语音通信系统中语音质量估计的方法600。第一步骤s602是接收包括编码语音分组的序列的数据的步骤。基于接收到的编码语音分组的序列,计算统计度量s604。方法600中的最后步骤是使用语音质量估计算法来计算s608语音质量估计的步骤。计算s608基于可在第一输入模式与第二输入模式之间切换的输入。在第一输入模式下,使用基于接收到的编码语音分组的序列被计算s604的统计度量作为输入。在第二输入模式下,基于接收到的编码语音分组的序列计算s604的统计度量首先被预处理s606,然后用作语音质量估计的计算s608的输入。预处理s606的步骤导致,与不执行预处理相比,语音质量估计的预测误差被减小。
iv.等同物、扩展、替代和杂项
在研究了以上描述之后,本公开的另外的实施例对于本领域技术人员将变得清楚。虽然本说明书和附图公开了实施例和示例,但是本公开不限于这些具体示例。在不违背由所附权利要求限定的本公开的范围的情况下,可以进行许多修改和变化。权利要求中出现的任何附图标记都不应当被理解为限制权利要求的范围。
此外,实践本公开的技术人员可以通过研究附图、公开内容和所附权利要求来理解和实现所公开的实施例的变化。在权利要求中,单词“包括”并不排除其它元素或步骤,并且不定冠词“一个”或“一”不排除多个。仅仅在相互不同的从属权利要求中记载某些测量这一事实并不指示这些测量的组合不能被有利地使用。
上文公开的系统和方法可以被实现为软件、固件、硬件或其组合。在硬件实现中,在以上描述中提及的功能单元之间的任务划分不一定对应于到物理单元的划分;相反,一个物理部件可以具有多个功能,并且一个任务可以通过若干个物理部件合作来执行。某些部件或所有部件可以被实现为由数字信号处理器或微处理器执行的软件,或者被实现为硬件或专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂态介质)和通信介质(或暂态介质)。如本领域技术人员众所周知的,术语“计算机存储介质”包括以任何方法或技术实现的易失性和非易失性、可移动和不可移动介质以用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其它存储器技术,cd-rom、数字多功能盘(dvd)或其它光盘存储器、磁带盒、磁带、磁盘存储器或其它磁存储设备,或者可用于存储期望信息并且可由计算机访问的任何其它介质。另外,本领域技术人员众所周知的是,通信介质通常在诸如载波或其它传送机制的调制数据信号中体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息输送介质。
1.一种用于计算基于分组的语音通信系统中的语音质量估计的方法,包括:
接收包括编码语音分组的序列的数据;以及
使用语音质量估计算法,基于能够在第一输入模式和第二输入模式之间切换的输入计算语音质量估计,
其中,在第一输入模式中,输入是与编码语音分组的序列有关的统计度量,
其中,在第二输入模式中,输入是与编码语音分组的序列有关的统计度量的预处理版本,以及
其中,基于统计度量的预处理版本的语音质量估计的预测误差与基于统计度量的语音质量估计的预测误差相比减小。
2.如权利要求1所述的方法,进一步包括:
接收来自端点中的一个的指示要选择的第一输入模式和第二输入模式中的一个的输入。
3.如权利要求1所述的方法,其中,第一输入模式与第二输入模式之间的选择基于与第一输入模式和第二输入模式相关联的计算负荷。
4.如权利要求3所述的方法,其中,第一输入模式与第二输入模式之间的选择基于与和期望的语音质量估计精确度相关的第一输入模式和第二输入模式相关联的计算负荷。
5.如权利要求1所述的方法,其中,第一输入模式与第二输入模式之间的选择基于预设模式。
6.如权利要求1到5中任一项所述的方法,其中,从语音通信系统中的一个或多个端点发送接收到的数据,其中从所述一个或多个端点发送的编码语音分组包括接收到的编码语音分组的序列以及在从所述一个或多个端点发送期间丢失或由于发送中的延时和/或抖动而被丢弃的一个或多个丢失的语音分组,
其中统计度量根据接收到的编码语音分组的序列被计算并且与丢失的语音分组相关,并且
其中预处理与基于丢失的语音分组的感知重要性来修改统计度量相关。
7.如权利要求6所述的方法,其中,预处理包括根据丢失的语音分组的感知重要性对该丢失的语音分组进行加权。
8.如权利要求6所述的方法,其中,统计度量与连续的丢失的语音分组的组相关,其中通过基于每组连续的丢失的语音分组中连续的丢失的语音分组的数量对该组连续的丢失的语音分组进行加权来计算统计度量,并且
其中预处理还包括基于每组中的丢失的语音分组的感知重要性对该组进行加权。
9.如权利要求6所述的方法,其中,基于编码语音分组的序列中与从一个或多个端点的发送期间丢失的分组相邻的语音分组的感知重要性来估计丢失的语音分组的感知重要性。
10.如权利要求6所述的方法,进一步包括:
至少部分地解码接收到的编码语音分组中的至少一些以便估计丢失的语音分组的感知重要性。
11.如权利要求6所述的方法,其中,接收到的编码语音分组的序列中的每个语音分组包括指示语音分组的感知重要性的单独位。
12.如权利要求6所述的方法,其中统计度量包括以下中的至少一个:
分组丢失率plr,所述分组丢失率plr是与所发送的语音分组的总数量相关的丢失的语音分组的数量,以及
突发性因子bf,所述突发性因子bf是一减去与丢失的语音分组数量相关的连续丢失的语音分组的组的数量。
13.如权利要求6所述的方法,其中语音分组的感知重要性基于以下中的至少一个:
语音分组的响度值,
语音分组的音素类别,
语音分组的频带加权信号能量水平。
14.一种计算机程序产品,包括计算机可读存储介质,其具有指令,所述指令适于在被具有处理能力的设备执行时执行如权利要求1-13中任一项所述的方法。
15.一种用于计算基于分组的语音通信系统中的语音质量估计的设备,该设备包括:
接收级,被配置为接收包括编码语音分组的序列的数据;以及
语音质量估计级,被配置为使用语音质量估计算法,基于能够在第一输入模式和第二输入模式之间切换的输入计算语音质量估计,
其中,在第一输入模式中,输入是与编码语音分组的序列有关的统计度量,
其中,在第二输入模式中,输入是与编码语音分组的序列有关的统计度量的预处理版本,以及
其中,基于统计度量的预处理版本的语音质量估计的预测误差与基于统计度量的语音质量估计的预测误差相比减小。
技术总结