音频编码方法、装置、设备和介质与流程

文档序号:32748205发布日期:2022-12-30 23:19阅读:21来源:国知局
音频编码方法、装置、设备和介质与流程

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.图1是根据一示例性实施例示出的一种音频编码系统的结构示意图;
80.图2是根据一示例性实施例示出的一种音频编码方法的流程图;
81.图3是根据一示例性实施例示出的一种确定第三目标编码码率方法的流程图;
82.图4是根据一示例性实施例示出的另一种音频编码方法的流程图;
83.图5是根据一示例性实施例示出的一种音频编码装置的框图;
84.图6是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
85.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
86.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
87.相关技术中,在直播场景中,可以以不同的码率对不同类型的音频数据进行编码。例如,对于语音音频数据,选择与语音音频数据对应的编码码率进行编码;对于背景噪声数据,选择与背景噪声数据对应的编码码率进行编码。
88.但是,在确定音频数据的编码码率的过程中,仅考虑了音频数据的类型选择合适的编码码率,导致编码过程中会出现带宽资源浪费,或者,带宽资源分配不足导致的直播卡顿、延时等情况,影响用户的直播观看体验。
89.鉴于上述问题,本公开的示例性实施方式提供一种音频编码方法,该音频编码方法的应用场景包括但不限于:在网络直播过程中,确定当前观看直播的用户账户数量;若用户账户数量大于或者等于第一用户账户数量阈值,且小于第二用户账户数量阈值,则确定直播终端的设备负载;若设备负载大于设备负载阈值,则按照第一音频编码模式确定直播音频的第一音频类型,以及与第一音频类型对应的第一目标编码码率,并利用第一目标编码码率对直播音频进行编码。可以结合观看直播的用户账户数量、直播终端的设备负载,以及直播音频的类型,选择用于编码直播音频的目标编码码率,可以提升确定的目标编码码率与直播间的当前实际情况的适配度,在减少带宽资源浪费的同时,提升直播音频的编码质量,提升用户的直播观看体验。
90.为了实现上述文本处理方法,本公开的示例性实施方式提供一种音频编码系统。图1示出了该音频编码系统的示意性架构图。如图1所示,音频编码系统100可以包括服务器110、直播终端120和用户终端130。其中,服务器110为网络直播服务提供方部署的后台服务器;直播终端120是进行直播的用户使用的终端设备;用户终端130为观看直播的用户账户对应的终端设备;更具体地,终端设备可以是如智能手机、个人电脑、平板电脑等。服务器110与直播终端120和用户终端130分别通过网络建立连接。
91.应当理解,服务器110可以是一台服务器,也可以是多台服务器形成的集群,本公开对于服务器110的具体架构不做限定。
92.在一种可选的实施方式中,直播终端120可以响应于直播发起操作,向服务器110发送直播间建立请求;
93.服务器110可以响应于直播间建立请求为直播终端120建立直播间,并将直播数据实时发送至用户终端130;
94.用户终端130可以响应于服务器发送的直播数据,观看直播内容。
95.其中,直播终端120在直播过程中,可以确定当前观看直播的用户账户数量;若用户账户数量大于或者等于第一用户账户数量阈值,且小于第二用户账户数量阈值,则确定直播终端的设备负载;若设备负载大于设备负载阈值,则按照第一音频编码模式确定直播音频的第一音频类型,以及与第一音频类型对应的第一目标编码码率,并利用第一目标编码码率对直播音频进行编码。
96.图2是根据一示例性实施例示出的一种音频编码方法的流程图,如图2所示,音频编码方法可以应用于直播终端中,包括步骤s201至步骤s203:
97.步骤s201,确定当前观看直播的用户账户数量;
98.步骤s202,若用户账户数量大于或者等于第一用户账户数量阈值,且小于第二用户账户数量阈值,则确定直播终端的设备负载;
99.步骤s203,若设备负载大于设备负载阈值,则按照第一音频编码模式确定直播音频的第一音频类型,以及与第一音频类型对应的第一目标编码码率,并利用第一目标编码码率对直播音频进行编码。
100.综上所述,本公开实施例提供的音频编码方法,一方面,可以根据用户账户数量和设备负载呈现的当前直播场景的实际情况,选择当前直播场景下不会对直播终端的正常运行造成影响的音频编码模式,确定直播音频的编码码率进行编码,可以在保证直播终端的正常运行的前提下,提升直播音频的编码质量;另一方面,可以音频模型在确定用于编码直播音频的编码码率的过程中,需要先确定直播音频的音频类型,选择直播音频的音频类型适用的编码码率进行编码,在在保证直播终端的正常运行,提升直播音频的编码质量的前提下,可以节省带宽资源,防止带宽资源的浪费。
101.下面对图2中的各个步骤进行具体说明。
102.在上述步骤s201中,直播终端可以确定当前观看直播的用户账户数量。
103.在本公开实施例中,直播终端在确定其处理直播状态后,可以实时的确定直播间当前观看直播的用户账户数量,以实现基于用户账户数量选择编码码率对直播音频进行编码。
104.在一种可选的实施方式中,直播终端确定当前观看直播的用户账户数量的过程可以包括:响应于直播终端处于直播状态,确定当前时刻直播间的用户账户数量,得到当前观看直播的用户账户数量。
105.在上述步骤s202中,若用户账户数量大于或者等于第一用户账户数量阈值,且小于第二用户账户数量阈值,则确定直播终端的设备负载。
106.在本公开实施例中,提供了多种音频编码模式确定用于编码直播音频的目标编码码率,但是每种音频编码模式确定目标编码码率的过程中,硬件资源的消耗量和确定的目标编码码率和直播音频的适配度不相同;在考虑到当前观看直播的用户账户数量,以及直播终端的设备负载等实际情况的前提下,为了保证直播音频编码质量,提升用户的直播观看体验,减少带宽浪费,可以为不同用户账户数量以及设备负载的直播场景,在多种音频编码模式中,选择最能保证直播音频编码质量,以及提升用户的直播观看体验的音频编码模式。
107.需要说明的是,在本公开实施例中,直播场景可以包括以下五种,第一种直播场景是,当前观看直播的用户账户数量处于较高水平,即当前观看直播的用户账户数量大于或者等于第二用户账户数量阈值;
108.第二种直播场景是,当前观看直播的用户账户数量处于中等水平,且直播终端的设备负载较高,即当前观看直播的用户账户数量大于或者等于第一用户账户数量阈值,且小于第二用户账户数量阈值,且设备负载大于设备负载阈值;
109.第三种直播场景是;当前观看直播的用户账户数量处于低等水平,且直播终端的
设备负载较低,即当前观看直播的用户账户数量小于第一用户账户数量阈值,且设备负载小于或者等于设备负载阈值;
110.第四种直播场景是:当前观看直播的用户账户数量处于低等水平,且直播终端的设备负载较高,即当前观看直播的用户账户数量小于第一用户账户数量阈值,且设备负载大于设备负载阈值;
111.第五种直播场景是:当前观看直播的用户账户数量处于中等水平,且直播终端的设备负载较低,即当前观看直播的用户账户数量大于或者等于第一用户账户数量阈值,且小于第二用户账户数量阈值,且设备负载小于或者等于设备负载阈值;
112.可以理解的是,第一用户账户数量阈值以及第二用户账户数量阈值可以基于实际需要确定,本公开实施例对此不作限定,例如:第一用户账户数量阈值为5000,第二用户账户数量阈值为10000。设备负载可以为直播终端的硬件资源的使用情况,例如:cpu的使用率以及内存的占用量等,其中,设备负载阈值可以基于实际需要确定,本公开实施例对此不作限定。
113.在本公开实施例中,音频编码模式可以包括四种,其中,第一音频编码模式是基于预先训练的音频类型识别模型的编码模式,第一音频编码模式在运行过程中对于直播终端的硬件资源消耗中等,同时,编码得到的音频质量也中等;第二音频编码模式是基于音频帧处理的编码模式,第二音频编码模式在运行过程中对于直播终端的硬件资源消耗次小,同时,编码得到的音频质量最低;第三音频编码模式是基于预先训练的音频类型识别模型以及音频帧处理的编码模式,第三音频编码模式运行过程中对于直播终端的硬件资源消耗最大,同时,编码得到的音频质量次高;第四音频编码模式运行过程中对于直播终端的硬件资源消耗最小,属于高质量编码模式,但是对于带宽资源消耗较大,编码得到的音频质量是四种音频编码模式中最高的。
114.可以理解的是,在四种音频编码模式中,编码质量由高到低依次为:第四音频编码模式大于第三音频编码模式,第三音频编码模式大于第一音频编码模式,第一音频编码模式大于第二音频编码模式,在四种音频编码模式运行过程中对于直播终端的硬件资源消耗量由高到低依次为:第三音频编码模式大于第一音频编码模式,第一音频编码模式大于第二音频编码模式,第二音频编码模式大于第四音频编码模式。
115.因此,基于五种直播场景和四种音频编码模式,可以预先建立直播场景和音频编码模式的对应关系表,其中,在第一种直播场景下,由于用户账户数量较高,此时着重考虑编码质量,可以选择四音频编码模式确定直播音频的编码码率,对直播音频进行编码;
116.在第二种直播场景下,在选择音频编码模式的时候,由于当前观看直播的用户账户数量处于中等水平,需要一定的音编码质量,同时由于设备负载较高,预留给音频编码的硬件资源没有很多;因此,可以考虑选择编码质量中等,且对于直播终端的硬件资源消耗中等的音频编码模式,则可以选择第一音频编码模式;
117.在第三种直播场景下,在选择音频编码模式的时候,由于直播终端的设备负载较小,可以选择对直播终端的硬件资源消耗较大的编码模式,但是,由于当前观看直播的用户账户数量处于低等水平,无需过高的编码质量,则可以选择第一音频编码模式;
118.在第四种直播场景下,在选择音频编码模式的时候:由于直播终端的设备负载较高,可以选择对直播终端的硬件资源消耗较小的编码模式,但是,由于当前观看直播的用户
账户数量处于低等水平,无需过高的编码质量,则可以选择第二音频编码模式;
119.在第五种直播场景下,在选择音频编码模式的时候,由于当前观看直播的用户账户数量处于中等水平,需要一定的音编码质量,同时由于设备负载较小,预留给音频编码的硬件资源还有很多;因此,可以考虑选择编码质量较高,即使对于直播终端的硬件资源消耗较大的音频编码模式,则可以选择第三音频编码模式。
120.在一种可选的实施方式中,若直播终端确定用户账户数量大于或者等于第一用户账户数量阈值,且小于第二用户账户数量阈值,则可以确定无需使用高质量编码模式对直播音频进行编码,可以进一步确定直播终端的设备负载。
121.在上述步骤s203中,若直播终端确定设备负载大于设备负载阈值,则按照第一音频编码模式确定直播音频的第一音频类型,以及与第一音频类型对应的第一目标编码码率,并利用第一目标编码码率对直播音频进行编码。
122.在本公开实施例中,若用户账户数量大于或者等于第一用户账户数量阈值,且小于第二用户账户数量阈值,且设备负载大于设备负载阈值,表示当前观看直播的用户账户数量中等,但是直播终端的负载较高,则可以确定需要选择硬件资源消耗中等,且可以达到中等的编码质量的音频编码模式,即第一音频编码模式。
123.在一种可选的实施方式中,直播终端按照第一音频编码模式确定直播音频的第一音频类型,以及与第一音频类型对应的第一目标编码码率的过程可以包括:获取第一预设时长的第一当前直播音频段;将第一当前直播音频段,输入预先训练的音频类型识别模型中进行音频类型识别,得到第一当前直播音频段的第一音频类型;在预先建立的音频类型与编码码率的第一对应关系表中,确定与第一音频类型对应的第一目标编码码率;利用第一目标编码码率对直播音频进行编码,包括:利用第一目标编码码率对第一预设时长的下一直播音频段进行编码。其中,第一预设时长可以基于实际需要确定,本公开实施例对此不作限定,例如,第一预设时长可以为1秒。2秒或者3秒。可以在用户账户数量中等,但设备负载较高的直播场景下,选择具有中等编码质量,且硬件资源消耗中等的音频编码模式,即利用预先训练的音频类型识别模型确定编码码率进行直播音频编码,可以在提升编码质量,节约带宽资源的同时,防止过度追求高质量编码质量对直播终端的硬件资源造成压力,导致直播终端出现异常运行的情况。
124.其中,表1示出了预先建立的音频类型与编码码率的第一对应关系表,用于表示第一音频类型为音乐音频,语音音频以及背景噪声时,不同声道对应的编码码率,单位为kbps。
125.则基于表1中,确定与第一音频类型对应的第一目标编码码率的过程可以包括:若第一音频类型为音乐音频,在双声道音频模式下,第一目标编码码率为64kbps,在单声道音频模式下,第一目标编码码率为56kbps;若第一音频类型为语音音频,在双声道音频模式下,第一目标编码码率为48kbps,在单声道音频模式下,第一目标编码码率为40kbps;若第一音频类型为背景噪声,在双声道音频模式下,第一目标编码码率为32kbps,在单声道音频模式下,第一目标编码码率为32kbps。
126.表1
[0127] 音乐音频语音音频背景噪声双声道644832
单声道564032
[0128]
在一种可选的实施方式中,若直播终端确定当前观看直播的用户账户数量小于第一用户账户数量阈值,则确定直播终端的设备负载;若确定设备负载小于或者等于设备负载阈值,可以确定当前观看直播的用户账户数量较少,直播终端的负载也较小,需要选择硬件资源消耗中等,且可以达到中等的编码质量的音频编码模式,则按照第一音频编码模式确定直播音频的第一音频类型,以及与第一音频类型对应的第一目标编码码率,并利用第一目标编码码率对直播音频进行编码。
[0129]
其中,按照第一音频编码模式确定直播音频的第一音频类型,以及与第一音频类型对应的第一目标编码码率,并利用第一目标编码码率对直播音频进行编码的过程,可以参考上述实施例,本公开实施例对此不作赘述;可以在用户账户数量较小,且设备负载较小的直播场景下,选择具有中等编码质量,且硬件资源消耗中等的音频编码模式,确定编码码率进行直播音频编码,可以在保证编码质量,节约带宽资源的同时,即使直播终端硬件资源充足,也可以减少对硬件资源的过的消耗。
[0130]
在一种可选的实施方式中,在直播终端确定用户账户数量小于第一用户账户数量阈值时,若确定设备负载大于设备负载阈值,可以确定当前观看直播的用户账户数量较少,但直播终端的负载较高,可以选择硬件资源消耗较小,且可以兼顾编码质量的音频编码模式,则可以按照第二音频编码模式确定直播音频的第二音频类型,以及与第二音频类型对应的第二目标编码码率,并利用第二目标编码码率对所述直播音频进行编码。可以在用户账户数量较小,但设备负载较大的直播场景下,选择具有一定编码质量,且硬件资源消耗较小的音频编码模式确定编码码率进行直播音频编码,可以在直播终端硬件资源不充裕的情况下,防止对直播终端的正常运行造成压力,保证直播正常进行的同时,提升直播音频的编码质量,节约带宽资源。
[0131]
其中,按照第二音频编码模式确定直播音频的第二音频类型,以及与第二音频类型对应的第二目标编码码率的过程包括:将当前帧直播音频的能量与背景噪声能量进行比较,确定当前帧直播音频的第二音频类型;在预先建立的音频类型与编码码率的第二对应关系表中,确定与第二音频类型对应的第二目标编码码率;其中,利用第二目标编码码率对直播音频进行编码的过程包括:利用第二目标编码码率对当前帧直播音频进行编码。其中,背景噪声能量可以基于噪声估计算法确定,例如,最小值跟踪法。可以在用户账户数量较小,但设备负载较大的直播场景下,选择音频帧处理方式确定直播音频类型和对应的编码码率进行直播音频编码,可以在保证编码质量,节约带宽资源的同时,以较小的硬件资源消耗确定编码码率对直播音频进行编码,防止直播终端出现异常运行的情况。
[0132]
在本公开实施例中,基于音频帧处理的编码模式,将音乐音频和语音音频归为同一音频类型,则将当前帧直播音频的能量与背景噪声能量进行比较,确定当前帧直播音频的第二音频类型的过程可以包括:确定当前帧直播音频的能量与背景噪声能量的能量比值,若能量比值大于能量比值阈值,则确定当前帧直播音频的第二音频类型为音乐语音音频;若能量比值小于或者等于能量比值阈值,则确定当前帧直播音频的第二音频类型为背景噪声。
[0133]
其中,表2示出了预先建立的音频类型与编码码率的第二对应关系表,第二对应关系表用于表示第一音频类型为音乐语音音频以及背景噪声时,不同声道对应的编码码率,
单位为kbps。
[0134]
表2
[0135] 音乐语音音频背景噪声双声道6032单声道5632
[0136]
在表2中,若第二音频类型为音乐语音音频,在双声道音频模式下,第二目标编码码率为60kbps,在单声道音频模式下,第二目标编码码率为56kbps;若第二音频类型为背景噪声,在双声道音频模式下,第二目标编码码率为32kbps,在单声道音频模式下,第二目标编码码率为32kbps。
[0137]
在一种可选的实施方式中,在指标终端确定用户账户数量大于或者等于第一用户账户数量阈值,且小于第二用户账户数量阈值时,若确定直播终端的设备负载小于或者等于设备负载阈值,可以确定当前观看直播的用户账户数量中等,且直播终端的负载较小,可以选择硬件资源消耗较大,可以提高编码质量的音频编码模式,则可以按照第三音频编码模式确定直播音频的第三音频类型,以及与第三音频类型对应的第三目标编码码率,并利用第三目标编码码率对直播音频进行编码。可以在用户账户数量中等,但设备负载较小的直播场景下,选择硬件资源消耗较大,但可以提升编码质量的音频编码模式,可以将直播终端的硬件资源充分利用,保证直播终端正常运行的同时,进一步提升编码质量,节约带宽资源。
[0138]
其中,如图3所示,按照第三音频编码模式确定直播音频的第三音频类型,以及与第三音频类型对应的第三目标编码码率的过程可以包括步骤s301至步骤s304:
[0139]
步骤s301,获取第二预设时长的第二当前直播音频段;
[0140]
其中,第二预设时长可以基于实际需要确定,本公开实施例对此不作限定,例如,第二预设时长可以为1秒。2秒或者3秒。
[0141]
步骤s302,将第二当前直播音频段,输入预先训练的音频类型识别模型中进行音频类型识别,得到第二当前直播音频段的第四音频类型;
[0142]
步骤s303,将第二预设时长的下一直播音频段中,第一帧直播音频的能量与背景噪声能量进行比较,得到下一直播音频段中第一帧直播音频的第五音频类型;
[0143]
在步骤s303中,将预设时长的下一直播音频段中,第一帧直播音频的能量与背景噪声能量进行比较,得到下一直播音频段中第一帧直播音频的第五音频类型的过程,可以参考上述实施例中,将当前帧直播音频的能量与背景噪声能量进行比较,确定当前帧直播音频的第二音频类型的过程,本公开实施例对此不作赘述。
[0144]
步骤s304,根据第四音频类型和第五音频类型,确定第一帧直播音频的第三音频类型;
[0145]
在步骤s304中,根据第四音频类型和第五音频类型,确定第一帧直播音频的第三音频类型的过程可以包括:在预先建立的音频类型归类表中,根据第四音频类型和第五音频类型,确定第一帧直播音频的第三音频类型。
[0146]
表3示出了预先建立的预先建立的音频类型归类表,第二对应关系表用于表示基于组合模式确定第三音频类型的组合关系。基于表3,根据第四音频类型和第五音频类型,确定第一帧直播音频的第三音频类型的过程可以包括:若第四音频类型为音乐音频,第五
音频类型为音乐音频或者语音音频,则可以确定第三音频类型为音乐音频;若第四音频类型为音乐音频,第五音频类型为背景噪声,则可以确定第三音频类型为音乐音频;其余的组合结果可以参考表3,此处不一一列举。
[0147]
表3
[0148][0149]
步骤s305,在预先建立的音频类型与编码码率的第三对应关系表中,确定与第三音频类型对应的第三目标编码码率;
[0150]
其中,第三对应关系表和第一对应关系表相同,则本步骤s305中,在预先建立的音频类型与编码码率的第一对应关系表中,确定与第三音频类型对应的第三目标编码码率的过程可以包括:基于表1,确定与第三音频类型对应的第三目标编码码率;其中,若第三音频类型为音乐音频,在双声道音频模式下,第三目标编码码率为64kbps,在单声道音频模式下,第三目标编码码率为56kbps;若第三音频类型为语音音频,在双声道音频模式下,第三目标编码码率为48kbps,在单声道音频模式下,第三目标编码码率为40kbps;若第三音频类型为背景噪声,在双声道音频模式下,第三目标编码码率为32kbps,在单声道音频模式下,第三目标编码码率为32kbps。
[0151]
在一种可选的实施方式中,直播终端利用第三目标编码码率对直播音频进行编码的过程可以包括:利用第三目标编码码率对预设时长的下一直播音频段进行编码。可以在用户账户数量中等,但设备负载较小的直播场景下,选择组合音频编码模式这种硬件资源消耗较大,但可以提升编码质量的音频编码模式,可以将直播终端的硬件资源充分利用,保证直播终端正常运行的同时,进一步提升编码质量,节约带宽资源。
[0152]
在一种可选的实施方式中,若直播终端确定用户账户数量大于或者等于第二用户账户数量阈值,确定当前观看直播的用户账户数量处于较高水平,选择编码质量最高的音频编码模式,接第四音频编码模式对直播音频进行编码,则按照第四目标编码码率对直播音频
[0153]
进行编码。其中,第四目标编码码率可以基于实际需要确定,本公开实施例对此不作限定;示例的,第四目标编码码率可以为64kbps。可以在用户账户数量较多的情况下,选择编码质量最高但硬件资源消耗最小的音频编码模式,在保证直播终端正常运行的同时,优先保证直播音频的编码质量,保证用户账户的直播观看体验。
[0154]
图4是根据一示例性实施例示出的一种音频编码方法的流程图,如图4所示,音频编码方法可以应用于直播终端中,包括步骤s401至步骤s409:
[0155]
步骤s401,确定当前观看直播的用户账户数量,并判断用户账户数量是否大于或者等于第二用户账户数量阈值;
[0156]
步骤s402,若用户账户数量大于或者等于第二用户账户数量阈值,则按照第四目标编码码率对直播音频进行编码;
[0157]
步骤s403,若用户账户数量不大于或者不等于第二用户账户数量阈值,则判断用户账户数量是否大于或者等于第一用户账户数量阈值,且小于第二用户账户数量阈值;
[0158]
步骤s404,若用户账户数量大于或者等于第一用户账户数量阈值,且小于第二用户账户数量阈值,则确定直播终端的设备负载是否大于设备负载阈值;
[0159]
步骤s405,若设备负载大于设备负载阈值,则按照第一音频编码模式确定直播音频的第一音频类型,以及与第一音频类型对应的第一目标编码码率,并利用第一目标编码码率对直播音频进行编码;
[0160]
步骤s406,若设备负载小于或者等于设备负载阈值,则按照第二音频编码模式确定直播音频的第二音频类型,以及与第二音频类型对应的第二目标编码码率,并利用第二目标编码码率对直播音频进行编码;
[0161]
步骤s407,若用户账户数量小于第一用户账户数量阈值,则确定直播终端的设备负载是否大于设备负载阈值;
[0162]
步骤s408,若设备负载小于或者等于设备负载阈值,则按照第一音频编码模式确定直播音频的第一音频类型,以及与第一音频类型对应的第一目标编码码率,并利用第一目标编码码率对直播音频进行编码;
[0163]
步骤s409,若设备负载大于设备负载阈值,则按照第二音频编码模式确定直播音频的第二音频类型,以及与第二音频类型对应的第二目标编码码率,并利用第二目标编码码率对直播音频进行编码。
[0164]
图5是根据一示例性实施例示出的一种音频编码装置框图。参照图5,该音频编码装置500包括:
[0165]
第一确定模块501,被配置为确定当前观看直播的用户账户数量;
[0166]
第二确定模块502,被配置为若用户账户数量大于或者等于第一用户账户数量阈值,且小于第二用户账户数量阈值,则确定直播终端的设备负载;
[0167]
第一编码模块503,被配置为若设备负载大于设备负载阈值,则按照第一音频编码模式确定直播音频的第一音频类型,以及与第一音频类型对应的第一目标编码码率,并利用第一目标编码码率对直播音频进行编码;
[0168]
可选的,如图5所示,音频编码装置500还包括,第二编码模块504,被配置为:
[0169]
若用户账户数量小于第一用户账户数量阈值,则确定直播终端的设备负载;
[0170]
若设备负载小于或者等于设备负载阈值,则按照第一音频编码模式确定直播音频的第一音频类型,以及与第一音频类型对应的第一目标编码码率,并利用第一目标编码码率对直播音频进行编码。
[0171]
可选的,第一编码模块503或者第二编码模块504,被配置为:
[0172]
获取第一预设时长的第一当前直播音频段;
[0173]
将第一当前直播音频段,输入预先训练的音频类型识别模型中进行音频类型识别,得到第一当前直播音频段的第一音频类型;
[0174]
在预先建立的音频类型与编码码率的第一对应关系表中,确定与第一音频类型对应的第一目标编码码率;
[0175]
利用第一目标编码码率对直播音频进行编码,包括:
[0176]
利用第一目标编码码率对第一预设时长的下一直播音频段进行编码。
[0177]
可选的,如图5所示,音频编码装置500还包括,第三编码模块505,被配置为:
[0178]
若设备负载大于设备负载阈值,则按照第二音频编码模式确定直播音频的第二音频类型,以及与第二音频类型对应的第二目标编码码率,并利用第二目标编码码率对直播音频进行编码。
[0179]
可选的,第三编码模块505,被配置为:
[0180]
将当前帧直播音频的能量与背景噪声能量进行比较,确定当前帧直播音频的第二音频类型;
[0181]
在预先建立的音频类型与编码码率的第二对应关系表中,确定与第二音频类型对应的第二目标编码码率;
[0182]
利用第二目标编码码率对直播音频进行编码,包括:
[0183]
利用第二目标编码码率对当前帧直播音频进行编码。
[0184]
可选的,如图5所示,音频编码装置500还包括,第四编码模块506,被配置为:
[0185]
若设备负载小于或者等于设备负载阈值,则按照第三音频编码模式确定直播音频的第三音频类型,以及与第三音频类型对应的第三目标编码码率,并利用第三目标编码码率对直播音频进行编码。
[0186]
可选的,第四编码模块506,被配置为:
[0187]
获取第二预设时长的第二当前直播音频段;
[0188]
将第二当前直播音频段,输入预先训练的音频类型识别模型中进行音频类型识别,得到第二当前直播音频段的第四音频类型;
[0189]
将预设时长的下一直播音频段中,第一帧直播音频的能量与背景噪声能量进行比较,得到下一直播音频段中第一帧直播音频的第五音频类型;
[0190]
根据第四音频类型和第五音频类型,确定第一帧直播音频的第三音频类型;
[0191]
在预先建立的音频类型与编码码率的第三对应关系表中,确定与第三音频类型对应的第三目标编码码率;
[0192]
利用第三目标编码码率对直播音频进行编码,包括:
[0193]
利用第三目标编码码率对预设时长的下一直播音频段进行编码。
[0194]
可选的,如图5所示,音频编码装置500还包括,第五编码模块507,被配置为:
[0195]
若用户账户数量大于或者等于第二用户账户数量阈值,则按照第四目标编码码率对直播音频进行编码。
[0196]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0197]
本公开的示例性实施方式还提供了一种电子设备,可以是直播终端。下面参考图6对该电子设备进行说明。应当理解,下面参考图6对该电子设备进行说明。应当理解,图6显
示的电子设备600仅仅是一个示例,不应对本公开实施方式的功能和使用范围带来任何限制。
[0198]
如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630。
[0199]
其中,存储单元存储有程序代码,程序代码可以被处理单元610执行,使得处理单元610执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,处理单元610可以执行如图2至图4所示的方法步骤等。
[0200]
存储单元620可以包括易失性存储单元,例如随机存取存储单元(ram)621和/或高速缓存存储单元622,还可以进一步包括只读存储单元(rom)623。
[0201]
存储单元620还可以包括具有一组(至少一个)程序模块625的程序/实用工具624,这样的程序模块625包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0202]
总线630可以包括数据总线、地址总线和控制总线。
[0203]
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(i/o)接口640进行。电子设备600还可以通过网络适配器680与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器680通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0204]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0205]
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
[0206]
另外,本公开还提供一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述实施例所提供的音频编码方法。
[0207]
另外,本公开还提供一种计算机程序产品,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如上述实施例所提供的音频编码方法。
[0208]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其
它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0209]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1