李 盼,李月強,汪衛章
(1.北京信息科技大學 儀器科學與光電工程學院,北京 100085;2.北京華環電子股份有限公司 北京100085)
3G網絡下視頻傳輸自適應控制的研究
李 盼1,李月強1,汪衛章2
(1.北京信息科技大學 儀器科學與光電工程學院,北京 100085;2.北京華環電子股份有限公司 北京100085)
介紹了一種應用在應急通信設備的3G視頻通話系統。不同應用環境的3G,網絡的帶寬時變快慢以及鏈路誤碼大小變化較大,對此提出了一種自適應傳輸控制策略,以達到在不同網絡環境都能有較高的帶寬占用和較好的擁塞控制。本文以丟包率,往返延遲和時延抖動為依據將網絡細分為為4種狀態,并分別做相應的碼率調節。為避免高誤碼引起的不必要的碼率降低,利用累計抖動區分丟包。并通過對網絡判斷參數做加權預測,對不同質量網絡應用不同碼率上調條件,來減少碼率的抖動。實驗證明,此系統在不通環境中,均能較好地運行,達到較高的帶寬占用。
視頻傳輸;3G;丟包區分;碼率自適應
應用在突發災害或事故的應急通信設備傳遞信息的暢通性、及時性、準確性對決策者正確指揮搶險救災起著重要作用。突發事故和災害的不可預見要求應急通信設備機動靈活,可快速部署。3G具有終端可移動、成本低、易部署、隨時隨地接入網絡的特點,使3G視頻通話非常適合應用在應急通信設備中,為搶險救災策略的制定提供真實可靠的信息。
但可用帶寬時變特性以及高誤碼率使得3G下視頻傳輸質量受限,且3G網絡質量在不同環境并不穩定。當終端的視頻碼率超出網絡的傳輸能力,視頻流會出現大的延遲和丟包。對于3G網絡的高誤碼率引起隨機丟包,降低輸出碼率并不會改善丟包情況。為此,視頻通話系統需要根據網絡當前隨機丟包和可用帶寬變化情況自適應的調整視頻輸出碼率[1-2]。
文中介紹了視頻通話系統構成,細分網絡擁塞狀態[3-4],結合丟包區分[5-6]和AIMD及其改進算法[7-11]碼率控制算法來計算新的碼率,并針對不同質量的3G網絡在控制參數上做一定調整,實現在各環境下自適應的控制視頻發送速率。
視頻通話系統如圖1所示,它由SIP服務器和終端兩部分組成。終端注冊在SIP服務器中,通過SIP服務建立會話,重定向媒體流,實現終端之間的視頻通話。呼叫雙方將視頻流傳輸的質量信息進行一定處理反饋給對方,當獲取到反饋信息后,根據具體信息,判定出網絡狀況,進而根據網絡狀況控制編碼器的輸出碼率,達到自適應網絡的目的。
1.1 SIP服務器
SIP服務器包括重定向服務器、代理服務器、注冊服務器,當收到SIP請求時,為其提供相應服務并返回相應的應答。在視頻通話系統中它的主要功能是為呼叫終端提供被被呼叫終端的位置信息,實現雙方的呼叫連接和控制。系統使用Asterisk作為SIP服務器。

圖1 系統結構圖
終端包含SIP模塊和媒體傳輸模塊。SIP模塊的功能是與SIP服務器交互,實現會話的建立與控制。媒體傳輸模塊包括視頻采集模塊,編解碼模塊,視頻傳輸模塊,視頻播放模塊和反饋控制模塊,負責數據的采集壓縮和傳輸,保證視頻通話在時變的無線網絡中得到較好的質量。

圖2 視頻流流程
媒體流的傳輸流程如圖2所示,采集模塊通過USB攝像頭,V4L2[12]視頻接口采集視頻數據。編解碼模塊采用x264[13-14]作為編碼器,ffmpeg作為解碼器,實現壓縮解壓縮視頻數據。視頻數據的傳輸模塊采用RTP基于UDP來傳輸音視頻數據,RTCP基于UDP反饋數據流在網絡中的傳輸情況。反饋控制模塊根據反饋,自適應控制編碼器輸出,實現擁塞控制和流量控制,是整個系統中非常重要的部分。
反饋控制模塊實現的傳輸控制策略是通過丟包區分,減小誤碼引起的不必要速率降低,提高高誤碼環境下控制效果;以延遲抖動、RTT、丟包率為標志對網絡做細度劃分,參考結合AIMD及其改進算法對不同網絡擁塞狀況做合適的碼率調整;并對碼率調整中碼率增加條件做動態改變,在不同的網絡質量下選取不同的值,使控制策略在不同質量的3G網絡都能得到較好的效果。
2.1 數據處理
接收端向發送方發送RTCP反饋信息的時間固定為5秒,將兩個RTCP包間的間隔劃分為n段,每一段為一個測量周期。
2.1.1 延遲抖動抖動J的測量
第i個數據包的傳輸延遲抖動Di計算,是根據第i和i-1包的RTP封包的時間戳Tsi、Tsi-1到達接收端的時間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.

為了達到較好降噪比以及合適的收斂速度,對實際的抖動做一定處理

最終反饋的抖動是對反饋周期內Ji做算術平均。
2.1.2 累積抖動平均值的測量
為了區分丟包的原因,首先需要計算累積抖動平均值。累積抖動Jc是指視頻流傳輸過程中某測量周期所有數據包延時抖動之和。累積抖動平均值Jca就是對本周期的前N個周期的累積抖動和的代數平均數。

其中,M為測量周期內數據包的個數,N為測量周期個數,即累積抖動的個數。
2.1.3 丟包率的測量
計算一個反饋周期的丟包率首先需要判定反饋周期內各測量周期丟包原因,如果是擁塞丟包,計算并記錄此時丟包率Li,如果判定為3G隨機丟包則不計算丟包率而以0代之。再將各測量周期的丟包率Li做指數預測得到反饋周期的丟包率L。
丟包原因是通過比較當前測量周期的Jc和Jca來判定。當Jc<Jca時,判定為由無線鏈路差錯引起的隨機丟包。當Jc>Jca時,說明延遲抖動持續劇烈增長發生擁塞,斷定為擁塞丟包。然后利用實際收包數和應收包數計算此時丟包率Li。
計算得到的丟包率表達的是過去網絡的狀況,表達網絡狀況具有遲滯,對此本文對丟包率做指數加權預測。在反饋周期內,每得到一個測量周期的丟包率Li進行一次加權預測

反饋周期結束,得到的L(n-1)即為反饋周期的擁塞丟包率L。如此可一定程度平滑丟包率的值,避免丟包率的滯后性。
2.1.4 RTT往返時延
往返時延通過RTCP報告包計算。發送端收到接受端的SR包將獲得上次SR時間戳LSR和上次SR以來的延時DLSR,結合此時終端NTP時間戳的中間32比特值APP_NTP可得往返時延

對往返延遲同樣做指數加權平均,得到下一時刻的RTT,減小遲滯性。

2.2 當前網絡狀況判斷
發送端根據丟包率L、延遲抖動J、RTT值將當前網絡劃分為無擁塞,短時擁塞,重度長時擁塞,輕度長時擁塞。具體流程為首先根據往返延遲RTT值判定是可能發生長時擁塞或短時擁塞。若RTT>αRTT進入短時擁塞判定,根據丟包率和進一步判定網絡狀態,若L<Lmin則此時網絡位無擁塞;若L>Lmin則網絡為短期擁塞。若RTT<αRTT進入長時擁塞判定,根據丟包率和延遲抖動進一步判斷網絡,若L<Lmin,J<Jmin則網絡當前無擁塞;若L<Lmin,J>Jmin則此時為輕度長時擁塞;若L>Lmin,J>Jmin則此時為重度長時擁塞。
2.3 碼率調整
根據判斷得到的當前3G網絡狀況,計算出下一時刻x264編碼器合適的輸出碼率。碼率計算的基本思想是3G無擁塞,碼率做合適增長;一旦出現擁塞,便以一定策略降低碼率。相較降低碼率,碼率上調有可能因為輸出碼率超過可用帶寬而造成網絡擁塞[3],尤其在網絡狀況變化很快的環境,造成擁塞的幾率很高。因此當多個反饋周期判定為無擁塞時才增加碼率。具體的調整策略如式(8)所示。

其中λ為連續判定為無擁塞的周期數,只有λ大于N碼率才上調。當網絡狀態為短時擁塞,以常數減少的方式降低編碼器的輸出碼率;為輕度長時擁塞時,以常數減少的方式降低編碼器的輸出碼率;重度長時擁塞時,乘性減少降低編碼器的輸出碼率。
N為常值,不能很好的適應網絡。若設置較大,在平穩網絡無法快速恢復;若設置較小,在快速變化網絡情況易過調。因此動態的調整N值。當網絡平穩時N選擇較小值,達到快速上調目的;3G網絡可用帶寬變化較快時,選較大的值避免過調引發擁塞。
兩臺移動終端搭載Inetl i3-5010U處理器,以攝像頭Logitech C310為視頻輸入設備,并分別從有線、3G上網卡接入網絡。并在終端上編譯安裝Asterisk,將視頻軟件注冊在Asterisk上。配置Asterisk,實現終端之間撥號通話,組件最小的視頻通話系統進行測試。
為了測試系統在3G信道上的效果,進行兩組實驗。第一組,在質量較好誤碼率較低的3G環境中測試,一臺終端以步速在室內移動,一臺固定。第二組,利用linux流量控制功能tc和netem[15]向平緩3G網絡中注入誤碼和抖動。得到數據如表1所示。
表1中數據包括測試期間,視頻傳輸的最小抖動Jmin和最大抖動Jmax,以及所有抖動之和的平均J,所有反饋周期的丟包率的平均值平均丟包和平均輸出碼率。組一對應第一組實驗的測試數據,組二對應第二組。由表一數據可知,在變化慢低誤碼3G和快速變化高誤碼的3G網絡中,均能流暢的運行,有效的抑制了擁塞引起的抖動和丟包。并且在高誤碼環境中能較好的避免了不必要的碼率降低,得到較高的帶寬占用。

表1 不同環境系統測試結果
文中3G視頻通話系統,以先進的H.264編碼技術實現視頻數據壓縮,并且在實現3G音視頻傳輸的基礎上針對3G的不穩定性高誤碼等一些問題提出了適用于3G網路的視頻傳輸控制算法。在實際3G網絡中對設備的模擬場景測試中,視頻通話系統在不同的網絡條件下均能夠穩定工作,通過碼率的控制得到較好視頻傳輸效果。
[1]王正君,王友釗.基于RTCP的閉環碼率調控和流量整形策略[J].計算機科學,2011,38(7):100-102.
[2]豐洪才,向云柱.視頻傳輸自適應網絡帶寬控制策略的研究[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友好的無線網絡擁塞控制機制研究[J].計算機科學2010,37(7):50-53.
[6]馮偉,陳元琰,王斌,等.基于往返延遲抖動區分丟包的TCPW改進[J].計算機工程與設計,2011(4):1203-1206.
[7]姜青竹,田暢,吳澤民,等.基于修正時間間隔比的實時視頻傳輸方法[J].軍事通信技術,2015,36(2):7-12.
[8]張麗娟,楊曉萍,陳虹,等.基于自適應參數設置的AIMD算法[J].吉林大學學報:信息科學版,2010(1):77-83.
[9]程振宇,張燦,和智濤等.基于3G網絡視頻傳輸的一種QoS控制方法_程振宇[J].中國科學院大學學報,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]巴洪濤,陳耀武,周蓉.監控系統中實時視頻流碼率動態調整機制的研究[J].計算機科學,2010,37(4):296-298.
[12]黃俊偉,巴義.基于V4L2移動視頻監控系統的研究與設計[J].電視技術,2012,36(17):159-162.
[13]劉曉芳,夏哲雷,殷海兵,等.x264中基于參數選擇的算法優化[J].中國計量學院學報,2013(4):403-408.
[14]孟雷雷,夏哲雷.X264視頻編碼器關鍵編碼參數的選擇和優化[J].電視技術,2015,39(10):24-27.
[15]羅罡.網絡性能模擬系統的設計與實現[D].北京:北京郵電大學,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
現代測控技術教育部重點實驗室開放課題資助 (KF20121123207);本科生培養-大學生科研訓練 (市級)(PXM2014_014224_000079)
李 盼(1989—),女,河南焦作人,碩士研究生。研究方向:電子信息測量。