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