視頻監視系統中視頻質量優化策略研究
摘要:為了對視頻監視系統中監視質量的進行優化,提出了3種優化控制策略:零拷貝緩沖區策略、網絡擁塞抑制策略、編解碼速率協調策略。零拷貝緩沖區策略降低了終端負載,提高了系統處理能力,網絡擁塞抑制策略有效地減少了丟包率,編解碼速率協調策略平衡了系統延時與流暢性。實驗測試結果顯示,隨著監視時間的增加,優化后系統時延基本穩定、丟包率顯著減少、視頻播放流暢,系統性能滿足一般應用需要。
關鍵詞:視頻監視;優化;實時數據處理;視頻播放的流暢性
隨著自動化技術和軟硬件技術的不斷發展,傳統工業對于自動化技術的要求顯著提高,極大地促進了視頻監視技術的發展;同時由于“911”事件的影響,世界對于安全的注重超過以往任何時候,安全防護成了各項活動的重中之重。在工業中,儀器設備的正常運行對工廠
的安全正常運行有著決定性的意義,所以很有必要對這些儀器、設備進行監視。在安防中,由于涉及到巨大的人身及財產傷害,對于監視的實時性以及準確性的要求不言而喻?;诖?,視頻監視技術取得了長足的發展。而在視頻監視技術的發展過程中,監視視頻的質量成為視頻監視系統中最重要的部分。因此對監視視頻質量的優化策略研究直接影響整個視頻監視系統的性能。
1 存在的問題
監視視頻的質量主要體現在實時性、流暢性和清晰度等性能指標上。在一般視頻監視系統中,實時性主要由監視終端視頻處理性能決定。實時性要求客戶端軟件以最快的速率進行網絡視頻數據解碼。由于遠程監視系統中,監視終端存在接收緩沖區,緩存網絡數據流,因此實時性要求數據在緩沖區中幾乎不進行緩存。而對于視頻流暢性,主要由監視終端解碼、顯示速率與網絡視頻流接收速率的相對關系決定,當解碼、顯示速率比視頻流接收速率高時,解碼、顯示會阻塞等待視頻接收,由于此等待過程并非平均分布在每一幀,因此會造成播放視頻流暢性問題。清晰度主要和視頻數據的丟包率有關,在網絡狀況理想的情況下,丟包率主要與監視終端數據處理效率有關,當終端數據處理速率較低時,由于視頻數據累積,會造成接收緩沖區溢出,從而導致丟包率升高,引起清晰度問題。在實際應用中,網絡擁塞對丟包率影響很大,決定了視頻的清晰度。
由上述分析可知,要想保證視頻實時性能,必須提高視頻終端的處理性能。而同時由于實時性和流暢性存在矛盾:實時性要求監視終端以最快速率進行數據處理;流暢性要求視頻流進行緩沖,同時控制監視終端解碼、顯示速率。為了達到好的監視效果,必須找到均衡控制策略,一方面讓視頻進行緩沖,保證視頻解碼、顯示不阻塞,另一方面保證數據快速解碼,不產生累積時延。同時必須對網絡擁塞進行抑制,以保證視頻清晰度。
2 優化控制策略
2.1 零拷貝緩沖區策略
流媒體編程中處理的數據量非常大,減少數據拷貝可以提高客戶端對流媒體數據的處理速度、降低時延以及減輕處理器的負載;也可以減少客戶端因為數據拷貝,來不及處理后續數據包而帶來的丟包現象。從而節約系統資源,提高流媒體的播放質量。零拷貝緩沖區策略通過合理的緩沖區設計,能減少90%的數據拷貝工作,大大提高系統性能。
零拷貝緩沖區策略合并接收緩沖區和解碼器輸入緩沖區,使得緩沖區間的數據拷貝操作變成指針操作。
零拷貝緩沖區原理圖如圖1所示,Read-ptr:視頻解碼指針,指向待解碼的數據;Write_ptr:接收數據指針,指向網絡數據的存放地址;valid_data_ptr:有效緩沖區首地址,網絡數據存放的首地址。備用緩沖區不存放從網絡接收的視頻流,當如圖2所示,有效數據分為2塊時,并且解碼數據分別存在于緩沖區中的2個部分,則傳遞給解碼器Read-ptr并不能滿足要求,因此需要使用到備用緩沖區,具體策略是將Read-ptr后的數據拷貝到Buffer_ptr里,使得解碼數據變成一塊連續緩沖區。由于在視頻監視系統中,一幀數據的數據量比接收緩沖區小得多,因此發生這種拷貝的幾率很少,而且每次拷貝的數據量也很少,能大大優化系統性能,提高監視終端解碼、顯示的效率。
評論