一种音频处理方法及装置制造方法及图纸

技术编号:17999026 阅读:106 留言:0更新日期:2018-05-19 16:28
本发明专利技术提供提供一种音频处理方法及装置,在获取当前处理时刻下一个音视频通话中的至少一个客户端发送的音频帧以及至少一个客户端发送的音频帧中每个音频帧的采样时间戳后,根据每个音频帧的采样时间戳,获取每个音频帧中的全部采样数据,并对每个音频帧中的全部采样数据进行混合,得到由至少一个客户端共同使用的一个混合音频帧,相对于分别为一个音视频通话中的全部客户端得到一个音频帧来说,降低音频帧数量,进而可以降低MCU的计算负担和计算资源消耗。

【技术实现步骤摘要】
一种音频处理方法及装置
本专利技术属于音频
,更具体的说,尤其涉及一种音频处理方法及装置。
技术介绍
随着即时通讯软件的普及,即时通讯软件中的音视频通话成为目前信息沟通最有效的沟通方式,其中音视频通话中音视频帧传输方式有两种:第一种是点对点传输方式,即一个音视频通话中,任意一个客户端向音视频通话中的其他客户端发送音视频帧,并接收其他客户端发送的音视频帧,这种点对点传输方式无需服务器中转,但是当音视频通话中客户端数量较多时,每个客户端要承受巨大的计算和网络传输压力,因此这种点对点传输方式在音视频通话中较少使用。第二种是MCU(MultiControlUnit,多点控制单元)转发方式,在这种方式下有两种模式:一种模式是forward模式,在此模式下MCU可接收各客户端发送的音视频帧,然后各客户端从MCU中下载其他客户端的音视频帧;另一种模式是mix模式,在此模式下MCU将客户端发送的音视频帧混合,然后各客户端从MCU中下载混合后的音视频帧,因此从数据帧量角度来看,mix模式能最大程度降低客户端的计算和网络传输压力,mix模式是目前音视频通话中最有效的音视频帧传输方式。在mix模式中,MCU需要为音视频通话中的每个客户端混合出一路音频帧,如音视频通话中有N个客户端,对于第i个客户端来说,MCU需要从第i个客户端之外的其他客户端发送的音频帧中获取音频帧,然后对获取的音频帧进行混合,得到第i个客户端的混合音频帧,因此在音视频通话中有N个客户端的情况下,MCU则需要经过N次独立的编码、打包和加密等操作以得到N个混合音频帧,提高MCU的计算负担,进而提高MCU的计算资源消耗。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种音频处理方法及装置,用于为音视频通话中的各个客户端混合一路共用的混合音频帧,以此降低MCU的计算负担,进而降低MCU的计算资源消耗。技术方案如下:本专利技术提供一种音频处理方法,应用于音频混合器中,所述方法包括:获取当前处理时刻下至少一个客户端发送的音频帧以及所述至少一个客户端发送的音频帧中每个音频帧的采样时间戳,其中所述至少一个客户端处于一个音视频通话中,且所述至少一个客户端发送的音频帧中每个音频帧的时间长度相同;根据所述每个音频帧的采样时间戳,获取每个音频帧中的全部采样数据,其中每个音频帧中的采样数据总数相同,且所述采样时间戳用于指示对应的音频帧中各个采样数据的采样时间;对所述每个音频帧中的全部采样数据进行混合,得到由所述至少一个客户端共同使用的一个混合音频帧。优选的,所述方法还包括:为每个客户端分配各自对应的存储队列;每间隔所述音频帧的时间长度,获取所述至少一个客户端发送的音频帧以及所述至少一个客户端发送的音频帧中每个音频帧的采样时间戳;根据由先到后的音频帧采样顺序,将所述至少一个客户端发送的音频帧和该音频帧的采样时间戳存储到所述至少一个客户端各自对应的存储队列的存储区域中,其中所述音频帧采样顺序根据所述音频帧的采样时间戳确定;所述获取当前处理时刻下至少一个客户端发送的音频帧以及所述至少一个客户端发送的音频帧中每个音频帧的采样时间戳,包括:分别从每个客户端对应的存储队列中获取当前处理时刻下的音频帧以及每个音频帧的采样时间戳。优选的,所述对所述每个音频帧中的全部采样数据进行混合,得到由所述至少一个客户端共同使用的一个混合音频帧,包括:对所述每个音频帧中的第i个采样数据进行混合,得到所述混合音频帧中的第i个混合采样数据,0≤i≤N-1,N为所述采样数据总数;在得到所述混合音频帧中的第0个采样数据至第N-1个采样数据后,根据所述混合音频帧中的第0个采样数据至第N-1个采样数据,得到所述混合音频帧。优选的,所述方法还包括:将所述混合音频帧封装于数据包的数据区域中;将所述客户端的标识信息和所述音频帧的采样时间戳封装于所述数据包的数据头中,其中每个所述客户端的标识信息在所有标识信息中的排序和所述客户端的音频帧的采样时间戳在所有采样时间戳中的排序相同。本专利技术还提供一种音频处理方法,应用于客户端中,所述方法包括:在接收到音频混合器发送的数据包后,提取所述数据包中封装的客户端的标识信息和混合音频帧;将所提取的客户端的标识信息和接收所述数据包的客户端的标识信息进行比对,得到比对结果;根据所述比对结果,对所述混合音频帧进行回音处理,得到接收所述数据包的客户端的输出音频帧。优选的,所述根据所述比对结果,对所述混合音频帧进行回音处理,得到接收所述数据包的客户端的输出音频帧,包括:当所述比对结果表明所提取的客户端的标识信息中不存在接收所述数据包的客户端的标识信息时,将所述混合音频帧确定为接收所述数据包的客户端的输出音频帧;当所述比对结果表明所提取的客户端的标识信息中仅存在接收所述数据包的客户端的标识信息时,将接收所述数据包的客户端的输出音频帧确定为零;当所述比对结果表明所提取的客户端的标识信息中存在接收所述数据包的客户端的标识信息和其他客户端的标识信息时,获取接收所述数据包的客户端的原始音频帧,根据所述原始音频帧和所述混合音频帧,得到接收所述数据包的客户端的输出音频帧。优选的,所述获取接收所述数据包的客户端的原始音频帧,根据所述原始音频帧和所述混合音频帧,得到接收所述数据包的客户端的输出音频帧,包括:提取所述数据包中封装的各个音频帧的采样时间戳;从所提取的采样时间戳中获取接收所述数据包的客户端的采样时间戳;根据所述接收所述数据包的客户端的采样时间戳,从接收所述数据包的客户端的缓存区中提取所述原始音频帧;从所述混合音频帧中去除所述原始音频帧,得到接收所述数据包的客户端的输出音频帧。本专利技术还提供一种音频处理装置,应用于音频混合器中,所述装置包括:第一获取单元,用于获取当前处理时刻下至少一个客户端发送的音频帧以及所述至少一个客户端发送的音频帧中每个音频帧的采样时间戳,其中所述至少一个客户端处于一个音视频通话中,且所述至少一个客户端发送的音频帧中每个音频帧的时间长度相同;第二获取单元,用于根据所述每个音频帧的采样时间戳,获取每个音频帧中的全部采样数据,其中每个音频帧中的采样数据总数相同,且所述采样时间戳用于指示对应的音频帧中各个采样数据的采样时间;混合单元,用于对所述每个音频帧中的全部采样数据进行混合,得到由所述至少一个客户端共同使用的一个混合音频帧。优选的,所述装置还包括:分配单元,用于为每个客户端分配各自对应的存储队列;第三获取单元,用于每间隔所述音频帧的时间长度,获取所述至少一个客户端发送的音频帧以及所述至少一个客户端发送的音频帧中每个音频帧的采样时间戳;存储单元,用于根据由先到后的音频帧采样顺序,将所述至少一个客户端发送的音频帧和该音频帧的采样时间戳存储到所述至少一个客户端各自对应的存储队列的存储区域中,其中所述音频帧采样顺序根据所述音频帧的采样时间戳确定;所述第一获取单元,具体用于分别从每个客户端对应的存储队列中获取当前处理时刻下的音频帧以及每个音频帧的采样时间戳。优选的,所述混合单元,具体用于对所述每个音频帧中的第i个采样数据进行混合,得到所述混合音频帧中的第i个混合采样数据,0≤i≤N-1,N为所述采样数据总数;在得到所述混合音频帧中的第0个采样数据至第N-1个采样数据后,根据所述混合音频帧中的第0个采本文档来自技高网
...
一种音频处理方法及装置

【技术保护点】
一种音频处理方法,应用于音频混合器中,其特征在于,所述方法包括:获取当前处理时刻下至少一个客户端发送的音频帧以及所述至少一个客户端发送的音频帧中每个音频帧的采样时间戳,其中所述至少一个客户端处于一个音视频通话中,且所述至少一个客户端发送的音频帧中每个音频帧的时间长度相同;根据所述每个音频帧的采样时间戳,获取每个音频帧中的全部采样数据,其中每个音频帧中的采样数据总数相同,且所述采样时间戳用于指示对应的音频帧中各个采样数据的采样时间;对所述每个音频帧中的全部采样数据进行混合,得到由所述至少一个客户端共同使用的一个混合音频帧。

【技术特征摘要】
1.一种音频处理方法,应用于音频混合器中,其特征在于,所述方法包括:获取当前处理时刻下至少一个客户端发送的音频帧以及所述至少一个客户端发送的音频帧中每个音频帧的采样时间戳,其中所述至少一个客户端处于一个音视频通话中,且所述至少一个客户端发送的音频帧中每个音频帧的时间长度相同;根据所述每个音频帧的采样时间戳,获取每个音频帧中的全部采样数据,其中每个音频帧中的采样数据总数相同,且所述采样时间戳用于指示对应的音频帧中各个采样数据的采样时间;对所述每个音频帧中的全部采样数据进行混合,得到由所述至少一个客户端共同使用的一个混合音频帧。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:为每个客户端分配各自对应的存储队列;每间隔所述音频帧的时间长度,获取所述至少一个客户端发送的音频帧以及所述至少一个客户端发送的音频帧中每个音频帧的采样时间戳;根据由先到后的音频帧采样顺序,将所述至少一个客户端发送的音频帧和该音频帧的采样时间戳存储到所述至少一个客户端各自对应的存储队列的存储区域中,其中所述音频帧采样顺序根据所述音频帧的采样时间戳确定;所述获取当前处理时刻下至少一个客户端发送的音频帧以及所述至少一个客户端发送的音频帧中每个音频帧的采样时间戳,包括:分别从每个客户端对应的存储队列中获取当前处理时刻下的音频帧以及每个音频帧的采样时间戳。3.根据权利要求1所述的方法,其特征在于,所述对所述每个音频帧中的全部采样数据进行混合,得到由所述至少一个客户端共同使用的一个混合音频帧,包括:对所述每个音频帧中的第i个采样数据进行混合,得到所述混合音频帧中的第i个混合采样数据,0≤i≤N-1,N为所述采样数据总数;在得到所述混合音频帧中的第0个采样数据至第N-1个采样数据后,根据所述混合音频帧中的第0个采样数据至第N-1个采样数据,得到所述混合音频帧。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:将所述混合音频帧封装于数据包的数据区域中;将所述客户端的标识信息和所述音频帧的采样时间戳封装于所述数据包的数据头中,其中每个所述客户端的标识信息在所有标识信息中的排序和所述客户端的音频帧的采样时间戳在所有采样时间戳中的排序相同。5.一种音频处理方法,应用于客户端中,其特征在于,所述方法包括:在接收到音频混合器发送的数据包后,提取所述数据包中封装的客户端的标识信息和混合音频帧;将所提取的客户端的标识信息和接收所述数据包的客户端的标识信息进行比对,得到比对结果;根据所述比对结果,对所述混合音频帧进行回音处理,得到接收所述数据包的客户端的输出音频帧。6.根据权利要求5所述的方法,其特征在于,所述根据所述比对结果,对所述混合音频帧进行回音处理,得到接收所述数据包的客户端的输出音频帧,包括:当所述比对结果表明所提取的客户端的标识信息中不存在接收所述数据包的客户端的标识信息时,将所述混合音频帧确定为接收所述数据包的客户端的输出音频帧;当所述比对结果表明所提取的客户端的标识信息中仅存在接收所述数据包的客户端的标识信息时,将接收所述数据包的客户端的输出音频帧确定为零;当所述比对结果表明所提取的客户端的标识信息中存在接收所述数据包的客户端的标识信息和其他客户端的标识信息时,获取接收所述数据包的客户端的原始音频帧,根据所述原始音频帧和所述混合音频帧,得到接收所述数据包的客户端的输出音频帧。7.根据权利要求6所述的方法,其特征在于,所述获取接收所述数据包的客户端的原始音频帧,根据所述原始音频帧和所述混合音频帧,得到接收所述数据包的客户端的输出音频帧,包括:提取所述数据包中封装的各个音频帧的采样时间戳;从所提取的采样时间戳中获取接收所述数据包的客户端的采样时间戳;根据所述接收所述数据包的客户端的采样时间戳,从接收所述数据包的客户端的缓存区中提取所述原始音频帧;从所述混合音频帧中去除所述原始音频帧,得到接收所述数据包的客户端的输出音频帧。8.一种音频处理装置,应用于音频混合器中,其特征在于,所述装置包括:第一获取单元,用于获取当前处理时刻下至少一个客户端发送的音频帧以及所述至少一个客户端发送的音频帧中每个音频帧的采样时间戳,其中所述至少一个客户端处于...

【专利技术属性】
技术研发人员:李晓威
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1