CN110166185A - 音频数据的处理方法、装置、存储介质和处理器 - Google Patents

音频数据的处理方法、装置、存储介质和处理器 Download PDF

Info

Publication number
CN110166185A
CN110166185A CN201910408187.1A CN201910408187A CN110166185A CN 110166185 A CN110166185 A CN 110166185A CN 201910408187 A CN201910408187 A CN 201910408187A CN 110166185 A CN110166185 A CN 110166185A
Authority
CN
China
Prior art keywords
client
audio data
destination
audio
target
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
Application number
CN201910408187.1A
Other languages
English (en)
Other versions
CN110166185B (zh
Inventor
田建超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Guangzhou Shizhen Information Technology Co Ltd
Original Assignee
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Guangzhou Shizhen Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Shiyuan Electronics Thecnology Co Ltd, Guangzhou Shizhen Information Technology Co Ltd filed Critical Guangzhou Shiyuan Electronics Thecnology Co Ltd
Priority to CN201910408187.1A priority Critical patent/CN110166185B/zh
Publication of CN110166185A publication Critical patent/CN110166185A/zh
Application granted granted Critical
Publication of CN110166185B publication Critical patent/CN110166185B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明公开了一种音频数据的处理方法、装置、存储介质和处理器。该方法包括:分别接收多个客户端中的一个或多个第一客户端的第一音频数据,得到目标音频数据;在目标音频数据中缺失了目标客户端的第一目标音频数据的情况下,获取目标客户端的目标状态,其中,多个客户端包括目标客户端,目标状态用于指示禁止对第一目标音频数据进行转发,或者允许将第一目标音频数据转发至与目标客户端相关联的客户端;在目标状态指示出禁止对第一目标音频数据进行转发的情况下,禁止向目标客户端发送目标请求,其中,目标请求用于请求目标客户端将第一目标音频数据重传。通过本发明,达到了提高对音频数据进行处理的效率的效果。

Description

音频数据的处理方法、装置、存储介质和处理器
技术领域
本发明涉及数据处理领域,具体而言,涉及一种音频数据的处理方法、装置、存储介质和处理器。
背景技术
目前,在对音频数据进行处理时,服务器会接收所有客户端发送过来的音频数据,从中确定需要向其它客户端进行转发的音频数据。而有的客户端的音频数据是不需要转发给其它客户端的,比如,某个客户端发出的音量较小,则不需要将其音频数据再转发给其它客户端。
如果某个客户端发送的音频数据有缺失,服务器就直接会向该客户端发送丢包重传(NACK)请求。但是,如果客户端的音频数据不需要转发给其它客户端,在该音频数据丢包时,服务器还是会给该客户端发送NACK请求的,而实际重传回来的音频数据并没有转发至其它客户端上,从而造成无用的NACK请求和重传,存在对音频数据进行处理的效率低的问题。
针对现有技术中的对音频数据进行处理的效率低的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种音频数据的处理方法、装置、存储介质和处理器,以至少解决对音频数据进行处理的效率低的技术问题。
为了实现上述目的,根据本发明实施例的一个方面,提供了一种音频数据的处理方法。该方法包括:分别接收多个客户端中的一个或多个第一客户端的第一音频数据,得到目标音频数据;在目标音频数据中缺失了目标客户端的第一目标音频数据的情况下,获取目标客户端的目标状态,其中,多个客户端包括目标客户端,目标状态用于指示禁止对第一目标音频数据进行转发,或者允许将第一目标音频数据转发至与目标客户端相关联的客户端;在目标状态指示出禁止对第一目标音频数据进行转发的情况下,禁止向目标客户端发送目标请求,其中,目标请求用于请求目标客户端将第一目标音频数据重传。
可选地,在获取目标客户端的目标状态之后,该方法还包括:在目标状态指示出允许将第一目标音频数据转发至与目标客户端相关联的客户端的情况下,向目标客户端发送目标请求;接收目标客户端响应目标请求发送的第一目标音频数据;将第一目标音频数据转发至与目标客户端相关联的客户端。
可选地,在分别接收多个客户端中的一个或多个第一客户端的第一音频数据之前,该方法还包括:接收多个客户端的第二音频数据;按照每个客户端的第二音频数据,确定每个客户端的目标状态。
可选地,按照每个客户端的第二音频数据,确定每个客户端的目标状态包括:从每个客户端的第二音频数据中提取出第一音量数据,其中,第一音量数据用于指示对应的客户端发出的音频的音量;根据每个客户端的第一音量数据,从多个客户端中确定出与每个客户端相关联的第一目标数量的第一目标客户端,其中,每个客户端用于接收与每个客户端相关联的每个第一目标客户端的第二音频数据,每个第一目标客户端的第一音量数据指示出的音频的音量大于第二客户端的第一音量数据所指示的音频的音量,第二客户端为多个客户端中除每个客户端和第一目标数量的第一目标客户端之外的任一客户端;分别将第一目标数量的第一目标客户端的状态确定为第一目标状态,其中,第一目标状态用于指示允许将第一目标客户端的第二音频数据转发至与第一目标客户端相关联的客户端;分别将多个客户端中的第二目标数量的第二目标客户端的状态确定为第二目标状态,其中,第二目标数量的第二目标客户端为多个客户端中除第一目标数量的第一目标客户端之外的客户端,第二目标状态用于指示禁止对第二目标客户端的第二音频数据进行转发。
可选地,在禁止向目标客户端发送目标请求之后,该方法还包括:接收多个客户端的第三音频数据;按照每个客户端的第三音频数据,对每个客户端的目标状态进行更新。
可选地,按照每个客户端的第三音频数据,对每个客户端的目标状态进行更新包括:从每个客户端的第三音频数据中提取出第二音量数据,其中,第二音量数据用于指示对应的客户端发出的音频的音量;根据每个客户端的第二音量数据,从多个客户端中确定出与每个客户端相关联的第三目标数量的第三目标客户端,其中,每个客户端用于接收与每个客户端相关联的每个第三目标客户端的第三音频数据,每个第三目标客户端的第二音量数据指示出的音频的音量大于第三客户端的第二音量数据所指示的音频的音量,第三客户端为多个客户端中除每个客户端和第三目标数量的第三目标客户端之外的任一客户端;分别将第三目标数量的第三目标客户端的状态更新为第一目标状态,其中,第一目标状态用于指示允许将第三目标客户端的第三音频数据转发至与第三目标客户端相关联的客户端;分别将多个客户端中的第四目标数量的第四目标客户端的状态更新为第二目标状态,其中,第四目标数量的第四目标客户端为多个客户端中除第三目标数量的第三目标客户端之外的客户端,第二目标状态用于指示禁止对第四目标客户端的第三音频数据进行转发。
可选地,接收多个客户端的第三音频数据包括:每隔目标时间段接收多个客户端的第三音频数据。
可选地,按照每个客户端的第三音频数据,对每个客户端的目标状态进行更新包括:每隔目标时间段按照每个客户端的第三音频数据,对每个客户端的目标状态进行更新。
可选地,在获取目标客户端的目标状态之前,该方法还包括:获取目标列表,其中,目标列表中包括每个第一客户端的第一音频数据的标识信息;在目标列表中未包括第一目标音频数据的标识信息的情况下,确定目标音频数据中缺失了第一目标音频数据。
可选地,分别接收多个客户端中的一个或多个第一客户端的第一音频数据,得到目标音频数据包括:分别获取处于会议场景下的一个或多个第一客户端的第一音频数据,得到目标音频数据。
为了实现上述目的,根据本发明实施例的另一方面,还提供了一种向服务器发送目标音频数据,其中,目标音频数据包括多个客户端中的一个或多个第一客户端的第一音频数据;在目标音频数据中缺失了目标客户端的第一目标音频数据,并在目标客户端的目标状态指示出禁止服务器对目标客户端的第一目标音频数据进行转发的情况下,禁止目标客户端接收服务器发送的目标请求,其中,多个客户端包括目标客户端,目标请求用于请求目标客户端将第一目标音频数据重传。
为了实现上述目的,根据本发明实施例的另一方面,还提供了一种音频数据的处理装置。该装置包括:接收单元,用于分别接收多个客户端中的一个或多个第一客户端的第一音频数据,得到目标音频数据;获取单元,用于在目标音频数据中缺失了目标客户端的第一目标音频数据的情况下,获取目标客户端的目标状态,其中,多个客户端包括目标客户端,目标状态用于指示禁止对第一目标音频数据进行转发,或者允许将第一目标音频数据转发至与目标客户端相关联的客户端;禁止单元,用于在目标状态指示出禁止对第一目标音频数据进行转发的情况下,禁止向目标客户端发送目标请求,其中,目标请求用于请求目标客户端将第一目标音频数据重传。
为了实现上述目的,根据本发明实施例的另一方面,还提供了一种音频数据的处理装置。该装置发送单元,用于向服务器发送目标音频数据,其中,目标音频数据包括多个客户端中的一个或多个第一客户端的第一音频数据;禁止单元,用于在目标音频数据中缺失了目标客户端的第一目标音频数据,并在目标客户端的目标状态指示出禁止服务器对目标客户端的第一目标音频数据进行转发的情况下,禁止目标客户端接收服务器发送的目标请求,其中,多个客户端包括目标客户端,目标请求用于请求目标客户端将第一目标音频数据重传。
为了实现上述目的,根据本发明的另一方面,还提供了一种存储介质。该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行本发明实施例的方法。
为了实现上述目的,根据本发明的另一方面,还提供了一种处理器。该处理器用于运行程序,其中,程序运行时执行本发明实施例的方法。
在本发明实施例中,分别接收多个客户端中的一个或多个第一客户端的第一音频数据,得到目标音频数据;在目标音频数据中缺失了目标客户端的第一目标音频数据的情况下,获取目标客户端的目标状态,其中,多个客户端包括目标客户端,目标状态用于指示禁止对第一目标音频数据进行转发,或者允许将第一目标音频数据转发至与目标客户端相关联的客户端;在目标状态指示出禁止对第一目标音频数据进行转发的情况下,禁止向目标客户端发送目标请求,其中,目标请求用于请求目标客户端将第一目标音频数据重传。也就是说,在获取到的目标音频数据中缺失了目标客户端的第一目标音频数据的情况下,确定第一目标音频数据为是否需要进行转发的音频数据(活跃音频),如果不是,则禁止向目标客户端请求获取缺失的第一目标音频数据,能够减少对客户端的音频数据进行请求重传,解决了对音频数据进行处理的效率低的技术问题,进而达到了提高对音频数据进行处理的效率的技术效果。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1A是根据本发明实施例的一种音频数据的处理方法的流程图;
图1B是根据本发明实施例的另一种音频数据的处理方法的流程图;
图2是根据本发明实施例的一种服务器和客户端之间的音频数据进行传输的示意图;
图3是根据本发明实施例的另一种音频数据处理方法的流程图;
图4是根据本发明实施例的另一种音频数据处理方法的流程图;
图5是根据本发明实施例的一种音频数据的处理装置的示意图;以及
图6是根据本发明实施例的另一种音频数据的处理装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本发明实施例提供了一种音频数据的处理方法。下面从服务器侧对本发明实施例的音频数据处理方法进行介绍。
图1A是根据本发明实施例的一种音频数据的处理方法的流程图。如图1A所示,该方法包括以下步骤:
步骤S102,分别接收多个客户端中的一个或多个第一客户端的第一音频数据,得到目标音频数据。
在本发明上述步骤S102提供的技术方案中,服务器分别接收多个客户端中的一个或多个第一客户端的第一音频数据,得到目标音频数据。其中,客户端(Client)为产生音频数据的源端,可以为音频客户端,比如,为多端语音会议场景中所使用的音频客户端。可选地,该实施例的客户端可以包括音频接收模块(AudioRecvStream)和音频发送模块(AudioSendStream),其中,客户端的音频接收模块可以用于接收服务器转发的其它客户端产生的音频数据,客户端的音频发送模块可以用于发送客户端产生的音频数据至服务器。其中,音频数据用于指示客户端在运行过程中所产生的音频,可以为包括多种音频数据的音频数据包,比如,包括音频的音量数据(audioLevel),音频的时长、音频开始的时间、音频结束的时间等。其中,音量数据用于指示客户端所产生的音频的声音的大小,可以由音频数据包的包头携带。
可选地,该实施例的服务器接收到多个客户端发送过来的音频数据,其中,服务器也包括音频接收模块和音频发送模块,服务器的音频接收模块可以接收客户端发送的音频数据,服务器的音频发送模块可以将接收到的客户端的音频数据转发至其它客户端上。该实施例的服务器可以从接收到的多个客户端的音频数据中选择部分客户端的音频数据,将其转发到其它的客户端上,也即,服务器并不是接收到的所有客户端的音频数据都转发至客户端,而是有选择的转发接收到的所有客户端的音频数据中的部分客户端的音频数据。可选地,服务器在接收到的所有客户端的音频数据中选择音量较大的N路音频数据,其中,N可以为大于等于3的自然数,将该N路音频数据确定为活跃音频数据,将多个客户端发送过来的音频数据中除N路音频数据之外的客户端产生的音频数据确定为非活跃音频数据。其中,活跃音频数据为可以由服务器转发至其它客户端的音频数据,而活跃音频数据为不由服务器转发至其它客户端的音频数据,这样每个客户端可以接收到除自己的音频数据之外的音量较大的N路音频数据,从而当多个用户通过客户端同时讲话时,可以保证每个用户通过客户端收到音量比自己大的N路音频数据,从而达到降低带宽的目的,并且还可以达到过滤掉周围的环境干扰声音的效果。
步骤S104,在目标音频数据中缺失了目标客户端的第一目标音频数据的情况下,获取目标客户端的目标状态。
在本发明上述步骤S104提供的技术方案中,服务器在分别接收多个客户端中的一个或多个第一客户端的第一音频数据,得到目标音频数据之后,在目标音频数据中缺失了目标客户端的第一目标音频数据的情况下,获取目标客户端的目标状态,其中,多个客户端包括目标客户端,目标状态用于指示禁止对第一目标音频数据进行转发,或者允许将第一目标音频数据转发至与目标客户端相关联的客户端。
在该实施例中,服务器在正常情况下可以接收所有客户端发送的音频数据,但由于网络、线路故障等因素可能使得客户端产生的音频数据不能正常向服务器发送,从而出现丢包情况,使得服务器接收到不完整的目标音频数据。该实施例的多个客户端包括目标客户端,该目标客户端可以为多个客户端中的任一客户端,可以产生第一目标音频数据,如果目标音频数据中缺失了该第一目标音频数据,则该第一目标音频数据为目标音频数据的缺失包,这时服务器获取目标客户端的目标状态(isActived),该目标状态可以用于指示禁止对目标客户端产生的音频数据进行转发,也即,目标客户端产生的第一目标音频数据不属于活跃音频数据(Active Audio),不需要将其转发至多个客户端中的除目标客户端之外的其它客户端;该目标状态还可以用于指示允许将目标客户端产生的音频数据转发至与目标客户端相关联的客户端,也即,目标客户端产生的第一目标音频数据属于活跃音频数据,需要将其转发至多个客户端中的除目标客户端之外的其它客户端。
可选地,该实施例的服务器包括与每个客户端对应的端点(endpoint),该端点可以用于记录对应的客户端的目标状态,该目标状态可以每隔目标时间进行更新。
需要说明的是,该实施例对目标音频数据中缺失的音频数据不限制,可以缺失两个或两个以上的客户端的音频数据。
步骤S106,在目标状态指示出禁止对第一目标音频数据进行转发的情况下,禁止向目标客户端发送目标请求。
在本发明上述步骤S106提供的技术方案中,在获取目标客户端的目标状态之后,在目标状态指示出禁止对第一目标音频数据进行转发的情况下,禁止向目标客户端发送目标请求,其中,目标请求用于请求目标客户端将第一目标音频数据重传。
在该实施例中,在目标客户端的目标状态指示出禁止对第一目标音频数据进行转发的情况下,则第一目标音频数据在当前时间输出与非活跃音频数据,比如,为音量较小的音频数据,即使服务器获取到该第一目标音频数据,也不需将其转发至其它客户端上,因而,在目标状态指示出禁止对第一目标音频数据进行转发的情况下,禁止向目标客户端发送目标请求,该目标请求可以为重传请求NACK,也即,在启用NACK的情况下,接收方在未接收到发送方发送的数据的情况下,会向发送方发送对数据进行重传的请求。
该实施例在目标状态指示出禁止对第一目标音频数据进行转发的情况下,禁止向目标客户端发送目标请求,能够避免在丢包情况下过多的NACK请求,从而减少服务器端的发送和接收端的解析,能够减少客户端的音频数据的重传,从而达到降低客户端的上行带宽以及服务器的下行带宽的目的。
在该实施例中,分别接收多个客户端中的一个或多个第一客户端的第一音频数据,得到目标音频数据;在目标音频数据中缺失了目标客户端的第一目标音频数据的情况下,获取目标客户端的目标状态,其中,多个客户端包括目标客户端,目标状态用于指示禁止对第一目标音频数据进行转发,或者允许将第一目标音频数据转发至与目标客户端相关联的客户端;在目标状态指示出禁止对第一目标音频数据进行转发的情况下,禁止向目标客户端发送目标请求,其中,目标请求用于请求目标客户端将第一目标音频数据重传。也就是说,在获取到的目标音频数据中缺失了目标客户端的第一目标音频数据的情况下,确定第一目标音频数据为是否需要进行转发的音频数据(活跃音频),如果不是,则禁止向目标客户端请求获取缺失的第一目标音频数据,能够减少对客户端的音频数据进行请求重传,解决了对音频数据进行处理的效率低的技术问题,进而达到了提高对音频数据进行处理的效率的技术效果。
作为一种可选的实施方式,在步骤S104,获取目标客户端的目标状态之后,该方法还包括:在目标状态指示出允许将第一目标音频数据转发至与目标客户端相关联的客户端的情况下,向目标客户端发送目标请求;接收目标客户端响应目标请求发送的第一目标音频数据;将第一目标音频数据转发至与目标客户端相关联的客户端。
在该实施例中,目标状态可以指示允许将目标客户端产生的音频数据转发至与目标客户端相关联的客户端,也即,该目标客户端产生的第一目标音频数据为活跃音频数据,比如,第一目标音频数据为多个客户端中音量最大的客户端所产生的音频数据,这样在目标状态指示出允许将第一目标音频数据转发至与目标客户端相关联的客户端的情况下,服务器向目标客户端发送目标请求,请求目标客户端重传第一目标音频数据,目标客户端在接收到该目标请求之后,响应该目标请求,将第一目标音频数据转发至与目标客户端相关联的客户端。
举例而言,多个客户端为客户端1、客户端2、客户端3和客户端4,其中,客户端1产生的音频数据所指示的音量最大,将其音频数据确定为活跃音频数据,其目标状态允许将其转发至与客户端1相关联的客户端2、客户端3和客户端4,从而使得客户端2、客户端3和客户端4只能收到除自己外声音最大的客户端1的音频数据。需要说明的是,这里的相关联指目标客户端与可以接收其音频数据的客户端之间相关联。
作为一种可选的实施方式,在步骤S102,分别接收多个客户端中的一个或多个第一客户端的第一音频数据之前,该方法还包括:接收多个客户端的第二音频数据;按照每个客户端的第二音频数据,确定每个客户端的目标状态。
在该实施例中,在分别接收多个客户端中的一个或多个第一客户端的第一音频数据之前,需要确定每个客户端的目标状态,可以接收多个客户端的第二音频数据,通过该多个客户端的第二音频数据来确定每个客户端的目标状态,比如,确定禁止对每个客户端产生的音频数据进行转发的状态,或者确定允许将每个客户端产生的音频数据转发至与目标客户端相关联的客户端的状态。
下面对该实施例的按照每个客户端的第二音频数据,确定每个客户端的目标状态的方法进行介绍。
作为一种可选的实施方式,按照每个客户端的第二音频数据,确定每个客户端的目标状态包括:从每个客户端的第二音频数据中提取出第一音量数据,其中,第一音量数据用于指示对应的客户端发出的音频的音量;根据每个客户端的第一音量数据,从多个客户端中确定出与每个客户端相关联的第一目标数量的第一目标客户端,其中,每个客户端用于接收与每个客户端相关联的每个第一目标客户端的第二音频数据,每个第一目标客户端的第一音量数据指示出的音频的音量大于第二客户端的第一音量数据所指示的音频的音量,第二客户端为多个客户端中除每个客户端和第一目标数量的第一目标客户端之外的任一客户端;分别将第一目标数量的第一目标客户端的状态确定为第一目标状态,其中,第一目标状态用于指示允许将第一目标客户端的第二音频数据转发至与第一目标客户端相关联的客户端;分别将多个客户端中的第二目标数量的第二目标客户端的状态确定为第二目标状态,其中,第二目标数量的第二目标客户端为多个客户端中除第一目标数量的第一目标客户端之外的客户端,第二目标状态用于指示禁止对第二目标客户端的第二音频数据进行转发。
在该实施例中,每个客户端的第二音频数据包括第一音量数据,该第一音量数据可以由第二音频数据的包头携带,用于指示产生第二音频数据的客户端所发出的音频的音量。在从每个客户端的第二音频数据中提取出第一音量数据之后,可以根据每个客户端的第一音量数据,从多个客户端中确定出与每个客户端相关联的第一目标数量的第一目标客户端,每个客户端用于接收与每个客户端相关联的每个第一目标客户端的第二音频数据,该每个第一目标客户端的第一音量数据指示出的音频的音量大于第二客户端的第一音量数据所指示的音频的音量,而第二客户端为多个客户端中除每个客户端和第一目标数量的第一目标客户端之外的任一客户端,也即,每个客户端可以接收除自己之外的第一目标数量的较大音量的客户端所产生的第二音频数据。可以对多个客户端中,除每个客户端之外的客户端的第一音量数据所指示的音量进行排序,从中确定出音量较大的N(N<=3)个客户端,将其确定为与每个客户端相关联的客户端,该每个客户端可以接收与每个客户端相关联的客户端产生的第二音频数据。
举例而言,多个客户端为客户端1、客户端2、客户端3和客户端4,对客户端1、客户端2、客户端3和客户端4所产生的第二音频数据所指示的音量进行排序,客户端1所产生的第二音频数据所指示的音量>客户端2所产生的第二音频数据所指示的音量>客户端3的音量>客户端4的音量。设定目标数量为1,则对于客户端1而言,客户端2所产生的第二音频数据所指示的音量在客户端2、客户端3和客户端4所产生的第二音频数据所指示的音量中最大,则客户端2为与客户端1相关联的客户端,客户端1可以接收服务器转发的客户端2的第二音频数据;对于客户端2而言,客户端1所产生的第二音频数据所指示的音量在客户端1、客户端3和客户端4所产生的第二音频数据所指示的音量中最大,则客户端1为与客户端2相关联的客户端,客户端2可以接收服务器转发的客户端1的第二音频数据;对于客户端3而言,客户端1所产生的第二音频数据所指示的音量在客户端1、客户端2和客户端4所产生的第二音频数据所指示的音量中最大,则客户端1为与客户端3相关联的客户端,客户端3可以接收服务器转发的客户端1的第二音频数据;对于客户端4而言,客户端1所产生的第二音频数据所指示的音量在客户端1、客户端2和客户端3所产生的第二音频数据所指示的音量中最大,则客户端1为与客户端4相关联的客户端,客户端4可以接收服务器转发的客户端1的第二音频数据。
在从多个客户端中确定出与每个客户端相关联的第一目标数量的第一目标客户端之后,可以分别将第一目标数量的第一目标客户端的状态确定为第一目标状态,该第一目标状态用于指示允许将第一目标客户端的第二音频数据转发至与第一目标客户端相关联的客户端,也即,该第一目标客户端的第二音频数据为活跃音频数据,比如,多个客户端为客户端1、客户端2、客户端3和客户端4,客户端1所产生的第二音频数据所指示的音量>客户端2所产生的第二音频数据所指示的音量>客户端3的音量>客户端4的音量,将客户端1的目标状态确定为用于指示允许将客户端1的第二音频数据转发至与客户端1相关联的客户端2、客户端3、客户端4的第一目标状态,该客户端1所产生的第二音频数据为活跃音频数据。而对客户端1而言,客户端2的目标状态为用于指示允许将客户端2的第二音频数据转发至与客户端2相关联的客户端1的第一目标状态。
在该实施例中,在从多个客户端中确定出与每个客户端相关联的第一目标数量的第一目标客户端之后,分别将多个客户端中的第二目标数量的第二目标客户端的状态确定为第二目标状态,该第二目标状态用于指示禁止对第二目标数量的第二目标客户端的第二音频数据进行转发,该第二目标数量的第二目标客户端为多个客户端中除第一目标数量的第一目标客户端之外的客户端,也即,第二目标数量的第二目标客户端产生的第二音频数据为非活跃音频数据。比如,多个客户端为客户端1、客户端2、客户端3和客户端4,客户端1所产生的第二音频数据所指示的音量>客户端2所产生的第二音频数据所指示的音量>客户端3的音量>客户端4的音量,将客户端1的目标状态确定为用于指示允许将客户端1的第二音频数据转发至与客户端1相关联的客户端2、客户端3、客户端4的第一目标状态,将客户端2、客户端3、客户端4的目标状态确定为禁止对其第二音频数据进行转发的第二目标状态,该客户端2、客户端3、客户端4产生的第二音频数据为非活跃的音频数据。而对客户端1而言,客户端2的目标状态为用于指示允许将客户端2的第二音频数据转发至与客户端2相关联的客户端1的第一目标状态,客户端1、客户端3和客户端4的目标状态为禁止对其第二音频数据进行转发的第二目标状态,客户端1、客户端3和客户端4产生的第二音频数据为非活跃的音频数据,从而实现了对多个客户端的目标状态的确定,以减少客户端的音频数据的重传,从而达到降低客户端的上行带宽以及服务器的下行带宽的目的,提高对音频数据进行处理的效率
作为一种可选的实施方式,在步骤S106,禁止向目标客户端发送目标请求之后,该方法还包括:接收多个客户端的第三音频数据;按照每个客户端的第三音频数据,对每个客户端的目标状态进行更新。
在该实施例中,在禁止向目标客户端发送目标请求之后,随着时间的推移,客户端的目标状态可以随着产生的音频数据进行变化,该实施例可以在之后的时间里对每个客户端的目标状态进行更新。可以接收多个客户端的第二音频数据,通过该多个客户端的第二音频数据来确定每个客户端的目标状态,比如,确定禁止对每个客户端产生的音频数据进行转发的状态,或者确定允许将每个客户端产生的音频数据转发至与目标客户端相关联的客户端的状态。对每个客户端的目标状态进行更新,更新后的目标状态可以和更新前的目标状态相同或不同。可以将客户端的目标状态更新到服务器中与客户端对应的端点(endpoint)中。
作为一种可选的实施方式,按照每个客户端的第三音频数据,对每个客户端的目标状态进行更新包括:从每个客户端的第三音频数据中提取出第二音量数据,其中,第二音量数据用于指示对应的客户端发出的音频的音量;根据每个客户端的第二音量数据,从多个客户端中确定出与每个客户端相关联的第三目标数量的第三目标客户端,其中,每个客户端用于接收与每个客户端相关联的每个第三目标客户端的第三音频数据,每个第三目标客户端的第二音量数据指示出的音频的音量大于第三客户端的第二音量数据所指示的音频的音量,第三客户端为多个客户端中除每个客户端和第三目标数量的第三目标客户端之外的任一客户端;分别将第三目标数量的第三目标客户端的状态更新为第一目标状态,其中,第一目标状态用于指示允许将第三目标客户端的音频数据转发至与第三目标客户端相关联的客户端;分别将多个客户端中的第四目标数量的第四目标客户端的状态更新为第二目标状态,其中,第四目标数量的第四目标客户端为多个客户端中除第三目标数量的第三目标客户端之外的客户端,第二目标状态用于指示禁止对第四目标客户端的音频数据进行转发。
在该实施例中,每个客户端的第三音频数据包括第二音量数据,该第二音量数据可以由第三音频数据的包头携带,用于指示产生第三音频数据的客户端所发出的音频的音量。在从每个客户端的第三音频数据中提取出第二音量数据之后,可以根据每个客户端的第二音量数据,从多个客户端中确定出与每个客户端相关联的第三目标数量的第三目标客户端,每个客户端用于接收与每个客户端相关联的每个第三目标客户端的第三音频数据,该每个第三目标客户端的第二音量数据指示出的音频的音量大于第三客户端的第二音量数据所指示的音频的音量,而第三客户端为多个客户端中除每个客户端和第三目标数量的第三目标客户端之外的任一客户端,也即,每个客户端可以接收除自己之外的第三目标数量的较大音量的客户端所产生的第三音频数据。可以对多个客户端中,除每个客户端之外的客户端的第二音量数据所指示的音量进行排序,从中确定出音量较大的N(N<=3)个客户端,将其确定为与每个客户端相关联的客户端,该每个客户端可以接收与每个客户端相关联的客户端产生的第三音频数据。
在从多个客户端中确定出与每个客户端相关联的第三目标数量的第三目标客户端之后,可以分别将第三目标数量的第三目标客户端的状态更新为第一目标状态,该第一目标状态用于指示允许将第三目标客户端的第三音频数据转发至与第三目标客户端相关联的客户端,也即,该第三目标客户端的第二音频数据为活跃音频数据。
在该实施例中,在从多个客户端中确定出与每个客户端相关联的第三目标数量的第三目标客户端之后,分别将多个客户端中的第四目标数量的第四目标客户端的状态更新为第二目标状态,该第二目标状态用于指示禁止对第四目标数量的第四目标客户端的第三音频数据进行转发,该第四目标数量的第四目标客户端为多个客户端中除第三目标数量的第一目标客户端之外的客户端,也即,第四目标数量的第四目标客户端产生的第二音频数据为非活跃音频数据,从而实现了对多个客户端的目标状态的更新,以减少客户端的音频数据的重传,从而达到降低客户端的上行带宽以及服务器的下行带宽的目的,提高对音频数据进行处理的效率。
作为一种可选的实施方式,接收多个客户端的第三音频数据包括:每隔目标时间段接收多个客户端的第三音频数据;按照每个客户端的第三音频数据,对每个客户端的目标状态进行更新包括:每隔目标时间段按照每个客户端的第三音频数据,对每个客户端的目标状态进行更新。
在该实施例中,在对多个客户端的目标状态进行更新时,可以每隔目标时间段接收多个客户端的第三音频数据,比如,每隔15分钟接收多个客户端产生的第三音频数据,此处不做限制。在接收到多个客户端的第三音频数据之后,可以按照接收到的每个客户端的第三音频数据,按照上述方法对每个客户端的目标状态进行更新,使得每隔目标时间段按照每个客户端的第三音频数据,对每个客户端的目标状态进行更新,以减少客户端的音频数据的重传,从而达到降低客户端的上行带宽以及服务器的下行带宽的目的,提高对音频数据进行处理的效率。
作为一种可选的实施方式,在步骤S104,获取目标客户端的目标状态之前,该方法还包括:获取目标列表,其中,目标列表中包括每个第一客户端的第一音频数据的标识信息;在目标列表中未包括第一目标音频数据的标识信息的情况下,确定目标音频数据中缺失了第一目标音频数据。
在该实施例中,多个客户端向服务器发送音频数据包,在目标列表为非空的情况下,该目标列表包括了服务器接收到的每个第一客户端发送的第一音频数据的标识信息,由于音频数据都是按时间顺序向服务器发送的,携带有序列号,该实施例的标识信息可以为序列号,比如,多个客户端为10个客户端,则多个客户端向服务器发送序列号从1到10的音频数据。在获取目标列表之后,在目标列表中未包括第一目标音频数据的标识信息的情况下,确定目标音频数据中缺失了第一目标音频数据,该第一目标音频数据为缺失包,该实施例可以将目标列表中缺少的任意音频数据确定为第一目标音频数据,比如,当服务器没有收到序列号为5的音频数据,而序列号为5之后和之前的音频数据包都接收到了,则服务器可以确定序列号为5的音频数据即为缺失包。
在确定目标音频数据中缺失了第一目标音频数据之后,在目标状态指示出禁止对第一目标音频数据进行转发的情况下,禁止向目标客户端发送目标请求,在目标状态指示出允许将第一目标音频数据转发至与目标客户端相关联的客户端的情况下,向目标客户端发送目标请求,接收目标客户端响应目标请求发送的第一目标音频数据;将第一目标音频数据转发至与目标客户端相关联的客户端,从而减少客户端的音频数据的重传,从而达到降低客户端的上行带宽以及服务器的下行带宽的目的,提高对音频数据进行处理的效率。
作为一种可选的实施方式,步骤S102,分别接收多个客户端中的一个或多个第一客户端的第一音频数据,得到目标音频数据包括:分别获取处于会议场景下的一个或多个第一客户端的第一音频数据,得到目标音频数据。
该实施例的音频数据处理方法适用于会议场景,比如,该会议场景为多端语音会议场景。服务器分别获取处于会议场景下的一个或多个第一客户端的第一音频数据,得到目标音频数据,在目标音频数据中缺失了目标客户端的第一目标音频数据的情况下,服务器获取目标客户端的目标状态,在目标状态指示出禁止对第一目标音频数据进行转发的情况下,服务器禁止向处于会议场景下的目标客户端发送用于请求目标客户端将第一目标音频数据重传的目标请求。
举例而言,在会议场景下,有四个用户分别使用客户端1、客户端2、客户端3、客户端4加入会议。服务器获取客户端1、客户端3、客户端4发送的音频数据,客户端2的音频数据出现了丢包情况,而客户端2的目标状态指示出禁止服务器对客户端2的音频数据进行转发,则服务器禁止向处于会议场景下的客户端2发送用于请求目标客户端将第一目标音频数据重传的目标请求,能够减少对处于会议场景下的客户端的音频数据进行请求重传,进而达到了提高对会议场景下的音频数据进行处理的效率的效果。
下面从终端侧对本发明实施例的音频数据的处理方法进行介绍。
图1B是根据本发明实施例的另一种音频数据的处理方法的流程图。如图1B所示,该方法包括以下步骤:
步骤S202,向服务器发送目标音频数据。
在本发明上述步骤S202提供的技术方案中,终端向服务器发送目标音频数据,其中,目标音频数据包括多个客户端中的一个或多个第一客户端的第一音频数据。
在该实施例中,终端向服务器发送目标音频数据,服务器分别接收该目标音频数据。其中,客户端为产生音频数据的源端,可以为音频客户端,比如,为多端语音会议场景中所使用的音频客户端。可选地,该实施例的客户端可以包括音频接收模块和音频发送模块,其中,客户端的音频接收模块可以用于接收服务器转发的其它客户端产生的音频数据,客户端的音频发送模块可以用于发送客户端产生的音频数据至服务器。
步骤S204,在目标音频数据中缺失了目标客户端的第一目标音频数据,并在目标客户端的目标状态指示出禁止服务器对目标客户端的第一目标音频数据进行转发的情况下,禁止目标客户端接收服务器发送的目标请求。
在本发明上述步骤S204提供的技术方案中,多个客户端包括目标客户端,目标请求用于请求目标客户端将第一目标音频数据重传。
在该实施例中,终端可以向服务器发送所有客户端产生的音频数据,但由于网络、线路故障等因素可能使得客户端产生的音频数据不能正常向服务器发送,从而出现丢包情况。该实施例的多个客户端包括目标客户端,该目标客户端可以为多个客户端中的任一客户端,可以产生第一目标音频数据,如果目标音频数据中缺失了该第一目标音频数据,则该第一目标音频数据为目标音频数据的缺失包,在目标客户端的目标状态指示出禁止服务器对目标客户端的第一目标音频数据进行转发的情况下,终端禁止目标客户端接收服务器发送的目标请求,也即,目标客户端产生的第一目标音频数据不属于活跃音频数据(ActiveAudio),不需要将其转发至多个客户端中的除目标客户端之外的其它客户端。
需要说明的是,该实施例对目标音频数据中缺失的音频数据不限制,可以缺失两个或两个以上的客户端的音频数据。
在该实施例中,在目标客户端的目标状态指示出禁止对第一目标音频数据进行转发的情况下,则第一目标音频数据在当前时间输出与非活跃音频数据,比如,为音量较小的音频数据,即使服务器获取到该第一目标音频数据,也不需将其转发至其它客户端上,因而,在目标状态指示出禁止对第一目标音频数据进行转发的情况下,禁止向目标客户端发送目标请求,该目标请求可以为重传请求NACK,也即,在启用NACK的情况下,接收方在未接收到发送方发送的数据的情况下,会向发送方发送对数据进行重传的请求。
该实施例在目标状态指示出禁止对第一目标音频数据进行转发的情况下,禁止向目标客户端发送目标请求,能够避免在丢包情况下过多的NACK请求,从而减少服务器端的发送和接收端的解析,能够减少客户端的音频数据的重传,从而达到降低客户端的上行带宽以及服务器的下行带宽的目的。
作为一种可选的示例,该实施例在出现客户端的音频数据丢包的情况下,只请求重传声音较大的固定数量的客户端的音频数据,而音量较小的客户端的音频数据,即使出现了丢包,也不请求重传时。
该实施例向服务器发送目标音频数据,在目标音频数据缺失了目标客户端的第一目标音频数据的情况下,通过服务器确定第一目标音频数据为是否需要进行转发的音频数据(活跃音频),如果不是,则禁止目标客户端接收用于请求获取缺失的第一目标音频数据的请求,从而能够减少对客户端的音频数据进行请求重传,减少服务器端发送和接收端的解析的数据处理量,并且能够减少客户端的音频数据包的重传,从而降低客户端的上行带宽以及服务器的下行带宽,解决了对音频数据进行处理的效率低的技术问题,进而达到了提高对音频数据进行处理的效率的技术效果。
实施例2
下面结合优选的实施例对本发明实施例的方案进行举例说明。具体以多端语义会议场景中的音频数据传输方法进行举例说明。
在该实施例中,在多端语音会议场景下,具有多个客户端,每个客户端用于生成音频数据,并将该音频数据向服务器发送,服务器默认会接收所有客户端发送过来的音频数据,其中,音频数据至少用于指示客户端发出的音频的音量。在客户端发送过来的音频数据中,服务器会选择其中音量较大的N路音频数据,将该N路音频数据确定为活跃音频数据,并将活跃音频数据向其它客户端发送,以使每个客户端都只能接收除自己的音频数据之外,音量最大的N路音频数据,从而当多个用户通过客户端同时讲话时,可以保证每个用户通过客户端收到音量比自己大的N路音频数据,达到降低带宽,同时过滤掉周围的环境干扰声音的效果。
在该实施例中,丢包重传(NACK)是服务器在未接收到数据时,向发送方发送重传请求,也即,NACK请求。通过该重传请求通知发送方重新发送数据,可以向通知方发送消息,比如,“我未收到消息”。可选地,该实施例的音频数据包都是按时间顺序进行发送的,可以都带有序号,该序号可以是按发送时间进行升序排列且连续的序号。该实施例的NACK请求中携带有丢失的音频数据包的序列号,从而让发送方重新发送丢失的音频数据包。
图2是根据本发明实施例的一种服务器和客户端之间的音频数据进行传输的示意图。如图2所示,服务器20、客户端(Client)11、客户端12、客户端13、客户端14,其中,客户端11包括音频发送模块(AudioSendStream)111和音频接收模块(AudioRecvStream)112,客户端12包括音频发送模块121和音频接收模块122,客户端13包括音频发送模块131和音频接收模块132,客户端14包括音频发送模块141和音频接收模块142;服务器包括端点(endpoint)21、端点22、端点23和端点24,其中,端点21包括音频接收模块211、音频发送模块212和端点输入引脚213,端点22包括音频接收模块221、音频发送模块222和端点输入引脚223,端点23包括音频接收模块231、音频发送模块232和端点输入引脚233,端点24包括音频接收模块241、音频发送模块242和端点输入引脚243,服务器还包括过滤器(exceptSelfFilter)25。
在该实施例中,客户端11与服务器20的端点21相对应,端点21用于服务器20与客户端11之间的音频数据的传输;客户端12与服务器20的端点22相对应,端点22用于服务器20与客户端12之间的音频数据的传输;客户端13与服务器的端点13相对应,端点13用于服务器20与客户端13之间的音频数据的传输;客户端14与服务器的端点14相对应,端点14用于服务器20与客户端14之间的音频数据的传输。
该实施例的客户端11、客户端12、客户端13、客户端14和对应的端点21、端点22、端点23和端点24都有音频发送模块(音频发送模块121、音频发送模块131、音频发送模块141、音频发送模块212、音频发送模块222、音频发送模块232和音频发送模块242)和音频接收模块(音频接收模块112、音频接收模块122、音频接收模块132、音频接收模块142、音频接收模块211、音频接收模块231和音频接收模块241),其中,音频发送模块也即音频流发送模块,用于音频数据的发送,音频接收模块也即音频流接收模块,用于音频数据的接收。
在该实施例的会议场景中,客户端11、客户端12、客户端13、客户端14加入会议,服务器接收客户端11、客户端12、客户端13、客户端14在会议期间分别生成的音频数据。其中,客户端11当前生成的音频数据的音量大于客户端12、客户端13、客户端14生成的音频数据的音量。当多个用户通过对应的客户端同时讲话时,接听者的注意力是有限的,服务器可以只选择音量最大的客户端11的音频数据进行转发(N=1)。也即,服务器虽然接收到了客户端12、客户端13、客户端14在会议期间分别生成的音频数据,但是并没有将其向其它的客户端进行转发,只是转发了客户端11产生的音频数据,客户端12、客户端13、客户端14接收到的音频数据所指示的音频的音量均大于自己产生的音频数据所指示的音频的音量,也即,其他客户端只能收到除自己之外,音频的音量最大的一路音频数据,从而降低了带宽,还可以过滤掉周围的环境干扰声音。
可选地,在该实施例中,虽然客户端11的音频数据所指示的音频的音量在客户端12、客户端13、客户端14的音频数据所指示的音量中最大,但是客户端11不能收到自己的音频数据。服务器可以从客户端12、客户端13、客户端14中选择出音量最大的客户端的音频数据,将通过输入引脚213存储至过滤器25,通过过滤器25将其转发至客户端11,从而使客户端11只受到除自己之外,音频的音量最大的一路音频数据,从而降低了带宽,还可以过滤掉周围的环境干扰声音。
图3是根据本发明实施例的另一种音频数据处理方法的流程图。如图3所示,该方法包括以下步骤:
步骤S301,服务器获取当前会议中音量最大的N路音频数据。
在该实施例中,服务器获取多个客户端发送过来的多路音频数据,其中,每路音频数据与每个客户端一一对应。从多个客户端发送过来的多路音频数据中选择其中音量较大的N(可以为N<=3的自然数)音频数据,可以将该N路音频数据确定为活跃音频数据(activeaudio)。
可选地,在该实施例中,客户端发送的音频数据可以为音频数据包,音频数据包的包头会携带有客户端当前产生的音频的音量信息(audioLevel),该音量信息指示音频的音量大小。服务器会每隔目标时间段针对会议场景中的各个客户端发过来的音频数据包,提取各个音频数据包中的音量信息,对各个音频数据包中的音量信息进行排序,取音量信息所指示的音量最大的N路音频数据包对应的客户端,将其作为可以产生活跃音频的客户端。其中,上述目标时间段也即活跃音频数据的更新周期。
步骤S302,服务器将每个客户端的每音频数据是否为活跃音频数据的状态更新到服务器的每个端点。
在获取当前会议中音量最大的N路音频数据,且将N路音频数据确定为活跃音频数据之后,将每个客户端的每音频数据是否为活跃音频数据的状态更新到服务器的每个端点,比如,上述客户端11发送的音频数据为活跃音频数据,将该状态更新到与客户端11对应的端点21中,而客户端12、客户端13、客户端14为非活跃音频数据,将该状态分别更新到对应的端点22、端点23和端点24中。
在该实施例中,在确定出多个客户端的音频数据中的活跃音频数据之后,更新服务器的过滤器(exceptSelfFilter)与不同端点中的端点输入引脚之间的连接状态,可以将与非活跃音频数据对应的端点中的端点输入引脚去掉,比如,上述客户端12、客户端13、客户端14的音频数据为非活跃音频数据,将与客户端12对应的端点输入引脚223,与客户端13对应的端点输入引脚233,客户端14对应的端点输入引脚243去掉,从而不将客户端12、客户端13、客户端14的音频数据转发至其它客户端上;该实施例将新的活跃音频数对应的端点输入引脚与过滤器相连接,比如,上述客户端11的音频数据为活跃音频数据,将客户端11对应的端点输入引脚213与过滤器25相连接,这样服务器就能将活跃音频数据转发给其他客户端。
步骤S303,服务器的每个端点的音频接收模块,根据对应客户端的音频数据是否为活跃音频数据以及音频数据包的丢包情况,确定是否请求重传音频数据包。
可选地,在该实施例中,在服务器将每个客户端的每音频数据是否为活跃音频数据的状态更新到服务器的每个端点之后,服务器的每个端点的音频接收模块后续可以接收对应的客户端发送过来的音频数据。可选地,服务器的每个端点的音频接收模块确定是否接收到对应的客户端发送过来的音频数据,如果未接收到对应的客户端发送过来的音频数据,则判断端点记录的该客户端的音频数据的状态是否为活跃音频数据,在对应的客户端的音频数据为活跃音频数据的情况下,向对应的客户端请求重传音频数据包,在对应的客户端的音频数据为非活跃音频数据的情况下,不向对应的客户端请求重传音频数据包,从而避免了在非活跃音频数据存在丢包的情况下,服务器还是会给产生该非活跃音频数据的客户端发送NACK请求,造成无用的NACK请求和重传,从而避免了造成带宽资源浪费。
可选地,在该实施例中,发送NACK请求是在每个端点的音频接收模块中进行的,也即,在服务器接收到多个客户端的音频数据之后,判断是否存在音频数据丢包的情况,可选地,该实施例的音频数据包都是按时间顺序进行发送的,可以都带有序号,该序号可以是按发送时间进行升序排列且连续的序号,比如,多个客户端发送了序列号从1到10的音频数据包,当服务器没有收到序列号为5的音频数据包,而序列号为5之前和之后的音频数据包都接收到了,则服务器可以确定序列号为5的音频数据包丢了,如果产生序列号为5的音频数据的客户端,在最近的活跃音频数据的更新周期中已被确定为产生活跃音频数据的客户端,则服务器需要向该客户端发送NACK请求,该NACK请求中携带有丢失的音频数据包的序列号,比如,为5,从而让客户端重新发送丢失的音频数据包。客户端在接收到NACK请求后,会通过该客户端的音频发送模块将丢失的音频数据包重传向服务器,以使服务器接收到活跃音频数据包。
图4是根据本发明实施例的另一种音频数据处理方法的流程图。如图4所示,该方法包括以下步骤:
步骤S401,获取多个客户端发送的音频数据包。
步骤S402,从用于发送NACK请求的模块中获取音频数据包的缺失包序列号。
该实施例的缺失包序列号(nackList)是根据收到的音频数据包的序列号而计算出的缺失包序列号,比如,多个客户端发送了序列号从1到10的音频数据包,如果服务器没有收到序列号为5的音频数据包,而序列号为5以后的音频数据包都接收到了,则服务器可以确定序列号为5的音频数据包丢了。
步骤S403,判断缺失包序列号是否为空。
步骤S404,判断与缺失包序列号对应的客户端的状态是否为产生活跃音频数据的状态。
在缺失包序列号不为空的情况下,判断与缺失包序列号对应的客户端的状态是否为产生活跃音频数据的状态。
步骤S405,请求重传与缺失包序列号对应的客户端的音频数据。
如果判断出与缺失包序列号对应的客户端的状态为产生活跃音频数据的状态,则请求重传与缺失包序列号对应的客户端的音频数据。
在缺失包序列号为空,或者与缺失包序列号对应的客户端的状态不为产生活跃音频数据的状态,则结束对音频数据进行处理的方法的流程。
该实施例可以会议场景下的一种服务器端只请求重传活跃音频的方法,在服务器获取到的音频数据中存在丢失音频数据的情况下,确定丢失的音频数据是否为需要转发至其它客户端的活跃音频数据,以确定是否需要对丢失的音频数据进行重传,如果不需要,则禁止向目标客户端请求获取丢失的音频数据,能够避免向客户端发送过多NACK请求,从而减少服务器端发送和接收端的解析的数据处理量,并且能够减少客户端的音频数据包的重传,从而降低客户端的上行带宽以及服务器的下行带宽。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例3
本发明实施例还提供了一种音频数据的处理装置。需要说明的是,该实施例的音频数据的处理装置可以用于执行本发明实施例的图1A所示的音频数据的处理方法。
图5是根据本发明实施例的一种音频数据的处理装置的示意图。如图5所示,该音频数据的处理装置500包括:接收单元10、获取单元20和禁止单元30。
接收单元10,用于分别接收多个客户端中的一个或多个第一客户端的第一音频数据,得到目标音频数据。
获取单元20,用于在目标音频数据中缺失了目标客户端的第一目标音频数据的情况下,获取目标客户端的目标状态,其中,多个客户端包括目标客户端,目标状态用于指示禁止对第一目标音频数据进行转发,或者允许将第一目标音频数据转发至与目标客户端相关联的客户端。
禁止单元30,用于在目标状态指示出禁止对第一目标音频数据进行转发的情况下,禁止向目标客户端发送目标请求,其中,目标请求用于请求目标客户端将第一目标音频数据重传。
需要说明的是,该实施例中的接收单元10可以用于执行本申请实施例中的步骤S102,该实施例中的获取单元20可以用于执行本申请实施例中的步骤S104,该实施例中的禁止单元30可以用于执行本申请实施例中的步骤S106。
该实施例在获取到的目标音频数据中缺失了目标客户端的第一目标音频数据的情况下,确定第一目标音频数据为是否需要进行转发的音频数据(活跃音频),如果不是,则禁止向目标客户端请求获取缺失的第一目标音频数据,能够减少对客户端的音频数据进行请求重传,解决了对音频数据进行处理的效率低的技术问题,进而达到了提高对音频数据进行处理的效率的技术效果。
本发明实施例还提供了一种音频数据的处理装置。需要说明的是,该实施例的音频数据的处理装置可以用于执行本发明实施例的图1B所示的音频数据的处理方法。
图6是根据本发明实施例的另一种音频数据的处理装置的示意图。如图6所示,该音频数据的处理装置600包括:发送单元40和禁止单元50。
发送单元40,用于向服务器发送目标音频数据,其中,目标音频数据包括多个客户端中的一个或多个第一客户端的第一音频数据。
禁止单元50,用于在目标音频数据中缺失了目标客户端的第一目标音频数据,并在目标客户端的目标状态指示出禁止服务器对目标客户端的第一目标音频数据进行转发的情况下,禁止目标客户端接收服务器发送的目标请求,其中,多个客户端包括目标客户端,目标请求用于请求目标客户端将第一目标音频数据重传。
需要说明的是,该实施例中的发送单元40可以用于执行本申请实施例中的步骤S202,该实施例中的禁止单元50可以用于执行本申请实施例中的步骤S204。
该实施例向服务器发送目标音频数据,在目标音频数据缺失了目标客户端的第一目标音频数据的情况下,通过服务器确定第一目标音频数据为是否需要进行转发的音频数据(活跃音频),如果不是,则禁止目标客户端接收用于请求获取缺失的第一目标音频数据的请求,从而能够减少对客户端的音频数据进行请求重传,减少服务器端发送和接收端的解析的数据处理量,并且能够减少客户端的音频数据包的重传,从而降低客户端的上行带宽以及服务器的下行带宽,解决了对音频数据进行处理的效率低的技术问题,进而达到了提高对音频数据进行处理的效率的技术效果。
实施例4
本发明实施例还提供了一种存储介质。该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行本发明实施例中的音频数据处理方法。
实施例5
本发明实施例还提供了一种处理器。该处理器用于运行程序,其中,程序运行时执行本发明实施例中的音频数据处理方法。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种音频数据的处理方法,其特征在于,包括:
分别接收多个客户端中的一个或多个第一客户端的第一音频数据,得到目标音频数据;
在所述目标音频数据中缺失了目标客户端的第一目标音频数据的情况下,获取所述目标客户端的目标状态,其中,所述多个客户端包括所述目标客户端,所述目标状态用于指示禁止对所述第一目标音频数据进行转发,或者允许将所述第一目标音频数据转发至与所述目标客户端相关联的所述客户端;
在所述目标状态指示出禁止对所述第一目标音频数据进行转发的情况下,禁止向所述目标客户端发送目标请求,其中,所述目标请求用于请求所述目标客户端将所述第一目标音频数据重传。
2.根据权利要求1所述的方法,其特征在于,在获取所述目标客户端的目标状态之后,所述方法还包括:
在所述目标状态指示出允许将所述第一目标音频数据转发至与所述目标客户端相关联的所述客户端的情况下,向所述目标客户端发送所述目标请求;
接收所述目标客户端响应所述目标请求发送的所述第一目标音频数据;
将所述第一目标音频数据转发至与所述目标客户端相关联的所述客户端。
3.根据权利要求1所述的方法,其特征在于,在分别接收多个客户端中的一个或多个第一客户端的第一音频数据之前,所述方法还包括:
接收所述多个客户端的第二音频数据;
按照每个所述客户端的所述第二音频数据,确定每个所述客户端的所述目标状态。
4.根据权利要求3所述的方法,其特征在于,按照每个所述客户端的所述第二音频数据,确定每个所述客户端的所述目标状态包括:
从每个所述客户端的所述第二音频数据中提取出第一音量数据,其中,所述第一音量数据用于指示对应的所述客户端发出的音频的音量;
根据每个所述客户端的所述第一音量数据,从所述多个客户端中确定出与每个所述客户端相关联的第一目标数量的第一目标客户端,其中,每个所述客户端用于接收与每个所述客户端相关联的每个所述第一目标客户端的所述第二音频数据,每个所述第一目标客户端的所述第一音量数据指示出的音频的音量大于第二客户端的所述第一音量数据所指示的音频的音量,所述第二客户端为所述多个客户端中除每个所述客户端和所述第一目标数量的所述第一目标客户端之外的任一所述客户端;
分别将所述第一目标数量的所述第一目标客户端的状态确定为第一目标状态,其中,所述第一目标状态用于指示允许将所述第一目标客户端的所述第二音频数据转发至与所述第一目标客户端相关联的所述客户端;
分别将所述多个客户端中的第二目标数量的第二目标客户端的状态确定为第二目标状态,其中,所述第二目标数量的所述第二目标客户端为所述多个客户端中除所述第一目标数量的所述第一目标客户端之外的客户端,所述第二目标状态用于指示禁止对所述第二目标客户端的所述第二音频数据进行转发。
5.根据权利要求1所述的方法,其特征在于,在禁止向所述目标客户端发送目标请求之后,所述方法还包括:
接收所述多个客户端的第三音频数据;
按照每个所述客户端的所述第三音频数据,对每个所述客户端的所述目标状态进行更新。
6.根据权利要求5所述的方法,其特征在于,按照每个所述客户端的所述第三音频数据,对每个所述客户端的所述目标状态进行更新包括:
从每个所述客户端的所述第三音频数据中提取出第二音量数据,其中,所述第二音量数据用于指示对应的所述客户端发出的音频的音量;
根据每个所述客户端的所述第二音量数据,从所述多个客户端中确定出与每个所述客户端相关联的第三目标数量的第三目标客户端,其中,每个所述客户端用于接收与每个所述客户端相关联的每个所述第三目标客户端的所述第三音频数据,每个所述第三目标客户端的所述第二音量数据指示出的音频的音量大于第三客户端的所述第二音量数据所指示的音频的音量,所述第三客户端为所述多个客户端中除每个所述客户端和所述第三目标数量的所述第三目标客户端之外的任一所述客户端;
分别将所述第三目标数量的所述第三目标客户端的状态更新为第一目标状态,其中,所述第一目标状态用于指示允许将所述第三目标客户端的所述第三音频数据转发至与所述第三目标客户端相关联的所述客户端;
分别将所述多个客户端中的第四目标数量的第四目标客户端的状态更新为第二目标状态,其中,所述第四目标数量的所述第四目标客户端为所述多个客户端中除所述第三目标数量的所述第三目标客户端之外的客户端,所述第二目标状态用于指示禁止对所述第四目标客户端的所述第三音频数据进行转发。
7.根据权利要求5所述的方法,其特征在于,获取所述多个客户端的第三音频数据包括:
每隔目标时间段获取所述多个客户端的所述第三音频数据。
8.根据权利要求7所述的方法,其特征在于,按照每个所述客户端的所述第三音频数据,对每个所述客户端的所述目标状态进行更新包括:
每隔所述目标时间段按照每个所述客户端的所述第三音频数据,对每个所述客户端的所述目标状态进行更新。
9.根据权利要求1至8中任意一项所述的方法,其特征在于,在获取所述目标客户端的目标状态之前,所述方法还包括:
获取目标列表,其中,所述目标列表中包括每个所述第一客户端的所述第一音频数据的标识信息;
在所述目标列表中未包括所述第一目标音频数据的标识信息的情况下,确定所述目标音频数据中缺失了所述第一目标音频数据。
10.根据权利要求1至8中任意一项所述的方法,其特征在于,分别接收多个客户端中的一个或多个第一客户端的第一音频数据,得到目标音频数据包括:
分别获取处于会议场景下的所述一个或多个第一客户端的所述第一音频数据,得到所述目标音频数据。
11.一种音频数据的处理方法,其特征在于,包括:
向服务器发送目标音频数据,其中,所述目标音频数据包括多个客户端中的一个或多个第一客户端的第一音频数据;
在所述目标音频数据中缺失了目标客户端的第一目标音频数据,并在所述目标客户端的目标状态指示出禁止所述服务器对所述目标客户端的第一目标音频数据进行转发的情况下,禁止所述目标客户端接收所述服务器发送的目标请求,其中,所述多个客户端包括所述目标客户端,所述目标请求用于请求所述目标客户端将所述第一目标音频数据重传。
12.一种音频数据的处理装置,其特征在于,包括:
接收单元,用于分别接收多个客户端中的一个或多个第一客户端的第一音频数据,得到目标音频数据;
获取单元,用于在所述目标音频数据中缺失了目标客户端的第一目标音频数据的情况下,获取所述目标客户端的目标状态,其中,所述多个客户端包括所述目标客户端,所述目标状态用于指示禁止对所述第一目标音频数据进行转发,或者允许将所述第一目标音频数据转发至与所述目标客户端相关联的所述客户端;
禁止单元,用于在所述目标状态指示出禁止对所述第一目标音频数据进行转发的情况下,禁止向所述目标客户端发送目标请求,其中,所述目标请求用于请求所述目标客户端将所述第一目标音频数据重传。
13.一种音频数据的处理装置,其特征在于,包括:
发送单元,用于向服务器发送目标音频数据,其中,所述目标音频数据包括多个客户端中的一个或多个第一客户端的第一音频数据;
禁止单元,用于在所述目标音频数据中缺失了目标客户端的第一目标音频数据,并在所述目标客户端的目标状态指示出禁止所述服务器对所述目标客户端的第一目标音频数据进行转发的情况下,禁止所述目标客户端接收所述服务器发送的目标请求,其中,所述多个客户端包括所述目标客户端,所述目标请求用于请求所述目标客户端将所述第一目标音频数据重传。
14.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至11中任意一项所述的方法。
15.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至11中任意一项所述的方法。
CN201910408187.1A 2019-05-15 2019-05-15 音频数据的处理方法、装置、存储介质和处理器 Active CN110166185B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910408187.1A CN110166185B (zh) 2019-05-15 2019-05-15 音频数据的处理方法、装置、存储介质和处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910408187.1A CN110166185B (zh) 2019-05-15 2019-05-15 音频数据的处理方法、装置、存储介质和处理器

Publications (2)

Publication Number Publication Date
CN110166185A true CN110166185A (zh) 2019-08-23
CN110166185B CN110166185B (zh) 2021-07-09

Family

ID=67631008

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910408187.1A Active CN110166185B (zh) 2019-05-15 2019-05-15 音频数据的处理方法、装置、存储介质和处理器

Country Status (1)

Country Link
CN (1) CN110166185B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111049792A (zh) * 2019-10-08 2020-04-21 广州视源电子科技股份有限公司 音频传输方法、装置、终端设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1199832A1 (fr) * 2000-10-20 2002-04-24 Alcatel Procédé de transmission sécurisé évitant les retransmission inutiles
US20040148396A1 (en) * 2001-06-01 2004-07-29 Michael Meyer Method and transmitter for an efficient packet data transfer in a transmission protocol with repeat requests
CN1972223A (zh) * 2006-12-13 2007-05-30 中兴通讯股份有限公司 一种对组播数据流进行监控的方法和装置
CN105376516A (zh) * 2015-10-19 2016-03-02 深圳市航安网络科技有限公司 一种移动视频会议***及其实现方法
US20160219100A1 (en) * 2015-01-22 2016-07-28 Alibaba Group Holding Limited Method and Apparatus of Processing Retransmission Request in Distributed Computing
CN109510905A (zh) * 2018-12-06 2019-03-22 中通天鸿(北京)通信科技股份有限公司 多路语音的混音方法及***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1199832A1 (fr) * 2000-10-20 2002-04-24 Alcatel Procédé de transmission sécurisé évitant les retransmission inutiles
US20040148396A1 (en) * 2001-06-01 2004-07-29 Michael Meyer Method and transmitter for an efficient packet data transfer in a transmission protocol with repeat requests
CN1972223A (zh) * 2006-12-13 2007-05-30 中兴通讯股份有限公司 一种对组播数据流进行监控的方法和装置
US20160219100A1 (en) * 2015-01-22 2016-07-28 Alibaba Group Holding Limited Method and Apparatus of Processing Retransmission Request in Distributed Computing
CN105376516A (zh) * 2015-10-19 2016-03-02 深圳市航安网络科技有限公司 一种移动视频会议***及其实现方法
CN109510905A (zh) * 2018-12-06 2019-03-22 中通天鸿(北京)通信科技股份有限公司 多路语音的混音方法及***

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111049792A (zh) * 2019-10-08 2020-04-21 广州视源电子科技股份有限公司 音频传输方法、装置、终端设备和存储介质
CN111049792B (zh) * 2019-10-08 2022-03-22 广州视源电子科技股份有限公司 音频传输方法、装置、终端设备和存储介质

Also Published As

Publication number Publication date
CN110166185B (zh) 2021-07-09

Similar Documents

Publication Publication Date Title
CN102685689B (zh) 一键通服务方法
CN109151913A (zh) 一种服务质量的控制方法及相关装置
CN106488169B (zh) 一种数据传输的方法、***以及相关设备
KR100741463B1 (ko) 통신 네트워크에서의 방법 및 장치
CN104363407B (zh) 一种视频会议***通讯方法及相应装置
CN107135216B (zh) 一种加强弱网环境流媒体传输方法
CN104009991B (zh) 音频通信***和方法
CN107819833A (zh) 一种接入直播连麦的方法及装置
CN104023006A (zh) 一种基于应用层中继的多径传输***及方法
CN108667573A (zh) 一种数据处理方法、装置及相关设备
CN100391212C (zh) 一种在因特网上实现交互式多媒体数据传输的方法
CN105450969B (zh) 一种实时视频数据传输方法及电子设备
CN105992167A (zh) 长期演进lte集群组播的实现方法及装置
CN108923890A (zh) 一种数据传输方法、用户设备、基站及***
JP2007274372A (ja) 視聴者端末およびその通信規制方法
CN104756447B (zh) 一种录制会话信息的方法和录制服务器
CN110460801A (zh) 一种媒体服务器之间数据转发的方法及装置
CN108012342A (zh) 一种lte-m网络中的组播业务处理方法和装置
CN110166185A (zh) 音频数据的处理方法、装置、存储介质和处理器
CN101695049A (zh) 一种监控***中的业务处理方法及装置
CN102802197A (zh) 应用数据的传输方法及装置
CN115277649A (zh) 多媒体会议场景下的文档协同编辑的方法及装置
CN104703152B (zh) 一种短消息处理方法及装置
CN107645385A (zh) 获取路由信息的方法及装置、路由寻址设备及***
CN110198279A (zh) 一种转发媒体包的方法及转发服务器

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