李 盼,李月強,汪衛(wèi)章
(1.北京信息科技大學(xué) 儀器科學(xué)與光電工程學(xué)院,北京 100085;2.北京華環(huán)電子股份有限公司 北京100085)
3G網(wǎng)絡(luò)下視頻傳輸自適應(yīng)控制的研究
李 盼1,李月強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ò)的帶寬時變快慢以及鏈路誤碼大小變化較大,對此提出了一種自適應(yīng)傳輸控制策略,以達(dá)到在不同網(wǎng)絡(luò)環(huán)境都能有較高的帶寬占用和較好的擁塞控制。本文以丟包率,往返延遲和時延抖動為依據(jù)將網(wǎng)絡(luò)細(xì)分為為4種狀態(tài),并分別做相應(yīng)的碼率調(diào)節(jié)。為避免高誤碼引起的不必要的碼率降低,利用累計抖動區(qū)分丟包。并通過對網(wǎng)絡(luò)判斷參數(shù)做加權(quán)預(yù)測,對不同質(zhì)量網(wǎng)絡(luò)應(yīng)用不同碼率上調(diào)條件,來減少碼率的抖動。實驗證明,此系統(tǒng)在不通環(huán)境中,均能較好地運行,達(dá)到較高的帶寬占用。
視頻傳輸;3G;丟包區(qū)分;碼率自適應(yīng)
應(yīng)用在突發(fā)災(zāi)害或事故的應(yīng)急通信設(shè)備傳遞信息的暢通性、及時性、準(zhǔn)確性對決策者正確指揮搶險救災(zāi)起著重要作用。突發(fā)事故和災(zāi)害的不可預(yù)見要求應(yīng)急通信設(shè)備機動靈活,可快速部署。3G具有終端可移動、成本低、易部署、隨時隨地接入網(wǎng)絡(luò)的特點,使3G視頻通話非常適合應(yīng)用在應(yīng)急通信設(shè)備中,為搶險救災(zāi)策略的制定提供真實可靠的信息。
但可用帶寬時變特性以及高誤碼率使得3G下視頻傳輸質(zhì)量受限,且3G網(wǎng)絡(luò)質(zhì)量在不同環(huán)境并不穩(wěn)定。當(dāng)終端的視頻碼率超出網(wǎng)絡(luò)的傳輸能力,視頻流會出現(xiàn)大的延遲和丟包。對于3G網(wǎng)絡(luò)的高誤碼率引起隨機丟包,降低輸出碼率并不會改善丟包情況。為此,視頻通話系統(tǒng)需要根據(jù)網(wǎng)絡(luò)當(dāng)前隨機丟包和可用帶寬變化情況自適應(yīng)的調(diào)整視頻輸出碼率[1-2]。
文中介紹了視頻通話系統(tǒng)構(gòu)成,細(xì)分網(wǎng)絡(luò)擁塞狀態(tài)[3-4],結(jié)合丟包區(qū)分[5-6]和AIMD及其改進算法[7-11]碼率控制算法來計算新的碼率,并針對不同質(zhì)量的3G網(wǎng)絡(luò)在控制參數(shù)上做一定調(diào)整,實現(xiàn)在各環(huán)境下自適應(yīng)的控制視頻發(fā)送速率。
視頻通話系統(tǒng)如圖1所示,它由SIP服務(wù)器和終端兩部分組成。終端注冊在SIP服務(wù)器中,通過SIP服務(wù)建立會話,重定向媒體流,實現(xiàn)終端之間的視頻通話。呼叫雙方將視頻流傳輸?shù)馁|(zhì)量信息進行一定處理反饋給對方,當(dāng)獲取到反饋信息后,根據(jù)具體信息,判定出網(wǎng)絡(luò)狀況,進而根據(jù)網(wǎng)絡(luò)狀況控制編碼器的輸出碼率,達(dá)到自適應(yīng)網(wǎng)絡(luò)的目的。
1.1 SIP服務(wù)器
SIP服務(wù)器包括重定向服務(wù)器、代理服務(wù)器、注冊服務(wù)器,當(dāng)收到SIP請求時,為其提供相應(yīng)服務(wù)并返回相應(yīng)的應(yīng)答。在視頻通話系統(tǒng)中它的主要功能是為呼叫終端提供被被呼叫終端的位置信息,實現(xiàn)雙方的呼叫連接和控制。系統(tǒng)使用Asterisk作為SIP服務(wù)器。
圖1 系統(tǒng)結(jié)構(gòu)圖
終端包含SIP模塊和媒體傳輸模塊。SIP模塊的功能是與SIP服務(wù)器交互,實現(xiàn)會話的建立與控制。媒體傳輸模塊包括視頻采集模塊,編解碼模塊,視頻傳輸模塊,視頻播放模塊和反饋控制模塊,負(fù)責(zé)數(shù)據(jù)的采集壓縮和傳輸,保證視頻通話在時變的無線網(wǎng)絡(luò)中得到較好的質(zhì)量。
圖2 視頻流流程
媒體流的傳輸流程如圖2所示,采集模塊通過USB攝像頭,V4L2[12]視頻接口采集視頻數(shù)據(jù)。編解碼模塊采用x264[13-14]作為編碼器,ffmpeg作為解碼器,實現(xiàn)壓縮解壓縮視頻數(shù)據(jù)。視頻數(shù)據(jù)的傳輸模塊采用RTP基于UDP來傳輸音視頻數(shù)據(jù),RTCP基于UDP反饋數(shù)據(jù)流在網(wǎng)絡(luò)中的傳輸情況。反饋控制模塊根據(jù)反饋,自適應(yīng)控制編碼器輸出,實現(xiàn)擁塞控制和流量控制,是整個系統(tǒng)中非常重要的部分。
反饋控制模塊實現(xiàn)的傳輸控制策略是通過丟包區(qū)分,減小誤碼引起的不必要速率降低,提高高誤碼環(huán)境下控制效果;以延遲抖動、RTT、丟包率為標(biāo)志對網(wǎng)絡(luò)做細(xì)度劃分,參考結(jié)合AIMD及其改進算法對不同網(wǎng)絡(luò)擁塞狀況做合適的碼率調(diào)整;并對碼率調(diào)整中碼率增加條件做動態(tài)改變,在不同的網(wǎng)絡(luò)質(zhì)量下選取不同的值,使控制策略在不同質(zhì)量的3G網(wǎng)絡(luò)都能得到較好的效果。
2.1 數(shù)據(jù)處理
接收端向發(fā)送方發(fā)送RTCP反饋信息的時間固定為5秒,將兩個RTCP包間的間隔劃分為n段,每一段為一個測量周期。
2.1.1 延遲抖動抖動J的測量
第i個數(shù)據(jù)包的傳輸延遲抖動Di計算,是根據(jù)第i和i-1包的RTP封包的時間戳Tsi、Tsi-1到達(dá)接收端的時間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á)到較好降噪比以及合適的收斂速度,對實際的抖動做一定處理
最終反饋的抖動是對反饋周期內(nèi)Ji做算術(shù)平均。
2.1.2 累積抖動平均值的測量
為了區(qū)分丟包的原因,首先需要計算累積抖動平均值。累積抖動Jc是指視頻流傳輸過程中某測量周期所有數(shù)據(jù)包延時抖動之和。累積抖動平均值Jca就是對本周期的前N個周期的累積抖動和的代數(shù)平均數(shù)。
其中,M為測量周期內(nèi)數(shù)據(jù)包的個數(shù),N為測量周期個數(shù),即累積抖動的個數(shù)。
2.1.3 丟包率的測量
計算一個反饋周期的丟包率首先需要判定反饋周期內(nèi)各測量周期丟包原因,如果是擁塞丟包,計算并記錄此時丟包率Li,如果判定為3G隨機丟包則不計算丟包率而以0代之。再將各測量周期的丟包率Li做指數(shù)預(yù)測得到反饋周期的丟包率L。
丟包原因是通過比較當(dāng)前測量周期的Jc和Jca來判定。當(dāng)Jc<Jca時,判定為由無線鏈路差錯引起的隨機丟包。當(dāng)Jc>Jca時,說明延遲抖動持續(xù)劇烈增長發(fā)生擁塞,斷定為擁塞丟包。然后利用實際收包數(shù)和應(yīng)收包數(shù)計算此時丟包率Li。
計算得到的丟包率表達(dá)的是過去網(wǎng)絡(luò)的狀況,表達(dá)網(wǎng)絡(luò)狀況具有遲滯,對此本文對丟包率做指數(shù)加權(quán)預(yù)測。在反饋周期內(nèi),每得到一個測量周期的丟包率Li進行一次加權(quán)預(yù)測
反饋周期結(jié)束,得到的L(n-1)即為反饋周期的擁塞丟包率L。如此可一定程度平滑丟包率的值,避免丟包率的滯后性。
2.1.4 RTT往返時延
往返時延通過RTCP報告包計算。發(fā)送端收到接受端的SR包將獲得上次SR時間戳LSR和上次SR以來的延時DLSR,結(jié)合此時終端NTP時間戳的中間32比特值A(chǔ)PP_NTP可得往返時延
對往返延遲同樣做指數(shù)加權(quán)平均,得到下一時刻的RTT,減小遲滯性。
2.2 當(dāng)前網(wǎng)絡(luò)狀況判斷
發(fā)送端根據(jù)丟包率L、延遲抖動J、RTT值將當(dāng)前網(wǎng)絡(luò)劃分為無擁塞,短時擁塞,重度長時擁塞,輕度長時擁塞。具體流程為首先根據(jù)往返延遲RTT值判定是可能發(fā)生長時擁塞或短時擁塞。若RTT>αRTT進入短時擁塞判定,根據(jù)丟包率和進一步判定網(wǎng)絡(luò)狀態(tài),若L<Lmin則此時網(wǎng)絡(luò)位無擁塞;若L>Lmin則網(wǎng)絡(luò)為短期擁塞。若RTT<αRTT進入長時擁塞判定,根據(jù)丟包率和延遲抖動進一步判斷網(wǎng)絡(luò),若L<Lmin,J<Jmin則網(wǎng)絡(luò)當(dāng)前無擁塞;若L<Lmin,J>Jmin則此時為輕度長時擁塞;若L>Lmin,J>Jmin則此時為重度長時擁塞。
2.3 碼率調(diào)整
根據(jù)判斷得到的當(dāng)前3G網(wǎng)絡(luò)狀況,計算出下一時刻x264編碼器合適的輸出碼率。碼率計算的基本思想是3G無擁塞,碼率做合適增長;一旦出現(xiàn)擁塞,便以一定策略降低碼率。相較降低碼率,碼率上調(diào)有可能因為輸出碼率超過可用帶寬而造成網(wǎng)絡(luò)擁塞[3],尤其在網(wǎng)絡(luò)狀況變化很快的環(huán)境,造成擁塞的幾率很高。因此當(dāng)多個反饋周期判定為無擁塞時才增加碼率。具體的調(diào)整策略如式(8)所示。
其中λ為連續(xù)判定為無擁塞的周期數(shù),只有λ大于N碼率才上調(diào)。當(dāng)網(wǎng)絡(luò)狀態(tài)為短時擁塞,以常數(shù)減少的方式降低編碼器的輸出碼率;為輕度長時擁塞時,以常數(shù)減少的方式降低編碼器的輸出碼率;重度長時擁塞時,乘性減少降低編碼器的輸出碼率。
N為常值,不能很好的適應(yīng)網(wǎng)絡(luò)。若設(shè)置較大,在平穩(wěn)網(wǎng)絡(luò)無法快速恢復(fù);若設(shè)置較小,在快速變化網(wǎng)絡(luò)情況易過調(diào)。因此動態(tài)的調(diào)整N值。當(dāng)網(wǎng)絡(luò)平穩(wěn)時N選擇較小值,達(dá)到快速上調(diào)目的;3G網(wǎng)絡(luò)可用帶寬變化較快時,選較大的值避免過調(diào)引發(fā)擁塞。
兩臺移動終端搭載Inetl i3-5010U處理器,以攝像頭Logitech C310為視頻輸入設(shè)備,并分別從有線、3G上網(wǎng)卡接入網(wǎng)絡(luò)。并在終端上編譯安裝Asterisk,將視頻軟件注冊在Asterisk上。配置Asterisk,實現(xiàn)終端之間撥號通話,組件最小的視頻通話系統(tǒng)進行測試。
為了測試系統(tǒng)在3G信道上的效果,進行兩組實驗。第一組,在質(zhì)量較好誤碼率較低的3G環(huán)境中測試,一臺終端以步速在室內(nèi)移動,一臺固定。第二組,利用linux流量控制功能tc和netem[15]向平緩3G網(wǎng)絡(luò)中注入誤碼和抖動。得到數(shù)據(jù)如表1所示。
表1中數(shù)據(jù)包括測試期間,視頻傳輸?shù)淖钚《秳覬min和最大抖動Jmax,以及所有抖動之和的平均J,所有反饋周期的丟包率的平均值平均丟包和平均輸出碼率。組一對應(yīng)第一組實驗的測試數(shù)據(jù),組二對應(yīng)第二組。由表一數(shù)據(jù)可知,在變化慢低誤碼3G和快速變化高誤碼的3G網(wǎng)絡(luò)中,均能流暢的運行,有效的抑制了擁塞引起的抖動和丟包。并且在高誤碼環(huán)境中能較好的避免了不必要的碼率降低,得到較高的帶寬占用。
表1 不同環(huán)境系統(tǒng)測試結(jié)果
文中3G視頻通話系統(tǒng),以先進的H.264編碼技術(shù)實現(xiàn)視頻數(shù)據(jù)壓縮,并且在實現(xiàn)3G音視頻傳輸?shù)幕A(chǔ)上針對3G的不穩(wěn)定性高誤碼等一些問題提出了適用于3G網(wǎng)路的視頻傳輸控制算法。在實際3G網(wǎng)絡(luò)中對設(shè)備的模擬場景測試中,視頻通話系統(tǒng)在不同的網(wǎng)絡(luò)條件下均能夠穩(wěn)定工作,通過碼率的控制得到較好視頻傳輸效果。
[1]王正君,王友釗.基于RTCP的閉環(huán)碼率調(diào)控和流量整形策略[J].計算機科學(xué),2011,38(7):100-102.
[2]豐洪才,向云柱.視頻傳輸自適應(yīng)網(wǎng)絡(luò)帶寬控制策略的研究[J].計算機測量與控制,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ǎng)絡(luò)擁塞控制機制研究[J].計算機科學(xué)2010,37(7):50-53.
[6]馮偉,陳元琰,王斌,等.基于往返延遲抖動區(qū)分丟包的TCPW改進[J].計算機工程與設(shè)計,2011(4):1203-1206.
[7]姜青竹,田暢,吳澤民,等.基于修正時間間隔比的實時視頻傳輸方法[J].軍事通信技術(shù),2015,36(2):7-12.
[8]張麗娟,楊曉萍,陳虹,等.基于自適應(yīng)參數(shù)設(shè)置的AIMD算法[J].吉林大學(xué)學(xué)報:信息科學(xué)版,2010(1):77-83.
[9]程振宇,張燦,和智濤等.基于3G網(wǎng)絡(luò)視頻傳輸?shù)囊环NQoS控制方法_程振宇[J].中國科學(xué)院大學(xué)學(xué)報,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)中實時視頻流碼率動態(tài)調(diào)整機制的研究[J].計算機科學(xué),2010,37(4):296-298.
[12]黃俊偉,巴義.基于V4L2移動視頻監(jiān)控系統(tǒng)的研究與設(shè)計[J].電視技術(shù),2012,36(17):159-162.
[13]劉曉芳,夏哲雷,殷海兵,等.x264中基于參數(shù)選擇的算法優(yōu)化[J].中國計量學(xué)院學(xué)報,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è)計與實現(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 稿件編號:201511047
現(xiàn)代測控技術(shù)教育部重點實驗室開放課題資助 (KF20121123207);本科生培養(yǎng)-大學(xué)生科研訓(xùn)練 (市級)(PXM2014_014224_000079)
李 盼(1989—),女,河南焦作人,碩士研究生。研究方向:電子信息測量。