視頻監(jiān)視系統(tǒng)中視頻質(zhì)量優(yōu)化策略研究
2.2 網(wǎng)絡擁塞抑制策略
當通信網(wǎng)絡中有太多的分組需要傳輸時,會使整個網(wǎng)絡的性能降低,傳輸質(zhì)量下降,產(chǎn)生網(wǎng)絡擁塞現(xiàn)象。當發(fā)生網(wǎng)絡擁塞時,如果不能及時地對網(wǎng)絡擁塞進行抑制,視頻延時會上升、網(wǎng)絡丟包率急劇增長,同時也會帶來一定的流暢性問題,給視頻質(zhì)量造成很大的影響。對于擁塞的解決辦法無非只有2種:增加網(wǎng)絡資源和降低負荷。前者由整個互連網(wǎng)絡決定,沒有辦法進行控制,后者由每個用戶決定。當出現(xiàn)網(wǎng)絡擁塞時,適當?shù)販p少服務器端視頻采集的速率,這樣既減少了傳輸?shù)臄?shù)據(jù),降低了網(wǎng)絡負載,同時又降低了客戶端數(shù)據(jù)的需求,減少了視頻質(zhì)量下降的幾率。
在RTP協(xié)議中,使用RTCP(實時傳送控制協(xié)議)來進行流量控制和擁塞控制。在RTP會話期間,各參與者周期性地傳送RTCP包。RTCP包中有5種不同類型的RTCP控制分組,其中有2種:SR(Sender Report)發(fā)送者報告,用于當前發(fā)送者的發(fā)送情況和接收情況的統(tǒng)計;RR(Receiver Report)接受者報告,用于當前接受者的接受情況的統(tǒng)計。
RTCP包中含有已發(fā)送的數(shù)據(jù)包的數(shù)量、丟失的數(shù)據(jù)包的數(shù)量等統(tǒng)計資料,可以利用這些信息動態(tài)地改變傳輸速率,甚至改變有效載荷類型。
在客戶端可以周期性統(tǒng)計接收數(shù)據(jù)包的總個數(shù)以及丟失數(shù)據(jù)包的個數(shù),然后按照RTCP的數(shù)據(jù)包格式填充數(shù)據(jù)包,發(fā)送至服務器端,然后服務器端通過相應的流量控制算法,利用客戶端傳輸過來的具體參數(shù),則可以動態(tài)的調(diào)節(jié)數(shù)據(jù)包的采集以及發(fā)送速率。
2.3 編解碼速率協(xié)調(diào)策略
在一般視頻監(jiān)視系統(tǒng),監(jiān)視終端進行視頻解碼時,為了確保每幀數(shù)據(jù)的完整性,需要判斷接收緩沖區(qū)中數(shù)據(jù)是否達到一定要求Limit_ A,但是由于監(jiān)視圖像在背景固定和背景劇烈運動時,每幀數(shù)據(jù)量相差非常大,劇烈運動時的數(shù)量量往往是靜止時的幾倍,因此對于Limit_A的選擇比較困難。當Limit_A選擇較小時,在劇烈運動的情況下,解碼數(shù)據(jù)可能不是完整一幀,造成視頻質(zhì)量問題;當Limit_A選擇較大時,在幾乎靜止的情況下,可能會造成視頻的停頓以及長時間的視頻延時。因此Limit_A必須是動態(tài)變化的,同時緩沖區(qū)中的數(shù)據(jù)由于靜止和運動時的數(shù)據(jù)量不同,數(shù)據(jù)量也必須進行嚴格的控制,防止在靜止情況下出現(xiàn)大規(guī)模延時。
在監(jiān)視系統(tǒng)中,接收緩沖區(qū)就像一個漏斗,從網(wǎng)絡接收數(shù)據(jù)寫入緩沖區(qū)就像往漏斗里注水,從緩沖區(qū)取出數(shù)據(jù)進行解碼播放,就像從漏斗出水一樣。在一個漏斗中,當入水和出水相同時,不僅能使水流順暢,同時漏斗里的儲水量也幾乎恒定,如圖3所示。當然在監(jiān)視的系統(tǒng)中,由于存在時間差(往緩沖區(qū)里存儲的幀與從緩沖區(qū)中取出的幀在時間上存在著差異),“出水速率”和“入水速率”(幀的大小)往往不相同;當視頻從運動變?yōu)殪o止時,“出水速率”會比“入水速率”大,當視頻從靜止變?yōu)檫\動時,“出水速率”會比“入水速率”小。因此不能簡單地套用此模型。本文引用地址:http://www.ex-cimer.com/article/166073.htm
由于視頻顯示速度不是以比特(bit)為單位而是以“f/s”為單位,所以當“水”的單位變?yōu)?ldquo;f”,相應的“出水速率”和“入水速率”也變成“f/s”,則整個系統(tǒng)模型變?yōu)椋寒斴斎霂屎洼敵鰩氏嗤瑫r,就可以保證緩沖區(qū)中具有恒定的幀數(shù)stay_M,如圖4所示。同時只要確保Limit_A的值正確,那么每幀數(shù)據(jù)都可以是完整的,視頻也會是流暢、完整的。
輸入速率就是從網(wǎng)絡接收視頻幀的速率,理想地來講,也即是監(jiān)視服務器采集、發(fā)送視頻的速率;而輸出速率應是從緩沖區(qū)取出數(shù)據(jù)進行解碼的速率,由于視頻質(zhì)量最后呈現(xiàn)給用戶的部分是顯示部分,因此將輸出速率改為顯示速率更為妥當,同時為了保證視頻幀的完整性,解碼速率也要進行適當?shù)目刂啤?br /> 此策略的實施辦法就是控制服務器端視頻采集、編碼的速率和客戶端視頻顯示的速率,使它們速度相同,同時在Limit_A的選取上,根據(jù)視頻連續(xù)性的關系,由實際消耗數(shù)據(jù)決定下一幀Limit_A的值,同時平滑解碼速率,使得每幀的解碼過程能夠平均分布。
評論