从单播到组播的视频会议对话转换.pdf

上传人:b*** 文档编号:637246 上传时间:2018-02-28 格式:PDF 页数:54 大小:2.47MB
返回 下载 相关 举报
摘要
申请专利号:

CN02825113.X

申请日:

2002.12.12

公开号:

CN1605074A

公开日:

2005.04.06

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):G06F 15/16申请日:20021212授权公告日:20070725终止日期:20101212|||授权|||实质审查的生效|||公开

IPC分类号:

G06F15/16

主分类号:

G06F15/16

申请人:

汤姆森特许公司;

发明人:

约翰·W·理查德森; 詹斯·卡恩布利; 库马·拉马斯沃米

地址:

法国布洛涅

优先权:

2001.12.15 US 60/341,800; 2001.12.15 US 60/341,671; 2001.12.15 US 60/341,797; 2001.12.15 US 60/341,720; 2001.12.15 US 60/341,799; 2001.12.15 US 60/341,801; 2001.12.15 US 60/341,819; 2002.03.20 US 60/366,331

专利代理机构:

北京市柳沈律师事务所

代理人:

吕晓章;马莹

PDF下载: PDF下载
内容摘要

本发明涉及一种用于从单播向组播转换当前发生的视频会议对话的方法。所述方法包括步骤:从服务器向附加方发送邀请(2620),分配公共的组播因特网协议(IP)地址,向在视频会议对话中的至少一个当前的参与者和要加入到视频会议对话中的附加方发送公共的组播IP地址(2640),从当前参与者和附加方向网络发送IGMP消息(2650),在组播地址上进行视频会议对话(2660)。

权利要求书

1.  一种用于从单播向组播转换当前发生的视频会议对话的方法,包括步骤:
分配公共的组播因特网协议(IP)地址;
向在视频会议对话中的至少一个当前的参与者和要加入到视频会议对话中的附加方发送公共的组播IP地址。

2.
  如权利要求1所述的方法,还包括步骤:提供在公共组播IP地址上发送和接收视频会议对话的所有通信量的能力。

3.
  如权利要求1所述的方法,还包括步骤:从至少一个当前参与者和附加方接收因特网组组播协议(即IGMP)请求。

4.
  如权利要求1所述的方法,还包括步骤:
接收识别要被加入视频会议对话的附加方的请求;
向附加方发送对视频会议对话的邀请。

5.
  如权利要求4所述的方法,还包括步骤:接收对于所述邀请的接受或拒绝。

6.
  如权利要求1所述的方法,还包括步骤:提供停止所有单播通信的能力。

7.
  一种用于从单播向组播转换当前发生的视频会议对话的系统,包括:
用于分配公共的组播因特网协议(IP)地址的装置;
用于向在视频会议对话中的至少一个当前的参与者和要加入到视频会议对话中的附加方发送公共的组播IP地址的装置。

8.
  如权利要求7所述的系统,还包括用于在公共组播IP地址上发送和接收视频会议对话的所有通信量的装置。

9.
  如权利要求7所述的系统,还包括用于从至少一个当前参与者和附加方接收因特网组组播协议(即IGMP)请求的装置。

10.
  如权利要求7所述的系统,还包括:
用于接收识别要被加入到视频会议对话的附加方的请求的装置;
用于向附加方发送对视频会议对话的邀请的装置。

11.
  如权利要求10所述的系统,还包括用于接收对于所述邀请的接受或拒绝的装置。

12.
  如权利要求1所述的系统,还包括用于停止所有单播通信的装置。

说明书

从单播到组播的视频会议对话转换 与相关申请的交叉参考
这是一个非临时申请,它要求在此通过引用被并入的、律师备审案件目录表第PU010308号的、2001年12月15日提交的、题目为“从单播到组播的视频会议对话转换”的、临时申请第60/341,800号在35 U.S.C.§119下的权益。这是一个非临时申请,它要求在此通过引用被并入的、2002年3月20日提交的、题目为“视频会议系统架构”的、临时申请第60/366,331号在35 U.S.C.§119下的权益。本申请也涉及在此通过引用被并入的、2001年12月15日提交的、题目为“视频会议带宽选择机制”的、共同转让的临时申请第60/341,720号,本申请也涉及在此通过引用被并入的、2001年12月15日提交的、题目为“在时间保留基础上的服务建立的质量”的、共同转让的临时申请第60/341,671号,本申请也涉及在此通过引用被并入的、2001年12月15日提交的、题目为“视频会议呼叫建立方法”的、共同转让的临时申请第60/341,797号,本申请也涉及在此通过引用被并入的、2001年12月15日提交的、题目为“用于提供在视频会议系统中的专用会话信道的方法和系统”的、共同转让的临时申请第60/341,799号,本申请也涉及在此通过引用被并入的、2001年12月15日提交的、题目为“视频会议应用用户接口”的、共同转让的临时申请第60/341,801号,本申请也涉及在此通过引用被并入的、2001年12月15日提交的、题目为“服务器调用的预定视频会议”的、共同转让的临时申请第60/341,819号。
技术领域
本发明一般地涉及视频会议,具体涉及一种用于将基于因特网协议(IP)的视频会议对话从单播转换为组播的方法。
背景技术
当在两个客户端之间建立典型的视频会议对话时,初始假定这些是将加入这个对话的仅仅两个客户端。当在对话中涉及仅仅两个参与者时,它们能够直接向彼此发送通信。这使得它们可以建立使用IP单播的视频会议对话。这意味着它们直接寻址和向彼此发送通信。通常,不可能把每个视频会议都设置成使用组播,因为仅仅存在有限数量的可用组播地址。
如果第三人被邀请从另一个站点加入视频会议,这需要建立附加的单播连接。每个节点将需要两个单播会话。这种手段的一个缺点是在每个节点上,每个单播会话的输出的通信量将是相同的。视频会议应用将是向两个分立地目的地发送两次视频流。这消耗了实际需要的在输出接口上的带宽数量的两倍。
因此,期望和高度有益的是,具有一种用于从单播向组播转换基于IP的视频会议对话的方法。
发明内容
本发明,即一种用于从单播向组播转换基于因特网协议(IP)的视频会议对话的方法解决了如上所述的问题以及现有技术的其他相关问题。本发明可以有益地用于当例如另外的参与者加入现有的视频会议对话中的时候。在这种情况下,在输出接口上向表示一个组播组的、特定的IP地址发送一次所有的通信。
按照本发明的一个方面,提供了一种用于从单播向组播转换当前发生的视频会议对话的方法。所述方法包括步骤:分配公共的组播因特网协议(IP)地址,向在视频会议对话中的至少一个当前的参与者和要加入到视频会议对话中的附加方发送公共的组播IP地址。
按照本发明的另一个方面,提供了一种用于从单播向组播转换当前发生地视频会议对话的系统。所述系统包括:用于分配公共的组播因特网协议(IP)地址的装置,用于向在视频会议对话中的至少一个当前的参与者和要加入到视频会议对话中的附加方发送公共的组播IP地址的装置。
通过对结合附图读取的优选实施例的下述详细说明,本发明的这些和其他方面、特征和优点将会变得显然。
附图说明
图1A是图解按照本发明的一个说明性实施例的、可以应用本发明的计算机系统100的方框图;
图1B是图解按照本发明的一个说明性实施例的、单播视频会议对话的方框图;
图1C是图解按照本发明的一个说明性实施例的、组播视频会议对话的方框图;
图2是图解按照本发明的一个说明性实施例的、可以应用本发明的网络200的方框图;
图3是图解按照本发明的一个说明性实施例的、图2的视频会议服务器205的方框图;
图4是图解按照本发明的一个说明性实施例的、用于被包括在图3的数据库实体中的成员数据库314的成员数据库输入项400的图;
图5是图解按照本发明的一个说明性实施例的、用于在图3的数据库实体302中包括的有效对话数据库312的有效对话输入项500的方框图;
图6是图解按照本发明的一个说明性实施例的、简单网络管理协议(SNMP)客户端-服务器结构600的方框图;
图7是图解按照本发明的一个说明性实施例的、用于使用会话启动协议(SIP)来登记视频会议对话的方法的图;
图8A是图解按照本发明的一个说明性实施例的、使用对话启动协议(SIP)来建立单播视频会议对话的方法的图;
图8B是图解按照本发明的一个说明性实施例的、当从客户端#1 802接收到邀请请求(图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的屏幕快照2200的方框图;
图23是图解按照本发明的一个说明性实施例的、登录接口2300的图;
图24是图解按照本发明的一个说明性实施例的、用于对话启动的用户选择接口2400的方框图;
图25是图解按照本发明的一个说明性实施例的、用于接受或拒绝输入的呼叫的邀请接口2500的方框图;
图26是图解按照本发明的一个说明性实施例的、用于从单播向组播转换基于IP的视频会议对话的方法的流程图。
具体实施方式
本发明涉及用于从单播向组播转换基于因特网协议(IP)的视频会议对话的方法。本发明可以有益地用于当例如附加的参与者加入现有的视频会议对话的时候。在这种情况下,在输出接口上向表示一个组播组的、特定的IP地址一次发送所有的通信。
应当明白,本发明可以以各种形式的硬件、软件、固件、专用处理器或其组合来被实现。优选的是,本发明被实现为硬件和软件的组合。而且,所述软件最好被实现为在程序存储器上可实际包含的应用程序。所述应用程序可以被上载到包括任何适当的结构的机器并且被其执行。优选的是,所述机器被实现在具有硬件的计算机平台上,所述硬件诸如一个或多个中央处理单元(CPU)、随机存取存储器(RAM)和输入/输出(I/O)接口。所述计算机平台也包括操作系统和微指令代码。在此所述的各种处理和功能可以或者是经由操作系统执行的、微指令代码的一部分或者应用程序的一部分(或其组合)。另外,各种其他外围器件可以连接到计算机平台,诸如附加数据存储设备和打印设备。
还应当明白,因为在附图中描述的构成系统部件和方法步骤的一些最好以软件来被实现,因此在系统部件(或处理步骤)之间的系统连接可以依赖于编程本发明的方式而不同。在给出在此的教程的情况下,本领域的普通技术人员能够考虑本发明的这些和类似的实现方式或配置。
图1A是图解按照本发明的一个说明性实施例的、可以应用本发明的计算机系统100的方框图。计算机处理系统100包括至少一个处理器(CPU)102,它工作地经由系统总线104连接到其他部件。只读存储器(ROM)106、随机存取存储器(RAM)108、显示适配器110、输入/输出适配器112、用户接口适配器114、声音适配器199和网络适配器198工作地连接到系统总线104。
显示器116通过显示适配器110工作地连接到系统总线104。盘存储器(例如磁或光盘存储器)118通过输入/输出适配器112工作地连接到系统总线104。
鼠标120和键盘122通过用户接口适配器114工作地连接到系统总线104。鼠标120和键盘122用于对于系统100输入和输出信息。
至少一个扬声器(以下“扬声器”)197通过声音适配器199工作地连接到系统总线104。
(数字和/或模拟)调制解调器196通过网络适配器198工作地连接到系统总线104。
现在说明按照本发明的一个说明性实施例的、基于策略的网络管理(PBNM)。PBNM是一种技术,它提供定义和向管理网络(下面参照图2来说明可以应用于本发明的一种示例网络)分布策略的能力。这些策略使得可以协同地控制诸如带宽或安全性的关键网络资源。PBNM使能需要在网络上的不同处理的、诸如基于IP的视频会议。PBMN提供了用于使得不同类型的应用在单个网络上共存和向这些应用的每个提供所需要的资源的基础。
进一步详细而言,PBNM定义了用于消耗网络资源的应用和用户的策略。例如,可以向商业重要应用提供最高的优先级和在网络上的带宽的一个百分比,视频会议和基于因特网协议的语音传输可以被提供次高的优先权,最后可以向没有严格的带宽或时间临界约束的万维网通信和文件传送提供在网络上的资源的剩余量。可以使用PBNM来实现用户和应用的区分。
视频会议系统通过对网络策略服务器查询对应于视频会议应用的策略来绑入PBNM系统。视频会议服务器从网络策略服务器获得策略,并且根据所接收的参数来确定在网络中可用的、用于视频会议的资源。所述策略通常对应于例如这个应用在一天的某些时间期间或某些用户可用的带宽。可以通过例如对策略和/或其部分增加、删除、替换、修改等来容易地修改所述配置。结果,视频会议服务器将使用在所述策略中提供的信息来管理在网络上的会议对话。
图2是图解按照本发明的一个说明性实施例的、可以应用本发明的网络200的方框图。网络200包括:视频会议服务器205;策略和服务质量管理器210;MADCAP服务器215;第一批计算机220a-f;第一局域网225;第一路由器240;第二批计算机230a-e;第二局域网235;第二路由器245;广域网250。
现在说明按照本发明的一个说明性实施例的服务器架构。图3是图解按照本发明的一个说明性实施例的、图2的视频会议服务器205的方框图。视频会议服务器205可以被考虑为包括下面三种基本实体:数据库实体302;网络通信实体304;对话管理实体306。
对话管理实体306负责管理视频会议对话建立和拆卸。对话管理实体306也提供对视频会议服务器205的多数主要控制。对话管理实体306包括用于实现对话管理实体306的功能的对话管理器320。
网络通信实体304负责封装用于视频会议系统的许多不同协议。所述协议可以包括:简单网络管理协议(SNMP),用于远程监督和管理;通用开放策略服务(COPS)或诸如简易目录访问协议(LDAP)的另一种协议,用于策略管理;组播地址动态客户分配协议(MADCAP),用于组播地址分配;对话启动协议(SIP),用于视频会议对话管理;服务器到服务器消息传递,用于分布的视频会议服务器管理。因此,网络通信实体304包括:SNMP模块304a;LDAP客户端模块304b;MADCAP客户端模块304c;SIP模块304d;服务器到服务器管理模块304e。而且,前述的元件304a-e分别与下述元件通信:远程管理终端382;网络策略服务器(带宽代理)384;MADCAP服务器215;桌面会议客户端388;其他视频会议服务器390。也可以使用传输控制协议(TCP)、用户数据报协议(UDP)、因特网协议(IP),它们由协议模块330统一表示,来实现这样的通信。应当理解,在保持本发明的精神和范围的情况下,可以容易地使用上述协议和对应于的元件的列表。
还应当明白,视频会议服务器205的架构也适合于在便携器件上的用户将其通过虚拟专用网络(VPN)连接到公司的基础结构,以便对于视频会议对话发送和接收内容。
数据库实体302包括下面四个数据库:调度数据库310、有效对话数据库312、成员数据库314和网络架构数据库316。
视频会议服务器205还包括或至少连接到公司LDAP服务器(用户信息)340和可选的外部数据库342。所述可选的外部数据库342包括LDAP客户端304b。
现在说明按照本发明的一个说明性实施例的、在图3的数据库实体302中包括的成员数据库314。成员数据库314包括关于已经登录到视频会议系统中的每个用户的信息。作为一个示例,对于每个用户,下面的信息可以被保存在成员数据库314中:用户名;密码(如果适用的话);所支持的视频编解码器和捕获分辨率;所支持的音频编解码器;当前的IP地址;当前的呼叫号码(如果当前有一个成员进行有效的呼叫);可用性(可用或不可用);摄像机类型和型号;在网络中的位置(每个位置通过有限带宽的广域网链路连接);CPU类型和处理功率。应当明白,上述的项目仅仅是说明性的,因此在保持本发明的精神和范围的同时,也可以对于每个用户在成员数据库314中保存用于补充或替代一些或全部上述项目的其它项目。
图4是图解按照本发明的一个说明性实施例的、用于被包括在图3的数据库实体中的成员数据库3 14的成员数据库输入项400的图。在图4的说明性实施例中,使用简单链接的列表来实现成员数据库314。但是,也应当明白,在本发明的其他实施例中,在保持本发明的精神和范围的同时可以使用成员数据库3 14的不同实现方式。作为一个示例,可以使用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、SNMP管理的对象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管理站610的在SNMP代理620c的访问点的集合。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消息的形式确认,所述GetResponse消息被向上传送到管理应用610a。SNMP代理620c也可以响应于在被管理的资源中发生的事件而发出中断消息。
再次参见图3,现在说明按照本发明的一个说明性实施例的、在图3的网络通信实体304中包括的简易目录访问协议(LDAP)客户模块304b。LDAP模块304b利用LDAP,它是用于访问公共目录信息的标准的基于IP的协议。LDAP定义了用于访问和修改目录输入项的操作,诸如:搜索满足用户指定标准的输入项;增加输入项;删除输入项;修改输入项;比较输入项。
现在说明按照本发明的一个说明性实施例的、在图3的网络通信实体中包括的组播地址动态客户端应用协议(MADCAP)客户模块304c。MADCAP模块304c利用MADCAP,它是使得主机可以从组播地址分配服务器请求组播地址分配服务的协议。当建立一个视频会议对话以使用组播服务时,视频会议服务器205需要获得组播地址以向在对话中的客户分配。视频会议服务器205可以使用MADCAP协议从组播地址分配服务器动态地获得组播地址。
现在说明按照本发明的一个说明性实施例的、在图3的网络通信实体304中包括的对话启动协议(SIP)模块304d。SIP模块304d利用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服务器发现的对话场景。用户(视频会议客户端应用)可以向预先配置的视频会议服务器登记(人工提供或在启动时通过向公知的“所有SIP服务器”组播地址“sip.mcast.net”(224.0.1.75)发送REGISTER(登记)请求)。第二种机制(REGISTER(登记)请求)是优选的,因为它将不需要每个用户在它们的视频会议客户端应用中人工配置本地SIP服务器的地址。在这种情况下,组播地址需要在网络中被正确地规定范围,以保证用户正在向用于视频会议的正确的SIP服务器登记。除了上述的方法之外,在另一种使得提供处理更简单的方法中,SIP规范推荐管理员使用sip.domainname(domainname:域名)惯例(例如sip.princeton.tce.com)来命名他们的SIP服务器。
现在说明按照本发明的一个说明性实施例的、对应于成员登记的对话场景。图7是图解按照本发明的一个说明性实施例的、用于使用会话启动协议(SIP)来登记视频会议对话的方法的图。图7的示例包括视频会议客户端应用(客户端)702和视频会议服务器(服务器)205。应当明白,词组“客户端应用”和“客户端”在此被可互换地使用。
在成员登记功能中,客户端702向服务器205发送SIP REGISTER(SIP登记)请求(步骤710)。服务器205接收这个消息,并且在成员数据库314中存储客户端702的IP地址和SIP URL。
REGISTER请求可以包括消息主体,虽然在所述标准中未定义其使用。所述消息主体可以包括与登记到服务器205的客户端702的配置选项相关联的附加信息。
服务器205通过向客户端702发回200 OK(200好)消息来确认所述登记(步骤720)。
现在说明按照本发明的一个说明性实施例的、单播和组播视频会议对话。图1B和1C分别是图解按照本发明的两个说明性实施例的、单播视频会议对话和组播视频会议对话。图1B和1C的示例包括客户端1130、客户端2132、客户端3134、以太网开关136、IP路由器138、IP路由器140和WAN 142。
在单播示例中,从每个客户端向每个其他的客户端发送独特的流。这样的手段当更多的参与者加入网络时可以消耗大量的带宽。相反,在组播手段中,仅仅从每个客户端发送一个流。因此,组播手段与单播手段相比较消耗较少的网络资源,诸如带宽。
现在说明按照本发明的一个说明性实施例的、对应于单播视频会议对话建立的对话场景。图8A是图解按照本发明的一个说明性实施例的、使用对话启动协议(SIP)来建立单播视频会议对话的方法的图。图8A的示例包括视频会议客户端应用#1(客户端#1)802、视频会议服务器(服务器)205和视频会议客户端应用#2(客户端#2)806。
从客户端#1 802向服务器205发送INVITE(邀请)请求(步骤810)。INVITE请求被从服务器205转发到客户端#2 806(步骤815)。
从客户端#2 706向服务器205发送180振铃消息(步骤820)。从服务器205向客户端#1 702转发180振铃消息(步骤825)。
从客户端#2 706向服务器205发送200 OK消息(步骤830)。从服务器205向客户端#1 702转发200 OK消息(步骤835)。
从客户端#1 702向客户端#2 706发送确认消息ACK(步骤840)。在两个节点(客户端#1 802和#2 806)之间发生视频会议对话(媒体对话)(步骤845)。
图8B是图解按照本发明的一个说明性实施例的、当从客户端#1 802接收到INVITE请求(图8A的步骤810)时由图2的视频会议服务器205采取的步骤的图。
服务器205初始查看请求用户(客户端#1 802)是否登记到服务器205,并且它也查看被呼叫的用户(客户端#2 806)是否登记到服务器205(步骤850)。
服务器205确定在网络上的每个用户的位置(步骤855),并且确定是否存在连接它们的两个位置(如果不同)的低带宽WAN链路(例如WAN 250)。
如果不存在将两个位置连接到在一起的低带宽链路WAN,则服务器205进行呼叫(步骤865)。但是如果在两个用户之间存在低带宽链路,则所述方法进行步骤870。
在步骤870,服务器205查看在WAN 250上的视频会议对话的策略;这一般变换为“以最大比特率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向在视频会议服务器205内的SIP模块304d发送INVITE请求(步骤903)。SIP模块304d解码所述消息,并且向对话管理器320转发所述INVITE要求(步骤906)。对话管理器320查看有效对话数据库312、成员数据库314和在网络架构数据库316内的策略数据库999,以便保证可以正确地建立对话(分别为步骤909、912和915)。如果可以正确地建立对话,则有效对话数据库312、成员数据库314和策略数据库999向对话管理器320发送OK消息(步骤918、921和924)。一旦完成这个验证处理,则视频会议服务器205将向其他的视频会议服务器通知在系统状态中的改变(步骤927和930)。
对话管理器320向SIP模块304d转发INVITE消息(步骤933),SIP模块304d然后向客户端应用2 997转发所述INVITE消息(步骤936)。在接收到所述INVITE消息时,客户端应用2 997将使用180振铃消息来响应于SIP模块304d,所述180振铃消息指示SIP模块304d已经接收到INVITE消息(步骤939)。所述180振铃消息被SIP模块304d接收、解码和然后转发到对话管理器320(步骤942)。在视频会议服务器205内的图9所示的每个数据库中,客户端的状态被更新(步骤945、948、951、954、957和958)。
180振铃消息被从对话管理器320转发到客户端应用1 998(步骤960和963)。然后,一个200 OK消息被从客户端应用2 997发送到SIP模块304d(步骤966),并且被从SIP模块304d转发到对话管理器320(步骤969)。所述200 OK消息指示客户端应用2 997正在接受对于视频会议对话的邀请。
在视频会议服务器205内的图9所示的每个数据库内,客户端的状态被更新(步骤972、975、978、981、984和985)。一个OK消息被从对话管理器320发送到SIP模块304d,并且从SIP模块304d转发到客户端应用1 998(步骤988和991)。确认消息被从客户端以1 998向客户端应用2 987发送以完成对话的建立(步骤994)。
现在说明按照本发明的一个说明性实施例的、对应于组播视频会议对话建立的对话场景。为了提供组播对话建立,使用对话描述协议(SDP)。SDP协议能够传送组播地址和端口号码。
组播对话建立类似于单播对话建立,除了需要组播地址。组播地址被MADCAP服务器215在网络中分配。
图10是图解按照本发明的另一个说明性实施例的、用于使用对话启动协议(SIP)来建立组播视频会议对话的方法的图。图10的示例包括视频会议客户端应用#1(客户端#1)1002、视频会议服务器(服务器)205、视频会议客户端应用#2(客户端#2)1006、MADCAP服务器215。
从客户端#1 1002向服务器205发送INVITE(邀请)请求(步骤1010)。从服务器205向MADCAP服务器215发送MADCAP请求(步骤1015)。从MADCAP服务器215向服务器205发送确认消息ACK(步骤1020)。INVITE请求被从服务器205转发到客户端#2 1006(步骤1025)。
从客户端#2 1006向服务器205发送180振铃消息(步骤1030)。从服务器205向客户端#1 1002转发180振铃消息(步骤1035)。
从客户端#2 1006向服务器205发送200 OK消息(步骤1040)。从服务器205向客户端#1 1002转发200 OK消息(步骤1045)。
从客户端#1 1002向客户端#2 1006发送确认消息ACK(步骤1050)。在两个节点(客户端#1 1002和#2 1006)之间发生视频会议对话(媒体对话)(步骤1055)。
现在说明按照本发明的一个说明性实施例的、对应于视频会议对话的取消的场景。CANCEL(取消)消息用于终止待决的对话建立尝试。客户端可以使用这个消息来取消客户端早期启动的待决的视频会议对话建立尝试。服务器向INVITE被发送到的、具有待决请求的相同位置转发CANCEL消息。客户端不应当使用“200 OK”消息来响应于CANCEL消息。如果CANCEL消息是不成功的,则可以使用对话终止序列(即BYE(告别)消息)。
图11是图解按照本发明的一个说明性实施例的、用于使用对话启动协议(SIP)来取消视频会议会话的方法。图11的示例包括视频会议客户端应用#1(客户端#1)1102、视频会议服务器(服务器)205、视频会议客户端应用#2(客户端#2)1106。
从客户端#1 1102向服务器205发送INVITE(邀请)请求(步骤1110)。INVITE请求被从服务器205转发到客户端#2 1106(步骤1115)。
从客户端#2 1106向服务器205发送180振铃消息(步骤1120)。从服务器205向客户端#1 1102转发180振铃消息(步骤1125)。
从客户端#1 1102向服务器205发送CANCEL消息(步骤1030)。从服务器205向客户端#2 1106转发CANCEL消息(步骤1135)。
现在说明按照本发明的一个说明性实施例的、对应于视频会议对话的终止的对话场景。图12是图解按照本发明的一个说明性实施例的、用于使用对话启动协议(SIP)来终止在两个客户端之间的视频会议会话的方法的图。图12的示例包括第一客户端(视频会议客户端应用#1)1202、视频会议服务器(服务器)205和第二客户端(视频会议客户端应用#2)1206。
客户端应用#1 1202确定切断与客户端应用#2 1206的呼叫。因此,客户端应用#1 1202向服务器205发送BYE消息(步骤1210)。服务器205向客户端应用#2 1206转发BYE消息(步骤1220)。
客户端应用#2 1206向服务器205发送200 OK消息,指示它(客户端应用#2 1206)已经断开连接(步骤1230)。服务器205向客户端应用#11202转发200 OK消息,指示成功的断开连接(步骤1240)。
图13是图解按照本发明的一个说明性实施例的、用于使用对话启动协议(SIP)来终止在三个客户端之间的视频会议会话的方法的图。图13的示例包括第一客户端(视频会议客户端应用#1)1302、视频会议服务器(服务器)205、第二客户端(视频会议客户端应用#2)1306和第三客户端(视频会议客户端应用#3)1308。
客户端应用#1 1302决定中断与客户端应用#2 1306和客户端应用#3 1308的呼叫;这不断开在客户端应用#2 1306和客户端应用#3 1308之间的对话。
客户端应用#1 1302向服务器205发送BYE消息(步骤1310)。服务器205解译所述BYE消息,并且明白客户端应用#2 1306和客户端应用#3 1308涉及与客户端应用#1 1302的视频会议对话,并且向客户端应用#2 1306和客户端应用#3 1308转发BYE消息(步骤1320和1330)。
客户端应用#2 1306向服务器205发回200 OK消息(步骤1340)。服务器205向客户端应用#1 1302转发回200 OK消息(步骤1350)。客户端应用#3 1308向服务器205发送回200 OK消息(步骤1360)。服务器205向客户端应用#1 1302转发回200 OK消息(步骤1370)。
图14是图解按照本发明的另一个说明性实施例的、用于使用对话启动协议(SIP)来终止在三个客户端之间的视频会议会话的方法的图。图14的示例包括第一客户端(视频会议客户端应用#1)1402、视频会议服务器(服务器)205、第二客户端(视频会议客户端应用#2)1406和第三客户端(视频会议客户端应用#3)1408。
客户端应用#1 1402决定中断与客户端应用#2 1406和客户端应用#3 1408的呼叫;这不断开在客户端应用#2 1406和客户端应用#3 1408之间的对话。
客户端应用#1 1402向服务器205发送意欲去往客户端应用#2 1406的BYE消息(步骤1410)。服务器205向客户端应用#2 1406转发所述BYE消息(步骤1420)。客户端应用#11402向服务器205发送意欲去往客户端应用#3 1408的BYE消息(步骤1430)。服务器205向客户端应用#3 1408转发所述BYE消息(步骤1440)。
客户端应用#2 1406向服务器205发回200 OK消息(步骤1450)。服务器205向客户端应用#1 1402转发回200 OK消息(步骤1460)。客户端应用#3 1408向服务器205发送回200 OK消息(步骤1470)。服务器205向客户端应用#11402转发回200 OK消息(步骤1480)。
除了参照图12-14所述的前面的示例之外,可以通过向视频会议用户所属的组播组地址发送所述BYE消息来调用终止。使用这种方法,服务器和其他客户端应用将接收所述消息。这是由于与对话相关联的较小数量的负荷而终止对话的一种更通用和有效的机制。
现在说明按照本发明的一个说明性实施例的、对应于分辨率和帧速率调整的场景。视频会议包括在位于计算机网络上的不同位置的几个用户之间发送现场直播的、双向交互视频。实时的交互视频需要以受限的延迟来发送大量的信息。这要求视频会议系统被连接的计算机网络必须能够向在对话中涉及的每个用户提供足够数量的带宽和服务质量。带宽有时是有限的资源,并且不能在所有网络中总是保证服务质量,因此将存在一些限制。在专用的公司网络中,有可能保证服务质量,但是不总是可能保证大量的带宽。
基本的企业计算机网络基础结构包括通过低速链路连接在一起的几个高速局域网(LAN)(参见例如图2)。高速LAN的每个通常表示在单个地理位置的网络基础结构,并且低速链路是将多个地理位置连接在一起的长距离链路。使用低速链路的原因是因为长距离链路的成本较高,并且多数网络通信量通常也位于局域网内,因此通常不通过这些长距离链路交换大量的数据。
在基于IP的网络上的服务质量中的近期发展现在提供了一种用于使得其他类型的信息可以通过这些网络被发送的手段。这打开了除了非实时数据通信之外还通过基础结构发送实时信息(即音频和视频)的大门。利用网络服务质量的视频会议服务非常适合于覆盖到这个基础结构上。现在有可能在两个不同地理位置的两个用户可以进行实时的视频会议对话。视频会议对话的一个缺点是实时视频的发送可以消耗极大数量的带宽,并且容易耗尽可用的网络资源。通过网络发送的实时视频的比特率主要依赖于所使用的视频分辨率和压缩算法。通常,可以使用合理数量的带宽在网络上正确地支持在位于不同地理位置的两个、三个或四个用户之间的一个视频会议对话。但是,一般情况是这样,在一个视频会议对话中四个之外的附加用户不能被支持,并且由于带宽约束而不能支持第二个视频会议对话。视频会议系统的限制因素是在地理位置之间的低速长距离链路。
一种可能的解决方案是增加在两个地理位置之间的长距离链路的带宽,以便支持在系统中的多个用户。这种手段的缺点是带宽很昂贵。第二种解决方案是具有这样的系统,其中仅仅在视频会议对话中的有限数量的用户(即积极用户)被允许以高分辨率和高比特率发送,而且在所述对话中的剩余的用户(即消极用户)仅仅可以以有限的比特率和有限的分辨率来发送。视频会议对话组织者将控制哪些用户以高分辨率发送和哪些用户以低分辨率发送。如果用户在对话中不积极地谈话或交互,没必要以高分辨率发送他们的视频。这样的手段可以节省大量的带宽。
向前参见图18A的视频会议客户端应用1800,这种手段涉及具有:在视频会议客户端应用1800中的一个用户接口1808,它支持各种窗口大小(即,用于表示高分辨率和低分辨率的解码视频流的不同大小的显示窗口);消息传递系统1842(被包括在网络实体1806中,所述网络实体1806继而被包括在图18A的视频会议客户端应用1800中),它指定在服务器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、客户端11504、客户端2 1506、客户端3 1508和客户端4 1510。
从客户端1 1504向服务器205发送MSG_WINDOW_SWITCH消息(步骤1520)。从服务器205向客户端1 1504发送确认消息ACK(步骤1525)。
从服务器205向客户端1 1504发送MSG_ADJUST_CODEC(低)消息(步骤1530)。从客户端1 1504向服务器205发送确认消息ACK(步骤1535)。
从服务器205向客户端2 1506发送MSG_ADJUST_CODEC(高)消息(步骤1540)。从客户端2 1506向服务器205发送确认消息ACK(步骤1545)。
从服务器205向客户端3 1508发送MSG_ADJUST_CODEC(低)消息(步骤1550)。从客户端3 1508向服务器205发送确认消息ACK(步骤1555)。
从服务器205向客户端4 1510发送MSG_ADJUST_CODEC(低)消息(步骤1560)。从客户端4 1510向服务器205发送确认消息ACK(步骤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向客户端2 1604、客户端3 1608、客户端1 1602和客户端4 1610发送数据(分别是步骤1640、1645、1650、1655)。
进行到图17,从客户端1 1602向网络路由器1606发送“以低比特率/分辨率发送”的消息(步骤1720)。从客户端3 1608向网络路由器1606发送“以高比特率/分辨率发送”的消息(步骤1725)。从客户端2 1604向网络路由器1606发送“以高比特率/分辨率发送”的消息(步骤1630)。从客户端4 1610向网络路由器1606发送“以低比特率/分辨率发送”的消息(步骤1635)。
从网络路由器1606向客户端2 1604、客户端3 1608、客户端1 1602和客户端4 1610发送数据(分别是步骤1740、1745、1750、1755)。
现在说明按照本发明的一个说明性实施例的、客户端应用架构。所述客户端应用负责与用户交互、与其他客户端应用交换多媒体内容和管理与服务器应用的呼叫。而且,应当明白,客户端应用也能够包括在其本身内的服务器功能。图18A是按照本发明的一个说明性实施例的、视频会议客户端应用1800的方框图。应当明白,可以在诸如计算机220a-f的任何一个和/或计算机230a-c的任何一个的计算机上找到视频会议客户端应用1800。
视频会议客户端应用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之间的连接,以便正确地提供元数据(Metadata)(包括时间标记和序号)和多媒体数据。如果分组晚了,则可以根据系统的当前条件在解码前或后丢弃它们。RTP时间标记随后被使用来建立表示和重放时间标记。
主控制模块1822也负责将音频和视频解码器1890的输出引导到屏幕以重放、引导到文件以记录或引导到两者。每个解码器1890被独立地对待,因此在一个示例情况下,这使得要显示在屏幕上的一个解码器的输出、要记录在文件中的第二解码器的输出和来自第三解码器的输出可以同时到达文件和屏幕。
除了上述的责任之外,主控制模块1822也可以涉及应用层服务质量。主控制模块1822收集关于分组丢失、所接收和发送的字节的信息,并且于是根据这个信息来作为。这可以涉及向另一个客户端或视频会议服务器205发送消息以帮助补救在网络中发生的情况。可以使用实时控制协议(RTCP)来报告统计数据和分组损失,并且也可以用于应用相关联的信号通知。
图18B是进一步图解按照本发明的一个说明性实施例的、在图18A的多媒体中间层1802中包括的音频混合器1899的方框图。音频混合器1899,在此也称为“增益控制模块”,可工作地连接到多个音频解码器1890。多个音频解码器1880接收压缩的音频流,并且输出解压的音频流。解压的音频流被输入到音频混合器1899,并且作为组合的音频流被输出。
图18C是进一步图解按照本发明的一个说明性实施例的、在图18A的多媒体中间层1802中包括的回声消除模块1898的方框图。回声消除模块(在此也称为“回声消除器”)1898工作地连接到扬声器1897(例如音频重放模块1832b)和麦克风1896(例如麦克风接口1830b)。当在全双工或双向通信系统中产生来自扬声器1897的声音时,意欲仅能从本地倾听者听见它。但是,所产生的声音也被本地麦克风1896听见,本地麦克风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向数据实体的输入功能设置这个回叫功能。例如,当编解码器已经完成了编码或解码一个帧时,这个功能将被编解码器调用,以便从编码或解码处理提供所意欲的信息。由于编解码器不能在此回叫的同时做任何事情的限制,这个功能将尽可能快地返回以防止在系统中的等待和不必要的延迟。在整个功能中应当执行的唯一的附加等待应当是当访问共享的资源时的互斥锁定。
不同类型的编解码器可用的选项的范围将不同。为了满足用于管理这些选项的要求,应当使用简单的接口。优选(但表示强制)的是基于文本的接口,因为它提供灵活性。应当有一组公共的命令——诸如START(开始)和STOP(停止)——和编解码器特定的命令。这种方法提供了一种简单的接口,但是向编解码器增加了附加的复杂性,因为需要简单的解释器。例如,Options函数可以是足够一般以读取和写入选项。
示例:结果=Options(“开始”);结果=Options(“分辨率=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。
在此参见图8A,视频捕获接口1830可以包括下面的任何一个:万维网摄像机(未示出);捕获卡和高质量摄像机(未示出);摄像机接口1830a;麦克风接口1830b;文件接口1830c;等等。
应当通过使用由Windows操作系统提供的、用于Windows的视频(VFW)应用编程接口(API)的USB或Firewire(IEEE1394)接口或者通过在诸如Linux的不同操作系统下使用的替代捕获驱动器来支持万维网摄像机。当然,本发明不限于上述的接口、操作系统或驱动器,因此在保持本发明的精神和范围的情况下,也可以使用其他接口、操作系统和驱动器。
成员查看模块1834用于示出在进行的回叫中参与的成员。回叫的起始者(即主方)可以或者丢弃不需要的成员或者选择积极的成员。每个成员可以选择一个或多个成员来进行私人聊天消息交换。另外,在成员查看模块1834中以信号通知成员的状态。成员可以随后将他们自己的状态设置为例如“不可获得”,以便向其他成员发信号表示它们当前不可被获得,但是将不久返回。
除了视频流之外,每个成员还具有机会来使用聊天模块1836向或者全部或者仅仅一些其他的成员发送聊天消息。消息被显示在聊天视图中并且在聊天编辑视图中被编辑。滚动条使得可以查看旧的消息。
现在说明按照本发明的一个说明性实施例的、用于视频会议客户端应用1800的场景。下面的说明仅仅是视频会议客户端应用1800的一些特征的基本指南,而不是意欲表示特征的完整列表。所述模式将包括登录、回叫的启动、呼叫的接受和退出。
当初始开始视频会议客户端应用1800时进行登录。可以根据在启动时向操作系统提供的登录名来自动进行登录,或者可以使用依赖于登录的不同的接。这依赖于当前使用的网络的验证和如何管理策略的优选方法。最简单的方法是使用与在Windows操作系统中使用的相同的登录名来保持命名一致,并且具有能力来重新使用现有的用户数据库(如果适用的话)。
图23是图解按照本发明的一个说明性实施例的、登录接口2300的图。如果用户不当前具有在服务器上的帐户,则使用签约特征2330。可以在任何电子邮件地址输入框2340内提供电子邮件地址以容易访问。
为了启动呼叫,视频会议客户端应用1800将向服务器205查询可用的候选者列表。客户端可以选择他或她希望加入视频会议对话中的用户。当涉及两个参与者时,对话将被设置为单播;否则,当涉及超过两个参与者时,对话被设置为组播对话。
图24是图解按照本发明的一个说明性实施例的、用于对话启动的用户选择接口2400的方框图。
一旦用户被邀请到一个呼叫,则在它们的屏幕上显示出发起者的姓名的消息。用户可以随后接受或拒绝所述呼叫。如果用户接受所述呼叫,则视频会议客户端应用1800向服务器205发送接受(或确认)消息。服务器205然后向当前在呼叫中参与的每个成员通知关于新成员。如果用户通过向服务器205发送取消消息来拒绝呼叫,则所有其他的成员也被通知这个事件。图25是图解按照本发明的一个说明性实施例的、用于接受或拒绝输入的呼叫的邀请接口2500的方框图。
退出将从在视频会议服务器205的数据库实体302中包括的成员数据库314去除用户。BYE消息被发送到对话的每个参与客户端。则可以通过组播或单播来进行。组播是用于发送这个消息的优选方法。
IP组播是当从单个发送者向多个接收者传送信息时有助于解决网络拥挤的一种技术。组播使得信息由发送者仅仅发送一次,然后在网络中被聪明地复制。这使得网络可以有效地使用它可用的资源。
当附加的参与者变为加入视频会议对话时,从单播对话向组播对话的转换将发生。为了说明的目的,现在相对于向现有的视频会议对话邀请新的参与者来描述两种手段。但是,应当明白,在本领域内普通技术人员将考虑到这些和各种其他的手段:其中,在保持本发明的精神和范围的情况下,可以按照本发明向现有的视频会议对话中加入新的参与者。在第一种手段中,发起的参与者(初始请求视频会议对话的参与者)通知服务器来允许另外的人们(新的参与者)加入现有的视频会议对话。在第二种手段中,从当前参与的客户之一向他们要邀请的那个人(新参与者)的服务器发送邀请。服务器将然后向新的参与者发送邀请。
图26是图解按照本发明的一个说明性实施例的、用于从单播向组播转换基于IP的视频会议对话的方法的流程图。所述方法是相对于向在网络中的当前参与者之间的视频会议对话增加附加的参与者而被描述的。
从在视频会议对话中的当前参与者之一向用于识别要增加到所述视频会议对话的附加方的视频会议服务器发送一个请求(步骤2610)。应当明白,当前的参与者和附加方可以被同一服务器或被多个服务器服务。在后一种情况下,当前的参与者向服务附加方的服务器发送所述请求。
从视频会议范围向附加方发送邀请(步骤2620)。从附加方接收一个消息来指示对于所述邀请的接受或拒绝(步骤2630)。
如果接受邀请,则分配组播地址,并且视频会议服务器向在视频会议对话中涉及的每个参与者,包括当前的参与者和附加方,发送组播地址(步骤2640)。每个参与者,包括当前的参与者和附加方,向网络发送因特网组组播协议(即IGMP)请求。在由视频会议服务器分配的组播地址上发送和接收用于视频会议对话的所有通信量(步骤2660)。
在另一个附加方要加入视频会议对话(自愿(例如,如果启动参与者或一些其他参与者(或网络管理员)已经提前指定了其他方可以加入当前的视频会议)或被邀请)的情况下,则可以重复步骤2610到2650以向组播视频会议对话增加所述其他附加方。在这样的情况下,可以由当前方(包括在前面的步骤中刚刚加入的方)之一或甚至其他附加方来发送用于识别所述其他附加方的请求(如果视频会议应用被配置来允许向现有的视频会议对话进行这样的输入)。
因此,当附加的参与者期望加入现有的视频会议对话时,不是建立在每个客户端之间的附加的单播对话(见例如图1B),而是开始组播对话。使用组播的主要优点之一是通过仅仅发送内容的单个拷贝而不是多个拷贝来更有效地使用网络资源。
虽然已经参照附图描述了说明性实施例,但是应当明白,本发明不限于那些明确的实施例,本领域内的技术人员可以在不脱离本发明的精神和范围的情况下进行各种改变和修改。所有的这些改变和修改意欲被包括在由所附的权利要求所限定的本发明的范围内。

从单播到组播的视频会议对话转换.pdf_第1页
第1页 / 共54页
从单播到组播的视频会议对话转换.pdf_第2页
第2页 / 共54页
从单播到组播的视频会议对话转换.pdf_第3页
第3页 / 共54页
点击查看更多>>
资源描述

《从单播到组播的视频会议对话转换.pdf》由会员分享,可在线阅读,更多相关《从单播到组播的视频会议对话转换.pdf(54页珍藏版)》请在专利查询网上搜索。

本发明涉及一种用于从单播向组播转换当前发生的视频会议对话的方法。所述方法包括步骤:从服务器向附加方发送邀请(2620),分配公共的组播因特网协议(IP)地址,向在视频会议对话中的至少一个当前的参与者和要加入到视频会议对话中的附加方发送公共的组播IP地址(2640),从当前参与者和附加方向网络发送IGMP消息(2650),在组播地址上进行视频会议对话(2660)。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1