具体实施方式
本发明实施例提供的技术方案涉及媒体控制服务器级联系统及其通信方法和装置。
为了引用和清楚起见,本文中使用的技术名词、简写或缩写总结如下:
H.320,ITU-T Recommendation H.320,Narrow-band visual telephonesystems and terminal equipment,国际电信联盟电信标准部指定的一种标准,此标准规定了基于窄带交换系统上的多媒体通信系统;
H.323,ITU-T Recommendation H.323,Packet-based MultimediaCommunications Systems,国际电信联盟电信标准部指定的一种标准,此标准规定了基于包交换系统下的多媒体通信系统架构;
ITU-T,International Telecommunication Union TelecommunicationStandardization Sector,即:国际电信联盟电信标准部;
IP,Internet Protocol,即:网络协议;
SIP,Session Initiation Protocol,即会话发起协议;
RM,Resource Manager,即多点会议资源管理系统;
UDP,User Datagram Protocol,用户数据报协议;
RDC,Remove Device Control,远程设备控制;
会场,一个进行信息交互的场景,如:与一个终端进行信息交互的场景;
本地会场,一个媒体控制服务器(下文仅以MCU为例说明)与挂载在其下的终端之间进行信息交互的场景;
级联会场,MCU之间进行信息交互的场景。
在目前的会议电视应用中,多点控制单元之间可相互级联,通过召开级联会议,可将不同MCU下的终端会场调度在同一会议中。级联方式如图1所示,其中,MCU1下挂有MCU2和MCU4,MCU2和MCU4下分别挂有MCU3和MCU5。T31~T3m(m为大于1的整数)是MCU3下挂载的会场,T51~T5n(n为大于1的整数)是MCU5下挂载的会场。
其中,每一级MCU的会场都是独立混音,然后将混音码流发送给上一级MCU,由上一级MCU重新解码后继续混音,以此类推。如图2所示,MCU3将各路会场码流送进行解码后,进行混音处理得到混音码流编码后发送给MCU2,由MCU2重新解码、混音、编码,然后再发送给MCU1。
在实现本发明创造的过程中,发明人发现,上述现有技术在每一级的MCU上都需要做音频码流的解码、混音和编码处理,这给音频码流的传输带来延时,并且多次编解码也会对音频码流造成一定的损耗,所述延时和损耗直接影响声音质量。并且,音频码流在级别差别较大的MCU之间传输时,由于传输路径较长、编解码次数较多,给声音质量造成的影响也就越严重。
另外,在级联多画面和电视墙应用方面,现有的MCU级联系统中,各MCU之间同时只能有一路码流加入多画面或者电视墙中,如图2所示,挂载于MCU22下的会场(T1、T3)仅能有一个能够加入MCU21上的多画面或者电视墙中,挂载于MCU23下的会场(T2、T4)仅能有一个能够加入MCU21。也就是说,MCU21上无法同时接收到挂载于其下级MCU下的多个会场的视频码流,导致应用上的缺陷,无法满足用户需求。
另外,各级联MCU之间同时只能支持一路点对点选看,如图3所示,由于MCU31和MCU32之间的仅具备一条级联通道,因此仅能支持T1选看T3或T4,或者T2选看T3或T4,而无法同时支持T1选看T3及T2选看T4,或者T1选看T4及T2选看T3。并且,级联MCU之间同时只能支持一路点对点的摄像机控制。
为了解决上述问题,本发明实施例提供了一种MCU级联系统及该系统的多媒体处理方法和MCU。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种多点控制单元MCU级联系统,该系统包括多个MCU,图4示出了该系统的一种结构形式,包括多个MCU,各MCU在需要传输多路多媒体码流时,建立多条级联通道。
所述多媒体码流可以是音频码流或视频码流或音、视频码流,或者RDC或Telepresence。
下面通过若干应用实例进行说明:
实例一
图5所示级联系统包括多个MCU,分别为MCU51、MCU52和MCU53,MCU51、MCU52和MCU53下面分别挂载有多个会场,其中挂载在MCU51下的会场为T511~T51n,挂载在MCU52下的会场为T521~T52n,挂载在MCU53下的会场为T531~T53n。
本实施例中,MCU51和MCU52之间,及MCU52和MCU53之间的级联通道用于传输音频码流,各种MCU处理音频码流过程有所不同,下面分别介绍:
MCU51的工作过程为:接收会场T511~T51n的音频码流,并进行解码,在解码后的音频码流中选择符合预定条件的音频码流,通过设置于MCU51和MCU52之间的多条级联通道发送给MCU52。
MCU52的工作过程为:接收会场T521~T52n的音频码流及MCU51发送过来的音频码流,对所述会场T521~T52n的音频码流进行解码,在解码后的音频码流及MCU51发送过来的音频码流中选择符合预定条件的音频码流,通过设置于MCU52和MCU53之间的级联通道发送给MCU43。需要说明的是,所述符合预定条件的音频码流数量会根据实际级联通道的数量来选取,也就是说,所述符合预定条件的音频码流数量不会大于实际级联通道数量的。
MCU53的工作过程为:接收会场T531~T53n的音频码流及MCU42发送过来的音频码流,对所述会场T531~T53n的音频码流流进行解码,在解码后的音频码流及MCU52发送过来的音频码流中选择符合预定条件的音频码流,先后进行混音、编码处理后提供给本地会场(T531~T53n)。
在本实施例中,符合所述预定条件的音频码流是指声音较大的音频码流,具体地说,是声音音量超过预定门限的音频码流,音频码流声音音量可以将整条音频码流解码后的裸码流通过包络检测算法计算得出的。
可以看出,本发明实施例中,由于MCU之间可根据需要建立多条级联通道,因此,在音频码流传输过程中,经过的MCU可以不对该音频码流进行混音、编码等操作,而是从包括所述音频码流的多路音频码流中选择几路音频码流直接发送给传输路径上的下一个MCU(上级MCU或下级MCU),由此减小了传输路径上中间各级MCU对音频数据进行混音、编码等操作而导致的传输时延。
另外,上述MCU级联系统中的各MCU还可以通过多条级联通道同时传输多路视频码流。具体的,可以应用于级联多画面和电视墙设置方面及多路点对点选看或控制方面。
本发明实施例公开的MCU级联系统中,MCU之间具有多条级联通道,于是MCU可通过所述多条级联通道同时传输多路视频码流,从而可以解决上述现有技术存在的问题。
下面通过实例二和实例三进行说明:
实例二
级联系统中某MCU上的电视墙设置有多个显示画面,分别对应挂载在与该MCU级联的MCU下的会场,如图6所示的级联系统包括MCU_A、MCU_B、MCU_C和MCU_D,其中,MCU_A连接有多画面电视墙,该多画面电视墙具有4个显示子画面(画面1、画面2、画面3和画面4),各子画面分别与级联会场T1、T2、T3和T4相对应,T1挂载于MCU_B下,T2挂载于MCU_C下,T3、T4挂载于MCU_D下。
其中,各MCU与上级MCU或下级MCU建立有级联通道,MCU_A与MCU_B之间建立有1条级联通道(通道ab),MCU_A和MCU_C之间建立有3条级联通道(通道ac1、ac2和ac3),MCU_C和MCU_D之间建立有2条级联通道(通道cd1和cd2)。
具体而言,各MCU的工作过程大致相同,但同时存在一些区别,下面分别对系统中各MCU的工作过程做详细介绍:
MCU_A的工作过程如下:
收到上级设备(如RM)发送的多画面设置消息后,检查连接于本MCU的会场(包括本地会场和级联会场),具体的检查方式为:从收到的多画面设置消息中所带的子画面数据中获取其标识,然后根据各个子画面会场的标识来确定是否是本MCU上的会场,检查结果指示:没有本地会场,4个级联会场(分别为CsdAB、CsdAC1、CsdAC2、CsdAC3);然后,根据会场的b标识确定各子画面在本MCU上所对应的级联会场,确定结果为:画面1对应CsdAB,画面2、3、4分别对应CsdAC1、CsdAC2、CsdAC3;接着,为各子画面分配对应的级联通道,可以根据预先设定的分配策略进行分配,分配结果为:级联通道ab用于传输画面1,级联通道ac1、ac2、ac3分别用于传输画面2、3、4;此后,将用于指示级联通道与各画面之间的对应关系的设置信息分别给级联通道的另一端设备(MCU_B和MCU_C)。
所述分配策略可以为:
首选已经存在子画面会场码流的级联通道,其次是空闲的子级联通道,再次,通过比较MCU级别来抢占已经使用了的通道,级别高的优先;最后,抢占主级联通道。
经过上述操作后,MCU_A即可接收承载于各级联通道上的视频码流,并传送至相应子画面,进行显示。
MCU_B的工作过程如下:
接收MCU_A发送的设置信息,并检查连接于本MCU的会场,检查结果指示:存在一个本地会场(T1),没有级联会场;然后,确定T1与级联会场CsdAB之间的对应关系,也即将来自T1的视频码流通过级联通道ab传输给MCU_A。另外,由于没有级联会场连,因此无需发送设置信息。
MCU_C的工作过程如下:
接收MCU_A发送的设置信息,并检查连接于本MCU的会场,检查结果指示:存在1个本地会场(T2)和2个级联会场(CsdCD1和CsdCD2);然后,确定各子画面在本MCU上所对应会场,确定结果为:画面2对应T2,画面3和画面4分别对应CsdCD1和CsdCD2;接着,为各子画面分配对应的级联通道,分配结果为:级联通道cd1用于传输画面2,级联通道cd2、cd3、分别用于传输画面3、4;此后,依据所述MCU_A发送的设置信息,确定级联通道cd1与级联通道ac1的对应联系,以及级联通道cd2与级联通道ac2的对应关系,以及级联通道cd3与级联通道ac3的对应关系,即:将T2的码流配置给级联会场CsdAC1,分别将级联会场CsdCD1和CsdCD2的码流配置给CsdAC2和CsdAC3。然后,将用于指示级联通道与各画面之间的对应关系的设置信息分别给级联通道的另一端设备(MCU_D)。
MCU_D的工作过程如下:
接收MCU_C发送的设置信息,并检查连接于本MCU的会场,检查结果指示:存在2个本地会场(T3和T4),不存在级联会场;然后,确定各子画面在本MCU上所对应的会场,确定结果为:画面3对应T3,画面4对应T4;然后,根据MCU_C发送的设置信息,将T3的码流配置给级联会场CsdCD2,将T4的码流配置给级联会场CsdCD3。
从上述各MCU的工作过程可以看出,会场T1的视频码流由MCU_B通过级联通道ab传输给MCU_A,会场T2的视频码流由MCU_C通过级联通道ac1传输给MCU_A,会场T3、T4的视频码流由MCU_D分别通过级联通道cd2和cd3传输给MCU_C,并由MCU_C分别通过级联通道ac2和ac3传输给MCU_A;MCU_A将承载于级联通道ab、ac1、ac2和ac3的视频码流分别传输给RM的画面1、2、3、4,进行显示。MCU可通过建立多条级联通道的方式传输多路视频码流。
另外,MCU之间存在多条级联通道时,可以分为主级联通道和子级联通道两类,主级联通道数量为一条,子级联通道数量可以为一条或多条。例如:MCU_A和MCU_C之间的级联通道ac1、ac2和ac3中,ac1为主级联通道,ac2和ac3为子级联通道;MCU_C和MCU_D之间的级联通道cd1和cd2中,cd1为主级联通道,cd2为子级联通道。
可以认为,所述主级联通道的作用与现有技术中各MCU之间的通道的作用相同,而子级联通道则是用于传输扩展码流的通道。
实例三
本发明实施例提供的MCU级联系统的多级联通道结构还可以解决现有级联系统存在的无法支持多路点对点选看的问题。
如图7所示,MCU_A下挂载有T1、T2和T3,MCU_B下挂载有T4、T5和T6,MCU_A和MCU_B之间设置有多条级联通道(ab1、ab2和ab3)。
上述MCU(MCU_A和MCU_B)根据本地会场发送的选看信息,选择合适的级联通道发送相应的视频码流。
假设需要同时实现T1选看T4,T2选看T5,及T3选看T6,则MCU_A和MCU_B的工作流程分别如下:
MCU_A的工作流程为:
接收选看信息,该选看信息用于指示:T1选看T4,T2选看T5,及T3选看T6;然后,为被选看的会场分配级联通道,分配结果为:ab1用于传输会场T4的视频码流,ab2用于传输会场T5的视频码流,ab3用于传输会场T6的视频码流;并且,建立级联通道与发起选看的会场的对应关系,即将各级联通道上传输的码流配置给发起选看的会场,配置结果为:将ab1的码流配置给会场T1,将ab2的码流配置给会场T2,将ab3的码流配置给会场T3;然后,向MCU_B发送携带用于指示级联通道与被选看会场之间的对应关系的指示信息(也即上述分配结果)。
MCU_B的工作流程为:
接收MCU_A发送的指示信息,该指示信息用于指示:ab1用于传输会场T4的视频码流,ab2用于传输会场T5的视频码流,ab3用于传输会场T6的视频码流;依据该选看信息,将相应会场的码流配置给相应级联通道,配置结果为:会场T4的码流配置给ab1,会场T5的码流配置给ab2,会场T6的码流配置给ab3。
从上述各MCU的工作过程可以看出,通过MCU_A和MCU_B之间的级联通道ab1、ab2和ab3,可同时传输会场T4、T5和T6的码流,实现了会场T1、T2和T3同时分别选看T4、T5和T6的目的,弥补了现有技术的不足。
实施例四
本发明实施例提供的MCU级联系统的多级联通道结构还可以解决现有级联系统存在的无法支持多路点对点的会场设备控制的问题,所述会场设备可以是摄像机、话筒或者其他会场设备,控制原理和过程基本相同,下面仅以摄像机控制为例进行说明。
仍以图7所示的结构为例,假设需要同时实现T1控制T4的摄像机,T2控制T5的摄像机,及T3控制T6的摄像机,MCU_A和MCU_B之间存在级联通道ab1,ab2,ab3;并为各会场分配级联通道,即T1通过ab1控制T4的摄像机,T2通过ab2控制T5的摄像机,T3通过ab3控制T6的摄像机。
则MCU_A和MCU_B的工作流程分别如下:
MCU_A的工作流程为:
接收控制方发送的摄像机控制消息,如:T1发来的控制T4摄像机的消息;然后,查找控制方对应的级联通道,查找结果为:T1对应的级联通道为ab1;接着,将所述摄像机控制消息通过级联通道传输给MCU_B。
MCU_B的工作流程为:
接收所述摄像机控制消息,将T1发来的控制消息发转发给T4。
相应地,MCU_A接收到来自T2或T3的控制消息时,MCU_A和MCU_B的工作流程也类似于接收到T1的控制消息。
上述所有实施例中,MCU建立多条级联通道的方式可以有以下几种:
方式1、MCU根据会场的拨入拨出方式,发起呼叫(建立请求)或接收呼叫,在需要建立多条级联通道时,为每一条级联通道分配一个呼叫,保证呼叫的唯一性。
如图8所示,MCU_A和MCU_B之间需要建立3条级联通道(分别为ab1、ab2、ab3),并为各条级联通道分配不同的呼叫,呼叫1对应ab1,呼叫2对应ab2,呼叫3对应ab3,则可由MCU_A按照顺序发起呼叫:呼叫1、呼叫2、呼叫3,MCU_B接收到所述呼叫,MUC_A和MCU_B进行能力交换成功后,打开相应的媒体流通道,标志MCU_A和MCU_B之间b1、ab2和ab3建立完成。
需要说明的是,根据不同类型的级联会场,保证其呼叫的唯一性的方式也存在不同,例如:对于E1级联会场或4E1级联会场,由于E1是专线,则线路连接可以保证呼叫的一一对应;对于IP级联会场,如果级联会场使用号码定义(即对端MCU的会议接入号),则发送呼叫方和接收呼叫方均使用号码和会场名定义唯一呼叫,例如:当MCU上仅存在一个会议时,如果级联会场使用IP定义,则在发送呼叫或接收呼叫时使用IP匹配来保证呼叫的一一对应。
方式2、通过一路呼叫发起多条级联通道的创建,在能力交换时,通过与对方交换出不同的媒体协议和端口来区分不同的级联通道。
例如:对应于区分主级联通道和子级联通道的情况,主级联通道使用H264CIF协议,端口为100;子级联通道1使用H264CIF协议,端口为101;子级联通道3使用H264CIF协议,端口为102;...以此类推。
方式3、一个UDP连接上复用多种协议的媒体通道:MCU通过自定义UDP中的媒体协议描述头以及扩展RTP包来实现在一个通道中同时传输多种协议的媒体流。对端MCU收到所述媒体流后,通过具体的PayLoad值来识别具体协议的媒体流。
例如:第一个包中UDP媒体协议描述头中定义为:视频,PayLoad值为34,第二个包中UDP媒体协议描述头定义为:音频,PayLoad值为98;...以此类推。
需要说明的是,上述几种建立方式适用但不仅限于H323、H320、SIP等通信协议。
上述实施例公开的MCU级联系统中,各种MCU都属于本发明的保护范畴,下面对各种MCU进行详细描述。
需要说明的是,为了清楚、简要起见,下面实施例仅描述本发明实施例公开的MCU与现有MCU的区别点,而省略与现有的MCU相同或基本相同的特征(例如:解码器、编码器等)。图9示出了一种MCU的结构形式,包括:级联通道建立单元91、码流获取单元92、码流选择单元93和码流发送单元94,其中:
级联通道建立单元91,用于建立与该媒体控制服务器级联系统中的其他媒体控制服务器之间的多条级联通道。
码流获取单元92,用于获取经过解码的多路音频码流。
码流选择单元93,用于从所述经过解码的多路音频码流中选择符合预定条件的多路音频码流。
所述预定条件为:音量大于预定门限。
码流发送单元94,用于将码流选择单元93选择的多路音频码流通过预先建立的多条级联通道发送。
码流获取单元92获取的经过解码的多路音频码流可以为本地会场音频码流,也可以为本地会场音频码流及其他MCU通过多条级联通道发送的多路音频码流的集合码流。
图10示出了另一种MCU的结构形式,包括:级联通道建立单元101、设置信息接收单元102、第一处理单元103、第二处理单元104和设置信息发送单元105;
其中:
级联通道建立单元101,用于建立与该媒体控制服务器级联系统中的其他媒体控制服务器之间的多条级联通道。
设置信息接收单元102,用于依据接收到的上级设备发送的设置信息,该设置信息指示本MCU与所述上级设备之间的级联通道与子画面的对应关系。
第一处理单元103,用于确定各子画面在本MCU上所对应的级联会场,为各子画面分配相应的级联通道,所述级联通道位于本MCU与下级设备之间。
第二处理单元104,用于将各子画面在本MCU上对应的级联会场的码流配置给本MCU与上级设备之间的级联通道中与该子画面相对应的级联通道。
设置信息发送单元105,用于将所述指示本MCU与下级设备之间的级联通道与子画面的对应关系的设置信息发送给所述下级设备。
图11示出了另一种MCU的结构形式,包括:级联通道建立单元111、选看信息接收单元112和第三处理单元113;其中:
级联通道建立单元111,用于建立与该媒体控制服务器级联系统中的其他媒体控制服务器之间的多条级联通道。
选看信息接收单元112,用于接收选看信息,该选看信息携带选看会场标识和被选看会场标识。
第三处理单元113,用于为被选看的会场分配级联通道,并将级联通道的码流配置给相应的发起选看的会场。
本发明还公开另一种MCU,其结构如图12所示,包括:级联通道建立单元121、指示接收单元122和码流配置单元123。
级联通道建立单元121,用于建立与该媒体控制服务器级联系统中的其他媒体控制服务器之间的多条级联通道。
指示接收单元122用于接收指示被选看会场与级联通道对应关系的指示信息,第四处理单元123用于根据该对应关系将被选看会场的码流配置给相应的级联通道。
图13示出了另一种MCU的结构形式,包括:级联通道建立单元131、级联通道分配单元132、会场设备控制消息接收单元133、第五处理单元134,其中:
级联通道建立单元131,用于建立与该媒体控制服务器级联系统中的其他媒体控制服务器之间的多条级联通道。
级联通道分配单元132,用于为各会场分配级联通道。
会场设备控制消息接收单元133,用于接收会场设备控制消息。
第五处理单元134,用于查找与控制方对应的级联通道,将所述会场设备控制消息通过级联通道传输给被控制方的媒体控制服务器。
图14示出了另一种MCU的结构形式,包括:级联通道建立单元141、会场设备控制消息接收单元142、会场设备控制消息转发单元143;
级联通道建立单元141,用于用于建立与该媒体控制服务器级联系统中的其他媒体控制服务器之间的多条级联通道。
会场设备控制消息接收单元142,用于通过级联通道接收会场设备控制消息,
会场设备控制消息转发单元143,用于将所接收到的会场设备控制消息转发给被控制方。
需要说明的是,上述所有实施例所述MCU,包括用于建立多路级联通道的单元,该功能单元的工作过程可参照前文方法部分的描述。针对上述实施例公开的MCU级联系统,MCU对多媒体码流的控制方法也属于本发明的保护范畴,该多媒体码流控制方法主要包括以下几种:
方法1,针对音频码流的控制方法。
请参考图15,为音频码流的控制方法的流程图,包括以下步骤:
步骤S151、接收经过解码后的多路音频码流。
步骤S152、从所述多路音频码流中选择符合预定条件的多路音频码流,并通过预先建立的多条级联通道发送给其他MCU。
具体过程可参考前文实施例一中各MCU的工作过程。
需要说明的是,上述步骤S101中所述解码后的多路音频码流为本地会场音频码流及其他MCU通过多条级联通道发送的多路音频码流的集合。
方法2,针对视频码流的控制方法。
请参考图15,为视频码流的控制方法的流程图,包括以下步骤:
步骤S151、获取多路视频码流。
步骤S152、确定各路视频码流与级联通道之间的对应关系,并通过对应的多条级联通道传输所述多路视频码流。
本方法可以应用于级联多画面和电视墙的设置场景,或者多路点对点选看或者多路点对点控制的场景中,在各应用场景中,具体的过程可能会存在差别,可参考前文实施例二、实施例三和实施例四部分的内容。
本领域技术人员可以理解,可以使用许多不同的工艺和技术中的任意一种来表示信息、消息和信号。例如,上述说明中提到过的消息、信息都可以表示为电压、电流、电磁波、磁场或磁性粒子、光场或以上任意组合。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。
对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。