基于单服务器实现大容量会议服务的系统及方法

文档序号:7863148阅读:251来源:国知局
专利名称:基于单服务器实现大容量会议服务的系统及方法
技术领域
本发明涉及通信技术领域,尤其涉及一种电话会议、语音会议大容量服务的混音、视频优化技术。
背景技术
目前,针对电话会议和视频会议涉及到的音、视频子系统,如何在提升音、视频品质的同时提高并发容量,一直是学术界、技术界积极探索的课题。针对并发容量有采用服务器级联技术实现大规模并发会议需求;也有采用硬件板卡去分担混音给其CPU带来的负载;还有通过P2P (peer-to-peer,即点对点)技术实现超大规模的会议。针对音、视频品质而言,有采用先进的音、视频编解码实现会议的高品质,如采用GIPS (Global IP Sound)语音引擎,它是采用ILBC (Internet Low Bitrate Codec)的编、解码,是一种适合互联网低比特率传输的编、解码技术。视频方面大都采用H. 264或基于多层自适应传输编解码技 术。虽然这些技术在一定程度上满足了大容量会议的需求,同时会议品质也有了一定保证。但是以上技术或策略同样也存在弊端,如服务器级联或通过板卡技术会加剧系统的硬件投入,P2P模式满足了大容量,而P2P天生延迟性的弊端导致在交互性很强的会议系统中体现的尤为明显。因此,如何在低廉的单台服务器下满足大规模、高品质会议需求还是亟需解决的一个技术难题。

发明内容
本发明目的是提供一种基于单服务器实现大容量会议服务的系统及方法,其中采用音、视频优化技术实现了单台服务器下高品质、大容量的会议服务。一种基于单服务器大容量会议服务实现的系统,包括多个与会者客户端和会议服务器,其特征在于所述会议服务器包括多个前置处理单元、一个混音处理模块、一个后置处理单元;所述前置处理单元包括依次连接的缓冲模块、解码模块和降噪模块;所述每个缓冲模块的输入端与一个与会者客户端相连,用于缓冲该与会者客户端的音频数据并输出;所述解码单元将相应与会者客户端缓冲后的音频数据进行编码后转换成线性数据;所述降噪模块用于过滤相应解码单元输出的线性数据中因传输或干扰形成的噪音并输出线性数据至混音处理模块;所述混音处理模块将多个降噪模块送入的线性数据进行时域线性叠加并送入后置处理单元;所述后置处理单元包括一个语音代理模块、多个编码模块以及与编码模块一一对应的多个线性分离模块;所述语音代理模块接收混音模块输出的数据或者直接接收单一发言与会者客户端降噪模块输出的数据,再将上述数据进行缓冲,再根据所有静音状态的与会者客户端支持的解码能力进行分类编码后依次送入相应的与会者客户端;所述每个线性分离模块用于从叠加的线性数据中分离并过滤掉相应与会者客户端自身的音频数据后将余下音频数据送入所对应的编码模块;所述每个编码模块采用互不相同的编码格式,用于将语音代理模块输出的或者线性分离模块线性分离后的数据按照相应的编码格式进行编码后送入具有相应解码能力的一个或多个与会者客户端。上述编码模块包括ULAW/ALAW编码模块、ILBC编码模块和G. 729编码模块中的一种或多种。一种基于单服务器大容量会议服务实现的方法,其特殊之处在于包括音频处理步骤,所述音频处理步骤包括I音频数据的前置处理I. I正在发言的与会者客户端的音频数据通过网络进入会议服务器,单独进行缓冲处理;
·无,则将缓冲后的数据直接进行降噪处理,转至步骤4 ;若有,则转至步骤I. 3 ;I. 3将缓冲处理后的数据进行解码和降噪处理;2音频数据的混音降噪处理后的多个不同与会者客户端音频数据通过线性叠加的方式进行混音;3数据的后置处理会议服务器根据其他与会者的发言或静音状态进行分类处理,其中针对所有静音状态的与会者客户端而言,会议服务器会将混音后的数据发给语音代理模块,转至步骤4 ;针对所有发言状态的与会者客户端,会议服务器依次将混音后的数据通过分离和过滤技术,过滤掉该与会者客户端自身的音频输入数据,然后对过滤后的音频数据根据与会者客户端自身解码能力进行对应编码,并将编码后的数据发送给与会者客户端;4语音代理处理语音代理模块首先将接收到单一发言的与会者客户端降噪后的数据或混音模块输出的数据进行缓冲,然后根据输入数据类型判断,若输入的数据为单一发言的与会者客户端降噪后的数据,则转至步骤5 ;若为混音模块输出的数据则转至步骤6 ;5依次判断所有静音状态的与会者客户端解码能力是否支持发言状态与会者客户端的编码格式,若支持,则直接进行音频数据的转发,若不支持,则进行分类编码,并将编码后的数据分别发送给具有相应解码能力静音状态的与会者客户端;6根据所有静音状态的与会者客户端解码能力分类编码,并将编码后的数据分别发送给具有相应解码能力静音状态的与会者客户端。还包括与音频处理步骤同时进行的视频处理步骤,所述视频处理步骤包括I与会者客户端向会议服务器发送订阅消息,请求订阅另一与会者客户端的视频;2会议服务器接收订阅消息,判断另一与会者客户端是否已经被订阅,若没有订阅,会议服务器向另一个与会者客户端发送开启视频的命令,转步骤3 ;若已订阅,转步骤4 ;3另一与会者客户端接收开启视频的命令后,发送视频帧到会议服务器;4会议服务器按照该视频源与会者客户端的订阅清单逐一转发另一与会者客户端的视频帧给与会者客户端,实现会议服务;5会议服务期间与会者客户端需要切换视频或自身退出会议时,与会者客户端向会议服务器发送取消订阅消息;6会议服务器接收取消订阅消息,判断另一会者客户端是否被其他与会者客户端订阅,若有其他与会者客户端订阅,则从该视频源与会者客户端的订阅清单中删除该取消订阅的与会者客户端的信息,转步骤4;若没有其他与会者客户端订阅,会议服务器向另一与会者客户端发送停止视频的命令;7另一与会者客户端接收停止视频的命令后,停止发送视频帧到会议服务器。本发明的优点I、本发明是混音完后对音频数据进行分类编码,即根据所有与会者客户端协商后的支持解码格式进行分类,这样就把针对每路编码的工作变成针对几大类的编码工作量, 从而可有效地降低由于过多的编码带来的CPU运算。2、本发明针对特定会议场合做了特殊直接转发的策略,如当前会议仅有一人发言,这时不进行混音,会议服务器针对单一发言者不用进行混音,也就不用将其数据线性化,所以可以省去解码、混音步骤。如果其他与会者客户端解码能力是支持发言人编码格式时,直接进行音频数据的转发,若是其他与会者客户端解码能力不支持发言人编码格式时,通过编码转换后再将音频数据分发给与会者客户端。通过这种特殊策略可以显著提高单台服务器会议服务的与会者客户端数量。3、本发明通过增加打开、关闭视频的命令,在需要与会者客户端上传视频时通过发送打开视频的命令,此后与会者客户端再将视频传至服务器。当没人观看某与会者客户端的视频时,通过发送结束视频命令以停止某与会者客户端的视频上传,通过这种“按需发送”的策略可以有效地降低对服务器及客户端的带宽消耗,也减轻了服务器处理视频数据的压力。4、本发明改变了多画面的组合视频模式,因为在网络视频会议中,视频仅作为辅助功能,且相比音频而言消耗了更多的带宽,为此我们引入了用户自主选择视频展现的单画面机制,即用户通过选择想要观看的视频画面,或者通过服务器制定视频转发策略,如统一分派发言人视频、轮询分派会议与会者客户端视频等。通过这种有效地策略我们可以极大地节约服务器端及客户端的带宽和降低合成多画面的CPU负载,从而使得会议音质有好的提升,通过这种策略也为单服务器多并发容量会议服务提供了有利保障。


图I是传统服务器会议混音结构示意图。图2是服务器采用音频优化技术的会议混音结构示意图,其中相比较图I传统服务器混音结构而言,图2结构中针对每路发言信道增加降噪处理。同时与会者客户端若为静音状态,则无需进行缓冲、编码、降噪和混音的过程,仅接收混音模块输出并经语音代理模块处理后的数据。图3是语音代理处理流程示意图。图4是会议处于单一发言者情况下服务器音频处理流程示意图。图5是视频优化转发流程示意图。
具体实施例方式(I)降噪处理模块;噪音的产生是由客户端采集设备引入或数据在网络传输中受到干扰形成,是影响会议品质的罪魁祸首,虽然客户端通过采用静音检测技术可以有效地降低噪音形成,但是传输中出现的噪音却不可避免,尤其在混音叠加后,影响更大。为此我们通过在服务器端针对每个信道通过降噪处理模块过滤掉噪音部分,使得纯音质部分进入混音模块从而提生大容量会议服务的品质。(2)语音代理模块;会议中处于静音状态的与会者客户端不发送语音流,它们需要听到的声音完全相同,就是当前所有发言者的声音。根据混音原理可以得出结论,任意时刻处于静音状态的与会者客户端所要接收的语音流完全相同,是当前所有发言的与会者客户端的混音流。为了降低运算复杂度,可以对处于静音状态的与会者客户端的语音媒体做统一处理和发送。因
此语音代理模块是针对所有静音状态的与会者客户端采用分类编码,减小CPU的负载,从而达到提升并发容量的目的。( 3 )视频优化转发模块;视频优化转发模块主要目的是为了有效降低服务器带宽的消耗。我们通过增加打开、关闭视频的命令,以便达到在确实需要与会者客户端上传视频时通过发送打开视频的命令,从而将视频传至服务器。当没人观看某与会者客户端的视频时,可以通过发送结束视频命令以停止某与会者客户端的视频上传,通过这种“按需发送”的策略可以有效的降低对服务器带宽的消耗。同时我们改变了多画面的组合视频模式,因为在网络视频会议中,视频仅是作为辅助功能,且相比音频而言消耗了更多的带宽,为此我们引入了用户自主选择视频展现的单画面机制,即用户通过选择想要观看的视频画面,或者通过服务器制定视频转发策略,如统一分派发言人视频、轮询分派会议与会者客户端视频等。通过这种有效的策略我们可以极大地节约服务器端及客户端的带宽和降低合成多画面的CPU负载,从而使得会议音质有好的提升,通过这种策略也为单服务器多并发容量会议服务提供了有利保障。如附图I所示描述了传统会议混音的流程和步骤。步骤I :发言状态的与会者客户端进入会议室后,音频数据进入缓冲区,设置缓冲区的目的是为了有效地防止网络抖动、延迟造成的音质下降;步骤2 :从缓冲区出来的数据进入编码转化,因为只有变为线性数据才可以进行混首和置加;步骤3 :编码转换后的数据直接进入混音模块进行混音处理;步骤4 :混音后的数据通过遍历所有与会者客户端并逐一进行线性分离;步骤5 :分离后的数据再根据与会者客户端的解码格式进行编码;步骤6 :将编码后的数据发送给相应与会者客户端;如附图2所示描述了本发明方法的会议中降噪和混音优化的流程和步骤;步骤I :正在发言的与会者客户端的音频数据通过网络进入会议服务器中与其相对应的缓冲模块;
步骤2 :会议服务器判断当前会议是否还有其他正在发言的与会者客户端的音频数据输入,若无(即当前会议就一个发言者),则将缓冲模块出来的数据直接进行降噪处理后,转至步骤10。若有,则转至步骤3;步骤3 :从缓冲模块出来的数据进行编码转换;步骤4 :编码转换后的数据进行降噪处理;步骤5 :降噪处理后的不同发言的与会者客户端音频数据分别送入混音处理模块;步骤6 :混音处理模块进行混音(即音频数据进行线性叠加);步骤7 :判断其他与会者客户端是否为静音状态,若是,则转至步骤8,否则转至步骤9;步骤8 :混音后的数据进入语音代理模块,转至步骤10 ;·步骤9 :混音后的数据进入对应的线性分离模块,通过分离技术过滤掉与会者客户端自身音频输入的数据,然后再根据与会者客户端的解码能力对过滤后的音频数据进行编码,编码后的数据发送给与会者客户端;步骤10 :进入语音代理模块的音频数据首先被放入缓冲模块,然后服务器需要根据所有静音状态与会者客户端所支持的解码能力进行分类,并按照分类对音频数据进行相应的编码。其中针对单一发言的会议情形,若静音状态与会者客户端所支持的解码能力支持单一发言客户端的编码格式,则数据直接进行转发,无需再进行编码操作;步骤11 :针对每个类别编码后的音频数据均逐一发送给所支持解码能力的静音状态与会者客户端。如附图3所示描述了语音代理处理流程和步骤示意。步骤I :从混音模块出来的数据先进入缓冲模块;步骤2 :服务器根据所有静音与会者客户端的解码格式进行分类,然后分别对缓冲模块的数据进行对应的编码;步骤3 :分别将编码后的音频数据按照同类型解码格式转发相同数据的原则逐一发送给对应与会者客户端。如附图4所示描述了特殊会议场合,音频数据直接转发策略的流程和步骤示意,下面具体描述。步骤I :发言状态的与会者客户端进入会议室后,音频数据先进入缓冲区;步骤2 :从缓冲区出来的数据进行降噪处理;步骤3 :降噪处理后的音频数据进入语音代理模块完成数据的转发。如附图5所示描述了会议中视频的优化处理流程和步骤示意,下面具体描述。步骤I :主持人进入会议室,默认打开自身视频发送模块,并在其客户端显示本地视频;步骤2 :与会者客户端进入会议时,不启动自身视频发送模块,默认看到主持人的视频;步骤3 :若与会者客户端I选择查看与会者客户端2的视频,此时服务器需要判断与会者客户端2是否已经被其他与会者客户端订阅其视频,若订阅了,则直接将与会者客户端2的视频持续不断地转发给与会者客户端I。若没有订阅者,则转到步骤3 ;
步骤3 :服务器向与会者客户端2发送开启视频命令,且与会者客户端2客户端启动自身视频模块并向服务器上传视频数据;步骤4 :服务器将收到的视频数据按照视频源的订阅清单逐一转发;步骤5 :与会者客户端I切换视频或者离开会议室时,发送取消订阅原视频的请求(异常掉线情况通过服务器超时检测),此时服务器需要判断原来视频源与会者客户端是否还有其他用户订阅其视频,若没有,则转到步骤6。若有,则简单从该视频源与会者客户端的订阅清单中删除取消与会者客户端的信息,同时针对切换视频的情况下,与会者客户端I的处理转至步骤3,只是此时请求订阅的数据变成其他与会者客户端而已;步骤6 :服务器向与会者客户端2发送停止视频发送命令;
步骤7:与会者客户端2在收到服务器发送的停止命令后,停止向服务器发送视频数据。
权利要求
1.一种基于单服务器大容量会议服务实现的系统,包括多个与会者客户端和会议服务器,其特征在于 所述会议服务器包括多个前置处理单元、一个混音处理模块、一个后置处理单元; 所述前置处理单元包括依次连接的缓冲模块、解码模块和降噪模块;所述每个缓冲模块的输入端与一个与会者客户端相连,用于缓冲该与会者客户端的音频数据并输出;所述解码单元将相应与会者客户端缓冲后的音频数据进行编码后转换成线性数据;所述降噪模块用于过滤相应解码单元输出的线性数据中因传输或干扰形成的噪音并输出线性数据至混音处理模块; 所述混音处理模块将多个降噪模块送入的线性数据进行时域线性叠加并送入后置处理单元; 所述后置处理单元包括一个语音代理模块、多个编码模块以及与编码模块一一对应的多个线性分离模块;所述语音代理模块接收混音模块输出的数据或者直接接收单一发言与会者客户端降噪模块输出的数据,再将上述数据进行缓冲,再根据所有静音状态的与会者客户端支持的解码能力进行分类编码后依次送入相应的与会者客户端;所述每个线性分离模块用于从叠加的线性数据中分离并过滤掉相应与会者客户端自身的音频数据后将余下音频数据送入所对应的编码模块;所述每个编码模块采用互不相同的编码格式,用于将语音代理模块输出的或者线性分离模块线性分离后的数据按照相应的编码格式进行编码后送入具有相应解码能力的一个或多个与会者客户端。
2.根据权利要求I所述的基于单服务器大容量会议服务实现的系统,其特征在于所述编码模块包括ULAW/ALAW编码模块、ILBC编码模块和G. 729编码模块中的一种或多种。
3.一种基于单服务器大容量会议服务实现的方法,其特征在于包括音频处理步骤,所述音频处理步骤包括 I音频数据的前置处理 .1.1正在发言的与会者客户端的音频数据通过网络进入会议服务器,单独进行缓冲处理; .I. 2会议服务器判断当前会议是否还有其他与会者客户端的音频数据输入,若无,则将缓冲后的数据直接进行降噪处理,转至步骤4 ;若有,则转至步骤I. 3 ; I.3将缓冲处理后的数据进行解码和降噪处理; .2音频数据的混音 降噪处理后的多个不同与会者客户端音频数据通过线性叠加的方式进行混音; . 3数据的后置处理 会议服务器根据其他与会者的发言或静音状态进行分类处理,其中针对所有静音状态的与会者客户端而言,会议服务器会将混音后的数据发给语音代理模块,转至步骤4 ;针对所有发言状态的与会者客户端,会议服务器依次将混音后的数据通过分离和过滤技术,过滤掉该与会者客户端自身的音频输入数据,然后对过滤后的音频数据根据与会者客户端自身解码能力进行对应编码,并将编码后的数据发送给与会者客户端; 4语音代理处理 语音代理模块首先将接收到单一发言的与会者客户端降噪后的数据或混音模块输出的数据进行缓冲,然后根据输入数据类型判断,若输入的数据为单一发言的与会者客户端降噪后的数据,则转至步骤5 ;若为混音模块输出的数据则转至步骤6 ; 5依次判断所有静音状态的与会者客户端解码能力是否支持发言状态与会者客户端的编码格式,若支持,则直接进行音频数据的转发,若不支持,则进行分类编码,并将编码后的数据分别发送给具有相应解码能力静音状态的与会者客户端; 6根据所有静音状态的与会者客户端解码能力分类编码,并将编码后的数据分别发送给具有相应解码能力静音状态的与会者客户端。
4.根据权利要求3所述的基于单服务器大容量会议服务实现的方法,其特征在于还包括与音频处理步骤同时进行的视频处理步骤,所述视频处理步骤包括 I与会者客户端向会议服务器发送订阅消息,请求订阅另一与会者客户端的视频; 2会议服务器接收订阅消息,判断另一与会者客户端是否已经被订阅,若没有订阅,会议服务器向另一个与会者客户端发送开启视频的命令,转步骤3 ;若已订阅,转步骤4 ; 3另一与会者客户端接收开启视频的命令后,发送视频帧到会议服务器; 4会议服务器按照该视频源与会者客户端的订阅清单逐一转发另一与会者客户端的视频帧给与会者客户端,实现会议服务; 5会议服务期间与会者客户端需要切换视频或自身退出会议时,与会者客户端向会议服务器发送取消订阅消息; 6会议服务器接收取消订阅消息,判断另一会者客户端是否被其他与会者客户端订阅,若有其他与会者客户端订阅,则从该视频源与会者客户端的订阅清单中删除该取消订阅的与会者客户端的信息,转步骤4;若没有其他与会者客户端订阅,会议服务器向另一与会者客户端发送停止视频的命令; 7另一与会者客户端接收停止视频的命令后,停止发送视频帧到会议服务器。
全文摘要
本发明涉及一种基于单服务器实现大容量会议服务的系统及方法,包括多个与会者客户端和会议服务器,会议服务器包括多个前置处理单元、一个混音处理模块、一个后置处理单元;前置处理单元包括依次连接的缓冲模块、解码模块和降噪模块;每个缓冲模块的输入端与一个与会者客户端相连,用于缓冲该与会者客户端的音频数据并输出;解码单元将相应与会者客户端缓冲后的音频数据进行编码后转换成线性数据。本发明是混音完后对音频数据进行分类编码,即根据所有与会者客户端协商后的支持解码格式进行分类,这样就把针对每路编码的工作变成针对几大类的编码工作量,从而可有效地降低由于过多的编码带来的CPU运算。
文档编号H04N7/15GK102883133SQ20121039632
公开日2013年1月16日 申请日期2012年10月17日 优先权日2012年10月17日
发明者耿小峰, 魏佳, 刘宏仓 申请人:西安融科通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1