基于移动终端的音频处理方法和装置的制造方法_4

文档序号:9202581阅读:来源:国知局
r>[0109]具体地,若丢失的数据包所在的第一预设数量的一组数据包中丢包总数量超过第二预设数量,说明一组数据包中丢失的数据包太多,根据该组的纠错冗余包已经无法恢复出丢失的数据包。
[0110]进一步地,若本端的网络类型对应的网络资源充足,则可以向对端请求重发丢失的数据包,若本端的网络类型对应的网络资源不足,则可以直接放弃处理丢失的数据包,继续处理音频码流。
[0111]步骤606,根据丢失的数据包所在组的数据包中剩余的数据包和相应的纠错冗余包恢复丢失的数据包。
[0112]具体地,若丢失的数据包所在的第一预设数量的一组数据包中丢包总数量小于等于第二预设数量,说明一组数据包中丢失的数据包数量在可恢复的范围内,根据该组的纠错冗余包可以恢复出丢失的数据包。此时根据一组数据包中剩余的数据包和该组对应的纠错冗余包恢复音频码流中丢失的数据包。
[0113]本实施例中,通过判断是否具备恢复丢失的数据包的条件,在具体条件时根据丢失的数据包所在组的数据包中剩余的数据包和相应的纠错冗余包恢复丢失的数据包,可以提尚通?目的可?目度。
[0114]在一个实施例中,步骤510之前还包括:将解码获得的音频数据缓冲到缓冲区。步骤510包括:从缓冲区中提取缓冲的音频数据,并将提取的音频数据转换为与本端的终端能力参数匹配的音频数据格式。且该方法还包括:根据接收到的音频码流中相邻数据包的接收时间间隔动态调整缓冲区的大小。
[0115]具体地,对端发送音频码流时每个数据包都是按照固定频率发送,相邻数据包之间的时间间隔均匀,经过网络传输到达本端后相邻数据包之间的时间间隔就变得不均匀。为了满足声音的连续播放需求,要进行抗网络抖动处理,这里通过自适应缓冲的抗抖动方式,根据相邻网络来包的接收时间间隔来决定缓冲区的大小,整个大小根据网络收包情况动态调整。具体在相邻网络来包的接收时间间隔增大时增大缓冲区的大小,而在相邻网络来包的接收时间间隔减小时减小缓冲区的大小。在一个实施例中,在检测到缓冲区里无数据时播放静音。
[0116]本实施例中,通过自适应的缓冲区作用,来保证不均匀的网络收包数据,可以连续播放出来,而不会出现断续。
[0117]在一个实施例中,步骤512包括:将多路经过转换的音频数据进行混音处理,且每路经过转换的音频数据分别对应一个对端;播放经过混音处理的音频数据。
[0118]在超过两个人的多人通话中,本端会收到除自身外的其他所有对端的音频码流,且每音频码流分别对应一个对端。将每路音频码流分别按照上述步骤502至步骤510处理,得到多路经过转换的音频数据,进行混音处理后播放,才可以听到其它各参与方的声音。
[0119]在一个实施例中,为了避免多路混音后数据溢出带来的失真,混音处理采用压扩的方式对时域相加后的数据进行缩放,确保不会溢出导致失真。
[0120]下面用一个具体应用场景来说明上述基于移动终端的音频处理方法的原理。参照图7,具体包括如下步骤:
[0121]获取本端的终端能力参数,根据本端的终端能力参数确定具有相应音频编码等级的音频编码器、编码参数、音频数据格式和组包方式;组包方式包括:单帧组包方式和多帧组包方式。本端采集声音并根据确定的音频数据格式形成音频数据,采用确定的音频编码器,以按照相应的音频编码等级按帧对音频数据进行音频编码。本端将编码后的数据按照确定的组包方式组包形成音频码流,并进行纠错编码形成纠错冗余包加入音频码流,然后将音频码流通过网络发送到对端。
[0122]进一步地,本端接收各对端发来的音频码流,若丢失数据包则进行纠错解码恢复丢失的数据包。对每路音频码流检测码流特征,根据码流特征确定具有相应音频解码等级的音频解码器,采用确定的音频解码器对接收到的音频码流进行自适应音频解码,获得音频数据放入该路缓冲区。缓冲区的大小根据该路音频码流中相邻数据包的接收时间间隔动态调整,以实现自适应抗抖动。本端将每路缓冲区中的音频数据取出后转换为本端适用的音频数据格式,并将多路的经过转换的音频数据进行混音处理,并播放经过混音处理的音频数据。
[0123]如图8所示,在一个实施例中,提供了一种基于移动终端的音频处理装置800,具有实现上述用于发送音频码流的各实施例的基于移动终端的音频处理方法的各功能模块。该基于移动终端的音频处理装置800包括:终端能力决策模块802、音频采集模块804、编码模块806和组包处理模块808。
[0124]终端能力决策模块802,用于获取本端的终端能力参数。根据本端的终端能力参数确定音频编码等级和音频数据格式。
[0125]音频采集模块804,用于采集声音并根据确定的音频数据格式形成音频数据。
[0126]编码模块806,用于根据音频编码等级对音频数据进行音频编码。
[0127]组包处理模块808,用于将编码后的数据组包形成音频码流并通过网络发送到对端,使得对端对音频码流进行自适应解码后根据对端的终端能力参数进行音频数据格式转换并播放。
[0128]在一个实施例中,终端能力决策模块802还用于根据本端的终端能力参数确定组包方式;组包方式包括:单帧组包方式和多帧组包方式。
[0129]编码模块806还用于根据音频编码等级按帧对音频数据进行音频编码。
[0130]组包处理模块808还用于将编码后的数据按照确定的组包方式组包形成音频码流并通过网络发送到对端。
[0131]在一个实施例中,终端能力参数包括:用于处理音频的软件信息和硬件信息,以及网络类型;
[0132]终端能力决策模块802还用于根据本端的软件信息、硬件信息和网络类型选择具有相应的音频编码等级的音频编码器,并确定与选择的音频编码器相匹配的音频数据格式。
[0133]编码模块806还用于采用确定的音频编码器,以按照相应的音频编码等级对音频数据进行音频编码。
[0134]如图9所示,在一个实施例中,基于移动终端的音频处理装置800还包括纠错编码模块810,用于将组包后的数据包中每第一预设数量的数据包划分为一组,根据该一组数据包的数据内容生成相应的第二预设数量的纠错冗余包加入到音频码流;第一预设数量大于第二预设数量。
[0135]上述基于移动终端的音频处理装置800,本端根据自身的终端能力参数确定音频编码等级和音频数据格式,这样采集的音频数据是与终端自身的能力相匹配的,而且编码也是与终端自身的能力相匹配的。将编码后的数据组包形成音频码流并通过网络发送到对端后,对端就可以自适应确定音频解码等级以对音频码流进行音频解码,进而将解码后的音频数据转换为与对端的终端能力参数匹配的音频数据格式进行播放,对端就可以根据自身的能力来自适应地处理音频。这样处理能力强的移动终端确保有高质量的语音通话,而处理能力差的移动终端则语音质量相对下降,充分利用了不同的移动终端的能力资源。
[0136]如图10所示,在一个实施例中,提供了一种基于移动终端的音频处理装置1000,具有实现上述用于在接收到音频码流后进行处理的各实施例的基于移动终端的音频处理方法的各功能模块。该基于移动终端的音频处理装置1000包括:音频码流接收模块1002、码流特征检测模块1004、音频解码等级确定模块1006、解码模块1008、音频数据格式转换模块1010和音频播放模块1012。
[0137]音频码流接收模块1002,用于接收对端发来的音频码流。
[0138]码流特征检测模块1004,用于检测音频码流的码流特征。
[0139]音频解码等级确定模块1006,用于根据码流特征确定音频解码等级。
[0140]解码模块1008,用于根据确定的音频解码等级对音频码流进行音频解码,获得音频数据。
[0141]音频数据格式转换模块1010,用于将音频数据转换为与本端的终端能力参数匹配的音频数据格式。
[0142]音频播放模块1012,用于播放经过转换的音频数据。
[0143]在一个实施例中,终端能力参数包括:用于处理音频的软件信息和硬件信息,以及网络类型。
[0144]如图11所示,在一个实施例中,基于移动终端的音频处理装置1000还包括纠错解码模块1014,用于检测到接收到的音频码流中的数据包丢失时,判断丢失的数据包所在的第一预设数量的一组数据包中丢包总数量是否超过第二预设数量;若是
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1