CN101478619A - 实现多路语音混音的方法、系统及节点设备 - Google Patents
实现多路语音混音的方法、系统及节点设备 Download PDFInfo
- Publication number
- CN101478619A CN101478619A CNA200910000323XA CN200910000323A CN101478619A CN 101478619 A CN101478619 A CN 101478619A CN A200910000323X A CNA200910000323X A CN A200910000323XA CN 200910000323 A CN200910000323 A CN 200910000323A CN 101478619 A CN101478619 A CN 101478619A
- Authority
- CN
- China
- Prior art keywords
- node
- super node
- audio mixing
- super
- spi
- 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
- 238000002156 mixing Methods 0.000 title claims abstract description 186
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000004519 manufacturing process Methods 0.000 claims description 13
- 238000012423 maintenance Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 12
- 238000007726 management method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 239000012467 final product Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 235000012364 Peperomia pellucida Nutrition 0.000 description 1
- 240000007711 Peperomia pellucida Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000009885 systemic effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 210000001260 vocal cord Anatomy 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
-
- 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/4046—Arrangements for multi-party communication, e.g. for conferences with distributed 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/80—Responding to QoS
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种实现多路语音混音的方法、系统及节点设备,属于网络通信领域。所述方法包括:节点获取超级节点的混音质量参数;节点中有语音输入的节点根据混音质量参数获取超级节点的优先级,并根据超级节点的优先级从超级节点中选择混音超级节点;混音超级节点将有语音输入的节点的音频数据进行混音后,向混音系统中所有节点发布混音后数据。本发明实施例还提供了相应的系统及节点设备。本发明以超级节点代替现有的服务器完成对多路语音数据的混音以及混音后数据的下发,从而节省了服务器成本与带宽资源。
Description
技术领域
本发明涉及网络通信领域,特别涉及实现多路语音混音的方法、系统及节点设备。
背景技术
目前在互联网中,网络社区、大型游戏的发展对多人语音的需求越来越多。现有技术中,基于点对点(P2P,Peer to Peer)通信网络系统的流媒体系统可以实现多人互联。从拓扑结构看,P2P流媒体系统可以分为三类:单树拓扑、多树拓扑和网状拓扑。
在基于单树P2P流媒体数据分发系统中,数据流按分发树由父节点向子节点顺序传递。
在基于多树P2P流媒体数据分发系统中,多树拓扑结构将同一个节点置于不同的分发树中。因此,若一棵树暂时失效,节点仍可以从其他树获得数据。此外,由于在某棵树中无需中转数据流的处于叶节点位置的节点在其他树中可以处于需要中转数据流的中间节点位置,因此多树拓扑结构中节点负载均衡性比单树拓扑有了较大改善。例如,同一节点可以是其中两棵组播树的子节点,同时也可以是这两个树之外的另一棵组播树的中间节点。
在基于P2P流媒体系统的网状拓扑结构中,某个节点可以从合作节点集中选择一个或者多个节点作为它的服务节点。和多树拓扑不同的是,网状拓扑中的合作节点集并不固定,而是随节点的加入/退出状态、负载、丢包率等情况动态变化的,此外,节点间也不是严格的父子关系,一个节点既可以从某节点获取数据也可向其发送数据。网状拓扑结构的问题是如何选择节点和如何进行数据调度。
现有技术中实现多人互联的方法是多路音频混音(即多路语音合成)技术,该技术基于服务器-客户端架构(即S-C架构),所有节点都和服务器建立连接,由服务器实现多路混音后再进行分发。一般混音方案都会采用时域叠加作为基本的处理方法。由于数字音频信号存在量化上限和下限的问题,叠加运算会造成结果溢出。对于结果溢出通常会采用溢出检测,然后再进行饱和运算,即超过上限的结果被置为上限值,该上限值取决于语音编码器的比特数,同理,超过下限的结果被置为下限值。这种运算破坏了语音信号原有的时域特征,引入了噪声,导致在某些系统中会出现爆破声和语音不连续现象。并且随着参与混音的人数增加,出现溢出的频率也会不断上升,同时由于这类方法存在一个上限,而且一般来说这个上限值很低,一般4个终端参与混音时就会产生很多噪音和断续现象,从而导致无法分辨语音流。为了解决上述问题,多路音频混音技术采用加权方法计算。
在实现本发明的过程中,发明人发现:架设服务器进行混音,然后做多路分发的方法消耗服务器成本较高。
发明内容
有鉴于此,本发明实施例提供了一种实现多路混音的方法、系统及节点设备。所述技术方案如下:
一方面,本发明实施例提供了一种实现多路语音混音的方法,所述方法包括:
节点获取超级节点的混音质量参数;
所述节点中有语音输入的节点根据所述混音质量参数获取所述超级节点的优先级,并根据所述超级节点的优先级从所述超级节点中选择混音超级节点;
所述混音超级节点将所述有语音输入的节点的音频数据进行混音后,向所述节点发布混音后数据。
其中,所述节点获取超级节点的混音质量参数之前还包括:
超级节点向服务器上报能力参数;
节点向所述服务器请求所述超级节点的信息;
所述服务器向所述节点返回所述超级节点的信息,所述信息中包括所述节点与所述超级节点的匹配值。
其中,所述节点根据所述超级节点的信息获取所述超级节点的混音质量参数。
其中,所述超级节点的信息包括:硬件能力、容量带宽、所述运营商身份标识、下线时间。
其中,所述超级节点的混音质量参数通过
MSPi-Pj=W1*HLSPi+W2*CBSPi+W3*TLSPi-W4*|SPIDSPi-SPIDPj|与QSPi-Pj=MSPi-Pj-DSPi-Pj得到;
其中,MSPi-Pj表示节点Pj与超级节点SPi的匹配值,HLSPi表示超级节点SPi的硬件能力,CBSPi表示超级节点SPi的容量带宽,TLSPi表示超级节点SPi的下线时间,|SPIDSPi-SPIDPj|表示超级节点SPi的所属运营商身份标识与节点Pj的所属运营商身份标识作差后取绝对值,W1,W2,W3,W4为相应的权重值,DSPi-Pj表示节点Pj连接到超级节点SPi的延时,QSPi-Pj表示超级节点SPi的混音质量参数。
其中,所述根据所述混音质量参数获取所述超级节点的优先级,并根据所述超级节点的优先级从所述超级节点中选择混音超级节点的步骤具体为:
根据超级节点的混音质量参数的大小对所述超级节点进行排序,根据排序结果获得所述优先级的划分;
选择优先级高的超级节点作为混音超级节点。
所述方法还包括:
在所述节点中,有语音输入的节点向其所属的超级节点上报自身的状态;
所述超级节点向混音系统中的其他超级节点通知有语音输入的节点的状态;
所述超级节点保存具有语音输入节点的列表,其中所述列表由所述超级节点实时更新;
所述超级节点将所述列表下发至自身管理节点中的有语音输入的节点。
所述方法还包括:
对所述节点中有语音输入的节点进行分组混音,经过分组混音后,所述节点接收每组的混音后数据,在播放混音时合成每组的混音后数据。
另一方面,本发明实施例还提供一种实现多路语音混音的系统,所述系统包括:
节点,获取超级节点的混音质量参数;有语音输入的节点根据所述混音质量参数获取所述超级节点的优先级,并根据所述超级节点的优先级从所述超级节点中选择混音超级节点;
超级节点,将所述有语音输入的节点的音频数据进行混音后,向所述节点发布混音后数据。
所述系统还包括:
服务器,用于接收所述超级节点上报的能力参数;当所述节点向所述服务器请求所述超级节点的信息时,所述服务器向所述节点返回所述超级节点的信息,所述信息中包括所述节点与所述超级节点的匹配值。
再一方面,本发明实施例还提供一种节点,所述节点包括:
第一获取模块,用于获取超级节点的混音质量参数;
第二获取模块,用于根据所述混音质量参数获取所述超级节点的优先级;
选择模块,用于根据所述超级节点的优先级从所述超级节点中选择混音超级节点;
语音模块,用于接收所述混音超级节点发送的混音后数据。
所述节点还包括:
请求模块,用于向服务器请求所述超级节点的信息;
信息维护模块,用于保存所述服务器返回的所述超级节点的信息,所述信息中包括所述节点与所述超级节点的匹配值。
所述节点还包括:
状态上报模块,用于有语音输入的节点向其所属的超级节点上报自身的状态。
又一方面,本发明实施例还提供一种实现多路语音混音的超级节点,所述超级节点包括:
接收模块,用于接收有语音输入节点的音频数据;
混音模块,用于将所述有语音输入的节点的音频数据进行混音;
发布模块,用于向所述节点发布混音后数据。
所述超级节点还包括:
参数上报模块,用于向服务器上报能力参数。
所述超级节点还包括:
通知模块,用于向混音系统中的其他超级节点通知有语音输入的节点的状态;
列表维护模块,用于保存具有语音输入节点的列表,其中所述列表由所述超级节点实时更新;
下发模块,用于将所述列表下发至自身管理节点中的有语音输入的节点。
本发明实施例提供的技术方案的有益效果是:
节点获取SP的混音质量参数,并根据SP的混音质量参数得到SP的优先级,由此优先级选择进行混音的SP,以选中的超级节点SP代替服务器,完成混音、编码以及混音后的数据发布,节省服务器计算以及服务器成本,并节省带宽资源。
附图说明
图1是本发明实施例一提供的实现多路语音混音的方法流程图;
图2是本发明实施例二提供的P2P网络系统的多树拓扑结构示意图;
图3是本发明实施例二提供的实现多路语音混音的方法流程图;
图4是本发明实施例四提供的实现多路语音混音的系统结构示意图;
图5是本发明实施例五提供的节点设备结构示意图;
图6是本发明实施例六提供的超级节点结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
参见图1,为本发明实施例一提供的实现多路语音混音的方法流程图,该方法包括:
101:节点获取超级节点的混音质量参数;
102:节点中有语音输入的节点根据混音质量参数获取超级节点的优先级,并根据超级节点的优先级从超级节点中选择混音超级节点;
103:混音超级节点将有语音输入的节点的音频数据进行混音后,向混音系统中所有的节点发布混音后数据。
本实施例通过节点获取超级节点SP的混音质量参数,并根据SP的混音质量参数得到SP的优先级,由此优先级选择进行混音的SP,以选中的超级节点SP代替服务器,完成混音、编码以及混音后的数据发布,节省服务器计算以及服务器成本,并节省带宽资源。
实施例二
参见图2,为本发明实施例二提供的P2P网络系统的多树拓扑结构示意图。该图中包括登录服务器,代理服务器,超级节点(SP,Super Peer)以及普通节点(Peer)。所有的SP与普通节点都需要登录到登录服务器和代理服务器。其中,登录服务器和代理服务器完成不同的逻辑功能,在物理实现方面,二者可以根据用户量规模部署在同一台主机上,以下将登录服务器,代理服务器统一称为服务器。
具体地,登录服务器是整个P2P网络系统的门户,用于用户验证、用户参数的获取;代理服务器用于获取存有资源的节点、管理节点,例如从普通节点中挑选SP等,除登录时用户身份验证以外的所有由服务器完成的工作均由代理服务器完成;SP在物理实现方面与普通节点Peer相同,与普通节点不同的是SP拥有独立公网网络协议(IP,Internet Protocol),该公网IP的含义包括:对于局域网而言,多个节点采用一个公共的IP地址与外网通讯,该公共的IP地址为公网IP;对于外网路由而言,外网路由可以直接访问到的IP地址为公网IP。P2P系统选择这种拥有独立公网IP的节点作为超级节点SP,此外,不同的P2P系统可以采用不同的条件在节点中选择超级节点SP,例如,选择带宽较大的节点作为超级节点SP,该超级节点可以做语音数据的中转节点,用来管理普通节点,每个P2P系统对于SP的选择除了公网IP之外,也可以采用其他的方法,例如将连接到服务器的网速、硬件能力等也作为选择SP的要素。
本实施例提供的P2P网络系统的工作场景包括:假设参与多人语音会话的节点为P1,P2...PN(3<=N<=MAX_NUM),其中,MAX_NUM可以根据系统性能和网络状态进行动态设定,N表示参与多人语音会话的人数;P1,P2...PN可以是图2中的peer,也可以是图2中的SP。一般情况下,6个以上的人同时发言在现实生活中也难以分辨,因此,在多人语音系统中,设定同时发言的人数Na<=6。以每个工作时间(自定义的时间名词,一般按照人对语音反应的灵敏度设置工作时间为3秒以下)作为一个活动语音检测单位,在所有参与语音会话者中找出当前有语音输入的Na位参与者。其中,查找的方法是静音检测算法(VAD,Voice Active Detection)。该方法是音频通信系统中采用较普遍的算法,根据低频部分的能量特征(即人的声带频率范围主要分布在500~3400Hz)检测出活动语音,当有语音输入时,开始时段能量上升快,而冲击性噪声频率较平,时域作用时间短,高斯噪声更容易以频谱特征分辨。
基于图2提供的P2P网络系统结构及上述举例的P2P网络系统的工作场景,本实施例提供的实现多路语音混音的方法包括以下内容:
假设当前参与多人语音会话的节点为P1,P2...PN(3<=N<=MAX_NUM),在这些节点中,活动语音节点(即有语音输入的节点)为PA1,PA2,...PANa,当前P2P系统中的超级节点为SP1,SP2...SPM,如图3所示,为本实施例提供的实现多路语音混音的方法流程图,该方法包括:
201:SP向服务器上报能力参数。
其中,在节点登录系统时,所有的SP均向服务器上报能力参数表,作为判定SP的混音处理能力的依据。SP的能力参数表如表1所示:
表1
HL | Hardware Level硬件能力 |
CB | Capable Bandwith容量带宽 |
SPID | Service Provider ID所属运营商 |
TL | Time Left下线时间 |
该能力参数表包括:
硬件能力(HL,Hardware Level):混音处理需要占用用户的硬件资源,在用户节点中选择SP时,不能由于混音处理导致该用户节点的CPU使用率升高而影响用户的其他任务进程,因此硬件能力影响此SP能够处理的最多节点数目。
容量带宽(CB,Capable Bandwith):SP的上行/下行带宽,此参数表示SP的数据吞吐能力。
所属运营商身份标识(SPID,Service Provider ID):表示SP所属的网络运营商的身份标识,不同的网络运营商具有不同的SPID。由于运营商的跨网互联存在瓶颈,在实现本发明实施例的过程中,SPID也作为判断当前活动语音节点PA是否与所选择的作为混音的SP属于同一网络运营商的参数。
下线时间(TL,Time Left):表示对SP的下线时间进行预测。稳定的SP有助于提供稳定的服务质量,所有SP在登录时会根据累计在线时长,每日平均在线时长,及主要在线时间段预测出一个下线时间,单位分钟,例如下线时间120min表示可能在120分钟后下线。
202:当节点向服务器请求SP的信息时,服务器向节点返回SP的信息,该信息中包括一个匹配值,该匹配值为节点与SP的匹配值。
其中,在服务器上保存有当前P2P系统(即当前参与多人语音会话的P2P系统)中每个SP的能力参数表,每隔一定时间段,能力参数表更新一次,其中,该时间段可以根据系统作用不同进行配置。
具体地,在当前参与多人语音会话的节点P1,P2...PN中,节点需要通过SP进行混音,在这之前,节点需要向服务器发出请求,通过该请求获得SP的信息,再为节点自身进行混音SP的选择。当有P1,P2...PN中的节点向服务器请求SP的信息时,服务器向节点返回所需的SP的信息,该信息包括SP的能力参数、IP、SP的网络连接端口等信息,还包括一个匹配值M,M为节点与SP的匹配值,例如MSPi-Pj表示节点Pj与SPi的匹配值,计算方法如下:MSPi-Pj=W1*HLSPi+W2*CBSPi+W3*TLSPi-W4*|SPIDSPi-SPIDPj|(公式1)
其中,W1,W2,W3,W4为相应的权重值,取值范围可以是1~10。权重值可以根据实际的要求和实验结果取值,例如不希望由于混音处理导致CPU使用率高而影响用户的其他任务进程,则HLSPi的权重值W1的取值可以偏大。
203:节点根据得到的SP信息获取SP的混音质量参数。
其中,在多人语音会话的P2P系统建立时,系统中的每个节点P1,P2...PN都会获取到当前多人语音会话系统中的所有SP的信息,并将这些信息存储在节点的本地控制模块中;同时节点需要测试到每个SP的延时即DSPi-Pj,延时越小说明Pj到SPi的连接情况越好。对于节点Pj,SPi的质量QSPi-Pj(即SP的混音质量参数)可以通过下式获取:
QSPi-Pj=MSPi-Pj-DSPi-Pj (公式2)
将当前多人语音会话系统中所有SP按照Q值排序,Q值越大,对应SP的优先级越高。
当有SP下线时,服务器通知到节点,删除下线的SP,每隔一段固定的时间(该时间可以设定),节点主动向服务器获取一次更新,更新内容包括:SP的在线时间值,新上线的SP。其中,当SP登录系统时,服务器根据SP的行为特点(即SP通常的在线时长)预测该SP的在线时间值,当SP在线一段时间t后,该SP的在线时间值就相应减少t,当SP下线后,SP的在线时间值清零。
204:当节点有语音输入时,节点向所属的SP上报自身状态,节点所属的SP向当前系统中的其他SP通知该活动节点的状态。
其中,当多人语音会话的P2P系统中有节点检测到语音输入后,该节点将自身列为活动节点,本实施例中用PA表示活动节点,该节点向自身所属的SP上报本节点为活动节点的状态;该节点所属的SP通知当前系统中其他SP,使每个SP都能获知当前系统中哪些节点有语音输入。
205:SP维护活动节点列表,并将此活动节点列表下发给自身管理节点中的所有活动节点。
其中,SP维护活动节点列表表示当前系统中的每个SP均保存有一个活动节点列表,同时,还表示当前系统中的每个SP均更新所保存的活动节点列表;该列表反应当前系统中有语音输入的节点(即活动节点PA);SP将自身维护的活动节点列表下发给自己管理的节点中所有有语音输入的节点(即活动节点),则所有的活动节点都能够得到当前活动节点列表。
204~205的作用在于SP与活动节点能够实现多节点协同工作,节省服务器的资源。
在上述204~205中,需要说明的是,在节点登录当前多人语音会话的P2P系统后,服务器会给节点返回当前系统中所有SP的信息,节点选择其中一个或者多个SP作为自身所属的SP,这是现有P2P系统在构建时所具有的特点,节点可能登录到与其建立连接最快的一个SP上,则该SP就是节点所属的SP;每个节点与所属的SP并非一对一的关系,即一个节点可以有多个所属的SP,每个SP也可以管理多个节点。
206:活动节点根据混音质量参数计算SP的优先级,并根据计算结果选择混音SP。
其中,通过举例说明活动节点根据混音质量参数计算SP的优先级并选择混音SP的过程:
假设系统中当前活动节点为三个即PA1、PA2和PA3,超级节点有五个即SP1,SP2,SP3,SP4和SP5;每个活动节点根据本实施例203中的方法获取到系统中所有SP的混音质量参数Q,并将当前多人语音会话系统中五个SP按照Q值排序,Q值越大,对应SP的优先级越高;每个活动节点都可以获得关于SP的优先级列表,参见表2,为当前活动节点获得的SP的优先级表:
表2
活动节点根据上表计算各个SP的优先级,如表2中所示:
SP2的优先级为1+3+2=6;
其中,1表示SP2在PA1的SP优先级列表中的排序号;同理,3表示SP2在PA2的SP优先级列表中的排序号;2表示SP2在PA3的SP优先级列表中的排序号;6表示经过计算的SP2的优先级数。
SP3的优先级为2+2+3=7
其中,各个数值的含义同SP2,此处不赘述。
按照上述的计算过程,得出每个SP的优先级数:SP1的优先级为9,SP4的优先级为9,SP5的优先级为14。
根据上述计算结果得知,SP2的优先级别最高,因此,优先选择SP2为混音SP,备用混音SP为SP3。
在上述过程中,由于多个活动节点之间具有互相通知的机制,因此,混音SP的优先级计算以及混音SP的选择均由多个活动节点中的一个活动节点完成即可,例如可以约定以唯一标识值(UIN,Unique Identification Number,又可理解为用户的账号)最小的活动节点进行计算,该节点选择混音SP完毕后,通知其他各个活动节点。例如,当前多人语音会话的P2P系统中,活动节点中PA2的唯一标识值(即PA2的用户账号)最小,则约定由PA2对混音SP进行选择,确定混音SP之后,再由PA2通知PA1和PA3。
207:系统中的活动节点将各自的音频数据发送到优先级别最高的混音SP,SP进行混音后,发布混音后数据。
根据206中的举例,有语音输入的节点PA1、PA2、PA3将各自的音频数据发送到SP2,由SP2进行混音后作为发布源发送到系统中。
当活动节点收到经过SP混音后的音频数据,混音中包含了自身的音频数据,例如上述活动节点中PA1收到混音后的音频数据,该混音中包含了PA1的音频数据,在实际场景中用户听到自己的回声是一种不好的体验,为了防止这种回声,需要对回声进行消除。回声消除(EC,Echo Cancellation)指的是使用硬件或者软件的方法,将网络中的回音消除。本发明实施例中回声消除使用软件的方法,将回声通过EC滤波器消除。
需要说明的是,上述活动节点还具有音频信号的采集、播放、编码以及静音检测算法(VAD)功能,均为现有技术,此处不再赘述;SP除了具有普通节点的功能外,还能够管理登录的普通节点、实现节点间信息交换、接收活动节点的音频数据并完成混音以及发布混音后的数据。
上述举例以系统中的活动节点是三个为例说明的,当系统中只有一个活动节点PA时,该节点直接通过优先级最高的SP进行混音和混音后发布;两个活动节点的处理方法与三个类似,此处不再赘述。
本实施例中各标号只是用于引用方便,并不对各流程的先后顺序造成限定。
本实施例以系统中的活动节点数目小于等于三个为例说明实现多路语音混音的方法,在该方法中,所有节点登录到服务器后,服务器通过SP的上报获得SP的能力参数;当节点向服务器请求SP的信息时,服务器向节点返回SP的信息,该信息中包括节点与SP的匹配值,节点通过SP的信息可以获取SP的混音质量参数,并根据SP的混音质量参数得到SP的优先级,由此优先级选择进行混音的SP。在整个工作过程中,节点之间,SP与节点之间均有相互通知的机制,可以实现多节点之间协同工作,本发明实施例提供的实现多路语音混音的方法以若干超级节点SP代替服务器,完成混音、编码以及混音后的数据发布,节省服务器计算以及降低了服务器成本,并节省带宽资源。
实施例三
本实施例提供的参与多人语音会话的P2P系统中,假设有语音输入的节点大于等于3个,且小于等于6个(考虑到实际情况中,6个以上的人同时发言在现实生活中也难以分辨),将活动节点分为两组进行混音,分组混音过程中节点间协同工作可以提高系统的效率。
例如,当前参与多人语音会话的P2P系统中的活动节点为PA1、PA2、PA3、PA4、PA5,分组过程如下:
比较PA1的首选SP与PA2~PA5的首选SP,若PA2~PA5中的PAx的首选SP与PA1相同,则将该PAx与PA1分到一组,若有超过两个活动节点与PA1的首选SP相同,则随机选择两个活动节点与PA1一组,剩下的为另外一组。若无活动节点与PA1的首选SP相同,则比较PA2与PA3~PA5中的PAx的首选SP,以下依次类推。
若所有节点的首选SP均不同,则比较PA1的首选SP与PA2~PA5次选SP,其他步骤同上。
为提高效率,如果次选SP查找依然失败,则将活动节点随机分组,不再采用其他算法进行分组。因为在节点数目有限的情况下,再采用其他方式(如进一步比较PA1的次选SP与其他节点的次选SP)进行分组与随机分组效果相差不大。
本实施例中,将所有活动节点分组后,各组独立按照实施例二的方法进行处理,此处不再赘述。系统中的每个节点收到两组混音后的数据,在节点本地进行播放时合成即可。若为了节省系统带宽,此处的两组混音数据仍可以进一步混音为一组,但是由于语音数据的时域敏感性,再次进行混音会进一步引入延时,造成体验下降,因此更优选的方法是系统中的每个节点收到两组混音后的数据,在节点本地进行播放时合成。
实施例四
如图4所示,本实施例提供一种实现多路语音混音的系统,该系统以超级节点代替服务器,多节点协同工作,实现多路语音混音。该系统包括:
节点41,获取超级节点42的混音质量参数;有语音输入的节点根据混音质量参数获取超级节点42的优先级,并根据超级节点42的优先级从超级节点42中选择混音超级节点;
超级节点42,将有语音输入的节点的音频数据进行混音后,向节点41发布混音后数据。
该系统还包括:
服务器43,用于接收超级节点42上报的能力参数;当节点41向服务器请求超级节点42的信息时,服务器43向节点41返回超级节点42的信息,信息中包括节点41与超级节点42的匹配值。
本实施例中,服务器43还用于对节点41与超级节点42进行登录管理。服务器43维护超级节点42的混音质量参数,其中,维护表示保存并及时更新。
本实施例通过P2P系统中的超级节点42代替服务器完成混音、编码及混音后的音频数据下发,即利用P2P系统内资源实现多人语音,节省服务器计算和带宽资源。
实施例五
如图5所示,本实施例提供一种节点设备,该节点设备包括:
第一获取模块51,用于获取超级节点的混音质量参数;
第二获取模块52,用于根据混音质量参数获取超级节点的优先级;
选择模块53,用于根据超级节点的优先级从超级节点中选择混音超级节点;
语音模块54,用于接收混音超级节点发送的混音后数据。
优选地,该节点设备还可以包括:
请求模块55,用于向服务器请求超级节点的信息;
信息维护模块56,用于保存服务器返回的超级节点的信息,该信息中包括节点与超级节点的匹配值。
其中,第一获取模块51根据信息维护模块56保存的超级节点的信息获取超级节点的混音质量参数。
该节点设备还可以包括:
状态上报模块57,用于有语音输入的节点向其所属的超级节点上报自身的状态;
回声消除模块58,用于从接收的混音音频数据中滤除本地音频数据。
本实施例提供的节点设备,通过获取超级节点的混音质量参数并根据该混音质量参数获取超级节点的优先级,进而从超级节点中选择混音超级节点,由混音超级节点实现混音并下发混音后音频数据,实现了通过P2P系统的多节点协同工作完成多人语音,节省服务器的资源。
实施例六
如图6所示,本实施例提供一种实现多路语音混音的超级节点,该超级节点包括:
接收模块61,用于接收有语音输入节点的音频数据;
混音模块62,用于将有语音输入的节点的音频数据进行混音;
发布模块63,用于向节点发布混音后数据。
优选地,该超级节点还可以包括:
参数上报模块64,用于向服务器上报能力参数。
通知模块65,用于向当前系统中的其他超级节点通知有语音输入的节点的状态;
列表维护模块66,用于保存具有语音输入节点的列表,其中列表由超级节点实时更新;
下发模块67,用于将列表下发至自身管理节点中的有语音输入的节点。
本实施例提供的超级节点可以管理系统中的普通节点,能够通过多个节点协同工作完成对多路音频数据的混音,并发布混音后的音频数据;P2P系统中的多个超级节点间可以通过通知机制实现信息交换,进而实现多节点协同工作。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种实现多路语音混音的方法,其特征在于,所述方法包括:
节点获取超级节点的混音质量参数;
所述节点中有语音输入的节点根据所述混音质量参数获取所述超级节点的优先级,并根据所述超级节点的优先级从所述超级节点中选择混音超级节点;
所述混音超级节点将所述有语音输入的节点的音频数据进行混音后,向所述节点发布混音后数据。
2.根据权利要求1所述的方法,其特征在于,所述节点获取超级节点的混音质量参数之前还包括:
超级节点向服务器上报能力参数;
节点向所述服务器请求所述超级节点的信息;
所述服务器向所述节点返回所述超级节点的信息,所述信息中包括所述节点与所述超级节点的匹配值。
3.根据权利要求2所述的方法,其特征在于,所述节点根据所述超级节点的信息获取所述超级节点的混音质量参数。
4.根据权利要求1所述的方法,其特征在于,所述超级节点的信息包括:硬件能力、容量带宽、所属运营商身份标识、下线时间。
5.根据权利要求3或4所述的方法,其特征在于,所述超级节点的混音质量参数通过
MSPi-Pj=W1*HLSPi+W2*CBSPi+W3*TLSPi-W4*|SPIDSPi-SPIDPj|与QSPi-Pj=MSPi-Pj-DSPi-Pj得到;
其中,MSPi-Pj表示节点Pj与超级节点SPi的匹配值,HLSPi表示超级节点SPi的硬件能力,CBSPi表示超级节点SPi的容量带宽,TLSPi表示超级节点SPi的下线时间,|SPIDSPi-SPIDPj|表示超级节点SPi的所属运营商身份标识与节点Pj的所属运营商身份标识作差后取绝对值,W1,W2,W3,W4为相应的权重值,DSPi-Pj表示节点Pj连接到超级节点SPi的延时,QSPi-Pj表示超级节点SPi的混音质量参数。
6.根据权利要求1所述的方法,其特征在于,所述根据所述混音质量参数获取所述超级节点的优先级,并根据所述超级节点的优先级从所述超级节点中选择混音超级节点的步骤具体为:
根据超级节点的混音质量参数的大小对所述超级节点进行排序,根据排序结果获得所述优先级的划分;
选择优先级高的超级节点作为混音超级节点。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述节点中,有语音输入的节点向其所属的超级节点上报自身的状态;
所述超级节点向混音系统中的其他超级节点通知有语音输入的节点的状态;
所述超级节点保存具有语音输入节点的列表,其中所述列表由所述超级节点实时更新;
所述超级节点将所述列表下发至自身管理节点中的有语音输入的节点。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述节点中有语音输入的节点进行分组混音,经过分组混音后,所述节点接收每组的混音后数据,在播放混音时合成每组的混音后数据。
9.一种实现多路语音混音的系统,其特征在于,所述系统包括:
节点,获取超级节点的混音质量参数;有语音输入的节点根据所述混音质量参数获取所述超级节点的优先级,并根据所述超级节点的优先级从所述超级节点中选择混音超级节点;
超级节点,将所述有语音输入的节点的音频数据进行混音后,向所述节点发布混音后数据。
10.根据权利要求9所述的系统,其特征在于,所述系统还包括:
服务器,用于接收所述超级节点上报的能力参数;当所述节点向所述服务器请求所述超级节点的信息时,所述服务器向所述节点返回所述超级节点的信息,所述信息中包括所述节点与所述超级节点的匹配值。
11.一种节点,其特征在于,所述节点包括:
第一获取模块,用于获取超级节点的混音质量参数;
第二获取模块,用于根据所述混音质量参数获取所述超级节点的优先级;
选择模块,用于根据所述超级节点的优先级从所述超级节点中选择混音超级节点;
语音模块,用于接收所述混音超级节点发送的混音后数据。
12.根据权利要求11所述的节点,其特征在于,所述节点还包括:
请求模块,用于向服务器请求所述超级节点的信息;
信息维护模块,用于保存所述服务器返回的所述超级节点的信息,所述信息中包括所述节点与所述超级节点的匹配值。
13.根据权利要求11所述的节点,其特征在于,所述节点还包括:
状态上报模块,用于有语音输入的节点向其所属的超级节点上报自身的状态。
14.一种实现多路语音混音的超级节点,其特征在于,所述超级节点包括:
接收模块,用于接收有语音输入节点的音频数据;
混音模块,用于将所述有语音输入的节点的音频数据进行混音;
发布模块,用于向所述节点发布混音后数据。
15.根据权利要求14所述的超级节点,其特征在于,所述超级节点还包括:
参数上报模块,用于向服务器上报能力参数。
16.根据权利要求14所述的超级节点,其特征在于,所述超级节点还包括:
通知模块,用于向混音系统中的其他超级节点通知有语音输入的节点的状态;
列表维护模块,用于保存具有语音输入节点的列表,其中所述列表由所述超级节点实时更新;
下发模块,用于将所述列表下发至自身管理节点中的有语音输入的节点。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910000323XA CN101478619B (zh) | 2009-01-05 | 2009-01-05 | 实现多路语音混音的方法、系统及节点设备 |
EP10726787.4A EP2375648B1 (en) | 2009-01-05 | 2010-01-05 | Method, system and node device for realizing audio mixing of multi-path voice |
BRPI1005674-2A BRPI1005674B1 (pt) | 2009-01-05 | 2010-01-05 | Método, sistema e super par para implementar mistura de voz de multical e par |
PCT/CN2010/070021 WO2010075821A1 (zh) | 2009-01-05 | 2010-01-05 | 实现多路语音混音的方法、系统及节点设备 |
US13/158,587 US8780765B2 (en) | 2009-01-05 | 2011-06-13 | Method, system and peer apparatus for implementing multi-channel voice mixing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910000323XA CN101478619B (zh) | 2009-01-05 | 2009-01-05 | 实现多路语音混音的方法、系统及节点设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101478619A true CN101478619A (zh) | 2009-07-08 |
CN101478619B CN101478619B (zh) | 2011-11-23 |
Family
ID=40839247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910000323XA Active CN101478619B (zh) | 2009-01-05 | 2009-01-05 | 实现多路语音混音的方法、系统及节点设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8780765B2 (zh) |
EP (1) | EP2375648B1 (zh) |
CN (1) | CN101478619B (zh) |
BR (1) | BRPI1005674B1 (zh) |
WO (1) | WO2010075821A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010075821A1 (zh) * | 2009-01-05 | 2010-07-08 | 腾讯科技(深圳)有限公司 | 实现多路语音混音的方法、系统及节点设备 |
CN102270456A (zh) * | 2010-06-07 | 2011-12-07 | 华为终端有限公司 | 一种音频信号的混音处理方法及装置 |
CN103313435A (zh) * | 2012-03-08 | 2013-09-18 | 上海阅维信息科技有限公司 | 一种多路语音集中传输的无线音频系统 |
CN103680508A (zh) * | 2013-12-09 | 2014-03-26 | Tcl集团股份有限公司 | 多级混音的动态分配方法及动态分配装置 |
CN111314338A (zh) * | 2020-02-11 | 2020-06-19 | 烽火通信科技股份有限公司 | 一种分布式本地混音的实现方法及装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103338119B (zh) * | 2013-06-08 | 2014-12-31 | 腾讯科技(深圳)有限公司 | 语音通道分配方法和语音系统 |
CN103281211B (zh) * | 2013-06-13 | 2016-03-30 | 黑龙江工程学院 | 大规模网络节点分组管理系统及管理方法 |
CN105719653B (zh) * | 2016-01-28 | 2020-04-24 | 腾讯科技(深圳)有限公司 | 一种混音处理方法和装置 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6226673B1 (en) * | 1996-11-29 | 2001-05-01 | Canon Kabushiki Kaisha | Data distribution method and apparatus and computer program |
US6192375B1 (en) * | 1998-07-09 | 2001-02-20 | Intel Corporation | Method and apparatus for managing files in a storage medium |
US6304648B1 (en) * | 1998-12-21 | 2001-10-16 | Lucent Technologies Inc. | Multimedia conference call participant identification system and method |
US6192395B1 (en) * | 1998-12-23 | 2001-02-20 | Multitude, Inc. | System and method for visually identifying speaking participants in a multi-participant networked event |
US6501739B1 (en) * | 2000-05-25 | 2002-12-31 | Remoteability, Inc. | Participant-controlled conference calling system |
US7685224B2 (en) * | 2001-01-11 | 2010-03-23 | Truelocal Inc. | Method for providing an attribute bounded network of computers |
US6941372B2 (en) * | 2001-02-01 | 2005-09-06 | Agere Systems Inc. | Mobile community communicator |
US8144854B2 (en) * | 2001-12-31 | 2012-03-27 | Polycom Inc. | Conference bridge which detects control information embedded in audio information to prioritize operations |
US7617094B2 (en) * | 2003-02-28 | 2009-11-10 | Palo Alto Research Center Incorporated | Methods, apparatus, and products for identifying a conversation |
US7698141B2 (en) * | 2003-02-28 | 2010-04-13 | Palo Alto Research Center Incorporated | Methods, apparatus, and products for automatically managing conversational floors in computer-mediated communications |
US7933226B2 (en) * | 2003-10-22 | 2011-04-26 | Palo Alto Research Center Incorporated | System and method for providing communication channels that each comprise at least one property dynamically changeable during social interactions |
KR100545353B1 (ko) * | 2003-10-29 | 2006-01-24 | 에스케이 텔레콤주식회사 | 이동통신망에서의 호 연결 설정 방법 |
US7443803B2 (en) * | 2004-03-23 | 2008-10-28 | Fujitsu Limited | Estimating and managing network traffic |
CN100479415C (zh) * | 2005-06-06 | 2009-04-15 | 腾讯科技(深圳)有限公司 | 一种实现数据通讯的系统及其方法 |
US7734710B2 (en) * | 2005-09-22 | 2010-06-08 | Avaya Inc. | Presence-based hybrid peer-to-peer communications |
US7379450B2 (en) * | 2006-03-10 | 2008-05-27 | International Business Machines Corporation | System and method for peer-to-peer multi-party voice-over-IP services |
CN101047828B (zh) * | 2006-03-31 | 2011-05-25 | 联想(北京)有限公司 | 分布式会议系统 |
US7831270B2 (en) * | 2006-05-18 | 2010-11-09 | Cisco Technology, Inc. | Providing virtual talk group communication sessions in accordance with endpoint resources |
US7835364B2 (en) * | 2006-10-05 | 2010-11-16 | Avaya Inc. | Distributed handling of telecommunications features in a hybrid peer-to-peer system of endpoints |
US8621003B2 (en) * | 2007-11-28 | 2013-12-31 | Avaya Inc. | Enhanced application-layer multicast for peer-to-peer conferencing |
CN101478619B (zh) * | 2009-01-05 | 2011-11-23 | 腾讯科技(深圳)有限公司 | 实现多路语音混音的方法、系统及节点设备 |
-
2009
- 2009-01-05 CN CN200910000323XA patent/CN101478619B/zh active Active
-
2010
- 2010-01-05 EP EP10726787.4A patent/EP2375648B1/en active Active
- 2010-01-05 WO PCT/CN2010/070021 patent/WO2010075821A1/zh active Application Filing
- 2010-01-05 BR BRPI1005674-2A patent/BRPI1005674B1/pt active IP Right Grant
-
2011
- 2011-06-13 US US13/158,587 patent/US8780765B2/en active Active
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010075821A1 (zh) * | 2009-01-05 | 2010-07-08 | 腾讯科技(深圳)有限公司 | 实现多路语音混音的方法、系统及节点设备 |
US8780765B2 (en) | 2009-01-05 | 2014-07-15 | Tencent Technology (Shenzhen) Company Limited | Method, system and peer apparatus for implementing multi-channel voice mixing |
CN102270456A (zh) * | 2010-06-07 | 2011-12-07 | 华为终端有限公司 | 一种音频信号的混音处理方法及装置 |
CN102270456B (zh) * | 2010-06-07 | 2012-11-21 | 华为终端有限公司 | 一种音频信号的混音处理方法及装置 |
CN103313435A (zh) * | 2012-03-08 | 2013-09-18 | 上海阅维信息科技有限公司 | 一种多路语音集中传输的无线音频系统 |
CN103680508A (zh) * | 2013-12-09 | 2014-03-26 | Tcl集团股份有限公司 | 多级混音的动态分配方法及动态分配装置 |
CN103680508B (zh) * | 2013-12-09 | 2018-03-16 | Tcl集团股份有限公司 | 多级混音的动态分配方法及动态分配装置 |
CN111314338A (zh) * | 2020-02-11 | 2020-06-19 | 烽火通信科技股份有限公司 | 一种分布式本地混音的实现方法及装置 |
CN111314338B (zh) * | 2020-02-11 | 2022-09-23 | 烽火通信科技股份有限公司 | 一种分布式本地混音的实现方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
BRPI1005674A2 (pt) | 2016-02-23 |
US20110246191A1 (en) | 2011-10-06 |
EP2375648B1 (en) | 2018-05-16 |
EP2375648A4 (en) | 2016-05-25 |
EP2375648A1 (en) | 2011-10-12 |
CN101478619B (zh) | 2011-11-23 |
BRPI1005674B1 (pt) | 2019-02-12 |
WO2010075821A1 (zh) | 2010-07-08 |
US8780765B2 (en) | 2014-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101478619B (zh) | 实现多路语音混音的方法、系统及节点设备 | |
DE69936267T2 (de) | Drahtloses push-to-talk (ptt) internetrundsenden | |
CN1318999C (zh) | 视频会议系统结构 | |
CN101371244B (zh) | 在启用网络的会议中对发言者分类 | |
CN109600262A (zh) | Urllc传输网络切片中资源自配置和自优化方法及装置 | |
CN102185856B (zh) | 组队游戏中组队视频方法、装置及系统 | |
CN101047523B (zh) | 提供上线者状态的服务器及方法 | |
JP2007534076A (ja) | ネットワークチャット環境におけるチャット負荷管理のためのシステム及び方法 | |
CN111510879A (zh) | 基于多约束效用函数的异构车联网网络选择方法及系统 | |
CN101444053A (zh) | 用于经由在数据分组网络上广播的请求来定位和获取服务连接的系统和方法 | |
CN102365857A (zh) | 用于有效传输电话会议的多媒体流的方法和装置 | |
CN101170481A (zh) | 一种动态建立组播虚拟局域网域的方法、系统及交换设备 | |
CN106507024A (zh) | 一种自适应码率调整方法及装置 | |
CN102077508B (zh) | 在多节点间通过网络对数据进行接收和转发的组播通信方法及装置 | |
CN107205132A (zh) | 网格拓扑与集中式桥拓扑之间视频会话的无缝过渡 | |
CN1555632A (zh) | 在聊天组中交流消息的方法 | |
CN102904828B (zh) | 一种负载均衡方法及装置 | |
CN111741177B (zh) | 在线会议的混音方法、装置、设备和介质 | |
CN202094930U (zh) | 具组队视频和聊天室功能的游戏系统 | |
CN102957729A (zh) | 一种多媒体会议音视频传输方法及设备 | |
CN110996366B (zh) | 一种异构专用网络垂直切换中权重确定方法 | |
CN104469698B (zh) | 一种应用于知识产权呼叫网络的ptt集群呼叫系统 | |
CN109729304A (zh) | 会议系统及所述系统中的带宽调节方法 | |
CN100558053C (zh) | 对协同通信系统的性能进行测量的方法 | |
CN102546995B (zh) | 一种数据分发处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |