实现多路语音混音的方法、系统及节点设备的制作方法

文档序号:2831938阅读:471来源:国知局

专利名称::实现多路语音混音的方法、系统及节点设备的制作方法
技术领域
:本发明涉及网络通信领域,特别涉及实现多路语音混音的方法、系统及节点设备。
背景技术
:目前在互联网中,网络社区、大型游戏的发展对多人语音的需求越来越多。现有技术中,基于点对点(P2P,PeertoPeer)通信网络系统的流々某体系统可以实现多人互联。从拓朴结构看,P2P流媒体系统可以分为三类单树拓朴、多树拓朴和网状拓朴。在基于单树P2P流媒体数据分发系统中,数据流按分发树由父节点向子节点顺序传递。在基于多树P2P流i某体数据分发系统中,多树拓朴结构将同一个节点置于不同的分发树中。因此,若一棵树暂时失效,节点仍可以从其他树获得数据。此外,由于在某棵树中无需中转数据流的处于叶节点位置的节点在其他树中可以处于需要中转数据流的中间节点位置,因此多树拓朴结构中节点负载均衡性比单树拓朴有了较大改善。例如,同一节点可以是其中两棵组播树的子节点,同时也可以是这两个树之外的另一棵组播树的中间节点。在基于P2P流4某体系统的网状拓朴结构中,某个节点可以从合作节点集中选择一个或者多个节点作为它的服务节点。和多树拓朴不同的是,网状拓朴中的合作节点集并不固定,而是随节点的加入/退出状态、负载、丢包率等情况动态变化的,此外,节点间也不是严格的父子关系,一个节点既可以从某节点获取数据也可向其发送数据。网状拓朴结构的问题是如何选择节点和如何进行数据调度。现有技术中实现多人互联的方法是多路音频混音(即多路语音合成)技术,该技术基于服务器-客户端架构(即S-C架构),所有节点都和服务器建立连接,由服务器实现多路混音后再进行分发。一般混音方案都会釆用时域叠加作为基本的处理方法。由于数字音频信号存在量化上限和下限的问题,叠加运算会造成结果溢出。对于结果溢出通常会采用溢出检测,然后再进行饱和运算,即超过上限的结果被置为上限值,该上限值取决于语音编码器的比特数,同理,超过下限的结果被置为下限值。这种运算破坏了语音信号原有的时域特征,引入了噪声,导致在某些系统中会出现爆破声和语音不连续现象。并且随着参与混音的人数增加,出现溢出的频率也会不断上升,同时由于这类方法存在一个上限,而且一般来说这个上限值很低,一般4个终端参与混音时就会产生很多噪音和断续现象,从而导致无法分辨语音流。为了解决上述问题,多路音频混音技术采用加权方法计算。在实现本发明的过程中,发明人发现架设服务器进行混音,然后做多路分发的方法消耗服务器成本较高。
发明内容有鉴于此,本发明实施例提供了一种实现多路混音的方法、系统及节点设备。所述技术方案如下一方面,本发明实施例提供了一种实现多路语音混音的方法,所述方法包括节点获取超级节点的混音质量参数;所述节点中有语音输入的节点根据所述混音质量参数获取所述超级节点的优先级,并根据所述超级节点的优先级从所述超级节点中选择混音超级节点;所述混音超级节点将所述有语音输入的节点的音频数据进行混音后,向所述节点发布混音后数据。其中,所述节点获取超级节点的混音质量参数之前还包括超级节点向服务器上报能力参数;节点向所述服务器请求所述超级节点的信息;所述服务器向所述节点返回所述超级节点的信息,所述信息中包括所述节点与所述超级节点的匹配值。其中,所述节点根据所述超级节点的信息获取所述超级节点的混音质量参数。其中,所述超级节点的信息包括硬件能力、容量带宽、所述运营商身份标识、下线时间。其中,所述超级节点的混音质量参数通过Mspi-i^W!*HLSPi+W2*CBSPi+W3*TLSPi—W4*|SPIDSPi—SPIDPj|与Qspi-pj=MSpi-pj—Dspi-pj^寻fU;其中,Mspi-pj表示节点Pj与超级节点SPi的匹配值,HLspi表示超级节点SPi的硬件能力,CB奶表示超级节点SPi的容量带宽,TLspi表示超级节点SPj的下线时间,ISPIDSPi-SPID巧I表示超级节点SPi的所属运营商身份标识与节点Pj的所属运营商身^f分标识作差后取绝对值,,W2,W3,W4为相应的权重值,DSPi-pj表示节点Pj连接到超级节点SPi的延时,Qspi-Pj表示超级节点SPj的混音质量参数。其中,所述根据所述混音质量参数获取所述超级节点的优先级,并根据所述超级节点的优先级从所述超级节点中选择混音超级节点的步骤具体为根据超级节点的混音质量参数的大小对所述超级节点进行排序,根据排序结果获得所述优先级的划分;选择优先级高的超级节点作为混音超级节点。所述方法还包括在所述节点中,有语音输入的节点向其所属的超级节点上报自身的状态;所述超级节点向混音系统中的其他超级节点通知有语音输入的节点的状态;所述超级节点保存具有语音输入节点的列表,其中所述列表由所述超级节点实时更新;所述超级节点将所述列表下发至自身管理节点中的有语音输入的节点。所述方法还包括对所述节点中有语音输入的节点进行分组混音,经过分组混音后,所述节点接收每组的混音后数据,在播放混音时合成每组的混音后数据。另一方面,本发明实施例还提供一种实现多路语音混音的系统,所述系统包括节点,获取超级节点的混音质量参数;有语音输入的节点根据所述混音质量参数获取所述超级节点的优先级,并根据所述超级节点的优先级从所述超级节点中选择混音超级节点;超级节点,将所述有语音输入的节点的音频数据进行混音后,向所述节点发布混音后数据。所述系统还包括服务器,用于接收所述超级节点上报的能力参数;当所述节点向所述服务器请求所述超级节点的信息时,所述服务器向所述节点返回所述超级节点的信息,所述信息中包括所述节点与所述超级节点的匹配值。再一方面,本发明实施例还提供一种节点,所述节点包括第一获取模块,用于获取超级节点的混音质量参数;第二获取模块,用于根据所述混音质量参数获取所述超级节点的优先级;选择模块,用于根据所述超级节点的优先级从所述超级节点中选择混音超级节点;语音模块,用于接收所述混音超级节点发送的混音后数据。所述节点还包括请求模块,用于向服务器请求所述超级节点的信息;信息维护模块,用于保存所述服务器返回的所述超级节点的信息,所述信息中包括所述节点与所述超级节点的匹配值。所述节点还包括状态上报模块,用于有语音输入的节点向其所属的超级节点上报自身的状态。又一方面,本发明实施例还提供一种实现多路语音混音的超级节点,所述超级节点包括接收模块,用于接收有语音输入节点的音频数据;混音模块,用于将所述有语音输入的节点的音频数据进行混音;发布模块,用于向所述节点发布混音后数据。所述超级节点还包括参数上报模块,用于向服务器上报能力参数。所述超级节点还包括通知模块,用于向混音系统中的其他超级节点通知有语音输入的节点的状态;列表维护模块,用于保存具有语音输入节点的列表,其中所述列表由所述超级节点实时更新;下发模块,用于将所述列表下发至自身管理节点中的有语音输入的节点。本发明实施例提供的技术方案的有益效果是节点获取SP的混音质量参数,并根据SP的混音质量参数得到SP的优先级,由此优先级选择进行混音的SP,以选中的超级节点SP代替服务器,完成混音、编码以及混音后的数据发布,节省服务器计算以及服务器成本,并节省带宽资源。图1是本发明实施例一提供的实现多路语音混音的方法流程图;图2是本发明实施例二提供的P2P网络系统的多树拓朴结构示意图;图3是本发明实施例二提供的实现多路语音混音的方法流程图;图4是本发明实施例四提供的实现多路语音混音的系统结构示意图;图5是本发明实施例五提供的节点设备结构示意图;图6是本发明实施例六提供的超级节点结构示意图。具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。实施例一参见图1,为本发明实施例一提供的实现多鴻4吾音混音的方法流程图,该方法包括101:节点获取超级节点的混音质量参数;102:节点中有语音输入的节点根据混音质量参数获取超级节点的优先级,并根据超级节点的优先级从超级节点中选4奪混音超级节点;103:混音超级节点将有语音输入的节点的音频数据进行混音后,向混音系统中所有的节点发布混音后数据。本实施例通过节点获取超级节点SP的混音质量参数,并根据SP的混音质量参数得到SP的优先级,由此优先级选择进行混音的SP,以选中的超级节点SP代替服务器,完成混音、编码以及混音后的数据发布,节省服务器计算以及服务器成本,并节省带宽资源。实施例二参见图2,为本发明实施例二提供的P2P网络系统的多树拓朴结构示意图。该图中包括登录服务器,代理服务器,超级节点(SP,SuperPeer)以及普通节点(Peer)。所有的SP与普通节点都需要登录到登录服务器和代理服务器。其中,登录服务器和代理服务器完成不同的逻辑功能,在物理实现方面,二者可以根据用户量规模部署在同一台主机上,以下将登录服务器,代理服务器统一称为服务器。具体地,登录服务器是整个P2P网络系统的门户,用于用户验证、用户参数的获取;代理服务器用于获取存有资源的节点、管理节点,例如从普通节点中挑选SP等,除登录时用户身份验证以外的所有由服务器完成的工作均由代理服务器完成;SP在物理实现方面与普通节点Peer相同,与普通节点不同的是SP拥有独立公网网络协议(IP,InternetProtocol),该公网IP的含义包括对于局域网而言,多个节点采用一个公共的IP地址与外网通讯,该公共的IP地址为公网IP;对于外网路由而言,夕卜网路由可以直接访问到的IP地址为公网IP。P2P系统选择这种拥有独立公网IP的节点作为超级节点SP,此外,不同的P2P系统可以采用不同的条件在节点中选择超级节点SP,例如,选择带宽较大的节点作为超级节点SP,该超级节点可以做语音数据的中转节点,用来管理普通节点,每个P2P系统对于SP的选择除了公网IP之外,也可以采用其他的方法,例如将连接到服务器的网速、硬件能力等也作为选择SP的要素。本实施例提供的P2P网络系统的工作场景包括假设参与多人语音会话的节点为PpP2...PN(3<=N<=MAX—NUM),其中,MAX—NUM可以根据系统性能和网络状态进行动态设定,N表示参与多人语音会话的人数;Pt,P2…Pn可以是图2中的peer,也可以是图2中的SP。一般情况下,6个以上的人同时发言在现实生活中也难以分辨,因此,在多人语音系统中,设定同时发言的人数Na<=6。以每个工作时间(自定义的时间名词,一般按照人对语音反应的灵敏度设置工作时间为3秒以下)作为一个活动语音^r测单位,在所有参与语音会话者中找出当前有语音输入的Na位参与者。其中,查找的方法是静音检测算法(VAD,VoiceActiveDetection)。该方法是音频通信系统中采用较普遍的算法,根据低频部分的能量特征(即人的声带频率范围主要分布在500~3400Hz)检测出活动语音,当有语音输入时,开始时段能量上升快,而冲击性噪声频率较平,时域作用时间短,高斯噪声更容易以频谱特征分辨。基于图2提供的P2P网络系统结构及上述举例的P2P网络系统的工作场景,本实施例提供的实现多路语音混音的方法包括以下内容假设当前参与多人语音会话的节点为Pi,P2...PN(3<=N<=MAX—NUM),在这些节点中,活动语音节点(即有语音输入的节点)为PAPPA2,...PANa,当前P2P系统中的超级节点为SPPSP2...SPM,如图3所示,为本实施例提供的实现多^各语音混音的方法流程图,该方法包括201:SP向服务器上报能力参数。其中,在节点登录系统时,所有的SP均向服务器上报能力参数表,作为判定SP的混音处理能力的依据。SP的能力参数表如表1所示表1<table>tableseeoriginaldocumentpage12</column></row><table>该能力参数表包括硬件能力(HL,HardwareLevel):混音处理需要占用用户的硬件资源,在用户节点中选择SP时,不能由于混音处理导致该用户节点的CPU使用率升高而影响用户的其他任务进程,因此硬件能力影响此SP能够处理的最多节点数目。容量带宽(CB,CapableBandwith):SP的上行/下行带宽,此参数表示SP的数据吞吐能力。所属运营商身份标识(SPID,ServiceProviderID):表示SP所属的网络运营商的身份标识,不同的网络运营商具有不同的SPID。由于运营商的跨网互联存在瓶颈,在实现本发明实施例的过程中,SPID也作为判断当前活动语音节点PA是否与所选择的作为混音的SP属于同一网络运营商的参数。下线时间(TL,TimeLeft):表示对SP的下线时间进行预测。稳定的SP有助于提供稳定的服务质量,所有SP在登录时会根据累计在线时长,每日平均在线时长,及主要在线时间段预测出一个下线时间,单位分钟,例如下线时间120min表示可能在120分钟后下线。202:当节点向服务器请求SP的信息时,服务器向节点返回SP的信息,该匹配值为节点与SP的匹配值。其中,在服务器上保存有当前P2P系统(即当前参与多人语音会话的P2P系统)中每个SP的能力参数表,每隔一定时间段,能力参数表更新一次,其中,该时间段可以根据系统作用不同进行配置。具体地,在当前参与多人语音会话的节点PpP2…Pn中,节点需要通过SP进行混音,在这之前,节点需要向服务器发出请求,通过该请求获得SP的信息,再为节点自身进行混音SP的选^r。当有P"P2...PN中的节点向服务器请求SP的信息时,服务器向节点返回所需的SP的信息,该信息包括SP的能力参数、IP、SP的网络连接端口等信息,还包括一个匹配值M,M为节点与SP的匹配值,例如Mspi-pj表示节点Pj与SPi的匹配值,计算方法如下MSPi-pj-W!*HLSPi+W2*CBSPi+W3*TLSPi—W4*|SPIDSPi—SPID巧|(7>式1)其中,Wi,W2,W3,W4为相应的权重值,取值范围可以是110。权重值可以根据实际的要求和实验结果取值,例如不希望由于混音处理导致CPU使用率高而影响用户的其他任务进程,则HLSPi的权重值的取值可以偏大。203:节点根据得到的SP信息获取SP的混音质量参数。其中,在多人语音会话的P2P系统建立时,系统中的每个节点P,,P2...PN都会获:f又到当前多人语音^S舌系统中的所有SP的信息,并将这些信息存储在节点的本地控制模块中;同时节点需要测试到每个SP的延时即DSPi_Pj,延时越小说明Pj到SPj的连接情况越好。对于节点Pj,SP;的质量QSPi-Pj(即SP的混音质量参数)可以通过下式获取Qsp"pj=M,-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与活动节点能够实现多节点协同工作,节省服务器的资源。在上述204205中,需要说明的是,在节点登录当前多人语音会话的P2P系统后,服务器会给节点返回当前系统中所有SP的信息,节点选择其中一个或者多个SP作为自身所属的SP,这是现有P2P系统在构建时所具有的特点,节点可能登录到与其建立连接最快的一个SP上,则该SP就是节点所属的SP;每个节点与所属的SP并非一对一的关系,即一个节点可以有多个所属的SP,每个SP也可以管理多个节点。206:活动节点根据混音质量参数计算SP的优先级,并根据计算结果选择混音SP。其中,通过举例说明活动节点根据混音质量参数计算SP的优先级并选择混音SP的过程假设系统中当前活动节点为三个即PA!、PA2和PA3,超级节点有五个即SPi,SP2,SP3,SP4和SPs;每个活动节点根据本实施例203中的方法获取到系统中所有SP的混音质量参数Q,并将当前多人语音会话系统中五个SP按照Q值排序,Q值越大,对应SP的优先级越高;每个活动节点都可以获得关于SP的优先级列表,参见表2,为当前活动节点获得的SP的优先级表表2<table>tableseeoriginaldocumentpage15</column></row><table>活动节点根据上表计算各个SP的优先级,如表2中所示SP2的优先级为1+3+2=6;其中,1表示SP2在PA!的SP优先级列表中的排序号;同理,3表示SP2在PA2的SP优先级列表中的排序号;2表示SP2在PA3的SP优先级列表中的排序号;6表示经过计算的SP2的优先级数。SP3的优先级为2+2+3=7其中,各个数值的含义同SP2,此处不赘述。按照上述的计算过程,得出每个SP的优先级数SP!的优先级为9,SP4的优先级为9,SPs的优先级为14。根据上述计算结果得知,SP2的优先级别最高,因此,优先选择SP2为混音SP,备用混音SP为SP3。在上述过程中,由于多个活动节点之间具有互相通知的机制,因此,混音SP的优先级计算以及混音SP的选择均由多个活动节点中的一个活动节点完成即可,例如可以约定以,唯一标识《直(UIN,UniqueIdentificationNumber,又可理解为用户的账号)最小的活动节点进行计算,该节点选择混音SP完毕后,通知其他各个活动节点。例如,当前多人语音会话的P2P系统中,活动节点中PA2的唯一标识值(即PA2的用户账号)最小,则约定由PA2对混音SP进行选择,确定混音SP之后,再由PA2通知PA!和PA3。207:系统中的活动节点将各自的音频数据发送到优先级别最高的混音SP,SP进行混音后,发布混音后数据。根据206中的举例,有语音输入的节点PApPA2、PA3将各自的音频数据发送到SP2,由SP2进行混音后作为发布源发送到系统中。当活动节点收到经过SP混音后的音频数据,混音中包含了自身的音频数据,例如上述活动节点中PA,收到混音后的音频数据,该混音中包含了PAi的音频数据,在实际场景中用户听到自己的回声是一种不好的体验,为了防止这种回声,需要对回声进行消除。回声消除(EC,EchoCancellation)指的是使用硬件或者软件的方法,将网络中的回音消除。本发明实施例中回声消除使用软件的方法,将回声通过EC滤波器消除。需要说明的是,上述活动节点还具有音频信号的采集、播放、编码以及静音检测算法(VAD)功能,均为现有技术,此处不再赘述;SP除了具有普通节点的功能外,还能够管理登录的普通节点、实现节点间信息交换、接收活动节点的音频数据并完成混音以及发布混音后的数据。上述举例以系统中的活动节点是三个为例说明的,当系统中只有一个活动节点PA时,该节点直接通过优先级最高的SP进行混音和混音后发布;两个活动节点的处理方法与三个类似,此处不再赘述。本实施例中各标号只是用于引用方便,并不对各流程的先后顺序造成限定。本实施例以系统中的活动节点数目小于等于三个为例说明实现多路语音混音的方法,在该方法中,所有节点登录到服务器后,服务器通过SP的上报获得SP的能力参数;当节点向服务器请求SP的信息时,服务器向节点返回SP的信息,该信息中包括节点与SP的匹配值,节点通过SP的信息可以获取SP的混音质量参数,并根据SP的混音质量参数得到SP的优先级,由此优先级选择进行混音的SP。在整个工作过程中,节点之间,SP与节点之间均有相互通知的机制,可以实现多节点之间协同工作,本发明实施例提供的实现多路语音混音的方法以若干超级节点SP代替服务器,完成混音、编码以及混音后的数据发布,节省服务器计算以及P务低了服务器成本,并节省带宽资源。实施例三本实施例提供的参与多人语音会话的P2P系统中,假设有语音输入的节点大于等于3个,且小于等于6个(考虑到实际情况中,6个以上的人同时发言在现实生活中也难以分辨),将活动节点分为两组进行混音,分组混音过程中节点间协同工作可以提高系统的效率。例如,当前参与多人语音会话的P2P系统中的活动节点为PA,、PA2、PA3、PA4、PA5,分组过程如下比较PAi的首选SP与PA2~PA5的首选SP,若PA2~PA5中的PAX的首选SP与PAi相同,则将该PAx与PAi分到一组,若有超过两个活动节点与PAj的首选SP相同,则随机选择两个活动节点与PA,—组,剩下的为另外一组。若无活动节点与PA,的首选SP相同,则比较PA2与PA3PA5中的PAX的首选SP,以下依次类推。若所有节点的首选SP均不同,则比较PAi的首选SP与PA2~PA5次选SP,其他步骤同上。为提高效率,如果次选SP查找依然失败,则将活动节点随机分组,不再采用其他算法进行分组。因为在节点数目有限的情况下,再采用其他方式(如进一步比较PAi的次选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,用于接收混音超级节点发送的混音后数据。优选地,该节点i殳备还可以包括请求模块55,用于向服务器请求超级节点的信息;信息维护模块56,用于保存服务器返回的超级节点的信息,该信息中包括节点与超级节点的匹配值。其中,第一获取模块51根据信息维护模块56保存的超级节点的信息获取超级节点的混音质量参数。该节点设备还可以包括状态上报模块57,用于有语音输入的节点向其所属的超级节点上报自身的状态;回声消除模块58,用于从接收的混音音频数据中滤除本地音频数据。本实施例提供的节点设备,通过获取超级节点的混音质量参数并根据该混音质量参数获取超级节点的优先级,进而从超级节点中选择混音超级节点,由混音超级节点实现混音并下发混音后音频数据,实现了通过P2P系统的多节点协同工作完成多人语音,节省服务器的资源。实施例六如图6所示,本实施例提供一种实现多路语音混音的超级节点,该超级节接收模块61,用于接收有语音输入节点的音频数据;混音模块62,用于将有语音输入的节点的音频数据进行混音;发布模块63,用于向节点发布混音后数据。优选地,该超级节点还可以包括参数上报模块64,用于向服务器上报能力参数。通知模块65,用于向当前系统中的其他超级节点通知有语音输入的节点的状态;列表维护模块66,用于保存具有语音输入节点的列表,其中列表由超级节点实时更新;下发模块67,用于将列表下发至自身管理节点中的有语音输入的节点。本实施例提供的超级节点可以管理系统中的普通节点,能够通过多个节点协同工作完成对多路音频数据的混音,并发布混音后的音频数据;P2P系统中的多个超级节点间可以通过通知机制实现信息交换,进而实现多节点协同工作。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1.一种实现多路语音混音的方法,其特征在于,所述方法包括节点获取超级节点的混音质量参数;所述节点中有语音输入的节点根据所述混音质量参数获取所述超级节点的优先级,并根据所述超级节点的优先级从所述超级节点中选择混音超级节点;所述混音超级节点将所述有语音输入的节点的音频数据进行混音后,向所述节点发布混音后数据。2.根据权利要求1所述的方法,其特征在于,所述节点获取超级节点的混音质量参数之前还包括超级节点向服务器上报能力参数;节点向所述服务器请求所述超级节点的信息;所述服务器向所述节点返回所述超级节点的信息,所述信息中包括所述节点与所述超级节点的匹配值。3.根据权利要求2所述的方法,其特征在于,所述节点根据所述超级节点的信息获取所述超级节点的混音质量参数。4.根据权利要求1所述的方法,其特征在于,所述超级节点的信息包括硬件能力、容量带宽、所属运营商身份标识、下线时间。5.根据权利要求3或4所述的方法,其特征在于,所述超级节点的混音质量参数通过<formula>formulaseeoriginaldocumentpage2</formula>得到;其中,Mspi-pj表示节点Pj与超级节点SPi的匹配值,HLspi表示超级节点SPi的硬件能力,CBspi表示超级节点SPi的容量带宽,TLsPi表示超级节点SPj的下线时间,ISPIDSPi-SPID巧I表示超级节点SPj的所属运营商身份标识与节点Pj的所属运营商身份标识作差后取绝对值,,W2,W3,W4为相应的权重值,DSPi_Pj表示节点Pj连接到超级节点SPi的延时,Qspwj表示超级节点SPi的混音质量参数。6.根据权利要求1所述的方法,其特征在于,所述根据所述混音质量参数获取所述超级节点的优先级,并根据所述超级节点的优先级从所述超级节点中选择混音超级节点的步骤具体为根据超级节点的混音质量参数的大小对所述超级节点进行排序,根据排序结果获得所述优先级的划分;选择优先级高的超级节点作为混音超级节点。7.根据权利要求1所述的方法,其特征在于,所述方法还包括在所述节点中,有语音输入的节点向其所属的超级节点上报自身的状态;所述超级节点向混音系统中的其他超级节点通知有语音输入的节点的状态;所述超级节点保存具有语音输入节点的列表,其中所述列表由所述超级节点实时更新;所述超级节点将所述列表下发至自身管理节点中的有语音输入的节点。8.根据权利要求1所述的方法,其特征在于,所述方法还包括对所述节点中有语音输入的节点进行分组混音,经过分组混音后,所述节点接收每组的混音后数据,在播放混音时合成每组的混音后数据。9.一种实现多踏4吾音混音的系统,其特征在于,所述系统包括节点,获取超级节点的混音质量参数;有语音输入的节点根据所述混音质量参数获取所述超级节点的优先级,并根据所述超级节点的优先级从所述超级节点中选择混音超级节点;超级节点,将所述有语音输入的节点的音频数据进行混音后,向所述节点发布混音后数据。10.根据权利要求9所述的系统,其特征在于,所述系统还包括服务器,用于接收所述超级节点上报的能力参数;当所述节点向所述服务器请求所述超级节点的信息时,所述服务器向所述节点返回所述超级节点的信息,所述信息中包括所述节点与所述超级节点的匹配值。11.一种节点,其特征在于,所述节点包括第一获取模块,用于获取超级节点的混音质量参数;第二获取模块,用于根据所述混音质量参数获取所述超级节点的优先级;选择模块,用于根据所述超级节点的优先级从所述超级节点中选择混音超级节点;语音模块,用于接收所述混音超级节点发送的混音后数据。12.根据权利要求11所述的节点,其特征在于,所述节点还包括请求模块,用于向服务器请求所述超级节点的信息;信息维护模块,用于保存所述服务器返回的所述超级节点的信息,所述信息中包括所述节点与所述超级节点的匹配值。13.根据权利要求11所述的节点,其特征在于,所述节点还包括状态上报模块,用于有语音输入的节点向其所属的超级节点上报自身的状态。14.—种实现多路语音混音的超级节点,其特征在于,所述超级节点包括接收模块,用于接收有语音输入节点的音频数据;混音模块,用于将所述有语音输入的节点的音频数据进行混音;发布模块,用于向所述节点发布混音后数据。15.根据权利要求14所述的超级节点,其特征在于,所述超级节点还包括参数上报模块,用于向服务器上报能力参数。16.根据权利要求14所述的超级节点,其特征在于,所述超级节点还包括通知^t块,用于向混音系统中的其他超级节点通知有语音输入的节点的状态;列表维护模块,用于保存具有语音输入节点的列表,其中所述列表由所述超级节点实时更新;下发模块,用于将所述列表下发至自身管理节点中的有语音输入的节点。全文摘要本发明公开了一种实现多路语音混音的方法、系统及节点设备,属于网络通信领域。所述方法包括节点获取超级节点的混音质量参数;节点中有语音输入的节点根据混音质量参数获取超级节点的优先级,并根据超级节点的优先级从超级节点中选择混音超级节点;混音超级节点将有语音输入的节点的音频数据进行混音后,向混音系统中所有节点发布混音后数据。本发明实施例还提供了相应的系统及节点设备。本发明以超级节点代替现有的服务器完成对多路语音数据的混音以及混音后数据的下发,从而节省了服务器成本与带宽资源。文档编号G10L19/00GK101478619SQ20091000032公开日2009年7月8日申请日期2009年1月5日优先权日2009年1月5日发明者静吕申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1