CN117793078B - 一种音频数据的处理方法、装置、电子设备和存储介质 - Google Patents

一种音频数据的处理方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN117793078B
CN117793078B CN202410211757.9A CN202410211757A CN117793078B CN 117793078 B CN117793078 B CN 117793078B CN 202410211757 A CN202410211757 A CN 202410211757A CN 117793078 B CN117793078 B CN 117793078B
Authority
CN
China
Prior art keywords
frame
audio
audio signal
importance
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202410211757.9A
Other languages
English (en)
Other versions
CN117793078A (zh
Inventor
梁俊斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202410211757.9A priority Critical patent/CN117793078B/zh
Publication of CN117793078A publication Critical patent/CN117793078A/zh
Application granted granted Critical
Publication of CN117793078B publication Critical patent/CN117793078B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及音频处理技术领域,尤其涉及一种音频数据的处理方法、装置、电子设备和存储介质,用以在提高音频传输质量的同时,降低无效带宽消耗。其中,方法包括:针对包含多帧音频信号的待处理音频数据,通过预测模型,预测多帧音频信号各自的重要度参数;预测模型是根据对样本音频数据进行模拟丢包后获得的失真音频数据训练得到的,模拟丢包时丢失的数据包是基于样本音频数据中样本音频信号的重要度参数确定的;对于每帧音频信号,根据相应的重要度参数,确定采用目标传输策略时该帧音频信号的目标传输参数;根据目标传输策略和目标传输参数,对该帧音频信号进行传输控制。通过对音频帧分级处理,在减少音质损伤的同时,可降低无效带宽消耗。

Description

一种音频数据的处理方法、装置、电子设备和存储介质
技术领域
本申请涉及音频处理技术领域,尤其涉及一种音频数据的处理方法、装置、电子设备和存储介质。
背景技术
音频传输所使用的场景很多,例如音视频通话、直播、广播、游戏、音乐相关的各种业务等。
以网络电话(Voice over Internet Protocol,VoIP)通话应用为例,对象(如用户)通过VoIP进行音视频通话的过程中,对象终端采集到的音视频数据包通过传输网络进行传送。但是,在实际VoIP通话应用中普遍存在网络传输丢包等传输不可控问题,通话质量主要受网络丢包影响,由于传输网络的不稳定性导致传输过程出现丢包现象,造成接收端声音的卡顿和不连贯,使收听者体验很不好。
为了抵抗网络丢包,提高音频传输质量,相关技术中提出了很多传输策略,以多链路传输策略为例,即配置多条传输链路进行数据同时传输,但是,多链路传输必然带来数据传输带宽的倍数级增长,引起不必要的带宽消耗。
综上,目前的音频传输过程方式引入了额外的冗余数据和计算量,增加了无效的带宽消耗,不适用于资源有限的设备或实时性要求较高的场景。
因此,如何在提高音频传输质量的同时,降低无效带宽消耗是亟待解决的。
发明内容
本申请实施例提供一种音频数据的处理方法、装置、电子设备和存储介质,用以在提高音频传输质量的同时,降低无效带宽消耗。
本申请实施例提供的一种音频数据的处理方法,包括:
针对包含多帧音频信号的待处理音频数据,通过已训练的预测模型,预测所述多帧音频信号各自的重要度参数;其中,所述预测模型是根据对样本音频数据进行模拟丢包后获得的失真音频数据训练得到的,模拟丢包时丢失的数据包是基于所述样本音频数据中样本音频信号的重要度参数确定的;
对于每帧音频信号,分别执行以下操作:
根据一帧音频信号的重要度参数,确定采用目标传输策略时所述一帧音频信号的目标传输参数;所述目标传输参数为:在传输过程中,控制所述一帧音频信号传输质量的参数;
根据所述目标传输策略和所述目标传输参数,对所述一帧音频信号进行传输控制。
本申请实施例提供的一种音频数据的处理装置,包括:
预测单元,用于针对包含多帧音频信号的待处理音频数据,通过已训练的预测模型,预测所述多帧音频信号各自的重要度参数;其中,所述预测模型是根据对样本音频数据进行模拟丢包后获得的失真音频数据训练得到的,模拟丢包时丢失的数据包是基于所述样本音频数据中样本音频信号的重要度参数确定的;
处理单元,用于对于每帧音频信号,分别执行以下操作:
根据一帧音频信号的重要度参数,确定采用目标传输策略时所述一帧音频信号的目标传输参数;所述目标传输参数为:在传输过程中,控制所述一帧音频信号传输质量的参数;
根据所述目标传输策略和所述目标传输参数,对所述一帧音频信号进行传输控制。
可选的,所述预测模型为注意力神经网络,所述注意力神经网络是根据样本音频数据进行迭代训练得到;所述装置还包括:
模型训练单元,用于在每次迭代训练时执行如下过程:
通过待训练的注意力神经网络,预测所述样本音频数据中连续的多帧样本音频信号各自的重要度参数;
对于每帧样本音频信号,基于所述样本音频信号的重要度参数,设置所述样本音频信号的模拟丢包概率;所述重要度参数与所述模拟丢包概率呈负相关;
基于各模拟丢包概率,对所述多帧样本音频信号进行模拟丢包;
根据模拟丢包后获得的失真音频数据,对所述待训练的注意力神经网络进行参数调整。
可选的,所述模型训练单元具体用于:
对于每帧样本音频信号,分别执行以下操作:
若一帧样本音频信号的模拟丢包概率大于预设概率阈值,则对所述一帧样本音频信号的数据包进行模拟丢包;
若一帧样本音频信号的模拟丢包概率不大于预设概率阈值,则保留所述一帧样本音频信号的数据包。
可选的,所述模型训练单元具体用于:
通过音频解码器对所述失真音频数据进行丢包隐藏处理,获得处理后音频信号;
对所述处理后音频信号和原始的多帧样本音频信号进行语音质量评估,获得平均质量评估值;所述平均质量评估值用于表示所述处理后音频信号与原始的所述多帧样本音频信号之间的差异;
根据基于所述平均质量评估值和丢包个数构建的损失函数,对所述待训练的注意力神经网络进行参数调整;所述丢包个数表示对所述多帧样本音频信号进行模拟丢包时,所丢失的数据包的数量。
可选的,所述模型训练单元具体用于:
将所述丢包个数输入预设的单调递增函数,获得丢包个数损失值;
将所述平均质量评估值输入预设的单调递减函数,获得质量评估损失值;
基于所述丢包个数损失值和所述质量评估损失值之和,确定所述损失函数;其中,所述损失函数与所述平均质量评估值呈正相关,所述损失函数与所述丢包个数呈负相关。
可选的,所述目标传输策略包括编码码率控制策略,所述目标传输参数包括目标编码码率;则所述处理单元具体用于:
基于所述一帧音频信号的重要度参数,确定所述一帧音频信号的码率调整系数;所述重要度参数与所述码率调整系数呈正相关;
基于预设编码码率以及所述码率调整系数,确定所述一帧音频信号的目标编码码率;所述预设编码码率表示:用于控制所述多帧音频信号整体压缩目标的平均编码码率。
可选的,所述目标传输策略包括丢包重传策略,所述目标传输参数包括重传次数上限;则所述处理单元具体用于:
预先划分多个重要度参数区间;
根据所述一帧音频信号的重要度参数所属的重要度参数区间,匹配所述一帧音频信号的重要级别;
按照所述一帧音频信号所属的重要级别,确定所述一帧音频信号的重传次数上限M;M为非负整数;所述重传次数上限和所述重要级别呈正相关。
可选的,所述处理单元具体用于执行如下至少一种操作:
对于所述一帧音频信号,确定所述一帧音频信号丢包后,将所述一帧音频信号连续重传M次;
对于所述一帧音频信号,确定一帧音频信号丢包后,将所述一帧音频信号进行一次重传,直至所述一帧音频信号被成功接收或所述一帧音频信号的重传次数达到M次。
可选的,所述目标传输策略包括多链路传输策略,所述目标传输参数包括目标传输链路;则所述处理单元具体用于:
预先划分多个重要度参数区间;
根据所述一帧音频信号的重要度参数所属的重要度参数区间,匹配所述一帧音频信号的重要级别;
按照所述一帧音频信号所属的重要级别,确定所述一帧音频信号对应的至少一条目标传输链路。
可选的,所述处理单元还用于:
在所述根据所述目标传输策略和所述目标传输参数,对所述一帧音频信号进行传输控制之前,确定目标接收端对应的丢包率或收包时延,超过相应的阈值时,启动多链路传输策略;
所述处理单元具体用于:
通过所述至少一条目标传输链路,将所述一帧音频信号传输至所述目标接收端。
可选的,所述目标传输策略包括多发传输策略,所述目标传输参数包括目标多发倍数;则所述处理单元还用于:
根据所述一帧音频信号的重要度参数,映射得到所述一帧音频信号对应的,针对原始多发倍数的第一修正系数;所述重要度参数与所述第一修正系数呈正相关;所述原始多发倍数是根据当前传输网络的丢包率确定的;
根据所述第一修正系数对所述原始多发倍数进行修正,确定所述一帧音频信号对应的第一目标多发倍数。
可选的,所述处理单元还用于:
检测到当前传输网络的带宽受限时,对所述第一修正系数进行调整,获得第二修正系数,所述第二修正系数小于所述第一修正系数;
根据所述第二修正系数,对所述原始多发倍数进行修正,确定所述一帧音频信号对应的第二目标多发倍数;
则所述处理单元具体用于:
根据所述第二目标多发倍数,对所述一帧音频信号进行数据发送或多发处理,并传输至目标接收端。
可选的,所述目标传输策略包括前向纠错编码策略,所述目标传输参数包括目标冗余率;则所述处理单元具体用于:
将所述一帧音频信号的重要度参数与预设参数阈值进行比较;若所述重要度参数大于所述预设参数阈值,则将所述一帧音频信号作为重要音频信号;
根据所述多帧音频信号中重要音频信号的数量,以及所述目标接收端对应的丢包率,确定所述一帧音频信号对应的目标冗余率;所述目标冗余率用于对所述重要音频信号进行前向纠错编码处理。
本申请实施例提供的一种电子设备,包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行上述任意一种音频数据的处理方法的步骤。
本申请实施例提供一种计算机可读存储介质,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行上述任意一种音频数据的处理方法的步骤。
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;当电子设备的处理器从计算机可读存储介质读取所述计算机程序时,所述处理器执行所述计算机程序,使得所述电子设备执行上述任意一种音频数据的处理方法的步骤。
本申请有益效果如下:
本申请实施例提供了一种音频数据的处理方法、装置、电子设备和存储介质。本申请提出的音频处理方法,是以每帧音频信号为粒度的,具体的,首先基于已训练的预测模型预测待处理音频数据中各帧音频信号各自对应的重要度参数,该重要度参数可以反映对应帧的音频信号对整个音频数据的音频质量的影响,重要度参数越高的音频帧发生丢失,对整个音频数据的音频质量的影响也就越大,反之,重要度参数越低的音频帧发生丢失,对整个音频数据的音频质量的影响也就越小。
结合上述思想,本申请提出了根据每帧音频的重要度,来单独确定该帧音频信号的目标传输参数,以实现对每帧音频单独的进行传输控制。该方式下,针对不同重要度的音频帧,可以做复杂度不同的计算处理,重点控制重要度高的音频帧的传输质量,而对于重要度低的音频帧,在传输时可不做额外处理或简单处理。这样,根据每帧音频的重要度,对每帧音频进行个性化的传输处理。相较于相关技术中,针对待处理音频数据的每帧音频,采用统一的处理方式来提高整体音频质量,本申请根据每帧音频的重要度进行分级处理,可以在一定程度上减少对非重要音频帧的处理力度,从而在保证音频质量的前提下,可以达到节省存储、带宽等硬件资源的效果。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中的一种应用场景的一个可选的示意图;
图2A为本申请实施例中的一种音视频通话业务的示意图;
图2B为本申请实施例中的一种直播业务的示意图;
图2C为本申请实施例中的一种游戏业务的示意图;
图3为本申请实施例中的一种预测模型训练过程的实施流程图;
图4为本申请实施例中的一种注意力神经网络的结构示意图;
图5为本申请实施例中的一种模拟丢包过程的逻辑示意图;
图6为本申请实施例中的一种PESQ的结构示意图;
图7为本申请实施例中的一种模型训练时一次迭代训练过程的逻辑示意图;
图8为本申请实施例中的一种音频数据的处理方法的实施流程图;
图9为本申请实施例中的一种音频传输过程的示意图;
图10为相关技术中的一种音频录播流程图;
图11为本申请实施例中的一种音频编码码率控制的逻辑示意图;
图12为本申请实施例中的一种丢包重传技术框图;
图13为本申请实施例中的一种音频丢包重传的逻辑示意图;
图14为本申请实施例中的一种多链路传输的逻辑示意图;
图15为相关技术中的一种多路径的语音数据流程图;
图16为本申请实施例中的一种音频多发传输的逻辑示意图;
图17A为本申请实施例中的一种包级RS编码过程;
图17B为本申请实施例中的一种包级RS解码过程;
图18为本申请实施例中的一种前向纠错编码的逻辑示意图;
图19为本申请实施例中的一种音频传输的处理装置的组成结构示意图;
图20为应用本申请实施例的一种电子设备的一个硬件组成结构示意图;
图21为应用本申请实施例的另一种电子设备的一个硬件组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
下面对本申请实施例中涉及的部分概念进行介绍。
模拟丢包:模拟丢包检测是一种网络性能测试方法,它通过模拟数据包在传输过程中的丢失来检验网络或应用程序的稳定性和可靠性,模拟丢包检测通常使用网络模拟工具来进行,这些工具可以设定特定的网络条件,如丢包率、延迟和带宽限制等,以此来模拟不同的网络环境。在本申请实施例中,通过对样本音频数据进行模拟丢包模拟不同的网络环境,来训练用于预测各音频帧重要性的预测模型。
VoIP:一种基于互联网协议(Internet Protocol,IP)网络的语音通话方式,通过语音的压缩算法把语音数据进行编码压缩处理后,按照网络传输协议标准进行打包,经过IP网络把数据包发送到目的IP地址,再把语音数据包解析并解压缩处理后,恢复原来的语音信号,从而达到通过互联网传送语音信号的目的。
音频编解码:音频编解码在现代通讯系统中占有重要的地位。在语音通话应用中,声音信号经由麦克风采集得到,通过模数转换电路将模拟的声音信号转换为数字声音信号,数字信号经过音频编码器进行压缩,而后按照通信网络传输格式和协议打包发送到接收端,接收端设备接收到数据包后解包输出音频编码压缩码流,通过音频解码器后重新生成音频数字信号,最后音频数字信号通过扬声器播放出声音。音频编解码有效地降低音频信号传输的带宽,对于节省音频信息存储传输成本,保障通信网络传输过程中的音频信息完整性方面起了决定性作用。
注意力神经网络(Attention Neural Network):注意力神经网络是一种深度学习模型,它可以处理序列数据,例如自然语言或时间序列数据。这种神经网络通过“注意力机制(Attention Mechanism)”来学习如何自适应地对不同部分的输入数据进行加权,以便更好地处理序列数据。这种神经网络在机器翻译、自然语言处理、语音识别等领域中表现出色。
抗丢包策略:在音视频通话应用中,通话质量主要受网络丢包影响,由于传输网络的不稳定性导致传输过程出现丢包现象,造成接收端声音的卡顿和不连贯,使收听者体验很不好。为了抵抗网络丢包,有很多种方法,包括:前向纠错(forward error correction,FEC)、丢包隐藏(Packet Loss Concealment,PLC)、自动重传请求(Automatic RepeatRequest,ARQ)等,其中ARQ丢包重传是一种解决丢包的有效技术,即当接收方检测目标数据包超时仍未接收到或者发现接收包出错,则向发送方发出请求包,请求发送方重传出错的数据或连续多个相关数据包的一种技术手段。
链路决策:以VoIP通话应用为例,对象通过VoIP进行音视频通话,这个过程中对象终端采集到的音视频数据包通过传输网络进行传送,这个传输网络可以是无线的(wifi、3g、4g、5g等)也可以是有线网络,在通话过程中可用于数据传输的网络链路可能不止一条,链路决策则是评价和决定当前时刻使用哪些链路的过程。链路决策的正确性决定了通话质量和对象通话体验。
目标传输策略是指:在音频传输过程中,用于提高音频传输质量,以避免或是减小传输时丢包所带来的影响的传输方法,包括但不限于:编码码率控制策略,丢包重传策略,多链路传输策略,多发传输策略,前向纠错编码策略。
目标传输参数,则是在传输过程中,控制音频传输质量的参数。不同的目标传输策略所对应的目标传输参数也不相同。例如:目标传输策略包括编码码率控制策略时,目标传输参数包括目标编码码率;目标传输策略包括丢包重传策略时,目标传输参数包括重传次数上限;目标传输策略包括多链路传输策略时,目标传输参数包括目标传输链路;目标传输策略包括多发传输策略时,目标传输参数包括目标多发倍数;目标传输策略包括前向纠错编码策略时,目标传输参数包括目标冗余率。
编码码率:音频编码码率,也称为比特率,是指将模拟声音信号转换成数字声音信号后,每秒传送的比特(bit)数。它直接影响到音频文件的大小和音质。码率越高,音频的质量通常越好,因为它能够更精确地记录声音波形。然而,这也意味着文件大小会更大,需要更多的存储空间和带宽来传输。
重复多发和多发倍数:重复多发表示是将原始数据包复制多份并在不同时间间隔下发送到接收端。多发倍数则是指重复多发的次数,也即将原始数据包复制多份时的复制次数。
FEC和冗余率:FEC是一种通信技术,它通过在发送的数据中添加额外的冗余信息来提高数据传输的可靠性。这些冗余信息使得接收端能够检测并纠正一定数量的传输错误,而不需要请求发送方重传数据。冗余率是指在原始数据基础上增加的冗余数据的比率,它直接影响到数据传输的效率和可靠性,用于接收端的错误检测和纠正。增加冗余率可以提高错误纠正的能力,但同时也会增加传输的带宽需求和降低有效的比特率。因此,选择合适的冗余率需要在传输质量和带宽开销之间做出权衡。
丢包率:表示所丢失数据包数量占所发送数据包的比率。丢包率与数据包长度以及包发送频率相关,重复多发可以有效避免网络丢包导致接收端收不到相应数据包的问题,但是重复多发需要额外消耗带宽,本申请实施例中的方法可在有效控制重复多发倍数的同时,保证通话质量。
本申请实施例涉及人工智能(Artificial Intelligence,AI)和机器学习(Machine Learning,ML)技术,主要基于人工智能中的机器学习技术而设计。
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、预训练模型技术、操作/交互系统、机电一体化等。其中,预训练模型又称大模型、基础模型,经过微调后可以广泛应用于人工智能各大方向下游任务。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。预训练模型是深度学习的最新发展成果,融合了以上技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、数字孪生、虚拟人、机器人、人工智能生成内容(Artificial Intelligence GeneratedContent,AIGC)、对话式交互、智能医疗、智能客服、游戏AI等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案主要涉及人工智能在音频处理方面的应用,具体涉及在各种音频传输相关的业务场景中,例如在音视频通话、直播、广播、游戏、音乐等场景中,以每帧音频信号为粒度,基于已训练的预测模型预测待处理音频数据中各帧音频信号各自对应的重要度参数,结合该虫咬度参数,对音频数据的传输进行音频帧粒度的控制、处理。其中,每帧音频信号对应的重要度参数,则需要采用基于深度学习的预测模型预测得到,即本申请实施例结合机器学习相关的方法获得预测模型,该预测模型可以基于机器学习的方法进行领域自适应训练得到。
具体而言,在本申请实施例中的音频处理过程可分为两部分,包括训练部分和应用部分。其中,训练部分就涉及到机器学习这一技术领域,在训练部分中,本申请实施例中的预测模型是根据对样本音频数据进行模拟丢包后获得的失真音频数据训练得到的,而模拟丢包时丢失的数据包是基于所述样本音频数据中样本音频信号的重要度参数确定的(具体训练过程会在下文进行详细说明,这里不再赘述)。另外,还需要说明的是,本申请实施例中预测模型可以是在线训练也可以是离线训练,在此不做具体限定。在本文中是以离线训练为例进行举例说明的。
下面对本申请实施例的设计思想进行简要介绍:
音频传输所使用的场景很多,例如音视频通话、直播、广播、游戏、音乐相关的各种业务等。音频传输的质量是音频传输过程中需要关注的重点,而网络丢包是影响音频传输质量的主要因素。
为了抵抗网络丢包,提高音频传输质量,相关技术中提出了很多传输策略,除背景技术所列举的多链路传输策略外,又比如,以丢包重传策略为例,即发送端根据接收端是否收到数据包结果来重新发送丢失数据及相邻数据。常规的丢包重传技术对所有数据包都是同等对待,只要检测到丢包则反馈发送端进行重发,数据重复能增加接收端接收成功率,然而数据重发操作带来两个不利的影响:时延增大和带宽消耗。
综上,目前的音频传输过程中,为改善音频质量、减少音质的丢包损伤所提出的传输策略存在一些共同的缺点,诸如引入了额外的冗余数据和计算量带来的带宽开销、延迟增加、计算复杂性增加等,不适用于资源有限的设备或实时性要求较高的场景。
有鉴于此,本申请实施例提出了一种音频数据的处理方法、装置、电子设备和存储介质。本申请提出的音频处理方法,是以每帧音频信号为粒度的,具体的,首先基于已训练的预测模型预测待处理音频数据中各帧音频信号各自对应的重要度参数,该重要度参数可以反映对应帧的音频信号对整个音频数据的音频质量的影响,重要度参数越高的音频帧发生丢失,对整个音频数据的音频质量的影响也就越大,反之,重要度参数越低的音频帧发生丢失,对整个音频数据的音频质量的影响也就越小。
结合上述思想,本申请提出了根据每帧音频的重要度,来单独确定该帧音频信号的目标传输参数,以实现对每帧音频单独的进行传输控制。该方式下,针对不同重要度的音频帧,可以做复杂度不同的计算处理,重点控制重要度高的音频帧的传输质量,而对于重要度低的音频帧,在传输时可不做额外处理或简单处理。这样,根据每帧音频的重要度,对每帧音频进行个性化的传输处理。相较于相关技术中,针对待处理音频数据的每帧音频,采用统一的处理方式来提高整体音频质量,本申请根据每帧音频的重要度进行分级处理,可以在一定程度上减少对非重要音频帧的处理力度,从而在保证音频质量的前提下,可以达到节省存储、带宽等硬件资源的效果。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示,其为本申请实施例的应用场景示意图。该应用场景图中包括两个终端设备110和一个服务器120。
在本申请实施例中,终端设备110包括但不限于手机、平板电脑、笔记本电脑、台式电脑、电子书阅读器、智能语音交互设备、智能家电、车载终端等设备;终端设备上可以安装有音频处理相关的客户端,该客户端可以是软件(例如浏览器、即时通讯软件、直播软件、游戏软件等),也可以是网页、小程序等,服务器120则是与软件或是网页、小程序等相对应的后台服务器,或者是专门用于进行音频处理的服务器,本申请不做具体限定。服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
需要说明的是,本申请各实施例中的音频数据的处理方法可以由电子设备执行,该电子设备可以为终端设备110或者服务器120,即,该方法可以由终端设备110或者服务器120单独执行,也可以由终端设备110和服务器120共同执行。
比如由服务器120单独执行时,服务器120侧可预先部署有已训练的预测模型,此外,服务器120可预先获取到待处理音频数据,该待处理音频帧含多帧音频信号(可以是连续的多帧音频信号),在获取到待处理音频数据后,即可通过已训练的预测模型,预测该音频数据中的多帧音频信号各自的重要度参数。
进而,对于每帧音频信号,服务器120可分别执行以下操作,以实现音频帧粒度的传输质量的控制,具体操作如下:服务器120根据一帧音频信号的重要度参数,确定采用目标传输策略时该帧音频信号的目标传输参数;目标传输参数为:在传输过程中,控制该帧音频信号传输质量的参数;进而,服务器120根据目标传输策略和目标传输参数,对该帧音频信号进行传输控制。
在该过程中,由于服务器120可以根据每帧音频的重要度,来单独确定该帧音频信号的目标传输参数,以实现对每帧音频单独的进行传输控制。该方式下,针对不同重要度的音频帧,可以做复杂度不同的计算处理,重点控制重要度高的音频帧的传输质量,而对于重要度低的音频帧,在传输时可不做额外处理或简单处理。这样,根据每帧音频的重要度,对每帧音频进行个性化的传输处理,从而在保证音频质量的前提下,可以达到节省存储、带宽等硬件资源的效果。
在一种可选的实施方式中,终端设备110与服务器120之间可以通过通信网络进行通信。
在一种可选的实施方式中,通信网络是有线网络或无线网络。
需要说明的是,图1所示只是举例说明,实际上终端设备和服务器的数量不受限制,在本申请实施例中不做具体限定。
本申请实施例中,当服务器的数量为多个时,多个服务器可组成为一区块链,而服务器为区块链上的节点;如本申请实施例所公开的音频数据的处理方法,其中所涉及的音频相关数据可保存于区块链上,例如,各类音频数据、重要度参数、目标传输参数(编码码率、重传次数上限、冗余率、传输链路、多发倍数)、模拟丢包概率、失真音频数据、平均质量评估值等。
此外,本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等场景。
在上述所列举的场景下,都可能会涉及音频传输业务,音频传输是将音频信号从源设备传输到目标设备的过程。在这个过程中,音频信号可以通过模拟信号或数字信号的形式进行传输。
具体的,音频传输业务包括但不限于以下几个方面:
(1)在线音频流媒体:过互联网提供音频内容,如音乐、有声书、播客等。对象可以实时收听或下载后收听。
(2)语音通话与即时通讯:提供基于互联网或移动网络的语音通话和即时通讯服务。
(3)网络广播:通过互联网进行广播。
(4)在线教育:提供在线课程、讲座、研讨会等音频内容。
(5)远程会议与协作:通过音频传输技术,支持远程会议、在线培训、团队协同等工作场景。
(6)智能家居与语音助手:通过音频传输技术,实现智能家居设备与对象的语音交互。
(7)游戏语音通信:为在线游戏提供实时语音通信功能,让玩家可以方便地进行团队协作和沟通。
(8)音乐制作与录音:通过音频传输技术,实现音乐制作、录音、编辑等操作。
(9)专业音频设备与解决方案:为广播、影视、录音棚等行业提供专业的音频设备与解决方案。
(10)音频内容创作与分享:支持对象创作、编辑和分享音频内容,例如:音频博客、个人电台等。
需要说明的是,上述所列举的几种业务只是简单举例说明,本申请提供的音频数据的处理方法,可应用于上述任意一种音频传输业务,也可应用于其他本文未列举的音频传输业务,在此不再一一赘述。
下面结合附图简单说明几种常见的音频传输业务:
参阅图2A所示,其为本申请实施例中的一种音视频通话业务的示意图。如图2A所示,示例了一种四个人进行语音通话的通话界面,该通话过程中,这些人之间的语音会通过麦克风等设备进行采集,并转化为数字信号;接着,这些音频数据会经过编码处理,即将音频信号转化为数字码流的过程;在这个过程中,音频信号会被分析从而产生特定参数,然后这些参数会按照一定规则写入比特流;编码后的音频数据会进一步进行压缩处理,目的是减少数据的体积,便于网络传输;之后,这些音频数据会通过互联网发送到接收方的设备;接收方的设备会对收到的数据进行解密和解压缩处理,还原出原始的音频信号;最后,这些音频信号会经过扬声器等设备播放出来。
参阅图2B所示,其为本申请实施例中的一种直播业务的示意图。如图2B所示,示例了一种主播进行直播时的直播界面,在直播过程中,首先需要使用麦克风等设备将环境中的声音转化为数字信号,并对音频数据进行回声消除、降噪和自动增益等信号处理;而后将音频信号转化为数字码流并进行压缩编码;之后,将编码后的音频数据进行封装并通过网络发送到服务器或中转站;由服务器或中转站将音频数据分发给各个对象终端设备;对象终端设备从服务器或中转站拉取音频数据,并进行解密和解压缩处理;通过扬声器等设备播放出音频信号。
参阅图2C所示,其为本申请实施例中的一种游戏业务的示意图。如图2C所示,示例了一种张三和李四在游戏过程中的游戏界面,在游戏过程中,语音交流是一种重要的沟通方式,参与游戏的对象可以通过麦克风等设备进行实时的语音交流,通上述直播业务相类似,其音频传输过程涉及以下步骤:
首先,对象通过麦克风输入的语音会被转化为电信号;电信号被编码为数字音频数据,并采用压缩算法减少传输带宽和存储空间需求;为了保持实时性和稳定性,音频数据被切分为多个小数据包;音频数据包通过实时传输协议进行封装,以确保数据在实时通信中能够按顺序到达接收方,并能够抵抗网络抖动和丢包;音频数据包经过互联网传输到游戏服务器。传输过程可能涉及不同的网络设备、路由器和优化技术(如丢包恢复、自适应带宽调整),以确保音频传输质量;游戏服务器接收到音频数据包后,根据需要将数据转发给其他在线游戏玩家。这里可能涉及到多个玩家的连接,服务器会确保音频数据能够同时传输给所有相关玩家;其他在线游戏玩家接收到音频数据包后,对其解码并还原成原始音频数据;解码后的音频数据被发送到游戏玩家的扬声器或耳机,以便听到游戏内的实时语音交流。
需要说明的是,上述所列举的几种音频传输业务只是简单举例,除上述所列举的几种音频传输业务外,其他相关业务同样适用于本申请实施例,例如在线教育、网络广播、远程会议与协作、智能家居与语音助手等,在此不再一一赘述。
可以理解的是,在本申请的具体实施方式中,涉及到对象音频等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得对象许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
下面结合上述描述的应用场景,参考附图来描述本申请示例性实施方式提供的音频数据的处理方法,需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。
由于本申请实施提供的音频数据的处理方法是基于训练完成后预测模型进行的,因此,在介绍实际的音频数据的处理过程之前,这里先针对模型训练的过程进行介绍。
实际生活中音频信号主要包括语音、音乐和背景噪音,以及这些信号的混合结果等。在本申请实施例中,可以从实际生活中采集样本音频数据,还可以通过AI生成样本音频数据等,在此不做具体限定。
具体的,每个样本音频数据可以是任意类型的音频数据。示例性的,样本音频数据可以是对象的语音数据(如对象进行语音通话、游戏、直播、广播等时的语音数据);还可以是视频中的音频数据;或者,还可以是通过音频设备采集的音频数据,如某一设备处于工作时所采集的音频数据,又如过音频采集设备(如麦克风等)采集到的环境(如学校、超市、银行、商场、办公室等)中的音频数据;再或者,也还可以通过AI合成的虚拟角色音频数据等,本公开实施例并不对样本音频数据的音频类型以及音频内容进行限定。
需要说明的是,本申请实施例中的任意一个样本音频数据,该样本音频数据至少包含连续的N帧样本音频信号,例如,该样本音频数据的长度为M帧,要求M≥N。
考虑到目前的音频传输过程方式,以整体的音频数据为处理粒度,该音频数据所包含的各帧音频信号都采用统一的处理方式,引入了额外的冗余数据和计算量,增加了无效的带宽消耗,本申请为了解决上述问题,引入了一种能够预测音频数据中各帧音频信号重要度的预测模型,以便后续以单个的音频数据为处理粒度,根据不同音频帧的重要性,对不同音频帧做复杂度不同的处理,这样,对于一些不重要性高的音频帧,则可进行复杂度较低的处理,甚至是可以不做额外的处理,以尽可能减少额外的冗余数据和计算量的引入,从而尽可能降低无效的带宽消耗。
参见图3所示,其为本申请实施例中的一种预测模型训练过程的实施流程图,该方法可以由电子设备执行,该电子设备例如可以是图1所示的终端设备和/或服务器,该方法的具体实施流程如下S31~S34:
S31:通过待训练的注意力神经网络,预测样本音频数据中连续的多帧样本音频信号各自的重要度参数。
在本申请实施例中,待训练的注意力神经网络可以随机初始化得到,这种情况下,待训练的注意力神经网络中的参数可以通过随机初始化得到;该待训练的注意力神经网络也可以是采用某些音频处理场景下已经进行过一定训练的模型,这种情况下,待训练的注意力神经网络中的参数则是经过一定训练后的参数。
本申请可在上述任意一种情况的基础上,进行如下训练,以使得训练后的注意力神经网络,能够准确预测音频数据中各音频帧(即各帧音频信号)的重要程度,也即本文中的重要度参数。
一般情况下,该重要度参数可以是一定取值范围内的任意数值,如该取值范围0~1时,一帧音频信号的重要程度越高,该帧音频信号的重要度参数越大。
对于一段音频数据而言,该段音频数据一般包括连续的多帧音频信号,每帧音频信号都可基于本申请中的预测模型(如注意力神经网络),预测得到该帧音频信号对应的重要度参数。
具体的,对于一帧音频信号而言,该帧音频信号的重要度参数表示:该帧音频信号对该段音频数据的质量的影响。
其中,若一帧音频信号的重要程度越高,即表示该帧音频信号对该段音频数据的质量的影响越大,则该帧音频信号丢失,对该段音频数据的质量影响较明显;反之,若一帧音频信号的重要程度越低,即表示该帧音频信号对该段音频数据的质量的影响越低,则该帧音频信号丢失,对该段音频数据的质量影响不明显。
基于此种设计,可以保证后续利用已训练的注意力神经网络,获取各音频帧对整体音频数据的影响程度,这样,在后续对待处理音频数据的传输控制过程中,则可根据每个音频帧的重要性,对不同音频帧做复杂度不同的处理,实现分级传输控制的效果,从而规避掉对整体音频数据所包含的各帧音频信号都采用统一处理方式所带来的额外消耗,提高音频数据的处理效率。
下面对注意力神经网络的结构进行简单举例说明:
注意力神经网络通常是由卷积单元和全连接单元组成,并最终通过softmax归一化方法得到权重输出。
如图4所示,其为本申请实施例中的一种注意力神经网络的结构示意图。在图4中,该注意力神经网络包括:两个全连接层,分别记作全连接层1、全连接层2;其中,全连接层1为输入层;还包括两个卷积层,分别记作卷积层1、卷积层2;还包括输出层,如激活函数softmax。
该注意力神经网络的输入为历史最近N帧的音频特征,例如功率谱,输入全连接层单元、两级卷积层单元和输出全连接层单元,最后经过softmax归一化输出得到N帧的权重值。
其中,上述是以音频特征为功率谱为例的,除此之外,音频特征还可以是幅度谱,梅尔频谱图、语谱图、短时过零率、能量特征、语速、语调等语音相关的特征。
需要说明的是,上述图4所列举的注意力神经网络的结构只是简单举例,除此之外,还可以是其他结构,如可以包含更多的卷积层、全连接层等,再或者激活函数可以是除softmax之外的其他函数,如sigmoid、修正线性单元(Rectified Linear Unit,ReLU)等,在此不再一一赘述。
此外,该预测模型除了可以是注意力神经网络这种结构外,还可以是其他结构。本质上,该预测模型可以理解为是一种分类模型,即对各帧音频信号进行重要度的分类,因而,该预测模型还可以采用逻辑回归、决策树、支持向量机、随机森林、梯度提升树等网络结构,在此不再一一赘述。
在本申请实施例中,基于待训练的注意力神经网络预测出样本音频数据中连续的多帧样本音频信号各自的重要度参数后,即可结合预测出的重要度参数,对该样本音频数据进行模拟丢包,通过模拟丢包对该注意力神经网络进行参数调整,具体过程如下:
S32:对于每帧样本音频信号,基于样本音频信号的重要度参数,设置样本音频信号的模拟丢包概率。
其中,重要度参数与模拟丢包概率呈负相关。
S33:基于各模拟丢包概率,对多帧样本音频信号进行模拟丢包。
具体而言,负相关即表示:重要度参数越大(这里指重要程度越高),则模拟丢包概率越低;相反,重要度参数越小(这里指重要程度越低),则模拟丢包概率越高。
以重要度参数的取值为0~1为例,假设有4帧样本音频信号,在采用图4所示的注意力神经网络进行预测的情况下,这4帧样本音频信号的重要度参数之和应为1,例如,第一帧样本音频信号重要度参数为0.1,第二帧样本音频信号重要度参数为0.2,第三帧样本音频信号重要度参数为0.5,第四帧样本音频信号重要度参数为0.2。
具体的,根据重要度参数匹配模拟丢包概率时,考虑到重要度参数与模拟丢包概率呈负相关,且本申请并不限制各帧样本音频信号的模拟丢包概率之和为1,以尽可能地构造不同丢包场景。例如匹配方式为:模拟丢包概率为重要度参数成反比;再比如,模拟丢包概率和重要度参数之和为1;再比如,根据一定的系数对重要度参数进行线性比例映射或非线性映射获得模拟丢包概率;再比如,通过查映射表确定;等等。
以模拟丢包概率和重要度参数之和为1为例,则第一帧样本音频信号重要度参数为0.1,其对应的模拟丢包概率为90%;
第二帧样本音频信号重要度参数为0.2,其对应的模拟丢包概率为80%;
第三帧样本音频信号重要度参数为0.5,其对应的模拟丢包概率为50%;
第四帧样本音频信号重要度参数为0.2,其对应的模拟丢包概率为80%。
需要说明的是,除上述所列举的匹配模拟丢包概率的方式外,其他匹配方式适用于本申请实施例,在此不再一一赘述。
在此基础上,N帧音频信号的模拟丢包是根据模拟丢包概率进行的。
在模拟丢包过程中,越重要的音频信号,其对应的模拟丢包概率越低,即表示其越不容易被丢失;越不重要的音频信号,其对应的模拟丢包概率越高,即表示其越容易被丢失。
基于上述思想,在模拟丢包时,一种可选的实施方式如下:
对于每帧样本音频信号,分别执行以下操作:
若一帧样本音频信号的模拟丢包概率大于预设概率阈值,则对该帧样本音频信号的数据包进行模拟丢包;
反之,若一帧样本音频信号的模拟丢包概率不大于预设概率阈值,则保留该帧样本音频信号的数据包。
概括来说,即预先设置一个丢包概率门限值,即本文中的预设概率阈值。对于一帧样本音频信号而言,若该帧样本音频信号对应的模拟丢包概率超过该门限值,即可在模拟丢包时,丢掉该帧样本音频信号的数据包。反之,若一帧样本音频信号的模拟丢包概率未超过该门限值,即可在模拟丢包时,不丢掉该帧样本音频信号的数据包,也即保留该帧样本音频信号的数据包。
例如,预设概率阈值(即丢包概率门限值)为50%,即表示对模拟丢包概率超过50%的样本音频信号进行丢包处理。
如图5所示,其为本申请实施例中的一种模拟丢包过程的逻辑示意图。其中,图5即表示:以4帧样本音频信号的功率谱特征作为预测模型的输入时,模型可预测这4帧样本音频信号各自的重要度参数,而后,即可根据重要度参数,采用上述所列举的匹配方式,匹配每帧样本音频信号对应的模拟丢包概率,其中,模拟丢包概率和重要度参数呈负相关。如图5中,重要度参数越大,则模拟丢包概率越小。
在此基础上,若预设的丢包概率门限值为50%,则可丢掉第二帧和第四帧,保留第一帧和第三帧,如图5所示。
此外,除采用S32所列举的根据重要度参数确定音频信号的模拟丢包概率的方式外,还可采用随机丢包的方式来进行模拟丢包。具体过程如下:
首先,预设一个随机丢包概率,如2%,即表示10个数据包中可随机丢掉2个数据包。继而,根据该随机丢包概率,对N帧样本音频信号做随机丢包即可。
需要说明的是,由于该随机丢包的方式,所丢掉的数据包是随机筛选出来的,基于此,可模拟实际应用中的各种丢包场景,进而提高模型预测的准确性。
本申请运用注意力神经网络结合音频质量评价工具,模拟丢包进行训练以反映不同音频信号的重要程度,进而得到输入N帧音频信号的不同重要度参数,根据不同的重要度参数对不同帧信号做复杂度不同的计算处理,减少音频数据中重要性低的音频信号处理过程的消耗,从而可以达到节省存储、带宽等硬件资源,兼顾应用需求、网络环境和资源限制等因素均衡音频质量和计算成本等效果。
下面对结合音频质量评价工具对注意力神经网络进行参数调整的过程进行具体说明:
S34:根据模拟丢包后获得的失真音频数据,对待训练的注意力神经网络进行参数调整。
在本申请实施例中,注意力神经网络的目的是输出N帧音频信号各自的重要度参数,重要度参数与对应音频帧的平均质量评估值贡献度相关。该平均质量评估值可以通过音频质量评价工具对音频数据进行语音质量评估测量得到。
语音质量评估(Speech Quality Assessment,SQA),就是通过人类或自动化的方法评价语音质量。在实践中,有很多主观和客观的方法评价语音质量。下面对几种语音指令评估方法进行简单说明:
具体的,音频质量评价的方式主要有以下几种:
评价方式一:主观评价。
该方式主要依赖于人为的听,通过听声人员对语音进行打分,比如按照5分或者7分制打分。
具体的,基于大量听音人对原始声音信号和失真声音信号进行对比测听的基础上,根据某种预先规定的尺度对失真信号进行质量等级划分,它反映了听音人员对声音质量好坏程度的一种主观印象,这种评价是对象对音频质量的真实反映。
评价方式二:客观评价。
该方式主要依靠仪器测试响度、频率响应、灵敏度等指标;或者,依靠模型和算法,模拟人工打分,如感性语音质量评估(Perceptual Speech Quality Measure,PSQM)、客观语音质量评估(Perceptual Evaluation of Speech Quality,PESQ)算法等。
客观评价方法主要依据的是原始语音信号和失真语音信号的时频域或变换域的特征参数差异对比,多采用某个特定的参数去表征声音通过数字音频系统后的失真程度,并以此来评估处理系统的性能优劣。
下面对客观评价方法中的PESQ算法进行简单说明。
PESQ是一种客观的语音质量评估方法,适用于端到端的音频质量测试,它的工作原理基于输入-输出方式,即需要两个信号:一个是经过传输或处理后的带噪声音信号,另一个是原始的、未受损害的参考信号。通过对输入的两个信号提取时频域或变换域特征参数的差异,再将特征参数差异经神经网络模型映射得到客观的音质分值,这个分数反映了听者对语音质量的感知,一般情况下,带噪声音信号和参照信号的差异性越大,计算出的MOS参数值就越低。
如图6所示,其为本申请实施例中的一种PESQ的结构示意图。开始时两个信号都通过电平调整,再用输入滤波器模拟标准电话听筒进行滤波。这两个信号要在时间上对准,并通过听觉变换。这个变换包括对系统中线性滤波和增益变化的补偿和均衡。提取出两个失真参数,在频率和时间上总和起来,映射到对主观平均意见分的预测,也即本文中的平均质量评估值。
具体的,该平均质量评估值的打分机制有多种,下面以5分制的平均意见得分(Mean Opinion Score,MOS)作为平均质量评估值(可通过PESQ测量得到)为例,如下表1所示:
表1 平均质量评估值
具体的,MOS得分越高表示语音质量越好。一般MOS应为4或者更高,这可以被认为是比较好的语音质量,若MOS低于3.6,则表示大部分不太满足这个语音质量。
需要说明的是,上述所列举的MOS得分只是简单举例,如MOS值打分还可以是1.0~4.5之间,或者-0.5~4.5之间等等,不同得分区间下有不同的评价标准,但基本思想都为MOS得分越高表示语音质量越好,在此不再一一赘述。
下面以基于PESQ算法进行语音质量评估为例,在本申请实施例中,因为PESQ的MOS计算是采取减分机制,即例如PESQ满分初始化值为5,根据各个音频帧的不同失真程度进行扣分,得到最终的MOS值。
假设某音频帧(假设为a帧)丢失,经过接收端解码器丢包隐藏(Packet LossConcealment,PLC)处理后得到丢包隐藏处理的信号结果,经过PESQ测试发现MOS下降了0.1,而另一帧音频帧(假设为b帧)同样的丢包处理,其对MOS的下降值为0.02,那说明a帧的MOS贡献度比b帧贡献度高,所以其重要程度也比b帧更高,在传输时则需要给予更多的保障。
在上述实施方式中,PESQ算法能够较好地模拟人类的听觉感知,因此其评估结果与主观评价方法有较高的相关性,确定出的MOS贡献度更为准确,在此基础上,结合该数据进行模拟丢包,以对待训练的注意力神经网络进行参数调整,能够保证训练后的注意力神经网络更加准确可靠。
基于上述思想,一种可选的实施方式为,可以按照如下所示的流程实施S34,包括以下步骤S341~S343:
S341:通过音频解码器对失真音频数据进行丢包隐藏处理,获得处理后音频信号。
S342:对处理后音频信号和原始的多帧样本音频信号进行语音质量评估,获得平均质量评估值。
其中,平均质量评估值用于表示处理后音频信号与原始的多帧样本音频信号之间的差异。
具体的,该步骤可基于PESQ算法实现,仍以图6所示的结构为例,则原始输入即为“原始的多帧样本音频信号”,降低输出即为对失真音频数据进行丢包隐藏处理所获得的“处理后音频信号”,通过PESQ可以测量得到这两种信号之间的差异,获得对应的MOS值。
该MOS值越大,即这两种音频信号之间的差异较小,也即,表示模拟丢包时丢失的数据包的重要程度较低;反之,该MOS值越小,即这两种音频信号之间的差异较小,也即,表示模拟丢包时丢失的数据包的重要程度较高。
其中,由于模拟丢包时可丢失一个或多个数据包,因而,上述中“模拟丢包时丢失的数据包的重要程度”,具体是指丢失的所有数据包的综合重要程度。基于此思想,则可以根据MOS值和模拟丢包时的丢包个数,来综合确定损失函数,具体实施方式如下:
S343:根据基于平均质量评估值和丢包个数构建的损失函数,对待训练的注意力神经网络进行参数调整。
其中,丢包个数表示对多帧样本音频信号进行模拟丢包时,所丢失的数据包的数量。
仍以上述图5所列举的模拟丢包的过程为例,图5中的丢包个数为2。
在本申请实施例中,注意力神经网络的作用是从N帧输入的音频信号帧中给出各帧各自的重要度参数,重要度参数越大则对音质影响越大,即越重要的音频帧丢失对PESQ的MOS下降越大,所以神经网络需要拟合这个映射关系,当重要度参数结果正确时,相同丢包个数(可记作lossnum)下,重要度参数越大的包丢失对应MOS越小,模型的loss应该越小,所以loss与MOS是单调递增关系。而MOS相同情况下,丢失帧重要度参数越高所需要的丢包个数就越小,所以loss与丢包个数lossnum是单调递减关系。
基于上述思想,一种可选的实施方式为,可通过如下步骤S3431~S3433构建损失函数(图3未示出):
S3431:将丢包个数输入预设的单调递增函数,获得丢包个数损失值。
S3432:将平均质量评估值输入预设的单调递减函数,获得质量评估损失值。
S3433:基于丢包个数损失值和质量评估损失值之和,确定损失函数。
其中,损失函数与平均质量评估值呈正相关,损失函数与丢包个数呈负相关。
具体的,可以基于上述步骤,获得预测模型的模型损失值,模型损失值表征了当前预测模型的预测的准确性,通常而言,模型损失值越小,则表征该模型的准确性越高,在训练过程中,则需要不断优化模型损失值,进而使得模型达到最优状态。
本申请实施例中,模型损失值可以采用任意可能的损失函数来计算,例如交叉熵损失函数(Cross Entropy Loss Function)、均方差(Mean Squared Error、MSE)损失函数、平方绝对误差损失函数、最大似然损失(Likelihood Loss,LHL)函数等,当然,也可以为其他可能的损失函数,本申请实施例对此不做限制。
例如下述公式1所示,即为本申请实施例中提出的一种损失函数的计算方式:
loss = 1/(f1(lossnum)+f2(MOS))(公式1)
其中,lossnum是模拟丢包时的丢包个数,MOS为PESQ测试结果分值,也即本文中的平均质量评估值;f1()是预设的单调递增函数,f2()是预设的单调递减函数。
结合上述公式,f1(lossnum)可以理解为丢包个数损失值,f2(MOS)可以理解为质量评估损失值。其中,f1()是单调递增函数,因而lossnum数值越大,f1(lossnum)越大,则loss越小,所以损失函数与丢包个数呈负相关。f2()是单调递减函数,因而MOS值越大,f2()越小,则loss越大,所以损失函数与丢包个数呈负相关。
在本申请实施例中,loss值用于指导注意力神经网络的训练,经过不断迭代,在确定模型达到训练终止条件时,则模型训练结束。
具体的,训练终止条件可以包括如下条件的至少一个:
(1)迭代次数达到设定的次数阈值。
(2)模型损失值小于设定的损失阈值。
(3)模型损失值比较稳定时,也即相邻几次迭代训练时,模型损失值变化量小于设定的变化阈值。
当然,也可以为其他可能的条件,本申请实施例对此不做限制。
在一种可选的实施方式中,在模型仍不满足收敛条件时,可以通过梯度下降法、随机梯度下降算法等优化算法更新得到模型参数,以最小化上述的损失函数,并以更新后的模型参数继续进行训练,使得模型能够更好地预测音频帧的重要程度。
其中,在迭代训练时调整的模型参数包括但不限于权重参数、偏置参数、卷积核大小等。
参阅图7所示,其为本申请实施例中的一种模型训练时一次迭代训练过程的逻辑示意图。
具体的,注意力神经网络的一次迭代训练过程如图7所示,首先输入的是大量不同内容的样本音频数据(后续可简称为样本),每个样本的长度为M帧,要求M>= N,注意力神经网络输入为样本中某段连续N帧的音频信号的音频特征(如功率谱特征),输出该N帧各自对应的重要度参数,通过N帧重要度参数大小匹配模拟丢包概率(例如重要度参数越大则模拟丢包概率越低,相反,重要度参数越小则模拟丢包概率越高),具体可参见上述实施例,重复之处不再赘述;进而,基于预设的丢包概率门限值,结合N帧音频信号各自的模拟丢包概率,进行模拟丢包,样本经过了模拟丢包后,由音频解码器解码并进行丢包隐藏处理(包括解码器自带的PLC)后的音频信号和原始输入信号经过PESQ测试得到MOS值,MOS值和丢包个数作为损失函数的输入参数,结合上述公式1,计算出最终的损失函数值,在训练过程中,根据反馈的损失函数的损失值,不断调整注意力神经网络的参数。
在本申请实施例中,预测模型训练完成后,即可根据训练好的预测模型对待处理音频数据的各帧音频信号进行重要度预测,进而,根据音频帧的重要度,对各帧音频信号进行复杂度不同的分级传输控制。
下面,则对实际应用阶段的音频数据的处理过程进行介绍。
参阅图8所示,为本申请实施例提供的一种音频数据的处理方法的实施流程图,以服务器为执行主体为例,该方法的具体实施流程如下:
S81:针对包含多帧音频信号的待处理音频数据,通过已训练的预测模型,预测多帧音频信号各自的重要度参数。
其中,预测模型是根据对样本音频数据进行模拟丢包后获得的失真音频数据训练得到的,模拟丢包时丢失的数据包是基于样本音频数据中样本音频信号的重要度参数确定的。
具体的,预测模型的训练过程可参见上述实施例,重复之处不再赘述。在模型训练完成后,即可通过已训练的预测模型进行重要度预测。
例如,选取待处理音频数据中连续的N帧音频信号,输入已训练的预测模型,该预测模型可直接输出这N帧音频信号各自对应的重要度参数。
以上述图4所列举的预测模型为例,则这N帧音频信号对应的重要度参数的取值范围为0~1,且N帧对应的重要度参数之和为1。在此基础上,某帧音频信号的重要度参数越大,即表示该帧音频信号的丢失对这N帧音频信号整体质量的影响越大;基于此,对于重要度参数大的音频帧信号,则可采用更为复杂的传输方式进行传输;对于重要度参数小的音频帧信号,则可采用较为简单的传输方式进行传输;也即,根据各帧音频信号的重要度参数,对音频信号帧进行分级传输控制。
需要说明的是,对于待处理音频数据,可按照时间顺序,依次选取连续的N帧音频信号重复本申请实施例中的方法,对该待处理音频数据中的各帧音频信号进行重要度预测,进而根据预测结果执行后续的分级传输控制。
如图9所示,其为本申请实施例中的一种音频传输过程的示意图。其中,图9所列举的待处理音频帧含多帧音频信号,如图9中每个编号表示一帧音频信号,则对该音频数据进行传输时,可将该音频数据按照N进行划分,例如N=4,即从第1帧开始,将每连续的4帧划分为一组,依次对各组执行本申请实施例中的音频数据的处理方法即可。如:第一次处理第1帧至第4帧,第二次处理第5帧至第8帧,第三次处理第9帧至第12帧;等等。
下面对根据各帧音频信号的重要度参数,对音频信号帧进行分级传输控制的过程进行概括性说明,如下步骤S82所示:
S82:对于每帧音频信号,分别执行以下操作:
S821:根据一帧音频信号的重要度参数,确定采用目标传输策略时一帧音频信号的目标传输参数;目标传输参数为:在传输过程中,控制一帧音频信号传输质量的参数。
S822:根据目标传输策略和目标传输参数,对一帧音频信号进行传输控制。
在本申请实施例中,目标传输策略是指:在音频传输过程中,用于提高音频传输质量,以避免或是减小传输时丢包所带来的影响的传输方法。目标传输参数,则是在传输过程中,控制音频传输质量的参数。不同的目标传输策略所对应的目标传输参数也不相同。
具体的,目标传输策略包括但不限于如下至少一种:编码码率控制策略,丢包重传策略,多链路传输策略,多发传输策略,前向纠错编码策略。
也即,本申请实施例中的目标传输策略可以是上述任意一种策略,也可以是上述多列举的多种策略的组合,具体可根据实际传输情况而定,例如当前网络质量很差,则可综合两种甚至更多种策略进行传输,若当前网络质量较好,则可采用一种策略进行传输,等等。
总的来说,这些策略旨在提高音频传输的稳定性和质量,减少网络波动对通话和音频播放等的影响。在实际应用中,可能需要结合多种策略来达到最佳的抗丢包效果。
其中,目标传输策略包括编码码率控制策略时,目标传输参数包括目标编码码率;编码码率越高,承载的信息越多,音频的质量也就越高。
目标传输策略包括丢包重传策略时,目标传输参数包括重传次数上限;重传次数越多,丢失的数据包被成功接收的机会就越大,音频的质量也就越高。
目标传输策略包括多链路传输策略时,目标传输参数包括目标传输链路;传输链路越多、链路质量越高,则可更大程度的减少音频丢包、延迟和抖动,音频的质量也就越高。
目标传输策略包括多发传输策略时,目标传输参数包括目标多发倍数;多发倍数越高,丢失的数据包被成功接收的机会就越大,音频的质量也就越高。
目标传输策略包括前向纠错编码策略时,目标传输参数包括目标冗余率;冗余率越高,接收端则可更大程度的纠正和恢复传输中错误,音频的质量也就越高。
此外需要说明的是,除上述所列举的几种传输策略和传输参数外,其他用于提高音频质量的传输策略和相关参数同样适用于本申请实施例,在此不再一一赘述。
本申请中的音频数据的处理方法,可以通过基于注意力神经网络的音频帧重要性分级处理系统执行,例如,将通过上述方式训练好的注意力神经网络部署至音频帧重要性分级处理系统,在此基础上,利用该音频帧重要性分级处理系统对待处理音频数据进行传输时,可以得到输入N帧音频信号的不同重要度参数,针对不同重要度的音频帧做复杂度不同的计算处理,尤其是对非重要音频帧不做处理或简单处理,降低非重要音频帧传输时的消耗,从而达到节省存储、带宽等硬件资源,兼顾应用需求、网络环境和资源限制等因素均衡音频质量和计算成本等有益效果。
下面以如下5个场景为例,对本申请实施例中的音频数据的处理方法进行简单说明:
场景一:音频编码场景。
在实际应用中,音频编码所使用的场景很多,例如音视频通话、音视频会议、直播、广播、游戏、音乐等相关的各种业务等。音频编码器主要用于音频信号的存储或传输前的数据压缩,如图10所示,其为相关技术中的一种音频录播流程图,终端设备的麦克风采集到模拟声音信号,模拟声音信号通过模数转换器(Analog-to-Digital Converter,ADC)器件转换为数字信号,音频编码器根据预设的编码参数(例如编码码率)开始做语音编码,编码后的音频压缩数据或存储在存储介质中或通过传输网络发送到目的地址。当需要播放音频压缩数据时,则从存储介质读取码流数据进行音频解码、数字模拟转换器(Digital toanalog converter,DAC)转换为声音模拟信号经扬声器播放,或接收端收到从传输网络进来的音频压缩码流,经过音频解码器解码、DAC转换为声音模拟信号经扬声器播放。
其中,音频编码器最主要的编码参数是编码码率,音频编码码率控制是音频编码器的最重要环节,其决定了音频数据压缩比,进而决定了音频数据所需要的存储空间大小、音频数据传输所需要的带宽资源大小。具体的,编码码率设置是指选择合适的比特率(bitrate)来进行音频压缩和编码,以平衡音质和文件大小之间的关系。一般需要根据应用需求和对音质的要求,选择适当的码率。然而,较低的码率可以节省存储空间或带宽,但会导致音质损失;较高的码率可以提供更好的音质,但会占用更多的存储空间或带宽。
在相关技术中,编码码率的控制一方面是通过音频编码器的应用程序编程接口(Application Programming Interface,API)进行配置,在编码过程中每一帧音频信号的编码输出比特数会控制在所设置的编码码率值对应比特数范围左右,并根据输入音频信号的类型(语音帧还是非语音帧)以及当前帧的信噪比、能量等特征进行调节,调节的目的是让更多的比特数分配给信噪比高的语音帧,而非语音帧则分配较少的比特数,最终输出的一系列音频帧的平均码率会逼近于设置的编码码率,从而实现该音频信号传输带宽或存储空间的有效控制。
但是,这种常规的音频编码码率控制方案,在音频编码器API接口设置编码码率后,在整个编码过程中基本不再改动,虽然音频编码器具备内部自动调节速率的功能,但也是围绕着所设定码率值为中心实现码率有限范围的上下波动调节,其依据还是根据当前帧信号的类型和信噪比,且音频编码器的编码流程决定了音频编码器只能获取当前输入的音频信号帧信息或者历史输入的音频数据信息,无法获取未来数据信息,因此无法获取未来信号和当前编码音频信号间的关联以及关键性高低对比,例如未来信号比当前信号对音质贡献更大,但由于编码器从当前信号音频特征维度的判决中已经给当前信号分配了较高比特数,为了避免最终的比特数空间分配失控,未来信号(下一帧音频信号)则无法分配比当前帧信号更高的比特数进行编码,或者比特数增加空间受限,所以现有音频编码方案码率控制存在一定局限性。
并且,这种方式还引入了额外的冗余数据和计算量带来的带宽开销、延迟增加、计算复杂性增加等,不适用于资源有限的设备或实时性要求较高的场景。
此外,相关技术中提出的另一种基于语音关键性定义规则进行音频编码码率控制的方法,让音频帧从语音关键性划分方式通过外部api接口设置进而分配到更合理的比特空间资源。这种方法是一种基于规则或人工经验设定的方法,其规则完备性会存在不足,在一些情况下不同音频信号由于语音关键性计算结果相同,但实际上是语音关键性定义不完备导致的误差,进而无法进一步区分相同语音关键性值的不同帧信号的真实语音关键性,该方法限制了音频编码码率控制往更科学合理性的方向发展。
有鉴于此,本申请中提出了一种能够区分出音频帧的重要等级,根据音频帧的重要性差异选择对应的编码码率进行编码的方案。
具体的,目标传输策略包括编码码率控制策略,目标传输参数包括目标编码码率时,本申请中步骤S821的一种可选的实施方式如下,包括步骤S8211a~S8212a(图8未示出):
S8211a:基于一帧音频信号的重要度参数,确定一帧音频信号的码率调整系数。
其中,重要度参数与码率调整系数呈正相关。
具体而言,正相关即表示:重要度参数越大(这里指重要程度越高),则码率调整系数越大;相反,重要度参数越小(这里指重要程度越低),则码率调整系数越小。
仍以上述所列举的重要度参数的取值为0~1为例,假设有4帧音频信号,在采用图4所示的注意力神经网络进行预测的情况下,这4帧音频信号的重要度参数之和应为1,例如,第一帧音频信号重要度参数为0.1,第二帧音频信号重要度参数为0.2,第三帧音频信号重要度参数为0.5,第四帧音频信号重要度参数为0.2。
具体的,根据重要度参数匹配码率调整系数时,考虑到重要度参数与码率调整系数呈正相关。例如匹配方式为:码率调整系数为重要度参数成正比;再比如,根据一定的系数对重要度参数进行线性比例映射或非线性映射获得码率调整系数;再比如,通过查映射表确定;等等。
根据一定的系数(如2)对重要度参数进行线性比例映射获得码率调整系数为例,则第一帧音频信号重要度参数为0.1,其对应的码率调整系数为0.2;
第二帧音频信号重要度参数为0.2,其对应的码率调整系数为0.4;
第三帧音频信号重要度参数为0.5,其对应的码率调整系数为1;
第四帧音频信号重要度参数为0.2,其对应的码率调整系数为0.2。
需要说明的是,除上述所列举的匹配码率调整系数的方式外,其他匹配方式适用于本申请实施例,在此不再一一赘述。
S8212a:基于预设编码码率以及码率调整系数,确定一帧音频信号的目标编码码率。
其中,预设编码码率表示:用于控制多帧音频信号整体压缩目标的平均编码码率。
具体的,该预设编码码率可采用上述相关技术中所列举的方式确定,比如根据当前帧信号的类型和信噪比确定,或者基于语音关键性定义规则确定等。本申请在确定了预设编码码率的基础上,进一步根据每帧音频信号的重要度,对不同的音频信号进行不同程度的编码码率的调整。
在执行步骤S8212a时,一种可选的实施方式为:对于一帧音频信号,将该帧音频信号所对应的码率调整系数与预设编码码率的乘积,作为该帧音频信号的目标编码码率。
结合上述思想,一种可选的实施方式为:注意力神经网络输出的重要度参数与音频编码器编码码率之间的映射关系可以通过以下公式计算得到:
Bitrate = Bitrate0 * f(weight)(公式2)
其中,Bitrate为最终设置码率,即目标编码码率,而Bitrate0为预设编码码率,用于控制整体音频压缩目标的平均码率,weight为注意力神经网络输出的该帧音频信号的重要度参数,f()为单调递增函数。
其中,上述公式2中的单调递增函数f()及其输出范围可根据实际需求或经验灵活设置,例如,f(weight)=2 weight,再比如,f(weight)=0.5 weight +0.5,等等;输出范围如可设置为0.2~1,又如可设置为0.1~0.9,再比如设置为0.1~1.1,等等,本文不做具体限定。一般情况下,该函数的输出范围下限可以在0左右,上限可以在1左右。
进而,在执行步骤S822时,即采用该目标编码码率,而非预设编码码率,对相应帧的音频信号进行传输控制。
如图11所示,其为本申请实施例中的一种音频编码码率控制的逻辑示意图。以VoIP应用场景为例,发送端进行音频信号采集,音频信号经过音频特征(如功率谱特征)提取处理,历史N帧(例如N=4)音频信号的音频特征将被缓存作为注意力神经网络的输入,注意力神经网络输出为输入N帧音频信号的重要度参数,该重要度参数与目标编码码率有映射关系(如上述公式2),结合预设编码码率及该映射关系,则可确定出N帧音频信号各种对应的目标编码码率用于设置。
如图11中,预测得到4帧音频信号各自对应的重要度参数分别为:0.1、0.2、0.5、0.2,预设编码码率为12bps(比特每秒),结合上述所列举的映射关系,如Bitrate =Bitrate0 * f(weight)= Bitrate0 *2weight,最后可得第一帧音频信号对应的目标编码码率为2.4bps,第二帧音频信号对应的目标编码码率为4.8bps,第一帧音频信号对应的目标编码码率为12bps,第一帧音频信号对应的目标编码码率为4.8bps。即越重要的音频帧,则采用越大的编码码率进行编码,不太重要的音频帧,则采用较小的编码码率进行编码。
音频信号经过音频编码后经数据包封装后向目的地址发送,接收端收到数据包后解析出音频编码数据,音频解码器解码出音频数字信号,并由播放设备播放出声音。发送端发送完N帧编码码流后继续对下一个N帧音频信号进行上述操作。
在上述实施方式中,将注意力神经网络所得的音频帧重要性分级用于编码码率的控制策略,引入了重要度参数与音频编码器编码码率之间的映射关系,结合该映射关系,对重要度高的音频信号设置较大的编码码率,以尽可能减少编码失真,保证这些重要性高的音频信号的传输质量,对重要性低的音频信号设置较小的编码码率,以尽可能减少这些重要性低的音频信号传输占用的资源,在对音质影响不大的前提下加大压缩比,以节省传输带宽或存储控制。
并且,本申请通过深度学习技术改进了相关的音频编码码率控制方案,使得在同样的存储空间或传输带宽下,利用比特资源的科学合理分配,实现编解码后音质损伤更少,也就是音频质量相比更高。
此外,本申请所提出的编码方法基于深度学习技术实现,不受规则或人工经验的影响,相较于相关技术中基于语音关键性定义规则进行音频编码码率控制的方法,更加科学合理。
场景二:音频丢包重传场景。
音频数据丢包重传是指在音频通信或传输过程中,当发生数据包丢失时,使用重传机制来确保音频数据的连续性和完整性。这种技术常用于实时音频通信、语音传输和音频流媒体等应用中,以提供更好的对象体验和音频质量。在实时音频通信中,例如VoIP电话或实时音视频会议,丢包重传对于确保通话质量至关重要。它可以减少语音中断、声音失真和通话质量下降的问题,提供更稳定和清晰的音频体验。
需要注意的是,音频数据丢包重传会引入一定的延迟和带宽占用。
在相关技术中,常见的丢包重传主要是以下几种方式:停等式丢包重传方式、回退N帧丢包重传方式、选择性重传方式。
如图12所示,其为相关技术中的一种丢包重传技术框图。丢包重传技术是接收方检测到存在丢包后发送丢包重传申请包,发送端收到丢包重传申请包后则对应重传相关数据包。
这是一种机械式的应答机制,即发送端根据接收端是否收到数据包结果来重新发送丢失数据及相邻数据。常规的丢包重传技术对所有数据包都是同等对待,只要检测到丢包则反馈发送端进行重发,数据重复能增加接收端接收成功率,然而数据重发操作带来两个不利的影响:时延增大和带宽消耗,由于ARQ是基于应答式响应处理,每一次数据包的接收都需要一定等待时间,当接受等待时间达到而没收到目标数据包才被判别为丢包,这会引入额外时延,另外接收方的ARQ反馈包的发送传输到发送方也是需要一定的网络传输时延的,因此ARQ重传次数上限值越多则引入的额外时延更多;ARQ需要增加ARQ反馈包、重发数据包等,这些带来额外的带宽消耗。
因此,在设计和实现丢包重传机制时,需要权衡可靠性和性能之间的折衷。有鉴于此,本申请提出了一种能够区分出音频帧的重要等级,根据音频帧的重要性差异对丢包重传技术作出相应调整的方案。
具体的,目标传输策略包括丢包重传策略,目标传输参数包括重传次数上限时,本申请中步骤S821的一种可选的实施方式如下,包括步骤S8211b~S8213b(图8未示出):
S8211b:预先划分多个重要度参数区间。
S8212b:根据一帧音频信号的重要度参数所属的重要度参数区间,匹配一帧音频信号的重要级别。
在本申请实施例中,根据注意力神经网络输出重要度参数,可以划分音频帧重要级别,具体的,可以通过定义重要度参数区间匹配音频帧重要级别值,例如重要级别共有4级,最高重要级别(1级)对应的重要度参数区间为[0.8,1.0],次高重要级别(2级)对应的重要度参数区间为[0.5,0.8),较低重要级别(3级)对应的重要度参数区间为[0.2,0.5),最低重要级别(4级)对应的重要度参数区间为[0,0.2)。
需要说明的是,上述所列举的重要度参数区间与重要级别的映射关系只是简单举例,如还可划分为3个重要参数区间,同时,重要级别共有3级,最高重要级别(1级)对应的重要度参数区间为[0.7,1.0],中间重要级别(2级)对应的重要度参数区间为[0.4,0.7),最低重要级别(3级)对应的重要度参数区间为[0,0.4);等等。
此外,除了根据重要度参数区间匹配音频帧重要级别的方式外,也可直接设置一个或多个级别阈值,该阈值具体表示的是重要度参数阈值。
例如,重要级别共有4级时,可设置3个级别阈值,分别为0.8、0.5、0.2。其中,若某一帧音频信号对应的重要度参数不低于0.8,则该帧对应的重要级别为最高重要级别(1级);若某一帧音频信号对应的重要度参数低于0.8,但不低于0.5,则该帧对应的重要级别为次高重要级别(2级);若某一帧音频信号对应的重要度参数低于0.5,但不低于0.2,则该帧对应的重要级别为较低重要级别(3级);若某一帧音频信号对应的重要度参数低于0.2,则该帧对应的重要级别为最低重要级别(4级);等等。
需要说明的是,上述所列举的根据注意力神经网络输出重要度参数,划分音频帧重要级别的方式只是简单举例,除此之外其他划分方式同样适用于本申请实施例,基本思想即为重要度参数高的音频帧,其对应的重要级别也高,在此不再重复赘述。
S8213b:按照一帧音频信号所属的重要级别,确定一帧音频信号的重传次数上限M;M为非负整数;重传次数上限和重要级别呈正相关。
在本申请实施例中,划分好各音频帧的重要级别后,即可为不同重要级别的音频帧,设置不同的重传次数上限值。
具体的,重传次数上限和重要级别呈正相关,也即:音频帧对应的重要级别越高,该音频帧所对应的重传系数上限也就越大;音频帧对应的重要级别越低,该音频帧所对应的重传系数上限也就越小。
例如,重要级别1级的音频帧将赋值重传次数上限值为3;重要级别2级音频帧将赋值重传次数上限值为2;重要级别3级音频帧将赋值重传次数上限值为1;重要级别4级音频帧将赋值重传次数上限值为0,即不做重发处理。
再比如,重要级别1级的音频帧将赋值重传次数上限值为4;重要级别2级音频帧将赋值重传次数上限值为3;重要级别3级音频帧将赋值重传次数上限值为2;重要级别4级音频帧将赋值重传次数上限值为1;等等。
需要说明的是,上述所列举的为不同重要级别的音频帧设置不同的重传次数上限值的方式只是简单举例,除此之外,其他设置方式同样适用于本申请实施例,在此不再一一赘述。
在上述实施方式中,引入了重要度参数所属的重要级别与音频重传次数上限值之间的映射关系,结合该映射关系,对重要度高的音频信号设置较大的重传次数上限,也即设定更多更可靠的ARQ丢包重传策略以确保其数据传输的可靠性,从而保证这些重要性高的音频信号的传输质量,对重要性低的音频信号设置较小的重传次数上限,不做重传或少做重传,以避免非重要数据的丢包重传引入较多的延时增加、且消耗更多带宽资源。
进而,在执行步骤S822时,包括但不限于如下两种传输方式:
传输方式一、对于一帧音频信号,确定一帧音频信号丢包后,将一帧音频信号连续重传M次。
该方式即表示,基于该帧音频信号对应的重传次数上限M,对该帧音频信号进行连续M次重传。
例如,重要级别1级的音频帧将赋值重传次数上限值为3,代表该音频帧可以被连续重复发送三次,以确保其大概率到达接收端;同理,重要级别2级音频帧将赋值重传次数上限值为2,代表该音频帧可以被连续重复发送两次,以确保其较大概率到达接收端;重要级别3级音频帧将赋值重传次数上限值为1,代表该音频帧可以被触发1次重传,使其有机会在接收端做第二次成功接收,但如果继续丢包则无需继续重传避免ARQ额外时延和带宽消耗;重要级别4级音频帧将不做重发处理,代表其丢包对接收端的音质影响不大。
传输方式二、对于一帧音频信号,确定一帧音频信号丢包后,将一帧音频信号进行一次重传,直至一帧音频信号被成功接收或一帧音频信号的重传次数达到M次。
该方式即表示,一帧音频信号最多可被重传M次,但其具体被重传多少次,需要看其在某次重传后是否被成功接收;或者,若一直都未被成功接收,则看是否重传达到M次。
例如,重要级别1级的音频帧将赋值重传次数上限值为3,代表该音频帧可以最大触发3次重传,以确保其大概率到达接收端;重要级别2级音频帧将赋值重传次数上限值为2,代表该音频帧可以最大触发2次重传,以确保其较大概率到达接收端;重要级别3级音频帧将赋值重传次数上限值为1,代表该音频帧可以最大触发1次重传,使其有机会在接收端做第二次成功接收,但如果继续丢包则无需继续重传避免ARQ额外时延和带宽消耗;重要级别4级音频帧将不做重发处理,代表其丢包对接收端的音质影响不大。
以最大触发3次重传为例,对于丢包的音频帧,将该音频帧从1次开始进行重传,若重传1次被成功接收,则不再进行重传;若第1次重传未被成功接收,则继续进行第2次重传;若第2次重传被成功接收,则不再进行重传;若第2次重传未被成功接收,则继续进行第3次重传;由于该音频帧对应的重传次数为3次,因而无论第3次重传是否被成功接收,后续都不再对该音频帧进行重传。
同理,以最大触发2次重传为例,对于丢包的音频帧,将该音频帧从1次开始进行重传,若重传1次被成功接收,则不再进行重传;若第1次重传未被成功接收,则继续进行第2次重传;不过,无论第2次重传是否被成功接收,后续都不再对该音频帧进行重传。
如图13所示,其为本申请实施例中的一种音频丢包重传的逻辑示意图。以VoIP应用场景为例,发送端进行音频信号采集,音频信号经过音频特征(如功率谱特征)提取处理,历史N帧(例如N=4)音频信号的音频特征将被缓存作为注意力神经网络的输入,注意力神经网络输出为输入N帧音频信号的重要度参数。
本申请根据重要度参数划分定义各音频帧的ARQ重传次数上限值(例如其区间为0~3),这里重传次数上限值代表了该音频帧的重要程度,重传值越大代表该音频帧重要程度越高,例如重传次数上限值为0,即该音频帧属于非重要的内容,如果发生丢包则无需进行重传处理,接收方不会收到该音频帧的重传包而直接执行解码器PLC处理进行丢包隐藏处理;相反,如果重传次数上限值为3,则代表该音频帧非常重要,如果接收端反馈该音频帧丢失则需要启动ARQ重传,而且可以最大重传3次或者连续重发3次的方式,以确保该音频帧尽可能到达接收方。
如图13中,预测得到4帧音频信号各自对应的重要度参数分别为:0.1、0.2、0.5、0.2,所属的重要度参数区间分别为:[0,0.2)、[0.2,0.5)、[0.5,0.8)、[0.2,0.5);根据上述方式确定,这4帧音频信号各自对应的重传次数上限分别为:0、1、2、1。
基于确定的重传次数上限进行压缩包缓存,在通过接收端收包、丢包检测,确定相应音频帧丢包的情况下,即可根据缓存,结合对应的重传次数上限进行丢包重传,具体参见上述所列举的传输方式一或传输方式二,重复之处不再赘述。
在上述实施方式中,将注意力神经网络所得的音频帧重要性分级用于音频丢包重传策略,采用深度学习注意力机制实现音频丢包重传决策,一方面摆脱了相关的基于先验逻辑判断音频关键帧的方式,而完全通过人工智能的方法进行替换,辨识出音频帧的关键程度,进而作用于丢包重传决策之中,实现了更加科学合理的音频传输控制。
以及,相比相关技术中机械式的ARQ方案,本申请并非是对所有数据包都是同等对待,只要检测到丢包则反馈发送端进行重发,而是结合各帧音频信号的重要性分级,对重要性高的音频信号进行更多更可靠的丢包重传,对重要性低的音频信号进行更少甚至不进行丢包重传,从而可以大量节省了传输带宽资源和ARQ额外时延,综合权衡了音频传输的可靠性和性能。
场景三:多链路传输场景。
音频数据的多链路传输决策方案是指在音频通信或传输过程中,利用多个链路(网络路径)同时传输音频数据,以提高传输性能和可靠性的技术方案。这种方案可以通过同时利用多个网络链路的带宽和冗余,减少音频丢包、延迟和抖动,提供更稳定和高质量的音频传输。
在相关技术中,多链路传输决策方案主要针对多链路场景,即目前存在多条可用传输链路的场景下,多链路传输决策方法有如下三种:
(一)多链路全开方案,即无差别地将所有数据通过多条链路进行传输。
该方案同时启动多条可用链路进行数据传输,会导致高带宽消耗,是一种低效高成本的方案,可能会增加系统的复杂性和带宽消耗。
(二)纯链路切换方案。
在业务进行过程中,根据业务描述的技术指标(例如接收丢包率)定义当前传输链路质量评分,若当前传输链路不满足业务要求则切换到其它链路。
该方案在检测到当前传输链路异常时切换到其它新链路,然而出现异常时可能已经给接收方造成不良听觉体验,而切换的新链路也无法确保其传输可靠性优于当前传输链路,所以这种方案具有明显弊端。
(三)基于语音关键性的多链路选取方案。
具体的,基于预定义的一些语音关键性定义规则对待发送音频数据进行区分,通过对语音关键性分析不同关键性帧选取不同链路传输,例如对关键性高的数据通过多链路方式进行传输以确保关键数据的传输可靠性。
该方案中语音关键性的量化计算完全基于经验定义,量化客观性和标准性不一定准确。
有鉴于此,本申请提出了一种能够区分出音频帧的重要等级,根据音频帧的重要性差异优化每一帧数据的传输链路的方案。基于注意力神经网络对输入多帧信号进行重要度参数分析,而重要度参数与MOS贡献度匹配,通过重要度参数划分不同语音重要级别,结合接收方丢包情况,对不同重要级别不同的音频帧采用不一样的多链路传输策略,以确保重要音频帧得到更好的传输可靠保障,从而保证通话音质。
具体的,目标传输策略包括多链路传输策略,目标传输参数包括目标传输链路时,本申请中步骤S821的一种可选的实施方式如下,包括步骤S8211c~S8213c(图8未示出):
S8211c:预先划分多个重要度参数区间。
S8212c:根据一帧音频信号的重要度参数所属的重要度参数区间,匹配一帧音频信号的重要级别。
同上述S8211b~S8212b部分类似,根据注意力神经网络输出重要度参数,可以划分音频帧重要级别,具体的,可以通过定义重要度参数区间匹配音频帧重要级别值,例如重要级别共有3级,最高重要级别(1级)对应的重要度参数区间为[0.7,1.0],次高重要级别(2级)对应的重要度参数范围为[0.3,0.7),最低重要级别(3级)对应的重要度参数范围为[0,0.3)。
需要说明的是,上述所列举的重要度参数区间与重要级别的映射关系只是简单举例,在此不再一一赘述。
此外,除了根据重要度参数区间匹配音频帧重要级别的方式外,也可直接设置一个或多个级别阈值,该阈值具体表示的是重要度参数阈值。
例如,重要级别共有3级时,可设置2个级别阈值,分别为0.7、0.3。其中,若某一帧音频信号对应的重要度参数不低于0.7,则该帧对应的重要级别为最高重要级别(1级);若某一帧音频信号对应的重要度参数低于0.7,但不低于0.3,则该帧对应的重要级别为次高重要级别(2级);若某一帧音频信号对应的重要度参数低于0.3,则该帧对应的重要级别为较低重要级别(3级);等等。
需要说明的是,上述所列举的根据注意力神经网络输出重要度参数,划分音频帧重要级别的方式只是简单举例,除此之外其他划分方式同样适用于本申请实施例,基本思想即为重要度参数高的音频帧,其对应的重要级别也高,在此不再重复赘述。
S8213c:按照一帧音频信号所属的重要级别,确定一帧音频信号对应的至少一条目标传输链路。
在本申请实施例中,划分好各音频帧的重要级别后,即可为不同重要级别的音频帧,设置不同的目标传输链路。
具体的,在设置不同的目标传输链路时,可考虑传输链路的数量与质量中的至少一种。不同重要级别的音频帧将通过不同的多链路发送策略进行发送。
例如:重要级别1级音频帧将通过当前传输链路和一条高质量(经过周期性丢包检测其丢包率和收包时延都在较好状态)传输链路进行双保险传输,以确保其必然到达接收端;重要级别2级音频帧将切换到一条高质量传输链路进行传输,以提高该级别音频帧到达接收端的成功率;重要级别3级音频帧将不做多链路或链路切换处理,沿用现有链路进行传输,其丢包对接收端的音质影响不大。
其中,若不存在当前传输链路时,再选择一条传输链路即可。
在上述实施方式中,结合重要度参数所属的重要级别,对不同重要级别的音频信号选择不同数量,不同质量的传输链路。例如,对重要度高的音频信号,需要确保其数据传输的可靠性,减少接收方收听的音质损伤,因此在传输链路出现丢包时,可将该类音频信号通过多链路或高质量链路进行传输,从而确保数据传输可靠到达接收方,对于重要性低的音频信号,可以用普通单链路或质量要求不高的链路进行传输,减少带宽资源过度消耗、有效控制运营成本。
此外需要说明的是,在根据目标传输策略和目标传输参数,对一帧音频信号进行传输控制之前,还可进行一定的检测,考虑目前是否需要启动多链路传输策略,以避免不必要的带宽消耗。一种可选的实施方式如下:
在目标接收端进行收包、丢包检测,确定当前的丢包率和/或收包时延;
若确定目标接收端对应的丢包率或收包时延,超过相应的阈值,则启动多链路传输策略。
需要说明的是,本申请实施例中的收包、丢包检测可以是基于待处理音频数据进行传输确定的,也可以是基于测试样本(用于测试的音频数据)进行传输确定的,在此不做具体限定。
例如:在当前传输链路下对端接收方检测到丢包率达到一定门限以上(例如丢包率20%,该门限值可根据实际需求或经验灵活设置),或这收包时延超过一定门限(例如150ms,该门限值可根据实际需求或经验灵活设置),则需要启动多链路传输策略,根据发送数据包的重要级别进行差异化多链路传输。
进而,在执行步骤S822时,一种可选的实施方式如下:
对于某帧音频信号而言,通过至少一条目标传输链路,将一帧音频信号传输至目标接收端。
例如,对于重要级别1级的音频帧,其对应的目标传输链路有两条,一条为当前传输链路0,一条为高质量传输链路1;重要级别2级的音频帧,其对应的目标传输链路为一条,如高质量传输链路2;重要级别3级的音频帧,其对应的目标传输链路为一条,如当前传输链路0。
如图14所示,其为本申请实施例中的一种多链路传输的逻辑示意图。以VoIP应用场景为例,发送端进行音频信号采集,音频信号经过音频特征(如功率谱特征)提取处理,历史N帧(例如N=4)音频信号的音频特征将被缓存作为注意力神经网络的输入,注意力神经网络输出为输入N帧音频信号的重要度参数,
本申请可以根据重要度参数定义划分各音频帧的重要级别,结合接收方检测到的丢包率和收包时延统计结果,对于重要级别高的音频帧通过高可靠性的多链路发送策略执行,相反,重要级别低的音频帧通过满足基本传输可靠性条件的常规链路或低成本链路进行发送。
如图14中,预测得到4帧音频信号各自对应的重要度参数分别为:0.1、0.2、0.5、0.2,所属的重要度参数区间分别为:[0,0.3)、[0,0.3)、[0.3,0.7)、[0,0.3);根据上述方式确定,这4帧音频信号各自对应的目标传输链路分别为:当前传输链路0、当前传输链路0、高质量传输链路1、当前传输链路0。
在实际工程中,上面提到的不同传输链路可能对应不同的传输单价成本,高质量链路通常传输单价比较高,鉴于运营成本考虑,本申请通过数据包重要性判断,可以合理利用网络资源进行数据传输。
在上述实施方式中,将注意力神经网络所得的音频帧重要性分级用于传输链路选取策略,采用深度学习注意力机制实现音频多链路传输决策,一方面,摆脱了相关的基于先验逻辑判断音频关键帧的方式,而完全通过人工智能的方法进行替换,辨识出音频帧的关键程度,进而作用于多链路传输决策之中,实现了更加科学合理的音频传输控制。
另一方面,相比相关技术中的全链路传输大量节省了传输带宽资源,相比相关技术中的链路切换方案,本申请能更即时有效地确保数据传输的稳定性和可靠性。所以本申请对提升音频数据传输质量、降低传输带宽消耗,从而降低运营成本有很积极的作用。
场景四:多发传输场景。
音频多发传输机制是一种是基于传输网络的丢包状态进行反馈控制冗余多发倍数来实现抗丢包的数据传输模式。与传统的单发传输方式相比,音频多发传输机制通过发送丢包请求来触发重传机制。发送端可以根据请求重新发送丢失的音频数据。这种机制可以在一定程度上抵消丢包带来的影响。需要注意的是,音频多发传输机制需要在发送者和接收方之间进行协同操作和数据同步,以确保音频数据的正确接收和合并。
相关技术中的多发传输机制主要是基于传输网络的丢包状态进行反馈控制冗余多发倍数来实现抗丢包数据传输的,例如:发送端的录音信号经过编码后生成原始码流,原始码流被复制成n份,并按照一定的排列顺序和组合后发送到接收端,如图15所示,接收端根据当前数据的包序号顺序进行收包,期间过滤掉接收到的重复数据包,去重后的语音码流经过解码后生成最终的声音信号。为了达到抗丢包效果,冗余多发的倍数n是基于接收端反馈的接收丢包状态来调节的,例如:在高丢包率下的n值较大,而低丢包率下的n值就较小。
但是,在该方式下,当丢包率较大的时候为了抵抗丢包需要发送更多的数据包,所需网络带宽会突变为原始的n倍,随着网络丢包越严重,n值越大,从而导致网络更加拥塞而丢包,达不到预期效果,所以如何更有效地利用带宽是亟待解决的问题。
此外,也有基于语音关键性级别修正原始多发倍数的方案,让关键性级别高的音频帧配置更多的多发倍数进行传输,以抵抗实际网络丢包,关键性级别低的音频帧配置较低的多发倍数或不做多发进行传输,以避免不必要的带宽消耗。
但是,在该方式下,语音关键性的定义是基于一些经验总结得到的,存在定义不完备的情况,导致关键性定义存在偏差的问题。
并且,网络带宽和延迟等因素也会对音频多发传输的性能产生影响,因此,亟需一种技术方案能够区分出音频帧的重要等级,根据音频帧的重要性差异对每一帧数据的多发传输机制作出适应性优化。
有鉴于此,本申请采用人工智能的方法,基于注意力神经网络结合音频客观质量评测工具模拟丢包训练,最终输出不同信号帧的重要度参数,重要度参数越大则代表该帧的重要级别更高,因此可以基于重要度参数重新修改多发参数。
具体的,目标传输策略包括多发传输策略,目标传输参数包括目标多发倍数时,本申请中步骤S821的一种可选的实施方式如下,包括步骤S8211d~S8212d(图8未示出):
S8211d:根据一帧音频信号的重要度参数,映射得到一帧音频信号对应的,针对原始多发倍数的第一修正系数。
其中,重要度参数与第一修正系数呈正相关;原始多发倍数是根据当前传输网络的丢包率确定的。
例如,原始多发倍数可采用相关技术中所列举的方式确定,如在高丢包率下的,原始多发倍数n值较大,而低丢包率下的原始多发倍数n值就较小。
具体而言,正相关即表示:重要度参数越大(这里指重要程度越高),则第一修正系数越大;相反,重要度参数越小(这里指重要程度越低),则第一修正系数越小。
在本申请实施例中,根据重要度参数映射到多发倍数修正系数时,映射方法可以通过线性比例映射或非线性映射或查映射表等方式来实现。
仍以上述所列举的重要度参数的取值为0~1为例,假设有4帧音频信号,在采用图4所示的注意力神经网络进行预测的情况下,这4帧音频信号的重要度参数之和应为1,例如,第一帧音频信号重要度参数为0.1,第二帧音频信号重要度参数为0.2,第三帧音频信号重要度参数为0.5,第四帧音频信号重要度参数为0.2。
具体的,根据重要度参数匹配第一修正系数时,考虑到重要度参数与第一修正系数呈正相关。例如匹配方式为:第一修正系数为重要度参数成正比;再比如,根据一定的系数对重要度参数进行映射获得第一修正系数;等等。
修正系数范围为0~1.5(可根据经验或实际需求设定),这里重要度参数越高则修正系数值越大;以根据一定的系数(如2)对重要度参数进行线性比例映射获得第一修正系数为例,则:
第一帧音频信号重要度参数为0.1,其对应的第一修正系数为0.2;
第二帧音频信号重要度参数为0.2,其对应的第一修正系数为0.4;
第三帧音频信号重要度参数为0.5,其对应的第一修正系数为1;
第四帧音频信号重要度参数为0.2,其对应的第一修正系数为0.2。
需要说明的是,除上述所列举的匹配第一修正系数的方式外,其他匹配方式适用于本申请实施例,在此不再一一赘述。
S8212d:根据第一修正系数对原始多发倍数进行修正,确定一帧音频信号对应的第一目标多发倍数。
在执行步骤S8212d时,一种可选的实施方式为:对于一帧音频信号,将该帧音频信号所对应的第一修正系数与原始多发倍数的乘积,作为该帧音频信号的第一目标多发倍数。
进而,在执行步骤S822时,一种可选的实施方式如下:
根据第一目标多发倍数,对一帧音频信号进行数据发送或多发处理,并传输至目标接收端。
也即,修正系数将和原始方案得到的当前帧多发倍数相乘,例如原始多发倍数为2,而第一修正系数为0.5,则最终的目标多发倍数为2*0.5 = 1。这里多发倍数修正系数与该音频帧的重要程度相关,多发倍数修正系数值越大代表该音频帧重要程度越高,例如多发倍数修正系数为0,即该音频帧属于非重要的内容,无需进行多发传输处理,接收方不会接收到该音频帧的多发包,在出现丢包时直接利用解码器PLC处理进行丢包隐藏处理;相反,如果修正系数为1.5,则代表该音频帧非常重要,需要以当前帧原多发倍数乘以1.5倍的结果进行多发传输,以确保该音频帧尽可能到达接收方。
在上述实施方式中,根据重要度参数映射得到多发倍数修正系数,该方式下,对于重要性高的音频帧,设定更高的多发倍数修正系数,以确保其数据传输的可靠性,减少接收方收听的音质损伤,而对于重要性低的音频帧,可以不做多发传输或降低多发参数,避免非重要数据的消耗过多带宽资源。
此外,这里需要说明的,是修正系数的取值区间或取值也是可以根据传输网络的带宽而调整的,一种可选的实施方式如下:
检测到当前传输网络的带宽受限时,对第一修正系数进行调整,获得第二修正系数;进而,根据第二修正系数,对原始多发倍数进行修正,确定一帧音频信号对应的第二目标多发倍数。
其中,第二修正系数小于第一修正系数。
例如,当前传输网络带宽受限,表现为并发数据包增多或数据包尺寸较大时丢包概率变大,这种情况下多发倍数越高不利于数据的有效传输,丢包问题会加剧,所以修正系数的取值最大值需要调低。
在本申请实施例中,带宽受限的情况下调整第一修正系数前,可做一些额外的分析,如检测到当前传输网络的带宽受限时,分析第一修正系数是否为目标修正系数,若是,则对第一修正系数进行调整,获得第二修正系数。
其中,目标修正系数则是指修正系数的取值最大值,比如对于某一帧音频信号而言,若通过上述方式确定该帧音频信号所对应的第一修正系数为修正系数的取值最大值,则需降低该第一修正系数,例如从正常情况下的最大值1.5,变为0.7,这样多发包数会得到有效控制,避免带宽受限网络触发严重阻塞和丢包。
此外,除上述所列举的仅在第一修正系数为目标修正系数的情况下,对第一修正系数进行调整外,还可在检测到当前传输网络的带宽受限时,分析第一修正系数是否超过某预设的系数阈值,若第一修正系数超过该系数阈值,则对第一修正系数进行调整,获得第二修正系数,以避免带宽受限网络触发严重阻塞和丢包。
例如,设置该阈值即为第二修正系数,如上述所列举的0.7,则当第一修正系数超过0.7的情况下,则需降低该第一修正系数,例如从正常情况下的1.5,变为0.7;再比如从正常情况下的1,变为0.7等等。
或者,除上述所列举的方式外,还可在检测到当前传输网络的带宽受限时,不做额外的分析,直接对第一修正系数进行调整,如减去一个固定系数值,从而获得第二修正系数。比如固定系数值为0.5,则从正常情况下的1.5,变为1;再比如从正常情况下的1,变为0.5等等;再比如,不减去固定系数值,而是根据当前第一修正系数的大小,考虑减多少系数值,比如第一修正系数越大,则减的越多,第一修正系数越小,则减的越少;例如从正常情况下的1.5,减0.5,变为1;再比如从正常情况下的1,减0.3,变为0.7;等等。
在上述实施方式中,本申请能够及时调整修正系数的取值区间或取值,在当前传输网络带宽受限的情况下,通过调低一些符合条件的修正系数,可以减少丢包,提高数据传输的有效性,使得音频数据的传输更好地适配网络状况,确保数据传输的可靠性。
需要说明的是,任何一种在检测到当前传输网络的带宽受限时,降低第一修正系数的方式都适用于本申请实施例,在此不做具体限定。
进而,在执行步骤S822时,一种可选的实施方式如下:
根据第二目标多发倍数,对一帧音频信号进行数据发送或多发处理,并传输至目标接收端。
在本申请实施例中,可通过如下方式判断当前传输网络带宽是否受限:
在目标接收端进行收包、丢包检测,确定当前的丢包率和/或收包时延;
若确定目标接收端对应的丢包率或收包时延,超过相应的阈值,则确定当前传输网络带宽受限。
具体的,在当前传输链路下对端接收方检测到丢包率达到一定门限以上(例如丢包率20%,该门限值可根据实际需求或经验灵活设置),或这收包时延超过一定门限(例如150ms,该门限值可根据实际需求或经验灵活设置),则需要调整修正系数的上限值。
此外需要说明的是,本申请实施例中的收包、丢包检测可以是基于待处理音频数据进行传输确定的,也可以是基于测试样本(用于测试的音频数据)进行传输确定的,在此不做具体限定。
如图16所示,其为本申请实施例中的一种音频多发传输的逻辑示意图。以VoIP应用场景为例,发送端进行音频信号采集,音频信号经过音频特征(如功率谱特征)提取处理,历史N帧(例如N=4)音频信号的音频特征将被缓存作为注意力神经网络的输入,注意力神经网络输出为输入N帧音频信号的重要度参数。本申请中,该重要度参数与第一修正系数有一定的映射关系,结合该映射关系,则可确定出N帧音频信号各自对应的第一修正系数。再结合原始多发倍数和第一修正系数,即可确定出N帧音频信号各自对应的目标多发倍数。
如图16中,预测得到4帧音频信号各自对应的重要度参数分别为:0.1、0.2、0.5、0.2,经过上述所列举的一种线性比例映射方式映射后,可获得4帧音频信号各自对应的多发倍数修正系数(即本文中的第一修正系数),分别为:0.2、0.4、1、0.4。
在实际应用过程中,各帧的多发倍数修正系数和音频编码后的压缩包是一起缓存在缓冲区的,发送时会从缓冲区内读取相应压缩数据包和对应的多发倍数修正系数,通过修改当前多发倍数后对相应音频帧的数据包进行多发处理。
例如,若原始多发倍数为2,则这4帧音频信号各自对应的目标多发倍数分别为:0.4、0.8、2、0.8,则通过修正后的目标多发倍数后对相应音频帧的数据包进行多发处理。
接收端在接收数据包同时会根据数据包内携带的时戳信息检测是否存在丢包,并且统计出一定时间周期内(例如2秒)的丢包个数,进而计算出丢包率,丢包率将反馈到发送端,发送端根据丢包率按原有的多发策略得到原始多发倍数,该倍数会按上述方法通过多发倍数修正系数进行修正,并用于最终的多发处理。接收端收到的压缩数据包经过音频解码后播放出声音。
在上述实施方式中,将注意力神经网络所得的音频帧重要性分级用于音频多发传输方案,采用注意力神经网络替代基于经验定义的语音关键性的定义方法,通过大量样本模拟丢包和PESQ测试实验结果参与神经网络训练,让注意力神经网络输出的重要度参数与音频帧重要性相匹配,进而用于修正当多发传输倍数,摆脱了相关的基于先验逻辑判断音频关键帧的方式,而完全通过人工智能的方法进行替换,辨识出音频帧的关键程度,进而作用于多发传输决策之中,实现了更加科学合理的音频传输控制。
此外,本申请以音频帧为处理粒度,通过对不同重要度的音频帧做不同复杂度的传输控制,解决了相关音频多发传输方案对带宽的极大消耗,尤其在带宽受限网络下能更好地适配网络状况,确保数据传输的可靠性。
场景五:前向纠错编码场景。
FEC是一种在数据传输过程中添加冗余信息,以便在接收端能够纠正和恢复传输中出现的错误的编码技术。它是一种容错技术,用于提高数据传输的可靠性和抗干扰性能,具体的,通过在数据传输之前,发送方对数据进行编码,生成的冗余数据和原始数据一同发送到接收方,接收方使用收到的冗余数据进行错误检测和纠正错误的数据,从而提高数据传输的可靠性。
里德-所罗门码(RS,Reed-Solomon)编码是前向纠错编码之一,其处理过程包括编码和解码两个步骤:编码和解码。本申请提到的RS编解码是用于数据包级传输应用,例如VoIP应用,所以这里的RS为包级RS(即PRS)编解码。
如图17A所示,其为相关技术中的一种包级RS编码过程。假设原始编码后得到k个编码数据包,为了包级RS编码,需要将所有输入数据包统一长度,对长度不足的数据包需要填0处理(解码时对应原始数据包长度把填充的0去掉即可),将k个数据包中的每个相应位置的比特数值逐一取出当作长度为k的多项式,如果数据包最大长度(最大比特数)为L,即有L个长度为k的多项式将进行rs编码;进而,选择一个n阶不可约多项式作为生成多项式G(x),生成多项式的次数为n-k;通过原始数据D(x)和生成多项式G(x)得到冗余校验码C(x);最终原始数据包D(x)和冗余校验码C(x)数据包,一起或分开打包后发送到接收端。
如图17B所示,其为相关技术中的一种包级RS解码过程。具体的,图17B为PRS在无线通话中的应用,语音编码器把采集到的语音信号进行编码,编码后的码流数据,按照一定包数的数据块通过PRS编码器跟进接收端反馈的丢包数预测器配置PRS编码参数,PRS编码器编码得到冗余校验数据包,并和原始编码数据包一起发送到接收端,接收端的PRS解码器通过收到的部分原始编码数据包和冗余校验数据包对丢失的原始编码数据包进行恢复还原,最后收到的原始编码数据和恢复后的原始编码数据经过语音解码器进行解码,解码后的声音信号通过播放器输出。
上述前向纠错包级RS编解码方案,其用于前向纠错编码的输入数据包通常是当前帧以及其之前的k-1帧,输出为n帧,其中n-k帧为冗余帧,k帧为原始帧,(n-k)/n比值越大其抗网络丢包能力越大,同时对带宽要求更高,但是带宽消耗增加又反过来对传输网络的可靠性带来更大挑战,导致丢包率更大,尤其是带宽受限网络下的应用,带宽增加对传输网络质量影响更为敏感,所以在带宽受限网络下现有前向纠错方案会带来丢包问题加剧,反而影响到收听音质。
此外,也有基于语音关键性定义的前向纠错编码方式,如对历史前N帧进行语音关键值排序,取最大K个作为前向纠错输入数据启动前向纠错编码;再或者,设定语音关键值门限,如果当前帧语音关键值超过该门限则被纳入前向纠错编码,当前前向纠错编码组达到预设音频帧数时启动前向纠错编码。
但是,这种语音关键性量化定义缺乏完备性,容易出现实际语音内容重要性存在差距,但关键性量化值相同无法有效区分的情况。
因此,亟需一种技术方案能够区分出音频帧的重要等级,根据音频帧的重要性差异对每一帧数据的前向纠错编码方案进行复杂度调整。
有鉴于此,本申请借助人工智能技术,提出了一种基于注意力神经网络的前向纠错技术,该方法通过对历史最近N帧音频信号进行注意力神经网络处理,输出这N帧各自的重要度参数,基于重要度参数门限判断N帧中的重要音频帧,并且只对重要音频帧数据进行前向纠错编码处理,并根据接收端丢包统计设置前向纠错编码冗余率,当重要音频帧出现丢包时,接收端通过前向纠错解码还原丢失的重要音频帧数据,同时避免了现有前向纠错技术带来传输带宽极大消耗问题,对带宽受限网络环境也有较好适应。
具体的,目标传输策略包括前向纠错编码策略,目标传输参数包括目标冗余率时,本申请中步骤S821的一种可选的实施方式如下,包括步骤S8211e~S8213e(图8未示出):
S8211e:将一帧音频信号的重要度参数与预设参数阈值进行比较。
S8212e:若重要度参数大于预设参数阈值,则将一帧音频信号作为重要音频信号。
对于一帧音频信号而言,在确定该帧音频信号的重要度参数之后,即可结合预设的重要度参数门限值(即本文中的预设参数阈值,可根据经验或实际需求灵活设置),分析该帧音频信号是否为重要音频信号。
对于连续的N帧音频信号中的每帧音频信号,都可通过该方式分析其是否为重要音频信号,进而,即可确定出这N帧音频信号中重要音频信号的数量。
例如,重要度参数门限值THRD为0.4,N=4时,假设预测得到4帧音频信号各自对应的重要度参数分别为:0.1、0.2、0.5、0.2,则表示这4帧中,重要音频信号为第三帧。
进而,执行后续操作:
S8213e:根据多帧音频信号中重要音频信号的数量,以及目标接收端对应的丢包率,确定一帧音频信号对应的目标冗余率。
其中,该目标冗余率为前向纠错编码冗余率,在本申请实施例中,用于对重要音频信号进行前向纠错编码处理,也即,本申请中仅对重要音频信号进行前向纠错编码处理。
在执行步骤S8213e时,一种可选的实施方式为:结合当前统计的丢包水平和前向纠错编码输入帧的重要度参数综合值确定前向纠错编码冗余率。
例如下述表2,为本申请实施例中预设的一种前向纠错编码冗余率配置表,以N=4为例,其中重要音频帧数即多帧音频信号中重要音频信号的数量,目标冗余率和该数量以及当前目标接收端测得的丢包率都相关。
表2 前向纠错编码冗余率配置表(N=4)
/>
上述表2所示,当N中的重要音频帧数为0,即N帧中不存在重要音频帧,所以不需要做前向纠错编码,直接发送原始N帧数据;当N帧中重要音频帧数为1,随着接收端丢包率增加时,这里可以直接将重要音频帧按冗余率值多次发送,以提升丢包场景下接收方对该帧的接收成功率。当N帧中重要音频帧数大于1,随着接收端丢包率增加时,重要音频帧前向纠错编码冗余率值增加,以提升丢包场景下接收方对该帧的接收成功率。
在上述实施方式中,结合重要度参数和阈值,筛选出N帧音频信号中的重要音频信号,对于这些重要音频信号,会被列入前向纠错编码输入数据组,而非重要的音频帧,不会被列入前向纠错编码输入数据组,同时结合当前统计的丢包水平和前向纠错编码输入帧的重要度参数综合值确定前向纠错编码冗余率,以确保重要数据帧能尽可能成功到达接收端,减少音质的丢包损伤,也避免了过多的无效带宽消耗。
需要说明的是,本申请实施例中的收包、丢包检测可以是基于待处理音频数据进行传输确定的,也可以是基于测试样本(用于测试的音频数据)进行传输确定的,在此不做具体限定。
如图18所示,其为本申请实施例中的一种前向纠错编码的逻辑示意图。以VoIP应用场景为例,发送端进行音频信号采集,音频信号经过音频特征(如功率谱特征)提取处理,历史N帧(例如N=4)音频信号的音频特征将被缓存作为注意力神经网络的输入,注意力神经网络输出为输入N帧音频信号的重要度参数。
在本申请实施例中,根据重要度参数门限值THRD判决N帧中的重要音频帧,即重要度参数大于THRD的音频帧才是重要音频帧。统计出N 帧中满足条件的音频帧数,并结合接收端的丢包率对前向纠错的冗余率进行配置,该冗余率可以通过预设表格规则进行配置。
如图18中,预测得到4帧音频信号各自对应的重要度参数分别为:0.1、0.2、0.5、0.2,假设重要度参数门限值THRD为0.3,则重要音频帧为第三帧,即重要度参数为0.5的音频帧为重要音频帧。
此外,接收端通过接收来自发送端的数据包,并根据数据包中携带的时戳信息判断是否存在丢包帧,并在统计一定时间周期内出现丢包帧个数,进而计算出丢包率反馈到发送方,发送方根据重要音频帧的数量以及丢包率,结合预设的冗余率配置表(例如表2),则可确定目标冗余率(例如丢包率为15%时,可确定目标冗余率为100%),而后基于确定的目标冗余率对重要音频帧进行前向纠错编码及发送。
接收方则通过前向纠错解码恢复丢失的重要音频帧数据,并经过音频解码器进行丢包隐藏处理,而一些重要性低的音频帧(简称非重要音频帧)丢包后会通过解码器自带的PLC处理修复部分信号,由于非重要音频帧对音质影响并不大,例如静音帧、噪声帧等,所以无需通过前向纠错方式完美恢复丢失的非重要音频帧,通过这种方式让更多的前向纠错冗余资源聚焦在重要音频帧的传输可靠性保障上,也有效改善带宽受限网络下的抗丢包能力。
在上述实施方式中,将注意力神经网络所得的音频帧重要性分级用于音频前向纠错编码策略,通过注意力神经网络辨识N帧音频信号中的重要音频帧,进而对重要音频帧进行前向纠错编码和传输可靠性保障,一方面,摆脱了相关的基于先验逻辑判断音频关键帧的方式,而完全通过人工智能的方法进行替换,辨识出音频帧的重要性,实现了更加科学合理的音频传输控制。
另一方面,相比相关技术中的前向纠错方案,本申请只对重要音频帧数据进行前向纠错编码处理,并根据接收端丢包统计设置前向纠错编码冗余率,当重要音频帧出现丢包时,接收端通过前向纠错解码还原丢失的重要音频帧数据,可以大量节省了传输带宽资源。
除上述所列举的几种音频传输策略外,其他音频传输策略同样适用于本申请实施例,在此不再一一赘述。
综上,本申请基于注意力神经网络的音频帧重要性分级处理系统,根据不同的重要度参数对不同帧信号做复杂度不同的计算处理,达到节省存储、带宽等硬件资源,兼顾应用需求、网络环境和资源限制等因素均衡音频质量和计算成本等有益效果,在保持较高主观体验收益的情况下兼顾经济价值,具体到每一种实施方案,可用于音视频通话、直播、广播、游戏等业务,应用范围非常广泛,有较好的经济价值和主观体验收益。
基于相同的发明构思,本申请实施例还提供一种音频数据的处理装置。如图19所示,其为音频数据的处理装置1900的结构示意图,可以包括:
预测单元1901,用于针对包含多帧音频信号的待处理音频数据,通过已训练的预测模型,预测多帧音频信号各自的重要度参数;其中,预测模型是根据对样本音频数据进行模拟丢包后获得的失真音频数据训练得到的,模拟丢包时丢失的数据包是基于样本音频数据中样本音频信号的重要度参数确定的;
处理单元1902,用于对于每帧音频信号,分别执行以下操作:
根据一帧音频信号的重要度参数,确定采用目标传输策略时一帧音频信号的目标传输参数;目标传输参数为:在传输过程中,控制一帧音频信号传输质量的参数;
根据目标传输策略和目标传输参数,对一帧音频信号进行传输控制。
可选的,预测模型为注意力神经网络,注意力神经网络是根据样本音频数据进行迭代训练得到;装置还包括:
模型训练单元1903,用于在每次迭代训练时执行如下过程:
通过待训练的注意力神经网络,预测样本音频数据中连续的多帧样本音频信号各自的重要度参数;
对于每帧样本音频信号,基于样本音频信号的重要度参数,设置样本音频信号的模拟丢包概率;重要度参数与模拟丢包概率呈负相关;
基于各模拟丢包概率,对多帧样本音频信号进行模拟丢包;
根据模拟丢包后获得的失真音频数据,对待训练的注意力神经网络进行参数调整。
可选的,模型训练单元1903具体用于:
对于每帧样本音频信号,分别执行以下操作:
若一帧样本音频信号的模拟丢包概率大于预设概率阈值,则对一帧样本音频信号的数据包进行模拟丢包;
若一帧样本音频信号的模拟丢包概率不大于预设概率阈值,则保留一帧样本音频信号的数据包。
可选的,模型训练单元1903具体用于:
通过音频解码器对失真音频数据进行丢包隐藏处理,获得处理后音频信号;
对处理后音频信号和原始的多帧样本音频信号进行语音质量评估,获得平均质量评估值;平均质量评估值用于表示处理后音频信号与原始的多帧样本音频信号之间的差异;
根据基于平均质量评估值和丢包个数构建的损失函数,对待训练的注意力神经网络进行参数调整;丢包个数表示对多帧样本音频信号进行模拟丢包时,所丢失的数据包的数量。
可选的,模型训练单元1903具体用于:
将丢包个数输入预设的单调递增函数,获得丢包个数损失值;
将平均质量评估值输入预设的单调递减函数,获得质量评估损失值;
基于丢包个数损失值和质量评估损失值之和,确定损失函数;其中,损失函数与平均质量评估值呈正相关,损失函数与丢包个数呈负相关。
可选的,目标传输策略包括编码码率控制策略,目标传输参数包括目标编码码率;则处理单元1902具体用于:
基于一帧音频信号的重要度参数,确定一帧音频信号的码率调整系数;重要度参数与码率调整系数呈正相关;
基于预设编码码率以及码率调整系数,确定一帧音频信号的目标编码码率;预设编码码率表示:用于控制多帧音频信号整体压缩目标的平均编码码率。
可选的,目标传输策略包括丢包重传策略,目标传输参数包括重传次数上限;则处理单元1902具体用于:
预先划分多个重要度参数区间;
根据一帧音频信号的重要度参数所属的重要度参数区间,匹配一帧音频信号的重要级别;
按照一帧音频信号所属的重要级别,确定一帧音频信号的重传次数上限M;M为非负整数;重传次数上限和重要级别呈正相关。
可选的,处理单元1902具体用于执行如下至少一种操作:
对于一帧音频信号,确定一帧音频信号丢包后,将一帧音频信号连续重传M次;
对于一帧音频信号,确定一帧音频信号丢包后,将一帧音频信号进行一次重传,直至一帧音频信号被成功接收或一帧音频信号的重传次数达到M次。
可选的,目标传输策略包括多链路传输策略,目标传输参数包括目标传输链路;则处理单元1902具体用于:
预先划分多个重要度参数区间;
根据一帧音频信号的重要度参数所属的重要度参数区间,匹配一帧音频信号的重要级别;
按照一帧音频信号所属的重要级别,确定一帧音频信号对应的至少一条目标传输链路。
可选的,处理单元1902还用于:
在根据目标传输策略和目标传输参数,对一帧音频信号进行传输控制之前,确定目标接收端对应的丢包率或收包时延,超过相应的阈值时,启动多链路传输策略;
处理单元1902具体用于:
通过至少一条目标传输链路,将一帧音频信号传输至目标接收端。
可选的,目标传输策略包括多发传输策略,目标传输参数包括目标多发倍数;则处理单元1902还用于:
根据一帧音频信号的重要度参数,映射得到一帧音频信号对应的,针对原始多发倍数的第一修正系数;重要度参数与第一修正系数呈正相关;原始多发倍数是根据当前传输网络的丢包率确定的;
根据第一修正系数对原始多发倍数进行修正,确定一帧音频信号对应的第一目标多发倍数。
可选的,处理单元1902还用于:
检测到当前传输网络的带宽受限时,对第一修正系数进行调整,获得第二修正系数,第二修正系数小于第一修正系数;
根据第二修正系数,对原始多发倍数进行修正,确定一帧音频信号对应的第二目标多发倍数;
则处理单元1902具体用于:
根据第二目标多发倍数,对一帧音频信号进行数据发送或多发处理,并传输至目标接收端。
可选的,目标传输策略包括前向纠错编码策略,目标传输参数包括目标冗余率;则处理单元1902具体用于:
将一帧音频信号的重要度参数与预设参数阈值进行比较;若重要度参数大于预设参数阈值,则将一帧音频信号作为重要音频信号;
根据多帧音频信号中重要音频信号的数量,以及目标接收端对应的丢包率,确定一帧音频信号对应的目标冗余率;目标冗余率用于对重要音频信号进行前向纠错编码处理。
本申请提出的音频处理方法,是以每帧音频信号为粒度的,具体的,首先基于已训练的预测模型预测待处理音频数据中各帧音频信号各自对应的重要度参数,该重要度参数可以反映对应帧的音频信号对整个音频数据的音频质量的影响,重要度参数越高的音频帧发生丢失,对整个音频数据的音频质量的影响也就越大,反之,重要度参数越低的音频帧发生丢失,对整个音频数据的音频质量的影响也就越小。
结合上述思想,本申请提出了根据每帧音频的重要度,来单独确定该帧音频信号的目标传输参数,以实现对每帧音频单独的进行传输控制。该方式下,针对不同重要度的音频帧,可以做复杂度不同的计算处理,重点控制重要度高的音频帧的传输质量,而对于重要度低的音频帧,在传输时可不做额外处理或简单处理。这样,根据每帧音频的重要度,对每帧音频进行个性化的传输处理。相较于相关技术中,针对待处理音频数据的每帧音频,采用统一的处理方式来提高整体音频质量,本申请根据每帧音频的重要度进行分级处理,可以在一定程度上减少对非重要音频帧的处理力度,从而在保证音频质量的前提下,可以达到节省存储、带宽等硬件资源的效果。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
本申请实施例中,术语“模块”或“单元”是指有预定功能的计算机程序或计算机程序的一部分,并与其他相关部分一起工作以实现预定目标,并且可以通过使用软件、硬件(如处理电路或存储器)或其组合来全部或部分实现。同样的,一个处理器(或多个处理器或存储器)可以用来实现一个或多个模块或单元。此外,每个模块或单元都可以是包含该模块或单元功能的整体模块或单元的一部分。
在介绍了本申请示例性实施方式的音频数据的处理方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的电子设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
与上述方法实施例基于同一发明构思,本申请实施例中还提供了一种电子设备。在一种实施例中,该电子设备可以是服务器,如图1所示的服务器120。在该实施例中,电子设备的结构可以如图20所示,包括存储器2001,通讯模块2003以及一个或多个处理器2002。
存储器2001,用于存储处理器2002执行的计算机程序。存储器2001可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
存储器2001可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器2001也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者存储器2001是能够用于携带或存储具有指令或数据结构形式的期望的计算机程序并能够由计算机存取的任何其他介质,但不限于此。存储器2001可以是上述存储器的组合。
处理器2002,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器2002,用于调用存储器2001中存储的计算机程序时实现上述音频数据的处理方法。
通讯模块2003用于与终端设备和其他服务器进行通信。
本申请实施例中不限定上述存储器2001、通讯模块2003和处理器2002之间的具体连接介质。本申请实施例在图20中以存储器2001和处理器2002之间通过总线2004连接,总线2004在图20中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线2004可以分为地址总线、数据总线、控制总线等。为便于描述,图20中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。
存储器2001中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请实施例的音频数据的处理方法。处理器2002用于执行上述的音频数据的处理方法,如图8所示。
在另一种实施例中,电子设备也可以是其他电子设备,如图1所示的终端设备110。在该实施例中,电子设备的结构可以如图21所示,包括:通信组件2110、存储器2121、显示单元2130、摄像头2140、传感器2150、音频电路2160、蓝牙模块2170、处理器2180等部件。
通信组件2110用于与服务器进行通信。在一些实施例中,可以包括电路无线保真(Wireless Fidelity,WiFi)模块,WiFi模块属于短距离无线传输技术,电子设备通过WiFi模块可以帮助用户收发信息。
存储器2121可用于存储软件程序及数据。处理器2180通过运行存储在存储器2121的软件程序或数据,从而执行终端设备110的各种功能以及数据处理。存储器2121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器2121存储有使得终端设备110能运行的操作系统。本申请中存储器2121可以存储操作系统及各种应用程序,还可以存储执行本申请实施例音频数据的处理方法的计算机程序。
显示单元2130还可用于显示由用户输入的信息或提供给用户的信息以及终端设备110的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元2130可以包括设置在终端设备110正面的显示屏2132。其中,显示屏2132可以采用液晶显示器、发光二极管等形式来配置。显示单元2130可以用于显示本申请实施例中的应用操作界面,如图2A所列举的通话界面、图2B所列举的直播界面、图2C所列举的游戏界面等。
显示单元2130还可用于接收输入的数字或字符信息,产生与终端设备110的用户设置以及功能控制有关的信号输入,具体地,显示单元2130可以包括设置在终端设备110正面的触控屏2131,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
其中,触控屏2131可以覆盖在显示屏2132之上,也可以将触控屏2131与显示屏2132集成而实现终端设备110的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元2130可以显示应用程序以及对应的操作步骤。
摄像头2140可用于捕获静态图像,用户可以将摄像头2140拍摄的图像通过应用发布。摄像头2140可以是一个,也可以是多个。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器2180转换成数字图像信号。
终端设备还可以包括至少一种传感器2150,比如加速度传感器2151、距离传感器2152、指纹传感器2153、温度传感器2154。终端设备还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
音频电路2160、扬声器2161、传声器2162可提供用户与终端设备110之间的音频接口。音频电路2160可将接收到的音频数据转换后的电信号,传输到扬声器2161,由扬声器2161转换为声音信号输出。终端设备110还可配置音量按钮,用于调节声音信号的音量。另一方面,传声器2162将收集的声音信号转换为电信号,由音频电路2160接收后转换为音频数据,再将音频数据输出至通信组件2110以发送给比如另一终端设备110,或者将音频数据输出至存储器2121以便进一步处理。
蓝牙模块2170用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备可以通过蓝牙模块2170与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
处理器2180是终端设备的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器2121内的软件程序,以及调用存储在存储器2121内的数据,执行终端设备的各种功能和处理数据。在一些实施例中,处理器2180可包括一个或多个处理单元;处理器2180还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器2180中。本申请中处理器2180可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例的音频数据的处理方法。另外,处理器2180与显示单元2130耦接。
在一些可能的实施方式中,本申请提供的音频数据的处理方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在电子设备上运行时,计算机程序用于使电子设备执行本说明书上述描述的根据本申请各种示例性实施方式的音频数据的处理方法中的步骤,例如,电子设备可以执行如图8中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括计算机程序,并可以在电子设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的计算机程序,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。计算机程序可以完全地在用户电子设备上执行、部分地在用户电子设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务器上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用计算机程序的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序命令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序命令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的命令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序命令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的命令产生包括命令装置的制造品,该命令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序命令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的命令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (17)

1.一种音频数据的处理方法,其特征在于,所述方法包括:
针对包含多帧音频信号的待处理音频数据,通过已训练的预测模型,预测所述多帧音频信号各自的重要度参数;其中,所述重要度参数用于反映对应帧音频信号对整个音频数据的音频质量的影响程度;所述预测模型是根据对样本音频数据进行模拟丢包后获得的失真音频数据训练得到的,模拟丢包时丢失的数据包是:基于所述样本音频数据中样本音频信号的模拟丢包概率确定的;每帧样本音频信号的模拟丢包概率与重要度参数呈负相关;
对于每帧音频信号,分别执行以下操作:
根据一帧音频信号的重要度参数,确定采用目标传输策略时所述一帧音频信号的目标传输参数;所述目标传输策略是指:在传输过程中用于提高音频传输质量,以避免或减小传输时丢包所带来的影响的传输方法;所述目标传输参数为:在传输过程中,控制所述一帧音频信号传输质量的参数;不同目标传输策略对应的目标传输参数不同,以对不同重要度参数的音频帧进行分级处理;
根据所述目标传输策略和所述目标传输参数,对所述一帧音频信号进行传输控制。
2.如权利要求1所述的方法,其特征在于,所述预测模型为注意力神经网络,所述注意力神经网络是根据样本音频数据进行迭代训练得到,每次迭代训练执行如下过程:
通过待训练的注意力神经网络,预测所述样本音频数据中连续的多帧样本音频信号各自的重要度参数;
对于每帧样本音频信号,基于所述样本音频信号的重要度参数,设置所述样本音频信号的模拟丢包概率;
基于各模拟丢包概率,对所述多帧样本音频信号进行模拟丢包;
根据模拟丢包后获得的失真音频数据,对所述待训练的注意力神经网络进行参数调整。
3.如权利要求2所述的方法,其特征在于,所述基于各模拟丢包概率,对所述多帧样本音频信号进行模拟丢包,包括:
对于每帧样本音频信号,分别执行以下操作:
若一帧样本音频信号的模拟丢包概率大于预设概率阈值,则对所述一帧样本音频信号的数据包进行模拟丢包;
若一帧样本音频信号的模拟丢包概率不大于预设概率阈值,则保留所述一帧样本音频信号的数据包。
4.如权利要求2所述的方法,其特征在于,所述根据模拟丢包后获得的失真音频数据,对所述待训练的注意力神经网络进行参数调整,包括:
通过音频解码器对所述失真音频数据进行丢包隐藏处理,获得处理后音频信号;
对所述处理后音频信号和原始的多帧样本音频信号进行语音质量评估,获得平均质量评估值;所述平均质量评估值用于表示所述处理后音频信号与原始的所述多帧样本音频信号之间的差异;
根据基于所述平均质量评估值和丢包个数构建的损失函数,对所述待训练的注意力神经网络进行参数调整;所述丢包个数表示对所述多帧样本音频信号进行模拟丢包时,所丢失的数据包的数量。
5.如权利要求4所述的方法,其特征在于,基于所述平均质量评估值和丢包个数构建损失函数,包括:
将所述丢包个数输入预设的单调递增函数,获得丢包个数损失值;
将所述平均质量评估值输入预设的单调递减函数,获得质量评估损失值;
基于所述丢包个数损失值和所述质量评估损失值之和,确定所述损失函数;其中,所述损失函数与所述平均质量评估值呈正相关,所述损失函数与所述丢包个数呈负相关。
6.如权利要求1~5任一项所述的方法,其特征在于,所述目标传输策略包括编码码率控制策略,所述目标传输参数包括目标编码码率;
则所述根据一帧音频信号的重要度参数,确定采用目标传输策略时所述一帧音频信号的目标传输参数,包括:
基于所述一帧音频信号的重要度参数,确定所述一帧音频信号的码率调整系数;所述重要度参数与所述码率调整系数呈正相关;
基于预设编码码率以及所述码率调整系数,确定所述一帧音频信号的目标编码码率;所述预设编码码率表示:用于控制所述多帧音频信号整体压缩目标的平均编码码率。
7.如权利要求1~5任一项所述的方法,其特征在于,所述目标传输策略包括丢包重传策略,所述目标传输参数包括重传次数上限;
则所述根据一帧音频信号的重要度参数,确定采用目标传输策略时所述一帧音频信号的目标传输参数,包括:
预先划分多个重要度参数区间;
根据所述一帧音频信号的重要度参数所属的重要度参数区间,匹配所述一帧音频信号的重要级别;
按照所述一帧音频信号所属的重要级别,确定所述一帧音频信号的重传次数上限M;M为非负整数;所述重传次数上限和所述重要级别呈正相关。
8.如权利要求7所述的方法,其特征在于,所述根据所述目标传输策略和所述目标传输参数,对所述一帧音频信号进行传输控制,包括如下至少一种:
对于所述一帧音频信号,确定所述一帧音频信号丢包后,将所述一帧音频信号连续重传M次;
对于所述一帧音频信号,确定一帧音频信号丢包后,将所述一帧音频信号进行一次重传,直至所述一帧音频信号被成功接收或所述一帧音频信号的重传次数达到M次。
9.如权利要求1~5任一项所述的方法,其特征在于,所述目标传输策略包括多链路传输策略,所述目标传输参数包括目标传输链路;
则所述根据一帧音频信号的重要度参数,确定采用目标传输策略时所述一帧音频信号的目标传输参数,包括:
预先划分多个重要度参数区间;
根据所述一帧音频信号的重要度参数所属的重要度参数区间,匹配所述一帧音频信号的重要级别;
按照所述一帧音频信号所属的重要级别,确定所述一帧音频信号对应的至少一条目标传输链路。
10.如权利要求9所述的方法,其特征在于,在所述根据所述目标传输策略和所述目标传输参数,对所述一帧音频信号进行传输控制之前,还包括:
确定目标接收端对应的丢包率或收包时延,超过相应的阈值时,启动多链路传输策略;
所述根据所述目标传输策略和所述目标传输参数,对所述一帧音频信号进行传输控制,包括:
通过所述至少一条目标传输链路,将所述一帧音频信号传输至所述目标接收端。
11.如权利要求1~5任一项所述的方法,其特征在于,所述目标传输策略包括多发传输策略,所述目标传输参数包括目标多发倍数;
则所述根据一帧音频信号的重要度参数,确定采用目标传输策略时所述一帧音频信号的目标传输参数,包括:
根据所述一帧音频信号的重要度参数,映射得到所述一帧音频信号对应的,针对原始多发倍数的第一修正系数;所述重要度参数与所述第一修正系数呈正相关;所述原始多发倍数是根据当前传输网络的丢包率确定的;
根据所述第一修正系数对所述原始多发倍数进行修正,确定所述一帧音频信号对应的第一目标多发倍数。
12.如权利要求11所述的方法,其特征在于,所述方法还包括:
检测到当前传输网络的带宽受限时,对所述第一修正系数进行调整,获得第二修正系数,所述第二修正系数小于所述第一修正系数;
根据所述第二修正系数,对所述原始多发倍数进行修正,确定所述一帧音频信号对应的第二目标多发倍数;
则所述根据所述目标传输策略和所述目标传输参数,对所述一帧音频信号进行传输控制,包括:
根据所述第二目标多发倍数,对所述一帧音频信号进行数据发送或多发处理,并传输至目标接收端。
13.如权利要求1~5任一项所述的方法,其特征在于,所述目标传输策略包括前向纠错编码策略,所述目标传输参数包括目标冗余率;
则所述根据一帧音频信号的重要度参数,确定采用目标传输策略时所述一帧音频信号的目标传输参数,包括:
将所述一帧音频信号的重要度参数与预设参数阈值进行比较;若所述重要度参数大于所述预设参数阈值,则将所述一帧音频信号作为重要音频信号;
根据所述多帧音频信号中重要音频信号的数量,以及目标接收端对应的丢包率,确定所述一帧音频信号对应的目标冗余率;所述目标冗余率用于对所述重要音频信号进行前向纠错编码处理。
14.一种音频数据的处理装置,其特征在于,包括:
预测单元,用于针对包含多帧音频信号的待处理音频数据,通过已训练的预测模型,预测所述多帧音频信号各自的重要度参数;其中,所述重要度参数用于反映对应帧音频信号对整个音频数据的音频质量的影响程度;所述预测模型是根据对样本音频数据进行模拟丢包后获得的失真音频数据训练得到的,模拟丢包时丢失的数据包是:基于所述样本音频数据中样本音频信号的模拟丢包概率确定的;每帧样本音频信号的模拟丢包概率与重要度参数呈负相关;
处理单元,用于对于每帧音频信号,分别执行以下操作:
根据一帧音频信号的重要度参数,确定采用目标传输策略时所述一帧音频信号的目标传输参数;所述目标传输策略是指:在传输过程中用于提高音频传输质量,以避免或减小传输时丢包所带来的影响的传输方法;所述目标传输参数为:在传输过程中,控制所述一帧音频信号传输质量的参数;不同目标传输策略对应的目标传输参数不同,以对不同重要度参数的音频帧进行分级处理;
根据所述目标传输策略和所述目标传输参数,对所述一帧音频信号进行传输控制。
15.一种电子设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1~13中任一所述方法的步骤。
16.一种计算机可读存储介质,其特征在于,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行权利要求1~13中任一所述方法的步骤。
17.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序存储在计算机可读存储介质中;当电子设备的处理器从所述计算机可读存储介质读取所述计算机程序时,所述处理器执行所述计算机程序,使得所述电子设备执行权利要求1~13中任一所述方法的步骤。
CN202410211757.9A 2024-02-27 2024-02-27 一种音频数据的处理方法、装置、电子设备和存储介质 Active CN117793078B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410211757.9A CN117793078B (zh) 2024-02-27 2024-02-27 一种音频数据的处理方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410211757.9A CN117793078B (zh) 2024-02-27 2024-02-27 一种音频数据的处理方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN117793078A CN117793078A (zh) 2024-03-29
CN117793078B true CN117793078B (zh) 2024-05-07

Family

ID=90393119

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410211757.9A Active CN117793078B (zh) 2024-02-27 2024-02-27 一种音频数据的处理方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN117793078B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617797A (zh) * 2013-12-09 2014-03-05 腾讯科技(深圳)有限公司 一种语音处理方法,及装置
CN112767956A (zh) * 2021-04-09 2021-05-07 腾讯科技(深圳)有限公司 音频编码方法、装置、计算机设备及介质
CN114242044A (zh) * 2022-02-25 2022-03-25 腾讯科技(深圳)有限公司 语音质量评估方法、语音质量评估模型训练方法及装置
CN114613372A (zh) * 2022-02-21 2022-06-10 北京富通亚讯网络信息技术有限公司 一种音频传输抗丢包的错误隐藏技术方法
CN117409794A (zh) * 2023-12-13 2024-01-16 深圳市声菲特科技技术有限公司 音频信号处理方法、系统、计算机设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10354660B2 (en) * 2017-04-28 2019-07-16 Cisco Technology, Inc. Audio frame labeling to achieve unequal error protection for audio frames of unequal importance

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617797A (zh) * 2013-12-09 2014-03-05 腾讯科技(深圳)有限公司 一种语音处理方法,及装置
CN112767956A (zh) * 2021-04-09 2021-05-07 腾讯科技(深圳)有限公司 音频编码方法、装置、计算机设备及介质
CN114613372A (zh) * 2022-02-21 2022-06-10 北京富通亚讯网络信息技术有限公司 一种音频传输抗丢包的错误隐藏技术方法
CN114242044A (zh) * 2022-02-25 2022-03-25 腾讯科技(深圳)有限公司 语音质量评估方法、语音质量评估模型训练方法及装置
CN117409794A (zh) * 2023-12-13 2024-01-16 深圳市声菲特科技技术有限公司 音频信号处理方法、系统、计算机设备及存储介质

Also Published As

Publication number Publication date
CN117793078A (zh) 2024-03-29

Similar Documents

Publication Publication Date Title
CN108011686B (zh) 信息编码帧丢失恢复方法和装置
CN111371534B (zh) 一种数据重传方法、装置、电子设备和存储介质
CN111371957B (zh) 一种冗余度控制方法、装置、电子设备和存储介质
CN110634511B (zh) 一种音频数据处理方法及装置
CN111464262B (zh) 数据处理方法、装置、介质及电子设备
KR20160019041A (ko) 채널 폴라리제이션 메커니즘으로 데이터를 인코딩 및 디코딩하는 시스템
US20230138038A1 (en) Reinforcement learning for jitter buffer control
CN111585776B (zh) 数据传输方法、装置、设备及计算机可读存储介质
CN101854308A (zh) VoIP系统高音质服务网络自适应实现方法
CN111628992B (zh) 一种多人通话控制方法、装置、电子设备及存储介质
CN114792524B (zh) 音频数据处理方法、装置、程序产品、计算机设备和介质
Rodríguez et al. Speech quality parametric model that considers wireless network characteristics
Sacchetto et al. Web-based networked music performances via WebRTC: a low-latency PCM audio solution
CN117793078B (zh) 一种音频数据的处理方法、装置、电子设备和存储介质
CN114842857A (zh) 语音处理方法、装置、系统、设备及存储介质
CN117640015B (zh) 一种语音编码、解码方法、装置、电子设备及存储介质
US10971161B1 (en) Techniques for loss mitigation of audio streams
CN113936669A (zh) 数据传输方法、系统、装置、计算机可读存储介质及设备
Aleksić et al. Analysis and design of robust quasilogarithmic quantizer for the purpose of traffic optimization
Wah et al. The design of VoIP systems with high perceptual conversational quality
Rahdari et al. Using Bayesian classifiers for estimating quality of VoIP
Yousefi'zadeh Optimal rate adaptation for voip over wireless tandem links
Singh et al. Evaluating the perceived voice quality on VoIP network using interpolated FIR filter algorithm
CN116996622B (zh) 语音数据的传输方法、装置、设备、介质和程序产品
CN114448588B (zh) 音频传输方法、装置、电子设备及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant