梅魯海
(浙江機電職業(yè)技術學院電氣電子工程學院,杭州310053)
電力系統(tǒng)視頻監(jiān)控實時數(shù)據(jù)的傳輸對網(wǎng)絡的帶寬、數(shù)據(jù)包丟失率和延遲等指標都有嚴格的要求,但由于目前電力系統(tǒng)數(shù)據(jù)傳輸網(wǎng)上的視頻處理主機的性能不同,以及網(wǎng)絡傳輸帶寬的頻繁變化,往往不能滿足實時視頻信號傳輸對高帶寬和低延時要求,以致出現(xiàn)網(wǎng)絡擁塞狀況,并造成監(jiān)控視頻質量的降低。此外,傳統(tǒng)的電力系統(tǒng)視頻監(jiān)控解決方案中,視頻源的層次劃分和各視頻層次的速率是固定的,不具備對動態(tài)網(wǎng)絡的自適應性,這也會影響網(wǎng)絡帶寬利用率和總體的視頻接收質量。
目前有兩種提高電力系統(tǒng)監(jiān)控視頻服務質量的方法,一種是改造電力系統(tǒng)現(xiàn)有的通信網(wǎng)絡,使網(wǎng)絡上的交換機和路由器等設備能對實時應用提供資源預約及服務質量的保證;另一種就是在維持現(xiàn)有網(wǎng)絡的狀況下,通過端到端的擁塞控制和差錯控制技術來最大程度地改善視頻的傳輸。常用的端到端的擁塞和差錯控制方法有兩種,一種是像TCP(transmission control protocol,傳輸控制協(xié)議)一樣基于窗口的控制方式,它以數(shù)據(jù)包個數(shù)為單位,獲取可用網(wǎng)絡帶寬的匹配主要是采用緩慢增加擁塞窗口的方式,當檢測到網(wǎng)絡擁塞時,會迅速減少擁塞窗口的大小,避免發(fā)生網(wǎng)絡沖突。另一種是基于速率的控制方式,它是以每秒發(fā)送的比特數(shù)為單位,并根據(jù)估算網(wǎng)絡的網(wǎng)絡有效帶寬等參數(shù)適時地調整視頻流的傳送速率,達到使該視頻傳輸需要占用的帶寬能夠與網(wǎng)絡上可用的帶寬資源相匹配,從而避免網(wǎng)絡擁塞[1]。與基于窗口的控制方式相比,基于速率的控制方式可以有效地解決重傳時的抖動和延遲長等問題,正在電力系統(tǒng)視頻監(jiān)控中得到更廣泛的應用。
本設計提出一種電力系統(tǒng)監(jiān)控實時視頻傳輸速率的自適應控制方案,系統(tǒng)可以根據(jù)網(wǎng)絡傳輸時間、傳輸延遲和數(shù)據(jù)包丟失率等參數(shù)對網(wǎng)絡帶寬進行估算和判斷,然后動態(tài)地調整視頻輸出端的發(fā)送速率,實現(xiàn)魯棒控制。本設計有較高的理論意義和實用價值,經(jīng)實驗證明,系統(tǒng)可以減少視頻傳輸數(shù)據(jù)包的丟失率和抖動,提高電力系統(tǒng)網(wǎng)絡傳輸帶寬的利用率,改善電力監(jiān)控的視頻服務質量。
本設計對應的電力系統(tǒng)視頻監(jiān)控的總體組成如圖1所示。系統(tǒng)主要包括變電站視頻監(jiān)控前端機、視頻服務器和監(jiān)控用戶端三部分,每個視頻服務器和一個變電站視頻監(jiān)控前端機相對應。系統(tǒng)工作時,變電站各個監(jiān)控攝像機送出的視頻流通過變電站視頻監(jiān)控前端機傳給對應的視頻服務器,視頻流在視頻服務器中重新編碼。為適應網(wǎng)絡帶寬的動態(tài)變化,視頻服務器會根據(jù)系統(tǒng)反饋控制的帶寬估測結果,不斷動態(tài)地調整發(fā)向監(jiān)控用戶端的視頻流傳輸速率。視頻服務器的主要功能是轉發(fā)監(jiān)控用戶端請求的視頻流,監(jiān)控用戶端可以通過視頻服務器向變電站視頻監(jiān)控前端機發(fā)送控制指令,如控制攝像機鏡頭和云臺等。
圖1 電力視頻監(jiān)控系統(tǒng)總體組成Fig.1 Overall composition of electric power video monitoring system
本系統(tǒng)的視頻實時傳輸速率自適應控制的結構設計如圖2所示。在變電站視頻發(fā)送端,帶寬估測模塊根據(jù)反饋信息按照一定的算法估測網(wǎng)絡的有效和可用帶寬,根據(jù)估測帶寬結果,速率調整模塊負責對編碼后的視頻數(shù)據(jù)流進行速率和位率的調整和改進,從而控制輸出的比特流,這樣可以為避免發(fā)生網(wǎng)絡擁塞[2],做到實際輸出的視頻速率與網(wǎng)絡的實際可用帶寬資源相匹配。速率控制模塊主要負責為視頻編碼器提供編碼速率的控制參數(shù),控制參數(shù)是根據(jù) RTP(real-time transport protocol,實時傳送協(xié)議)層從接收端反饋的網(wǎng)絡狀態(tài)信息來確定。這樣,輸入視頻服務器的視頻數(shù)據(jù)流在編碼器進行發(fā)送速率的自適應編碼,然后,按照傳輸協(xié)議定義的打包算法,編碼后的視頻流在RTP層被封裝成RTP的數(shù)據(jù)包,再交給UDP/IP層,以單播或組播方式進入網(wǎng)絡進行傳輸。
圖2 實時視頻傳輸速率自適應控制結構Fig.2 Real-time video transmission rate adaptive control chart
在監(jiān)控用戶視頻接收端,有些視頻數(shù)據(jù)包可能由于網(wǎng)絡擁塞或傳輸延時等原因產(chǎn)生丟失,所以QoS(quality of service,服務質量)監(jiān)測模塊會在視頻數(shù)據(jù)流通過UDP/IP層后,在RTP層對數(shù)據(jù)包進行分析和處理,并根據(jù)數(shù)據(jù)包的報頭進行網(wǎng)絡擁塞和服務質量的監(jiān)測,并統(tǒng)計結果,得出包丟失率和傳輸時間等反映當前網(wǎng)絡狀態(tài)的參數(shù),再通過反饋控制模塊將這些信息以 RTCP(real-time transport control protocol,實時傳輸控制協(xié)議)包的形式反饋給發(fā)送端。監(jiān)控用戶視頻接收端收到的視頻數(shù)據(jù)流還要進行數(shù)據(jù)差錯和糾錯的處理,然后再通過解碼器進行視頻解壓和解碼,在顯示器還原出原變電站的監(jiān)控圖像。
系統(tǒng)結構中的帶寬估測模塊是本系統(tǒng)速率控制的基礎。系統(tǒng)只有先通過帶寬估測算法來預測出下一時刻的有效帶寬,然后才能夠應用速率控制機制隨著有效帶寬的變化動態(tài)地調整目標傳輸速率,從而避免網(wǎng)絡阻塞的發(fā)生。
這里,判斷網(wǎng)絡是否擁塞需要關注兩個重要的網(wǎng)絡指標:數(shù)據(jù)包丟失率和傳輸時間。而當發(fā)生網(wǎng)絡擁塞時,傳輸網(wǎng)絡負載會較重,則數(shù)據(jù)包丟失率和傳輸時間均會增大;當網(wǎng)絡擁塞較輕時,數(shù)據(jù)包丟失率和傳輸時間相應也較?。?]。網(wǎng)絡有效帶寬的確定可由帶寬估測模塊通過數(shù)據(jù)包丟失率和傳輸時間等指標按一定的算法計算得到。
例如,可以使用較為成熟的伯努利模型來估算上述指標,假定數(shù)據(jù)包的分發(fā)是獨立和均勻的,伯努利模型定義的數(shù)據(jù)包丟失率p為
式中,n是抽樣測試中的全部數(shù)據(jù)包數(shù)量,nL是抽樣測試中丟失的數(shù)據(jù)包數(shù)量。
因為任何一個視頻數(shù)據(jù)包從視頻發(fā)送端發(fā)出時,會被編上相應的RTP隊列號,所以任何視頻數(shù)據(jù)包的丟失或數(shù)據(jù)包次序的微小改變都會被及時捕捉和發(fā)現(xiàn),因而丟失的數(shù)據(jù)包的統(tǒng)計監(jiān)測主要是依據(jù)視頻接收端檢查數(shù)據(jù)包RTP隊列實時位置的編號來完成。假設部分數(shù)據(jù)包已丟失,為避免系統(tǒng)花費過長的時間等待,可設置接收端監(jiān)測的門限值為3,則如果第i個數(shù)據(jù)包沒有及時到達接收端,而當已接收到后面順序的第i+1、i+2和i+3個數(shù)據(jù)包時,系統(tǒng)就可判斷第i個數(shù)據(jù)包已丟失[4]。每一個抽樣周期內(nèi)統(tǒng)計的包丟失率需要進行平滑處理和計算,這可用一個低通濾波器來實現(xiàn)。各周期數(shù)據(jù)包丟失率的系數(shù)關系有
式中:μj為第j周期內(nèi)統(tǒng)計的已平滑的數(shù)據(jù)包丟失率;μj-1為第j-1周期內(nèi)統(tǒng)計的已平滑的數(shù)據(jù)包丟失率;rj為第j周期內(nèi)的數(shù)據(jù)包丟失率;α為一個可調節(jié)參量,主要用于調整μj-1對μj的影響程度,一般實驗條件下測定的標準結果為α=0.33。
系統(tǒng)接收端的QoS監(jiān)測模塊負責QoS的統(tǒng)計,主要由RTP/RTCP協(xié)議中的RTCP來實現(xiàn),如果使用RTCP包來計算網(wǎng)絡的傳輸時間,需要在發(fā)送和接收端之間傳送發(fā)送方的報告報文SR(sender report,發(fā)送者報告),而接收端在設定的計時器單位時間內(nèi)或超時后,則會周期性地向發(fā)送端傳送一個包括反饋信息的接受者報告報文RR(receiver report,接受者報告),反饋信息中主要包括包丟失率p和傳輸時間RTT(round-trip time,往返時間),具體算法如下所述。
如果系統(tǒng)接收端收到了發(fā)送端的控制包SR,經(jīng)過一段時延DLSR(delay since last SR,自上次SR延時)后,則向發(fā)送端發(fā)送響應控制包SR的控制包RR,同時在控制包SR中的NTP(network time protocol,網(wǎng)絡時間協(xié)議)時間戳域中,提取中間的32bit作為控制包SR的LSR(last SR,上一個SR)。系統(tǒng)接收端如果沒有收到發(fā)送端發(fā)出的SR控制包,則DLSR和LSR都置為0。無論收到與否,DLSR和LSR的值會均被填入控制包SR相應的域中[5]。假設時間A為發(fā)送端收到控制包RR的時刻,則當前的網(wǎng)絡傳輸時間RTT為
當前的網(wǎng)絡傳輸延遲Dn為
設RR報文中的包丟失率字段為P,則網(wǎng)絡的數(shù)據(jù)包丟失率p為
p可作為判斷網(wǎng)絡擁塞程度的一個重要指標,也可以間接地表示網(wǎng)絡的有效帶寬。
MPEG-4是基于對象的視頻編碼標準,在視頻實時傳輸中得到了廣泛的應用,本系統(tǒng)采用MPEG-4編碼標準。MPEG-4本身具有自適應碼率編碼的算法特點,這為本系統(tǒng)實時視頻傳輸速率的自適應控制提供了一定條件。系統(tǒng)結構中,速率控制模塊需要為視頻編碼器提供一定的控制參數(shù),從而保證編碼器輸出質量較好的視頻數(shù)據(jù)流[6]。
MPEG-4進行分級編碼時,會產(chǎn)生一個基本層的視頻碼流和一個增強層的嵌入式視頻碼流?;緦哟a流包括P-VOP和I-VOP兩種類型的視頻幀,是質量級別較低的視頻信號,但重要性高。因為基本層的碼率相對較低,可以適應網(wǎng)絡帶寬波動范圍的下限,因此可以對基本層的視頻碼流提供完全的保護。增強層視頻碼流主要由B-VOP類型的視頻幀組成,采用漸進式編碼方式,可以隨時中斷視頻碼流,并形成視頻流的不同級別,以適應網(wǎng)絡帶寬的較大波動。增強層含有基本層的量化差值部分,主要用來提高基本層的視頻質量[7]。由于基本層和增強層使用了分級編碼的不同級別數(shù)據(jù)包的保護措施,所以兩種視頻碼流對視頻質量會呈現(xiàn)出不同的影響程度。
對于網(wǎng)絡帶寬較大程度的變動,本系統(tǒng)實時視頻傳輸速率自適應控制的原理如圖3所示。設圖中A0、A1和A2為編碼器三種速率大小的視頻流發(fā)送的狀態(tài),也對應于編碼器三種由低向高的編碼級別。假設初始狀態(tài)為A0狀態(tài),這時編碼器是以最低級別質量水平在發(fā)送視頻流。當接收端反饋的網(wǎng)絡的有效帶寬較低時,則不管編碼器現(xiàn)處于哪種狀態(tài),立即會轉到FR狀態(tài)。FR狀態(tài)下,系統(tǒng)根據(jù)控制參數(shù)和參考速率調整出適合網(wǎng)絡帶寬的最佳編碼速率。在一個RTT周期內(nèi),系統(tǒng)會在下次帶寬反饋之前,在狀態(tài)A0和PR0之間循環(huán)轉換,當一個RTT周期結束,系統(tǒng)就保持在狀態(tài)PR0。當接收端反饋的網(wǎng)絡有效帶寬較大時,編碼器會向A1狀態(tài)轉換,并繼續(xù)跟蹤網(wǎng)絡帶寬變化,如果帶寬出現(xiàn)不足,則返回到狀態(tài)A0,如果帶寬更充足,則編碼器會向A2狀態(tài)轉換。這種速率控制的算法采用了加性增加、立即減少的方法,當擁塞時,無論是否在一個RTT的循環(huán)周期內(nèi),可以隨即降低編碼級別,從而迅速避免網(wǎng)絡沖突,保證視頻質量[8]。
圖3 編碼速率級別和狀態(tài)的自適應控制與轉換Fig.3 Adaptive control and conversion of coding rate level and state
編碼器三種級別的轉換適應了較大網(wǎng)絡帶寬的波動,在每一個級別范圍內(nèi),帶寬的較小波動也會對視頻質量產(chǎn)生影響,本系統(tǒng)實時視頻傳輸速率的自適應控制還運用迭代算法在發(fā)送端根據(jù)接收端反饋回的參數(shù)調整編碼速率,這樣可以充分利用帶寬資源,保持視頻的最佳質量,具體算法如下:
(1)根據(jù)RTP/RTCP協(xié)議,發(fā)送端向接收端發(fā) 送 一 組 RTCP 的 APP(application specific functions,專用功能)報文形式的探測數(shù)據(jù)包,這里 使 用 了 基 于 模 型 的 方 法 LDA(loss-delay adjustment algorithm,丟失延遲調整算法),APP報文的量級較低,對傳輸帶寬影響很小。接收端填充APP報文中的字段Add(application-dependent data,應用程序相關數(shù)據(jù)),并把數(shù)據(jù)包丟失率和網(wǎng)絡帶寬等參數(shù)反饋給發(fā)送端。
(2)發(fā)送端依據(jù)接收端反饋回來的網(wǎng)絡帶寬等參數(shù),確定初始的編碼速率V0,編碼后的視頻流數(shù) 據(jù) 通 過 同 步 層、DMIF(delivery multimedia integration framework,傳輸多媒體集成框架)層和傳輸層發(fā)送出去。
(3)發(fā)送端根據(jù)接收端反饋回來的APP報文繼續(xù)動態(tài)調整速率,以適應網(wǎng)絡帶寬的不斷變化。具體流程:
①發(fā)送端創(chuàng)建SR和APP報文,并在接收到下一個反饋來的APP包之前,一直保持一個恒定的發(fā)送速率Vn。發(fā)送端將SR中的字段LSR復制到APP中的Add字段,并填充APP序號,每間隔1s發(fā)送一次APP報文,但不發(fā)送所創(chuàng)建的SR報文。
②接收端創(chuàng)建RR和APP報文,并解析接收到的APP報文。復制包丟失率字段P和RR中的DLSR字段到APP的Add字段,發(fā)送對應的APP報文,但不發(fā)送RR報文[9]。
③發(fā)送端收到APP報文,進行解析而獲得網(wǎng)絡傳輸延遲Dn和包丟失率p的數(shù)值,運用迭代算法計算和確定視頻編碼速率Vn的值。
設Vmax=V0,Vmin=0。如果Dn增加,則Vn相對于網(wǎng)絡帶寬偏大,Vmax=Vn;如果Dn減小,則Vn相對于網(wǎng)絡帶寬偏小,Vmin=Vn。
當前視頻編碼速率V(n+1)為
當0.2>p>0.1時,說明當前網(wǎng)絡擁塞狀況較輕,采用上述算法調整Vn,不斷迭代的結果是Vn的數(shù)值最后落在一個較小的范圍內(nèi),并跟隨帶寬動態(tài)變化。
當p<0.1時,說明當前網(wǎng)絡狀況基本良好,Vn會保持一個穩(wěn)定的數(shù)值。
當p>0.2時,說明當前網(wǎng)絡擁塞狀況較重,這時Vn會進行快速調整,即Vn=Vn×0.8。
(4)發(fā)送和接收端都有一個RTCP報文的緩沖區(qū),RTCP的APP報文因為各種原因會出現(xiàn)丟失,根據(jù)時間定時器的計數(shù),當超過5s的時間間隔而未收到APP報文時,發(fā)送和接收方將自動進行重發(fā)APP包,并作調整Vn=Vn×0.8[10]。
(5)因為RTCP包不具備握手功能,所以RTP數(shù)據(jù)的傳送不受RTCP數(shù)據(jù)包的發(fā)送和接收的影響,APP包的傳輸對網(wǎng)絡負載影響也不大。
系統(tǒng)測試的仿真系統(tǒng)采用2個數(shù)據(jù)源信號發(fā)生器,分別輸出1路基于RTP的256kB/s的實時MPEG-4視頻數(shù)據(jù)流和2路基于TCP的FTP(file transfer protocol,文件傳輸協(xié)議)格式數(shù)據(jù)流,MPEG-4視頻的分辨率為640×480,時長15min。實驗使用的通信傳輸鏈路模擬為2臺路由器之間的網(wǎng)絡線路,傳輸瓶頸帶寬1.2MB/s,延遲為30 ms,2臺路由器與收發(fā)端點間接口的傳輸帶寬10 MB/s,延遲為5ms。實驗以接收端統(tǒng)計的數(shù)據(jù)包丟失率作為視頻質量的參考評價標準。
(1)視頻傳輸速率自適應控制的開閉實驗。在視頻收發(fā)端點之間傳輸1路速率為256kB/s的實時MPEG-4視頻流,實驗取樣的時間段內(nèi),分別設置打開和關閉系統(tǒng)的反饋控制、帶寬估測和速率調整等模塊的功能,在接收端數(shù)據(jù)包丟失率的統(tǒng)計和計算情況如表1所示。統(tǒng)計結果表明,數(shù)據(jù)包丟失率在系統(tǒng)打開自適應控制功能后明顯小于關閉后的數(shù)值。
表1 打開和關閉自適應控制的數(shù)據(jù)包丟失率對比Tab.1 Comparison of data packet loss rate of adaptive control headstock
(2)實時MPEG-4數(shù)據(jù)流和FTP數(shù)據(jù)流的并行實驗。在視頻收發(fā)端點之間同時傳送1路實時MPEG-4數(shù)據(jù)流和2路基于TCP的FTP數(shù)據(jù)流。MPEG-4數(shù)據(jù)流在FTP發(fā)送8s之后開始發(fā)送,設置打開自適應控制的功能。在實驗取樣的時間段內(nèi),在接收端數(shù)據(jù)包丟失率的統(tǒng)計和計算情況如表2所示。經(jīng)統(tǒng)計發(fā)現(xiàn),當采取2路FTP流同時并行傳送時,它們占用了較多的網(wǎng)絡帶寬資源,而本系統(tǒng)的實時視頻流占用的帶寬會有所減少,最終并沒有造成接收端數(shù)據(jù)包丟失率的明顯升高。這主要是因為本系統(tǒng)RTP形式的視頻流和具有一定擁塞控制特性的TCP數(shù)據(jù)流共享網(wǎng)絡帶寬時,具有自適應和魯棒控制的特點,視頻發(fā)送端可以根據(jù)當前可用的帶寬情況,動態(tài)調整視頻的發(fā)送速率,盡力去適應網(wǎng)絡的擁塞狀況,自動占用相對少的網(wǎng)絡資源,最終會減低包丟失率,縮短傳輸時延,從而保障了同F(xiàn)TP數(shù)據(jù)流競爭網(wǎng)絡帶寬的公平性。
另一方面,因為FTP數(shù)據(jù)是運行在TCP之上的,當并行的FTP數(shù)據(jù)流逐漸增加時,也會按照擁塞控制機制來自我調整,具體表現(xiàn)在每路FTP數(shù)據(jù)流的速率會有所下降,實驗發(fā)現(xiàn),1路FTP流的速率為128KB/s,2路FTP流并行時,單路分別為114KB/s左右。
表2 MPEG-4流和FTP流并行的數(shù)據(jù)包丟失率對比Tab.2 Comparison of data packet loss rate of MPEG-4and FTP parallel
當前,電力系統(tǒng)信息網(wǎng)絡技術自身的發(fā)展很難為視頻應用提供絕對的服務質量保證,本研究提出的實時視頻傳輸速率的自適應控制方案從電力系統(tǒng)監(jiān)控的工程實際出發(fā),利用QoS監(jiān)測、網(wǎng)絡帶寬預測和速率控制等技術,很好地解決了傳輸帶寬與視頻流碼率的不匹配等問題。仿真實驗表明,系統(tǒng)可以有效地降低視頻傳輸?shù)臄?shù)據(jù)丟包率和網(wǎng)絡時延,充分保證視頻應用在網(wǎng)絡擁塞環(huán)境中的實時性。由于現(xiàn)有網(wǎng)絡狀況的復雜性,電力系統(tǒng)監(jiān)控視頻技術中的自適應控制參數(shù)、協(xié)議兼容性、帶寬預測精度和大流量視頻應用等,是需要進一步研究的課題。
[1] 彭偉發(fā)(Peng Weifa).帶寬時變高速通信網(wǎng)絡的魯棒控制 (Robust controller for the communication networks with time-varying bandwidth)[J].電力系統(tǒng)及其 自 動 化 學 報 (Proceedings of the CSU-EPSA),2006,18(3):81-85.
[2] 唐慧明,張?。═ang Huiming,Zhang Jian).變電站遠程圖像監(jiān)控系統(tǒng)設計(Design of video surveillance system for substation)[J].電力系統(tǒng)自動化(Automation of Electric Power Systems),2001,25(7):56-58.
[3] 方璐,楊天怡,牟萬軍(Fang Lu,Yang Tianyi,Mou Wanjun).數(shù)字圖像遠程監(jiān)控系統(tǒng)的組網(wǎng)方式(Topology of digital images remote surveillance system)[J].計算機測量與控制(Computer Measurement &Control),2002,10(7):446-448.
[4] Felix F Wu,Knosrow Moslehi,Anjan Bose.Power system control centers:past,present,and future[J].Proceedings of the IEEE,2005,93 (11):1890-1908.
[5] Li Xue,Ammar Mostafa H,Paul Sanjoy.Video multicast over the internet[J].IEEE Network ,1999,13(2):46-60.
[6] Pao I M,Sun M T.Encoding stored video for streaming applications[J].IEEE Trans on Circuits and Systems for Video Technology,2001,11(2):199-209.
[7] Busse Ingo,Deffner Bernd,Schulzrinne Henning.Dynamic QoS control of multimedia applications base on RTP[J].Computer Communications,1996,19(1):49-58.
[8] Kang-Won LEE ,Puri R,Tae-eun Kim,et al.An integrated source coding and congestion control framework for video streaming in the internet[C]∥Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies,Tel Aviv,Israel:2000.
[9] Wang Yao,Zhu Qin-Fan.Error control and concealment for video communication :A review[J].Proceedings of the IEEE,1998,86(5):974-997.
[10]R Rejaje,M Handley,D Estrin,et al.Layered quality adaptation for internet video streaming[J].IEEE Journal on Selected Areas in Communications,2000,18(12):2530-2543.