音频数据处理方法和装置的制造方法

文档序号:8546063阅读:369来源:国知局
音频数据处理方法和装置的制造方法
【技术领域】
[0001]本发明涉及数据处理技术领域,尤其涉及一种音频数据处理方法和装置。
【背景技术】
[0002]在音频会议通讯时,现有技术一是服务器全编全解(Full-transcoding)模式,该模式下在服务器(server)内对应每个与会终端分配独立的音频解码器(decoder)和编码器(encoder),独立解码后根据会议的发言情况,进行混音处理,并独立编码发送到终端。现有技术二是中继(relay)模式,在不用解码的情况下,利用码流的特殊标记字段提取音频数据(aud1)的特性,来预判会议中的发言人以及发言人切换,将发言人的相应数据转发给所有的与会终端,这样大大降低了后台Server的CPU资源消耗。
[0003]但是,现有技术一中,由于编码需要耗费较多的CPU资源,独立配置编码器会引起巨大的CPU资源开销。现有技术二,不进行编解码的音频数据传输会增加终端的下行带宽消耗,引起较多的网络流量开销。

【发明内容】

[0004]本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
[0005]为此,本发明的一个目的在于提出一种音频数据处理方法,该方法可以兼顾Full-transcoding模式和relay模式的优点,尽量降低CPU消耗和网络流量消耗。
[0006]本发明的另一个目的在于提出一种音频数据处理装置。
[0007]为达到上述目的,本发明第一方面实施例提出的音频数据处理方法,包括:接收作为发送方的终端发送的解码前的音频数据,以及,对所述解码前的音频数据进行解码,得到解码后的音频数据;确定作为接收方的终端的当前角色,如果当前角色是发言者,根据所述解码前的音频数据获取要转发的音频数据,或者,如果当前角色是听众,根据所述解码后的音频数据获取要转发的音频数据;将所述要转发的音频数据,发送给所述作为接收方的终端。
[0008]本发明第一方面实施例提出的音频数据处理方法,通过获取解码前的音频数据和解码后的音频数据,并根据当前角色的不同,采用不同的方式获取要转发的音频数据,可以兼顾Full-transcoding模式和relay模式的优点,尽量降低CPU消耗和网络流量消耗。
[0009]为达到上述目的,本发明第二方面实施例提出的音频数据处理装置,包括:接收及解码模块,用于接收作为发送方的终端发送的解码前的音频数据,以及,对所述解码前的音频数据进行解码,得到解码后的音频数据;获取模块,用于确定作为接收方的终端的当前角色,如果当前角色是发言者,根据所述解码前的音频数据获取要转发的音频数据,或者,如果当前角色是听众,根据所述解码后的音频数据获取要转发的音频数据;发送模块,用于将所述要转发的音频数据,发送给所述作为接收方的终端。
[0010]本发明第二方面实施例提出的音频数据处理装置,通过获取解码前的音频数据和解码后的音频数据,并根据当前角色的不同,采用不同的方式获取要转发的音频数据,可以兼顾Full-transcoding模式和relay模式的优点,尽量降低CPU消耗和网络流量消耗。
[0011]本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【附图说明】
[0012]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0013]图1是本发明一实施例提出的音频数据处理方法的流程示意图;
[0014]图2是本发明实施例对应的音频处理系统的示意图;
[0015]图3是本发明另一实施例提出的音频数据处理方法的流程示意图;
[0016]图4是本发明实施例中确定要转发的音频数据的一种实现流程示意图;
[0017]图5是本发明另一实施例提出的音频数据处理方法的流程示意图;
[0018]图6是本发明另一实施例提出的音频数据处理装置的结构示意图;
[0019]图7是本发明另一实施例提出的音频数据处理装置的结构示意图。
【具体实施方式】
[0020]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
[0021]图1是本发明一实施例提出的音频数据处理方法的流程示意图,本实施例的执行主体是服务器(server),该方法包括:
[0022]Sll:接收作为发送方的终端发送的解码前的音频数据,以及,对所述解码前的音频数据进行解码,得到解码后的音频数据。
[0023]参见图2,假设终端分别用A,B,C,D,E表示,终端可以发送音频数据,也可以接收音频数据,其中,作为发送方时用终端21表示。
[0024]在服务器22内,对应每个发送方,分别设置接收模块(Recv)和解码模块(Dec),接收模块用于接收发送方发送的音频数据,该音频数据是解码前的音频数据,解码模块用于对接收的音频数据进行解码,得到解码后的音频数据。如图2所示,经过接收模块和解码模块,对应每个发送方可以得到两种数据,分别是解码前的音频数据和解码后的音频数据,在图2中,两种数据分别用不同的填充方式表示。
[0025]S12:确定作为接收方的终端的当前角色,如果当前角色是发言者,根据所述解码前的音频数据获取要转发的音频数据,或者,如果当前角色是听众,根据所述解码后的音频数据获取要转发的音频数据。
[0026]参见图2,在服务器内,该步骤可以具体由转发决策模块(forwarding decis1nmodule)执行。
[0027]当前角色可以包括:发言者,或者,听众。
[0028]可以理解的是,在不同的时刻,发言者或者听众是可以切换的。
[0029]类似relay模式,转发决策模块可以根据音频特性,在不解码的前提下确定出发言者,以及将不是发言者的其余终端确定为听众。音频特性例如为音频数据的能量值。
[0030]例如,转发决策模块可以接收到来自A,B,C,D,E的解码前的音频数据,之后可以检测每个解码前的音频数据的能量值,当一个终端的解码前的音频数据的能量值大于预设值,则表明该终端是发言者,否则是听众。
[0031]根据当前角色的不同,可以采用不同的处理方式得到要转发的音频数据。例如,对于发言者,可以将其他发言者的解码前的音频数据打包,而对于听众,可以将发言者的解码后的音频数据进行混音,并对混音后的数据进行编码。
[0032]可选的,参见图3,所述根据所述当前角色,获取要转发的音频数据,包括:
[0033]S31:如果所述当前角色是发言者,获取除自身之外的其他发言者的解码前的音频数据,并将所述解码前的音频数据打包后确定为要转发的音频数据;
[0034]例如,参见图2,如果发言者包括:A,B,C,则对应A,获取B和C的解码前的音频数据,将B和C的解码前的音频数据打包后确定为要转发给A的音频数据。对应B,获取A和C的解码前的音频数据,将A和C的解码前的音频数据打包后确定为要转发给B的音频数据。对应C,获取A和B的解码前的音频数据,将A和B的解码前的音频数据打包后确定为要转发给C的音频数据。
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1