基于H.323高性能MCU的設計與實現(xiàn)
摘要:針對基于H.323協(xié)議的Openh323開源視頻會議系統(tǒng)中源MCU容納終端有限,圖像質(zhì)量差等缺陷,在VC++6.0開發(fā)平臺上,采用基于幀緩沖映射軟交換技術改進源碼中的MCU,提高其存儲轉(zhuǎn)發(fā)的能力,從而增加參與視頻會議的終端;在占用較少CPU資源的同時,有效提高其傳輸速率,并縮短了傳輸時延,取得了良好的測試結(jié)果。
關鍵詞:H.323;OpenH323;MCU;幀緩沖映射;軟交換
0 引言
隨著計算機的硬件,特別是CPU主頻的不斷提升,基于軟件的音、視頻編碼效率也越來越高,因此考慮到成本與各方面的因素,軟件MCU必然成為以后的主流方向。但現(xiàn)今大多的MCU都是軟硬件相結(jié)合,純軟件的MCU很少且效率不高。
當前H.323視頻會議系統(tǒng)大都是以Openh323協(xié)議庫為基礎開發(fā)的視頻和語音傳輸系統(tǒng)軟件。Openh323是由澳大利亞Equivalence Pty Ltd.公司組織開發(fā)的,能實現(xiàn)基本的H.323協(xié)議框架,在Openh323 V4中,基于視頻緩存池的MCU最多只能處理合成4路終端,不能適應現(xiàn)今市場發(fā)展的需要,因此重新設計MCU的架構,便成為研發(fā)軟件MCU的關鍵。
l 源MCU的缺陷和不足
(1)OpenH323中源MCU只能形成不超過4個終端畫面的圖像。其中,4×1為CIF格式(352×288);l×1為QCIF格式(176×144),因此視頻混合存在兩種不同方式,包括QCIF格式源圖像混合成CIF格式圖像以及CIF格式源圖像混合成CIF格式圖像,如圖1所示。
當源圖像為QCIF格式時,源圖像大小正好是混合后圖像大小的1/4,這時可以將源圖像整幅地拷貝到混合圖像的相應位置;當源圖像為CIF格式時,源圖像與混合后圖像的大小一樣,因此源圖像3/4的像素必須被丟掉,采用的方法是:對源圖像在水平方向進行隔點采樣,在垂直方向進行隔行采樣。這樣處理之后,源圖像大小也正好是混合后圖像大小的1/4,雖然圖像的分辨率已經(jīng)下降,但是保持了源圖像畫面的完整性;如果將MCU變成可容納16個終端的顯示畫面,在將QCIF源圖像轉(zhuǎn)換為CIF的合成圖像過程中,只能將源圖像的采樣點按倍數(shù)減少。也就是將CIF格式等分為16份,相當于用88×72的像素點去存儲176×144 QCIF圖像,合成圖像顯示的像素點只有源圖像的1/4;如果將MCU可容納的終端數(shù)目擴大為32,甚至更多時,圖像的清晰度將大打折扣。
(2)傳統(tǒng)軟件MCU的架構是從硬件MCU繼承過來的,MCU包括MC和MP部分。MC部分對終端進行連接控制以及邏輯通道的管理;MP部分對音頻進行混合,視頻進行合成。傳統(tǒng)MCU的設計如圖2所示,這種架構適用于硬件MCU;但對用軟件實現(xiàn)的MCU并不太適合。用軟件實現(xiàn)的MCU的編解碼都是通過CPU來運算的,這樣必然增加CPU的運算負荷。例如:要編碼一路30 f/s的CIF(352×288)圖像,大概編碼后的字節(jié)數(shù)為30×352×288×2=6 MB,CPU要處理如此大的視頻數(shù)據(jù)量,經(jīng)測試,P4-2.6 G的CPU在這種架構下,最多支持5路終端,如超過5路,CPU運算負荷過大,其資源基本耗盡,圖像合成的效果嚴重下降。
因此,要實現(xiàn)高性能的MCU,必須把MCU對多路音、視頻編碼的大數(shù)據(jù)量處理的工作環(huán)節(jié)轉(zhuǎn)移到各個終端上,讓終端對相應的音、視頻編碼進行處理,而MCU只對各路的音視頻流進行存儲轉(zhuǎn)發(fā),這樣才能減輕MCU的負荷,從而提高系統(tǒng)的整體效率。
評論