具有消息传送系统的视频会议应用用户接口的制作方法

文档序号:6435390阅读:199来源:国知局
专利名称:具有消息传送系统的视频会议应用用户接口的制作方法
技术领域
本发明总的涉及视频会议,更具体地,涉及视频会议应用用户接口和消息传送系统,其中该消息传送系统用于控制被显示在所述用户接口上的视频数据的参量。
背景技术
视频会议牵涉到在几个处于计算机网络上不同位置的用户之间传输实况的、双向互动的视频。实时互动视频需要以延时受到约束的方式来进行大量信息的传输。视频会议的一个缺点是,在某些情形下实时视频传输会极其消耗带宽、以及容易耗尽可用的网络资源。通过网络发送的实时视频的比特速率主要取决于视频资源和所使用的压缩算法。在总体环境下,网络典型地包括通过一个或多个广域网(WAN)耦合的多个局域网(LAN)。典型视频会议系统的限制因素是在地理位置之间的长距离链路(例如,WAN)。
因此,克服现有技术缺陷的视频会议应用用户接口是令人想要的和非常有利的。
发明概要本发明的视频会议应用用户接口和用于控制被显示在所述用户接口上的视频数据的参量的消息传送系统解决了上述的问题和现有技术的其他有关的问题。
按照本发明的一个方面,提供了一种用于构架于网络之上的视频会议系统的回放控制系统。所述回放控制系统包括具有多个显示窗口的用户接口,它允许不同的分辨率和帧速率;以及用于按照个体的显示要求来管理显示和输送特性的消息传送系统。
按照本发明的另一个方面,提供了一种用于视频会议系统的用户接口。所述用户接口包括具有多个显示窗口的视频回放设备,这些显示窗口能够同时被显示并且它们允许不同的分辨率和帧速率。
按照本发明的再一个方面,提供了一种用于构架于网络之上的视频会议系统的服务器。所述服务器包括用于按照个体的显示要求来管理显示和输送特性的消息传送系统。
按照本发明的又一个方面,提供了一种用于显示对应于一个视频会议会话的内容的方法。所述方法包括提供多个显示窗口的步骤,其中这些窗口能够同时被显示并且它们允许不同的分辨率和帧速率。
当结合附图阅读以下优选实施例的详细说明时,将明白本发明的这些和其他方面的特性和优点。
附图简述

图1A是图解说明按照本发明的说明性实施例的、可应用本发明的计算机系统100的方框图;图1B是图解说明按照本发明的说明性实施例的、单播视频会议会话的方框图;图1C是图解说明按照本发明的说明性实施例的、多播视频会议会话的方框图;图2是图解说明按照本发明的说明性实施例的、可应用本发明的网络200的方框图;图3是图解说明按照本发明的说明性实施例的、图2的视频会议服务器205的方框图;图4是图解说明按照本发明的说明性实施例的、用于被包括在图3的数据库实体中的成员数据库314的成员数据库实体400的图;图5是图解说明按照本发明的说明性实施例的、用于被包括在图3的数据库实体302中的现行会话(active session)数据库312的现行会话实体500的方框图;图6是图解说明按照本发明的说明性实施例的、简单网络管理协议(SNMP)客户-服务器结构600的方框图;图7是图解说明按照本发明的说明性实施例的、用于通过使用会话发起协议(SIP)来登记视频会议会话的方法的图;图8A是图解说明按照本发明的说明性实施例的、用于通过使用会话发起协议(SIP)来建立单播视频会议会话的方法的图;图8B是图解说明按照本发明的说明性实施例的、当从客户#1 802接收到INVITE(邀请)请求时(图8A的步骤810),由图2的视频会议服务器205所采取的步骤的图。
图9是进一步图解说明按照本发明的说明性实施例的、图8A的方法的图;图10是图解说明按照本发明的另一个说明性实施例的、用于通过使用会话发起协议(SIP)来建立多播视频会议会话的方法的图11是图解说明按照本发明的说明性实施例的、用于通过使用会话发起协议(SIP)来取消视频会议会话的方法的图;图12是图解说明按照本发明的说明性实施例的、用于通过使用会话发起协议(SIP)来终止在两个客户之间的视频会议会话的方法的图;图13是图解说明按照本发明的说明性实施例的、用于通过使用会话发起协议(SIP)来终止在三个客户之间的视频会议会话的方法的图;图14是图解说明按照本发明的另一个说明性实施例的、用于通过使用会话发起协议(SIP)来终止在三个客户之间的视频会议会话的方法的图;图15是图解说明按照本发明的说明性实施例的、用于分辨率与帧速率调节的信令方法的图;图16是图解说明按照本发明的说明性实施例的、在分辨率与帧速率调节(客户2和3)之前的信令的图;图17是图解说明按照本发明的说明性实施例的、在分辨率与帧速率调节(客户2和3)之后的信令的图;图18A是按照本发明的说明性实施例的、视频会议客户应用1800的方框图;图18B是进一步图解说明按照本发明的说明性实施例的、被包括在图18A的多媒体接口层1802中的音频混合器1899的方框图;图18C是进一步图解说明按照本发明的说明性实施例的、被包括在图18A的多媒体接口层1802中的回声抵消模块1898的方框图;图19是图解说明按照本发明的说明性实施例的、由被包括在音频编解码器1804a和/或视频编解码器1804b任一方中的解码器1890所采用的方法的图;图20是图解说明按照本发明的说明性实施例的、用户平面协议堆栈2000的图;图21是图解说明按照本发明的说明性实施例的、控制平面协议堆栈2100的图;图22是图解说明按照本发明的说明性实施例的、对应于图18A的用户接口1808的屏幕快照(shot)2200的方框图;图23是图解说明按照本发明的说明性实施例的、登录界面2300的方框图24是图解说明按照本发明的说明性实施例的、用于会话发起的用户选择界面2400的方框图;图25是图解说明按照本发明的说明性实施例的、用于接受或拒绝一个进入呼叫的邀请界面2500的方框图;图26是图解说明按照本发明的说明性实施例的、用户接口2600的方框图;以及图27是图解说明按照本发明的另一个说明性实施例的、用户接口2700的方框图。
发明的详细描述本发明是针对于视频会议应用用户接口和消息传送系统,其中该消息传送系统用于控制被显示在所述用户接口上的视频数据的参量。
应当明白,本发明可以以硬件、软件、固件、专用处理器或其组合等各种形式来实施。优选地,本发明被实施为软件与硬件的组合。而且,所述软件优选地被实施为在程序存储装置上有形地体现的应用程序。该应用程序可被上载到包括任何适当结构的机器,并且被该机器执行。优选地,该机器可以在具有如下硬件的计算机平台上被实施,所述硬件是诸如一个或多个中央处理器(CPU)、随机存取存储器(RAM)和输入/输出(I/O)接口。所述计算机平台还包括操作系统和微指令代码。这里描述的各种处理过程和功能可以是微指令代码的一部分或是经由操作系统执行的应用程序的一部分(或它们的组合)。此外,所述的计算机平台可以连接各种其他外围设备,诸如附加数据存储设备和打印设备。
还应当看到,因为在附图中描述的某些作为组成部份的系统部件和方法步骤优选地是以软件实施的,所以在系统部件(或处理步骤)之间的实际连接可以随编程本发明的不同方式而不同。在这里给定教导后,本领域的普通技术人员将能够设想出本发明的这些和类似的实施方案或配置。
图1A是图解说明按照本发明的说明性实施例的、可应用本发明的计算机系统100的方框图。计算机处理系统100包括至少一个处理器(CPU)102,它工作时经由系统总线104被耦合到其他部件。只读存储器(ROM)106、随机存取存储器(RAM)108、显示适配器110、I/O适配器112、用户接口适配器114、声音适配器199、和网络适配器198工作时都被耦合到系统总线104。
显示设备116工作时通过显示适配器110被耦合到系统总线104。盘存储设备(例如,磁盘或光盘存储设备)118工作时通过I/O适配器112被耦合到系统总线104。
鼠标120和键盘122工作时通过用户接口适配器114被耦合到系统总线104。鼠标120和键盘122被使用来向系统100输入信息和从系统100输出信息。
至少一个扬声器(此后简称“扬声器”)197工作时通过声音适配器199被耦合到系统总线104。
(数字和/或模拟)调制解调器196工作时通过网络适配器198被耦合到系统总线104。
现在描述按照本发明的说明性实施例的、基于策略的网络管理(PBNM)。PBNM是一种这样的技术,它提供了定义和分布网络管理策略的能力(下面参照图2描述可应用本发明的示例性网络)。这些策略允许协调控制关键的网络资源,诸如带宽和安全性。PBNM使得诸如基于IP的视频会议那样的、需要在网络上区别地对待的应用能够实现。PBNM提供了允许在单个网络上共同存在着不同类型的应用的基础,以及将所需要的资源提供给这些应用中的每一个。
更详细地,PBNM为消耗网络资源的应用和用户定义策略。例如,可以给予商业关键应用以网络上最高的优先权和带宽百分率,可以给予IP上的视频会议和话音以次高优先权,而最后可以把网络上剩余的资源量给予没有严格的带宽或时间关键性约束的万维网业务与文件传送。对用户和应用的这种区分可以通过使用PBNM来完成。
视频会议系统通过向网络策略服务器询问对应于视频会议应用的策略而连接到PBNM系统中。视频会议服务器从网络策略服务器得到所述的策略,以及根据接收到的参量来确定在网络中可供视频会议使用的资源。所述的策略典型地对应于例如这个应用在一天的某些时间内可利用的带宽、或仅仅某些用户可利用的带宽。通过例如对所述策略和/或它们的一部分进行添加、删除、替代、修正等,可以容易地修正配置。结果,视频会议服务器将使用在所述策略中提供的信息来管理网络上的会议会话。
图2是图解说明按照本发明的说明性实施例的、可应用本发明的网络200的方框图。网络200包括视频会议服务器205;策略和QoS管理器210;MADCAP服务器215;第一多个计算机220a-f;第一局域网225;第一路由器240;第二多个计算机230a-f;第二局域网235;第二路由器245;和广域网250。
现在描述按照本发明的说明性实施例的服务器结构。图3是图解说明按照本发明的说明性实施例的、图2的视频会议服务器205的方框图。视频会议服务器205可被认为包括以下的三个基本实体;数据库实体302;网络通信实体304;以及会话管理实体306。
会话管理实体306负责管理视频会议会话的建立和拆除。会话管理实体306也提供对于视频会议服务器205的大多数主要的控制。会话管理实体306包括会话管理器320,它用于实施会话管理实体306的功能。
网络通信实体304负责封装用于所述视频会议系统的多种不同的协议。这些协议可包括用于远程管辖和管理的简单网络管理协议(SNMP);公共开放策略服务(COPS)或另一个协议,诸如用于策略管理的轻型目录访问协议(LDAP);用于多播地址分配的多播地址动态客户分配协议(MADCAP);用于视频会议会话管理的会话发起协议(SIP);和用于分布式视频会议服务器管理的服务器到服务器消息传送。因此,网络通信实体304包括SNMP模块304a;LDAP客户模块304b;MADCAP客户模块304c;SIP模块304d;和服务器到服务器管理模块304e。而且,上述的单元304a-e分别与以下单元通信远端管辖终端382;网络策略服务器(带宽代理)384;MADCAP服务器215;桌上会议客户388;和其他视频会议服务器390。这样的通信也可以通过使用由协议模块330集中代表的传输控制协议(TCP)、用户数据报协议(UDP)、互联网协议(IP)来实施。应当看到,上述的协议列表和相应的单元仅仅是说明性的,因此,可以采用其他协议和相应的单元而同时保持本发明的精神和范围。
还应当看到,视频会议服务器205的结构也适用于便携式设备上的用户通过虚拟专用网(VPN)连接到公司基础设施(corporateinfrastructure),以便发送和接收来自视频会议会话的内容。
数据库实体302包括以下四个数据库调度数据库310,现行会话数据库312,成员数据库314,和网络结构数据库316。
视频会议系统服务器205还包括公司LDAP服务器(用户信息)340和可任选的外部数据库342,或至少与它们相连接。所述可任选的外部数据库342包括LDAP客户304b。
现在描述按照本发明的说明性实施例的、图3的数据库实体302中所包括的成员数据库314。成员数据库314包括已登录到所述视频会议系统的每个用户的信息。作为例子,在成员数据库314中可为每个用户保存以下的信息用户名;密码(如果可应用的话);支持的视频编解码器和捕获分辨率;支持的音频编解码器;当前的IP地址;当前的呼叫号码(如果当前是一个活动呼叫的成员);可得到性(可得到或不可得到);视频摄像机类型和型号;在网络上的位置(每个位置通过有限带宽广域网链路被连接);以及CPU类型和处理能力。应当看到,上述的项目仅仅是说明性的,因此在保持本发明的精神和范围的同时,在成员数据库314中也可以为每个用户保存上述项目以外的、或代替了上述项目中的一部分或全部的其他项目。
图4是图解说明按照本发明的说明性实施例的、用于被包括在图3的数据库实体302中的成员数据库314的成员数据库实体400的方框图。在图4的说明性实施例中,成员数据库314是通过使用简单的链接列表被实施的。然而,应当看到,在本发明的其他实施例中,在保持本发明的精神和范围的同时可以采用与成员数据库314不同的实施方案。作为例子,LDAP类型的数据库可以被用来存储所述的成员信息。
现在描述按照本发明的说明性实施例的、图3的数据库实体302中所包括的现行会话数据库312。现行会话数据库312包括当前正在进行的每个视频会议会话的信息。作为例子,在现行会话数据库312中可为每个呼叫保存以下的信息呼叫ID;说明;多播(是/否);如果是多播,则是多播IP地址;每个参与者的网络位置、当前发送的分辨率、当前发送的比特速率、视频与音频编解码器;公共/专用呼叫(其他人能加入吗?);安排的会话时间;会话开始时间;以及任何附加的选项。应当看到,上述的项目仅仅是说明性的,因此在保持本发明的精神和范围的同时,在现行会话数据库312中也可以为每个用户保存上述项目以外的、或代替了上述项目中的一部分或全部的其他项目。
图5是图解说明按照本发明的说明性实施例的、图3的数据库实体302中所包括的现行会话数据库312的现行会话实体500的方框图。在图5的说明性实施例中,现行会话数据库312是通过使用简单的链接列表来实施的。然而,应当看到,在本发明的其他实施例中,在保持本发明的精神和范围的同时可以采用与现行会话数据库312不同的实施方案。
现在再次参照图3来描述按照本发明的说明性实施例的、图3的数据库实体302中所包括的网络结构数据库316。网络结构数据库316包括整个网络的全部映射。网络结构数据库316包括每个正工作的网络单元(即,IP路由器,以太网交换机,等等)的信息和那些把路由器与交换机连接在一起的链路的信息。为了有效地管理网络中的带宽与服务质量,视频会议服务器205需要知道这个信息。
关于允许同时进行的视频会议会话的数目、视频会议会话比特速率、和带宽限制的策略信息也可以在网络结构数据库316中被定义。网络结构可以在网络结构数据库316内被表示为加权的图。应当看到,网络结构数据库316是在视频会议服务器205中的一个可选的数据库。网络结构数据库316可被使用来超高速缓存从策略服务器210请求到的策略。
现在描述按照本发明的说明性实施例的、图3的数据库实体302中所包括的调度数据库310。调度数据库310包含为用户预留时间以使用视频会议系统的调度表。这取决于策略,例如,信息系统部门处在关注在广域网250的某些链路上可以同时进行的视频会议会话的数目的位置。
现在描述图3的网络通信实体304。网络通信实体304包括简单网络管理协议(SNMP)模块304a;轻型目录访问协议(LDAP)客户模块304b;多播地址动态客户分配协议(MADCAP)客户模块304c;会话发起协议(SIP)模块304d;和服务器到服务器管理模块304e。
现在描述按照本发明的说明性实施例的、图3的网络通信实体304中所包括的简单网络管理协议(SNMP)模块304a。图6是图解说明按照本发明的说明性实施例的、简单网络管理协议(SNMP)客户-服务器结构600的方框图。结构600代表SNMP模块304a的一个实施方案;然而,应当看到,本发明并不限于图6所示的结构,因此在保持本发明的精神和范围的同时也可以采用其他SNMP结构。SNMP将被使用于视频会议服务器的远程管辖和监视。
简单网络管理协议(SNMP)客户-服务器结构600包括SNMP管理站610和SNMP管理的实体620。SNMP管理站610包括管理应用610a和SNMP管理器610b。SNMP管理的实体620包括被管理的资源620a,被管理的对象620b,和SNMP代理620c。而且,SNMP管理站610和SNMP管理的实体620的每一个还包括UDP层630,IP层640,媒体接入控制(MAC)层650,和物理层660。
SNMP代理620c允许来自SNMP管理站610的监视和管辖。SNMP代理620c是SNMP结构600中的客户。SNMP代理620c基本上起这样的作用,即响应来自SNMP管理站610的关于信息和动作的请求。SNMP管理站610是SNMP结构600中的服务器。SNMP管理站610是对网络中的代理进行管理的中央实体。SNMP管理站610起到这样的功能,即允许管辖者从SNMP代理620c处收集统计资料和改变SNMP代理620c的配置参量。
通过使用SNMP模型,能以把视频会议服务器205中的资源表示为对象的方式而对这些资源进行管理。每个对象是一个数据变量,它代表所述被管理的代理的一个方面。这个对象的集合通常被称为管理信息库(MIB)。所述的MIB在SNMP代理620c处起用于SNMP管理站610的一个接入点集合的作用。SNMP管理站610能够通过检索SNMP代理620c中的MIB对象的值从而执行监视。SNMP管理站610也能够使一个动作在SNMP代理620c处发生,或者能够改变SNMP代理620c处的配置设定。
SNMP在IP层640上运行,以及使用UDP层630用于它的输送协议。
在SNMP管理协议中使用的基本消息如下GET(得到);SET(设置);和TRAP(捕捉)。GET消息使得SNMP管理站610能够取回SNMP代理620c处对象的值。SET消息使得SNMP管理站610能够设置SNMP代理620c处对象的值。TRAP消息使得SNMP代理620c能够把重要的事件通知给SNMP管理站610。
现在描述按照本发明的说明性实施例的、在SNMP管理的实体620中所包括的SNMP管理的资源620a。远程管辖可监视和/或控制视频会议服务器205内以下的资源现行会话和相关的统计资料;会话日志;用于视频会议的网络策略;会话发起协议(SIP)参量和统计资料;以及MADCAP参量和统计资料。
从SNMP管理站610以管理应用的名义发出以下三种类型的SNMP消息GetRequest(得到请求);GetNextRequest(得到下一个请求);和SetRequest(设置请求)。头两个是GET(得到)功能的变体。全部三个消息由SNMP代理620c以GetResponse(得到响应)消息的形式进行应答,该消息被上传到管理应用610a。SNMP代理620c也可以响应于在被管理的资源中发生的事件而发出一个捕捉消息。
现在再次参照图3来描述按照本发明的说明性实施例的、在图3的网络通信实体304中所包括的轻型目录访问协议(LDAP)客户模块304b。LDAP模块304b利用LDAP,LDAP是一种用于访问公共目录信息的基于标准IP的协议。LDAP定义了用于访问和修正目录项目的操作,诸如搜索满足用户特定准则的项目;加上项目;删除项目;修正项目;和比较项目。
现在描述按照本发明的说明性实施例的、在图3的网络通信实体304中所包括的多播地址动态客户分配协议(MADCAP)客户模块304c。MADCAP客户模块304c利用MADCAP,MADCAP是一种允许主机向多播地址分配服务器请求多播地址分配服务的协议。当视频会议会话被建立以便使用多播服务时,视频会议服务器205需要得到多播地址,以便分配给该会话中的客户。视频会议服务器205可通过使用MADCAP协议从多播地址分配服务器动态地得到多播地址。
现在描述按照本发明的说明性实施例的、在图3的网络通信实体304中所包括的会话发起协议(SIP)客户模块304d。SIP模块304d利用SIP,SIP是一种用于在基于IP的网络上创建、修正和终止具有一个或多个参与者的多媒体会话的应用层控制协议。SIP是基于文本消息的协议。
在基于SIP的视频会议系统中,每个客户和服务器由一个SIP URL标识。所述SIP URL采用user@host的形式,它具有与电子邮件相同的格式,并且在大多数情形下SIP URL是用户的电子邮件地址。
现在描述按照本发明的说明性实施例的、在图3的网络通信实体304中所包括的服务器到服务器管理模块304e。服务器到服务器管理模块304e利用那些用于在视频会议服务器之间交换信息的消息。服务器到服务器管理模块304e优选地在典型的配置中被利用,其中唯一的视频会议服务器(例如,视频会议服务器205)在它所支持的网络(例如,LAN 225)被本地建立,所以在一个公司广域网(例如,网络200)中可以存在几个视频会议服务器。用于交换信息的所述消息的某些主要用途包括同步数据库和检验网络资源的可用性。
定义了以下的消息QUERY-询问在远端服务器中的一个项目;ADD-把一个项目加到远端服务器;DELETE-从远端服务器中删除一个项目;以及UPDATE-更新远端服务器中的一个项目。
服务器到服务器消息传送可以使用在每个服务器之间的基于TCP的连接。当一个服务器的状态改变时,其余的服务器用同一个信息进行更新。
现在描述按照本发明的说明性实施例的、视频会议服务器205的工作情形。首先,描述对应于视频会议会话建立的工作情形,接着描述对应于在视频会议会话期间分辨率和帧速率调节的工作情形。会话工作情形包括SIP服务器发现,成员登记,会话建立,会话取消,和会话终止。
现在描述按照本发明的说明性实施例的、对应于SIP服务器发现的会话工作情形。用户(视频会议客户应用)可以登记到预配置的视频会议服务器(人工供应的)或通过在启动时发送一个REGISTER(登记)请求到熟知的“全SIP服务器”多播地址“sip.mcast.net”(224.0.1.75)而进行登记。第二种机制(REGISTER请求)是更可取的,因为它不需要每个用户在他们的视频会议客户应用中人工配置本地SIP服务器的地址。在这种情形下,所述多播地址的范围需要被正确地划定在该网络中,以便确保用户为了视频会议而登记到正确的SIP服务器。除了先前的方法以外,在使供应过程更简单的另一个方法中,SIP技术说明建议管辖者通过使用sip.域名惯例来命名它们的SIP服务器(例如,sip.princeton.tce.com)。
现在描述按照本发明的说明性实施例的、对应于成员登记的会话工作情形。图7是图解说明按照本发明的说明性实施例的、用于通过使用会话发起协议(SIP)来登记视频会议会话的方法的图。图7的例子包括视频会议客户应用(客户)702和视频会议服务器(服务器)205。应当看到,词组“客户应用”和“客户”在这里可互换地使用。
在成员登记功能中,客户702把SIP REGISTER请求发送到服务器205(步骤710)。服务器205接收这个消息并把客户702的IP地址和SIP URL存储在成员数据库314中。
REGISTER请求可以包含消息主体,虽然在标准中并未定义它的用途。所述消息主体可包含有关正登记到服务器205的客户702的配置选项的附加信息。
服务器205通过发送200OK(许可)消息到客户702从而对该登记进行应答(步骤720)。
现在描述按照本发明的说明性实施例的单播和多播视频会议会话。图1B和1C是分别图解说明按照本发明的两个说明性实施例的、单播视频会议会话和多播视频会议会话的方框图。图1B和1C的例子包括客户1 130,客户2 132,客户3 134,以太网交换机136,IP路由器138,IP路由器140和WAN 142。
在单播例子中,唯一的流从每个客户发送到每个其他客户。这样的方法在较多参与者加入该网络时会消耗大量带宽。相反,在多播方法中,仅仅从每个客户处发送一个流。因此,与单播方法相比较,多播方法消耗较少的网络资源,诸如带宽。
现在描述按照本发明的说明性实施例的、对应于单播视频会议会话建立的会话工作情形。图8A是图解说明按照本发明的说明性实施例的、用于通过使用会话发起协议(SIP)来建立单播视频会议会话的方法的图。图8A的例子包括视频会议客户应用#1(客户#1)802,视频会议服务器(服务器)205,和视频会议客户应用#2(客户#2)806。
从客户#1 802把一个INVITE(邀请)请求发送到服务器205(步骤810)。从服务器205把该INVITE请求转发到客户#2 806(步骤815)。
从客户#2 706把一个180振铃消息发送到服务器205(步骤820)。从服务器205把该180振铃消息转发到客户#1 702(步骤825)。
从客户#2 706把一个200OK消息发送到服务器205(步骤830)。从服务器205把该200OK消息转发到客户#1 702(步骤835)。
从客户#1 702把一个确认消息ACK发送到客户#2 706(步骤840)。在两个节点(客户#1 802与客户#2 806)之间进行视频会议会话(媒体会话)(步骤845)。
图8B是图解说明按照本发明的说明性实施例的、当从视频会议客户应用#1 802接收到INVITE(邀请)请求时(图8A的步骤810),由视频会议服务器205所采取的步骤的图。
服务器205初始地进行检查,以查明进行请求的用户(客户#1 802)是否登记到服务器205,接着它再检查,以查明正在被呼叫的用户(客户#2 806)是否登记到服务器205(步骤850)。
服务器205确定每个用户在网络上的位置(步骤855)并确定是否有低带宽的WAN链路(例如,WAN 250)连接着它们的两个位置(如果不同的话)(步骤860)。
如果没有低带宽链路WAN把这两个位置连接在一起,则服务器205接下来进行呼叫(步骤865)。然而,如果在两个用户之间有低带宽链路,则该方法进到步骤870。
在步骤870,服务器205检查在WAN上的视频会议会话策略;这基本上翻译为“可以以最大比特速率Y发生X个会话”。服务器205根据这个策略来检查可用性(步骤875)。如果没有可用性,则服务器205通过发送以下任一消息来回绝该INVITE请求,其中所述消息有“600_到处都忙”、“486_这里忙”、“503_服务不可用”、或“603_拒绝”(步骤880),于是该方法终止(不用继续进到图8A的方法的步骤815)。然而,如果有可用性,则服务器205接下来进行呼叫(步骤865)。应当看到,步骤865后面接着进行图8A的方法的步骤815。
图9是进一步图解说明按照本发明的说明性实施例的、图8A的方法的图。图9的例子包括客户应用1 998,客户应用2 997,视频会议服务器205,和其他视频会议服务器986。图9上还显示了视频服务器205的单元,包括成员数据库314,现行会话数据库312,被包括在网络结构数据库316中的策略数据库999,会话管理器320,SIP模块304d,和服务器到服务器管理模块304e。
图9被提供用来描绘在视频会议服务器205内的内部互动,因此只是以基本级别被显示,以提供在视频会议服务器205的这些实体之间的信令流的例子。
从客户应用1 998把一个INVITE请求发送到视频会议服务器205内的SIP模块304d(步骤903)。SIP模块304d解码该消息,并把该INVITE请求转发到会话管理器320(步骤906)。会话管理器320检查网络结构数据库316内的现行会话数据库312、成员数据库314、和策略数据库999,以确保该会话能够被正确地建立(分别为步骤909,912,和915)。如果该会话能够被正确地建立,则现行会话数据库312、成员数据库314、和策略数据库999发送一个OK消息到会话管理器320(步骤918,921,和924)。一旦这个验证过程完成,视频会议服务器205就把系统状态的改变通知其他视频会议服务器(步骤927和930)。
会话管理器320把INVITE消息转发到SIP模块304d(步骤933),然后SIP模块304d把该INVITE消息转发到客户应用2 997(步骤936)。刚一接收到该INVITE消息,客户应用2 997就用一个表示SIP模块304d已接收到该INVITE消息的180 Ringing(振铃)消息来应答SIP模块304d(步骤939)。该180 Ringing消息被SIP模块304d接收、解码,然后转发到会话管理器320(步骤942)。在视频会议服务器205内的如图9所示的每个数据库中,该客户的状态被更新(步骤945,948,951,954,957,和958)。
该180 Ringing消息被从会话管理器320转发到客户应用1 998(步骤960和963)。然后,从客户应用2 997发送一个200OK消息到SIP模块304d(步骤966),接着该200OK消息被从SIP模块304d转发到会话管理器320(步骤969)。该200OK消息表示客户应用2 997正接受所述的视频会议会话的邀请。
在视频会议服务器205内的如图9所示的每个数据库中,该客户的状态被更新(步骤972,975,978,981,984,和985)。从会话管理器320发送一个OK消息到SIP模块304d,并从SIP模块304d把该OK消息转发到客户应用1 998(步骤988和991)。从客户应用1 998发送一个ACK消息到客户应用2 987,从而完成该会话的建立(步骤994)。
现在描述按照本发明的说明性实施例的、对应于多播视频会议会话建立的会话工作情形。为了提供多播会话的建立,使用会话描述协议(SDP)。SDP协议能够输送多播地址和端口号码。
多播会话的建立类似于单播会话的建立,只是需要一个多播地址。多播地址由该网络中MADCAP服务器215分配。
图10是图解说明按照本发明的另一个说明性实施例的、用于通过使用会话发起协议(SIP)来建立多播视频会议会话的方法的图。图10的例子包括视频会议客户应用#1(客户#1)1002,视频会议服务器(服务器)205,视频会议客户应用#2(客户#2)1006,和MADCAP服务器215。
从客户#1 1002发送一个INVITE请求到服务器205(步骤1010)。从服务器205发送一个MADCAP请求到MADCAP服务器215(步骤1015)。从MADCAP服务器215发送一个确认消息ACK到服务器205(步骤1020)。从服务器205把该INVITE请求转发到客户#2 1006(步骤1025)。
从客户#2 1006发送一个180振铃消息到服务器205(步骤1030)。从服务器205把该180振铃消息转发到客户#1 1002(步骤1035)。
从客户#2 1006发送一个200OK消息到服务器205(步骤1040)。从服务器205把该200OK消息转发到客户#1 1002(步骤1045)。
从客户#1 1002发送一个确认消息ACK到客户#2 1006(步骤1050)。在两个节点(客户#1 1002与客户#2 1006)之间进行视频会议会话(媒体会话)(步骤1055)。
现在描述按照本发明的说明性实施例的、对应于视频会议会话取消的会话工作情形。CANCEL(取消)消息被使用来终止待决的会话建立尝试。客户可以使用这个消息来取消该客户早先发起的待决的视频会议会话建立尝试。服务器把该CANCEL消息转发到与待决请求相同的位置,该位置是INVITE被发送到的位置。客户不应当用“200OK”消息来应答该CANCEL消息。如果该CANCEL消息不成功,则可以使用会话终止序列(即,BYE(再见)消息)。
图11是图解说明按照本发明的说明性实施例的、用于通过使用会话发起协议(SIP)来取消视频会议会话的方法的图。图11的例子包括视频会议客户应用#1(客户#1)1102,视频会议服务器(服务器)205,和视频会议客户应用#2(客户#2)1106。
从客户#1 1102发送一个INVITE请求到服务器205(步骤1110)。从服务器205把该INVITE请求转发到客户#2 1106(步骤1115)。
从客户#2 1106发送一个180振铃消息到服务器205(步骤1120)。从服务器205把该180振铃消息转发到客户#1 1102(步骤1125)。
从客户#1 1102发送一个CANCEL消息到服务器205(步骤1130)。从服务器205把该CANCEL消息转发到客户#2 1106(步骤1135)。
现在描述按照本发明的说明性实施例的、对应于终止视频会议会话的会话工作情形。图12是图解说明按照本发明的说明性实施例的、用于通过使用会话发起协议(SIP)来终止在两个客户之间的视频会议会话的方法的图。图12的例子包括第一客户(视频会议客户应用#1)1202,视频会议服务器(服务器)205,和第二客户(视频会议客户应用#2)1206。
客户#1 1202决定中断与客户#2 1206的呼叫。因此客户#1 1202发送一个BYE消息到服务器205(步骤1210)。服务器205把该BYE消息转发到客户#2 1206(步骤1220)。
客户#2 1206把一个200OK消息发回到服务器205,这表示它(客户#2 1206)已断开连接(步骤1230)。服务器205把该200OK消息转发到客户#1 1202,这表示成功地断开连接(步骤1240)。
图13是图解说明按照本发明的说明性实施例的、用于通过使用会话发起协议(SIP)来终止在三个客户之间的视频会议会话的方法的图。图13的例子包括第一客户(视频会议客户应用#1)1302,视频会议服务器(服务器)205,第二客户(视频会议客户应用#2)1306,和第三客户(视频会议客户应用#3)1308。
客户#1 1302决定中断与客户#2 1306和客户#3 1308的呼叫;但这并不拆除在客户#2 1306与客户#3 1308之间的会话。
客户#1 1302发送一个BYE消息到服务器205(步骤1310)。服务器205解译该BYE消息从而知道客户#2 1306和客户#3 1308牵涉到与客户#1 1302的视频会议会话中,于是把该BYE消息转发到客户#2 1306和客户#3 1308(步骤1320和1330)。
客户#2 1306把一个200OK消息发回到服务器205(步骤1340)。服务器205把该200OK消息转发回客户#1 1302(步骤1350)。客户#3 1308把一个200OK消息发回到服务器205(步骤1360)。服务器205把该200OK消息转发回客户#1 1302(步骤1370)。
图14是图解说明按照本发明的另一个说明性实施例的、用于通过使用会话发起协议(SIP)来终止在三个客户之间的视频会议会话的方法的图。图14的例子包括第一客户(视频会议客户应用#1)1402,视频会议服务器(服务器)205,第二客户(视频会议客户应用#2)1406,和第三客户(视频会议客户应用#3)1408。
客户#1 1402决定中断与客户#2 1406和客户#3 1408的呼叫;但这并不拆除在客户#2 1406与客户#3 1408之间的会话。
客户#1 1402把一个打算给客户#2 1406的BYE消息发送到服务器205(步骤1410)。服务器205把该BYE消息转发到客户#2 1406(步骤1420)。客户#1 1402把一个打算给客户#3 1408的BYE消息发送到服务器205(步骤1430)。服务器205把该BYE消息转发到客户#3 1408(步骤1440)。
客户#2 1406把一个200OK消息发回到服务器205(步骤1450)。服务器205把该200OK消息转发回客户#1 1402(步骤1460)。客户#3 1408把一个200OK消息发回到服务器205(步骤1470)。服务器205把该200OK消息转发回客户#1 1402(步骤1480)。
除了参照图12到14所描述的以上的例子之外,终止可以通过传送所述BYE消息到属于所述视频会议用户的多播组地址从而被调用。通过使用这个方法,所述服务器与其他客户应用将接收该消息。由于与这个方法有关的开销较低,所以它是用于终止会话的更通用和更有效的机制。
现在描述按照本发明的说明性实施例的、对应于分辨率与帧速率调节的工作情形。视频会议牵涉到在计算机网络的不同位置处的几个用户之间传输实况的、双向互动的视频。实时互动视频需要在延时受约束的情况下传输大量的信息。这要求视频会议系统所依赖的计算机网络必须能够为会话中涉及到的每个用户提供适当的带宽量和服务质量。由于带宽有时可以是有限的资源,而服务质量并不是在所有的网络中总能得到保证,所以,将存在某些限制。在专有的公司网络中,有可能保证服务质量,但常常不能保证大的带宽量。
基本公司计算机网基础设施包括通过低速链路被连接在一起的几个高速局域网(LAN)(详见例如图2)。所述高速LAN中的每一个通常代表在单个地理位置处的网络基础设施,而低速链路是把多个地理位置连接在一起的长距离链路。使用低速链路的原因是因为长距离链路的成本相当高以及大多数网络业务通常在局域网内本地化,所以通常不在这些长距离链路上交换大量的数据。
在基于IP的网络上的服务质量的最新进展现在提供一种允许在这些网络上传输其他类型的信息的手段。这为在基础设施上除了传输非实时数据业务以外还传输实时信息(即,音频和视频)打开了大门。利用网络服务质量优势的视频会议业务很适合于重叠在这个基础设施上。在两个不同的地理位置处的两个用户现在有可能出现在一个实时视频会议会话中。视频会议会话的一个缺点是,实时视频的传输会消耗极大的带宽量以及容易耗尽可用的网络资源。通过网络传输的实时视频的比特速率主要取决于视频资源和所使用的压缩算法。典型地,在不同的地理位置处的两个、三个、或四个用户之间的一个视频会议会话在具有合理的带宽量的网络上可以得到适当的支持。然而,存在这样的情况,通常,由于带宽限制,除视频会议会话中四个用户以外的另外的用户不能得到支持,而且第二个视频会议会话也不能得到支持。视频会议系统的受限因素是在地理位置之间的低速长距离链路。
一个可能的解决方案是增加在两个地理位置之间的长距离链路的带宽,以便支持系统中更多的用户。这个方法的缺点在于,带宽是非常昂贵的。第二种解决方案是具有一个系统,其中只有视频会议会话中的有限数量的用户(即,主动用户)被允许以高分辨率和高比特速率进行发送,而会话中的其余的用户(即,被动用户)只能以受限制的分辨率和受限制的比特速率进行发送。视频会议会话组织者将控制哪些用户以高分辨率发送和哪些用户以低分辨率发送。如果一个用户在会话中没有主动谈话或互动,则不需要以高分辨率发送他们的视频。这样的方法能够提供带宽的巨大数量的节省。
提前参照图18A的视频会议客户应用1800,这个方案包括在支持各种窗口尺寸(即,代表高分辨率和低分辨率解码的视频流的不同尺寸的显示窗口)的视频会议客户应用1800中具有用户接口1808和消息传送系统1842(被包括在网络实体1806中,而网络实体1806又被包括在图18A的视频会议客户应用1800中),消息传送系统1842规定在服务器205与其他客户的应用之间的通信。消息传送系统1842将包括控制每个客户应用的编码分辨率和传输比特速率的消息。
现在描述按照本发明的说明性实施例的、对应于分辨率与帧速率调节的消息。具体地,将描述MSG_WINDOW_SWITCH(窗口切换)消息和MSG_ADJUST_CODEC(调节编解码器)消息。
从客户处发送MSG_WINDOW_SWITCH消息到服务器,表示在主动用户与被动用户之间的切换;也就是,主动用户变为被动用户,以及被动用户变为主动用户。视频会议服务器将向该客户确认这个请求。
从服务器发送MSG_ADJUST_CODEC消息到每个客户。MSG_ADJUST_CODEC消息将向客户指明该客户应当以什么分辨率(即,CIF或QCIF)和帧速率进行发送。MSG_ADJUST_CODEC消息由每个客户确认。
图15是图解说明按照本发明的说明性实施例的、用于分辨率与帧速率调节的信令方法的图。图15的例子包括视频会议服务器(服务器)205,客户1 1504,客户2 1506,客户3 1508,和客户4 1510。
从客户1 1504发送MSG_WINDOW_SWITCH消息到服务器205(步骤1520)。从服务器205发送确认消息ACK到客户1 1504(步骤1525)。
从服务器205发送MSG_ADJUST_CODEC(低)消息到客户1 1504(步骤1530)。从客户1 1504发送确认消息ACK到服务器205(步骤1535)。
从服务器205发送MSG_ADJUST_CODEC(高)消息到客户2 1506(步骤1540)。从客户2 1506发送确认消息ACK到服务器205(步骤1545)。
从服务器205发送MSG_ADJUST_CODEC(低)消息到客户3 1508(步骤1550)。从客户3 1508发送确认消息ACK到服务器205(步骤1555)。
从服务器205发送MSG_ADJUST_CODEC(低)消息到客户4 1510(步骤1560)。从客户4 1510发送确认消息ACK到服务器205(步骤1565)。
图16是图解说明按照本发明的说明性实施例的、在分辨率与帧速率调节(客户2和3)之前的信令的图。图17是图解说明按照本发明的说明性实施例的、在分辨率与帧速率调节(客户2和3)之后的信令的图。图16和17的例子包括客户1 1602,客户2 1604,网络路由器1606,客户3 1608,和客户4 1610。
从客户1 1602处把“以低比特速率/分辨率发送”消息发送到网络路由器1606(步骤1620)。从客户3 1608处把“以高比特速率/分辨率发送”消息发送到网络路由器1606(步骤1625)。从客户2 1604处把“以低比特速率/分辨率发送”消息发递到网络路由器1606(步骤1630)。从客户4 1610处把“以高比特速率/分辨率发送”消息发送到网络路由器1606(步骤1635)。
从网络路由器1606处通过使用多播地址把数据发送到客户21604,客户3 1608,客户1 1602,和客户4 1610(分别为步骤1640,1645,1650,和1655)。
进到图17,从客户1 1602处把“以低比特速率/分辨率发送”消息发送到网络路由器1606(步骤1720)。从客户3 1608处把“以高比特速率/分辨率发送”消息发送到网络路由器1606(步骤1725)。从客户2 1604处把“以高比特速率/分辨率发送”消息发送到网络路由器1606(步骤1730)。从客户4 1610处把“以低比特速率/分辨率发送”消息发送到网络路由器1606(步骤1735)。
从网络路由器1606处通过使用多播地址把数据发送到客户21604,客户3 1608,客户1 1602,和客户4 1610(分别为步骤1740,1745,1750,和1755)。
现在描述按照本发明的说明性实施例的客户应用结构。客户应用负责与用户互动、与其他客户应用交换多媒体内容、以及负责管理与服务器应用的呼叫。图18A是按照本发明的说明性实施例的、视频会议客户应用1800的方框图。应当看到,可以在一台计算机上发现视频会议客户应用1800,诸如计算机220a-f中的任何一台和/或计算机230a-c中的任何一台。
视频会议客户应用1800包括以下四个基本功能实体多媒体接口层1802;编解码器1804(音频编解码器1804a与视频编解码器1804b);网络实体1806;和用户接口1808。
多媒体接口层1802是视频会议客户应用1800的主控制实例。所有的系统内通信通过多媒体接口层1802进行路由,并被多媒体接口层1802控制。多媒体接口层1802的一个关键的基本特性是易于互换不同的音频与视频编解码器1804的能力。除此以外,多媒体接口层1802还提供一个与取决于操作系统(OS)的用户输入/输出实体和网络子系统的接口。多媒体接口层1802包括成员数据库1820,主控制模块1822,音频混合器1899,和回波消除模块1898。
用户接口1808为最终用户提供与视频会议客户应用1800的互动点。用户接口1808优选地但不是必须地被实施为依赖于OS的模块。许多图形用户接口取决于它们正在使用的特定的OS。用户接口1808的四个主要功能是视频捕获、视频显示、音频捕获、和音频重现。用户接口1808包括音频/视频捕获接口1830,音频/视频回放模块1832,成员视图模块1834,聊天模块1836,和用户选择/菜单1838。音频/视频捕获接口1830包括摄相机接口1830a,话筒接口1830b,和文件接口1830c。音频/视频回放模块1832包括视频显示器1832a,音频回放模块1832b,和文件接口1832c。
网络实体1806代表视频会议客户应用1800的通信子系统。网络实体1806的功能是基于会话发起协议(SIP)进行客户到服务器的消息传送,以及对音频与视频流进行发送与接收。网络实体1806还包括用于客户之间媒体流的鉴权和加密通信的基本安全功能。网络实体1806包括安全模块1840,消息传送系统1842,视频流模块1844,和音频流模块1846,和IP套接字1848a-c。
音频编解码器1804a和视频编解码器1804b是处理数字媒体的压缩和解压缩的子系统。编解码器的接口应当是简单和通用的,以使得它们互换起来更容易。在多媒体接口层1802与编解码器1804之间简单的关系在此后被定义为用于实施的说明性样本或指南。音频编解码器1804a和视频编解码器1804b各自包括编码器1880和解码器1890。编码器1880和解码器1890各自包括队列1895。
视频会议客户应用1800至少与视频会议服务器205和其他客户1870相连接。
现在描述按照本发明的说明性实施例的、被包括在图18A的多媒体接口层1802中的成员数据库1820。成员数据库1820以每个会话为基础来存储有关每个参加用户的信息。成员数据库1820包括关于发送/接收IP地址的信息、客户能力、有关具体的编解码器的信息、以及有关不同用户的状态的细节。应当看到,上述的项目仅仅是说明性的,因此,在保持本发明的精神和范围的同时,在成员数据库1820中也可以保存上述项目以外的、或代替了上述项目中的一部分或全部的其他项目。被包括在成员数据库1820中的信息被用于控制去往音频和视频编解码器1890的进入信息。从网络进入的媒体信息需要被路由到正确的音频和视频解码器1890。同样重要地,来自音频和视频解码器1890的媒体信息需要被路由到正确的单播和多播地址以便分发。被包括在成员数据库1820中的基本信息还被路由到用户接口1808,以使得最终用户知道该会话的参与者和它们的能力。只要从视频会议服务器205接收到一个INVITE请求,一个用户就被加入成员数据库1820,以及只要从视频会议服务器205接收到一个BYE请求,一个用户就被删除。当会话终止时,成员数据库1820被刷新。
现在描述按照本发明的说明性实施例的、被包括在图18A的多媒体接口层1802中的主控制模块1822。
主控制模块1822是多媒体接口层1802的非常重要的部件。主控制模块1822起到中央管理子系统的作用,并提供以下关键功能用于音频与视频解码器和回放的同步机制;将解码器的目的地连接到屏幕或连接到文件以便记录;以及应用层服务质量。
音频与视频回放的同步对于最佳的视频会议用户感受是至关紧要的。为了精确地同步这两个媒体流,需要使用时间戳,以及时间戳需要与媒体内容一起发送。实时协议(RTP)提供了通用标题以便包括时间戳和用于这一目的的序列号。所提供的时间戳并不是意在同步这两个网络节点时钟,而是意在同步所述音频和视频流以便一致地回放。这些时间戳需要从捕获时的同一个节点上的公共时钟得出。例如,当视频帧被捕获时,必须记录视频帧被捕获的时间。这同样地应用到音频上。关于使用RTP的另外的细节和指南在这里的其他场合进行描述。
主控制模块1822在同步音频和视频时的功能是在网络实体1806与编解码器1804之间进行连接,以便正确地传递元数据(包括时间戳和序列号)和多媒体数据。如果分组是滞后的,则可以取决于系统的当前条件在解码之前或之后丢弃它们。所述RTP时间戳随后被使用来创建呈现和回放时间戳。
主控制模块1822还负责把音频和视频解码器1890的输出引导到屏幕以便回放,或引导到文件以便记录,或引导到屏幕和文件二者。每个解码器1890被独立地对待,所以,允许在示例性情形下把一个解码器的输出显示在屏幕上,把第二个解码器的输出记录在文件中,以及把来自第三个解码器的输出同时送往文件和屏幕。
除了上述的责任以外,主控制模块1822还牵涉到应用层服务质量。主控制模块1822收集关于分组丢弃、接收的和发送的字节的信息,以及根据这个信息采取行动。这可包括发送消息到另一个客户或视频会议服务器205,以帮助补救在网络中发生的情形。实时控制协议(RTCP)可被使用于报告统计资料和分组丢失,还可被使用于应用特定的信令。
图18B是进一步图解说明按照本发明的说明性实施例的、被包括在图18A的多媒体接口层1802中的音频混合器1899的方框图。音频混合器1899(在这里也被称为“增益控制模块”)工作时被耦合到多个音频解码器1890。所述多个音频解码器1880接收压缩的音频流并输出未压缩的音频流。未压缩的音频流被输入到音频混合器1899并作为组合的音频流输出。
图18C是进一步图解说明按照本发明的说明性实施例的、被包括在图18A的多媒体接口层1802中的回波消除模块1898的方框图。回波消除模块1898(在这里也被称为“回波消除器”)工作时被耦合到扬声器1897(例如,音频回放模块1832b)和话筒1896(例如,话筒接口)。当来自扬声器1897的声音在全双工或双向通信系统中被产生时,打算只让本地收听者听见这个声音。但是,所产生的声音也被本地话筒1896听见,然后,本地话筒允许信号被发回远端,并作为回声被听见。由于这个原因,视频会议客户应用1800需要回波消除模块1898来缓和这个效应,由此产生更好的用户感受。
现在描述按照本发明的说明性实施例的、可供视频会议客户应用1800的子系统使用的接口。该接口包括与用户接口1808、网络实体1806、以及编解码器1804的互动点。用户接口1808提供了用于接收所捕获的音频和视频连同其相应的时间戳的功能。除此之外,还必须提供用于向用户接口1808发送音频和视频以便显示和重现的功能。网络实体1806接口提供了用于发信号通知进入的和外出的消息的功能,用于会话控制和安全。音频和视频编解码器1804a,b提供了用于配置控制、以及用来发送和接收用于压缩或解压缩的分组的基本接口。
现在给出按照本发明的说明性实施例的、音频和视频编解码器1804a,b的描述。
在视频会议中有几种音频和视频编解码器可供使用。优选地但不是必须地,按照本发明被采用的编解码器是基于软件的。按照本发明的一个说明性实施例,H.263被使用于视频压缩和解压缩,这是由于典型台式计算机的处理功率约束条件而导致的。由于台式计算机在将来会变得功能更强大,使用更先进编解码器(诸如H.26L)的能力可以被实现并加以利用。当然,本发明并不限于上述类型的编解码器,因此,可以在保持本发明的精神和范围的同时使用其他类型的编解码器。
现在描述按照本发明的说明性实施例的、编解码器1804a,b的接口。该描述将包括DataIn(数据入)功能,回呼功能,和编解码器选项。编解码器1804a,b的接口应当足够灵活,以及在通用意义上被规定为允许编解码器的可互换性并允许将来添加新的编解码器。为实施这个灵活的和通用的接口,所建议的接口是一种非常简单的接口,它具有提供给用户的、有限数目的功能。
DataIn(数据入)功能仅仅被使用来存储编码器或解码器级别的帧或分组。
为了提供在多媒体接口层1802与多媒体编解码器1804之间的简单的连接,数据输出功能应当被实施为回呼。多媒体接口层1802设置这个回呼功能给接收实体的输入功能。例如,当编解码器完成编码或解码帧时,这个功能将被编解码器调用,以便传递来自编码或解码处理过程的预期信息。由于在这个回呼过程中编解码器不能做任何工作的约束条件,所以这个功能应当尽可能快速地返回,以防止系统中的等待和不必要的延迟。在访问共享资源时,在这个功能中应当被执行的唯一额外等待应当是互斥(mutex)锁定。
可供不同类型的编解码器使用的选项的范围将是变化的。为了满足管理这些选项的需要,应当使用简单的界面。基于文本的界面是优选的(但不是强制的),这是因为它所提供的灵活性。应当有一个公共命令组,诸如START(启动)和STOP(停止),然后是编解码器专用命令。这个方法提供了简单的界面,但给编解码器添加了额外的复杂性,因为需要简单的翻译器。作为例子,对读和写选项来说选项功能可以是足够通用的。
例子结果=选项(“启动”);结果=选项(“分辨率=CIF”);等等。
例如,在编解码器之间的某些公共选项应当被标准化为如下启动;停止;暂停;质量指数(0-100);和分辨率。
质量指数是把编解码器的总体质量描述为在0%与100%之间的数值的一个因子。它遵循基本假设数值越高,视频质量越好。
图19是图解说明按照本发明的说明性实施例的、由被包括在音频编解码器1804a和/或视频编解码器1804b任一方中的解码器1890所采用的方法的图。该方法是针对解码器上下文1901和呼叫器上下文1902进行描述的。该方法使用至少以下的输入和输出来操作“数据入”1999;“信号入”1998;“信号出回呼”1997;“设置回呼功能”1996;和“数据出回呼”1995。输入“数据入”1999被使用来把数据存储到输入队列中(步骤1905)。
执行初始化步骤(Init),以使得解码器1890初始化(步骤1910)。执行主环路,它等待启动或退出命令(步骤1920)。如果接收到退出命令,则退出该方法(步骤1922),并返回到例如另一个操作(1924)。
数据从输入队列1895被读出,或如果输入队列1895是空的,则施加以等待条件(步骤1930)。数据(如果在步骤1930读出)被解码(步骤1940)。“数据出回呼”1995被提供给步骤1920。
现在描述按照本发明的说明性实施例的、由网络200所使用的通信。该描述补充以上就网络通信所提供的内容。
消息传送系统1842(被包括在图18A的网络实体1806中)提供了在视频会议客户应用1800与视频会议服务器205之间的接口。它被计划使用于会话管理(即,会话建立和拆除)。所有的信令消息通过视频会议服务器205被传送,而不是直接从客户传送到客户。诸如多媒体内容和私人聊天消息那样的数据包含直接在客户之间发送的唯一信息。消息传送系统将使用基于标准的会话发起协议(SIP)。
有几个不同的监管视频会议客户应用1800的功能性的协议。例如,可以使用会话发起协议(SIP),实时协议(RTP),实时控制协议(RTCP),和会话描述协议(SDP)。
会话发起协议(SIP)的用途是会话管理。SIP是基于文本的应用层控制协议,用于创建、修正和终止在基于IP的网络上的具有一个或多个参与者的多媒体会话。SIP被使用来在客户与服务器之间实现这一用途。在前面还就视频会议服务器205对SIP进行过描述。
实时协议(RTP)被使用于传输实时多媒体数据(即,音频和视频)。RTP是应用层协议,用于提供关于它正在载送的多媒体信息的类型的附加细节。RTP位于传输层以上,且通常在用户数据报协议(UDP)之上被载送。在所述客户应用中RTP的主要功能是用于输送时间戳(用于音频和视频同步)、序列号、以及识别正在封装的有效载荷的类型(例如,MPEG4,H.263,G.723,等等)图20是图解说明按照本发明的说明性实施例的、用户平面协议堆栈2000的图。堆栈2000包括在某一层上的视频2010和话音2020,在另外一层上的用于视频2010和话音2020的RTP 2030,在又一层上的UDP端口#X 2040和UDP端口#Y 2050,IP层2060,链路层2070,和物理层2080。除了通用RTP标题以外,还使用编解码器特定的RTP标题。
实时控制协议(RTCP)是RTP标准的一部分。RTCP被用作为在发送器和接收机之间的统计资料报告工具。每个视频会议客户应用1800将收集它们的统计资料,并把它们发送到另一个视频会议客户应用以及服务器205。视频会议服务器205将根据这个数据来记录有关在所述会话中可能出现的问题的信息。
图21是图解说明按照本发明的说明性实施例的、控制平面协议堆栈2100的图。堆栈2100包括在一层上的SIP 2110、UI编解码器改变消息传送2120、和RTCP 2130,TCP层2140,IP层2150,链路层2160,和物理层2170。
SDP的主要用途是输送有关会话的媒体流的信息。SDP包括但不限于以下项目会话名称和用途;会话活动的时间;包括该会话的媒体;用来接收该媒体的信息(即,地址,端口,格式等);媒体的类型;传输协议(RTP/UDP/IP);媒体的格式(H.263等);多播;用于媒体的多播地址;用于媒体的输送端口;单播;以及用于媒体的远端地址。
SDP信息是用于SIP消息的消息主体。它们一起被发送。
现在进一步描述按照本发明的说明性实施例的、图18A的用户接口1808。用户接口1808是视频会议客户应用1800的非常重要的单元。用户接口1808包括几个视图(显示/按钮/菜单/...)并能处理所有的输入数据(音频/视频捕获,按钮,按键击打)。
图22是图解说明按照本发明的说明性实施例的、对应于图18A的用户接口1808的屏幕快照2200的方框图。屏幕快照2200包括“大视图”2210,“小视图”2220,聊天视图部分2230,成员视图部分2240,和聊天编辑部分2250。
再次参照图18A,视频捕获接口1830可包括以下的任何一项万维网样板(web cam)(未示出);捕获卡和高质量摄相机(未示出);摄相机接口1830a;话筒接口1830b;文件接口1830c;等等。
所述万维网样板应当通过USB或Firewire(IEEE1394)接口而被支持,其中USB或Firewire(IEEE1394)接口使用由视窗(Windows)操作系统提供的Windows视频(VFW)应用编程接口(API),或者所述万维网样板通过在诸如Linux的不同操作系统下使用的另一个获取驱动器而被支持。当然,本发明并不限于上述的接口、操作系统、或驱动器,因此在保持本发明的精神和范围的同时,也可以使用其他接口、操作系统、和驱动器。
成员视图模块1834被使用来显示参与正在进行的呼叫的成员。呼叫发起者(即,主叫方)可以丢弃不想要的成员或者选择主动的成员。每个成员可选择一个或多个成员以进行私人聊天消息交换。此外,成员的状态在成员视图模块1834中被用信号通知。于是成员可设置它们自己的状态为例如“不可用”,以便通知其他成员它们当前是不可用的,但将很快返回。
除了视频流以外,每个成员都有机会使用聊天模块1836发送聊天消息到全部的或仅是部分的其他成员。所述消息在聊天视图上被显示,以及在聊天编辑视图上被编辑。滚动条允许观看旧消息。
现在描述按照本发明的说明性实施例的、客户应用1800的工作情形。以下的说明仅仅是客户应用1800的某些特性的基本指南,而并不打算描绘完整的特性表。该说明将包括登录,呼叫发起,呼叫接受,和退出登录。
当客户应用1800初始启动时登录完成。登录可以根据在启动时被提供到操作系统的登录名而自动完成,或者可以使用与登录无关的不同的接口。它取决于当前使用的优选的网络鉴权方法、以及对策略是如何进行管辖的。最简单的方法就是所使用的登录名与在视窗操作系统中所使用的相同,以保持命名的一致性,并且还要具有重复利用现有用户数据库的能力(如果是可应用的)。
图23是图解说明按照本发明的说明性实施例的、登录界面2300的图。如果用户当前在服务器上没有帐号,则使用签名特性2330。可在任一电子邮件地址输入框2340中提供电子邮件地址,以便容易接入。
为了发起呼叫,客户应用1800将向服务器205询问可提供的候选人名单。客户可以选择他或她希望其参加到视频会议会话中的用户。当牵涉到两个参与者时,该会话被建立为单播;否则,当牵涉到两个以上的参与者时,该会话被建立为多播会话。
图24是图解说明按照本发明的说明性实施例的、用于会话发起的用户选择界面2400的方框图。
一旦用户被邀请到一个呼叫,示出发起者名字的消息就显示在它们的屏幕上。该用户然后可接受或拒绝该呼叫。如果该用户接受呼叫,则客户应用1800发送接受(或确认)消息到服务器205。服务器205然后把新的成员告知当前参加该呼叫的每个成员。如果用户通过发送取消消息到服务器205而拒绝该呼叫,则所有其他的成员也被告知该事件。图25是图解说明按照本发明的说明性实施例的、用于接受或拒绝一个进入呼叫的邀请界面2500的方框图。
退出登录将把该用户从成员数据库314中删除,其中成员数据库314被包括在视频会议服务器205的数据库实体302中。BYE消息被发送到该会话的每个参与客户。这可以通过多播或单播完成。多播是发送这个消息的优选的方法。
本发明提供了一种用于视频会议应用的用户接口,其中该用户接口支持多种视频显示窗口尺寸(不同尺寸的显示窗口代表高分辨率和低分辨率的解码的视频流)。而且,本发明提供了消息传送系统,它允许服务器基于从控制着客户或网络设备的视频会议会话发送来的消息,对每个个体客户的视频编码参量进行控制。所述用户接口和消息传送系统创建了一种环境,该环境只允许视频会议会话中有限数量的用户(即,主动用户)以高分辨率和高比特速率进行发送,而会话中的其余用户(即,被动用户)只能以受限的分辨率和受限的比特速率进行发送。通过不以高分辨率和高比特速率发送视频到不是主动参加视频会议会话的用户,在网络中带宽可以更有效地被利用。所述用户接口和消息传送系统合在一起也被称为“回放控制系统”。应当看到,词组“主动用户”和“主动参与者”在这里被交换地使用。而且,应当看到,词组“被动用户”和“被动参与者”在这里被互换地使用。与不是主动地参加视频会议会话的被动参与者相比,主动参与者是主动地参加(例如,谈话)视频会议会话的人。
在本发明的说明性实施例中,视频会议会话控制器(此后称为“会话控制器”)将控制哪些用户以高分辨率进行发送以及哪些用户以低分辨率进行发送。在该说明性实施例中,会话控制器具有比该视频会议会话的(其他)参与者的用户接口更加先进的用户接口,这样,会话控制器可选择哪些参与者是主动参与者以及哪些参与者是被动参与者。会话控制器可以是该视频会议会话的发起者或某个其他人(包括该视频会议会话的另外一个参与者或甚至非参与者)。应当看到,虽然本发明的说明性实施例是对于单个会话控制器来描述的,但本发明可以容易地用一个以上的会话控制器来实施。还应当看到,虽然主动和被动用户的选择是对于两个不同的用户接口来描述的,其一用于会话控制器而另一个用于视频会议的(其他)参与者,但可以由本领域技术人员在保持本发明的精神和范围的同时,容易地实施其他数目的用户接口和其他配置及实施方案。会话控制器的用户接口在下面参照图27被描述,而(其他)参与者的用户接口在下面参照图26被描述。
图26是图解说明按照本发明的说明性实施例的、用户接口2600的方框图。按照本发明的说明性实施例,用户接口2600将包括两个不同尺寸的显示窗口,用于支持视频会议系统中不同的分辨率。出于说明性的目的,两个不同的窗口尺寸被选择为如下用于高分辨率的352×288窗口2630;和用于低分辨率的88×72窗口2640。应当看到,本发明并不限于上述数目的不同的窗口尺寸,也不限于上述的分辨率,因此,在保持本发明的精神和范围的同时可以采用其他数目的不同的窗口尺寸和分辨率。也就是,给定在这里所提供的本发明的教导后,本领域技术人员将在保持本发明的精神和范围的同时,容易地设想到本发明的这些和各种其他配置和实施方案。
在该说明性的例子中,两个主要的参与者(即,主动的)以较高的分辨率进行编码和发送,并且他们被显示在较大的窗口上。其余的参与者(即,被动的)以较低的分辨率进行编码和发送,并且他们被显示在较小的窗口上。
图27是图解说明按照本发明的另一个说明性实施例的用户接口2700的方框图。按照本发明的说明性实施例,该视频会议会话的会话控制器具有更先进的用户接口,它允许他/她选择哪些参与者将是该视频会议会话中的主要(即,主动)参与者。按照本发明的说明性实施例,会话控制器通过选择他/她的屏幕右边的窗口2640之一(较低分辨率窗口之一)从而选择主要参与者。通过在该图像上双击,或通过一个拖放(drag-and-drop)过程,所选择的参与者将从低分辨率模式被切换到高分辨率模式。而当前处于高分辨率模式的一个参与者随后将被切换到低分辨率模式。用户接口2700除了包括用于高分辨率的352×288窗口2630和用于低分辨率的88×72窗口2640以外,还包括文本聊天窗口2750和状态窗口2760。
诸如寻呼按钮2790的附加性能可以被使用,以使得视频会议会话的参与者可通知会话控制器他们想要成为主动用户。会话控制器然后可以把这个参与者人工地切换到高分辨率模式,或者这可以通过自动化过程被完成。
回到图15,从客户(例如,会话控制器)发送消息“MSG_WINDOW_SWITCH”到服务器205。“MSG_WINDOW_SWITCH”消息被使用来通知服务器两个参与者正在切换分辨率。也就是,一个参与者正在从高分辨率切换到低分辨率,而另一个参与者正在从低分辨率切换到高分辨率。因此,两个参与者切换角色为主动和被动参与者。当会话控制器选择新的主动参与者时,生成“MSG_WINDOW_SWITCH”消息。一旦服务器205接收到“MSG_WINDOW_SWITCH”消息,服务器205将处理该消息并发送出一个消息(MSG_ADJUST_CODEC)到参加该会话的每个客户。
从服务器205发送MSG_ADJUST_CODEC消息到该视频会议会话中的每个客户。MSG_ADJUST_CODEC消息通知每个客户关于他们应当以哪种比特速率进行发送(例如,高比特速率或低比特速率)。MSG_ADJUST_CODEC消息还包括正在以高比特速率进行发送的客户的IP地址。该信息被使用来确定每个进入视频流将在所述用户接口的哪个窗口上显示。
这样,前面的图16和17分别表示在2个参与者(客户2和3)的从主动参与者到被动参与者的切换之前和之后网络上的数据传输。图15图解说明为了进行所述切换而使用的信令。
虽然在这里参照附图描述了说明性实施例,但应当明白,本发明并不限于这些明确的实施例,而是可以由本领域技术人员在不背离本发明的范围和精神的情况下,对其进行各种其他改变和修正。所有这样的改变和修正被计划包括在由附属权利要求所定义的本发明的范围内。
权利要求
1.一种用于视频会议系统的回放控制系统,该视频会议系统构架于网络之上,该回放控制系统包括具有多个显示窗口的用户接口,所述窗口允许不同的分辨率和帧速率;以及消息传送系统,其用于按照单个的显示要求来管理显示和输送特性。
2.权利要求1的回放控制系统,其中所述显示和输送特性包括编码分辨率和传输比特速率。
3.权利要求1的回放控制系统,其中所述消息传送系统包括发送消息和接收消息两项中至少之一的能力,该消息指示相对于当前视频会议会话,从一主动参与者到一被动参与者以及从该被动参与者到该主动参与者这两者之一的改变。
4.权利要求1的回放控制系统,其中所述用户接口和所述消息传送系统被适配成使得视频会议会话的主动参与者以比该视频会议会话的被动参与者更高的分辨率和更高的帧速率的至少一项发送视频数据。
5.权利要求1的回放控制系统,其中所述用户接口能够根据相应的参与者对于当前视频会议会话是主动参与者还是被动参与者,而在多个显示窗口之间进行切换。
6.权利要求1的回放控制系统,其中所述消息传送系统包括发送消息和接收消息两项中至少之一的能力,该消息指示相对于当前视频会议会话,发送视频数据应被采用的分辨率和帧速率。
7.权利要求1的回放控制系统,其中所述用户接口具有在视频会议会话期间创建多个解码器的能力。
8.权利要求1的回放控制系统,其中所述用户接口具有为每个接收到的视频数据流创建一个解码器的能力。
9.权利要求1的回放控制系统,其中所述用户接口具有在同一个视频会议会话期间创建、互换和利用不同的解码器的能力。
10.权利要求1的回放控制系统,其中所述用户接口具有为不同的视频会议会话创建、互换和利用不同的解码器的能力。
11.权利要求1的回放控制系统,还包括音频/视频捕获接口,其用于至少捕获本地音频数据和本地视频数据中的至少一种。
12.权利要求11的回放控制系统,其中所述音频/视频捕获接口包括摄相机接口、话筒接口、和文件接口中的至少一个。
13.权利要求1的回放控制系统,其中所述用户接口包括寻呼按钮,其用于指示相应的参与者正在请求相对于当前视频会议会话的、从主动参与者到被动参与者以及从被动参与者到主动参与者这两者之一的切换。
14.权利要求1的回放控制系统,其中所述网络包括至少两个客户设备和至少一个服务器,以及所述用户接口被适配以便由该至少两个客户设备中的任意客户设备使用。
15.权利要求1的回放控制系统,其中所述网络包括至少两个客户设备和至少一个服务器,以及所述消息传送系统被适配以便由服务器和该至少两个客户设备中的任意客户设备使用。
16.一种用于视频会议系统的用户接口,包括视频回放设备,其具有多个显示窗口,所述显示窗口能够同时被显示并且它们允许不同的分辨率和帧速率。
17.权利要求16的用户接口,其中所述视频回放设备被适配成使得视频会议会话的主动参与者以比视频会议会话的被动参与者更高的分辨率和更高的帧速率的至少一项发送视频数据。
18.权利要求16的用户接口,其中所述视频回放设备具有在视频会议会话期间创建多个解码器的能力。
19.权利要求16的用户接口,其中所述视频回放设备具有为每个接收到的视频数据流创建一个解码器的能力。
20.权利要求16的用户接口,其中所述视频回放设备具有在同一个视频会议会话期间创建、互换和利用不同的解码器的能力。
21.权利要求16的用户接口,其中所述视频回放设备具有为不同的视频会议会话创建、互换和利用不同的解码器的能力。
22.权利要求16的用户接口,其中所述用户接口还包括音频/视频捕获接口,用于至少捕获本地音频数据和本地视频数据中的至少一种。
23.权利要求22的用户接口,其中所述音频/视频捕获接口包括摄相机接口、话筒接口、和文件接口中的至少一个。
24.权利要求16的用户接口,其中所述用户接口包括寻呼按钮,其用于指示相应的参与者正在请求相对于当前电视会议会话的、从主动参与者到被动参与者以及从被动参与者到主动参与者这两者之一的切换。
25.一种用于构架于网络之上的视频会议系统的服务器,该服务器包括消息传送系统,其用于按照单个的显示要求来管理显示和输送特性。
26.权利要求25的服务器,其中所述消息传送系统包括发送消息和接收消息两项中至少之一的能力,该消息指示相对于当前视频会议会话、从主动参与者到被动参与者以及从被动参与者到主动参与者这两者之一的改变。
27.权利要求25的服务器,其中所述消息传送系统包括发送消息和接收消息两项中至少之一的能力,该消息指示相对于当前的视频会议会话、发送内容所应当采用的分辨率和帧速率。
28.一种用于显示对应于视频会议会话的内容的方法,该方法包括以下步骤提供多个能够同时被显示、并允许不同分辨率和帧速率的显示窗口。
9.权利要求28的方法,其中所述提供步骤还包括步骤提供根据相应的参与者对于该视频会议会话是主动参与者还是被动参与者而在多个显示窗口之间进行切换的能力。
30.权利要求28的方法,还包括提供在视频会议会话期间创建多个解码器的能力的步骤。
31.权利要求28的方法,还包括提供为每个接收到的内容流创建一个解码器的能力的步骤。
32.权利要求28的方法,还包括提供在同一个视频会议会话期间创建、互换和利用不同的解码器的能力的步骤。
33.权利要求28的方法,还包括提供按照单个的显示要求来管理显示和输送特性的能力的步骤。
34.权利要求33的方法,其中所述显示和输送特性包括编码分辨率和传输比特速率。
35.权利要求33的方法,其中所述提供管理显示和输送特性的能力的步骤还包括步骤提供发送消息和接收消息两项中至少之一的能力,其中该消息指示相对于视频会议会话、从主动参与者到被动参与者以及从被动参与者到主动参与者这两者之一的改变。
36.权利要求28的方法,还向视频会议会话的主动参与者提供以比该视频会议会话的被动参与者更高的分辨率对内容进行编码和发送的能力。
37.权利要求32的方法,其中所述提供管理显示和输送特性的能力的步骤还包括步骤提供发送消息和接收消息两项中至少之一的能力,其中该消息指示用于发送对应于该视频会议会话的内容的分辨率和帧速率。
38.权利要求28的方法,还包括提供输出寻呼信号的能力的步骤,该寻呼信号指示相应的参与者正在请求从主动参与者到被动参与者以及从被动参与者到主动参与者这两者之一的切换。
全文摘要
提供了一种用于视频会议系统的回放控制系统,该视频会议系统构架于广域网(WAN)(142)之上。该回放控制系统包括具有多个显示窗口的用户接口,它允许不同的分辨率和帧速率;以及消息传递系统,它用于按照个体的显示要求利用策略和QoS管理器(210)来管理显示和输送特性。
文档编号G06F15/00GK1633652SQ02828105
公开日2005年6月29日 申请日期2002年12月13日 优先权日2001年12月15日
发明者J·W·理查森, J·卡恩布利, K·拉马斯瓦米 申请人:汤姆森许可公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1