CN113271432A - 发送和接收说话者列表的方法及装置 - Google Patents
发送和接收说话者列表的方法及装置 Download PDFInfo
- Publication number
- CN113271432A CN113271432A CN202110742043.7A CN202110742043A CN113271432A CN 113271432 A CN113271432 A CN 113271432A CN 202110742043 A CN202110742043 A CN 202110742043A CN 113271432 A CN113271432 A CN 113271432A
- Authority
- CN
- China
- Prior art keywords
- server
- terminal
- audio
- data packet
- audio data
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
- H04L65/4038—Arrangements for multi-party communication, e.g. for conferences with floor control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/765—Media network packet handling intermediate
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请提供了发送和接收说话者列表的方法和装置。上层服务器接收多个音频数据包,多个音频数据包包括来自至少一个终端的至少一个非混音数据包和/或来自至少一个下层服务器的至少一个混音数据包,上层服务器基于每个混音数据包中处于前N位的音量值及其对应的说话者,和/或,每个非混音数据包的音量值,确定处于前N位的目标音量值对应的说话者,上层服务器向至少一个终端和/或下层服务器发送说话者列表。由服务器确定终端中音量值最大的几路,并基于音量值生成正在讲话的说话者列表,通过将音量值和正在讲话的说话者列表一并发给各个终端,可以减轻各个终端的计算压力,还能避免信令过多的问题。
Description
技术领域
本申请涉及数据通信技术领域,并且更为具体地,涉及发送和接收说话者列表的方法和装置。
背景技术
在视频会议软件系统和/或语音会议软件系统中,多个终端方进行语音沟通时,通常每个终端需要知道当前会议中哪些参会说话者正在说话,并通过合适的用户界面交互实时地将正在说话的说话者列表展示出来,这就需要每个终端能实时获取到参会说话者当前是否在说话。当参会说话者的数量较多时,一般需要系统通过对比筛选出音量最大的几个参会说话者的名称进行展示,其他音量较小的参会说话者的名称则可以不予展示。
在当前的一种技术中,每个终端(例如包括终端a、终端b和终端c)将获取到的声音的音量值通过信令发送给其他终端,以便于每个终端按照音量值来确定音量排序靠前的几路声音数据,并展示在用户界面(user interface,UI)上。但是,这会带来较大的信令开销。例如,终端a将获取到的声音的音量值通过信令发送给终端b和终端c,终端b将获取到的声音的音量值通过信令发送给终端a和终端c,终端c将获取到的声音的音量值通过信令发送给终端a和终端b。随着终端数量的增加,终端间相互发送音量值的信令也成倍增加。
发明内容
本申请实施例提供了发送和接收说话者列表的方法和装置,以期减少终端之间的信令交互。
第一方面,本申请提供了一种发送说话者列表的方法,该方法可以由上层服务器来执行,或者,也可以由配置在上层服务器中的部件(如芯片、芯片系统等)执行,本申请对此不作限定。
该方法包括:上层服务器接收多个音频数据包,所述多个音频数据包包括来自至少一个终端的至少一个非混音数据包和/或来自至少一个下层服务器的至少一个第一混音数据包,其中,所述第一混音数据包包括由多路音频数据经第一混音处理得到的混音数据,以及所述多路音频数据中处于前N位的音量值及其对应的说话者,所述多路音频数据来自同一个下层服务器所连接的多个终端,所述处于前N位的音量值是基于多路音频数据的音量值按照从大到小的顺序排序得到的;所述非混音数据包携带所述非混音数据的音量值,N≥1且为整数;所述上层服务器基于所述至少一个第一混音数据包的每个第一混音数据包中处于前N位的音量值及其对应的说话者,和/或,所述至少一个非混音数据包中每个非混音数据包的音量值,确定处于前N位的第一目标音量值对应的说话者,所述处于前N位的第一目标音量值是基于全部音频数据的音量值按照从大到小的顺序排序确定的;所述上层服务器向所述至少一个终端中的每个终端发送第一说话者列表,所述第一说话者列表包括所述处于前N位的第一目标音量值对应的说话者;所述上层服务器基于来自所述至少一个下层服务器中除第一服务器之外的每个下层服务器的每个第一混音数据包中处于前N位的音量值及其对应的说话者,和/或,所述至少一个非混音数据包中每个非混音数据包的音量值,确定处于前N位的第二目标音量值对应的说话者,所述处于前N位的第二目标音量值是基于除来自所述第一服务器的音频数据之外的其他音频数据的音量值按照从大到小的顺序排序确定的;所述第一服务器是所述至少一个下层服务器中的任意一个服务器;所述上层服务器向所述第一服务器发送第二说话者列表,所述第二说话者列表包括所述前N位的第二目标音量值及其对应的说话者。
上述技术方案中,上层服务器从与之相连接的终端和下层服务器接收音频的音量值,再根据音量值确定参会说话者中正在讲话的说话者列表,上层服务器将说话者列表发送给下层服务器和/或终端。由服务器来确定参加会议的终端中音量值最大的几路,并基于音量值的排序生成正在讲话的说话者列表,通过将音量值的指示信息和正在讲话的说话者列表的指示信息一并发给各个终端,可以减轻各个终端的计算压力,避免信令过多的问题。
可选地,该方法还包括:所述上层服务器基于所述至少一个第一混音数据包的每个混音数据中处于前N位的音量值及其对应的说话者,和/或,所述至少一个非混音数据包中每个非混音数据包的音量值,确定参与第二混音处理的P路音频数据,P≥N,P为整数;所述上层服务器对所述P路音频数据进行所述第二混音处理,得到第二混音数据包;所述上层服务器向第一终端和/或第一服务器发送所述第二混音数据包,其中,来自所述第一终端的非混音数据未参与所述第二混音处理,来自所述第一服务器的混音数据未参与所述第二混音处理,且所述第一服务器属于所述下层服务器。
可选地,该方法还包括:所述上层服务器基于所述至少一个混音数据包的每个混音数据中处于前N位的音量值及其对应的说话者,和/或,所述至少一个非混音数据包中每个非混音数据包的音量值,确定参与第三混音处理的P路音频数据,所述P路混音音频数据包括来自第二终端的非混音数据,和/或,来自第二服务器的混音数据,所述第二服务器为属于所述下层服务器,P≥N,P为整数;所述上层服务器对所述P路音频数据进行所述第三混音处理,得到第三混音数据包;所述上层服务器向所述第二终端和/或所述第二服务器发送所述第三混音数据包。
第二方面,本申请提供了一种发送说话者列表的方法,该方法可以由下层服务器来执行,或者,也可以由配置在下层服务器中的部件(如芯片、芯片系统等)执行,本申请对此不作限定。
该方法包括:第一服务器接收来自K个终端的K个音频数据包,所述K个音频数据包中的每个音频数据包来自一个终端,所述音频数据包包括音频数据及其音量值,所述第一服务器是连接于上层服务器的下层服务器,K≥1,K为整数;所述第一服务器基于所述K个音频数据包中的K路音频数据和每路音频数据的音量值,确定所述K路音频数据中处于前N位的音量值及其对应的说话者,所述处于前N位的音量值是按照多路音频数据的音量值从大到小的顺序排序得到的,K≥N≥1,N为整数;所述第一服务器向上层服务器发送第三说话者列表,所述第三说话者列表中包括所述前N位的音量值及其对应的说话者,以用于所述上层服务器对第二目标说话者列表的确定,所述第二目标说话者列表包括所述上层服务器接收到除来自所述第一服务器的音频数据之外的音频数据中,按照音量值从大到小的顺序排序确定的前N位的第二目标音量值对应的说话者;所述第一服务器接收来自所述上层服务器的所述第二说话者列表;所述第一服务器基于所述第二说话者列表中的N个第二目标音量值,以及所述K个音频数据包中的音量值,确定第四说话者列表,所述第四说话者列表包括所述前N位的第二目标音量值对应的说话者;所述第一服务器向所连接的M个终端发送所述第四说话者列表,K≥M,M为整数。
上述技术方案中,下层服务器从与之相连接的终端和上层服务器接收音频的音量值,再根据音量值确定参会说话者中正在讲话的说话者列表,下层服务器将说话者列表发送给与之相连接的终端。由服务器来确定参加会议的终端中音量值最大的几路,并基于音量值的排序生成正在讲话的说话者列表,通过将音量值的指示信息和正在讲话的说话者列表的指示信息一并发给各个终端,可以减轻各个终端的计算压力,避免信令过多的问题。
可选地,该方法还包括:所述第一服务器对所述K路音频数据中的前P位的P路音频数据进行第一混音处理,得到第一混音数据包,所述P路音频数据是按照所述多路音频数据的音量值由大到小的顺序排序得到的;K≥P≥N,P为整数;所述第一服务器向所述上层服务器发送所述第一混音数据包,以用于所述上层服务器对第二混音数据包和/或第三混音数据包的生成。
可选地,该方法还包括:所述第一服务器接收来自上层服务器的混音数据包和音量表,所述音量表包括用于生成所述混音数据包的多路音频数据的音量值,所述用于生成所述混音数据包的所述多路音频数据不包括来自所述多个终端的音频数据;所述第一服务器对所述混音数据包中的混音数据和所述P路音频数据进行混音第四混音处理,得到第四混音数据包;所述第一服务器向第二终端发送所述第四混音数据包,来自所述第二终端的音频数据包未参与所述第四混音处理。
第三方面,本申请提供了一种接收说话者列表的方法,该方法可以由终端来执行,或者,也可以由配置在终端中的部件(如芯片、芯片系统等)执行,本申请对此不作限定。
该方法包括:终端向所连接的服务器发送音频数据包,所述音频数据包包括来自所述终端的音频数据和所述音频数据的音量值,所述音量值用于所述服务器对说话者列表的确定;所述终端从所连接的服务器接收说话者列表,所述说话者列表包括上层服务为其接收到的音频数据中处于前N位的音量值对应的说话者;所述终端显示所述说话者列表。
上述技术方案中,终端向与之相连接的服务器发送包括来自所述终端的音频数据和所述音频数据的音量值的音频数据包,终端从与之相连接的服务器接收说话者列表,并在UI上显示说话者列表。终端只需要采集声音数据和计算声音的音量值,并发送给与之相连接的服务器,并从服务器直接接收说话者列表,终端的计算压力小。
第四方面,本申请提供了一种服务器,所述服务器用于实现上述第一方面和第一方面任一种可能实现方式,和/或,第二方面和第二方面任一种可能实现方式中的发送说话者列表的方法。
第五方面,本申请提供了一种终端,所述终端用于实现上述第三方面可能实现方式中接收说话者列表的方法。
第六方面,本申请提供了一种装置,该装置包括处理器。该处理器与存储器耦合,可用于执行存储器中的计算机程序,以实现上述第一方面和第一方面任一种可能实现方式,和/或,第二方面和第二方面任一种可能实现方式中的发送说话者列表的方法。
可选地,该装置还包括存储器。
可选地,该装置还包括通信接口,处理器与通信接口耦合。
第七方面,本申请提供了一种芯片系统,该芯片系统包括至少一个处理器,用于支持实现上述第一方面和第一方面任一种可能实现方式,和/或,第二方面和第二方面任一种可能实现方式,和/或,第三方面中所涉及的功能,例如,接收或处理上述方法中所涉及的数据和/或信息。
在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存程序指令和数据,存储器位于处理器之内或处理器之外。
该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
第八方面,本申请提供了一种计算机可读存储介质,所述计算机存储介质上存储有计算机程序(也可以称为代码,或指令),当所述计算机程序在被处理器运行时,使得上述第一方面和第一方面任一种可能实现方式,和/或,第二方面和第二方面任一种可能实现方式,和/或,第三方面中的方法被执行。
第九方面,本申请提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得上述第一方面和第一方面任一种可能实现方式,和/或,第二方面和第二方面任一种可能实现方式,和/或,第三方面中的方法被执行。
应当理解的是,本申请的第四方面至第九方面与本申请的第一方面、第二方面和第三方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1是适用于本申请实施例提供的发送说话者列表的方法、接收说话者列表的方法的场景示意图;
图2是适用于本申请实施例提供的发送说话者列表的方法的流程示意图;
图3是适用于本申请实施例提供的发送说话者列表的方法的又一流程示意图;
图4是适用于本申请实施例提供的接收说话者列表的方法的流程示意图;
图5是适用于本申请实施例提供的发送说话者列表的装置的示意性框图;
图6是适用于本申请实施例提供的终端的结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为了便于理解,以下结合图1对适用于本申请实施例提供的发送说话者列表的方法、接收说话者列表的方法的场景进行简单说明。
图1是适用于本申请实施例提供的发送说话者列表的方法、接收说话者列表的方法的场景示意图。
示例性地,如图1所示,在场景100中,服务器A、服务器B和服务器C之间可以进行音频数据的传输,以及,各终端可以与该终端相连接的服务器之间进行音频数据的传输。例如,在图1的场景示意图中,终端a1、终端a2、终端a3、终端a4和终端a5可以与服务器A进行音频数据的传输;终端b1、终端b2和终端b3可以与服务器B进行音频数据的传输;终端c1、终端c2、终端c3和终端c4可以与服务器C进行音频数据的传输。
应理解,在实际应用场景中,可以包含更多或更少个服务器,每个服务器上也可以连接更多或更少个终端,本申请对此不作任何限定。
还应理解,图1中的终端以能支持视频会议软件系统和/或语音会议软件系统手机为例,在实际实现场景中,终端还可以为任何能支持视频会议软件系统和/或语音会议软件系统的设备,本申请对此不作限定。
在本申请实施例中,终端可以是一种具有支持视频会议或语音会议功能的设备。终端可以部署在陆地上,包括室内或室外,手持、穿戴或车载;终端也可以部署在水面上(如轮船等);终端还可以部署在空中(例如飞机、气球和卫星上等)。终端可以是一种向用户提供语音/数据连通性的设备,例如,具有无线连接功能的手持式设备、车载设备等。目前,一些终端的举例可以为:手机(mobile phone)、平板电脑(pad)、带无线收发功能的电脑(如笔记本电脑、掌上电脑等)、移动互联网设备(mobile internet device,MID)、虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、车载终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、蜂窝电话、无绳电话、会话启动协议(session initiationprotocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字助理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,5G网络中的终端或者未来演进的公用陆地移动通信网络(public land mobile network,PLMN)中的终端等。
其中,可穿戴设备也可以称为穿戴式智能设备,是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,例如:智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
终端有时也可以称为终端设备、用户设备(user equipment,UE)、接入终端设备、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、无线通信设备、用户代理或用户装置等。终端可以是固定的,也可以是移动的。本申请对终端的具体形式不作限定。
在当前的一种技术中,每个终端将获取到的声音数据发送给其他所有终端,同时将声音的音量值通过信令发送给其他所有终端,可以由服务器或终端混音。终端收到来自其他多个终端的信令后,根据音量值排序,取出其中音量最大的几路的名称进行展示。但在该技术中,声音的音量值的信令太多,每个终端都要自行筛选出音量最大的几路,终端的计算压力较大。
因此,本申请实施例提供发送说话者列表的方法和接收说话者列表的方法,下层服务器和上层服务器从与之相连接的终端接收音频的音量值,再根据音量值确定参会说话者中正在讲话的说话者列表,上层服务器和下层服务器之间相互传输携带有音量值和正在讲话的说话者列表的音频数据包,并基于这些音频数据包,统一正在讲话的说话者列表,生成最终的要发送给各个终端的带有统一后的正在讲话的说话者列表的音频数据包,上层服务器和下层服务器将音频数据包发给与该服务器相连接的各个终端,各个终端接收到音频数据包后,可以从音频数据包的包头读取正在讲话的说话者列表,并在UI上显示出正在讲话的说话者列表。由服务器来确定和统一参加会议的终端中音量值最大的几路,并基于音量值的排序生成正在讲话的说话者列表,通过将音量值的指示信息和正在讲话的说话者列表的指示信息一并发给各个终端,可以减轻各个终端的计算压力,还能避免信令过多的问题。
为了更好地理解本申请提供的音频数据的传输方法,以下结合图1、图2、图3和图4分别对本申请提供的发送说话者列表的方法和接收说话者列表的方法进行详细说明。
应理解,图1中,服务器B分别与服务器A和服务器C相连接,所以服务器B即可以直接与服务器A进行音频数据的传输,也可以直接与服务器C进行音频数据的传输,但服务器A和服务器C直接没有直接相连接,所以服务器A和服务器之间不能直接进行音频数据的传输。在这种情况下,我们可以称服务器B为上层服务器,服务器A和服务器C为下层服务器。
还应理解,第一、第二等仅为便于区分不同的对象,不应构成任何限定。例如,第一服务器和第二服务器,只是为了区分不同的服务器;又例如,第一说话者列表、第二说话者列表、第三说话者列表和第四说话者列表,不表示说话者列表的生成的先后顺序,只是为了区分不同的说话者列表;再例如,第一混音处理、第二混音处理、第三混音处理和第四混音处理,不表示混音处理的先后顺序,只是为了区分不同的混音处理过程。
图2是适用于本申请实施例提供的发送说话者列表的方法200的流程示意图。应理解,该方法可以由上层服务器来执行,或者,也可以由配置在上层服务器中的部件(如芯片、芯片系统等)执行,还可以由能实现全部或部分上层服务器功能的逻辑模块或软件实现,本申请对此不作限定。
如图2所示,该方法200可以包括步骤210至步骤250。下面对该方法200中的各个步骤做详细说明。
在步骤210中,上层服务器接收多个音频数据包。
应理解,多个音频数据包可以包括来自至少一个终端的至少一个非混音数据包,和/或,来自至少一个下层服务器的至少一个第一混音数据包。其中,第一混音数据包可以包括由多路音频数据经第一混音处理得到的混音数据,以及多路音频数据中处于前N位的音量值及其对应的说话者,多路音频数据来自同一个下层服务器所连接的多个终端,处于前N位的音量值是基于多路音频数据的音量值按照从大到小的顺序排序得到的;非混音数据包可以携带非混音数据的音量值,N≥1且为整数。
例如,图1中的服务器B可以是上层服务器,服务器A和服务器C是下层服务器,服务器B可以从终端b1、终端b2和终端b3接收至少一个非混音数据包;服务器B可以从服务器A和服务器C接收至少一个混音数据包。
在步骤220中,上层服务器基于至少一个第一混音数据包的每个第一混音数据包中处于前N位的音量值及其对应的说话者,和/或,至少一个非混音数据包中每个非混音数据包的音量值,确定处于前N位的第一目标音量值对应的说话者。
应理解,处于前N位的第一目标音量值是基于全部音频数据的音量值按照从大到小的顺序排序确定的。当上层服务器只接收到非混音数据包时,全部音频数据可以指全部非混音数据包中的非混音数据;当上层服务器只接收到混音数据包时,全部音频数据可以指全部混音数据包中的音频数据;当上层服务器接收到非混音数据包和混音数据包时,全部音频数据可以指全部非混音数据包中的非混音数据和全部混音数据包中的音频数据。
例如,当服务器B可以从终端b1、终端b2和终端b3接收到三个非混音数据包,从服务器A和服务器C接收到两个混音数据包,则服务器B可以基于这两个混音数据包中处于前N位的音量值及其对应的说话者,和,这三个非混音数据包中每个非混音数据包的音量值,确定处于前N位的第一目标音量值对应的说话者。
在步骤230中,上层服务器向至少一个终端中的每个终端发送第一说话者列表。
应理解,第一说话者列表包括处于前N位的第一目标音量值对应的说话者。
例如,N=2,服务器B可以基于服务器A和服务器C,以及终端b1、终端b2和终端b3的音频数据包的音量值,确定出的前2位的第一目标音量值对应的说话者为终端a1对应的用户和终端b1对应的用户。服务器B可以基于终端a1对应的用户和终端b1对应的用户的名称生成第一说话者列表,并将该第一说话者列表发送给终端b1、终端b2和终端b3。
在步骤240中,上层服务器基于来自至少一个下层服务器中除第一服务器之外的每个下层服务器的每个第一混音数据包中处于前N位的音量值及其对应的说话者,和/或,所述至少一个非混音数据包中每个非混音数据包的音量值,确定处于前N位的第二目标音量值对应的说话者。
应理解,处于前N位的第二目标音量值是基于除来自第一服务器的音频数据之外的其他音频数据的音量值按照从大到小的顺序排序确定的;第一服务器是至少一个下层服务器中的任意一个服务器。
例如,N=2,服务器B可以基于除服务器A发来的音频数据包以外的音频数据包的音量值,即,服务器B基于服务器C,以及终端b1、终端b2和终端b3的音频数据包的音量值,确定前2位的第二目标音量值对应的说话者。
在步骤250中,上层服务器向第一服务器发送第二说话者列表。
应理解,第二说话者列表包括所述前N位的第二目标音量值及其对应的说话者。
例如,N=2,服务器B可以基于服务器C,以及终端b1、终端b2和终端b3的音频数据包的音量值,确定出的前2位的第一目标音量值对应的说话者为终端c1对应的用户和终端b1对应的用户。服务器B可以基于终端c1对应的用户和终端b1对应的用户的名称生成第二说话者列表,并将该第二说话者列表发送给服务器A。
可选地,上层服务器基于至少一个第一混音数据包的每个混音数据中处于前N位的音量值及其对应的说话者,和/或,至少一个非混音数据包中每个非混音数据包的音量值,确定参与第二混音处理的P路音频数据,P≥N,P为整数;上层服务器对P路音频数据进行第二混音处理,得到第二混音数据包;上层服务器向第一终端和/或第一服务器发送第二混音数据包。
其中,来自第一终端的非混音数据未参与第二混音处理,来自第一服务器的混音数据未参与第二混音处理,且第一服务器属于下层服务器。
例如,P=3,服务器B可以基于服务器A和服务器C,以及终端b1、终端b2和终端b3的音频数据包的音量值,假设确定参与第二混音3路音频数据包为来自服务器A、服务器B和终端b1的音频数据,服务器B对这3路音频数据进行第二混音处理后,可以得到第二混音数据包。
应理解,发送给终端b1的第二混音数据包中不包含从终端b1中接收的非混音数据,发送给服务器A的第二混音数据包不包括从服务器A接收的混音数据,同理,发送给服务器C的第二混音数据包不包括从服务器C接收的混音数据。
可选地,上层服务器基于至少一个混音数据包的每个混音数据中处于前N位的音量值及其对应的说话者,和/或,至少一个非混音数据包中每个非混音数据包的音量值,确定参与第三混音处理的P路音频数据,P路混音音频数据包括来自第二终端的非混音数据,和/或,来自第二服务器的混音数据,第二服务器为属于下层服务器,P≥N,P为整数;上层服务器对P路音频数据进行第三混音处理,得到第三混音数据包;上层服务器向第二终端和/或第二服务器发送第三混音数据包。
例如,P=3,服务器B可以基于服务器A和服务器C,以及终端b1、终端b2和终端b3的音频数据包的音量值,确定参与第三混音处理的3路音频数据包为来自服务器A、服务器B和终端b1的音频数据,服务器B对这3路音频数据进行第三混音处理后,可以得到第三混音数据包,并向终端b2和终端b3发送第三混音数据包。
图3是适用于本申请实施例提供的发送说话者列表的方法300的流程示意图。应理解,该方法可以由下层服务器来执行,或者,也可以由配置在下层服务器中的部件(如芯片、芯片系统等)执行,还可以由能实现全部或部分下层服务器功能的逻辑模块或软件实现,本申请对此不作限定。
如图3所示,该方法300可以包括步骤310至步骤360。下面对该方法300中的各个步骤做详细说明。
在步骤310中,第一服务器接收来自K个终端的K个音频数据包。
应理解,K个音频数据包中的每个音频数据包来自一个终端,音频数据包包括音频数据及其音量值,第一服务器是连接于上层服务器的下层服务器,K≥1,K为整数。
例如,图1中的服务器A可以接收来自与之相连接的5个终端:终端a1、终端a2、终端a3、终端a4和终端a5的5个音频数据包,这5个音频数据包分别来自终端a1、终端a2、终端a3、终端a4和终端a5。
又例如,服务器A可以接收来自与之相连接的5个终端:终端a1、终端a2、终端a3、终端a4和终端a5的4个音频数据包,这4个音频数据包可以分别来自终端a1、终端a2、终端a3和终端a4;或,这4个音频数据包可以分别来自终端a1、终端a2、终端a3和终端a5;或,这4个音频数据包可以分别来自终端a1、终端a2、终端a4和终端a5;或,这4个音频数据包可以分别来自终端a1、终端a3、终端a4和终端a5;或,这4个音频数据包可以分别来自终端a2、终端a3、终端a4和终端a5。
在步骤320中,第一服务器基于K个音频数据包中的K路音频数据和每路音频数据的音量值,确定K路音频数据中处于前N位的音量值对应的说话者。
应理解,处于前N位的音量值是按照多路音频数据的音量值从大到小的顺序排序得到的,K≥N≥1,N为整数。
例如,N=2,服务器A可以基于来自终端a1、终端a2、终端a3、终端a4和终端a5的5个音频数据和每路音频数据中的音量值,确定出前2位的音量值对应的说话者为终端a1对应的用户和终端a2对应的用户。
在步骤330中,第一服务器向上层服务器发送第三说话者列表。
应理解,第三说话者列表中包括前N位的音量值及其对应的说话者,以用于上层服务器对第二目标说话者列表的确定,所述第二目标说话者列表包括上层服务器接收到除来自所述第一服务器的音频数据之外的音频数据中,按照音量值从大到小的顺序排序确定的前N位的第二目标音量值对应的说话者。
例如,N=2,服务器A可以基于终端a1对应的用户的名称和终端a2对应的用户的名称生成第三说话者列表,并将该第三说话者列表发送给上层服务器,即发送给服务器B。
在步骤340中,第一服务器接收来自上层服务器第二说话者列表。
例如,服务器A可以接收来自服务器B的第二说话者列表。
在步骤350中,第一服务器基于第二说话者列表中的N个第二目标音量值,以及K个音频数据包中的音量值,确定第四说话者列表。
应理解,第四说话者列表包括前N位的第二目标音量值对应的说话者。
例如,N=2,K=5,服务器A可以基于第二说话者列表中的2个第二目标音量值,以及5个音频数据包中的音量值,确定第四说话者列表。
在步骤360中,第一服务器向M个终端发送第四说话者列表。
其中,M≥K,M为整数。
应理解,可能存在一些终端处于静音状态,或,终端采集到的声音的音量值小于预设音量值门限的,音频数据包被丢弃的情况,所以参加会议的终端的个数大于或等于下层服务器收到的非混音数据包的个数。所以,在确定第四说话者列表后,第一服务器可以向M个终端发送第四说话者列表,而不是只向发送非混音数据包的K个终端发送第四说话者列表。
例如,服务器A可以向5个终端:终端a1、终端a2、终端a3、终端a4和终端a5发送第四说话者列表。
可选地,第一服务器对K路音频数据中的前P位的P路音频数据进行第一混音处理,得到第一混音数据包;第一服务器向上层服务器发送第一混音数据包,以用于上层服务器对第二混音数据包和/或第三混音数据包的生成。
其中,P路音频数据是按照多路音频数据的音量值由大到小的顺序排序得到的,K≥P≥N,P为整数。
例如,K=5,P=3,服务器A可以对来自终端a1、终端a2、终端a3、终端a4和终端a5的5个音频数据中的前3位的3个音频数据进行第一混音处理,得到第一混音数据包,并可以向服务器B发送第一混音数据包,以用于服务器B对第二混音数据包和/或第三混音数据包的生成。
可选地,第一服务器接收来自上层服务器的混音数据包和音量表,音量表包括用于生成混音数据包的多路音频数据的音量值,用于生成混音数据包中的多路音频数据不包括来自多个终端的音频数据;第一服务器对混音数据包中的混音数据和P路音频数据进行第四混音处理,得到第四混音数据包;第一服务器向第二终端发送第四混音数据包,来自第二终端的音频数据包未参与第四混音处理。
应理解,第一服务器接收来自上层服务器的混音数据包,该混音数据包可能是第二混音数据包,也有可能是第三混音数据包。如果第一混音数据包参与了第二混音处理,则该混音数据包为第三混音数据包;如果第一混音数据包第一混音数据包未参与第二混音处理,则该混音数据包为第二混音数据包。
例如,P=3,服务器A可以接收来自服务器B的混音数据包和音量表,服务器A对混音数据包中的混音数据和来自终端a1、终端a2和终端a3的这3路音频数据进行第四混音处理,得到第四混音。服务器A向终端a1发送的第四混音数据包中不包括终端a1发给服务器A的音频数据包,服务器A向终端a2发送的第四混音数据包中不包括终端a2发给服务器A的音频数据包,服务器A向终端a3发送的第四混音数据包中不包括终端a3发给服务器A的音频数据包。而服务器A向终端a4和终端a5发送的第四混音数据包中包括终端a1终端a2和终端a3发给服务器A的音频数据包。
图4是适用于本申请实施例提供的接收说话者列表的方法400的流程示意图。应理解,该方法可以由终端来执行,或者,也可以由配置在终端中的部件(如芯片、芯片系统等)执行,还可以由能实现全部或部分终端功能的逻辑模块或软件实现,本申请对此不作限定。
如图4所示,该方法400可以包括步骤410至步骤430。下面对该方法400中的各个步骤做详细说明。
在步骤410中,终端向所连接的服务器发送音频数据包。
应理解,音频数据包包括来自终端的音频数据和音频数据的音量值,音量值用于服务器对说话者列表的确定。
还应理解,如果终端连接的是下层服务器,音频数据包中包括的音频数据的音量值可以用于下层服务器对第三说话者列表的确定,进而用于上层服务器对第二说话者列表的确定;如果终端连接的是上层服务器,音频数据包中包括的音频数据的音量值可以用于上层服务器对第一说话者列表的确定。
例如,终端a1、终端a2、终端a3、终端a4和终端a5可以分别向服务器A发送音频数据包,这些音频数据包中包括的音频数据的音量值可以用于服务器A对第三说话者列表的确定,进而用于服务器B对第二说话者列表的确定。
又例如,终端b1、终端b2和终端b3可以分别向服务器B发送音频数据包,这些音频数据包中包括的音频数据的音量值可以用于服务器B对第一说话者列表的确定。
终端可以周期性地采集声音数据。终端在采集到一组声音数据后,可以先进行必要的前处理,例如降噪等,然后终端可以计算没一组声音的音量值;如果音量值小于预设的阈值,则可以将这组声音数据丢弃;如果音量值大于预设的阈值,则可以使用相应的代码进行编码、打包,并在包头里填上当前包的音量值。例如,可以使用实时传输协议(real-timetransport protocol,RTP)打包,可以将音量值放到RTP数据包的扩展头里;将打包后的音频数据包发送给与其相连接的服务器。
在步骤420中,终端从所连接的服务器接收说话者列表。
应理解,说话者列表包括上层服务器为其接收到的音频数据中处于前N位的音量值对应的说话者。
例如,终端a1、终端a2、终端a3、终端a4和终端a5可以分别从服务器A接收说话者列表。
在步骤430中,终端显示说话者列表。
例如,终端a1、终端a2、终端a3、终端a4和终端a5可以分别在各自的UI上显示出说话者列表。
下层服务器和上层服务器从与之相连接的终端接收音频的音量值,再根据音量值确定参会说话者中正在讲话的说话者列表,上层服务器和下层服务器之间相互传输携带有音量值和正在讲话的说话者列表的音频数据包,并基于这些音频数据包,统一正在讲话的说话者列表,生成最终的要发送给各个终端的带有统一后的正在讲话的说话者列表的音频数据包,上层服务器和下层服务器将音频数据包发给与该服务器相连接的各个终端,各个终端接收到音频数据包后,可以从音频数据包的包头读取正在讲话的说话者列表,并在UI上显示出正在讲话的说话者列表。由服务器来确定和统一参加会议的终端中音量值最大的几路,并基于音量值的排序生成正在讲话的说话者列表,通过将音量值的指示信息和正在讲话的说话者列表的指示信息一并发给各个终端,可以减轻各个终端的计算压力,还能避免信令过多的问题。
为了更好地理解本申请实施例提供的发送说话者列表的方法和接收说话者列表的方法,以下结合图1,以上层服务器、下层服务器和终端交互的形式,来详细描述发送说话者列表的方法和接收说话者列表的方法的过程。
假设,图1中的终端a1、终端a2、终端a3、终端a4、终端a5、终端b1、终端b2、终端b3、终端c1、终端c2、终端c3和终端c4均采集到了大于预设阈值的声音数据,并基于声音数据生成音频数据包,各个终端的音频数据的音量值的排序如下:Va1>Vb1>Vc1>Va2>Vb2>Vc2>Va3>Vb3>Vc3>Va4>Vc4>Va5;并且,N=2,P=3。
步骤1,终端向所连接的服务器发送音频数据包。
终端a1、终端a2、终端a3、终端a4和终端a5分别将音频包发送给服务器A,终端b1、终端b2和终端b3分别将音频数据发送给服务器B,终端c1、终端c2、终端c3和终端c4分别将音频数据包发送给服务器C。
步骤2,下层服务器生成携带有第三说话者列表的音频数据包,并向上层服务器发送该携带有第三说话者列表的音频数据包。
服务器A生成携带有第三说话者列表的音频数据包,并向服务器B发送该携带有第三说话者列表的音频数据包:
服务器A接收来自终端a1、终端a2、终端a3、终端a4和终端a5的音频数据包,对终端a1、终端a2、终端a3、终端a4和终端a5的音频数据包的音量值排序,服务器A确定音量值在前3位的音频数据包进行混音处理,即,对来自终端a1的音频数据Va1、来自终端a2的音频数据Va2、来自终端a3的音频数据Va3进行混音处理,并基于音量值在前2位的音频数据包所对应的终端对应的用户的名称生成第三说话者列表,例如,该第三说话者列表可以为(la1,la2),将第三说话者列表和混音后的数据打包得到第一混音数据包,将第一混音数据包发送给服务器B,例如,该第一混音数据包可以为((la1,la2)(Va1,Va2,Va3)),其中,第三说话者列表(la1,la2)在第一混音数据包的包头里。
同样地,服务器C生成携带有第三说话者列表的音频数据包,并向服务器B发送该携带有第三说话者列表的音频数据包:
例如,服务器发送给服务器B的第一混音数据包可以为:((lc1,lc2)(Vc1,Vc2,Vc3))。
步骤3,上层服务器向连接于该上层服务器的终端发送携带有第一说话者列表的第二混音数据包或第三混音数据包。
确定第一说话者列表:
服务器B对来自终端b1、终端b2和终端b3的音量值,以及来自服务器A和服务器C第一混音数据包的音频数据的音量表,进行音量值的综合排序后,确定出第一说话者列表为(la1,lb1)。
生成并发送第二混音数据包或第三混音数据包:
服务器B生成并发送给终端b1的第二混音数据包:
除终端b1的音频数据以外最大的3路的音量排序为(Va1,Vc1,Va2,Vb2),Va1和Va2都来自服务器A,Vc1来自服务器C,所以对服务器A、服务器C和终端b2的声音数据混音处理并打包,得到第二混音数据包((la1,lb1)(VA,Vb2,VC)),即((la1,lb1)(Va1,Va2,Va3,Vb2,Vc1,Vc2,Vc3)),并将该第二混音数据包发送给终端b1。
服务器B生成并发送给终端b2的第二混音数据包:
除终端b2的音频数据以外最大的3路的音量排序(Va1,Vb1,Vc1),Va1来自服务器A,Vc1来自服务器C,所以对来自服务器A、终端b1和服务器C的声音数据混音处理并打包,得到第二混音数据包((la1,lb1)(VA,Vb1,VC)),即((la1,lb1)(Va1,Va2,Va3,Vb1,Vc1,Vc2,Vc3),并将该第二混音数据包发送给终端b2。
服务器B生成并发送给终端b3的第二混音数据包:
同样地,除终端b3的音频数据以外最大的3路的音量排序(Va1,Vb1,Vc1),Va1来自服务器A,Vc1来自服务器C,所以对来自服务器A、终端b1和服务器C的声音数据混音处理并打包,得到第二混音数据包((la1,lb1)(VA,Vb1,VC)),即((la1,lb1)(Va1,Va2,Va3,Vb1,Vc1,Vc2,Vc3),并将该第二混音数据包发送给终端b3。
步骤4,上层服务器向连接于该上层服务器的下层服务器发送携带有第二说话者列表的第二混音数据包或第三混音数据包。
服务器B确定发送给服务器A的第二说话者列表:
服务器B对来自终端b1、终端b2和终端b3的音量值,以及来自服务器C第一混音数据包的音频数据的音量表,进行音量值的综合排序后,确定出第二说话者列表为(lb1,lc1)。
服务器B生成并发送给服务器A的第二混音数据包:
除服务器A外最大的3路音量值的排序为(Vb1,Vc1,Vb2),Vc1来自服务器C,所以对来自终端b1、终端b2、服务器C的声音数据混音处理并打包,得到第二混音数据包((lb1,lc1)(Vb1,Vb2,VC)),即((la1,lb1)(Vb1,Vb2,Vc1,Vc2,Vc3)),并将该第二混音数据包发送给服务器A。
同样地,服务器B确定发送给服务器C的第二说话者列表:
服务器B对来自终端b1、终端b2和终端b3的音量值,以及来自服务器A第一混音数据包的音频数据的音量表,进行音量值的综合排序后,确定出第二说话者列表为(la1,lb1)。
服务器B生成并发送给服务器C的第二混音数据包:
除服务器C外最大的3路音量值的排序为(Va1,Vb1,Va2),Va1和Va2来自服务器A,Vb1来自终端b1,不够3路,所以还需再选择Vb2,所以对来自服务器A、终端b1、终端b2、的声音数据混音处理并打包,得到第二混音数据包((la1,lb1)(VA,Vb1,Vb2)),即((la1,lb1)(Va1,Va2,Va3,Vb1,Vb2)),并将该第二混音数据包发送给服务器C。
步骤5,下层服务器基于来自连接于该下层服务器得的终端的音频数据包和上层服务器的音频数据包,确定第四说话者列表,并生成第一混音数据包和/或第四混音数据包,并将第一混音数据包或第四混音数据包发送给终端。
服务器A确定发送给终端a1、终端a2、终端a3、终端a4和终端a5的第四说话者列表:
服务器A对来自终端a1、终端a2、终端a3、终端a4和终端a5的音量值,以及来自服务器B第二说话者列表的音量值,进行音量值的综合排序后,确定要发送给终端a1、终端a2、终端a3、终端a4和终端a5的第四说话者列表为(la1,lb1)。
服务器A生成并发送给终端a1的第四混音数据包:
除终端a1外最大的3路音量值的排序为(Vb1,Vc1,Va2,Vb2,Vc2,Va3),Vb1、Vc1、Vb2和Vc2都来自服务器B,Va2来自终端a2,Va3来自终端a3,所以对来自服务器B、终端a2和终端a3的声音数据混音处理并打包,得到第四混音数据包((la1,lb1)(VB,Va2,Va3)),即((la1,lb1)(Va2,Va3,Vb1,Vb2,Vb3,Vc1,Vc2,Vc3)),并将该第四混音数据包发送给终端a1。
同样地,服务器A生成并发送给终端a2的第四混音数据包为:((la1,lb1)(VB,Va1,Va3)),即((la1,lb1)(Va1,Va3,Vb1,Vb2,Vb3,Vc1,Vc2,Vc3))。
服务器A生成并发送给终端a3、终端a4和终端a5的混音数据包为:((la1,lb1)(VB,Va1,Va2)),即((la1,lb1)(Va1,Va2,Vb1,Vb2,Vb3,Vc1,Vc2,Vc3))。
服务器C确定发送给终端c1、终端c2、终端c3和终端c4的第四说话者列表:
服务器C对来自终端c1、终端c2、终端c3和终端c4的音量值,以及来自服务器B第二说话者列表的音量值,进行音量值的综合排序后,确定要发送给终端c1、终端c2、终端c3和终端c4的第四说话者列表为(la1,lb1)。
服务器C生成并发送给终端c1的第四混音数据包:
除终端c1外最大的3路音量值的排序为(Va1,Vb1,Va2,Vb2,Vc2,Vc3),Va1、Vb1、Va1和Vb2都来自服务器B,Vc2来自终端c2,Vc3来自终端c3,所以对来自服务器B、终端c2和终端c3的声音数据混音处理并打包,得到第四混音数据包((la1,lb1)(VB,Vc2,Vc3)),即((la1,lb1)(Va1,Va2,Va3,Vb1,Vb2,Vb3,Vc2,Vc3)),并将该第四混音数据包发送给终端c1。
同样地,服务器A生成并发送给终端c2的第四混音数据包为:((la1,lb1)(VB,Vc1,Vc3)),即((la1,lb1)(Va1,Va2,Va3,Vb1,Vb2,Vb3,Vc1,Vc3))。
服务器A生成并发送给终端c3和终端c4的混音数据包为:((la1,lb1)(VB,Vc1,Vc2)),即((la1,lb1)(Va1,Va2,Va3,Vb1,Vb2,Vb3,Vc1,Vc2))。
步骤6,各终端在UI上显示说话者列表。
终端a1、终端a2、终端a3、终端a4、终端a5、终端b1、终端b2、终端b3、终端c1、终端c2、终端c3和终端c4分别在各自的UI上显示说话者列表。
图5是本申请实施例提供的发送说话者列表的装置的示意性框图。该装置可用于实现上述方法中上层服务器或下层服务器的功能。其中,该装置可以为芯片系统。本申请实施例中,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
如图5所示,该装置500可以包括至少一个处理器510,当该处理器510用于实现本申请实施例提供的方法中上层服务器的功能时,处理器510可用于接收多个音频数据包,所述多个音频数据包包括来自至少一个终端的至少一个非混音数据包和/或来自至少一个下层服务器的至少一个第一混音数据包,其中,所述第一混音数据包包括由多路音频数据经第一混音得到的混音数据,以及所述多路音频数据中处于前N位的音量值及其对应的说话者,所述多路音频数据来自同一个下层服务器所连接的多个终端,所述处于前N位的音量值是基于所述多路音频数据的音量值按照从大到小的顺序排序得到的;所述非混音数据包携带所述非混音数据的音量值,N≥1且为整数;基于所述至少一个第一混音数据包的每个第一混音数据包中处于前N位的音量值及其对应的说话者,和/或,所述至少一个非混音数据包中每个非混音数据包的音量值,确定处于前N位的第一目标音量值对应的说话者,所述处于前N位的第一目标音量值是基于全部音频数据的音量值按照从大到小的顺序排序确定的;向所述至少一个终端中的每个终端发送第一说话者列表,所述第一说话者列表包括所述处于前N位的第一目标音量值对应的说话者;基于来自所述至少一个下层服务器中除第一服务器之外的每个下层服务器的每个第一混音数据包中处于前N位的音量值及其对应的说话者,和/或,所述至少一个非混音数据包中每个非混音数据包的音量值,确定处于前N位的第二目标音量值对应的说话者,所述处于前N位的第二目标音量值是基于除来自所述第一服务器的音频数据之外的其他音频数据的音量值按照从大到小的顺序排序确定的;所述第一服务器是所述至少一个下层服务器中的任意一个服务器;向所述第一服务器发送第二说话者列表,所述第二说话者列表包括所述前N位的第二目标音量值及其对应的说话者。具体参见方法示例中的详细描述,此处不做赘述。
如图5所示,该装置500可以包括至少一个处理器510,当该处理器510用于实现本申请实施例提供的方法中下层服务器的功能时,处理器510可用于接收来自K个终端的K个音频数据包,所述K个音频数据包中的每个音频数据包来自一个终端,所述音频数据包包括音频数据及其音量值,所述装置500是连接于上层服务器的下层服务器,K≥1,K为整数;基于所述K个音频数据包中的K路音频数据和每路音频数据的音量值,确定所述K路音频数据中处于前N位的音量值及其对应的说话者,所述处于前N位的音量值是按照多路音频数据的音量值从大到小的顺序排序得到的,K≥N≥1,K、N为整数;向上层服务器发送第三说话者列表,所述第三说话者列表中包括所述前N位的音量值及其对应的说话者,以用于所述上层服务器对第二目标说话者列表的确定,所述第二目标说话者列表包括所述上层服务器接收到除来自所述第一服务器的音频数据之外的音频数据中,按照音量值从大到小的顺序排序确定的前N位的第二目标音量值对应的说话者;所述第一服务器接收来自所述上层服务器的所述第二说话者列表;基于所述第二说话者列表中的N个第二目标音量值,以及所述K个音频数据包中的音量值,确定第四说话者列表,所述第四说话者列表包括所述前N位的第二目标音量值对应的说话者;向所述M个终端发送所述第四说话者列表,M≥K,M为整数。具体参见方法示例中的详细描述,此处不做赘述。
该装置500还可以包括至少一个存储器520,用于存储程序指令和/或数据。存储器520和处理器510耦合。本申请实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。处理器510可能和存储器520协同操作。处理器510可能执行存储器520中存储的程序指令。所述至少一个存储器中的至少一个可以包括于处理器中。
该装置500还可以包括通信接口530,用于通过传输介质和其它设备进行通信,从而用于装置500中的装置可以和其它设备进行通信。示例性地,当该装置500为上层服务器时,该其他设备可以是下层服务器;当该装置500为下层服务器时,该其他设备可以是上层服务器或终端。所述通信接口530例如可以是收发器、接口、总线、电路或者能够实现收发功能的装置。处理器510可利用通信接口530收发数据和/或信息,并用于实现图2对应的实施例中所述的上层服务器所执行的方法,和/或,用于实现图3对应的实施例中所述的下层服务器所执行的方法。
本申请实施例中不限定上述处理器510、存储器520以及通信接口530之间的具体连接介质。本申请实施例在图5中以处理器510、存储器520以及通信接口530之间通过总线540连接。总线540在图5中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图6是本申请实施例提供的终端的结构示意图。该终端600具有图4所示的终端的功能。如图6所示,该终端600包括处理器601和收发器602。
可选地,该终端600还包括存储器603。其中,处理器601、收发器602和存储器603之间可以通过内部连接通路互相通信,传输控制和/或数据信号,该存储器603用于存储计算机程序,该处理器601用于从该存储器603中调用并运行该计算机程序,以控制该收发器602收发信号。
可选地,终端设备600还可以包括天线604,用于将收发器602输出的上行数据或上行控制信令通过无线信号发送出去。
可选地,该终端600还包括无线保真(wireless fidelity,WIFI)模块611,用于接入无线网络中。
上述处理器601可以和存储器603可以合成一个处理装置,处理器601用于执行存储器603中存储的程序代码来实现上述功能。具体实现时,该存储器603也可以集成在处理器601中,或者独立于处理器601。
收发器602可以包括接收器(或称接收机、接收电路)和发射器(或称发射机、发射电路)。其中,接收器用于接收信号,发射器用于发射信号。
可选地,上述终端600还可以包括电源605,用于给终端600中的各种器件或电路提供电源。
除此之外,为了使得该终端的功能更加完善,该终端600还可以包括输入单元606、显示单元607、音频电路608、摄像头609和传感器610等中的一个或多个,所述音频电路还可以包括扬声器608a、麦克风608b等。
应理解,图6所示的终端600能够实现图4所示方法实施例中的各个过程。终端600中的各个模块的操作和/或功能,分别为了实现上述方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
当终端设备600用于执行上文方法实施例中终端的操作流程时,处理器601可以用于执行前面方法实施例中描述的由终端内部实现的动作,而收发器602可以用于执行前面方法实施例中描述的终端向服务器发送或从服务器接收的动作。具体请见前面方法实施例中的描述,此处不再赘述。
本申请提供了一种芯片系统,该芯片系统包括至少一个处理器,用于支持实现图2至图4所示的实施例中任意一个实施例中上层服务器执行的方法、第一服务器执行的方法,或终端执行的方法。
在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存程序指令和数据,存储器位于处理器之内或处理器之外。
该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
本申请还提供一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得计算机执行图2至图4所示的实施例中任意一个实施例中上层服务器执行的方法、第一服务器执行的方法,或终端执行的方法。
本申请还提供一种计算机可读存储介质,所述计算机存储介质上存储有计算机程序(也可以称为代码,或指令),当所述计算机程序在被处理器运行时,使得计算机执行图2至图4所示的实施例中任意一个实施例中上层服务器执行的方法、第一服务器执行的方法,或终端执行的方法。
应理解,本申请实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本说明书中使用的术语“单元”、“模块”等,可用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各种说明性逻辑块(illustrative logical block)和步骤(step),能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,各功能单元的功能可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令(程序)。在计算机上加载和执行所述计算机程序指令(程序)时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种发送说话者列表的方法,其特征在于,包括:
上层服务器接收多个音频数据包,所述多个音频数据包包括来自至少一个终端的至少一个非混音数据包和/或来自至少一个下层服务器的至少一个第一混音数据包,其中,所述第一混音数据包包括由多路音频数据经第一混音处理得到的混音数据,以及所述多路音频数据中处于前N位的音量值及其对应的说话者,所述多路音频数据来自同一个下层服务器所连接的多个终端,所述处于前N位的音量值是基于所述多路音频数据的音量值按照从大到小的顺序排序得到的;所述非混音数据包携带所述非混音数据的音量值,N≥1且为整数;
所述上层服务器基于所述至少一个第一混音数据包的每个第一混音数据包中处于前N位的音量值及其对应的说话者,和/或,所述至少一个非混音数据包中每个非混音数据包的音量值,确定处于前N位的第一目标音量值对应的说话者,所述处于前N位的第一目标音量值是基于全部音频数据的音量值按照从大到小的顺序排序确定的;
所述上层服务器向所述至少一个终端中的每个终端发送第一说话者列表,所述第一说话者列表包括所述处于前N位的第一目标音量值对应的说话者;
所述上层服务器基于来自所述至少一个下层服务器中除第一服务器之外的每个下层服务器的每个第一混音数据包中处于前N位的音量值及其对应的说话者,和/或,所述至少一个非混音数据包中每个非混音数据包的音量值,确定处于前N位的第二目标音量值对应的说话者,所述处于前N位的第二目标音量值是基于除来自所述第一服务器的音频数据之外的其他音频数据的音量值按照从大到小的顺序排序确定的;所述第一服务器是所述至少一个下层服务器中的任意一个服务器;
所述上层服务器向所述第一服务器发送第二说话者列表,所述第二说话者列表包括所述前N位的第二目标音量值及其对应的说话者。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述上层服务器基于所述至少一个第一混音数据包的每个混音数据中处于前N位的音量值及其对应的说话者,和/或,所述至少一个非混音数据包中每个非混音数据包的音量值,确定参与第二混音处理的P路音频数据,P≥N,P为整数;
所述上层服务器对所述P路音频数据进行所述第二混音处理,得到第二混音数据包;
所述上层服务器向第一终端和/或第一服务器发送所述第二混音数据包,其中,来自所述第一终端的非混音数据未参与所述第二混音处理,来自所述第一服务器的混音数据未参与所述第二混音处理,且所述第一服务器属于所述下层服务器。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述上层服务器基于所述至少一个混音数据包的每个混音数据中处于前N位的音量值及其对应的说话者,和/或,所述至少一个非混音数据包中每个非混音数据包的音量值,确定参与第三混音处理的P路音频数据,所述P路混音音频数据包括来自第二终端的非混音数据,和/或,来自第二服务器的混音数据,所述第二服务器为属于所述下层服务器,P≥N,P为整数;
所述上层服务器对所述P路音频数据进行所述第三混音处理,得到第三混音数据包;
所述上层服务器向所述第二终端和/或所述第二服务器发送所述第三混音数据包。
4.一种发送说话者列表的方法,其特征在于,包括:
第一服务器接收来自K个终端的K个音频数据包,所述K个音频数据包中的每个音频数据包来自一个终端,所述音频数据包包括音频数据及其音量值,所述第一服务器是连接于上层服务器的下层服务器;
所述第一服务器基于所述K个音频数据包中的K路音频数据和每路音频数据的音量值,确定所述K路音频数据中处于前N位的音量值及其对应的说话者,所述处于前N位的音量值是按照多路音频数据的音量值从大到小的顺序排序得到的,K≥N≥1,K、N为整数;
所述第一服务器向上层服务器发送第三说话者列表,所述第三说话者列表中包括所述前N位的音量值及其对应的说话者,以用于所述上层服务器对第二目标说话者列表的确定,所述第二目标说话者列表包括所述上层服务器接收到除来自所述第一服务器的音频数据之外的音频数据中,按照音量值从大到小的顺序排序确定的前N位的第二目标音量值对应的说话者;
所述第一服务器接收来自所述上层服务器的所述第二说话者列表;
所述第一服务器基于所述第二说话者列表中的N个第二目标音量值,以及所述K个音频数据包中的音量值,确定第四说话者列表,所述第四说话者列表包括所述前N位的第二目标音量值对应的说话者;
所述第一服务器向所连接的M个终端发送所述第四说话者列表,M≥K,M为整数。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
所述第一服务器对所述K路音频数据中的前P位的P路音频数据进行第一混音处理,得到第一混音数据包,所述P路音频数据是按照所述多路音频数据的音量值由大到小的顺序排序得到的;K≥P≥N,P为整数;
所述第一服务器向所述上层服务器发送所述第一混音数据包,以用于所述上层服务器对第二混音数据包和/或第三混音数据包的生成。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
所述第一服务器接收来自上层服务器的混音数据包和音量表,所述音量表包括用于生成所述混音数据包的多路音频数据的音量值,所述用于生成所述混音数据包的所述多路音频数据不包括来自所述多个终端的音频数据;
所述第一服务器对所述混音数据包中的混音数据和所述P路音频数据进行第四混音处理,得到第四混音数据包;
所述第一服务器向第二终端发送所述第四混音数据包,来自所述第二终端的音频数据包未参与所述第四混音处理。
7.一种接收说话者列表的方法,其特征在于,包括:
终端向所连接的服务器发送音频数据包,所述音频数据包包括来自所述终端的音频数据和所述音频数据的音量值,所述音量值用于所述服务器对说话者列表的确定;
所述终端从所连接的服务器接收说话者列表,所述说话者列表包括上层服务为其接收到的音频数据中处于前N位的音量值对应的说话者;
所述终端显示所述说话者列表。
8.一种服务器,其特征在于,用于实现如权利要求1至6中任一项所述的方法。
9.一种终端,其特征在于,用于实现如权利要求7所述的方法。
10.一种计算机程序产品,其特征在于,包括计算机程序,当所述计算机程序被运行时,使得计算机执行如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110742043.7A CN113271432B (zh) | 2021-06-30 | 2021-06-30 | 发送和接收说话者列表的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110742043.7A CN113271432B (zh) | 2021-06-30 | 2021-06-30 | 发送和接收说话者列表的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113271432A true CN113271432A (zh) | 2021-08-17 |
CN113271432B CN113271432B (zh) | 2022-11-18 |
Family
ID=77236395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110742043.7A Active CN113271432B (zh) | 2021-06-30 | 2021-06-30 | 发送和接收说话者列表的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113271432B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252452A (zh) * | 2007-03-31 | 2008-08-27 | 红杉树(杭州)信息技术有限公司 | 一种多媒体会议中分布式混音系统 |
CN101689998A (zh) * | 2007-06-12 | 2010-03-31 | 微软公司 | 活动说话者标识 |
CN101707593A (zh) * | 2009-11-17 | 2010-05-12 | 红杉树(杭州)信息技术有限公司 | 一种基于树形服务器、pc客户端和电话终端的会议系统 |
CN103220258A (zh) * | 2012-01-20 | 2013-07-24 | 华为技术有限公司 | 会议混音方法、终端和媒体资源服务器 |
CN103686059A (zh) * | 2013-09-23 | 2014-03-26 | 广东威创视讯科技股份有限公司 | 分布式混音处理方法及系统 |
CN104038354A (zh) * | 2014-04-25 | 2014-09-10 | 西北工业大学 | 一种基于智能手机的会议交互方法 |
CN104486518A (zh) * | 2014-12-03 | 2015-04-01 | 中国电子科技集团公司第三十研究所 | 一种带宽受限网络环境下的电话会议分布式混音方法 |
US20160179831A1 (en) * | 2013-07-15 | 2016-06-23 | Vocavu Solutions Ltd. | Systems and methods for textual content creation from sources of audio that contain speech |
-
2021
- 2021-06-30 CN CN202110742043.7A patent/CN113271432B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252452A (zh) * | 2007-03-31 | 2008-08-27 | 红杉树(杭州)信息技术有限公司 | 一种多媒体会议中分布式混音系统 |
CN101689998A (zh) * | 2007-06-12 | 2010-03-31 | 微软公司 | 活动说话者标识 |
CN101707593A (zh) * | 2009-11-17 | 2010-05-12 | 红杉树(杭州)信息技术有限公司 | 一种基于树形服务器、pc客户端和电话终端的会议系统 |
CN103220258A (zh) * | 2012-01-20 | 2013-07-24 | 华为技术有限公司 | 会议混音方法、终端和媒体资源服务器 |
US20160179831A1 (en) * | 2013-07-15 | 2016-06-23 | Vocavu Solutions Ltd. | Systems and methods for textual content creation from sources of audio that contain speech |
CN103686059A (zh) * | 2013-09-23 | 2014-03-26 | 广东威创视讯科技股份有限公司 | 分布式混音处理方法及系统 |
CN104038354A (zh) * | 2014-04-25 | 2014-09-10 | 西北工业大学 | 一种基于智能手机的会议交互方法 |
CN104486518A (zh) * | 2014-12-03 | 2015-04-01 | 中国电子科技集团公司第三十研究所 | 一种带宽受限网络环境下的电话会议分布式混音方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113271432B (zh) | 2022-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109379653A (zh) | 音频传输方法、装置、电子设备及存储介质 | |
US10609538B2 (en) | Method and device for identifying bluetooth headset voice source | |
CN109246671A (zh) | 数据传输方法、装置及系统 | |
US11044678B2 (en) | Electronic device, method for transmitting message, and related products | |
CN107113559B (zh) | 一种位置信息获取方法和设备 | |
Shiraz et al. | A study on anatomy of smartphone | |
CN106611402B (zh) | 图像处理方法及装置 | |
CN108282291A (zh) | 一种dci传输方法、ue和网络侧设备 | |
CN109275131B (zh) | 蓝牙通信方法和终端设备 | |
CN105026956A (zh) | 具有实信令输出的并行多系统卫星导航接收器 | |
WO2021017611A1 (zh) | 数据传输方法和装置 | |
CN113271432B (zh) | 发送和接收说话者列表的方法及装置 | |
CN112398624B (zh) | 用于接收定位参考信号的方法和相关设备 | |
CN115668863A (zh) | 数据传输方法及装置 | |
CN111030782A (zh) | 一种反馈应答信息的总比特数确定方法及相关产品 | |
CN108811071A (zh) | 传输信号的方法和装置 | |
CN104978981B (zh) | 一种音乐随机播放方法及装置 | |
CN116348952A (zh) | 一种音频信号处理、装置、设备及存储介质 | |
WO2023060603A1 (zh) | 一种寻呼分组的方法、装置、终端设备、基站及存储介质 | |
WO2022143724A1 (zh) | 一种信道质量评估方法以及相关装置 | |
CN107026698B (zh) | 便携设备中的无线保真空闲信道评估检测和传输决策做出 | |
CN116368460A (zh) | 音频处理方法、装置 | |
CN114667744B (zh) | 实时通信方法、装置和系统 | |
CN108462514A (zh) | 蓝牙对讲装置及相关对讲系统 | |
CN113068252B (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 |