隨著自動化技術和軟硬件技術的不斷發展,傳統工業對于自動化技術的要求顯著提高,極大地促進了視頻監視技術的發展;同時由于“911”事件的影響,世界對于安全的注重超過以往任何時候,安全防護成了各項活動的重中之重。在工業中,儀器設備的正常運行對工廠的安全正常運行有著決定性的意義,所以很有必要對這些儀器、設備進行監視。在安防中,由于涉及到巨大的人身及財產傷害,對于監視的實時性以及準確性的要求不言而喻。基于此,視頻監視技術取得了長足的發展。而在視頻監視技術的發展過程中,監視視頻的質量成為視頻監視系統中最重要的部分。因此對監視視頻質量的優化策略研究直接影響整個視頻監視系統的性能。
1 存在的問題
監視視頻的質量主要體現在實時性、流暢性和清晰度等性能指標上。在一般視頻監視系統中,實時性主要由監視終端視頻處理性能決定。實時性要求客戶端軟件以最快的速率進行網絡視頻數據解碼。由于遠程監視系統中,監視終端存在接收緩沖區,緩存網絡數據流,因此實時性要求數據在緩沖區中幾乎不進行緩存。而對于視頻流暢性,主要由監視終端解碼、顯示速率與網絡視頻流接收速率的相對關系決定,當解碼、顯示速率比視頻流接收速率高時,解碼、顯示會阻塞等待視頻接收,由于此等待過程并非平均分布在每一幀,因此會造成播放視頻流暢性問題。清晰度主要和視頻數據的丟包率有關,在網絡狀況理想的情況下,丟包率主要與監視終端數據處理效率有關,當終端數據處理速率較低時,由于視頻數據累積,會造成接收緩沖區溢出,從而導致丟包率升高,引起清晰度問題。在實際應用中,網絡擁塞對丟包率影響很大,決定了視頻的清晰度。
由上述分析可知,要想保證視頻實時性能,必須提高視頻終端的處理性能。而同時由于實時性和流暢性存在矛盾:實時性要求監視終端以最快速率進行數據處理;流暢性要求視頻流進行緩沖,同時控制監視終端解碼、顯示速率。為了達到好的監視效果,必須找到均衡控制策略,一方面讓視頻進行緩沖,保證視頻解碼、顯示不阻塞,另一方面保證數據快速解碼,不產生累積時延。同時必須對網絡擁塞進行抑制,以保證視頻清晰度。
2 優化控制策略
2.1 零拷貝緩沖區策略
流媒體編程中處理的數據量非常大,減少數據拷貝可以提高客戶端對流媒體數據的處理速度、降低時延以及減輕處理器的負載;也可以減少客戶端因為數據拷貝,來不及處理后續數據包而帶來的丟包現象。從而節約系統資源,提高流媒體的播放質量。零拷貝緩沖區策略通過合理的緩沖區設計,能減少90%的數據拷貝工作,大大提高系統性能。
零拷貝緩沖區策略合并接收緩沖區和解碼器輸入緩沖區,使得緩沖區間的數據拷貝操作變成指針操作。
零拷貝緩沖區原理圖如圖1所示,Read-ptr:視頻解碼指針,指向待解碼的數據;Write_ptr:接收數據指針,指向網絡數據的存放地址;valid_data_ptr:有效緩沖區首地址,網絡數據存放的首地址。備用緩沖區不存放從網絡接收的視頻流,當如圖2所示,有效數據分為2塊時,并且解碼數據分別存在于緩沖區中的2個部分,則傳遞給解碼器Read-ptr并不能滿足要求,因此需要使用到備用緩沖區,具體策略是將Read-ptr后的數據拷貝到Buffer_ptr里,使得解碼數據變成一塊連續緩沖區。由于在視頻監視系統中,一幀數據的數據量比接收緩沖區小得多,因此發生這種拷貝的幾率很少,而且每次拷貝的數據量也很少,能大大優化系統性能,提高監視終端解碼、顯示的效率。
2.2 網絡擁塞抑制策略
當通信網絡中有太多的分組需要傳輸時,會使整個網絡的性能降低,傳輸質量下降,產生網絡擁塞現象。當發生網絡擁塞時,如果不能及時地對網絡擁塞進行抑制,視頻延時會上升、網絡丟包率急劇增長,同時也會帶來一定的流暢性問題,給視頻質量造成很大的影響。對于擁塞的解決辦法無非只有2種:增加網絡資源和降低負荷。前者由整個互連網絡決定,沒有辦法進行控制,后者由每個用戶決定。當出現網絡擁塞時,適當地減少服務器端視頻采集的速率,這樣既減少了傳輸的數據,降低了網絡負載,同時又降低了客戶端數據的需求,減少了視頻質量下降的幾率。
在RTP協議中,使用RTCP(實時傳送控制協議)來進行流量控制和擁塞控制。在RTP會話期間,各參與者周期性地傳送RTCP包。RTCP包中有5種不同類型的RTCP控制分組,其中有2種:SR(Sender Report)發送者報告,用于當前發送者的發送情況和接收情況的統計;RR(Receiver Report)接受者報告,用于當前接受者的接受情況的統計。
RTCP包中含有已發送的數據包的數量、丟失的數據包的數量等統計資料,可以利用這些信息動態地改變傳輸速率,甚至改變有效載荷類型。
在客戶端可以周期性統計接收數據包的總個數以及丟失數據包的個數,然后按照RTCP的數據包格式填充數據包,發送至服務器端,然后服務器端通過相應的流量控制算法,利用客戶端傳輸過來的具體參數,則可以動態的調節數據包的采集以及發送速率。
2.3 編解碼速率協調策略
在一般視頻監視系統,監視終端進行視頻解碼時,為了確保每幀數據的完整性,需要判斷接收緩沖區中數據是否達到一定要求Limit_ A,但是由于監視圖像在背景固定和背景劇烈運動時,每幀數據量相差非常大,劇烈運動時的數量量往往是靜止時的幾倍,因此對于Limit_A的選擇比較困難。當Limit_A選擇較小時,在劇烈運動的情況下,解碼數據可能不是完整一幀,造成視頻質量問題;當Limit_A選擇較大時,在幾乎靜止的情況下,可能會造成視頻的停頓以及長時間的視頻延時。因此Limit_A必須是動態變化的,同時緩沖區中的數據由于靜止和運動時的數據量不同,數據量也必須進行嚴格的控制,防止在靜止情況下出現大規模延時。
在監視系統中,接收緩沖區就像一個漏斗,從網絡接收數據寫入緩沖區就像往漏斗里注水,從緩沖區取出數據進行解碼播放,就像從漏斗出水一樣。在一個漏斗中,當入水和出水相同時,不僅能使水流順暢,同時漏斗里的儲水量也幾乎恒定,如圖3所示。當然在監視的系統中,由于存在時間差(往緩沖區里存儲的幀與從緩沖區中取出的幀在時間上存在著差異),“出水速率”和“入水速率”(幀的大小)往往不相同;當視頻從運動變為靜止時,“出水速率”會比“入水速率”大,當視頻從靜止變為運動時,“出水速率”會比“入水速率”小。因此不能簡單地套用此模型。
由于視頻顯示速度不是以比特(bit)為單位而是以“f/s”為單位,所以當“水”的單位變為“f”,相應的“出水速率”和“入水速率”也變成“f/s”,則整個系統模型變為:當輸入幀率和輸出幀率相同時,就可以保證緩沖區中具有恒定的幀數stay_M,如圖4所示。同時只要確保Limit_A的值正確,那么每幀數據都可以是完整的,視頻也會是流暢、完整的。
輸入速率就是從網絡接收視頻幀的速率,理想地來講,也即是監視服務器采集、發送視頻的速率;而輸出速率應是從緩沖區取出數據進行解碼的速率,由于視頻質量最后呈現給用戶的部分是顯示部分,因此將輸出速率改為顯示速率更為妥當,同時為了保證視頻幀的完整性,解碼速率也要進行適當的控制。
此策略的實施辦法就是控制服務器端視頻采集、編碼的速率和客戶端視頻顯示的速率,使它們速度相同,同時在Limit_A的選取上,根據視頻連續性的關系,由實際消耗數據決定下一幀Limit_A的值,同時平滑解碼速率,使得每幀的解碼過程能夠平均分布。
3 實驗結果分析
本文的測試環境為:監視服務器運行Davinci開發平臺,具有ARM+DSP雙核結構,ARM子系統進行常規處理,DSP子系統進行快速數字信號處理。ARM子系統最高主頻為297 MHz,DSP子系統最高主頻為594 MHz,最高速度為每秒4 752百萬條指令;監視終端運行于PC機,處理器為奔騰42.8 GHz,內存1 GB,顯存256 MB,內置100 Mb/s網卡,160 GB硬盤,操作系統為Windows XP。監視服務器與監視終端通過校園網絡相連。測試內容主要是針對客戶端發出連接請求后5 s,10 s,30 s,60 s,90 s,120 s,150 s,200 s,250 s,300 s時的系統狀態:主要包括時延、丟包率以及產生停頓現象幀的百分比率。測試過程為單用戶情況下,對優化前后視頻質量進行比較。如圖5所示為優化前、后的時延變化圖。從圖中可以觀察出,優化前時延隨著監視時間的增加而增長,這是由于監視終端緩沖區之間拷貝操作過多,造成客戶端解碼顯示、速度相對較低,因而引起監視終端累積延時。而優化后的時延基本穩定,大概在1.5 s左右,沒有累積時延。這是由于緩沖區策略的控制,監視終端視頻解碼、顯示速度有了大幅提高,同時在編解碼速率協調策略的控制下,視頻編解碼速度相對比較平均,有效的抑制了累積時延,保證了系統實時性。因此優化控制策略對于時延的控制十分有效。
如圖6所示為優化前、后的丟包率變化圖。從圖中可以觀察出,優化前,系統丟包率在開始監視的時比較穩定,但隨著監視時間的增長,丟包率迅速增加。由于累積時延存在,緩沖區必定會溢出,因此導致丟包率迅速增加。而在優化后的系統中,由于不存在累積時延,因此系統緩沖區利用率比較小,不會造成由于緩沖區溢出而產生的丟包現象,因此確保了系統的監視視頻質量。在優化后的系統中,丟包率依然存在較大波動,這是因為在網絡擁塞的情況下,不可避免會產生較大丟包率,但是由于擁塞控制的作用,丟包率會受到抑制,緩慢恢復到正常水平。
圖7為停頓幀百分比的變化圖。從圖中可以看出,優化后的停頓幀百分比比優化前有了較大的提升,優化后的停頓幀百分比大概穩定在1.5%左右。隨著視頻實時性的提高,視頻緩沖的時間也大大減小,緩沖區數據量也大大減小,因此造成監視終端解碼、線程間歇性等待網絡數據流,從而造成停頓百分比增高,視頻出現停頓現象。由于優化后視頻停頓百分比基本穩定且居于可以接受的范圍,這也進一步表明編解碼速率協調策略進行了有效的控制。
4 結語
視頻監視系統中,對系統軟件硬件設計實現完成后,很重要的工作就是對監視視頻質量的優化,只有監視視頻的質量達到要求,系統才能滿足實際應用的需求。因此本文基于這個問題,首先分析了監視視頻性能指標的影響因素,然后提出2種優化策略,實驗結果表明,這兩種策略有效地提高了監視視頻的質量,保證了監視視頻的實時性,流暢性和高清晰度。
-
處理器
+關注
關注
68文章
19751瀏覽量
232977 -
解碼器
+關注
關注
9文章
1161瀏覽量
41593 -
監視
+關注
關注
0文章
73瀏覽量
18961
發布評論請先 登錄
參數變化和電路結構的改變對穩壓電源性能指標有什么影響?
工業CT技術參數對性能指標的影響
串行生產線的性能指標與擾動分析
檢測系統的性能指標
負反饋組態對放大電路性能指標的影響

評論