CN110503935A - 音频数据处理方法、装置、电子设备及存储介质 - Google Patents
音频数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110503935A CN110503935A CN201910642776.6A CN201910642776A CN110503935A CN 110503935 A CN110503935 A CN 110503935A CN 201910642776 A CN201910642776 A CN 201910642776A CN 110503935 A CN110503935 A CN 110503935A
- Authority
- CN
- China
- Prior art keywords
- data
- electronic equipment
- audio data
- packet
- audio
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/36—Accompaniment arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/005—Musical accompaniment, i.e. complete instrumental rhythm synthesis added to a performed melody, e.g. as output by drum machines
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/471—General musical sound synthesis principles, i.e. sound category-independent synthesis methods
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本公开是关于一种音频数据处理方法、装置、电子设备及存储介质。其中,所述音频数据处理方法包括:采集第一电子设备的第一音频数据;接收第二电子设备以UDP协议和目标传输优先级发送的第二音频数据;在检测到所述第二音频数据发生丢包的情况下,利用所述当前数据包和所述冗余数据包恢复所述第二音频数据中的丢失数据包;同时播放所述第一音频数据和恢复之后的所述第二音频数据。上述方法中第二音频数据可以较小的延迟到达第一电子设备,并且保证了数据的连续性、可靠性,从而使第一音频数据和第二音频数据可以达到基本零延时的准确合音。
Description
技术领域
本公开涉及移动互联网应用领域,尤其涉及一种音频数据处理方法、装置、电子设备及存储介质。
背景技术
目前,很多直播类平台为了提高直播间的互动性加入了连麦合唱等互动形式的玩法。连麦合唱即主播方和观众方在不同的终端上进行连接麦克风的合唱。
目前应用在连麦合唱上的技术主要是基于语音连麦的合唱方案,该方案由一方播放伴奏,双方通过实时语音通话进行合唱。但是该方案由于网络延迟的原因,一方听到伴奏后再唱歌,该唱歌语音传回对方需要经过一个rtt(round trip time,往返时间)延迟,导致双方的两个语音无法准确的重合在一起。所以目前的连麦合唱技术存在无法使合唱的各方准确合音的缺点。
发明内容
为克服相关技术中存在的问题,本公开提供一种音频数据处理方法、装置、电子设备及存储介质。
根据本公开实施例的第一方面,提供一种音频数据处理方法,应用于第一电子设备,包括:
采集第一电子设备的第一音频数据;
接收第二电子设备以UDP协议和目标传输优先级发送的第二音频数据;其中,所述目标传输优先级高于预设优先级阈值;所述第二音频数据中携带当前数据包和目标数量的冗余数据包;
在检测到所述第二音频数据发生丢包的情况下,利用所述当前数据包和所述冗余数据包恢复所述第二音频数据中的丢失数据包;
同时播放所述第一音频数据和恢复之后的所述第二音频数据。
可选地,在利用所述当前数据包和所述冗余数据包恢复所述第二音频数据中的丢失数据包之后,还包括:
向所述第二电子设备请求当前时刻之前第一预设时间段内已发送的所述第二音频数据包含的数据包总数量;
获取所述第一预设时间段内的丢包总数量;
根据获取的所述数据包总数量和所述丢包总数量,计算丢包率;
向所述第二电子设备发送所述丢包率。
可选地,在利用所述当前数据包和所述冗余数据包恢复所述第二音频数据中的丢失数据包之后,还包括:
向所述第二电子设备发送所述第二音频数据的丢包数量。
可选地,所述冗余数据包为所述当前数据包之前间隔一个待恢复数据包的前序数据包,所述利用所述当前数据包和所述冗余数据包恢复所述第二音频数据中的丢失数据包,包括:
对间隔一个待恢复数据包的两个目标数据包进行异或运算,得到所述待恢复数据包,所述两个目标数据包包括:所述当前数据包和所述前序数据包,或,两个所述前序数据包。
可选地,在所述采集第一电子设备的第一音频数据之前,包括:
将所述第一电子设备中音频采集设备的缓存周期设置为第一周期;
在采集第一电子设备的第一音频数据之后,包括:
获取所述第一音频数据的声音频率;
在所述声音频率大于第一频率阈值的情况下,将所述音频采集设备的缓存周期设置为第二周期;其中,所述第二周期小于所述第一周期。
可选地,所述第一音频数据和所述第二音频数据包括相同的背景音频数据;在采集第一电子设备的第一音频数据之前,包括:
以所述目标传输优先级向所述第二电子设备发送背景播放指令,以控制所述第二电子设备在接收到所述背景播放指令时,播放所述背景音频数据;
在第二预设时间之后播放所述背景音频数据,所述第二预设时间根据传输所述背景播放指令的预估时间确定。
根据本公开实施例的第二方面,提供一种音频数据处理方法,应用于第二电子设备,包括:
采集第二电子设备的当前音频数据,并对所述当前音频数据进行实时编码得到当前数据包;
根据从第一电子设备获取的丢包信息,获取目标数量的冗余数据包;所述冗余数据包为位于所述当前数据包之前的前序数据包;
以UDP协议和目标传输优先级向所述第一电子设备发送包含所述当前数据包和所述冗余数据包的第二音频数据。
可选地,所述丢包信息包括丢包率,所述根据从第一电子设备获取的丢包信息,获取目标数量的冗余数据包,包括:
根据所述丢包信息中包括的丢包率,预估所述当前数据包到达所述第一电子设备时的丢包数量;
根据预估的所述丢包数量,计算需要获取的冗余数据包的目标数量;
从所述当前数据包的多个前序数据包中,获取目标数量的冗余数据包。
可选地,所述丢包信息包括丢包数量,所述根据从第一电子设备获取的丢包信息,获取目标数量的冗余数据包,包括:
根据所述丢包信息中包括的丢包数量,计算当前时刻之前所述第一预设时间段内的所述第二音频数据的丢包总数量;
获取所述第一预设时间段内已发送的数据包总数量;
计算所述丢包总数量与所述数据包总数量的比值,得到丢包率;
根据所述丢包率,预估所述当前数据包到达所述第一电子设备时的丢包数量;
根据预估的所述丢包数量,计算需要获取的冗余数据包的目标数量;
从所述当前数据包的多个前序数据包中,获取目标数量的冗余数据包。
根据本公开实施例的第三方面,提供一种音频数据处理装置,应用于第一电子设备,包括:
第一采集模块,被配置为执行采集第一电子设备的第一音频数据;
第二音频数据接收模块,被配置为执行接收第二电子设备以UDP协议和目标传输优先级发送的第二音频数据;其中,所述目标传输优先级高于预设优先级阈值;所述第二音频数据中携带当前数据包和目标数量的冗余数据包;
恢复模块,被配置为执行在检测到所述第二音频数据发生丢包的情况下,利用所述当前数据包和所述冗余数据包恢复所述第二音频数据中的丢失数据包;
第一播放模块,被配置为执行同时播放所述第一音频数据和恢复之后的所述第二音频数据。
可选地,还包括:
请求模块,被配置为执行向所述第二电子设备请求当前时刻之前第一预设时间段内已发送的所述第二音频数据包含的数据包总数量;
获取模块,被配置为执行获取所述第一预设时间段内的丢包总数量;
计算模块,被配置为执行根据获取的所述数据包总数量和所述丢包总数量,计算丢包率;
丢包率发送模块,被配置为执行向所述第二电子设备发送所述丢包率。
可选地,还包括:
丢包数量发送模块,被配置为执行向所述第二电子设备发送所述第二音频数据的丢包数量。
可选地,所述冗余数据包为所述当前数据包之前间隔一个待恢复数据包的前序数据包,所述恢复模块包括:
恢复子模块,被配置为执行对间隔一个待恢复数据包的两个目标数据包进行异或运算,得到所述待恢复数据包,所述两个目标数据包包括:所述当前数据包和所述前序数据包,或,两个所述前序数据包。
可选地,包括:
第一设置模块,被配置为执行将所述第一电子设备中音频采集设备的缓存周期设置为第一周期;
声音频率获取模块,被配置为执行在采集第一电子设备的第一音频数据之后,获取所述第一音频数据的声音频率;
第二设置模块,被配置为执行在所述声音频率大于第一频率阈值的情况下,将所述音频采集设备的缓存周期设置为第二周期;其中,所述第二周期小于所述第一周期。
可选地,所述第一音频数据和所述第二音频数据包括相同的背景音频数据,所述装置包括:
指令发送模块,被配置为执行在采集第一电子设备的第一音频数据之前,以所述目标传输优先级向所述第二电子设备发送背景播放指令,以控制所述第二电子设备在接收到所述背景播放指令时,播放所述背景音频数据;
第二播放模块,被配置为执行在第二预设时间之后播放所述背景音频数据,所述第二预设时间根据传输所述背景播放指令的预估时间确定。
根据本公开实施例的第四方面,提供一种音频数据处理装置,应用于第二电子设备,包括:
第二采集模块,被配置为执行采集第二电子设备的当前音频数据,并对所述当前音频数据进行实时编码得到当前数据包;
冗余数据包获取模块,被配置为执行根据从第一电子设备获取的丢包信息,获取目标数量的冗余数据包;所述冗余数据包为位于所述当前数据包之前的前序数据包;
音频数据发送模块,被配置为执行以UDP协议和目标传输优先级向所述第一电子设备发送包含所述当前数据包和所述冗余数据包的第二音频数据。
可选地,所述丢包信息包括丢包率,所述冗余数据包获取模块,包括:
第一预估子模块,被配置为执行根据所述丢包信息中包括的丢包率,预估所述当前数据包到达所述第一电子设备时的丢包数量;
第一目标数量计算模块,被配置为执行根据预估的所述丢包数量,计算需要获取的冗余数据包的目标数量;
第一获取子模块,被配置为执行从所述当前数据包的多个前序数据包中,获取目标数量的冗余数据包。
可选地,所述丢包信息包括丢包数量,所述冗余数据包获取模块,包括:
丢包总数量计算子模块,被配置为执行根据所述丢包信息中包括的丢包数量,计算当前时刻之前所述第一预设时间段内的所述第二音频数据的丢包总数量;
数据包总数量获取子模块,被配置为执行获取所述第一预设时间段内已发送的数据包总数量;
比值计算子模块,被配置为执行计算所述丢包总数量与所述数据包总数量的比值,得到丢包率;
第二预估子模块,被配置为执行根据所述丢包率,预估所述当前数据包到达所述第一电子设备时的丢包数量;
第二目标数量计算子模块,被配置为执行根据预估的所述丢包数量,计算需要获取的冗余数据包的目标数量;
第二获取子模块,被配置为执行从所述当前数据包的多个前序数据包中,获取目标数量的冗余数据包。
根据本公开实施例的第五方面,提供一种电子设备,包括:
处理器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现上述第一方面所述的音频数据处理方法,和/或,上述第二方面所述的音频数据处理方法。
根据本公开实施例的第六方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述第一方面所述的音频数据处理方法,和/或,上述第二方面所述的音频数据处理方法。
根据本发明实施例的第七方面,提供一种计算机程序产品,当所述计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备能够执行上述第一方面所述的音频数据处理方法,和/或,上述第二方面所述的音频数据处理方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
在本发明实施例中,第一电子设备采集第一电子设备的第一音频数据;接收第二电子设备以UDP协议和目标传输优先级发送的第二音频数据,其中,所述目标传输优先级高于预设优先级阈值;所述第二音频数据中携带当前数据包和目标数量的冗余数据包;在检测到所述第二音频数据发生丢包的情况下,利用所述当前数据包和所述冗余数据包恢复所述第二音频数据中的丢失数据包;同时播放所述第一音频数据和恢复之后的所述第二音频数据。上述方法中第一电子设备接收第二电子设备以UDP协议和目标传输优先级发送的第二音频数据,使得第二音频数据可以较小的延迟到达第一电子设备;并且,在发生丢包时,利用当前数据包和冗余数据包恢复丢失数据包,保证了数据的连续性、可靠性,从而使第一音频数据和第二音频数据可以达到基本零延时的准确合音。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种音频数据处理方法的流程图之一;
图2是根据一示例性实施例示出的一种音频数据处理方法的流程图之二;
图3是根据一示例性实施例示出的一种音频数据处理方法的流程图之三;
图4是根据一示例性实施例示出的一种音频数据处理装置的框图之一;
图5是根据一示例性实施例示出的一种音频数据处理装置的框图之二;
图6是根据一示例性实施例示出的一种音频数据处理装置的框图之三;
图7是根据一示例性实施例示出的一种电子设备的框图(电子设备的一般结构)。
图8是根据一示例性实施例示出的一种电子设备的框图(服务器的一般结构)。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种音频数据处理方法的流程图之一,如图1所示,该音频数据处理方法用于第一电子设备中,包括以下步骤。
在步骤S101中,采集第一电子设备的第一音频数据。
在本发明实施例中,第一电子设备和第二电子设备可以是正在进行连麦合唱的两个电子设备,其中,两个电子设备可以分别是主播端和观众端,至于第一电子设备和第二电子设备哪个是主播端,哪个是观众端,本发明实施例对此不做具体限定。
需要注意的是,在连麦合唱过程中,因为第一电子设备或第二电子设备可以同时作为信息发送端和信息接收端,所以本发明实施例中第一电子设备的音频数据处理方法也可以应用于第二电子设备中,且第二电子设备中校验数据包的发送方法也可以应用于第一电子设备中。
由第一电子设备或第二电子设备发起连麦合唱的请求,对端在接受请求后,两个电子设备对应的用户分别开始唱歌,同时,两个电子设备的音频采集设备分别开始采集用户唱歌的音频数据,并分别将采集到的音频数据发送到对端,以使对端可以播放本端的音频数据。例如,对于第一电子设备,音频采集设备在采集第一电子设备用户的第一音频数据后,音频播放设备对该第一音频数据进行播放,发送设备将该第一音频数据发送至第二电子设备,接收设备接收来自第二电子设备的第二音频数据,音频播放设备对该第二音频数据进行播放,从而使第一电子设备同时播放第一音频数据和第二音频数据。
在步骤S102中,接收第二电子设备以UDP协议和目标传输优先级发送的第二音频数据;其中,所述目标传输优先级高于预设优先级阈值;所述第二音频数据中携带当前数据包和目标数量的冗余数据包。
为了使第一音频数据和第二音频数据可以准确和音,需要优化采集和播放过程中的延时。第一电子设备和第二电子设备除了使用高精度、高速度的A/D(Digital to analogconverter,数字模拟转换)采集芯片来完成语音信号的采集,第一电子设备和第二电子设备也可以在向对端发送音频数据之前,为即将发送的音频数据包添加目标传输优先级标识,该目标传输优先级高于预设优先级阈值,以在发送过程中调整音频数据包的优先级,使得数据能够尽快的到达对端,减少网络传输延迟。
UDP(User Datagram Protocol,用户数据报协议),是OSI(Open SystemInterconnection,开放式系统互联)参考模型中一种无连接的传输层协议。UDP报文没有可靠性保证、顺序保证和流量控制字段等控制选项,正因为UDP协议的控制选项较少,在数据传输过程中延迟小、数据传输效率高。第二电子设备选用UDP协议传输第二音频数据,相比于其他协议,可以使第二音频数据更快达到第一电子设备。
第一电子设备接收到第二电子设备发送的第二音频数据后,解析第二音频数据包包头,获得优先级标识信息,并依据优先级信息对第二音频数据进行优先解码。
在步骤S103中,在检测到所述第二音频数据发生丢包的情况下,利用所述当前数据包和所述冗余数据包恢复所述第二音频数据中的丢失数据包。
第一电子设备在对第二音频数据解码过程中,获得数据包序号,若检测到数据包序号不连续,则确定发生丢包。此时,第一电子设备可以利用第二音频数据中携带的当前数据包和冗余数据包恢复丢失的数据包。
第二电子设备在发送第二音频数据时,不仅将当前序号的数据包封装在第二音频数据中,还获取当前序号数据包之前一定数量的前序数据包,作为冗余数据包添加在第二音频数据中,一并发送给第一电子设备。这样,第一电子设备可以接收第二音频数据中的当前数据包,并且在发现丢包时,第一电子设备不需要向第二电子设备发送丢包信息,直接可以利用当前数据包和冗余数据包恢复丢失数据包。
相比于传统的丢包时才发送丢包信息,以获取冗余数据包的方法,本方案对丢失数据包的恢复更及时、更高效。并且,本发明实施例因为对丢失数据包进行了及时有效的恢复,从而弥补了UDP协议报文没有可靠性保证、顺序保证的缺点。
在步骤S104中,同时播放所述第一音频数据和恢复之后的所述第二音频数据。
在本发明实施例中,第一电子设备在对丢失数据进行恢复后,将采集到的第一音频数据和恢复之后的第二音频数据同时播放,从而使得第一音频数据和第二音频数据产生了合音的效果。因为第二音频数据采用UDP协议和目标传输优先级发送,故传输延时较小,且因为第二音频数据中还携带冗余数据包,可以对丢失数据进行快速、准确的恢复,所以第一音频数据和第二音频数据可以达到基本零延时的准确合音。
综上所述,在本发明实施例中,第一电子设备采集第一电子设备的第一音频数据;接收第二电子设备以UDP协议和目标传输优先级发送的第二音频数据,其中,所述目标传输优先级高于预设优先级阈值;所述第二音频数据中携带当前数据包和目标数量的冗余数据包;在检测到所述第二音频数据发生丢包的情况下,利用所述当前数据包和所述冗余数据包恢复所述第二音频数据中的丢失数据包;同时播放所述第一音频数据和恢复之后的所述第二音频数据。上述方法中第一电子设备接收第二电子设备以UDP协议和目标传输优先级发送的第二音频数据,使得第二音频数据可以较小的延迟到达第一电子设备;并且,在发生丢包时,直接利用第二音频数据中包含的当前数据包和冗余数据包恢复丢失数据包,避免了发生丢包时才向第二电子设备请求冗余数据包产生的时延,保证了数据的连续性、可靠性,从而使第一音频数据和第二音频数据可以达到基本零延时的准确合音。
图2是根据一示例性实施例示出的一种音频数据处理方法的流程图之二,是图1中的音频数据处理方法的可选实施例,如图2所示,该音频数据处理方法用于第一电子设备中,包括以下步骤。
在步骤S201中,采集第一电子设备的第一音频数据。
在本发明实施例中,步骤S201可以参照步骤S101,此处不再赘述。
在步骤S202中,接收第二电子设备以UDP协议和目标传输优先级发送的第二音频数据;其中,所述目标传输优先级高于预设优先级阈值;所述第二音频数据中携带当前数据包和目标数量的冗余数据包。
在本发明实施例中,步骤S202可以参照步骤S102,此处不再赘述。
在步骤S203中,所述冗余数据包为所述当前数据包之前间隔一个待恢复数据包的前序数据包;在检测到所述第二音频数据发生丢包的情况下,对间隔一个待恢复数据包的两个目标数据包进行异或运算,得到所述待恢复数据包。
在本发明实施例中,第一电子设备在对第二音频数据解码过程中,获得数据包序号,若检测到数据包序号不连续,则确定发生丢包。
第二音频数据中携带冗余数据包,该冗余数据包为当前数据包之前间隔一个待恢复数据包的前序数据包,在确定丢包的情况下,第一电子设备可以利用当前数据包和冗余数据包进行异或运算,得到待恢复的数据包,即丢失数据包。
具体地,设当前数据包序号为m,与当前数据包间隔一个待恢复数据包的前序数据包序号分别为m-2、m-4、m-6,其中,当前数据包m和与其隔一个序号的前序数据包m-2进行异或运算,可以得到序号为m-1的数据包内容;前序数据包m-2与前序数据包m-4进行异或运算,可以得到序号为m-3的数据包内容;前序数据包m-4与前序数据包m-6进行异或运算,可以得到序号为m-5的数据包内容。由此可知,进行异或运算的两个目标数据包可以分别为:当前数据包和前序数据包,或,两个前序数据包。
丢失的数据包一般为当前数据包之前一定数量的数据包,所以通过包含当前数据包和前序数据包的第二音频数据,可以恢复得到当前数据包之前一定数量的数据包,即丢失的数据包。此外,因为第二音频数据中包含当前数据包,所以第一电子设备同时获取到了当前数据包,这样就可以按序播放当前数据包的音频数据,避免了在恢复并播放丢失数据包后,第二音频数据的播放出现卡顿。
在步骤S204中,同时播放所述第一音频数据和恢复之后的所述第二音频数据。
在本发明实施例中,步骤S204可以参照步骤S104,此处不再赘述。
在本发明实施例中,步骤S205-步骤S208,或,步骤S209可以在步骤S204之后分别执行,也可以在步骤S204之前分别执行,本发明实施例对此不做具体限定。
在步骤S205中,向所述第二电子设备请求当前时刻之前第一预设时间段内已发送的所述第二音频数据包含的数据包总数量。
在本发明实施例中,第一电子设备在恢复了丢失数据后,可以通过获取第一预设时间段内第二电子设备发送的数据包总数量和丢包总数量,计算第一预设时间段内的丢包率,并将丢包率发送给第二电子设备,以方便第二电子设备根据所述丢包率调整第二音频数据中携带的冗余数据包的数量。
所以,第一电子设备首先向第二电子设备请求当前时刻之前第一预设时间段内已发送的第二音频数据包含的数据包总数量。具体地,可以从当前时刻向前一定时长,作为第一预设时间段,第一预设时间段的具体长度可以根据需求预设,本发明实施例不做具体限定。
在步骤S206中,获取所述第一预设时间段内的丢包总数量。
在本发明实施例中,第一电子设备根据接收记录,获取第一预设时间段内的丢包总数量。
在步骤S207中,根据获取的所述数据包总数量和所述丢包总数量,计算丢包率。
第一电子设备计算丢包总数量和数据包总数量的比值,得到丢包率。该丢包率为当前时刻之前第一预设时间段内的丢包率。
例如,第一电子设备通过向所述第二电子设备请求已发送的第二音频数据包含的数据包总数量,得到当前时刻之前第一预设时间段内发送的数据包总数量是共10个,而根据第一电子设备的接收记录,该时间段内的丢包数目为1,则将丢包总数量和数据包总数量作比值,得到丢包率为1/10。
在步骤S208中,向所述第二电子设备发送所述丢包率。
第一电子设备将计算得到的丢包率发送给第二电子设备。第二电子设备在接收到丢包率后,根据该丢包率就可以预估下一个数据包的丢包率,进而根据预估的丢包率计算下一个数据包中需要携带的冗余数据包的数量,以方便第一电子设备利用冗余数据包对下一个数据包中丢失的数据包进行恢复。
在步骤S209中,向所述第二电子设备发送所述第二音频数据的丢包数量。
在本发明实施例中,第一电子设备在恢复了丢失数据后,也可以仅向第二电子设备发送丢包数量,由第二电子设备计算丢包率,并根据丢包率调整第二音频数据中携带的冗余数据包的数量。相比于步骤S205-S208中由第一电子设备计算丢包率的方法,步骤209中仅由第一电子设备发送丢包数量,其他计算丢包率的步骤均在第二电子设备进行,免去了第一电子设备向第二电子设备请求丢包总数量和发送丢包率的步骤,提高了丢包率的计算效率。
可选地,在采集所述第一电子设备的第一音频数据之前,包括:将所述第一电子设备中音频采集设备的缓存周期设置为第一周期。
在本发明实施例中,音频采集设备主要采集麦克风的输入和声卡的输出,音频采集设备采集到音频数据后,会调用在waveInOpen中设置的回调函数,对音频数据进行缓存,在达到预先设置的缓存时间后,再将音频数据发送给音频播放设备或网络通信设备。调整回调函数中的缓存周期,可以降低音频采集过程中的设备延迟。例如,通常音频采集设备每20ms采集一次数据,这样会给采集过程带来20ms的设备延迟。通过调整缓存周期,将采集时间调整为5ms,可以减少设备采集引入的延迟。同样的方式可以作用于音频播放设备,以降低播放延迟。
可选地,在采集所述第一电子设备用户的第一音频数据之后,包括以下步骤A1-步骤A2:
步骤A1:获取所述第一音频数据的声音频率。
声音频率指每秒经过一给定点的声波数量,其反映了第一音频数据中携带的数据量大小。声音频率的单位为赫兹。在第一电子设备上采集预设时间段内第一音频数据的声音频率值。
步骤A2:在所述声音频率高于第一频率阈值的情况下,将所述音频采集设备的缓存周期设置为第二周期;其中,所述第二周期小于所述第一周期。
对于在预设时间段内的各个声音频率值,取其平均值,若声音频率的平均值高于预设的第一频率阈值,则说明声音频率较高,第一音频数据中携带的数据量较大,则需要将音频采集设备的缓存周期进一步调小至第二周期,以增加音频采集设备一定时间段内的数据输出量,降低输出延迟时间。
通过上述方法,可以根据声音频率适时调整音频采集设备的缓存时间,以在声音频率较高的情况下,将缓存时间与数据输出量相对应,降低输出延迟时间。
可选地,所述第一音频数据和所述第二音频数据包括相同的背景音频数据;在采集第一电子设备用户的第一音频数据之前,包括以下步骤A3-步骤A4::
步骤A3:以所述目标传输优先级向所述第二电子设备发送背景播放指令,以控制所述第二电子设备在接收到所述背景播放指令时,播放所述背景音频数据。
在本发明实施例中,第一电子设备在确定可以开始合唱后,以目标传输优先级向第二电子设备发送背景播放指令,该指令具体可以是提醒第二电子设备立即播放背景音乐的指令。
步骤A4:在预设时间之后播放所述背景音频数据,所述预设时间根据传输所述背景播放指令的预估时间确定。
在发出背景播放指令后,第一电子设备根据传输该背景播放指令的预估时间确定开始播放背景音频数据的时间,并在该预估的时间之后,开始播放背景音频数据。此时,第二电子设备也根据背景播放指令开始播放背景音频数据。从而合唱双方,即第一电子设备和第二电子设备都同时在本地播放背景音乐,两个终端的用户同时根据背景音乐进行跟唱。
这种两个电子设备同时在本地播放背景音乐并跟唱的方法,相比与在一端播放背景音乐,背景音乐通过网络传输到另一端后,另一端才开始进行跟唱的方法,相比于现有技术减小了半个rtt延迟,即能够减少一半的延迟。
综上所述,在本发明实施例中,图2中的音频数据处理方法除具有图1中的音频数据处理方法的有益效果之外,第一电子设备在恢复丢失数据包后,还计算丢包率,使第二电子设备可以根据丢包率计算第二音频数据中需要携带的冗余数据包的数量;或,第一电子设备在恢复丢失数据包后,向第二电子设备发送丢包数量,使第二电子设备可以根据丢包数量计算丢包率,进而计算第二音频数据中需要携带的冗余数据包的数量。因为第一电子设备是在恢复丢失数据包之后计算丢包率,所以不影响本次恢复丢失数据的效率,并且因为提前计算好了第二电子设备需要携带的冗余数据包的数量,所以提高了下一次恢复丢失数据的效率,使得在发生丢包的情况下,也能保证第二音频数据的连续播放。
此外,本发明实施例还根据声音频率适时调整音频采集设备的缓存时间,以在声音频率较高的情况下,将缓存时间与数据输出量相对应,降低输出延迟时间;本发明实施例还采用两个电子设备同时在本地播放背景音乐并跟唱的方法,相比于现有技术能够减少一半的延迟。
图3是根据一示例性实施例示出的一种音频数据处理方法的流程图之三。如图3所示,该音频数据处理方法用于第二电子设备中,包括以下步骤。
在步骤S301中,采集所述第二电子设备用户的当前音频数据,并对所述当前音频数据进行实时编码得到当前数据包。
在本发明实施例中,第一电子设备和第二电子设备播放背景音乐后,双方用户开始根据背景音乐进行跟唱。对于第二电子设备,音频采集设备采集第二电子设备用户的歌声,即当前音频数据,同时对当前音频数据进行实时编码得到当前数据包。音频信号在时域和频域上具有相关性,也即存在数据冗余,音频编码的实质是减少音频数据中的冗余,从而减小数据包的大小,提高传输和处理效率。
根据编码方式的不同,音频编码技术分为三种:波形编码、参数编码和混合编码。一般来说,波形编码的话音质量高,编码速率也很高,本发明实施例中,可以选择波形编码方式对第二音频数据进行实时编码。
在步骤S302中,根据从第一电子设备获取的丢包信息,获取目标数量的冗余数据包;所述冗余数据包为位于所述当前数据包之前的前序数据包。
第二电子设备按序向第一电子设备发送第二音频数据,在第一电子设备检测到第二音频数据发生丢包,并对丢失数据包进行恢复后,向第二电子设备发送丢包信息。第二电子设备根据该丢包信息,计算需要获取的冗余数据包的目标数量,并根据该目标数量从第二音频数据中获取当前数据包之前的前序数据包。其中,当前数据包为第二电子设备当前计划发送的目标序号的数据包;冗余数据包为当前数据包之前间隔一个待恢复数据包的前序数据包。
具体地,第一电子设备发送的丢包信息,可以为丢包率,也可以为丢包数量。
在步骤S303中,以UDP协议和目标传输优先级向所述第一电子设备发送包含所述当前数据包和所述冗余数据包的第二音频数据。
第二电子设备将获取的冗余数据包与待发送的当前数据包封装到一个数据包中,并以UDP协议和目标传输优先级发送向第一电子设备。
具体地,可以在第二音频数据的UDP数据包包头中添加目标传输优先级标识,以在发送过程中调整音频数据包的优先级,使得第二音频数据能够尽快的到达第一电子设备,减少网络传输延迟。并且,第一电子设备在接收到该音频数据后,依据优先级标识,可以对该第二音频数据进行优先处理。
可选地,所述丢包信息包括丢包率,所述根据从第一电子设备获取的丢包信息,获取目标数量的冗余数据包,包括以下步骤A5-步骤A7:
步骤A5:根据所述丢包信息中包括的丢包率,预估所述当前数据包到达所述第一电子设备时的丢包数量。
在本发明实施例中,由于一个连续时间段内的网络状况一般变化不大,所以根据当前时间之前的丢包率,可以预估当前数据包到达第一电子设备时的丢包数量。例如,可以将单前时间之前的丢包率作为当前数据包的丢包率,将当前数据包包括的数据包个数与当前数据包的丢包率相乘,可以得到当前数据包的丢包数量。
步骤A6:根据预估的所述丢包数量,计算需要获取的冗余数据包的目标数量。
第二电子设备可以依据丢失数据包的数量计算需要获取的冗余数据包的目标数量。具体地,因为冗余数据包为当前数据包之前间隔一个待恢复数据包的前序数据包,第一电子设备可以利用当前数据包和冗余数据包进行异或运算,得到待恢复的数据包,即丢失数据包,所以,需获取的冗余数据包的目标数量与丢失数据包的数量相同。
步骤A7:从所述当前数据包的多个前序数据包中,获取目标数量的冗余数据包。
具体地,若丢失数据包数量为p,则第二电子设备从存储区获取当前待发送的数据包之前数量为p的前序数据包,该p个数据包之间分别间隔一个待恢复数据包,即该p个数据包的序号是间隔的。
可选地,所述丢包信息包括丢包数量,所述根据从第一电子设备获取的丢包信息,获取目标数量的冗余数据包,包括以下步骤A8-步骤A13:
步骤A8,根据所述丢包信息中包括的丢包数量,计算当前时刻之前所述第一预设时间段内的所述第二音频数据的丢包总数量。
在本发明实施例中,第一电子设备向第二电子设备发送的丢包数量,可以是一段时间内的丢包数量,因为第二电子设备需要计算当前时刻之前所述第一预设时间段内的丢包率,所以第二电子设备可以根据获取到的丢包数量来计算当前时刻之前所述第一预设时间段内的丢失总数量。
步骤A9,获取所述第一预设时间段内已发送的数据包总数量。
第二电子设备根据发送记录,获取第一预设时间段内已发送的数据包总数量。
步骤A10,计算所述丢包总数量与所述数据包总数量的比值,得到丢包率。
第二电子设备计算丢包总数量和数据包总数量的比值,得到丢包率。该丢包率为当前时刻之前第一预设时间段内的丢包率。
例如,第二电子设备计算得的第一预设时间段内的丢包总数量为1,从发送记录里得到的已发送的数据包总数量为10,则将丢包总数量和数据包总数量作比值,得到丢包率为1/10。
步骤A11,根据所述丢包率,预估所述当前数据包到达所述第一电子设备时的丢包数量。
在本发明实施例中,由于一个连续时间段内的网络状况一般变化不大,所以根据当前时间之前第一预设时间的丢包率,可以预估当前数据包到达第一电子设备时的丢包数量。例如,可以将单前时间之前的丢包率作为当前数据包的丢包率,将当前数据包包括的数据包个数与当前数据包的丢包率相乘,可以得到当前数据包的丢包数量。
步骤A12,根据预估的所述丢包数量,计算需要获取的冗余数据包的目标数量。
在本发明实施例中,步骤A12可以参照步骤A6,此处不再赘述。
步骤A13,从所述当前数据包的多个前序数据包中,获取目标数量的冗余数据包。
在本发明实施例中,步骤A13可以参照步骤A7,此处不再赘述。
在本发明实施例中,上述步骤A5-步骤A7对应于第一电子设备向第二电子设备发送第二音频数据的丢包率的情况,步骤A6-步骤A13对应于第一电子设备向第二电子设备发送第二音频数据的丢包数量的情况。若第一电子设备发送的是丢包率,则第二电子设备直接根据丢包率计算需要获取的冗余数据包的数量,即执行步骤A5-步骤A7;若第一电子设备发送的是丢包数量,则第二电子设备需要根据丢包数量计算丢包率,再根据丢包率计算需要获取的冗余数据包的数量,即执行步骤A6-步骤A13。第一种方式由第一电子设备计算丢包率,第二种方式由第二电子设备计算丢包率,在实际应用中,为了提高丢包率的计算效率,可以根据第一电子设备和第二电子设备的软硬件设备情况和网络情况,选取设备和网络情况相对较好的一端计算丢包率。
综上所述,在本发明实施例中,第二电子设备采集所述第二电子设备的当前音频数据,并对所述当前音频数据进行实时编码得到当前数据包;根据从第一电子设备获取的丢包信息,获取目标数量的冗余数据包;所述冗余数据包为位于所述当前数据包之前的前序数据包;以UDP协议和目标传输优先级向所述第一电子设备发送包含所述当前数据包和所述冗余数据包的第二音频数据。上述方法中第二电子设备根据丢包信息,获取目标数量的冗余数据包,并将第二音频数据以目标传输优先级发送向第一电子设备,使得第二音频数据可以较小的延迟到达第一电子设备;并且,在发生丢包时,可以使第一电子设备利用当前数据包和冗余数据包恢复丢失数据包,保证了数据的连续性、可靠性,从而使第一音频数据和第二音频数据可以达到基本零延时的准确合音。
图4是根据一示例性实施例示出的一种音频数据处理装置的框图之一。参照图4,该音频数据处理装置400包括:
第一采集模块401,被配置为执行采集所述第一电子设备的第一音频数据;第二音频数据接收模块402,被配置为执行接收第二电子设备以UDP协议和目标传输优先级发送的第二音频数据;其中,所述目标传输优先级高于预设优先级阈值;所述第二音频数据中携带当前数据包和目标数量的冗余数据包;恢复模块403,被配置为执行在检测到所述第二音频数据发生丢包的情况下,利用所述当前数据包和所述冗余数据包恢复所述第二音频数据中的丢失数据包;第一播放模块404,被配置为执行同时播放所述第一音频数据和恢复之后的所述第二音频数据。
关于上述实施例中的第一电子设备,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
可选地,参照图5,在上述图4的基础上,示出了一种音频数据处理装置的框图之二。其中,所述装置400还可以包括:
请求模块405,被配置为执行向所述第二电子设备请求当前时刻之前第一预设时间段内已发送的所述第二音频数据包含的数据包总数量;
获取模块406,被配置为执行获取所述第一预设时间段内的丢包总数量;
计算模块407,被配置为执行根据获取的所述数据包总数量和所述丢包总数量,计算丢包率;
丢包率发送模块408,被配置为执行向所述第二电子设备发送所述丢包率。
所述装置400还包括:
丢包数量发送模块409,被配置为执行向所述第二电子设备发送所述第二音频数据的丢包数量。
所述恢复模块403包括:
恢复子模块4031,被配置为执行对间隔一个待恢复数据包的两个目标数据包进行异或运算,得到所述待恢复数据包,所述两个目标数据包包括:所述当前数据包和所述前序数据包,或,两个所述前序数据包。
所述装置400包括:
第一设置模块,被配置为执行将所述第一电子设备中音频采集设备的缓存周期设置为第一周期;
声音频率获取模块,被配置为执行在采集第一电子设备的第一音频数据之后,获取所述第一音频数据的声音频率;
第二设置模块,被配置为执行在所述声音频率大于第一频率阈值的情况下,将所述音频采集设备的缓存周期设置为第二周期;其中,所述第二周期小于所述第一周期。
所述第一音频数据和所述第二音频数据包括相同的背景音频数据,所述装置400包括:
指令发送模块,被配置为执行在采集第一电子设备的第一音频数据之前,以所述目标传输优先级向所述第二电子设备发送背景播放指令,以控制所述第二电子设备在接收到所述背景播放指令时,播放所述背景音频数据;
第二播放模块,被配置为执行在第二预设时间之后播放所述背景音频数据,所述第二预设时间根据传输所述背景播放指令的预估时间确定。
关于上述实施例中的音频数据处理装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6是根据一示例性实施例示出的一种音频数据处理装置的框图之三。参照图6,该音频数据处理装置500包括:
第二采集模块501,被配置为执行采集所述第二电子设备的当前音频数据,并对所述当前音频数据进行实时编码得到当前数据包;
冗余数据包获取模块502,被配置为执行根据从第一电子设备获取的丢包信息,获取目标数量的冗余数据包;所述冗余数据包为位于所述当前数据包之前的前序数据包;
音频数据发送模块503,被配置为执行以UDP协议和目标传输优先级向所述第一电子设备发送包含所述当前数据包和所述冗余数据包的第二音频数据。
可选地,所述丢包信息包括丢包率,所述冗余数据包获取模块502,包括:
第一预估子模块,被配置为执行根据所述丢包信息中包括的丢包率,预估所述当前数据包到达所述第一电子设备时的丢包数量;
第一目标数量计算模块,被配置为执行根据预估的所述丢包数量,计算需要获取的冗余数据包的目标数量;
第一获取子模块,被配置为执行从所述当前数据包的多个前序数据包中,获取目标数量的冗余数据包。
可选地,所述丢包信息包括丢包数量,所述冗余数据包获取模块502,包括:
丢包总数量计算子模块,被配置为执行根据所述丢包信息中包括的丢包数量,计算当前时刻之前所述第一预设时间段内的所述第二音频数据的丢包总数量;
数据包总数量获取子模块,被配置为执行获取所述第一预设时间段内已发送的数据包总数量;
比值计算子模块,被配置为执行计算所述丢包总数量与所述数据包总数量的比值,得到丢包率;
第二预估子模块,被配置为执行根据所述丢包率,预估所述当前数据包到达所述第一电子设备时的丢包数量;
第二目标数量计算子模块,被配置为执行根据预估的所述丢包数量,计算需要获取的冗余数据包的目标数量;
第二获取子模块,被配置为执行从所述当前数据包的多个前序数据包中,获取目标数量的冗余数据包。
关于上述实施例中的音频数据处理装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种用于音频数据处理的电子设备700的框图。例如,电子设备700可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图7,电子设备700可以包括以下一个或多个组件:处理组件702,存储器704,电力组件706,多媒体组件708,音频组件710,输入/输出(I/O)的接口712,传感器组件714,以及通信组件716。
处理组件702通常控制电子设备700的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件702可以包括一个或多个处理器720来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理组件702可以包括多媒体模块,以方便多媒体组件708和处理组件702之间的交互。
存储器704被配置为执行存储各种类型的数据以支持在设备700的操作。这些数据的示例包括用于在电子设备700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件706为电子设备700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为电子设备700生成、管理和分配电力相关联的组件。
多媒体组件708包括在所述电子设备700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当设备700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件710被配置为执行输出和/或输入音频信号。例如,音频组件710包括一个麦克风(MIC),当电子设备700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为执行接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。
I/O接口712为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件714包括一个或多个传感器,用于为电子设备700提供各个方面的状态评估。例如,传感器组件714可以检测到设备700的打开/关闭状态,组件的相对定位,例如所述组件为电子设备700的显示器和小键盘,传感器组件714还可以检测电子设备700或电子设备700一个组件的位置改变,用户与电子设备700接触的存在或不存在,电子设备700方位或加速/减速和电子设备700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件716被配置为执行便于电子设备700和其他设备之间有线或无线方式的通信。电子设备700可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或7G),或它们的组合。在一个示例性实施例中,通信组件716经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件716还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器704,上述指令可由电子设备700的处理器720执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图8是根据一示例性实施例示出的一种用于音频数据处理的电子设备800的框图。例如,电子设备800可以被提供为一服务器。参照图8,电子设备800包括处理组件822,其进一步包括一个或多个处理器,以及由存储器832所代表的存储器资源,用于存储可由处理组件822的执行的指令,例如应用程序。存储器832中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件822被配置为执行指令,以执行上述音频数据处理方法。
电子设备800还可以包括一个电源组件828被配置为执行电子设备800的电源管理,一个有线或无线网络接口850被配置为执行将电子设备800连接到网络,和一个输入输出(I/O)接口858。电子设备800可以操作基于存储在存储器832的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种计算机程序产品,该计算机程序产品包括可读性程序代码,该可读性程序代码可由电子设备800的处理组件822执行以完成上述方法。可选地,该程序代码可以存储在电子设备800的存储介质中,该存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种音频数据处理方法,其特征在于,应用于第一电子设备,包括:
采集所述第一电子设备的第一音频数据;
接收第二电子设备以UDP协议和目标传输优先级发送的第二音频数据;其中,所述目标传输优先级高于预设优先级阈值;所述第二音频数据中携带当前数据包和目标数量的冗余数据包;
在检测到所述第二音频数据发生丢包的情况下,利用所述当前数据包和所述冗余数据包恢复所述第二音频数据中的丢失数据包;
同时播放所述第一音频数据和恢复之后的所述第二音频数据。
2.根据权利要求1所述的方法,其特征在于,在利用所述当前数据包和所述冗余数据包恢复所述第二音频数据中的丢失数据包之后,还包括:
向所述第二电子设备请求当前时刻之前第一预设时间段内已发送的所述第二音频数据包含的数据包总数量;
获取所述第一预设时间段内的丢包总数量;
根据获取的所述数据包总数量和所述丢包总数量,计算丢包率;
向所述第二电子设备发送所述丢包率。
3.根据权利要求1所述的方法,其特征在于,在利用所述当前数据包和所述冗余数据包恢复所述第二音频数据中的丢失数据包之后,还包括:
向所述第二电子设备发送所述第二音频数据的丢包数量。
4.根据权利要求1至3其中任一项所述的方法,其特征在于,所述冗余数据包为所述当前数据包之前间隔一个待恢复数据包的前序数据包,所述利用所述当前数据包和所述冗余数据包恢复所述第二音频数据中的丢失数据包,包括:
对间隔一个待恢复数据包的两个目标数据包进行异或运算,得到所述待恢复数据包,所述两个目标数据包包括:所述当前数据包和所述前序数据包,或,两个所述前序数据包。
5.根据权利要求4所述的方法,其特征在于,在所述采集第一电子设备的第一音频数据之前,包括:
将所述第一电子设备中音频采集设备的缓存周期设置为第一周期;
在采集第一电子设备的第一音频数据之后,包括:
获取所述第一音频数据的声音频率;
在所述声音频率高于第一频率阈值的情况下,将所述音频采集设备的缓存周期设置为第二周期;其中,所述第二周期小于所述第一周期。
6.一种音频数据处理方法,其特征在于,应用于第二电子设备,包括:
采集所述第二电子设备的当前音频数据,并对所述当前音频数据进行实时编码得到当前数据包;
根据从第一电子设备获取的丢包信息,获取目标数量的冗余数据包;所述冗余数据包为位于所述当前数据包之前的前序数据包;
以UDP协议和目标传输优先级向所述第一电子设备发送包含所述当前数据包和所述冗余数据包的第二音频数据。
7.一种音频数据处理装置,其特征在于,应用于第一电子设备,包括:
第一采集模块,被配置为执行采集所述第一电子设备的第一音频数据;
第二音频数据接收模块,被配置为执行接收第二电子设备以UDP协议和目标传输优先级发送的第二音频数据;其中,所述目标传输优先级高于预设优先级阈值;所述第二音频数据中携带当前数据包和目标数量的冗余数据包;
恢复模块,被配置为执行在检测到所述第二音频数据发生丢包的情况下,利用所述当前数据包和所述冗余数据包恢复所述第二音频数据中的丢失数据包;
第一播放模块,被配置为执行同时播放所述第一音频数据和恢复之后的所述第二音频数据。
8.一种音频数据处理装置,其特征在于,应用于第二电子设备,包括:
第二采集模块,被配置为执行采集所述第二电子设备的当前音频数据,并对所述当前音频数据进行实时编码得到当前数据包;
冗余数据包获取模块,被配置为执行根据从第一电子设备获取的丢包信息,获取目标数量的冗余数据包;所述冗余数据包为位于所述当前数据包之前的前序数据包;
音频数据发送模块,被配置为执行以UDP协议和目标传输优先级向所述第一电子设备发送包含所述当前数据包和所述冗余数据包的第二音频数据。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至5中任一项所述的音频数据处理方法,和/或,权利要求6中所述的音频数据处理方法。
10.一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至5中任一项所述的音频数据处理方法,和/或,权利要求6中所述的音频数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910642776.6A CN110503935B (zh) | 2019-07-16 | 2019-07-16 | 音频数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910642776.6A CN110503935B (zh) | 2019-07-16 | 2019-07-16 | 音频数据处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110503935A true CN110503935A (zh) | 2019-11-26 |
CN110503935B CN110503935B (zh) | 2020-11-06 |
Family
ID=68585506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910642776.6A Active CN110503935B (zh) | 2019-07-16 | 2019-07-16 | 音频数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110503935B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111193966A (zh) * | 2019-12-25 | 2020-05-22 | 北京佳讯飞鸿电气股份有限公司 | 音频数据传输方法、装置、计算机设备及存储介质 |
CN111524529A (zh) * | 2020-04-15 | 2020-08-11 | 广州极飞科技有限公司 | 音频数据处理方法、装置和系统、电子设备及存储介质 |
CN113131972A (zh) * | 2021-04-13 | 2021-07-16 | Oppo广东移动通信有限公司 | 接收和发送音频数据包的方法、装置、电子设备 |
CN113327623A (zh) * | 2021-05-26 | 2021-08-31 | 北京远度互联科技有限公司 | 基于语音采集的通讯方法、装置及系统 |
CN117041123A (zh) * | 2023-10-08 | 2023-11-10 | 广东保伦电子股份有限公司 | 一种双任务并发广播监听方法 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040001224A1 (en) * | 2002-06-21 | 2004-01-01 | Tomohito Kajiwara | Network facsimile apparatus, facsimile communication system, and method that can efficiently transport packets |
CN1482779A (zh) * | 2002-09-13 | 2004-03-17 | 北京威速科技有限公司 | 互联网多媒体实时通信中的前向纠错方法 |
EP1758254A1 (en) * | 2005-08-23 | 2007-02-28 | Thomson Licensing | Improved erasure correction scheme based on XOR operations for packet transmission |
CN1937631A (zh) * | 2006-10-24 | 2007-03-28 | 杭州华为三康技术有限公司 | 用户数据报协议报文的处理方法及装置 |
CN101009663A (zh) * | 2007-01-19 | 2007-08-01 | 深圳市深信服电子科技有限公司 | 通过冗余提高数据传输速度的方法 |
CN101030832A (zh) * | 2006-03-03 | 2007-09-05 | 华为技术有限公司 | 实现实时传输协议报文冗余机制的方法及其系统 |
CN101123588A (zh) * | 2007-09-14 | 2008-02-13 | 华为技术有限公司 | 控制冗余数据包传输的方法、媒体网关及系统 |
CN101552661A (zh) * | 2009-03-26 | 2009-10-07 | 吕晓雯 | 一种差错控制方法 |
CN101753440A (zh) * | 2009-12-18 | 2010-06-23 | 华为技术有限公司 | 主动队列管理方法、装置和无线网络控制器 |
CN102025717A (zh) * | 2010-09-10 | 2011-04-20 | 香港城市大学深圳研究院 | 一种传输多媒体数据的方法 |
CN103347099A (zh) * | 2013-05-29 | 2013-10-09 | 华为技术有限公司 | 一种数据交互的方法、装置及系统 |
CN103840917A (zh) * | 2014-03-28 | 2014-06-04 | 北京邮电大学 | 一种基于网络编码的多路并行传输方案 |
CN107820275A (zh) * | 2017-10-18 | 2018-03-20 | 中国联合网络通信集团有限公司 | 一种移动网络udp业务拥塞处理方法及基站 |
US20180234116A1 (en) * | 2016-03-11 | 2018-08-16 | Tencent Technology (Shenzhen) Company Limited | Video data redundancy control method and apparatus |
CN109150398A (zh) * | 2018-08-06 | 2019-01-04 | 华南理工大学 | 基于udp自适应冗余编码的无线p2p传输方法及模型 |
-
2019
- 2019-07-16 CN CN201910642776.6A patent/CN110503935B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040001224A1 (en) * | 2002-06-21 | 2004-01-01 | Tomohito Kajiwara | Network facsimile apparatus, facsimile communication system, and method that can efficiently transport packets |
CN1482779A (zh) * | 2002-09-13 | 2004-03-17 | 北京威速科技有限公司 | 互联网多媒体实时通信中的前向纠错方法 |
EP1758254A1 (en) * | 2005-08-23 | 2007-02-28 | Thomson Licensing | Improved erasure correction scheme based on XOR operations for packet transmission |
CN101030832A (zh) * | 2006-03-03 | 2007-09-05 | 华为技术有限公司 | 实现实时传输协议报文冗余机制的方法及其系统 |
CN1937631A (zh) * | 2006-10-24 | 2007-03-28 | 杭州华为三康技术有限公司 | 用户数据报协议报文的处理方法及装置 |
CN101009663A (zh) * | 2007-01-19 | 2007-08-01 | 深圳市深信服电子科技有限公司 | 通过冗余提高数据传输速度的方法 |
CN101123588A (zh) * | 2007-09-14 | 2008-02-13 | 华为技术有限公司 | 控制冗余数据包传输的方法、媒体网关及系统 |
CN101552661A (zh) * | 2009-03-26 | 2009-10-07 | 吕晓雯 | 一种差错控制方法 |
CN101753440A (zh) * | 2009-12-18 | 2010-06-23 | 华为技术有限公司 | 主动队列管理方法、装置和无线网络控制器 |
CN102025717A (zh) * | 2010-09-10 | 2011-04-20 | 香港城市大学深圳研究院 | 一种传输多媒体数据的方法 |
CN103347099A (zh) * | 2013-05-29 | 2013-10-09 | 华为技术有限公司 | 一种数据交互的方法、装置及系统 |
CN103840917A (zh) * | 2014-03-28 | 2014-06-04 | 北京邮电大学 | 一种基于网络编码的多路并行传输方案 |
US20180234116A1 (en) * | 2016-03-11 | 2018-08-16 | Tencent Technology (Shenzhen) Company Limited | Video data redundancy control method and apparatus |
CN107820275A (zh) * | 2017-10-18 | 2018-03-20 | 中国联合网络通信集团有限公司 | 一种移动网络udp业务拥塞处理方法及基站 |
CN109150398A (zh) * | 2018-08-06 | 2019-01-04 | 华南理工大学 | 基于udp自适应冗余编码的无线p2p传输方法及模型 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111193966A (zh) * | 2019-12-25 | 2020-05-22 | 北京佳讯飞鸿电气股份有限公司 | 音频数据传输方法、装置、计算机设备及存储介质 |
CN111524529A (zh) * | 2020-04-15 | 2020-08-11 | 广州极飞科技有限公司 | 音频数据处理方法、装置和系统、电子设备及存储介质 |
CN111524529B (zh) * | 2020-04-15 | 2023-11-24 | 广州极飞科技股份有限公司 | 音频数据处理方法、装置和系统、电子设备及存储介质 |
CN113131972A (zh) * | 2021-04-13 | 2021-07-16 | Oppo广东移动通信有限公司 | 接收和发送音频数据包的方法、装置、电子设备 |
CN113327623A (zh) * | 2021-05-26 | 2021-08-31 | 北京远度互联科技有限公司 | 基于语音采集的通讯方法、装置及系统 |
CN117041123A (zh) * | 2023-10-08 | 2023-11-10 | 广东保伦电子股份有限公司 | 一种双任务并发广播监听方法 |
CN117041123B (zh) * | 2023-10-08 | 2024-02-09 | 广东保伦电子股份有限公司 | 一种双任务并发广播监听方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110503935B (zh) | 2020-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110503935A (zh) | 音频数据处理方法、装置、电子设备及存储介质 | |
CN109859730B (zh) | 一种音频处理方法及装置 | |
US8111241B2 (en) | Gestural generation, sequencing and recording of music on mobile devices | |
WO2018192415A1 (zh) | 数据的直播方法、相关设备及系统 | |
CN110267081A (zh) | 直播流处理方法、装置、系统、电子设备及存储介质 | |
CN106921560A (zh) | 语音通信方法、装置及系统 | |
CN107396171A (zh) | 网络直播方法、装置和存储介质 | |
CN110890945A (zh) | 数据传输方法、装置、终端及存储介质 | |
CN111524494A (zh) | 一种异地实时合唱方法及装置、存储介质 | |
CN109493852A (zh) | 一种语音识别的评测方法及装置 | |
CN108600778B (zh) | 媒体流发送方法、装置、系统及服务器、终端、存储介质 | |
CN111294625B (zh) | 组合设备服务能力的方法、装置、终端设备和存储介质 | |
CN110134362A (zh) | 音频播放方法、装置、播放设备以及存储介质 | |
CN109698794A (zh) | 一种拥塞控制方法、装置、电子设备及存储介质 | |
CN105099795A (zh) | 抖动缓冲器水平估计 | |
CN112180378A (zh) | 设备间距离确定方法、装置及存储介质 | |
CN109714415A (zh) | 数据处理方法及装置 | |
CN112130616A (zh) | 时钟同步方法、装置及存储介质 | |
CN108355350A (zh) | 一种基于移动边缘计算的应用服务接入方法及装置 | |
CN109947981A (zh) | 视频分享方法及装置 | |
CN107509106A (zh) | 播放音频的方法、装置和系统 | |
CN110086549A (zh) | 音频数据传输方法及装置 | |
CN110234020A (zh) | 视频播放方法及装置 | |
CN113921002A (zh) | 一种设备控制方法及相关装置 | |
US20220132190A1 (en) | Method and apparatus for determining bandwidth, and electronic device and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |