首页 > 乐器声学 专利正文
丢包重发方法、系统、装置、计算机可读存储介质及设备与流程

时间:2022-01-23 阅读: 作者:专利查询

丢包重发方法、系统、装置、计算机可读存储介质及设备与流程

1.本技术涉及计算机技术领域,具体而言,涉及一种丢包重发方法、丢包重发系统、丢包重发装置、计算机可读存储介质及电子设备。


背景技术:

2.在音频数据传输过程中,通常会因为传输网络不稳定等原因导致数据传输过程出现丢包现象。针对丢包现象,一般采用数据重发的方式保证接收方接收到完整数据。现有的丢包重发方式通常为:在检测到接收方反馈的丢包情况时,对丢包情况中包含的丢失数据包进行重发。但是,在实时音频数据传输过程中,通常会存在如下情况:音频数据包中的音频数据(例如,轻微的环境音)在被解码输出后并不一定能够被人耳所感知,如果依照上述丢包重发方式对此类数据的丢包情况也进行反馈,则容易导致数据重发时间较长的问题,进而容易导致数据传输效率较低。
3.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本技术的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

4.本技术的目的在于提供一种丢包重发方法、丢包重发系统、丢包重发装置、计算机可读存储介质及电子设备,可以改善数据重发时间较长的问题,提升数据传输效率。
5.本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。
6.根据本技术的一方面,提供一种丢包重发方法,包括:
7.获取目标音频数据包对应的响度;
8.若接收到用于表示目标音频数据包丢失的丢包状态时,根据目标音频数据包对应的响度对目标音频数据包进行重发。
9.在本技术的一种示例性实施例中,获取目标音频数据包对应的响度之前,上述方法还包括:
10.从接收到的多个音频数据包中筛选音频特征满足预设条件的目标音频数据包。
11.在本技术的一种示例性实施例中,从接收到的多个音频数据包中筛选音频特征满足预设条件的目标音频数据包之前,上述方法还包括:
12.对接收到的多个音频数据包进行丢包检测;
13.若丢包检测结果中包括丢失状态,则向发送方终端反馈丢失状态,以使得发送方终端针对丢失状态进行数据重发。
14.在本技术的一种示例性实施例中,在发送方终端针对丢失状态进行数据重发之后,从接收到的多个音频数据包中筛选音频特征满足预设条件的目标音频数据包之前,上述方法还包括:
15.根据重发数据包更新多个音频数据包。
16.在本技术的一种示例性实施例中,音频数据包中包括音频数据包对应的响度、音频码流和音频码流对应的音频特征,音频码流对应的音频特征包括音频码流对应的能量分布以及音频码流中各频点对应的能量幅值。
17.在本技术的一种示例性实施例中,接收到的多个音频数据包由发送方终端发送;
18.其中,发送方终端发送多个音频数据包的方式具体为:
19.发送方终端采集音频信号并对音频信号进行特征提取,得到音频特征;
20.发送方终端对音频信号进行编码,得到音频码流;
21.发送方终端将音频码流和音频特征打包为音频数据包并发送至服务器。
22.在本技术的一种示例性实施例中,预设条件包括预设能量幅值和/ 或预设信噪比,从接收到的多个音频数据包中筛选音频特征满足预设条件的目标音频数据包,包括:
23.若检测到音频特征中存在大于预设能量幅值的至少一个能量幅值,则将音频特征对应的音频码流所属的音频数据包确定为目标音频数据包;和/或,
24.若检测到音频特征中存在大于预设信噪比的至少一个信噪比,则将音频特征对应的音频码流所属的音频数据包确定为目标音频数据包。
25.在本技术的一种示例性实施例中,获取目标音频数据包对应的响度之前,上述方法还包括:
26.发送方终端根据预设时长对音频码流进行分帧处理,得到多个音频帧;
27.发送方终端通过预设窗函数分别处理多个音频帧,得到多个参考帧;
28.发送方终端计算多个参考帧分别对应的功率谱;
29.发送方终端根据功率谱计算目标音频数据包对应的响度。
30.在本技术的一种示例性实施例中,预设窗函数为汉宁窗函数、汉明窗函数、布莱克曼窗函数、凯泽窗函数、三角形窗函数或矩形窗函数。
31.在本技术的一种示例性实施例中,发送方终端根据功率谱计算目标音频数据包对应的响度,包括:
32.发送方终端根据功率谱中各频点的能量幅值计算功率谱中各频点的频点响度;
33.发送方终端根据频点响度计算功率谱中各频点的响度权重;
34.发送方终端计算功率谱中各频点的能量幅值与功率谱中各频点的响度权重之间的加权和,作为功率谱对应的参考帧的响度值;
35.发送方终端将多个参考帧对应的响度值之和确定为目标音频数据包对应的响度。
36.在本技术的一种示例性实施例中,根据目标音频数据包对应的响度对目标音频数据包进行重发,包括:
37.若目标音频数据包对应的响度大于预设响度,向接收方终端重发目标音频数据包,以使得接收方终端对重发后以及重发前的目标音频数据包进行解码输出。
38.在本技术的一种示例性实施例中,接收方终端对重发后以及重发前的目标音频数据包进行解码输出的方式具体为:
39.接收方终端解码重发后以及重发前的目标音频数据包,得到多个待输出音频信号;
40.接收方终端对多个待输出音频信号进行混音处理,得到混音信号并播放。
41.根据本技术的一方面,提供一种丢包重发系统,包括发送方终端、服务器以及接收
方终端,其中:
42.发送方终端,用于向服务器发送目标音频数据包,目标音频数据包中包括目标音频数据包对应的响度;
43.服务器,用于获取目标音频数据包对应的响度;
44.接收方终端,用于向服务器发送用于表示目标音频数据包丢失的丢包状态;
45.服务器,还用于在接收到丢包状态时,根据目标音频数据包对应的响度将目标音频数据包重发至接收方终端;
46.接收方终端,还用于接收目标音频数据包。
47.根据本技术的一方面,提供一种丢包重发装置,包括:
48.响度获取单元,用于获取目标音频数据包对应的响度;
49.数据发送单元,用于在接收到用于表示目标音频数据包丢失的丢包状态时,根据目标音频数据包对应的响度对目标音频数据包进行重发。
50.在本技术的一种示例性实施例中,上述装置还包括数据包筛选单元,其中:
51.数据包筛选单元,用于在响度获取单元获取目标音频数据包对应的响度之前,从接收到的多个音频数据包中筛选音频特征满足预设条件的目标音频数据包。
52.在本技术的一种示例性实施例中,上述装置还包括丢包检测单元和丢包状态反馈单元,其中:
53.丢包检测单元,用于在数据包筛选单元从接收到的多个音频数据包中筛选音频特征满足预设条件的目标音频数据包之前,对接收到的多个音频数据包进行丢包检测;
54.丢包状态反馈单元,用于若丢包检测结果中包括丢失状态,则向发送方终端反馈丢失状态,以使得发送方终端针对丢失状态进行数据重发。
55.在本技术的一种示例性实施例中,上述装置还包括数据包更新单元,其中:
56.数据包更新单元,用于在发送方终端针对丢失状态进行数据重发之后,以及在数据包筛选单元从接收到的多个音频数据包中筛选音频特征满足预设条件的目标音频数据包之前,根据重发数据包更新多个音频数据包。
57.在本技术的一种示例性实施例中,音频数据包中包括音频数据包对应的响度、音频码流和音频码流对应的音频特征,音频码流对应的音频特征包括音频码流对应的能量分布以及音频码流中各频点对应的能量幅值。
58.在本技术的一种示例性实施例中,接收到的多个音频数据包由发送方终端发送;
59.其中,发送方终端发送多个音频数据包的方式具体为:
60.发送方终端采集音频信号并对音频信号进行特征提取,得到音频特征;
61.发送方终端对音频信号进行编码,得到音频码流;
62.发送方终端将音频码流和音频特征打包为音频数据包并发送至服务器。
63.在本技术的一种示例性实施例中,预设条件包括预设能量幅值和/ 或预设信噪比,数据包筛选单元从接收到的多个音频数据包中筛选音频特征满足预设条件的目标音频数据包,包括:
64.若检测到音频特征中存在大于预设能量幅值的至少一个能量幅值,则将音频特征对应的音频码流所属的音频数据包确定为目标音频数据包;和/或,
65.若检测到音频特征中存在大于预设信噪比的至少一个信噪比,则将音频特征对应
的音频码流所属的音频数据包确定为目标音频数据包。
66.在本技术的一种示例性实施例中,还包括:
67.发送方终端在响度获取单元获取目标音频数据包对应的响度之前,根据预设时长对音频码流进行分帧处理,得到多个音频帧;
68.发送方终端通过预设窗函数分别处理多个音频帧,得到多个参考帧;
69.发送方终端计算多个参考帧分别对应的功率谱;
70.发送方终端根据功率谱计算目标音频数据包对应的响度。
71.在本技术的一种示例性实施例中,预设窗函数为汉宁窗函数、汉明窗函数、布莱克曼窗函数、凯泽窗函数、三角形窗函数或矩形窗函数。
72.在本技术的一种示例性实施例中,发送方终端根据功率谱计算目标音频数据包对应的响度,包括:
73.发送方终端根据功率谱中各频点的能量幅值计算功率谱中各频点的频点响度;
74.发送方终端根据频点响度计算功率谱中各频点的响度权重;
75.发送方终端计算功率谱中各频点的能量幅值与功率谱中各频点的响度权重之间的加权和,作为功率谱对应的参考帧的响度值;
76.发送方终端将多个参考帧对应的响度值之和确定为目标音频数据包对应的响度。
77.在本技术的一种示例性实施例中,数据发送单元根据目标音频数据包对应的响度对目标音频数据包进行重发,包括:
78.若目标音频数据包对应的响度大于预设响度,向接收方终端重发目标音频数据包,以使得接收方终端对重发后以及重发前的目标音频数据包进行解码输出。
79.在本技术的一种示例性实施例中,接收方终端对重发后以及重发前的目标音频数据包进行解码输出的方式具体为:
80.接收方终端解码重发后以及重发前的目标音频数据包,得到多个待输出音频信号;
81.接收方终端对多个待输出音频信号进行混音处理,得到混音信号并播放。
82.根据本技术的一方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的方法。
83.根据本技术的一方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的方法。
84.本技术示例性实施例可以具有以下部分或全部有益效果:
85.在本技术的一示例实施方式所提供的丢包重发方法中,可以获取目标音频数据包对应的响度,若接收到用于表示目标音频数据包丢失的丢包状态时,根据目标音频数据包对应的响度对目标音频数据包进行重发。依据上述方案描述,本技术一方面可以将音频数据包对应的响度作为数据重发条件,从而改善数据重发时间较长的问题,提升数据传输效率;另一方面,可以有针对性地重发目标音频数据包,相较于现有技术将包含目标音频数据包的当次发送的所有数据包进行重发,可以降低重发数据量,降低对于网络资源的占用。
86.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
87.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
88.图1示出了可以应用本技术实施例的一种丢包重发方法及丢包重发装置的示例性系统架构的示意图;
89.图2示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图;
90.图3示意性示出了本技术实施例所基于的一种丢包重发方法的架构图;
91.图4示意性示出了根据本技术的一个实施例的丢包重发方法的流程图;
92.图5示意性示出了根据本技术的一个实施例的响度权重曲线图;
93.图6示意性示出了根据本技术的一个实施例的声学等响曲线图;
94.图7示意性示出了根据本技术的一个实施例的丢包重发方法的序列图;
95.图8示意性示出了根据本技术的一个实施例的丢包重发系统的结构框图;
96.图9示意性示出了根据本技术的另一个实施例的丢包重发系统的结构框图;
97.图10示意性示出了根据本技术的又一个实施例的丢包重发系统的结构框图;
98.图11示意性示出了根据本技术的一个实施例中的丢包重发装置的结构框图。
具体实施方式
99.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本技术将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本技术的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本技术的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本技术的各方面变得模糊。
100.此外,附图仅为本技术的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
101.图1示出了可以应用本技术实施例的一种丢包重发方法及丢包重发装置的示例性应用环境的系统架构的示意图。
102.如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、 103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、 102、103可以是具有显示屏的各种电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是
示意性的。
103.具体地,本技术实施例所提供的丢包重发方法一般由服务器105执行,相应地,丢包重发装置一般设置于服务器105中。但本领域技术人员容易理解的是,本技术实施例所提供的丢包重发方法也可以由终端设备101、102或103执行,相应的,丢包重发装置也可以设置于终端设备 101、102或103中,本示例性实施例中对此不做特殊限定。举例而言,在一种示例性实施例中,服务器105可以获取目标音频数据包对应的响度;若接收到用于表示目标音频数据包丢失的丢包状态时,根据目标音频数据包对应的响度对目标音频数据包进行重发。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
104.图2示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
105.需要说明的是,图2示出的电子设备的计算机系统200仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
106.如图2所示,计算机系统200包括中央处理单元(cpu)201,其可以根据存储在只读存储器(rom)202中的程序或者从储存部分208加载到随机访问存储器(ram)203中的程序而执行各种适当的动作和处理。在ram 203中,还存储有系统操作所需的各种程序和数据。cpu 201、 rom 202以及ram 203通过总线204彼此相连。输入/输出(i/o)接口 205也连接至总线204。
107.以下部件连接至i/o接口205:包括键盘、鼠标等的输入部分206;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分207;包括硬盘等的储存部分208;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分209。通信部分209经由诸如因特网的网络执行通信处理。驱动器210也根据需要连接至i/o接口205。可拆卸介质211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器210上,以便于从其上读出的计算机程序根据需要被安装入储存部分208。
108.特别地,根据本技术的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分209从网络上被下载和安装,和/或从可拆卸介质 211被安装。在该计算机程序被中央处理单元(cpu)201执行时,执行本技术的方法和装置中限定的各种功能。
109.一般来说,音频传输过程中很难避免丢包情况发生,导致丢包的原因通常有:wifi或移动网络的无线信道干扰、高峰时期路由器拥塞、移动设备性能不足等。当一个音频数据包在网络上传输的时间过长,即,在需要播放时不能及时传达,即使后续收到也会判定丢包。现有的丢包处理方式一般为:接收端在接收到发送端传输的数据时对其进行丢包检测,若存在丢包情况,则反馈至发送端以使其进行数据重发,直到检测到接收到的数据中不存在丢包为止。
110.请参阅图3,图3示意性示出了本技术实施例所基于的一种丢包重发方法的架构图。图3所示的架构图包括:发送方终端310、服务器320 以及接收方终端330;其中,发送方终端310包括特征提取模块311、语音编码模块312以及数据重发模块313,服务器320包括丢包检测模块 321、音频选路模块322以及数据重发模块323,接收方终端330包括丢包检测模块331、语音解码模块332、混音模块333以及播放模块334。
111.具体地,特征提取模块311可以采集音频信号,对采集到的音频信号进行特征提取,得到音频特征,并将采集到的音频信号发送至语音编码模块312。语音编码模块312可以对音频信号进行编码,得到对应的音频码流,并将音频码流发送至数据重发模块323。数据重发模块323 可以将相匹配的音频码流和音频特征打包为音频数据包,并在打包得到多个音频数据包后将其作为一个数据分组转发至服务器320,以使得服务器320中的丢包检测模块321对接收到的数据分组进行丢包检测。
112.若丢包检测结果中包括处于丢失状态的音频数据包,丢包检测模块 321则向数据重发模块313反馈该丢失状态,以使得数据重发模块313 针对该丢失状态进行数据重发。进而,在丢包检测模块321接收到重发的音频数据包且检测到数据分组中不存在处于丢失状态的音频数据包时,则根据重发的音频数据包更新数据分组,并将更新后的数据分组发送至音频选路模块322。进而,音频选路模块322可以根据数据分组中每个数据包对应的音频特征对数据分组中的音频数据包进行筛选,得到目标音频数据包;其中,目标音频数据包对应的最大能量幅值大于数据分组中其他音频数据包,或者,目标音频数据包对应的能量谱分布与预设能量谱分布的相似度大于数据分组中其他音频数据包。进而,音频选路模块322可以将目标音频数据包发送至数据重发模块323,以使得数据重发模块323将目标音频数据包转发至接收方终端330。进而,接收方终端330中的丢包检测模块331对目标音频数据包进行丢包检测。
113.若丢包检测结果中包括处于丢失状态的目标音频数据包,丢包检测模块331则向数据重发模块323反馈该丢失状态,以使得数据重发模块 323针对该丢失状态进行数据重发。进而,在丢包检测模块331接收到重发的目标音频数据包且检测到所有目标音频数据包中不存在处于丢失状态的目标音频数据包时,则根据重发的目标音频数据包更新所有目标音频数据包,并将更新后的所有目标音频数据包发送至语音解码模块 332。进而,语音解码模块332可以将各个目标音频数据包中的音频码流解码为音频信号,并将解码得到的音频信号发送至混音模块333,以使得混音模块333对音频信号进行混音处理。进而,混音模块333可以将混音处理结果发送至播放模块334,以使得播放模块334播放混音处理结果。
114.在上述的丢包重发方法中,每一次数据包传输过程中可能包含了多个需要传输的数据包,在多个数据包均被完整接收(即,不存在丢包情况)时,才能触发下一模块执行相应的操作。当应用于多人会议领域时,音频信号的采集量较大,若采用上述方式进行丢包重传,则容易造成数据传输效率较低的问题,进而导致接收方终端播放音频的时刻与发送方终端发送音频的时刻之间存在较长的时间差,影响多人会议中音频输出的实时性以及用户的使用体验。
115.此外,对于多人会议而言,在播放多通路音频信号时用户通常对响度较弱的音频信号感知力较弱。因此,申请人想到可以将用户听觉不容易感知的响度较弱的音频信号作为音频数据包的筛选条件。具体地,如果服务器不仅能够根据音频信号的能量对音频数据包进行筛选,还能够通过音频信号的响度对筛选后的音频数据包进行二次筛选,进而再将二次筛选后的音频数据包传输至接收方终端,这样就可以在出现丢包情况时提升数据传输的效率,缩短接收方终端播放音频的时刻与发送方终端发送音频的时刻之间的时间差,进而改善多人会议中音频输出的实时性以及用户的使用体验。
116.基于上述问题,本示例实施方式提供了一种丢包重发方法。该丢包重发方法可以
应用于上述服务器105,也可以应用于上述终端设备101、 102、103中的一个或多个,本示例性实施例中对此不做特殊限定。参考图4所示,该丢包重发方法可以包括以下步骤s410至步骤s420:
117.步骤s410:获取目标音频数据包对应的响度。
118.步骤s420:若接收到用于表示目标音频数据包丢失的丢包状态时,根据目标音频数据包对应的响度对目标音频数据包进行重发。
119.其中,步骤s410和步骤s420可以由服务器执行。举例来说,该服务器可以为用于筛选通路信号的选路服务器。
120.实施图1所示的方法,可以将音频数据包对应的响度作为数据重发条件,从而改善数据重发时间较长的问题,提升数据传输效率。此外,还可以有针对性地重发目标音频数据包,相较于现有技术将包含目标音频数据包的当次发送的所有数据包进行重发,可以降低重发数据量,降低对于网络资源的占用。
121.下面,对于本示例实施方式的上述步骤进行更加详细的说明。
122.在步骤s410中,获取目标音频数据包对应的响度。
123.本技术实施例中,可选的,获取目标音频数据包对应的响度之前,上述方法还包括:从接收到的多个音频数据包中筛选音频特征满足预设条件的目标音频数据包。
124.其中,音频数据包中包括音频数据包对应的响度、音频码流和音频码流对应的音频特征,音频码流对应的音频特征可以包括音频码流对应的能量分布以及音频码流中各频点对应的能量幅值。目标音频数据包可以为一个或多个。
125.可见,实施该可选的实施例,能够通过音频特征对接收到的音频数据包进行筛选,以降低转发的数据量,从而降低对于网络资源的损耗,提升数据传输效率。
126.本技术实施例中,可选的,从接收到的多个音频数据包中筛选音频特征满足预设条件的目标音频数据包之前,上述方法还包括:对接收到的多个音频数据包进行丢包检测;若丢包检测结果中包括丢失状态,则向发送方终端反馈丢失状态,以使得发送方终端针对丢失状态进行数据重发。
127.具体地,发送方终端的数量可以为一个或多个,本技术实施例不作限定。当本技术实施例应用于多人会议时,多人会议中的会议成员终端可以作为发送方终端,同时也可以作为接收方终端。另外,多个音频数据包可以同属于一个数据分组,发送方终端一次可以发送一个数据分组,每个数据分组中包括一个或多个音频数据包,多个音频数据包对应于不同的音频通路。
128.作为一种可选的实施方式,对接收到的多个音频数据包进行丢包检测的方式具体可以为:确定单位时间(如,5s)内接收到的多个音频数据包分别对应的序列号;进而,根据数据传输协议(如,tcp协议)的包头(packet header)(如,sequence number连续数)检测多个音频数据包分别对应的序列号的连续性;如果多个音频数据包分别对应的序列号不连续(如,1、2、4、5),则判定出现丢包情况;如果多个音频数据包分别对应的序列号连续(如,1、2、3、4),则判定未出现丢包情况,其中,在未出现丢包情况时,多个音频数据包分别对应的丢包状态为未丢失状态;进而,根据多个音频数据包分别对应的序列号确定丢包情况对应的丢失数据包;进而,根据丢失数据包生成丢包检测结果;其中,丢失数据包的数量可以为一个或多个,本技术实施例不作限定。另外,丢包检测结果中可以包括丢失数据包、丢失数
据包对应的序号以及丢失数据包对应的丢包状态中至少一个;其中,丢包状态可以通过数值 0或1进行表示,数值0可以表示丢包状态中的丢失状态,数值1可以表示丢包状态中的未丢失状态。
129.作为一种可选的实施方式,向发送方终端反馈丢失状态的方式具体可以为:向发送方终端反馈包含丢包检测结果的负向反馈(negativeacknowledgement,nack)信号。可以理解的是,在该可选的实施方式中,若丢包检测结果中不包括丢失状态,则可以包括以下步骤:向发送方终端发送用于表示数据接收正常的正向反馈(acknowledgement,ack) 信号。
130.作为一种可选的实施方式,发送方终端针对丢失状态进行数据重发的方式具体可以为:发送方客户端确定丢失状态对应的丢失数据包并对丢失数据包进行重发;或者,发送方客户端将丢失状态对应的数据分组进行重发,其中,数据分组由上述的多个音频数据包构成。
131.可见,实施该可选的实施例,能够在检测到丢包状态时触发发送方重新发送数据,这样可以提升所传输的数据的完整性。
132.本技术实施例中,可选的,在发送方终端针对丢失状态进行数据重发之后,从接收到的多个音频数据包中筛选音频特征满足预设条件的目标音频数据包之前,上述方法还包括:根据重发数据包更新多个音频数据包。
133.具体地,重发数据包的数量可以为一个或多个,更新后的多个音频数据包中包括上述的重发数据包。
134.作为一种可选的实施方式,根据重发数据包更新多个音频数据包的方式具体可以为:确定重发数据包对应的序列号以及多个音频数据包分别对应的序列号,根据序列号顺序整合重发数据包和上述的多个音频数据包,以实现对于多个音频数据包的更新。
135.可见,实施该可选的实施例,能够通过数据包更新,保证发送至接收方终端的数据的完整性。
136.本技术实施例中,可选的,接收到的多个音频数据包由发送方终端发送;
137.其中,发送方终端发送多个音频数据包的方式具体为:发送方终端采集音频信号并对音频信号进行特征提取,得到音频特征;发送方终端对音频信号进行编码,得到音频码流;发送方终端将音频码流和音频特征打包为音频数据包并发送至服务器。
138.需要说明的是,发送方终端采集的音频信号可以为模拟信号。音频码流用于表示音频信号在单位时间内使用的数据流量,音频码流=采样率 *比特数*声道,如,44100*16*2=1.41mbit/sec。
139.作为一个可选的实施方式,音频信号对应的音频特征可以包括过零率、短时能量、短时自相关函数以及短时平均幅度差中至少一种,本技术实施例不作限定。
140.当音频信号对应的音频特征包括过零率时,发送方终端采集音频信号并对音频信号进行特征提取,得到音频特征的方式具体可以为:发送方终端采集音频信号并根据计算音频信号的过零率,作为音频信号的音频特征;其中,n为音频信号的帧长,n为音频信号的帧数。计算得到的过零率可以用于表征每帧音频信号通过零值的次数,通过上述的过零率可以判定音频信号中清音和浊
音,有利于服务器筛选接收到的多个音频数据包。
141.当音频信号对应的音频特征包括短时能量时,发送方终端采集音频信号并对音频信号进行特征提取,得到音频特征的方式具体可以为:发送方终端采集音频信号并根据检测采集到的音频信号中第n帧音频信号xn(m)的短时能量en,得到各帧对应的短时能量,作为音频信号的音频特征;其中,n为音频信号的帧长,n为正整数。一般来说,人声的能量比噪声的能量大,计算得到的各帧对应的短时能量能够用于区分音频信号中的人声和噪声,进而有利于服务器根据该各帧对应的能量对接收到的多个音频数据包进行噪声筛除,从而提升对于音频数据的处理效率。
142.当音频信号对应的音频特征包括短时自相关函数时,发送方终端采集音频信号并对音频信号进行特征提取,得到音频特征的方式具体可以为:发送方终端采集音频信号并根据根据计算音频信号的短时自相关函数,作为音频信号的音频特征;其中,n为音频信号的帧长,n为正整数,w用于表示窗函数,w’(m)用于表示加窗后的音频帧。计算得到的短时自相关函数能够用于衡量信号自身时间波形的相似性,有利于服务器根据短时自相关函数检测音频的相似特性,从而有利于提升对于音频数据的处理效率。
143.当音频信号对应的音频特征包括短时平均幅度差时,发送方终端采集音频信号并对音频信号进行特征提取,得到音频特征的方式具体可以为:发送方终端采集音频信号并根据计算音频信号的短时平均幅度差,作为音频信号的音频特征;其中, k=0,1,
……
,n-1,计算得到的短时平均幅度差可以用于衡量音频幅度的变化。
144.此外,音频信号对应的音频特征还可以包括语谱图、短时功率谱密度、谱熵、基频、共振峰等特征,本技术实施例不作限定。
145.可见,实施该可选的实施例,发送方终端可以对音频信号进行特征提取,这样可以有利于服务器依据特征提取的结果进行通路信号选取,从而在保证多人会议的音频输出实时性的同时,还能够保证音频输出的效果。
146.本技术实施例中,可选的,预设条件包括预设能量幅值和/或预设信噪比,从接收到的多个音频数据包中筛选音频特征满足预设条件的目标音频数据包,包括:若检测到音频特征中存在大于预设能量幅值的至少一个能量幅值,则将音频特征对应的音频码流所属的音频数据包确定为目标音频数据包;和/或,若检测到音频特征中存在大于预设信噪比的至少一个信噪比,则将音频特征对应的音频码流所属的音频数据包确定为目标音频数据包。
147.具体地,音频码流中各音频帧分别对应一个能量幅值,能量幅值用于表示音频帧对应的短时能量。信噪比(signal-to-noise ratio)为音频信号的平均功率和噪声的平均功率之比,即:信噪比(db)=10*log10(s/n) (db)。
148.可见,实施该可选的实施例,能够通过能量幅值或信噪比对音频数据包进筛选,以精简需要传输的音频数据包,提升数据传输效率。
149.本技术实施例中,可选的,获取目标音频数据包对应的响度之前,上述方法还包括:发送方终端根据预设时长对音频码流进行分帧处理,得到多个音频帧;通过预设窗函数
分别处理多个音频帧,得到多个参考帧;计算多个参考帧分别对应的功率谱;根据功率谱计算目标音频数据包对应的响度。
150.具体地,多个音频帧对应的时长一致(如,10ms或20ms),多个参考帧与音频帧对应的时长一致。另外,由于快速傅里叶变换(fastfourier transform,fft)只能对有限长度的时域数据进行变换,因此,需要对时域信号进行信号截断。即使是周期信号,如果截断的周期信号的时间长度不是周期的整数倍,截取后的信号将容易存在泄漏。因此,本技术应用了可以使时域的音频信号满足傅里叶变换的周期性要求的预设窗函数,以减少信号泄漏。预设窗函数为汉宁窗函数、汉明窗函数、布莱克曼窗函数、凯泽窗函数、三角形窗函数或矩形窗函数。
151.作为一种可选的实施方式,通过预设窗函数分别处理多个音频帧,得到多个参考帧的方式可以为:确定多个音频帧分别对应的时域表达式;将多个音频帧分别对应的时域表达式与预设窗函数进行点乘,得到多个音频帧分别对应的参考帧。
152.作为一种可选的实施方式,计算多个参考帧分别对应的功率谱的方式可以为:对多个参考帧进行快速傅里叶变换,以确定出多个参考帧分别对应的功率谱。
153.可见,实施该可选的实施例,能够计算得到目标音频数据包的音频响度,该音频响度可以作为数据重发条件,在音频响度较低时,服务器可以不对丢包的目标音频数据包进行重发,以减少对于网络资源的占用。
154.本技术实施例中,可选的,发送方终端根据功率谱计算目标音频数据包对应的响度,包括:发送方终端根据功率谱中各频点的能量幅值计算功率谱中各频点的频点响度;根据频点响度计算功率谱中各频点的响度权重;计算功率谱中各频点的能量幅值与功率谱中各频点的响度权重之间的加权和,作为功率谱对应的参考帧的响度值;将多个参考帧对应的响度值之和确定为目标音频数据包对应的响度。
155.具体地,频点是固定频率的编号,可以作为固定频率的唯一表征。
156.作为一种可选的实施方式,根据功率谱中各频点的能量幅值计算功率谱中各频点的频点响度的方式具体可以为:确定功率谱中各频点i的能量幅值的绝对值p(i,j),j=0~k-1,k为总频点数。
157.作为一种可选的实施方式,根据频点响度计算功率谱中各频点的响度权重的方式具体可以为:基于下述公式计算功率谱中各频点freq的响度权重cof(freq);其中,
[0158][0159][0160][0161]
freq的响度loud=4.2+afy*(db-cfy)/(1+bfy*(db-cfy));
[0162][0163]
结合cof(freq)的表达式参阅图5,图5示意性示出了根据本技术的一个实施例的响度权重曲线图。图5所示的曲线图中,横轴用于表示频率,纵轴用于表示响度权重。在已知频点响度情况下,可以通过图5所示的曲线图确定出该频点对应的权重。
[0164]
作为一种可选的实施方式,计算功率谱中各频点的能量幅值与功率谱中各频点的响度权重之间的加权和,作为功率谱对应的参考帧的响度值的方式具体可以为:根据功率谱中各频点的能量幅值和功率谱中各频点的响度权重之间的加权和,作为功率谱对应的参考帧的响度值ep(i);其中,i为帧序号,k为频点序号。
[0165]
可见,实施该可选的实施例,能够根据各频点对应的响度确定目标音频数据包对应的响度作为数据重发条件的响度,从而提升服务器的数据重发效率。
[0166]
在步骤s420中,若接收到用于表示目标音频数据包丢失的丢包状态时,根据目标音频数据包对应的响度对目标音频数据包进行重发。
[0167]
本技术实施例中,可选的,根据目标音频数据包对应的响度对目标音频数据包进行重发,包括:若目标音频数据包对应的响度大于预设响度,向接收方终端重发目标音频数据包,以使得接收方终端对重发后以及重发前的目标音频数据包进行解码输出。
[0168]
具体地,响度是用于描述声音大小的主观感觉量,单位是宋(sone)。1000hz纯音,声压级为40db时的响度为1宋;2宋的声音是40方声音响度的2倍;4宋为40方声音响度的4倍。也就是说,声压级增加10db,响度增加一倍,人耳对响度的感觉随声压级变化。请参阅图6,图6示意性示出了根据本技术的一个实施例的声学等响曲线图。图6所示的声学等响曲线中展示了多种响度级(即,100phon、80phon、60phon、40phon、 20phon、阈值thrshold phon)的曲线,横轴用于表示声波频率(frequency),纵轴用于表示声压级(sound pressure level),通过图6所示的声学等响曲线图可知,等响曲线是描述等响条件下声压级与声波频率的关系曲线,在中低频(1khz以下)中,频率越低,等响需要的声压强度(能量) 越大。即,声音能量越大,人耳的听觉感受越一致。而在中高频中(1khz 以上),不同频段的频率对应不同的声学听觉感知特征。参见图6可知,若通过响度对音频数据包筛选,则能够将人耳感知能力较弱的声音筛除,这样可以提升数据传输效果。
[0169]
作为一种可选的实施方式,若目标音频数据包对应的响度大于预设响度,向接收方终端重发目标音频数据包的方式可以为:检测目标音频数据包在对应的响度是否大于预设响度c;如果是,则触发数据重发功能开启(即,触发使能开关arqenable=1),并通过数据重发功能向接收方终端重发目标音频数据包;如果否,则关闭数据重发功能(即,触发使能开关arqenable=0)。也就是说,可以依据下述表达式向接收方终端重发目标音频数据包
[0170]
可见,实施该可选的实施例,能够根据响度对音频数据包进行筛选,减少人耳感知能力较弱的声音对于网络资源的占用,进而提升数据传输效率。此外,由于本技术可以针对丢失数据包进行重传,因而,可以解决现有技术中每次重传都需要重传整个数据分组的所有数据带来的传输效率较低的问题。
[0171]
本技术实施例中,可选的,接收方终端对重发后以及重发前的目标音频数据包进行解码输出的方式具体为:接收方终端解码重发后以及重发前的目标音频数据包,得到多个待输出音频信号;接收方终端对多个待输出音频信号进行混音处理,得到混音信号并播放。
[0172]
作为一种可选的实施方式,在接收方终端对多个待输出音频信号进行混音处理之前,还可以包括以下步骤:接收方终端对多个待输出音频信号进行格式归一化,这样可以保证多个待输出音频信号格式统一;进而,将多个待输出音频信号转换为预设采样率(如,16k hz、32k hz、 44.1k hz、48k hz等);进而,检测多个待输出音频信号的位深(bit-depth) 或采样格式(sample format)的一致性,若位深不一致或采样格式不一致,则对多个待输出音频信号进行相应的归一化处理,以使得承载每个采样点音频数据的比特数相同;进而,检测多个待输出音频信号的声道(如,单声道或双声道)是否一致,若不一致,则输出用于表示声道不一致的提示消息;若一致,则执行对多个待输出音频信号进行混音处理的操作。此外,可选的,在接收方终端对多个待输出音频信号进行混音处理之前,接收方终端还可以对多个待输出音频信号进行回声消除、噪音抑制、静音检测等处理,本技术实施例不作限定。
[0173]
作为一种可选的实施方式,接收方终端对多个待输出音频信号进行混音处理,得到混音信号的方式可以为:接收方终端根据多个待输出音频信号分别对应的能量幅值均衡调节多个待输出音频信号的音量,并混合均衡调节的结果,得到混音信号。
[0174]
作为一种可选的实施方式,接收方终端对多个待输出音频信号进行混音处理,得到混音信号之后,还可以包括以下步骤:接收方终端对混音信号进行溢出检测,若存在溢出,则对溢出的采样点进行溢出处理/ 平滑处理,进而播放处理结果。
[0175]
可见,实施该可选的实施例,接收方终端在接收到完整的多个音频数据包之后可以对其进行混音输出,该输出结果保留了会议中的重要音频内容,摒弃了人耳感知能力不强的音频内容,可以提升多人会议的消息转发效率,保证输出音频信号的实时性,从而改善用户的使用体验。
[0176]
请参阅图7,图7示意性示出了根据本技术的一个实施例的丢包重发方法的序列图。如图7所示,包括步骤s700~步骤s780,其中:
[0177]
在步骤s700中,发送方终端可以对采集的音频信号进行特征提取,得到音频特征;以及,对音频信号进行编码,得到音频信号对应的音频码流;以及,将音频数据包对应的响度、音频码流和音频特征打包为音频数据包;以及,将打包得到的多个音频数据包发送至服务器。
[0178]
在步骤s710中,服务器在接收到多个音频数据包之后,可以进行丢包检测。
[0179]
在步骤s720中,若丢包检测结果中包括丢失状态,服务器向发送方终端反馈丢失状态。
[0180]
在步骤s730中,发送方终端针对丢失状态向服务器重发数据。
[0181]
在步骤s740中,服务器可以根据重发数据包更新多个音频数据包,从多个音频数据包中筛选音频特征满足预设条件的目标音频数据包并将目标音频数据包转发至接收方终端。
[0182]
在步骤s750中,接收方终端在接收到目标音频数据包之后,可以进行丢包检测。
[0183]
在步骤s760中,若丢包检测结果中包括丢失状态,接收方终端向服务器反馈目标
音频数据包的丢失状态。
[0184]
在步骤s770中,若目标音频数据包的响度大于预设响度,服务器向接收方终端重发目标音频数据包。
[0185]
在步骤s780中,接收方终端对重发后以及重发前的目标音频数据包进行解码输出。
[0186]
其中,可选的,音频数据包中也可以不包括响度,在发送方终端将音频数据包发送至服务器之后,服务器可以根据音频数据包中的音频特征计算音频信号对应的响度。
[0187]
可见,实施图7所示的方法,能够对人耳感知能力较强的音频数据启动数据重传功能,对人耳感知能力较弱的音频数据不启动数据重传功能,以保障数据传输质量。进而,可以确保多人网络通话中的主要声源的传输质量得到最大程度的保障,可以避免不必要的网络带宽资源的消耗,同时可以降低因无筛选条件下丢包重传带来的通话延时增加的不良用户通话体验。
[0188]
进一步的,本示例实施方式中,还提供了一种丢包重发系统800。请参阅图8,包括发送方终端801、服务器802以及接收方终端803,其中:
[0189]
发送方终端801,用于向服务器802发送目标音频数据包,目标音频数据包中包括目标音频数据包对应的响度;
[0190]
服务器802,用于获取目标音频数据包对应的响度;
[0191]
接收方终端803,用于向服务器802发送用于表示目标音频数据包丢失的丢包状态;
[0192]
服务器802,还用于在接收到丢包状态时,根据目标音频数据包对应的响度将目标音频数据包重发至接收方终端803;
[0193]
接收方终端803,还用于接收目标音频数据包。
[0194]
可见,实施图8所示的系统,可以将音频数据包对应的响度作为数据重发条件,从而改善数据重发时间较长的问题,提升数据传输效率。此外,还可以有针对性地重发目标音频数据包,相较于现有技术将包含目标音频数据包的当次发送的所有数据包进行重发,可以降低重发数据量,降低对于网络资源的占用。
[0195]
具体地,请参阅图9。图9示意性示出了根据本技术的另一个实施例的丢包重发系统900的结构框图。如图9所示,图9所示的结构框图包括:发送方终端910、服务器920以及接收方终端930;其中,发送方终端910包括特征提取模块911、语音编码模块912以及数据重发模块 913,服务器920包括丢包检测模块921、音频选路模块922、数据重发模块923以及感知分析模块924,接收方终端930包括丢包检测模块931、语音解码模块932、混音模块933以及播放模块934。
[0196]
具体地,特征提取模块911可以采集音频信号,对采集到的音频信号进行特征提取,得到音频特征,并将采集到的音频信号发送至语音编码模块912。语音编码模块912可以对音频信号进行编码,得到对应的音频码流,并将音频码流发送至数据重发模块923。数据重发模块923 可以将相匹配的音频码流和音频特征打包为音频数据包,音频数据包中包括音频数据包对应的响度、音频码流和音频码流对应的音频特征;并在打包得到多个音频数据包后将其作为一个数据分组转发至服务器920,以使得服务器920中的丢包检测模块921对接收到的数据分组进行丢包检测。
[0197]
若丢包检测结果中包括处于丢失状态的音频数据包,丢包检测模块 921则向数据重发模块913反馈该丢失状态,以使得数据重发模块913 针对该丢失状态进行数据重发。进而,在丢包检测模块921接收到重发的音频数据包且检测到数据分组中不存在处于丢失状态的音频数据包时,则根据重发的音频数据包更新数据分组,并将更新后的数据分组发送至音频选路模块922。进而,音频选路模块922可以根据数据分组中每个数据包对应的音频特征对数据分组中的音频数据包进行筛选,得到目标音频数据包;其中,目标音频数据包对应的最大能量幅值大于数据分组中其他音频数据包,或者,目标音频数据包对应的能量谱分布与预设能量谱分布的相似度大于数据分组中其他音频数据包。进而,音频选路模块922可以将目标音频数据包发送至感知分析模块924和数据重发模块 923,以使得数据重发模块923将目标音频数据包转发至接收方终端930。进而,接收方终端930中的丢包检测模块931对目标音频数据包进行丢包检测;其中,目标音频数据包的数量可以为一个或多个。
[0198]
若丢包检测结果中包括处于丢失状态的目标音频数据包,丢包检测模块931则向数据重发模块923反馈该丢失状态。进而,若目标音频数据包的响度大于预设响度,数据重发模块923可以针对该丢失状态进行数据重发;其中,处于丢失状态的目标音频数据包可以为一个或多个。进而,丢包检测模块931接收到重发的目标音频数据包且检测到所有目标音频数据包中不存在处于丢失状态的目标音频数据包时,则根据重发的目标音频数据包更新所有目标音频数据包,并将更新后的所有目标音频数据包发送至语音解码模块932。进而,语音解码模块932可以将各个目标音频数据包中的音频码流解码为音频信号,并将解码得到的音频信号发送至混音模块933,以使得混音模块933对音频信号进行混音处理。进而,混音模块933可以将混音处理结果发送至播放模块934,以使得播放模块934播放混音处理结果。
[0199]
可见,实施图9所示的系统,可以将音频数据包对应的响度作为数据重发条件,从而改善数据重发时间较长的问题,提升数据传输效率。此外,还可以有针对性地重发目标音频数据包,相较于现有技术将包含目标音频数据包的当次发送的所有数据包进行重发,可以降低重发数据量,降低对于网络资源的占用。
[0200]
进一步地,本实例实施例中,可选的,上述的发送方终端和接收方终端的数量均可以为多个,上述的服务器可以为服务器集群。请参阅图 10,图10示意性示出了根据本技术的又一个实施例的丢包重发系统1000 的结构框图。如图10所示,包括发送方终端1011、发送方终端1012、
……
、发送方终端101n、服务器集群1030、接收方终端1021、接收方终端 1022、
……
、接收方终端102n;其中,n为正整数且大于等于3。
[0201]
参见图10可知,本技术中的服务器集群1030可以接收来自发送方终端1011、发送方终端1012、
……
、发送方终端101n中至少一个发送的数据分组,每个数据分组中可以包括一个或多个音频数据包,若音频数据包满足预设条件,则音频数据包可以被服务器集群1030判定为目标音频数据包并转发至接收方终端1021、接收方终端1022、
……
、接收方终端102n。若接收到接收方终端1021、接收方终端1022、
……
、接收方终端102n中任一个发送的用于表示目标音频数据包丢失的丢包状态时,根据目标音频数据包对应的响度对目标音频数据包进行重发。
[0202]
可见,实施图10所示的系统,可以将音频数据包对应的响度作为数据重发条件,从而改善数据重发时间较长的问题,提升数据传输效率。此外,还可以有针对性地重发目标音
频数据包,相较于现有技术将包含目标音频数据包的当次发送的所有数据包进行重发,可以降低重发数据量,降低对于网络资源的占用。
[0203]
进一步的,本示例实施方式中,还提供了一种丢包重发装置。参考图11所示,该丢包重发装置1100可以包括:
[0204]
响度获取单元1101,用于获取目标音频数据包对应的响度;
[0205]
数据发送单元1102,用于在接收到用于表示目标音频数据包丢失的丢包状态时,根据目标音频数据包对应的响度对目标音频数据包进行重发。
[0206]
可见,实施图11所示的装置,可以将音频数据包对应的响度作为数据重发条件,从而改善数据重发时间较长的问题,提升数据传输效率。此外,还可以有针对性地重发目标音频数据包,相较于现有技术将包含目标音频数据包的当次发送的所有数据包进行重发,可以降低重发数据量,降低对于网络资源的占用。
[0207]
在本技术的一种示例性实施例中,上述装置还包括数据包筛选单元(未图示),其中:
[0208]
数据包筛选单元,用于在响度获取单元1101获取目标音频数据包对应的响度之前,从接收到的多个音频数据包中筛选音频特征满足预设条件的目标音频数据包。
[0209]
可见,实施该可选的实施例,能够通过音频特征对接收到的音频数据包进行筛选,以降低转发的数据量,从而降低对于网络资源的损耗,提升数据传输效率。
[0210]
在本技术的一种示例性实施例中,上述装置还包括丢包检测单元(未图示)和丢包状态反馈单元(未图示),其中:
[0211]
丢包检测单元,用于在数据包筛选单元从接收到的多个音频数据包中筛选音频特征满足预设条件的目标音频数据包之前,对接收到的多个音频数据包进行丢包检测;
[0212]
丢包状态反馈单元,用于若丢包检测结果中包括丢失状态,则向发送方终端反馈丢失状态,以使得发送方终端针对丢失状态进行数据重发。
[0213]
其中,音频数据包中包括音频数据包对应的响度、音频码流和音频码流对应的音频特征,音频码流对应的音频特征包括音频码流对应的能量分布以及音频码流中各频点对应的能量幅值。
[0214]
可见,实施该可选的实施例,能够在检测到丢包状态时触发发送方重新发送数据,这样可以提升所传输的数据的完整性。
[0215]
在本技术的一种示例性实施例中,上述装置还包括数据包更新单元 (未图示),其中:
[0216]
数据包更新单元,用于在发送方终端针对丢失状态进行数据重发之后,以及在数据包筛选单元从接收到的多个音频数据包中筛选音频特征满足预设条件的目标音频数据包之前,根据重发数据包更新多个音频数据包。
[0217]
可见,实施该可选的实施例,能够通过数据包更新,保证发送至接收方终端的数据的完整性。
[0218]
在本技术的一种示例性实施例中,接收到的多个音频数据包由发送方终端发送;
[0219]
其中,发送方终端发送多个音频数据包的方式具体为:
[0220]
发送方终端采集音频信号并对音频信号进行特征提取,得到音频特征;
[0221]
发送方终端对音频信号进行编码,得到音频码流;
[0222]
发送方终端将音频码流和音频特征打包为音频数据包并发送至服务器。
[0223]
可见,实施该可选的实施例,发送方终端可以对音频信号进行特征提取,这样可以有利于服务器依据特征提取的结果进行通路信号选取,从而在保证多人会议的音频输出实时性的同时,还能够保证音频输出的效果。
[0224]
在本技术的一种示例性实施例中,预设条件包括预设能量幅值和/ 或预设信噪比,数据包筛选单元从接收到的多个音频数据包中筛选音频特征满足预设条件的目标音频数据包,包括:
[0225]
若检测到音频特征中存在大于预设能量幅值的至少一个能量幅值,则将音频特征对应的音频码流所属的音频数据包确定为目标音频数据包;和/或,
[0226]
若检测到音频特征中存在大于预设信噪比的至少一个信噪比,则将音频特征对应的音频码流所属的音频数据包确定为目标音频数据包。
[0227]
可见,实施该可选的实施例,能够通过能量幅值或信噪比对音频数据包进筛选,以精简需要传输的音频数据包,提升数据传输效率。
[0228]
在本技术的一种示例性实施例中,还包括:
[0229]
发送方终端在响度获取单元获取目标音频数据包对应的响度之前,根据预设时长对音频码流进行分帧处理,得到多个音频帧;
[0230]
发送方终端通过预设窗函数分别处理多个音频帧,得到多个参考帧;
[0231]
发送方终端计算多个参考帧分别对应的功率谱;
[0232]
发送方终端根据功率谱计算目标音频数据包对应的响度。
[0233]
其中,预设窗函数为汉宁窗函数、汉明窗函数、布莱克曼窗函数、凯泽窗函数、三角形窗函数或矩形窗函数。
[0234]
可见,实施该可选的实施例,能够计算得到目标音频数据包的音频响度,该音频响度可以作为数据重发条件,在音频响度较低时,服务器可以不对丢包的目标音频数据包进行重发,以减少对于网络资源的占用。
[0235]
在本技术的一种示例性实施例中,发送方终端根据功率谱计算目标音频数据包对应的响度,包括:
[0236]
发送方终端根据功率谱中各频点的能量幅值计算功率谱中各频点的频点响度;
[0237]
发送方终端根据频点响度计算功率谱中各频点的响度权重;
[0238]
发送方终端计算功率谱中各频点的能量幅值与功率谱中各频点的响度权重之间的加权和,作为功率谱对应的参考帧的响度值;
[0239]
发送方终端将多个参考帧对应的响度值之和确定为目标音频数据包对应的响度。
[0240]
可见,实施该可选的实施例,能够根据各频点对应的响度确定目标音频数据包对应的作为数据重发条件的响度,从而提升服务器的数据重发效率。
[0241]
在本技术的一种示例性实施例中,数据发送单元1102根据目标音频数据包对应的响度对目标音频数据包进行重发,包括:
[0242]
若目标音频数据包对应的响度大于预设响度,向接收方终端重发目标音频数据包,以使得接收方终端对重发后以及重发前的目标音频数据包进行解码输出。
[0243]
可见,实施该可选的实施例,能够根据响度对音频数据包进行筛选,减少人耳感知能力较弱的声音对于网络资源的占用,进而提升数据传输效率。此外,由于本技术可以针对
丢失数据包进行重传,因而,可以解决现有技术中每次重传都需要重传整个数据分组的所有数据带来的传输效率较低的问题。
[0244]
在本技术的一种示例性实施例中,接收方终端对重发后以及重发前的目标音频数据包进行解码输出的方式具体为:
[0245]
接收方终端解码重发后以及重发前的目标音频数据包,得到多个待输出音频信号;
[0246]
接收方终端对多个待输出音频信号进行混音处理,得到混音信号并播放。
[0247]
可见,实施该可选的实施例,接收方终端在接收到完整的多个音频数据包之后可以对其进行混音输出,该输出结果保留了会议中的重要音频内容,摒弃了人耳感知能力不强的音频内容,可以提升多人会议的消息转发效率,保证输出音频信号的实时性,从而改善用户的使用体验。
[0248]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0249]
由于本技术的示例实施例的丢包重发装置的各个功能模块与上述丢包重发方法的示例实施例的步骤对应,因此对于本技术装置实施例中未披露的细节,请参照本技术上述的丢包重发方法的实施例。
[0250]
作为另一方面,本技术还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
[0251]
需要说明的是,本技术所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0252]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代
表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0253]
描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
[0254]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求指出。
[0255]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。