視頻會(huì )議多點(diǎn)控制的MCU設計與實(shí)現
張亞婷 郭華 2010/06/12
引言
視頻會(huì )議的多點(diǎn)控制單元(MCU)是視頻會(huì )議系統的核心設備。所有參與會(huì )議的終端可與MCU建立一對一的連接,終端負責采集本會(huì )場(chǎng)的聲音和圖像,然后經(jīng)編碼后傳輸到MCU,由MCU根據當前視頻會(huì )議的模式確定對音視頻信號的處理方式和轉發(fā)邏輯,最后將處理后的音視頻數據再發(fā)送到每一個(gè)與會(huì )者。
1、多點(diǎn)視頻會(huì )議的分類(lèi)
基于H.324標準,多點(diǎn)會(huì )議實(shí)現有各種不同的方法和配置,主要可以為集中式多點(diǎn)會(huì )議和分散式多點(diǎn)會(huì )議兩種模式。
集中式多點(diǎn)會(huì )議是由一個(gè)多點(diǎn)控制單元來(lái)組織,所有終端以點(diǎn)對點(diǎn)方式向多點(diǎn)控制單元發(fā)送視頻流、音頻流和控制流。其結構如圖1所示。圖1中的多點(diǎn)控制器使用H.245控制功能來(lái)對會(huì )議進(jìn)行集中式管理。H.245也可用來(lái)指定各終端的通信能力。多點(diǎn)處理器可進(jìn)行混音、數據分配以及視頻信號的混合和切換,并將處理結果送回參加會(huì )議的終端。一個(gè)支持集中式多點(diǎn)會(huì )議的典型多點(diǎn)控制單元通常由一個(gè)多點(diǎn)處理器和多點(diǎn)控制器組成。
分散式多點(diǎn)會(huì )議是傳統的會(huì )議系統(如H.320)所沒(méi)有的。在這種管理方式的系統中沒(méi)有MCU,也沒(méi)有集中控制和集中管理的設備,MCU的功能是以MC和MP功能模塊的方式分別存在于系統的其他設備中。分布式多點(diǎn)控制和管理之所以能在基于分組的通信網(wǎng)中實(shí)現,其主要原因是網(wǎng)絡(luò )中的通信是在邏輯信道中進(jìn)行的,而不是以物理信道為單位進(jìn)行的。分布式多點(diǎn)會(huì )議利用多點(diǎn)播送技術(shù)來(lái)組織,參加會(huì )議的終端向別的與會(huì )者終端以多點(diǎn)播送方式傳送視頻和音頻信息,而無(wú)須在多點(diǎn)處理器集中進(jìn)行。H.245控制信息仍然以點(diǎn)對點(diǎn)的方式傳送給主多點(diǎn)控制器,圖2所示是分散式MCU的組網(wǎng)結構。
集中式多點(diǎn)視頻會(huì )議中的MCU集多點(diǎn)視頻會(huì )議控制器(MC)和多點(diǎn)視頻會(huì )議處理器(MP)于一身,它既有組織和管理會(huì )議的功能,同時(shí)負責所有與會(huì )者的聲音和圖像的處理和切換。
2、MCU的系統設計
2.1 集中式多點(diǎn)視頻會(huì )議的網(wǎng)絡(luò )結構
星型組網(wǎng)方案是集中式多點(diǎn)會(huì )議的首選方案。星型組網(wǎng)方案是將所有終端通過(guò)集線(xiàn)器或交換機連接到MCU,每個(gè)終端都只與MCU建立一個(gè)基于H.324標準的連接,圖3所示是其星型組網(wǎng)方案。每個(gè)終端負責對本會(huì )場(chǎng)的聲音、圖像進(jìn)行采集后,再經(jīng)過(guò)相應的編碼算法進(jìn)行編碼,然后將編碼得到的音視頻流通過(guò)交換機發(fā)送到MCU,由MCU根據當前的會(huì )議模式對音頻和視頻分別進(jìn)行處理。音視頻的處理主要包括對與會(huì )者聲音的混合和多畫(huà)面合成,最后將處理后的音視頻數據由MCU根據會(huì )議模式轉發(fā)給每個(gè)參會(huì )者的終端。
視頻會(huì )議模式的設置和參與會(huì )議的成員管理可由MCU控制臺來(lái)完成。實(shí)際應用中,一般會(huì )為每個(gè)會(huì )議配備一個(gè)會(huì )議管理者,又稱(chēng)會(huì )議管理員。會(huì )議管理員可通過(guò)MCU控制臺對多點(diǎn)控制單元進(jìn)行遠程控制,包括設置會(huì )議開(kāi)始和結束的時(shí)間、會(huì )議采用的音視頻標準、會(huì )議模式的設置、與會(huì )者列表的管理以及會(huì )議模板的裝載和保存等。在會(huì )議進(jìn)行中,會(huì )議管理員還可通過(guò)MCU控制臺對會(huì )議進(jìn)行調度,包括指定新的主席、指定新的發(fā)言聽(tīng)眾、取消發(fā)言等。
在分布式會(huì )議方案中,各個(gè)終端均完成一定的控制與交換功能,因而靈活性強,與會(huì )端加入/退出會(huì )議功能易于實(shí)現,但其通信協(xié)議比較復雜。控制信息以廣播方式發(fā)送,因而通信效率比較低,所以通常采用集中式實(shí)現方案。有時(shí)候,主席端也可與MCU合并形成一個(gè)超級服務(wù)端。這種方式可以演化為人們所熟悉的客戶(hù)/服務(wù)器體系。在主席端的機動(dòng)性要求不高時(shí),這種方式具有非常突出的優(yōu)點(diǎn),如易于實(shí)現,控制簡(jiǎn)便等。圖4所示是客戶(hù)/服務(wù)器方式MCU的方案結構。為了保證通用性和機動(dòng)性,本設計采用集中式MCU方案。
2.2 MCU的通信接口設計
通信接口的主要功能是數據串/并變換與緩存,其作用類(lèi)似于較大輸入輸出緩沖區的串口擴展。從調制解調器(Modem)輸入的串行數據格式為2-8-1-N,即2
bit起始位,8 bit數據,1bit停止位,無(wú)奇偶校驗。接口卡分離出8 bit數據位并對之進(jìn)行串/并變換后存入輸入緩沖區,緩沖區是8 kbit的FIFO(先入先出)堆棧,接口卡提供指定的地址以便微機從中讀取數據。微機輸出的數據可寫(xiě)入接口卡的輸出緩沖區。它也是8
kbit的FIFO堆棧,然后接口卡執行相反的操作并將之輸出到Modem[17]。接口卡的原理如圖5所示。
2.3 視頻會(huì )議系統協(xié)議的簡(jiǎn)化模型
MCU的設計可參考ITU的H.324系列建議。該建議擬訂了低比特多媒體通信終端的基本框架。它包括四個(gè)主要部分:G.723.1音頻編碼標準、H.263視頻編碼標準、H.245通信控制協(xié)議和H.223復接分接協(xié)議,該建議同時(shí)也描述了一個(gè)在PSTN中采用V.34標準的Modem。V.34標準規定了輸入/輸出Modem的數據格式、比特率等要求。本系統由于MCU連接了多個(gè)端口,若各端口Modem的速率不一致,則可能會(huì )造成MCU的數據擁塞,故本系統中禁止Modem速率的自動(dòng)調整。一般在會(huì )議開(kāi)始之前,即按各端口中最低速率建立連接,以保證較小的誤碼率。在MCU中,主要是對H.223幀的幀頭進(jìn)行處理。H.223幀結構中的幀起始標志為3個(gè)連續的FAS碼,每個(gè)FAS碼長(cháng)為4個(gè)字節,試驗系統中可取為0XEC。該標志也可用于實(shí)現對H.223幀的定界。由于幀長(cháng)度是不定的,因此,幀起始標志的正確傳輸與檢測直接影響到幀定位。控制信號也占4個(gè)字節,其中前兩個(gè)字節為BAS碼,主要攜帶會(huì )議控制信息。因本會(huì )議系統的可能狀態(tài)較少,所用到的控制命令也少,故只用一個(gè)字節傳送命令,另一個(gè)字節作為BAS碼的糾錯字節,以保證命令的正確傳輸。
在視頻會(huì )議系統的命令交互中,MCU及各個(gè)與會(huì )站點(diǎn)在會(huì )議中都要維護一張狀態(tài)設置表,表中記錄了各與會(huì )站點(diǎn)所對應的邏輯端口、電話(huà)號碼、地理位置、在會(huì )議中的身份(主席、發(fā)言方及普通會(huì )員)等,此后MCU進(jìn)一步將邏輯端口映射成相應的物理地址,以便MCU從該地址讀寫(xiě)信息。狀態(tài)設置表的初始設置是在會(huì )前通過(guò)勤務(wù)電話(huà)確定的。預定的開(kāi)會(huì )時(shí)間由MCU負責通過(guò)Modem呼通各與會(huì )站點(diǎn),以建立起數據鏈路。當某個(gè)站點(diǎn)呼通后,該站點(diǎn)即在其H.223幀中插入終端就緒命令,而MCU則將該幀環(huán)回,并將BAS碼替換為就緒確認命令。當所有站點(diǎn)均就緒后,MCU即向各站點(diǎn)發(fā)會(huì )議就緒命令。同時(shí)將主席端的數據切換到各個(gè)站點(diǎn),此時(shí)主席便可以發(fā)言,也可以命令其它會(huì )員發(fā)言。如果主席沒(méi)有發(fā)命令給MCU,則向MCU發(fā)會(huì )議進(jìn)行中狀態(tài)指示,MCU則維持當前狀態(tài);若主席命令A站點(diǎn)發(fā)言,則其在H.223幀中插入令A發(fā)言的命令。MCU接到命令后,即將A站點(diǎn)的數據切換到除A外的所有其它站點(diǎn),同時(shí)將主席的數據發(fā)往A站點(diǎn)。當主席命令會(huì )議結束時(shí),MCU即向各站點(diǎn)發(fā)送會(huì )議結束確認命令,并停止工作,由各站點(diǎn)自行掛斷Modem。圖6為上述過(guò)程的命令交互示意圖。
在會(huì )議中,MCU接主席命令后,應根據該命令所產(chǎn)生的狀態(tài)轉移來(lái)修改狀態(tài)設置表。通過(guò)低速MCU伺服軟件可使MCU同時(shí)控制8個(gè)與會(huì )站點(diǎn)的數據讀入寫(xiě)出操作,同時(shí)進(jìn)行命令解釋執行工作。由于幀交換又要占用大量的內存資源,同時(shí)還要保證系統的實(shí)時(shí)性,因此,MCU伺服軟件的設計不僅要求執行效率高,還要求程序本身要占用較少的系統資源。
3 MCU的軟件設計
該軟件的設計可采用快速原型方法來(lái)完成。首先可建立簡(jiǎn)化的快速原型,然后在此基礎上逐步完善以達到設計要求。快速原型同樣可采用模塊化的方法將整個(gè)MCU軟件劃分為若干松耦合的功能模塊,并對各模塊分別進(jìn)行設計與測試,在保證各模塊正確后,再對整個(gè)軟件進(jìn)行綜合調試,以發(fā)現各模塊間接口設計可能存在的失誤,再反過(guò)來(lái)通過(guò)修正各模塊程序來(lái)完成整個(gè)軟件的設計。具體開(kāi)發(fā)流程如圖7所示。現將各步的工作描述如下:
(1)利用電話(huà)線(xiàn)在兩臺計算機間通過(guò)Modem進(jìn)行數據通信時(shí),可將其作為功能最簡(jiǎn)單的快速原型。該步的主要工作是建立DOS平臺上Modem的控制功能。其關(guān)鍵是對鍵入的命令進(jìn)行解釋后傳送給Modem,同時(shí)接收Modem的反饋信號,以確定Modem的狀態(tài),并以此進(jìn)行進(jìn)一步的控制;
(2)建立遠地自環(huán)模型,以測試快速原型的正確性,同時(shí)測試接口卡的工作特性;
(3)編寫(xiě)幀讀入模塊和幀寫(xiě)出模塊程序,以連續測試幀環(huán)回及單一測試幀。驗證傳送來(lái)的測試幀讀摸塊以及幀寫(xiě)出模塊的正確性;
(4)編寫(xiě)命令提取與解釋模塊和狀態(tài)修改模塊程序,通過(guò)改變測試幀的BAS碼并讀取狀態(tài)修改結果來(lái)驗證上述模塊的正確性;
(5)編寫(xiě)幀切換/BAS碼替換模塊程序,構造三臺計算機間的測試平臺,并使其一充當MCU,然后通過(guò)另兩端的測試幀切換來(lái)驗證上述模塊的正確性;
(6)根據實(shí)際條件建立多臺計算機間的測試平臺,并適當改變測試幀的長(cháng)度(128~512 byte),進(jìn)行連續的測試并計時(shí),以檢驗各模塊的工作時(shí)延。然后按照系統的實(shí)時(shí)性要求對產(chǎn)生時(shí)延較大的模塊進(jìn)行改進(jìn)。
4 結束語(yǔ)
由于MCU對運動(dòng)程度不同的視頻圖像的處理能力有所不同,所以,傳送運動(dòng)程度不同的視頻圖像時(shí),在終端B接收到的視頻質(zhì)量良好的情況下,MCU的最大接入終端數(MCU的容量)是不同的。測試發(fā)現,本文設計的MCU在運動(dòng)量比較大(n=16的時(shí)候)時(shí),音視頻圖像良好;n=20的時(shí)候,音視頻效果基本可以接收,但是偶爾圖像有失真;而在n=32時(shí),圖像色彩嚴重失真,聲音斷斷續續。同時(shí)再考慮圖像時(shí)延和延遲抖動(dòng)(話(huà)音和圖像的同步)等視頻會(huì )議的規定值(點(diǎn)對點(diǎn)的圖像時(shí)延不超過(guò)150
ms,延遲抖動(dòng)約為400ms)。可以得出:在圖像質(zhì)量良好,圖像時(shí)延和延遲抖動(dòng)均能達到規定要求的情況下,本MCU的單臺容量應為16。
中電網(wǎng)
相關(guān)閱讀:
亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩
鄱阳县|
乃东县|
安阳市|
新沂市|
双鸭山市|
榆树市|
个旧市|
元江|
渭源县|
卓资县|
柯坪县|
澜沧|
阳朔县|
惠安县|
鹿泉市|
宽城|
革吉县|
图木舒克市|
辽阳市|
阜新|
营口市|
洱源县|
富源县|
无极县|
鄂伦春自治旗|
临江市|
和静县|
高平市|
铜陵市|
广州市|
马山县|
都匀市|
井研县|
平南县|
萨嘎县|
荔浦县|
无极县|
洛隆县|
肇庆市|
新密市|
南投市|
http://444
http://444
http://444
http://444
http://444
http://444