李 盼,李月強(qiáng),汪衛(wèi)章
(1.北京信息科技大學(xué) 儀器科學(xué)與光電工程學(xué)院,北京 100085;2.北京華環(huán)電子股份有限公司 北京100085)
3G網(wǎng)絡(luò)下視頻傳輸自適應(yīng)控制的研究
李 盼1,李月強(qiáng)1,汪衛(wèi)章2
(1.北京信息科技大學(xué) 儀器科學(xué)與光電工程學(xué)院,北京 100085;2.北京華環(huán)電子股份有限公司 北京100085)
介紹了一種應(yīng)用在應(yīng)急通信設(shè)備的3G視頻通話系統(tǒng)。不同應(yīng)用環(huán)境的3G,網(wǎng)絡(luò)的帶寬時(shí)變快慢以及鏈路誤碼大小變化較大,對(duì)此提出了一種自適應(yīng)傳輸控制策略,以達(dá)到在不同網(wǎng)絡(luò)環(huán)境都能有較高的帶寬占用和較好的擁塞控制。本文以丟包率,往返延遲和時(shí)延抖動(dòng)為依據(jù)將網(wǎng)絡(luò)細(xì)分為為4種狀態(tài),并分別做相應(yīng)的碼率調(diào)節(jié)。為避免高誤碼引起的不必要的碼率降低,利用累計(jì)抖動(dòng)區(qū)分丟包。并通過(guò)對(duì)網(wǎng)絡(luò)判斷參數(shù)做加權(quán)預(yù)測(cè),對(duì)不同質(zhì)量網(wǎng)絡(luò)應(yīng)用不同碼率上調(diào)條件,來(lái)減少碼率的抖動(dòng)。實(shí)驗(yàn)證明,此系統(tǒng)在不通環(huán)境中,均能較好地運(yùn)行,達(dá)到較高的帶寬占用。
視頻傳輸;3G;丟包區(qū)分;碼率自適應(yīng)
應(yīng)用在突發(fā)災(zāi)害或事故的應(yīng)急通信設(shè)備傳遞信息的暢通性、及時(shí)性、準(zhǔn)確性對(duì)決策者正確指揮搶險(xiǎn)救災(zāi)起著重要作用。突發(fā)事故和災(zāi)害的不可預(yù)見(jiàn)要求應(yīng)急通信設(shè)備機(jī)動(dòng)靈活,可快速部署。3G具有終端可移動(dòng)、成本低、易部署、隨時(shí)隨地接入網(wǎng)絡(luò)的特點(diǎn),使3G視頻通話非常適合應(yīng)用在應(yīng)急通信設(shè)備中,為搶險(xiǎn)救災(zāi)策略的制定提供真實(shí)可靠的信息。
但可用帶寬時(shí)變特性以及高誤碼率使得3G下視頻傳輸質(zhì)量受限,且3G網(wǎng)絡(luò)質(zhì)量在不同環(huán)境并不穩(wěn)定。當(dāng)終端的視頻碼率超出網(wǎng)絡(luò)的傳輸能力,視頻流會(huì)出現(xiàn)大的延遲和丟包。對(duì)于3G網(wǎng)絡(luò)的高誤碼率引起隨機(jī)丟包,降低輸出碼率并不會(huì)改善丟包情況。為此,視頻通話系統(tǒng)需要根據(jù)網(wǎng)絡(luò)當(dāng)前隨機(jī)丟包和可用帶寬變化情況自適應(yīng)的調(diào)整視頻輸出碼率[1-2]。
文中介紹了視頻通話系統(tǒng)構(gòu)成,細(xì)分網(wǎng)絡(luò)擁塞狀態(tài)[3-4],結(jié)合丟包區(qū)分[5-6]和AIMD及其改進(jìn)算法[7-11]碼率控制算法來(lái)計(jì)算新的碼率,并針對(duì)不同質(zhì)量的3G網(wǎng)絡(luò)在控制參數(shù)上做一定調(diào)整,實(shí)現(xiàn)在各環(huán)境下自適應(yīng)的控制視頻發(fā)送速率。
視頻通話系統(tǒng)如圖1所示,它由SIP服務(wù)器和終端兩部分組成。終端注冊(cè)在SIP服務(wù)器中,通過(guò)SIP服務(wù)建立會(huì)話,重定向媒體流,實(shí)現(xiàn)終端之間的視頻通話。呼叫雙方將視頻流傳輸?shù)馁|(zhì)量信息進(jìn)行一定處理反饋給對(duì)方,當(dāng)獲取到反饋信息后,根據(jù)具體信息,判定出網(wǎng)絡(luò)狀況,進(jìn)而根據(jù)網(wǎng)絡(luò)狀況控制編碼器的輸出碼率,達(dá)到自適應(yīng)網(wǎng)絡(luò)的目的。
1.1 SIP服務(wù)器
SIP服務(wù)器包括重定向服務(wù)器、代理服務(wù)器、注冊(cè)服務(wù)器,當(dāng)收到SIP請(qǐng)求時(shí),為其提供相應(yīng)服務(wù)并返回相應(yīng)的應(yīng)答。在視頻通話系統(tǒng)中它的主要功能是為呼叫終端提供被被呼叫終端的位置信息,實(shí)現(xiàn)雙方的呼叫連接和控制。系統(tǒng)使用Asterisk作為SIP服務(wù)器。
圖1 系統(tǒng)結(jié)構(gòu)圖
終端包含SIP模塊和媒體傳輸模塊。SIP模塊的功能是與SIP服務(wù)器交互,實(shí)現(xiàn)會(huì)話的建立與控制。媒體傳輸模塊包括視頻采集模塊,編解碼模塊,視頻傳輸模塊,視頻播放模塊和反饋控制模塊,負(fù)責(zé)數(shù)據(jù)的采集壓縮和傳輸,保證視頻通話在時(shí)變的無(wú)線網(wǎng)絡(luò)中得到較好的質(zhì)量。
圖2 視頻流流程
媒體流的傳輸流程如圖2所示,采集模塊通過(guò)USB攝像頭,V4L2[12]視頻接口采集視頻數(shù)據(jù)。編解碼模塊采用x264[13-14]作為編碼器,ffmpeg作為解碼器,實(shí)現(xiàn)壓縮解壓縮視頻數(shù)據(jù)。視頻數(shù)據(jù)的傳輸模塊采用RTP基于UDP來(lái)傳輸音視頻數(shù)據(jù),RTCP基于UDP反饋數(shù)據(jù)流在網(wǎng)絡(luò)中的傳輸情況。反饋控制模塊根據(jù)反饋,自適應(yīng)控制編碼器輸出,實(shí)現(xiàn)擁塞控制和流量控制,是整個(gè)系統(tǒng)中非常重要的部分。
反饋控制模塊實(shí)現(xiàn)的傳輸控制策略是通過(guò)丟包區(qū)分,減小誤碼引起的不必要速率降低,提高高誤碼環(huán)境下控制效果;以延遲抖動(dòng)、RTT、丟包率為標(biāo)志對(duì)網(wǎng)絡(luò)做細(xì)度劃分,參考結(jié)合AIMD及其改進(jìn)算法對(duì)不同網(wǎng)絡(luò)擁塞狀況做合適的碼率調(diào)整;并對(duì)碼率調(diào)整中碼率增加條件做動(dòng)態(tài)改變,在不同的網(wǎng)絡(luò)質(zhì)量下選取不同的值,使控制策略在不同質(zhì)量的3G網(wǎng)絡(luò)都能得到較好的效果。
2.1 數(shù)據(jù)處理
接收端向發(fā)送方發(fā)送RTCP反饋信息的時(shí)間固定為5秒,將兩個(gè)RTCP包間的間隔劃分為n段,每一段為一個(gè)測(cè)量周期。
2.1.1 延遲抖動(dòng)抖動(dòng)J的測(cè)量
第i個(gè)數(shù)據(jù)包的傳輸延遲抖動(dòng)Di計(jì)算,是根據(jù)第i和i-1包的RTP封包的時(shí)間戳Tsi、Tsi-1到達(dá)接收端的時(shí)間Tri、Tri-1:
where tS iO2 , εS iO2 , εHi gh-κ, and F High-κ a re dielectric thickness of SiO2, dielectric constant of SiO2, and hi gh-κ dielectric respectively. F High-κ a nd FS iO2 are fitting parameters of SiO2 and hi gh-κ dielectric (HfO2) whose values are estimated as 1.5 and 0.95 respectively.
為了達(dá)到較好降噪比以及合適的收斂速度,對(duì)實(shí)際的抖動(dòng)做一定處理
最終反饋的抖動(dòng)是對(duì)反饋周期內(nèi)Ji做算術(shù)平均。
2.1.2 累積抖動(dòng)平均值的測(cè)量
為了區(qū)分丟包的原因,首先需要計(jì)算累積抖動(dòng)平均值。累積抖動(dòng)Jc是指視頻流傳輸過(guò)程中某測(cè)量周期所有數(shù)據(jù)包延時(shí)抖動(dòng)之和。累積抖動(dòng)平均值Jca就是對(duì)本周期的前N個(gè)周期的累積抖動(dòng)和的代數(shù)平均數(shù)。
其中,M為測(cè)量周期內(nèi)數(shù)據(jù)包的個(gè)數(shù),N為測(cè)量周期個(gè)數(shù),即累積抖動(dòng)的個(gè)數(shù)。
2.1.3 丟包率的測(cè)量
計(jì)算一個(gè)反饋周期的丟包率首先需要判定反饋周期內(nèi)各測(cè)量周期丟包原因,如果是擁塞丟包,計(jì)算并記錄此時(shí)丟包率Li,如果判定為3G隨機(jī)丟包則不計(jì)算丟包率而以0代之。再將各測(cè)量周期的丟包率Li做指數(shù)預(yù)測(cè)得到反饋周期的丟包率L。
丟包原因是通過(guò)比較當(dāng)前測(cè)量周期的Jc和Jca來(lái)判定。當(dāng)Jc<Jca時(shí),判定為由無(wú)線鏈路差錯(cuò)引起的隨機(jī)丟包。當(dāng)Jc>Jca時(shí),說(shuō)明延遲抖動(dòng)持續(xù)劇烈增長(zhǎng)發(fā)生擁塞,斷定為擁塞丟包。然后利用實(shí)際收包數(shù)和應(yīng)收包數(shù)計(jì)算此時(shí)丟包率Li。
計(jì)算得到的丟包率表達(dá)的是過(guò)去網(wǎng)絡(luò)的狀況,表達(dá)網(wǎng)絡(luò)狀況具有遲滯,對(duì)此本文對(duì)丟包率做指數(shù)加權(quán)預(yù)測(cè)。在反饋周期內(nèi),每得到一個(gè)測(cè)量周期的丟包率Li進(jìn)行一次加權(quán)預(yù)測(cè)
反饋周期結(jié)束,得到的L(n-1)即為反饋周期的擁塞丟包率L。如此可一定程度平滑丟包率的值,避免丟包率的滯后性。
2.1.4 RTT往返時(shí)延
往返時(shí)延通過(guò)RTCP報(bào)告包計(jì)算。發(fā)送端收到接受端的SR包將獲得上次SR時(shí)間戳LSR和上次SR以來(lái)的延時(shí)DLSR,結(jié)合此時(shí)終端NTP時(shí)間戳的中間32比特值A(chǔ)PP_NTP可得往返時(shí)延
對(duì)往返延遲同樣做指數(shù)加權(quán)平均,得到下一時(shí)刻的RTT,減小遲滯性。
2.2 當(dāng)前網(wǎng)絡(luò)狀況判斷
發(fā)送端根據(jù)丟包率L、延遲抖動(dòng)J、RTT值將當(dāng)前網(wǎng)絡(luò)劃分為無(wú)擁塞,短時(shí)擁塞,重度長(zhǎng)時(shí)擁塞,輕度長(zhǎng)時(shí)擁塞。具體流程為首先根據(jù)往返延遲RTT值判定是可能發(fā)生長(zhǎng)時(shí)擁塞或短時(shí)擁塞。若RTT>αRTT進(jìn)入短時(shí)擁塞判定,根據(jù)丟包率和進(jìn)一步判定網(wǎng)絡(luò)狀態(tài),若L<Lmin則此時(shí)網(wǎng)絡(luò)位無(wú)擁塞;若L>Lmin則網(wǎng)絡(luò)為短期擁塞。若RTT<αRTT進(jìn)入長(zhǎng)時(shí)擁塞判定,根據(jù)丟包率和延遲抖動(dòng)進(jìn)一步判斷網(wǎng)絡(luò),若L<Lmin,J<Jmin則網(wǎng)絡(luò)當(dāng)前無(wú)擁塞;若L<Lmin,J>Jmin則此時(shí)為輕度長(zhǎng)時(shí)擁塞;若L>Lmin,J>Jmin則此時(shí)為重度長(zhǎng)時(shí)擁塞。
2.3 碼率調(diào)整
根據(jù)判斷得到的當(dāng)前3G網(wǎng)絡(luò)狀況,計(jì)算出下一時(shí)刻x264編碼器合適的輸出碼率。碼率計(jì)算的基本思想是3G無(wú)擁塞,碼率做合適增長(zhǎng);一旦出現(xiàn)擁塞,便以一定策略降低碼率。相較降低碼率,碼率上調(diào)有可能因?yàn)檩敵龃a率超過(guò)可用帶寬而造成網(wǎng)絡(luò)擁塞[3],尤其在網(wǎng)絡(luò)狀況變化很快的環(huán)境,造成擁塞的幾率很高。因此當(dāng)多個(gè)反饋周期判定為無(wú)擁塞時(shí)才增加碼率。具體的調(diào)整策略如式(8)所示。
其中λ為連續(xù)判定為無(wú)擁塞的周期數(shù),只有λ大于N碼率才上調(diào)。當(dāng)網(wǎng)絡(luò)狀態(tài)為短時(shí)擁塞,以常數(shù)減少的方式降低編碼器的輸出碼率;為輕度長(zhǎng)時(shí)擁塞時(shí),以常數(shù)減少的方式降低編碼器的輸出碼率;重度長(zhǎng)時(shí)擁塞時(shí),乘性減少降低編碼器的輸出碼率。
N為常值,不能很好的適應(yīng)網(wǎng)絡(luò)。若設(shè)置較大,在平穩(wěn)網(wǎng)絡(luò)無(wú)法快速恢復(fù);若設(shè)置較小,在快速變化網(wǎng)絡(luò)情況易過(guò)調(diào)。因此動(dòng)態(tài)的調(diào)整N值。當(dāng)網(wǎng)絡(luò)平穩(wěn)時(shí)N選擇較小值,達(dá)到快速上調(diào)目的;3G網(wǎng)絡(luò)可用帶寬變化較快時(shí),選較大的值避免過(guò)調(diào)引發(fā)擁塞。
兩臺(tái)移動(dòng)終端搭載Inetl i3-5010U處理器,以攝像頭Logitech C310為視頻輸入設(shè)備,并分別從有線、3G上網(wǎng)卡接入網(wǎng)絡(luò)。并在終端上編譯安裝Asterisk,將視頻軟件注冊(cè)在Asterisk上。配置Asterisk,實(shí)現(xiàn)終端之間撥號(hào)通話,組件最小的視頻通話系統(tǒng)進(jìn)行測(cè)試。
為了測(cè)試系統(tǒng)在3G信道上的效果,進(jìn)行兩組實(shí)驗(yàn)。第一組,在質(zhì)量較好誤碼率較低的3G環(huán)境中測(cè)試,一臺(tái)終端以步速在室內(nèi)移動(dòng),一臺(tái)固定。第二組,利用linux流量控制功能tc和netem[15]向平緩3G網(wǎng)絡(luò)中注入誤碼和抖動(dòng)。得到數(shù)據(jù)如表1所示。
表1中數(shù)據(jù)包括測(cè)試期間,視頻傳輸?shù)淖钚《秳?dòng)Jmin和最大抖動(dòng)Jmax,以及所有抖動(dòng)之和的平均J,所有反饋周期的丟包率的平均值平均丟包和平均輸出碼率。組一對(duì)應(yīng)第一組實(shí)驗(yàn)的測(cè)試數(shù)據(jù),組二對(duì)應(yīng)第二組。由表一數(shù)據(jù)可知,在變化慢低誤碼3G和快速變化高誤碼的3G網(wǎng)絡(luò)中,均能流暢的運(yùn)行,有效的抑制了擁塞引起的抖動(dòng)和丟包。并且在高誤碼環(huán)境中能較好的避免了不必要的碼率降低,得到較高的帶寬占用。
表1 不同環(huán)境系統(tǒng)測(cè)試結(jié)果
文中3G視頻通話系統(tǒng),以先進(jìn)的H.264編碼技術(shù)實(shí)現(xiàn)視頻數(shù)據(jù)壓縮,并且在實(shí)現(xiàn)3G音視頻傳輸?shù)幕A(chǔ)上針對(duì)3G的不穩(wěn)定性高誤碼等一些問(wèn)題提出了適用于3G網(wǎng)路的視頻傳輸控制算法。在實(shí)際3G網(wǎng)絡(luò)中對(duì)設(shè)備的模擬場(chǎng)景測(cè)試中,視頻通話系統(tǒng)在不同的網(wǎng)絡(luò)條件下均能夠穩(wěn)定工作,通過(guò)碼率的控制得到較好視頻傳輸效果。
[1]王正君,王友釗.基于RTCP的閉環(huán)碼率調(diào)控和流量整形策略[J].計(jì)算機(jī)科學(xué),2011,38(7):100-102.
[2]豐洪才,向云柱.視頻傳輸自適應(yīng)網(wǎng)絡(luò)帶寬控制策略的研究[J].計(jì)算機(jī)測(cè)量與控制,2011(3):595-597.
[3]Tos Uras,Ayav Tolga.Adaptive RTP rate control meth-od[C]/ /Computer Software and Applications ConferenceWorkshops.Munich,Germany,2011:7-12.
[4]Schiopu P,Apetrechioaie B,Mateescu L.High resolu-tion video acquisition and transmission system,usingDSP[C]// IEEE 17th International Symposium for De-sign and Technology in Electronic Packaging.Timi-soara,2011:273-276.
[5]肖甫,王汝傳,孫麗娟,等.基于TCP友好的無(wú)線網(wǎng)絡(luò)擁塞控制機(jī)制研究[J].計(jì)算機(jī)科學(xué)2010,37(7):50-53.
[6]馮偉,陳元琰,王斌,等.基于往返延遲抖動(dòng)區(qū)分丟包的TCPW改進(jìn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2011(4):1203-1206.
[7]姜青竹,田暢,吳澤民,等.基于修正時(shí)間間隔比的實(shí)時(shí)視頻傳輸方法[J].軍事通信技術(shù),2015,36(2):7-12.
[8]張麗娟,楊曉萍,陳虹,等.基于自適應(yīng)參數(shù)設(shè)置的AIMD算法[J].吉林大學(xué)學(xué)報(bào):信息科學(xué)版,2010(1):77-83.
[9]程振宇,張燦,和智濤等.基于3G網(wǎng)絡(luò)視頻傳輸?shù)囊环NQoS控制方法_程振宇[J].中國(guó)科學(xué)院大學(xué)學(xué)報(bào),2014(1):117-123.
[10]Sivabalakrishna M,Manjula D.Analysis of decisionfeedback using RTCP formultimedia streaming over3G[C]//Procee-dings of the International Conference onComputer and CommunicationEngineering.KualaLum-pur,Malaysia,2008:1023-1026.
[11]巴洪濤,陳耀武,周蓉.監(jiān)控系統(tǒng)中實(shí)時(shí)視頻流碼率動(dòng)態(tài)調(diào)整機(jī)制的研究[J].計(jì)算機(jī)科學(xué),2010,37(4):296-298.
[12]黃俊偉,巴義.基于V4L2移動(dòng)視頻監(jiān)控系統(tǒng)的研究與設(shè)計(jì)[J].電視技術(shù),2012,36(17):159-162.
[13]劉曉芳,夏哲雷,殷海兵,等.x264中基于參數(shù)選擇的算法優(yōu)化[J].中國(guó)計(jì)量學(xué)院學(xué)報(bào),2013(4):403-408.
[14]孟雷雷,夏哲雷.X264視頻編碼器關(guān)鍵編碼參數(shù)的選擇和優(yōu)化[J].電視技術(shù),2015,39(10):24-27.
[15]羅罡.網(wǎng)絡(luò)性能模擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2012.
Video transm ission adaptive control research over 3G
LIPan1,LIYue-qiang1,WANGWei-zhang2
(1.School of Instrument Science and opto Electroniccs Engineering Beijing Information Science and Technology University,Beijing 100085,China;2.Beijing Huahuan Electronics Co.,Ltd.Beijing 100085,China)
This paper introduces a 3G video phone system used in emergency communication equipment.Because the bandwidth varying speed and link error rate of the 3G network change in different environment,an adaptive transmission control strategy is proposed to achieve higher bandwidth utilization rate and well congestion control in different network environment.Based on the packet loss rate,round-trip-time (RTT)and delay jitter the network is divided into four kind of states,and codec rate adjusts according to currentnetwork state.To avoid unnecessary code rate decreasing caused by high error,the cumulative jitter is used to distinguish the packet loss.For reduce rate jitter,calculate loss rate and RTTwith a weighted prediction algorithm,and differ rate raising conditions in differentquality network.Experiments show that this system can runwelland achievehigh bandwidth usage in each environments.
video transmission;3G;loss differentiation;adaptive rate control
TN919.82
A
1674-6236(2016)20-0050-03
2015-11-05 稿件編號(hào):201511047
現(xiàn)代測(cè)控技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室開(kāi)放課題資助 (KF20121123207);本科生培養(yǎng)-大學(xué)生科研訓(xùn)練 (市級(jí))(PXM2014_014224_000079)
李 盼(1989—),女,河南焦作人,碩士研究生。研究方向:電子信息測(cè)量。