□胡耀民 晏細(xì)蘭
(一)系統(tǒng)物理拓?fù)浣Y(jié)構(gòu)。由于全景視頻系統(tǒng)是一個實時系統(tǒng),并且通信量大,無法承受過高的通信代價[1],這時必須為分散式視頻全景系統(tǒng)提供一個高速通信的環(huán)境。本系統(tǒng)搭建高速局域網(wǎng)如圖1所示。
圖1 24路視頻全景系統(tǒng)物理拓?fù)?/p>
為了方便攝像機的統(tǒng)一管理,攝像機均連接到固定在攝像機陣列上的一個千兆交互機,而各個計算節(jié)點統(tǒng)一連接另一個千兆交換機,最后將兩個交換機通過交換機專用高速接口連接在一起[2~3]。由于計算節(jié)點與攝像機通信時交互次數(shù)只要兩次,使得實測網(wǎng)絡(luò)延時<1ms。
(二)分散式全景視頻系統(tǒng)需求與配置。本系統(tǒng)所需設(shè)備:24路網(wǎng)絡(luò)攝像頭陣列,能輸出幀率達到25fps的標(biāo)清視頻;千兆交互機2臺。計算機節(jié)點如表1所示。在本次系統(tǒng)設(shè)計中選用3臺性能差異較大的計算機作為計算節(jié)點以驗證分散式系統(tǒng)在異構(gòu)環(huán)境下仍然能夠發(fā)揮作用。此外配置1同時擔(dān)任系統(tǒng)控制節(jié)點。
本分散式系統(tǒng)需要對管理系統(tǒng)和計算節(jié)點分布實現(xiàn)應(yīng)用
表1 節(jié)點配置
程序的接口,管理服務(wù)器主要完成參數(shù)學(xué)習(xí)、多分辨瀏覽控制、全景數(shù)據(jù)融合和節(jié)點任務(wù)管理;計算節(jié)點應(yīng)用接口負(fù)責(zé)視頻數(shù)據(jù)采集、局部全景視頻投影與存儲和多分辨瀏覽數(shù)據(jù)提取。如圖2所示。
圖2 系統(tǒng)整體方案設(shè)計
數(shù)據(jù)傳輸根據(jù)節(jié)點的串行方式可以分為節(jié)點間網(wǎng)絡(luò)傳輸和節(jié)點內(nèi)部數(shù)據(jù)傳輸。網(wǎng)絡(luò)傳輸方面本系統(tǒng)使用TCP/IP網(wǎng)絡(luò)傳輸協(xié)議,該協(xié)議提供無邊界數(shù)據(jù)傳輸,帶有糾錯功能,能實現(xiàn)無丟失的數(shù)據(jù)交換,傳輸能力主要由網(wǎng)絡(luò)的傳輸帶寬和節(jié)點的網(wǎng)絡(luò)數(shù)據(jù)交換能力決定。本系統(tǒng)使用的是千兆交互機和千兆網(wǎng)卡,交換機能實現(xiàn)線路的自動開關(guān),使得端與端之間的數(shù)據(jù)交換互不影響,也就是說各個計算節(jié)點都能實現(xiàn)1,000Kb/s的數(shù)據(jù)交換能力。節(jié)點內(nèi)部數(shù)據(jù)傳輸通過數(shù)據(jù)總線決定,其數(shù)據(jù)交換能力非常大,相對于網(wǎng)絡(luò)傳輸其數(shù)據(jù)交換代價可以忽略不計。根據(jù)串行任務(wù)中交換數(shù)據(jù)的不同,對網(wǎng)絡(luò)數(shù)據(jù)傳輸需求主要模塊作出如下分析。
(一)攝像機至采集模塊。攝像機輸出數(shù)據(jù)采用H.264的MPG4編碼方式,該方式通過設(shè)定關(guān)鍵幀與幀間差分的方式去除視頻中的冗余信息,實現(xiàn)高壓縮比的視頻壓縮。由于本系統(tǒng)中全景目標(biāo)幀率為10fps,所以把攝像機的物理采集幀率與關(guān)鍵幀隔設(shè)定為10fps,這時視頻碼率設(shè)定為2Mb/s時視頻圖像能保持較好質(zhì)量。24路視頻數(shù)據(jù)均在一個交換機出口輸出,輸出帶寬需求為24×2Mb/s=48Mb/s,遠(yuǎn)低于交換機的帶寬容量。
(二)采集模塊至投影模塊。如果該兩個模塊被分配到了不同的節(jié)點,必須通過網(wǎng)絡(luò)傳輸。采集模塊通過解碼后,把每幀圖片提取出來,對于720p圖像,其原始大小為1,280×720×3×8bit≈21Mbit,對于視頻為10fps的處理速度其帶寬需求為210Mb/s,雖然網(wǎng)絡(luò)帶寬能滿足需求,但是也會造成每幀在網(wǎng)絡(luò)傳輸上花費21ms,由于串行流水線操作中數(shù)據(jù)傳輸是必要開支,對本系統(tǒng)中流水線單步執(zhí)行時間限制在100ms以內(nèi)的需求來說網(wǎng)絡(luò)傳輸花費時間太多。為了減少網(wǎng)絡(luò)傳輸數(shù)據(jù),必須對圖像進行壓縮,本系統(tǒng)利用JPEG圖像壓縮,在壓縮比在15∶1時,一幀圖像大小約在1.4Mbit,網(wǎng)絡(luò)傳輸時間為1.4ms,另外壓縮圖像也會增加另外的編解碼計算成本,實際測試中,不同計算能力的計算機對720p圖像進行JPGE編碼和解碼時間為2~6ms內(nèi),所以采用圖像壓縮后傳輸圖像顯得更加效率。
(三)投影模塊至壓縮模塊。由于本系統(tǒng)中攝像機除了角度參數(shù)外其他參數(shù)基本相同,所以圖像在投影變換后畸變一般很小,大小與原始圖像相仿,其網(wǎng)絡(luò)要求與(2)是一樣的。
以上分析是根據(jù)理論值計算的,實際測試中根據(jù)圖像內(nèi)容和網(wǎng)絡(luò)瞬時狀態(tài)存在10%~20%左右的浮動。可以看出,數(shù)據(jù)傳輸是流水線操作上的產(chǎn)品傳遞時間,該時間由各個傳輸過程中最慢的一塊決定,即裁剪模塊至融合模塊,也就是說提供給各個模塊的最大計算時間為75ms,大于該時間會出現(xiàn)流水線不同步,任務(wù)堆積在某一個模塊。
(一)任務(wù)功耗需求計算。以配置3為任務(wù)測試環(huán)境,測試各個任務(wù)1,024次,其中t3以其最大值(視窗分辨率和圖像分辨率一致并包含整個圖像)計算結(jié)果如表2所示。
表2 任務(wù)需求
從表2可以看出,其通信消耗非常大,說明優(yōu)秀的分配結(jié)果基本上會是把任務(wù)直接本地串行以減少傳輸消耗,只有在考慮任務(wù)均衡時才會引入少量傳輸消耗。
表3 節(jié)點測試
綜上所述,可以看出本系統(tǒng)對24路全景視頻的處理還是有一定的負(fù)荷余量,通過調(diào)節(jié)幀率或擴大陣列規(guī)模,系統(tǒng)效率還可以提高。分散式系統(tǒng)對實時和異構(gòu)系統(tǒng)都有很好的適用性。通過繼續(xù)擴大節(jié)點規(guī)模,各個節(jié)點的負(fù)荷率將會減少,當(dāng)規(guī)模達到一定程度時,基本可以達到在不影響各個節(jié)點用戶本身的使用需求下,仍然保證系統(tǒng)的流暢運行。