專利名稱:視頻會議系統(tǒng)結構的制作方法
技術領域:
本發(fā)明一般涉及會議系統(tǒng),尤其涉及視頻會議系統(tǒng)。
背景技術:
在公司網絡中運行諸如基于會議的語音和視頻的多媒體應用程序所面臨的一個主要問題是如何管理這些應用程序。在網絡上管理這些應用程序應當考慮一定量的帶寬的分配以及關于應用程序的業(yè)務量的傳輸擔保(deliveryguarantees)。為了實現這種管理,網絡必須知道應用程序和它的用戶,并且應用程序必須知道網絡策略。在現實執(zhí)行中,為此企業(yè)需要智能附加層。
因此,具有一種涉及管理在其上所執(zhí)行的多媒體應用程序的視頻會議系統(tǒng)是非常需要和有利的,從而克服現有技術的不足。
發(fā)明內容
本發(fā)明的視頻會議系統(tǒng)解決了上述問題和現有技術的其它相關問題。
根據本發(fā)明的一方面,提供一種用于具有至少兩個客戶設備的網絡的視頻會議系統(tǒng)。所述視頻會議系統(tǒng)包括至少一個集中服務器和一個策略服務器,其中所述策略服務器用于指定管理至少兩個客戶設備之間的視頻會議會話的一個或多個策略,并且用于將一個或多個策略提供給至少一個集中服務器。
根據本發(fā)明的另一方面,在具有至少一個集中服務器和至少兩個客戶設備的網絡中,提供一種通過至少一個集中服務器將預定策略強加給視頻會議會話的方法。將預定策略存儲在網絡中的一個可被至少一個集中服務器訪問到的位置。當開始視頻會議會話時,向網絡詢問預定策略。根據預定策略來管理視頻會議會話。
根據本發(fā)明的又一方面,在具有至少一個集中服務器和至少兩個客戶設備的網絡中,提供一種管理視頻會議會話的方法。將關于視頻會議會話的預定策略存儲在網絡中。當開始視頻會議會話時,詢問網絡以便從預定策略中獲得視頻會議會話的相應策略。根據相應策略來管理視頻會議會話。
從以下結合附圖的優(yōu)選實施例的詳細描述中,本發(fā)明的這些和其它方面、特征和優(yōu)點將變得更加明顯,其中圖1A是圖解說明根據本發(fā)明示例性實施例的、應用本發(fā)明的計算機系統(tǒng)100的方框圖;圖1B是圖解說明根據本發(fā)明示例性實施例的單播視頻會議會話的方框圖;圖1C是圖解說明根據本發(fā)明示例性實施例的組播視頻會議會話的方框圖;圖2是圖解說明根據本發(fā)明示例性實施例的應用本發(fā)明的網絡200的方框圖;圖3是圖解說明根據本發(fā)明示例性實施例的圖2的視頻會議服務器205方框圖;圖4是圖解說明根據本發(fā)明示例性實施例的圖3的數據庫實體中所包含的成員數據庫314的成員數據庫條目400的示意圖;圖5是圖解說明根據本發(fā)明示例性實施例的圖3的數據庫實體中所包含的有效會話數據庫312的有效會話條目500的方框圖;圖6是圖解說明根據本發(fā)明示例性實施例的簡單網絡管理協(xié)議(SNMP)客戶服務器結構600的方框圖;圖7是圖解說明根據本發(fā)明示例性實施例,一種用于注冊采用會話啟動協(xié)議(SIP)的視頻會議會話的方法的示意圖;圖8A是圖解說明根據本發(fā)明示例性實施例,一種用于建立采用會話啟動協(xié)議(SIP)的單播視頻會議會話的方法的示意圖;圖8B是圖解說明根據本發(fā)明示例性實施例,當從客戶#1 802接收到INVITE請求時(圖8A的步驟810)圖2的視頻會議服務器205所執(zhí)行的步驟的示意圖;圖9是進一步圖解說明根據本發(fā)明示例性實施例的圖8A的方法的示意圖;圖10是表示根據本發(fā)明的另一個示例性實施例,一種用于建立采用會話啟動協(xié)議(SIP)的組播視頻會議會話的方法的示意圖;圖11是圖解說明根據本發(fā)明示例性實施例,一種用于取消采用會話啟動協(xié)議(SIP)的視頻會議會話的方法的示意圖;圖12是圖解說明根據本發(fā)明示例性實施例,一種用于結束兩個客戶之間的采用會話啟動協(xié)議(SIP)的視頻會議會話的方法的示意圖;圖13是圖解說明根據本發(fā)明示例性實施例,一種用于結束三個客戶之間的采用會話啟動協(xié)議(SIP)的視頻會議會話的方法的示意圖;圖14是表示根據本發(fā)明的另一個示例性實施例,一種用于結束三個客戶之間的采用會話啟動協(xié)議(SIP)的視頻會議會話的方法的示意圖;圖15是圖解說明根據本發(fā)明示例性實施例,一種用于分辨率和幀率調節(jié)的信令方法的示意圖;圖16是圖解說明根據本發(fā)明示例性實施例,在分辨率和幀率調節(jié)(客戶2和3)之前發(fā)信號的示意圖;圖17是圖解說明根據本發(fā)明示例性實施例,在分辨率和幀率調節(jié)(客戶2和3)之后發(fā)信號的示意圖;圖18A是根據本發(fā)明的一個示例性實施例的視頻會議用戶應用程序1800的方框圖;圖18B是進一步圖解說明根據本發(fā)明示例性實施例,圖18A的多媒體接口層1802中所包含的音頻混頻器1899的方框圖;圖18C是進一步圖解說明根據本發(fā)明示例性實施例,圖18A的多媒體接口層1802中所包含的回音消除模塊1898的方框圖;圖19是圖解說明根據本發(fā)明示例性實施例,一種被音頻編解碼器1804a和/或視頻編解碼器1804b中所包含的解碼器1890采用的方法的示意圖;圖20是圖解說明根據本發(fā)明示例性實施例的用戶平面協(xié)議棧2000的示意圖;圖21是圖解說明根據本發(fā)明示例性實施例的控制平面協(xié)議棧2100的示意圖;圖22是圖解說明根據本發(fā)明示例性實施例,對應于圖18A的用戶界面1808的屏幕快照2200的方框圖;
圖23是圖解說明根據本發(fā)明示例性實施例的登錄界面2300的示意圖;圖24是圖解說明根據本發(fā)明示例性實施例的會議開始的用戶選擇界面2400的方框圖;以及圖25是圖解說明根據本發(fā)明示例性實施例,用于接受或拒絕輸入呼叫的開始界面2500的方框圖。
具體實施例方式
本發(fā)明致力于一種視頻會議系統(tǒng)。所述視頻會議系統(tǒng)包括集中視頻會議服務器和用于每個客戶的視頻會議客戶應用程序。視頻會議服務器最好通過控制網絡帶寬資源來提供使能基于視頻會議會話的服務質量(QoS)的平臺。視頻會議用戶應用程序與服務器相互作用以便建立和取消其它客戶應用程序之間的會議。此外,客戶應用程序與其它客戶應用程序交換多媒體內容(例如,實時會議視頻)。而且,客戶應用程序將接口提供給用戶。
需要理解的是,能夠以諸如硬件、軟件、固件、專用處理器、或它們的結合等的各種方式來實現本發(fā)明。最好將本發(fā)明實施為硬件和軟件的結合。而且,最好將軟件實施為在程序存儲設備上確實可行的應用程序??梢詫贸绦蚣虞d到包含任一適當結構的機器并由其執(zhí)行。最好在具有諸如一個或多個中央處理單元(CPU)、隨機存取存儲器(RAM)、和輸入/輸出(I/O)接口等的硬件的計算機平臺上實現所述機器。計算機平臺也包括操作系統(tǒng)和微指令碼。此處所描述的各種處理和功能可以是通過操作系統(tǒng)來執(zhí)行的部分微指令碼,或部分應用程序(或它們的結合)。此外,可以將諸如附加數據存儲設備和打印設備等的各種其它外圍設備連接到計算機平臺。
還需要理解的是,由于最好以軟件來實現附圖所示的一些組成系統(tǒng)部件和方法步驟,所以系統(tǒng)部件(或處理步驟)間的實際連接會根據本發(fā)明的編程方式有所不同。通過在此所給出的示教,本領域的技術人員能夠得知本發(fā)明的這些以及相似的實現或結構。
圖1A是圖解說明根據本發(fā)明示例性實施例的應用本發(fā)明的計算機系統(tǒng)100的方框圖。計算機處理系統(tǒng)100包括至少一個處理器(CPU)102,所述處理器通過系統(tǒng)總線104操作性地連接到其它部件。將只讀存儲器(ROM)106、隨機存取存儲器(RAM)108、顯示適配器110、I/O適配器112、用戶接口適配器114、聲音適配器199、和網絡適配器198操作性地連接到系統(tǒng)總線104。
通過顯示適配器110將顯示設備116操作性地連接到系統(tǒng)總線104。通過I/O適配器112將盤存儲設備(例如,磁盤或光盤存儲設備)118操作性地連接到系統(tǒng)總線104。
通過用戶接口適配器114將鼠標120和鍵盤122操作性地連接到系統(tǒng)總線104。鼠標120和鍵盤122用于向系統(tǒng)100輸入信息或從系統(tǒng)100輸出信息。
通過聲音適配器199將至少一個揚聲器(下文中簡稱為“揚聲器”)197操作性地連接到系統(tǒng)總線104。
通過網絡適配器198將(數字和/或模擬)調制解調器196操作性地連接到系統(tǒng)總線104。
現在將根據本發(fā)明的一個示例性實施例來描述基于網絡管理的策略(PBNM)。PBNM是一種通過提供定義和分配策略的能力來管理網絡的技術(以下參見圖2描述了可以應用本發(fā)明的示例性網絡)。這些策略允許諸如帶寬和安全等的臨界網絡資源的協(xié)調控制。PBNM使諸如基于視頻會議的IP等的需要區(qū)別處理的應用程序可以在網絡上運行。PBMN為允許在單個網絡上同時存在不同類型的應用程序提供了基礎,并且將所需要的資源提供給這些應用程序中的每一個。
更詳細地說,PBNM為使用網絡資源的應用程序和用戶定義策略。例如,可以在網絡上賦予商業(yè)臨界應用程序最高優(yōu)先權和帶寬百分比,可以賦予經由IP的視頻會議和語音次高優(yōu)先權,并且最后可以將網絡上剩余的資源用于不具有嚴格帶寬或時間臨界約束的網絡業(yè)務和文件傳輸??梢酝ㄟ^使用PBNM來實現用戶和應用程序的區(qū)分。
視頻會議系統(tǒng)通過向網絡策略服務器詢問對應視頻會議應用程序的策略而捆綁到PBNM系統(tǒng)。視頻會議服務器從網絡策略服務器獲得策略,并且根據所接收的參數來確定用于視頻會議的網絡中可用的資源。例如,策略將典型地對應于這個應用程序在一天的某些時間中或只對應于某些用戶的可用的帶寬。例如,容易通過添加、刪除、替換、修改策略和或部分策略等來修改這個配置。因此,視頻會議服務器將使用策略中所提供的信息來管理網絡上的會議會話。
圖2是圖解說明根據本發(fā)明示例性實施例的應用本發(fā)明的網絡200的方框圖。網絡200包括視頻會議服務器205、策略和QoS管理器210、MADCAP服務器215、多個第一計算機220a-f、第一局域網225、第一路由器240、多個第二計算機230a-e、第二局域網235、第二路由器245、和廣域網250。
現在將根據本發(fā)明的一個示例性實施例來描述服務器結構。圖3是圖解說明根據本發(fā)明示例性實施例的圖2的視頻會議服務器205的方框圖。可以考慮讓視頻會議服務器205包括以下三個基本實體數據庫實體302、網絡通信實體304、和會話管理實體306。
會話管理實體306負責管理視頻會議會話的建立和取消。會話管理實體306還為視頻會議服務器205提供大部分主控制。會話管理實體306包括用于執(zhí)行會話管理實體306的功能的會話管理器320。
網絡通信實體304負責封裝用于視頻會議系統(tǒng)的多個不同協(xié)議。這些協(xié)議包括用于遠程管理的簡單網絡管理協(xié)議(SNMP)、用于策略管理的通用開放策略服務(COPS)或諸如輕型目錄訪問協(xié)議(LDAP)等的其它協(xié)議、用于組播地址分配的組播地址動態(tài)客戶分配協(xié)議(MADCAP)、用于視頻會議會話管理的會話啟動協(xié)議(SIP)、以及用于分布式視頻會議服務器管理的服務器至服務器消息發(fā)送(messaging)。因此,網絡通信實體304包括SNMP模塊304a、LDAP客戶模塊304b、MADCAP客戶模塊304c、SIP模塊304d、和服務器至服務器管理模塊304e。而且,上述元件304a-e分別與以下元件通信遠程管理終端382、網絡策略服務器(帶寬中介器)384、MADCAP服務器215、桌面會議客戶388、和其它視頻會議服務器390。同樣可以采用協(xié)議塊塊330所集中代表的傳輸控制協(xié)議(TCP)、用戶數據報協(xié)議(UDP)、網際協(xié)議(IP)來實施以上通信。需要理解的是,盡管僅列舉了上述協(xié)議和相應元件,但是在不背離本發(fā)明的精神和范圍的情況下,也可以容易地采用其它協(xié)議和相應元件。
還需要理解的是,視頻會議服務器205的結構也適合于便攜設備上的用戶通過虛擬個人網絡(VPN)連接到團體基礎結構,從而將內容發(fā)送到視頻會議會話和從視頻會議會話接收內容。
數據庫實體302包括以下四個數據庫調度數據庫310、有效會話數據庫312、成員數據庫314、和網絡結構數據庫316。
視頻會議系統(tǒng)服務器205進一步包括,或至少連接到公司LDAP服務器(用戶信息)340和可選外部數據庫342??蛇x外部數據庫342包括LDAP客戶304b。
現在將根據本發(fā)明的一個示例性實施例來描述圖3的數據庫實體302中所包含的成員數據庫314。成員數據庫314包括與已經登錄到視頻會議系統(tǒng)的每個用戶有關的信息。例如,對于每個用戶可以在成員數據庫314中保存以下信息用戶名、密碼(如果可行的話)、所支持的視頻編解碼器和捕獲分辨率、所支持的音頻編解碼器;當前IP地址、當前呼叫號碼(如果成員當前為有效呼叫)、可用性(可用或不可用)、視頻攝像機種類和型號、網絡上的位置(通過有限帶寬廣域網鏈接來連接每個位置)、以及CPU類型和處理能力。需要理解的是,盡管僅列舉了上述項目,但是在不背離本發(fā)明的精神和范圍情況下,也可以在成員數據庫314中為每個用戶保存除了上述項目之外的其它項目,或保存用于替換部分或所有上述項目的其它項目。
圖4是圖解說明根據本發(fā)明示例性實施例的圖3的數據庫實體302中所包含的成員數據庫314的成員數據庫條目400的示意圖。在圖4的示例性實施例中,使用簡單的鏈接表來實施成員數據庫314。但是,需要理解的是,在不背離本發(fā)明的精神和范圍的情況下,可以在本發(fā)明的其它實施例中采用不同手段來實施成員數據庫314。例如,可以使用LDAP類型的數據庫來存儲成員信息。
現在將根據本發(fā)明的一個示例性實施例來描述圖3的數據庫實體302中所包含的有效會話數據庫312。有效會話數據庫312包括關于當前正在發(fā)生的每個視頻會議會話的信息。例如,可以在有效會話數據庫312中為每次呼叫保存以下信息呼叫ID;描述;組播(是/否);如果組播,則組播IP地址;每個參與者的網絡位置、當前傳輸分辨率、當前傳輸比特率、視頻和音頻編解碼器;公開/私人呼叫(別人可以加入嗎?);會話的預定時間;會話的開始時間;以及其它附加選項。需要理解的是,上述項目僅僅是說明性的,在不背離本發(fā)明的精神和范圍情況下,也可以在有效會話數據庫312中保存除了上述項目之外的其它項目,或保存用于替換部分或所有上述項目的其它項目。
圖5是圖解說明根據本發(fā)明示例性實施例的圖3的數據庫實體302中所包含的有效會話數據庫312的有效會話條目500的方框圖。在圖5的示例性實施例中,使用簡單的鏈接表來實施有效會話數據庫312。但是,需要理解的是,在不背離本發(fā)明的精神和范圍的情況下,可以在本發(fā)明的其它實施例中采用不同手段來實施有效會話數據庫312。
再次參見圖3,現在將根據本發(fā)明的一個示例性實施例來描述圖3的數據庫實體302中所包含的網絡結構數據庫316。網絡結構數據庫316包括整個網絡的完全映象(full mapping)。網絡結構數據庫316包括關于每個有效網絡元件(例如,IP路由器、以太網交換器等)的信息以及關于將路由器和交換器連接在一起的鏈接的信息。為了有效地管理網絡中的帶寬和服務質量,視頻會議服務器205需要了解這些信息。
還可以在網絡結構數據庫316中定義關于允許同時發(fā)生的視頻會議會話的數目、視頻會議會話比特率、和帶寬限制的策略信息??梢詫⒕W絡結構表現為網絡結構數據庫316中的加權圖。需要理解的是,網絡結構數據庫316是視頻會議服務器205中的可選數據庫。網絡結構數據庫316可以用于高速緩存從策略服務器210中所請求的策略。
現在將根據本發(fā)明的一個示例性實施例來描述圖3的數據庫實體302中所包含的調度數據庫310。調度數據庫310包含用戶預約使用視頻會議系統(tǒng)的時間的時間表。這就依賴于策略,例如信息系統(tǒng)部門已經位于關于視頻會議會話的數目的位置上,其中所述視頻會議會話的數目是經由廣域網250可在某些鏈接上同時發(fā)生的視頻會議會話的數目。
現在將描述圖3的網絡通信實體304。網絡通信實體304包括簡單網絡管理協(xié)議(SNMP)模塊304a、輕型目錄訪問協(xié)議(LDAP)客戶模塊304b、組播地址動態(tài)客戶分配協(xié)議(MADCAP)客戶模塊304c、會話啟動協(xié)議(SIP)模塊304d、和服務器至服務器管理模塊304e。
現在將根據本發(fā)明的一個示例性實施例來描述圖3的網絡通信實體304中所包含的簡單網絡管理協(xié)議(SNMP)模塊304a。圖6是圖解說明根據本發(fā)明示例性實施例的簡單網絡管理協(xié)議(SNMP)客戶服務器結構600的方框圖。結構600表示SNMP模塊304a的一種實施方式;但是,需要理解的是,本發(fā)明并不局限于圖6所示的結構,所以在不背離本發(fā)明的精神和范圍的情況下也可以采用其它的SNMP結構。SNMP將用于遠程管理和監(jiān)視視頻會議服務器。
簡單網絡管理協(xié)議(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的監(jiān)視和管理。SNMP代理商620c是SNMP結構600中的客戶。SNMP代理商620c主要起到響應來自SNMP管理站610的信息和動作請求的作用。SNMP管理站610是SNMP結構600中的服務器。SNMP管理站610是管理網絡中的代理商的中央實體。SNMP管理站610起到允許管理員收集來自SNMP代理商620c的統(tǒng)計和改變SNMP代理商620c的配置參數的作用。
通過使用SNMP模塊,可以通過將視頻會議服務器205中的資源描述為對象來管理這些資源。每個對象是代表管理代理商的一個方面的可變數據。這種對象的采集通常稱為管理信息庫(MIB)。MIB的作用為采集位于SNMP代理商620c的用于SNMP管理站610的接入點。SNMP管理站610能夠通過檢索SNMP代理商620c中的MIB對象的值來執(zhí)行監(jiān)視。SNMP管理站610還可以使動作發(fā)生在SNMP代理商620c或能夠改變SNMP代理商620c的配置設定。
SNMP經由IP層640進行操作,并且將UDP層630用于它的傳輸協(xié)議。
在SNMP管理協(xié)議中使用以下基本消息GET、SET、和TRAP。GET消息使SNMP管理站610能夠檢索位于SNMP代理商620c的對象的值。SET消息使SNMP管理站610能夠設定位于SNMP代理商620c的對象的值。TRAP消息使SNMP代理商620c能夠將重大事件通知給SNMP管理站610。
現在將根據本發(fā)明的一個示例性實施例來描述SNMP管理實體620中所包括的SNMP管理資源620a。遠程管理能夠監(jiān)視和/或控制視頻會議服務器205中的以下資源有效會話和相關統(tǒng)計、對話記錄、用于視頻會議的網絡策略、會話啟動協(xié)議(SIP)參數和統(tǒng)計、以及MADCAP參數和統(tǒng)計。
從SNMP管理站610發(fā)出以下三種類型的SNMP消息代表管理應用程序GetRequest、GetNextRequest、和SetRequest。前面兩種是GET功能的變種。通過SNMP代理商620c以GetResponse消息的方式來確認這三種消息,其中將所述GetResponse消息傳遞給管理應用程序610a。SNMP代理商620c也可以響應在管理資源中已經發(fā)生的事件來發(fā)出陷阱消息(trap message)。
再次參見圖3,現在將根據本發(fā)明的一個示例性實施例來描述圖3的網絡通信實體304中所包含的輕型目錄訪問協(xié)議(LDAP)客戶模塊304b。LDAP模塊304b采用LDAP,其中LDAP是一種訪問普通目錄信息的基于IP的標準協(xié)議。LDAP定義用于訪問和修改目錄條目的操作,諸如搜索符合用戶特定標準的條目、添加條目、刪除條目、修改條目、和比較條目。
現在將根據本發(fā)明的一個示例性實施例來描述圖3的網絡通信實體中所包括的組播地址動態(tài)客戶分配協(xié)議(MADCAP)客戶模塊304c。MADCAP模塊304c采用MADCAP,其中MADCAP是一種允許主機從組播地址分配服務器請求組播地址分配服務的協(xié)議。當建立視頻會議會話使用組播服務時,視頻會議服務器205需要獲得組播地址以便分配給會話中的客戶。視頻會議服務器205可以使用MADCAP協(xié)議,從組播地址分配服務器動態(tài)地獲得組播地址。
現在將根據本發(fā)明的一個示例性實施例來描述圖3的網絡通信實體304中所包含的會話啟動協(xié)議(SIP)模塊304d。SIP模塊304d采用SIP,其中SIP是一種用于在基于IP的網絡上創(chuàng)建、修改和結束與一個或多個參與者進行多媒體會話的應用層控制協(xié)議。SIP是基于文本消息的協(xié)議。
在基于SIP的視頻會議系統(tǒng)中,通過SIPURL來識別每個客戶和服務器。SIPURL采用user@host的形式,這與電子郵件地址的形式相同,并且在多數情況下,SIP URL是用戶的電子郵件地址。
現在將根據本發(fā)明的一個示例性實施例來描述圖3的網絡通信實體304中所包含的服務器至服務器管理模塊304e。服務器至服務器管理模塊304e采用用于交換視頻會議服務器之間信息的消息。最好在典型的調配中使用服務器至服務器管理模塊304e,其中將唯一的視頻會議服務器(例如,視頻會議服務器205)本地地連接到它支持的網絡(例如,LAN 225),從而多個視頻服務器可以存在于一個公司寬網(例如,網絡200)中。用于交換信息的消息的一些主要目的包括使數據庫同步,以及檢查網絡資源的可用性。
定義以下消息QUERY-在遠程服務器中查詢條目、ADD-將條目添加到遠程服務器、DELETE-從遠程服務器刪除條目、以及UPDATE-更新遠程服務器上的條目。
服務器至服務器消息可以使用每個服務器之間的基于TCP的連接。當一個服務器的狀態(tài)改變時,其余的服務器也用相同的信息進行更新。
現在將根據本發(fā)明的一個示例性實施例來描述視頻會議服務器205的操作場景。首先描述對應于建立視頻會議會話的操作場景,然后描述對應于調節(jié)視頻會議會話期間的分辨率和幀率的操作場景。會話操作場景包括SIP服務器發(fā)現、成員注冊、會話建立、會話取消、以及會議結束。
現在將根據本發(fā)明的一個示例性實施例來描述對應于SIP服務器發(fā)現的會話操作場景。用戶(視頻會議客戶應用程序)可以通過預先配置的視頻會議服務器(人為提供的)來注冊,或者通過將REGISTER請求發(fā)送給公知的“所有SIP服務器”組播地址“sip.mcast.net”(224.0.1.75)來啟動。第二種機制(REGISTER請求)是更可取的,因為它不需要每個用戶在他們的視頻客戶應用程序上人為地配置本地SIP服務器的地址。因此,必須在網絡中正確地圈定組播地址,從而確保用戶將注冊到用于視頻會議的正確的SIP服務器。除了上述方法之外,在另一種使供應處理更簡單的方法中,SIP規(guī)范建議管理員使用sip.域名慣例(例如,sip.princeton.tce.com)來命名他們的SIP服務器。
現在將根據本發(fā)明的一個示例性實施例來描述對應于成員注冊的會話操作場景。圖7是圖解說明根據本發(fā)明示例性實施例,一種用于注冊采用會話啟動協(xié)議(SIP)的視頻會議會話的方法的示意圖。圖7的例子包括視頻會議客戶應用程序(客戶)702和視頻會議服務器(服務器)205。需要理解的是,在這里可交換地使用術語“客戶應用程序”和“客戶”。
在成員注冊功能中,客戶702將SIP REGISTER請求發(fā)送給服務器205(步驟710)。服務器205接收這個消息,并且將客戶702的IP地址和SIP URL存儲在成員數據庫314中。
盡管并沒有在標準中限定消息體的使用,但是REGISTER請求可以包含消息體。消息體可以包含有關正向服務器205注冊的客戶702的配置選項的附加信息。
服務器205通過將200 OK消息發(fā)送回客戶720來確認注冊(步驟720)。
現在將根據本發(fā)明的一個示例性實施例來描述單播和組播視頻會議會話。圖1B和1C是分別表示根據本發(fā)明的兩個示例性實施例的單播視頻會議會話和組播視頻會議會話的方框圖。圖1B和1C的例子包括客戶1 130、客戶2 132、客戶3 134、以太網交換器136、IP路由器138、IP路由器140、和WAN 142。
在單播的例子中,將單一數據流從每個客戶發(fā)送到另一個客戶。當更多參與者加入網絡時,這種方法會消耗大量的帶寬。相反地,在組播方法中,只從每個客戶發(fā)送一個數據流。因此,與單播方法相比,組播方法消耗更少的諸如帶寬等的網絡資源。
現在將根據本發(fā)明的一個示例性實施例描述對應于單播視頻會議會話建立的會話操作場景。圖8A是圖解說明根據本發(fā)明示例性實施例,一種用于建立采用會話啟動協(xié)議(SIP)的單播視頻會議會話的方法的示意圖。圖8A的例子包括視頻會議客戶應用程序#1(客戶#1)802、視頻會議服務器(服務器)205、和視頻會議客戶應用程序#2(客戶#2)806。
將INVITE請求從客戶#1 802發(fā)送到服務器205(步驟810)。將INVITE請求從服務器205轉發(fā)給客戶#2 806(步驟815)。
將180振鈴消息從客戶#2 706發(fā)送給服務器205(步驟820)。將180振鈴消息從服務器205轉發(fā)給客戶#1 702(步驟825)。
將200 OK消息從客戶#2 706發(fā)送到服務器205(步驟830)。將200 OK消息從服務器205轉發(fā)給客戶#1 702(步驟835)。
將確認消息ACK從客戶#1 702發(fā)送給客戶#2 706(步驟840)。在兩個節(jié)點(客戶#1 802和#2 806)之間進行視頻會議會話(媒體會話)(步驟845)。
圖8B是圖解說明根據本發(fā)明示例性實施例,當從視頻會議客戶應用程序#1 802接收到INVITE請求時(圖8A的步驟810),視頻會議服務器205所執(zhí)行的步驟的示意圖。
服務器205首先檢查請求用戶(客戶#1 802)是否向服務器205注冊,并且還檢查被呼叫的用戶(客戶#2 806)是否向服務器205注冊(步驟850)。
服務器205確定每個用戶在網絡中的位置(步驟855),并且確定是否存在連接他們兩個位置(如果不同)的低帶寬WAN鏈接(例如,WAN 250)(步驟860)。
如果不存在將這兩個位置連接在一起的低帶寬鏈接WAN,則服務器205繼續(xù)進行呼叫(步驟865)。但是,如果存在兩個用戶之間的低帶寬鏈接,則方法轉到步驟870。
在步驟870中,服務器205檢查關于WAN 250上的視頻會議會話的策略;這個策略基本上可以解釋為“能夠以最大比特率Y來進行X會話”。服務器205根據這個策略來檢查可用性(步驟875)。如果沒有可用性,服務器205則通過發(fā)送任一以下消息來拒絕INVITE請求“600-各處均忙”、“486-此處忙”、“503-服務不可用”、或“603-拒絕”(步驟880),并且結束這個方法(而不用繼續(xù)進行圖8A的方法的步驟815)。但是,如果具有可用性,服務器205則繼續(xù)進行呼叫(步驟865)。需要理解的是,步驟865在圖8A的方法的步驟815之后。
圖9是進一步圖解說明根據本發(fā)明示例性實施例的圖8A的方法的示意圖。圖9的例子包括客戶應用程序1 998、客戶應用程序2 997、視頻會議服務器205、和其它視頻會議服務器986。同樣在圖9中示出的視頻會議服務器205的元件包括成員數據庫314、有效會話數據庫312、網絡結構數據庫316中所包含的策略數據庫999、會話管理器320、SIP模塊304d、和服務器至服務器管理模塊304e。
由于圖9描述了視頻會議服務器205中的內部相互作用,因此僅在基本層示出了視頻會議服務器205的實體之間的信令流程。
將INVITE請求從客戶應用程序1 998發(fā)送到視頻會議服務器205中的SIP模塊304d(步驟903)。SIP模塊304d對消息進行解碼,并且將INVITE請求轉發(fā)給會話管理器320(步驟906)。會話管理器320檢查有效會話數據庫312、成員數據庫314、和網絡結構數據庫316中的策略數據庫999,以便確保能夠正確地建立會話(分別為步驟909、912、和915)。如果能夠正確地建立會話,則有效會話數據庫312、成員數據庫314、和策略數據庫999將OK消息發(fā)送給會話管理器320(步驟918、921、和924)。一旦完成這一驗證處理,則視頻會議服務器205將系統(tǒng)狀態(tài)中地變化通知給其它視頻會議服務器(步驟927和930)。
會話管理器320將INVITE消息轉發(fā)給SIP模塊304d(步驟933),然后SIP模塊304d將INVITE消息轉發(fā)給客戶應用程序2 997(步驟936)。當接收INVITE消息時,客戶應用程序2 997將通過180振鈴消息響應SIP模塊304d,其中180振鈴消息表示SIP模塊304d已經接收到INVITE消息(步驟939)。SIP模塊304d接收并解碼180振鈴消息,并且將其轉發(fā)給會話管理器320(步驟942)。在視頻會議服務器205內的如圖9所示的每個數據庫中更新客戶的狀態(tài)(步驟945、948、951、954、957、和958)。
將180振鈴消息從會話管理器320轉發(fā)給客戶應用程序1 998(步驟960和963)。然后將200 OK消息從客戶應用程序2 997發(fā)送給SIP模塊304d(步驟966),再將其從SIP模塊304d轉發(fā)給會話管理器320(步驟969)。200 OK消息表示客戶應用程序2 997接受視頻會議會話的邀請。
在視頻會議服務器205內的如圖9所示的每個數據庫中更新客戶的狀態(tài)(步驟972、975、978、981、984、和985)。將OK消息從會話管理器320發(fā)送給SIP模塊304d,再將其從SIP模塊304d轉發(fā)給客戶應用程序1 998(步驟988和991)。將ACK消息從客戶應用程序1 998發(fā)送給完成會話建立的客戶應用程序2 987(步驟994)。
現在將根據本發(fā)明的一個示例性實施例來描述對應于組播視頻會議會話建立的會話操作場景。為了建立組播會話,使用會話描述協(xié)議(SDP)。SDP協(xié)議能夠傳送組播地址和端口數。
除了需要組播地址之外,組播會話建立與單播會話建立相似。在網絡中通過MADCAP服務器215來分配組播地址。
圖10是表示根據本發(fā)明的另一個示例性實施例,一種用于建立采用會話啟動協(xié)議(SIP)的組播視頻會議會話的方法的示意圖。圖10的例子包括視頻會議客戶應用程序#1(客戶#1)1002、視頻會議服務器(服務器)205、視頻會議客戶應用程序#2(客戶#2)1006、和MADCAP服務器215。
將INVITE請求從客戶#1 1002發(fā)送到服務器205(步驟1010)。將MADCAP請求從服務器205發(fā)送到MADCAP服務器215(步驟1015)。將確認消息ACK從MADCAP服務器215發(fā)送到服務器205(步驟1020)。將INVITE請求從服務器205轉發(fā)給客戶#2 1006(步驟1025)。
將180振鈴消息從客戶#2 1006發(fā)送給服務器205(步驟1030)。將180振鈴消息從服務器205轉發(fā)給客戶#1 1002(步驟1035)。
將200 OK消息從客戶#2 1006發(fā)送給服務器205(步驟1040)。將200 OK消息從服務器205轉發(fā)給客戶#1 1002(步驟1045)。
將確認消息ACK從客戶#1 1002發(fā)送給客戶#2 1006(步驟1050)。在兩個節(jié)點(客戶#1 1002和#2 1006)之間進行視頻會議會話(媒體會話)。
現在將根據本發(fā)明的一個示例性實施例來描述對應于取消視頻會議會話的會話操作場景。CANCEL消息用于結束未決的會議建立嘗試??蛻艨梢酝ㄟ^使用這個消息來取消客戶先前啟動的未決的視頻會議會話建立嘗試。服務器將CANCEL消息轉發(fā)給具有未決請求的INVITE已被發(fā)送至的相同位置。客戶不用通過“200 OK”消息來響應CANCEL消息。如果CANCEL消息失敗,則可以使用會話結束程序(即,BYE消息)。
圖11是圖解說明根據本發(fā)明示例性實施例,一種用于取消采用會話啟動協(xié)議(SIP)的視頻會議會話的方法的示意圖。圖11的例子包括視頻會議客戶應用程序#1(客戶#1)1102、視頻會議服務器(服務器)205、和視頻會議客戶應用程序#2(客戶#2)1106。
將INVITE請求從客戶#1 102發(fā)送給服務器205(步驟1110)。將INVITE請求從服務器205轉發(fā)給客戶#2 1106(步驟1115)。
將180振鈴消息從客戶#2 1106發(fā)送給服務器205(步驟1120)。將180振鈴消息從服務器205轉發(fā)給客戶#1 1102(步驟1125)。
將CANCEL消息從客戶#1 1102發(fā)送給服務器205(步驟1130)。將CANCEL消息從服務器205轉發(fā)給客戶#2 1106(步驟1135)。
現在將根據本發(fā)明的一個示例性實施例來描述對應于結束視頻會議會話的會話操作場景。圖12是圖解說明根據本發(fā)明示例性實施例,一種用于結束兩個客戶之間的采用會話啟動協(xié)議(SIP)的視頻會議會話的方法的示意圖。圖12的例子包括第一客戶(視頻會議客戶應用程序#1)1202、視頻會議服務器(服務器)205、和第二客戶(視頻會議客戶應用程序#2)1206。
客戶#1 1202決定中止與客戶#2 1206的呼叫。因此,客戶#1 1202將BYE消息發(fā)送給服務器205(步驟1210)。服務器205將BYE消息轉發(fā)給客戶#21206(步驟1220)。
客戶#2 1206將200 OK消息發(fā)送回服務器205,以表示他(客戶#2 1206)已經斷開(步驟1230)。服務器205將200 OK消息轉發(fā)給客戶#1 1202,以表示斷開成功(步驟1240)。
圖13是圖解說明根據本發(fā)明示例性實施例,一種用于結束三個客戶之間的采用會話啟動協(xié)議(SIP)的視頻會議會話的方法的示意圖。圖13的例子包括第一客戶(視頻會議客戶應用程序#1)1302、視頻會議服務器(服務器)205、第二客戶(視頻會議客戶應用程序#2)1306、和第三客戶(視頻會議客戶應用程序#3)1308。
客戶#1 1302決定中止與客戶#2 1306和客戶#3 1308的呼叫;這并沒有中止客戶#2 1306與客戶#3 1308之間的會話。
客戶#1 1302將BYE消息發(fā)送給服務器205(步驟1310)。服務器205對BYE消息進行解譯,并知道客戶#2 1306和客戶#3 1308包含在與客戶#1 1302的視頻會議會話中,并且將BYE消息轉發(fā)給客戶#2 1306和客戶#3 1308(步驟1320和1330)。
客戶#2 1306將200 OK消息發(fā)送回服務器205(步驟1340)。服務器205將200 OK消息轉發(fā)給客戶#1 1302(步驟1350)??蛻?3 1308將200 OK消息發(fā)送回服務器205(步驟1360)。服務器205將200 OK消息轉發(fā)回客戶#11302(步驟1370)。
圖14是表示根據本發(fā)明的另一個示例性實施例,一種用于結束三個客戶之間的采用會話啟動協(xié)議(SIP)的視頻會議會話的方法的示意圖。圖14的例子包括第一客戶(視頻會議客戶應用程序#1)1402、視頻會議服務器(服務器)205、第二客戶(視頻會議客戶應用程序#2)1406、和第三客戶(視頻會議客戶應用程序#3)1408。
客戶#1 1402決定中止與客戶#2 1406和客戶#3 1408的呼叫;這并沒有中止客戶#2 1406與客戶#3 1408之間的會話。
客戶#1 1402將BYE消息發(fā)送給接到客戶#2 1406的服務器205(步驟1410)。服務器205將BYE消息轉發(fā)給客戶#2 1406(步驟1420)??蛻?1 1402將BYE消息發(fā)送給接到客戶#3 1408的服務器205(步驟1430)。服務器205將BYE消息轉發(fā)給客戶#3 1408(步驟1440)。
客戶#2 1406將200 OK消息發(fā)送回服務器205(步驟1450)。服務器205將200 OK消息轉發(fā)回客戶#1 1402(步驟1460)??蛻?3 1408將200 OK消息發(fā)送回服務器205(步驟1470)。服務器205將200 OK消息轉發(fā)回客戶#11402(步驟1480)。
除了關于圖12至14所描述的上述例子之外,還可以通過將BYE消息發(fā)送到屬于視頻會議用戶的組播群地址來請求結束。使用這種方法,服務器和其它客戶應用程序將接收到這個消息。由于與這種方法有關的開銷更低,所以這是一種用于結束會話的更通用和更有效的機制。
現在將根據本發(fā)明的一個示例性實施例來描述對應于分辨率和幀率調節(jié)的操作場景。視頻會議涉及傳輸位于計算機網絡中不同位置的多個用戶之間的現場雙向交互式視頻。實時交互式視頻要求傳輸大量具有強制延遲的信息。這就要求視頻會議系統(tǒng)所捆綁到的計算機網絡必須能夠為會話中所包含的每個用戶提供足夠的帶寬和服務質量。帶寬有時是有限的資源,但是不能始終保證所有網絡中的服務質量。因此,將存在一些局限性。在私有企業(yè)網絡中是能夠保證服務質量,但是不可能始終保證大量的帶寬。
基本企業(yè)計算機網絡基礎結構包括多個通過低速鏈接連接在一起的高速局域網(LAN)(例如,見圖2)。每個高速LAN通常代表位于單個地理位置上的網絡基礎結構,并且低速鏈接為將多個地理位置連接到一起的持久鏈接。使用低速鏈接的原因是由于持久鏈接的費用較高,并且大部分網絡業(yè)務通常局限于局域網,所以通常并沒有經由這些持久鏈接來交換大量數據。
目前,在基于IP的網絡上的服務質量的新發(fā)展就是提供一種允許通過這些網絡來傳輸其它類型的信息的裝置。這將導致基礎結構上除了傳輸非實時數據業(yè)務之外還可以傳輸實時信息(即,音頻和視頻)。利用網絡服務質量的視頻會議服務非常適合于覆蓋到這種基礎結構之上?,F在兩個位于兩個不同地理位置上的用戶就可以進行實時視頻會議會話了。視頻會議會話的一個缺點就是實時視頻的傳輸會消耗大量帶寬并且很容易耗盡可用網絡資源。網絡上所傳輸的實時視頻的比特率主要取決于所使用的視頻分辨率和壓縮算法。典型地,具有適當量的帶寬的網絡完全可以支持位于不同地理位置的兩個、三個、或四個用戶之間的一個視頻會議會話。但是問題在于,通常由于帶寬限制,所以不能支持一個視頻會議會話中的四個以上的附加用戶,或者不能支持兩個視頻會議會話。視頻會議系統(tǒng)的限制因素在于地理位置之間的低速持久鏈接。
一種可行的方案就是增加兩個地理位置之間的持久鏈接的帶寬,從而支持系統(tǒng)中的更多用戶。這種方法的缺點在于帶寬是十分昂貴的。第二種方案就是提供一種系統(tǒng),其只允許視頻會議會話中的有限量的用戶(即,有效用戶)以高分辨率和高比特率來進行傳輸,而會話中的其余用戶(即,無效用戶)只能以有限的比特率和有限的分辨率來進行傳輸。視頻會議會話組織者可以控制哪些用戶以高分辨率來進行傳輸以及哪些用戶以低分辨率來進行傳輸。如果用戶并沒有在會話中進行活躍的講話或相互交流,則沒有必要以高分辨率來發(fā)送他們的視頻。這種方法能夠極大地節(jié)省帶寬。
參見在前的圖18A的視頻會議客戶應用程序1800。這種方法涉及在視頻會議客戶應用程序1800中提供用于支持各種窗口尺寸(即,顯示高分辨率和低分辨率解碼視頻流的不同尺寸的顯示窗口)的用戶界面1808,和用于指定集中服務器205和其它客戶的應用程序之間的通信的消息發(fā)送(messaging)系統(tǒng)1842(包含在網絡實體1806中,而網絡實體1806依次包含于圖18A的視頻會議客戶應用程序1800中)。消息發(fā)送系統(tǒng)1842包括用于控制每個客戶的應用程序的編碼分辨率和傳輸比特率的消息。
現在將根據本發(fā)明的一個示例性實施例來描述對應于分辨率和幀率調節(jié)的消息。尤其是描述MSG-WINDOW-SWITCH消息和MSG-ADJUST-CODEC消息。
將MSG-WINDOW-SWITCH消息從客戶發(fā)送到服務器,以表示有效用戶和無效用戶之間的切換;換而言之,有效用戶變成了無效用戶,而無效用戶變成了有效用戶。視頻會議服務器將通過客戶確認這個請求。
將MSG-ADJUST-CODEC消息從服務器發(fā)送給每個客戶。MSG-ADJUST-CODEC消息將向用戶表明用戶將以什么分辨率(即,CIF或QCIF)和幀率來進行發(fā)送。通過每個客戶來確認MSG-ADJUST-CODEC消息。
圖15是圖解說明根據本發(fā)明示例性實施例,一種用于分辨率和幀率調節(jié)的信令方法的示意圖。圖15的例子包括視頻會議服務器(服務器)205、客戶11504、客戶2 1506、客戶3 1508、和客戶4 1510。
將MSG-WINDOWSWITCH消息從客戶1 1504發(fā)送給服務器205(步驟1520)。將確認消息ACK從服務器205發(fā)送給客戶1 1504(步驟1525)。
將MSG-ADJUST-CODEC(低)消息從服務器205發(fā)送給客戶1 1504(步驟1530)。將確認消息ACK從客戶11504發(fā)送給服務器205(步驟1535)。
將MSG-ADJUST-CODEC(高)消息從服務器205發(fā)送到客戶2 1506(步驟1540)。將確認消息ACK從客戶2 1506發(fā)送給服務器205(步驟1545)。
將MSG-ADJUST-CODEC(低)消息從服務器205發(fā)送到客戶3 1508(步驟1550)。將確認消息ACK從客戶3 1508發(fā)送給服務器205(步驟1555)。
將MSG-ADJUST-CODEC(低)消息從服務器205發(fā)送到客戶4 1510(步驟1560)。將確認消息ACK從客戶4 1510發(fā)送給服務器205(步驟1565)。
圖16是圖解說明根據本發(fā)明示例性實施例,在分辨率和幀率調節(jié)(客戶2和3)之前發(fā)信號的示意圖。圖17是圖解說明根據本發(fā)明示例性實施例,在分辨率和幀率調節(jié)(客戶2和3)之后發(fā)信號的示意圖。圖16和17的例子包括客戶1 1602、客戶2 1604、網絡路由器1606、客戶3 1608、和客戶4 1610。
將“以低比特率/分辨率發(fā)送”消息從客戶1 1602發(fā)送給網絡路由器1606(步驟1620)。將“以高比特率/分辨率發(fā)送”消息從客戶3 1608發(fā)送給網絡路由器1606(步驟1625)。將“以低比特率/分辨率發(fā)送”消息從客戶2 1604發(fā)送給網絡路由器1606(步驟1630)。將“以高比特率/分辨率發(fā)送”消息從客戶4 1610發(fā)送給網絡路由器1606(步驟1635)。
通過使用組播地址,將數據從網絡路由器1606發(fā)送給客戶2 1604、客戶3 1608、客戶11602、和客戶4 1610(分別為步驟1640、1645、1650、和1655)。
參見圖17,將“以低比特率/分辨率發(fā)送”消息從客戶1 1602發(fā)送給網絡路由器1606(步驟1720)。將“以高比特率/分辨率發(fā)送”消息從客戶3 1608發(fā)送給網絡路由器1606(步驟1725)。將“以高比特率/分辨率發(fā)送”消息從客戶2 1604發(fā)送給網絡路由器1606(步驟1630)。將“以低比特率/分辨率發(fā)送”消息從客戶4 1610發(fā)送給網絡路由器1606(步驟1635)。
通過使用組播地址,將數據從網絡路由器1606發(fā)送給客戶2 1604、客戶3 1608、客戶1 1602、和客戶4 1610(分別為步驟1740、1745、1750、和1755)。
現在將根據本發(fā)明的一個示例性實施例來描述客戶應用程序結構??蛻魬贸绦蜇撠熍c用戶互動、與其它客戶應用程序交換多媒體內容、并且管理與集中服務器應用程序的呼叫。圖18A是根據本發(fā)明的一個示例性實施例的視頻會議用戶應用程序1800的方框圖。需要理解的是,視頻會議客戶應用程序1800可以安裝在諸如計算機220a-f和/或計算機230a-c等的任何一個計算機上。
視頻會議客戶應用程序1800包括以下四個基本功能實體多媒體接口層1802、編解碼器1804(音頻編解碼器1804a和視頻編解碼器1804b)、網絡實體1806、和用戶界面1808。
多媒體接口層1802是視頻會議客戶應用程序1800的主控制實例。通過多媒體接口層1802來路由和控制所有系統(tǒng)內通信。多媒體接口層1802的一個主要基本特征就是具有容易交換不同音頻和視頻編解碼器1804的能力。除此之外,多媒體接口層1802將接口提供給操作系統(tǒng)(OS)附屬用戶輸入/輸出實體和網絡子系統(tǒng)。多媒體接口層1802包括成員數據庫1820、主控制模塊1822、音頻混頻器1899、和回音消除模塊1898。
用戶界面1808為終端用戶提供與視頻會議客戶應用程序1800相互作用的點。最好但不一定將用戶界面1808實施為OS附屬模塊。許多圖形用戶界面依賴于它們所使用的特定OS。用戶界面1808的四個主要功能就是視頻捕獲、視頻顯示、音頻捕獲、和音頻再現。用戶界面1808包括音頻/視頻捕獲界面1830、視頻/視頻播放模塊1832、成員視圖模塊1834、聊天模塊1836、和用戶選擇/菜單1838。音頻/視頻捕獲界面1830包括攝像機界面1830a、擴音器界面1830b、和文件界面1830c。音頻/視頻播放模塊1834包括視頻顯示1832a、音頻播放模塊1832b、和文件界面1832c。
網絡實體1806代表視頻會議客戶應用程序1800的通信子系統(tǒng)。網絡實體1806的功能就是基于會話啟動協(xié)議(SIP)的客戶至服務器的消息發(fā)送,以及音頻和視頻流的發(fā)送和接收。網絡實體1806也具有用于客戶之間的媒體流的驗證和密碼通信的基本安全功能。網絡實體1806包括安全模塊1840、消息發(fā)送系統(tǒng)1842、視頻流模塊1844、音頻流模塊1846、和IP插口1848a-c。
音頻編解碼器1804a和視頻編解碼器1804b是處理數字多媒體的壓縮和解壓縮的子系統(tǒng)。連接到編解碼器的接口必須簡單而且通用,以便對它們進行交換。在下文中將多媒體接口層1802和編解碼器1804之間的簡單關系定義為用于實施的示例性模板或向導。音頻編解碼器1804a和音頻編解碼器1804b的每個都包括編碼器1880和解碼器1890。編碼器1880和解碼器1890的每一個都包括隊列1895。
視頻會議客戶應用程序1800至少與視頻會議服務器205和其它客戶1870相連接。
現在將根據本發(fā)明的一個示例性實施例來描述圖18A的多媒體接口層1802中所包含的成員數據庫1820。成員數據庫1820將關于每個參與用戶的信息存儲在每個會議基礎上。成員數據庫1820包括關于發(fā)送/接收IP地址和客戶能力的信息、關于特定編解碼器的信息、以及關于不同用戶的狀態(tài)的細節(jié)。需要理解的是,上述項目僅僅是說明性的,在不背離本發(fā)明的精神和范圍的情況下,也可以在成員數據庫1820中保存除了上述項目之外的其它項目,或保存用于替換部分或所有上述項目的其它項目。成員數據庫1820中所包含的信息是用于控制發(fā)送到音頻和視頻解碼器1890的輸入信息。必須將來自網絡的媒體信息路由到正確的音頻和視頻解碼器1890。同樣重要地,必須將來自視頻和音頻編碼器1890的媒體信息路由到正確的單播或多播地址以進行分配。將成員數據庫1820中所包含的基本信息也路由到用戶界面1808,以便終端客戶可以知道會話中的參與者和他們的能力。一旦從視頻會議服務器205接收到INVITE請求,用戶就被添加到成員數據庫1820;一旦從視頻會議服務器205接收到BYE請求,用戶就被刪除。當會話結束時,成員數據庫1820就被刷新。
現在將根據本發(fā)明的一個示例性實施例來描述圖18A的多媒體接口層1802中所包含的主控制模塊1822。
主控制模塊1822是多媒體接口層1802的一個非常重要的部分。主控制模塊1822起到中央管理子系統(tǒng)的作用,并且提供以下主要功能用于視頻和音頻解碼器以及播放的同步化機制;將解碼器的目的地連接到屏幕,或連接到文件以進行記錄;以及應用層服務質量。
音頻和視頻播放的同步對最佳的視頻會議用戶體驗來說是至關重要的。為了準確地同步這兩個媒體流,需要使用時標并將其與媒體內容一起傳輸。實時協(xié)議(RTP)為此提供了一種包括時標和序號的通用標頭(generic header)。所提供的時標并不用于同步兩個網絡節(jié)點時鐘,而是用于同步音頻和視頻流以進行一致播放。必須在捕獲的時候從相同節(jié)點上的共用時鐘中獲得這些時標。例如,當捕獲一個視頻幀時,必須記錄捕獲視頻幀的時間。對音頻也進行相同處理。在本文的其它地方描述了使用RTP的其它細節(jié)和指導。
主控制模塊182在同步音頻和視頻時的功能就是進行網絡實體1806和編解碼器1804之間的連接,以便進行元數據(包括時標和序號)和多媒體數據的適當傳輸。如果分組滯后了,則根據系統(tǒng)的目前情況在解碼之前或之后將它們停止。RTP時標隨后用于創(chuàng)建顯示和播放時標。
主控制模塊1822還負責將音頻和視頻解碼器1890的輸出引導至屏幕以進行播放,或引導至文件以進行記錄,或引導至屏幕和文件以進行播放和記錄。由于獨立地處理每個解碼器1890,所以這就允許在一個示例性情況下,一個解碼器的輸出在屏幕上顯示,第二個解碼器的輸出記錄在文件中,并且第三個解碼器的輸出同時進入文件和屏幕中。
除了上述職責之外,主控制器模塊1822還涉及應用層的服務質量。主控制模塊1822收集關于分組丟失以及所接收和所發(fā)送的字節(jié)的信息,并且根據這些信息來操作。這會涉及將消息發(fā)送給另一個客戶或視頻會議服務器205以便幫助補救在網絡中出現的情況。實時控制協(xié)議(RTCP)可以用于報告統(tǒng)計和分組丟失,并且還能夠用于應用程序特定信令。
圖18B是進一步圖解說明根據本發(fā)明示例性實施例的、圖18A的多媒體接口層1802中所包含的音頻混頻器1899的方框圖。將音頻混頻器1899(下文中也稱為“增益控制模塊”)操作性地連接到多個音頻解碼器1890。多個音頻解碼器1880接收壓縮音頻流并且輸出解壓縮音頻流。將解壓縮音頻流輸入到音頻混頻器1899,并且作為混合音頻流輸出。
圖18C是進一步圖解說明根據本發(fā)明示例性實施例的、圖18A的多媒體接口層1802中所包含的回音消除模塊1898的方框圖。將回音消除模塊(下文中也稱為“回音消除器”)1898操作性地連接到揚聲器1897(例如,音頻播放模塊1832b)和擴音器1896(例如,擴音器接口1830b)。當在全雙工或雙向通信系統(tǒng)中產生來自揚聲器1897的聲音時,只想被本地聽眾聽到。但是,所產生的聲音也被本地擴音器1896聽到了,然后本地擴音器1896使信號被發(fā)送回遠端并且被聽作為回音。因此,視頻會議客戶應用程序1800請求回音消除模塊1898來減輕這種效應,從而創(chuàng)建更好的用戶體驗。
現在將根據本發(fā)明的一個示例性實施例來描述視頻會議客戶應用程序1800的子系統(tǒng)可使用的界面。界面包括與用戶界面1808、網絡實體1806、和編解碼器1804相互作用的點。用戶界面1808具有同時接收所捕獲的音頻和視頻以及它們所對應的時標的功能。除此之外,還必須具有將音頻和視頻發(fā)送給用戶界面1808以便進行顯示和再現的功能。網絡實體1806界面具有為會話控制和安全提供信令輸入和輸出消息的功能。音頻和視頻編解碼器1804a、b為配置控制提供基本接口,并且發(fā)送和接收分組以進行壓縮和解壓縮。
現在將根據本發(fā)明的一個示例性實施例來描述音頻和視頻編解碼器1804a、b。
有多個音頻和視頻編解碼器可在視頻會議中使用。根據本發(fā)明所采用的編解碼器最好但不一定是基于軟件的。根據本發(fā)明的一個示例性實施例,由于典型的臺式計算機的處理能力的限制,所以將H.263用于視頻壓縮和解壓縮。當將來計算機將變得更有效率時,就可以實現和運用使用諸如H.26L等的更高級的編解碼器的性能。當然,本發(fā)明并不局限于上述幾種類型的編解碼器,在不背離本發(fā)明的精神和范圍的情況下,也可以使用其它類型的編解碼器。
現在將根據本發(fā)明的一個示例性實施例來描述連接到編解碼器1804a、b的接口。描述將包含Dataln功能、回叫功能、和編解碼選項。連接到編解碼器1804a、b的接口必須足夠靈活,并且一般被定義為容許編解碼器的互換性以及容許將來添加新的編解碼器。用于執(zhí)行這個靈活通用接口的建議接口是一種具有為用戶提供有限功能的非常簡單的接口。
Dataln功能僅用于存儲編碼器或解碼器類的幀或分組。
為了提供一種多媒體接口層1802與多媒體編解碼器1804之間的簡單連接,必須將數據輸出功能實現為回叫功能。多媒體接口層1802將該回叫功能設置到接收實體的輸入功能上。例如,當編解碼器已經完成對幀的編碼或解碼時,將通過編解碼器來呼叫該功能,從而從編碼或解碼處理中發(fā)出所期待的信息。由于受到編解碼器在進行這種回叫時不能進行任何處理的限制,這個功能必須盡可能快地撤回以防止系統(tǒng)中的等待和不必要延遲。當訪問共享資源時,應當以此功能執(zhí)行的唯一附加等待將成為互斥鎖定(mutex lock)。
可用于不同類型的編解碼器的選項的范圍將會變化。為了滿足管理這些選項的要求,需要使用簡單界面。由于基于文本的界面所提供的靈活性,所以它是最佳的選擇(但并不要求)。必須具有一組諸如START和STOP的通用命令,然后編解碼器指定命令。這種方法提供了簡單的界面,但是由于需要簡單的解譯器,所以給編解碼器增加了更多復雜性。例如,選項功能對于讀和寫選項來說已經足夠通用了。
例子結果=選項(“開始”);結果=選項(“分辨率=CIF”);等。
例如,可以將編解碼器之間的一些共用選項標準化如下開始、結束、暫停、質量指數(0-100)、和分辨率。
質量指數是一個將編解碼器的總質量描述為0%至100%之間的值的因子。其遵循值越高視頻質量越好的基本假設。
圖19是圖解說明根據本發(fā)明示例性實施例,一種被音頻編解碼器1804a和/或視頻編解碼器1804b中所包含的解碼器1890所采用的方法的示意圖。相對于解碼器上下文1901和呼叫者上下文1902來描述該方法。該方法至少通過使用以下輸入和輸出來進行操作“數據輸入”1999、“信號輸入”1998、“信號輸出回叫”1997、“設定回叫功能”1996、和“數據輸出回叫”1995。輸入“數據輸入”1999用于將數據存儲到輸入隊列中(步驟1905)。
執(zhí)行初始化步驟(Init)以對解碼器1890進行初始化(步驟1910)。執(zhí)行等待開始或退出命令的主循環(huán)(步驟1920)。如果接收到退出命令,則結束該方法(步驟1922),并且進行返回,例如返回到另一個操作(1924)。
讀出輸入隊列1895的數據,或者如果輸入隊列1895是空的,則將強制執(zhí)行等待狀態(tài)(步驟1930)。如果在步驟1930讀出了數據,則對其進行解碼(步驟1940)。將“數據輸出回叫”1995提供給步驟1920。
現在將根據本發(fā)明的一個示例性實施例來描述網絡200所采用的通信。這些描述補充說明關于網絡通信的上述描述。
消息發(fā)送系統(tǒng)1842(包含在圖18A的網絡實體1806中)提供視頻會議客戶應用程序1800與視頻會議服務器205之間的接口。其旨在用于會話管理(即,會話建立和取消)。通過視頻會議服務器205來傳輸所有的信令消息,而不是將信令消息直接從一個客戶傳輸到另一個客戶。諸如多媒體內容和私聊消息等的數據包括只在客戶之間直接發(fā)送的信息。消息發(fā)送系統(tǒng)將采用基于會話啟動協(xié)議(SIP)的標準。
具有很多不同的管理視頻會議客戶應用程序1800的功能的協(xié)議。例如,可以采用會話啟動協(xié)議(SIP)、實時協(xié)議(RTP)、實時控制協(xié)議(RTCP)、以及會話描述協(xié)議(SDP)。
會話啟動協(xié)議(SIP)的目的就是會話管理。SIP一種基于文本的應用層控制協(xié)議,其用于在基于IP的網絡中創(chuàng)建、修改和結束與一個或多個參與者的會話。在客戶和服務器之間使用SIP以實現這個目的。在以上關于視頻會議服務器205的描述中進一步描述了SIP。
實時協(xié)議(RTP)是用于實時多媒體(即,音頻和視頻)的傳輸。RTP是一種應用層協(xié)議,其提供關于它所攜帶的多媒體信息類型的附加細節(jié)。RTP存在于傳輸層之上,并且通常加載在用戶數據報協(xié)議(UDP)的頂端。RTP在客戶應用程序中的主要功能就是傳輸(用于音頻和視頻同步的)時標、序號,并且識別其封裝(encapsulating)的有效荷載的類型(例如,MPEG4、H.263、G.723等等)。
圖20是圖解說明根據本發(fā)明示例性實施例的用戶平面協(xié)議棧2000的示意圖。棧2000包括一層上的視頻2010和聲音2020、另一層上的同時用于視頻2010和聲音2020的RTP2030、再一層上的UDP端口#X2040和UDP端口#Y2050、IP層2060、鏈接層2070、以及物理層2080。除了通用RTP標頭之外還使用編解碼器指定RTP標頭。
實時控制協(xié)議(RTCP)是RTP標準的一部分。RTCP用作發(fā)送器和接收器之間的統(tǒng)計報告工具。每個視頻會議客戶應用程序1800將采集它們的統(tǒng)計,并且將統(tǒng)計發(fā)送給另一個視頻會議客戶應用程序和服務器205。視頻會議服務器205根據這些數據,記錄關于已經在會話中出現的問題的信息。
圖21是圖解說明根據本發(fā)明示例性實施例的控制平面協(xié)議棧2100的示意圖。棧2100包括SIP 2110、UI編解碼器變化消息發(fā)送2120、一層上的RTCP2130、TCP層2140、IP層2150、鏈接層2160、以及物理層2170。
SDP的主要用途就是傳送關于會話的媒體流的信息。SDP包括但不限制于以下項目會話名稱和目的、會議進行的時間、包含會話的媒體、去接收媒體的信息(即,地址、端口、格式等等)、媒體的類型、傳輸協(xié)議(RTP/UDP/IP)、媒體的格式(H.263等等)、組播、用于媒體的組播地址、用于媒體的傳輸端口、單播、以及用于媒體的遠程地址。
SDP信息是SIP消息的消息體。將它們一起傳送。
現在將根據本發(fā)明的一個示例性實施例來進一步描述圖18A的用戶界面1808。用戶界面1808是視頻會議客戶應用程序的一個非常重要的元件。用戶界面1808包括多個視圖(顯示/按鈕/菜單/...),并且可以處理所有的輸入數據(音頻/視頻捕獲、按鈕、擊鍵)。
圖22是圖解說明根據本發(fā)明示例性實施例,對應于圖18A的用戶界面1808的屏幕快照2200的方框圖;屏幕快照2200包括“大視圖”2210、“小視圖”2220、聊天視圖部分2230、成員視圖部分2240、以及聊天編輯部分2250。
再次參見圖18A,視頻捕獲接口1830可以包括以下任何一項網絡攝像機(未示出)、捕獲卡和高質量攝像機(未示出)、攝像機接口1830a、擴音器接口1830b、文件接口1830c,等等。
通過使用由Windows操作系統(tǒng)提供的Video for Windows(VFW)應用程序接口(API)的USB或防火墻(IEEE1394)接口,或者通過在諸如Linux等的不同操作系統(tǒng)下所使用的替換的捕獲驅動器來支持網絡攝像機。當然,本發(fā)明并不局限于上述接口、操作系統(tǒng)或驅動器,在不背離本發(fā)明的精神和范圍的情況下,也可以使用其它接口、操作系統(tǒng)和驅動器。
成員視圖模塊1834用于顯示參與正在進行的呼叫的成員。呼叫的發(fā)起人(即主機)可以取消多余的成員,或者選擇有效成員。每個成員可以選擇一個或多個成員以交換私聊消息。此外,在成員視圖模塊1834中用信號通知成員的狀態(tài)。然后成員將他們自己的狀態(tài)設置為“不在”以發(fā)信號通知其他成員他們目前不在但是馬上會回來。
除了視頻流之外,每個成員都有機會通過聊天模塊1836將聊天消息發(fā)送給所有或者一些其他成員。在聊天視圖中顯示這些消息,并且在聊天編輯視圖中編輯這些消息。滾動條允許觀看舊消息。
現在將根據本發(fā)明的一個示例性實施例來描述用于客戶應用程序1800的操作場景。以下描述僅是客戶應用程序1800的一些特征的基本向導,并沒有打算表現特征的全部目錄。描述將包括登錄、呼叫開始、呼叫接收、以及下線。
當最初開始客戶應用程序1800時就進行登錄??梢栽趩訒r就根據提供給操作系統(tǒng)的登錄名來自動進行登錄,或者可以使用獨立于登錄的不同界面。這依賴于用于當前所使用的網絡的認證的最佳方法以及如何管理策略。最簡單的方法就是使用windows操作系統(tǒng)中所使用的相同登錄名,以便使命名一致,并且還能夠再次利用現存用戶數據庫(如果可適用的話)。
圖23是圖解說明根據本發(fā)明示例性實施例的登錄界面2300的示意圖。如果用戶目前在服務器上沒有帳號,則使用注冊特征2330。在任一電子郵件地址輸入框2340中提供電子郵件地址以便訪問。
為了開始呼叫,客戶應用程序1800將向服務器205查詢有資格的候選人名單??蛻艨梢赃x擇他或她想讓其加入視頻會議會話的用戶。當包含兩個參與者時,將會話建立為單播會話;否則,當包含兩個以上的參與者時,將會話建立為組播會話。
圖24是圖解說明根據本發(fā)明示例性實施例的會議開始的用戶選擇界面2400的方框圖。
一旦邀請用戶進行呼叫,則在他們的屏幕上顯示表示發(fā)起人的名字的消息。然后用戶可以接受或拒絕呼叫。如果用戶接收這次呼叫,則客戶應用程序1800將接受(或確認)消息發(fā)送給服務器205。然后服務器205將新的成員通知給目前參與呼叫的每個成員。如果用戶通過將取消消息發(fā)送給服務器205來拒絕這次呼叫,則也將這個事件通知給所有其它成員。圖25是圖解說明根據本發(fā)明示例性實施例的、用于接收或拒絕輸入呼叫的開始界面2500的方框圖。
下線將會把用戶從視頻會議服務器205的數據實體302中所包含的成員數據庫314中刪除。將BYE消息發(fā)送給會話的每個參與客戶??梢酝ㄟ^組播或單播來完成這個步驟。組播是用于發(fā)送這個消息的最佳辦法。
盡管參照附圖在此描述了多個示例性實施例,但是需要理解的是,本發(fā)明并不局限于上述實施例,并且在不背離本發(fā)明的范圍和精神的情況下,本領域的技術人員可以對其進行各種其它的改變和修改。所有這些改變和修改都包含在所附權利要求書所定義的本發(fā)明的范圍之內。
權利要求
1.一種用于具有至少兩個客戶設備的網絡的視頻會議系統(tǒng),所述視頻會議系統(tǒng)包括至少一個集中服務器;和策略服務器,用于指定管理所述至少兩個客戶設備之間的多個視頻會議會話的一個或多個策略,并且用于將所述一個或多個策略提供給所述至少一個集中服務器。
2.如權利要求1所述的視頻會議系統(tǒng),其中所述策略服務器能夠為不同的視頻會議會話指定不同的策略。
3.如權利要求1所述的視頻會議系統(tǒng),進一步包括策略接口,用于將所述策略服務器與所述至少一個集中服務器連接,從而將所述一個或多個策略提供給所述至少一個集中服務器。
4.如權利要求3所述的視頻會議系統(tǒng),其中所述策略接口采用通用開放策略服務(COPS)。
5.如權利要求3所述的視頻會議系統(tǒng),其中所述策略接口采用輕型目錄訪問協(xié)議(LDAP)。
6.如權利要求1所述的視頻會議系統(tǒng),其中所述一個或多個策略包括以下內容中的至少一項可以同時發(fā)生的視頻會議會話的最大數、比特率、和帶寬限制。
7.如權利要求6所述的視頻會議系統(tǒng),其中所述至少兩個客戶設備的每個包括網絡結構數據庫,用于高速緩存由所述策略服務器所指定的所述一個或多個策略。
8.如權利要求1所述的視頻會議系統(tǒng),其中所述至少一個集中服務器進一步包括會議管理實體,用于管理被分配給所述視頻會議會話的帶寬。
9.如權利要求8所述的視頻會議系統(tǒng),其中所述會議管理實體能夠管理在所述視頻會議會話期間將內容發(fā)送給所述兩個或兩個以上客戶設備的每個的比特率。
10.如權利要求1所述的視頻會議系統(tǒng),其中所述至少一個集中服務器包括成員數據庫,用于存儲與當前進入所述客戶服務器視頻會議系統(tǒng)的所述至少兩個客戶設備的任何用戶有關的信息。
11.如權利要求1所述的視頻會議系統(tǒng),其中所述至少一個集中服務器包括有效會話數據庫,用于存儲當前正在發(fā)生的每個視頻會議會話的信息。
12.如權利要求1所述的視頻會議系統(tǒng),其中所述至少一個集中服務器包括網絡結構數據庫,用于存儲關于所述網絡的每個有效元件的信息。
13.如權利要求1所述的視頻會議系統(tǒng),其中所述至少一個集中服務器包括調度數據庫,用于存儲所述至少兩個客戶設備的用戶的時間表,從而預約使用所述客戶服務器視頻會議系統(tǒng)的時間。
14.如權利要求1所述的視頻會議系統(tǒng),其中所述至少兩個客戶設備的每個包括網絡實體,用于在所述視頻會議會話期間驗證在所述至少兩個客戶設備之間所通信的內容。
15.如權利要求1所述的視頻會議系統(tǒng),其中所述至少兩個客戶設備的每個包括網絡實體,用于在所述視頻會議會話期間執(zhí)行關于所述至少兩個客戶設備之間所通信的內容的安全功能。
16.如權利要求1所述的視頻會議系統(tǒng),其中所述至少兩個客戶設備的每個包括多個解碼器,用于同時解碼多個壓縮音頻流,并且輸出多個解壓縮音頻流;和混頻器和增益控制模塊,用于在執(zhí)行增益控制的同時混合所述多個解壓縮音頻流,并且輸出混合音頻流。
17.如權利要求1所述的視頻會議系統(tǒng),其中所述至少兩個客戶設備的每個包括至少一個揚聲器;至少一個擴音器;和回音消除模塊,用于減少被無意識地輸入到所述至少一個擴音器的、由所述至少一個揚聲器中所輸出的音頻信號引起的回音。
18.一種在具有至少一個集中服務器和至少兩個客戶設備的網絡中,通過所述至少一個集中服務器將預定策略強加給視頻會議會話的方法,所述方法包括以下步驟將所述預定策略存儲在所述網絡中的一個能被所述至少一個集中服務器訪問的位置;當開始視頻會議會話時,向所述網絡詢問所述預定策略;以及根據所述預定策略來管理所述視頻會議會話。
19.一種在具有至少一個集中服務器和至少兩個客戶設備的網絡中管理視頻會議會話的方法,所述方法包括以下步驟將關于所述視頻會議會話的預定策略存儲在所述網絡中;當開始視頻會議會話時,詢問所述網絡以從所述預定策略中獲得所述視頻會議會話的相應策略;以及根據所述相應策略來管理所述視頻會議會話。
20.如權利要求19所述的方法,其中能夠將不同的預定策略強加到不同的視頻會議會話。
21.如權利要求19所述的方法,其中所述預定策略包括以下內容中的至少一項比特率、帶寬限制、和可以同時發(fā)生的視頻會議會話的最大數。
22.如權利要求19所述的方法,其中所述管理步驟包括以下步驟管理被分配給所述視頻會議會話的帶寬。
23.如權利要求19所述的方法,其中所述管理步驟包括以下步驟管理在所述視頻會議會話期間將內容發(fā)送給所述至少兩個客戶設備的每個的比特率。
24.如權利要求19所述的方法,進一步包括以下步驟存儲與當前進入所述網絡的所述至少兩個客戶設備的任何用戶有關的信息,并且其中所述管理步驟是考慮所述信息來執(zhí)行的。
25.如權利要求19所述的方法,進一步包括以下步驟存儲當前正在發(fā)生的每個視頻會議會話的信息,并且其中所述管理步驟是考慮所述信息來執(zhí)行的。
26.如權利要求19所述的方法,進一步包括以下步驟存儲關于所述網絡的每個有效元件的信息,并且所述管理步驟是考慮所述信息來執(zhí)行的。
27.如權利要求19所述的方法,進一步包括以下步驟存儲所述至少兩個客戶設備的用戶的時間表,以便預約進行所述視頻會議會話的時間。
28.如權利要求19所述的方法,進一步包括以下步驟在所述視頻會議會話期間驗證在所述至少兩個客戶設備之間所通信的內容。
29.如權利要求19所述的方法,進一步包括以下步驟在所述視頻會議會話期間執(zhí)行關于所述至少兩個客戶設備之間所通信的內容的安全功能。
30.如權利要求19所述的方法,進一步包括以下步驟同時解碼多個壓縮音頻流,并且輸出多個解壓縮音頻流;以及在執(zhí)行增益控制的同時混合所述多個解壓縮音頻流,并且輸出混合音頻流。
31.如權利要求19所述的方法,其中所述至少兩個客戶設備的每個包括至少一個揚聲器和至少一個擴音器,并且所述方法進一步包括以下步驟減少被無意識地輸入到所述至少一個擴音器、由所述至少一個揚聲器中所輸出的音頻信號引起的回音。
全文摘要
提供一種用于具有至少兩個客戶設備的網絡的視頻會議系統(tǒng)。所述視頻會議系統(tǒng)包括至少一個集中服務器(205)以及一個策略服務器(210),所述策略服務器用于指定管理至少兩個客戶設備之間的視頻會議會話的一個或多個策略,并且用于將所述一個或多個策略提供給所述至少一個集中服務器。
文檔編號H04L12/28GK1643505SQ03806432
公開日2005年7月20日 申請日期2003年3月20日 優(yōu)先權日2002年3月20日
發(fā)明者約翰·W·理查森, 詹斯·坎布利, 庫馬·拉馬斯沃米 申請人:湯姆森特許公司