史 磊
(陜西機(jī)電職業(yè)技術(shù)學(xué)院電子與信息學(xué)院,陜西 寶雞 721001)
視頻流傳輸擁塞問(wèn)題產(chǎn)生主要原因是視頻流在網(wǎng)絡(luò)傳輸期間數(shù)據(jù)包處理不及時(shí)導(dǎo)致,引發(fā)了視頻流持續(xù)過(guò)載現(xiàn)象,此時(shí)網(wǎng)絡(luò)及終端設(shè)備的容量未能達(dá)到視頻流傳輸需求,伴隨著數(shù)據(jù)包丟失,嚴(yán)重情況下會(huì)出現(xiàn)網(wǎng)絡(luò)崩潰情況,視頻流傳輸立即中斷。由于視頻流傳輸擁塞問(wèn)題不可避免,當(dāng)用戶對(duì)視頻流傳輸需求與網(wǎng)絡(luò)終端控制能力不符時(shí),就會(huì)出現(xiàn)此類(lèi)狀況,而此類(lèi)匹配問(wèn)題很難得到解決。因此,關(guān)于此類(lèi)擁塞問(wèn)題的解決,只能盡可能降低擁塞情況的發(fā)生[1]。
面對(duì)視頻流傳輸擁塞問(wèn)題,可以從網(wǎng)絡(luò)擁塞控制角度出發(fā),設(shè)計(jì)擁塞控制機(jī)制。該機(jī)制以路由器為核心,采用隊(duì)列管理等多種類(lèi)型算法,通過(guò)調(diào)節(jié)網(wǎng)絡(luò)層視頻流傳輸順序,使得視頻流傳輸?shù)靡杂行蜻M(jìn)行,以此提高網(wǎng)絡(luò)服務(wù)質(zhì)量。
終端控制機(jī)制成本較低,所以是視頻流擁塞控制開(kāi)發(fā)的重要路徑。該路徑通過(guò)調(diào)整數(shù)據(jù)發(fā)送速率,緩解視頻流傳輸數(shù)據(jù)擁塞問(wèn)題。通常情況下,終端擁塞問(wèn)題發(fā)生在視頻流傳輸層,依據(jù)其與TCP協(xié)議關(guān)系,制定擁塞控制機(jī)制。
隨著網(wǎng)絡(luò)快速發(fā)展,網(wǎng)絡(luò)通信協(xié)議逐漸得到改進(jìn),在很大程度上解決了視頻流傳輸擁塞問(wèn)題。與網(wǎng)絡(luò)擁塞相比,終端擁塞更為嚴(yán)重,當(dāng)前雖然提出了一些終端擁塞控制方法,但是因終端設(shè)備和用戶的增加,加大了終端視頻流傳輸需求。因此,視頻流傳輸終端擁塞控制機(jī)制探究成為了一項(xiàng)長(zhǎng)期研發(fā)工作。
DASH視頻流傳輸技術(shù)支持動(dòng)態(tài)自時(shí)應(yīng)傳輸控制,較其他類(lèi)型傳輸技術(shù)操作更加靈活,比較適合應(yīng)用于終端數(shù)據(jù)傳輸控制。該項(xiàng)技術(shù)獨(dú)立于視頻服務(wù)提供商,在安卓終端設(shè)備開(kāi)發(fā)中應(yīng)用較多。
該項(xiàng)傳輸技術(shù)框架主要由3部分組成,分別是客戶端播放器、流媒體服務(wù)器、視頻內(nèi)容生成模塊。其中,客戶端播放器就是安裝在客戶端的視頻播放設(shè)備;流媒體服務(wù)器是為用戶視頻流傳輸操作命令進(jìn)行服務(wù)的設(shè)備,主要負(fù)責(zé)視頻的傳輸與存儲(chǔ)等多項(xiàng)操作,通過(guò)建立網(wǎng)絡(luò)連接,按照相應(yīng)命令完成操作任務(wù);視頻內(nèi)容生成模塊是根據(jù)下達(dá)的視頻操作命令,在顯示終端生成視頻內(nèi)容。
目前,此項(xiàng)技術(shù)開(kāi)發(fā)比較成熟,誤碼率較低,得到了很多用戶的認(rèn)可。由于人們對(duì)視頻流文件傳輸解析等多項(xiàng)操作要求越來(lái)越高,因而出現(xiàn)了視頻流傳輸擁塞問(wèn)題。
本文依據(jù)DASH傳輸技術(shù)特點(diǎn),引入TCP擁塞控制思路,提出TCP-HAS算法應(yīng)用研究。該框架結(jié)構(gòu)主要由4部分組成,分別是窗口設(shè)置、帶寬預(yù)測(cè)、最佳碼率確定、擁塞窗口的設(shè)定與門(mén)限值的啟動(dòng)。其中,帶寬預(yù)測(cè)是整個(gè)體系運(yùn)行期間長(zhǎng)期作業(yè)的結(jié)構(gòu),通過(guò)識(shí)別視頻流,對(duì)此部分信息的帶寬進(jìn)行預(yù)測(cè),為其初步選定窗口值,而后采用擁塞控制算法,計(jì)算空閑事件與擁塞事件帶寬條件,確定最佳碼率,啟動(dòng)門(mén)限值,以此避免視頻流傳輸期間發(fā)生擁塞現(xiàn)象。
視頻流傳輸啟動(dòng)階段,cwnd參數(shù)呈現(xiàn)出持續(xù)增長(zhǎng)變化趨勢(shì),通過(guò)索引服務(wù)器端的文件,獲取視頻流傳輸最低誤碼率,確定初始擁塞窗口。
此環(huán)節(jié)是本文提出的擁塞控制的重要環(huán)節(jié),利用TIBET預(yù)測(cè)帶寬,通過(guò)計(jì)算數(shù)據(jù)包,得到可用帶寬數(shù)值。
基于上述公式中各項(xiàng)參數(shù)之間的關(guān)系可知,為了估算視頻流傳輸帶寬數(shù)值,可以通過(guò)計(jì)算平均時(shí)間間隔和數(shù)據(jù)包長(zhǎng)度平均值來(lái)獲取??紤]到視頻流傳輸期間可用帶寬存在低頻分量,或者受到外界因素影響造成延遲響應(yīng),所以需要采取低通濾波處理,以此提高帶寬預(yù)測(cè)精準(zhǔn)度,為最佳碼率數(shù)值確定提供可靠依據(jù)。目前,低通濾波處理技術(shù)比較成熟,此處不對(duì)此進(jìn)行過(guò)多介紹。
依據(jù)帶寬Bw計(jì)算結(jié)果,確定視頻流傳輸最佳碼率,在服務(wù)器端獲取碼率數(shù)值,將此部分信息存儲(chǔ)至終端服務(wù)器數(shù)組中,利用以下算法選取最佳碼率。
For i=Max_Encoding Rata to 0,i--
If Bw Encoding Rata[i]then
Break;
End if
END for
以上算法中,以i為變量,按照視頻流碼率等級(jí)進(jìn)行排序,先判斷高階視頻流帶寬與醉倒碼率等級(jí)帶寬大小關(guān)系,而后判斷較此視頻流碼率小一級(jí)的帶寬關(guān)系。與此同時(shí),分析視頻流傳輸操作命令執(zhí)行最佳時(shí)間,確定最佳分片碼率。
DASH視頻流傳輸技術(shù)的應(yīng)用,并非連續(xù)傳輸視頻流數(shù)據(jù)信息,而是根據(jù)發(fā)出的命令執(zhí)行數(shù)據(jù)傳輸操作,所以存在空閑狀態(tài),或者傳輸視頻流數(shù)據(jù)信息較少,未能達(dá)到擁塞標(biāo)準(zhǔn)。為了提高傳輸擁塞控制,應(yīng)該采用動(dòng)態(tài)控制思想,設(shè)計(jì)擁塞控制體系,給出較為精準(zhǔn)的門(mén)限值,以達(dá)到高效控制擁塞狀況。以上控制思想的實(shí)現(xiàn),可以利用TCP-HAS算法實(shí)現(xiàn),算法流程如下:
第一步:采用if判斷語(yǔ)句檢測(cè)視頻流空閑事件;第二步:預(yù)測(cè)可用帶寬數(shù)值,利用前文提及的算法計(jì)算,得到Bw數(shù)值;第三步:運(yùn)行算法程序,確定最佳碼率,記為QLe;第四步:根據(jù)播放碼率與傳輸碼率關(guān)系,設(shè)定參數(shù),綜合考慮空閑后視頻流傳輸速率等參數(shù)關(guān)系,合理設(shè)定帶寬限定值。
本次測(cè)試采用服務(wù)器客戶端模式布設(shè)測(cè)試環(huán)境,該測(cè)試環(huán)境由2臺(tái)路由器和2臺(tái)主機(jī)搭建而成。
5.2.1 視頻流傳輸擁塞窗口變化測(cè)試結(jié)果
本次測(cè)試以CUBIC算法為對(duì)照組,TCP-HAS算法為實(shí)驗(yàn)組,設(shè)定帶寬為10Mbps,測(cè)試單個(gè)用戶傳輸視頻流時(shí)擁塞窗口變化情況,通過(guò)對(duì)比兩者擁塞窗口變化差異,判斷本文設(shè)計(jì)的TCP-HAS算法擁塞控制方案是否可以改善視頻流傳輸擁塞問(wèn)題。
測(cè)試結(jié)果中,前50s,CUBIC算法窗口擁塞較為嚴(yán)重,部分cwnd數(shù)值超過(guò)了80,雖然50s過(guò)后出現(xiàn)了下降現(xiàn)象,但是波動(dòng)幅度較為顯著,視頻流傳輸擁塞窗口現(xiàn)象嚴(yán)重。相比之下,本文設(shè)計(jì)的TCP-HAS擁塞控制方法的應(yīng)用,擁塞窗口穩(wěn)定在45左右,雖然50s過(guò)后出現(xiàn)了小幅度波動(dòng),但是較CUBIC算法擁塞控制優(yōu)勢(shì)更為顯著。
5.2.2 用戶誤碼率切換測(cè)試結(jié)果
為了避免視頻流傳輸擁塞現(xiàn)象的發(fā)生,本文提出的擁塞控制方案針對(duì)不同傳輸狀態(tài),預(yù)測(cè)視頻流傳輸帶寬,通過(guò)對(duì)比預(yù)測(cè)值和帶寬值之間的大小關(guān)系,下達(dá)碼率分片命令,以此控制最佳碼率數(shù)值的設(shè)置,并影響其他用戶切換碼率,盡可能降低擁塞產(chǎn)生頻率。本次測(cè)試設(shè)定2名用戶傳輸視頻流,利用搭建好的擁塞控制環(huán)境,測(cè)試用戶碼率切換效果。
測(cè)試結(jié)果表明,當(dāng)用戶1發(fā)出請(qǐng)求分片操作命令時(shí),預(yù)測(cè)的帶寬值小于用戶2預(yù)測(cè)帶寬值,此時(shí)將用戶1的視頻流碼率從高切換到低。
本文針對(duì)視頻流傳輸中的擁塞問(wèn)題提出DASH傳輸技術(shù)擁塞控制方案研究,實(shí)驗(yàn)測(cè)試結(jié)果表明,TCP-HAS視頻流傳輸擁塞控制方案,擁塞控制較為穩(wěn)定,支持多用戶視頻流傳輸碼率切換擁塞控制。