999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android的視頻流自適應算法設計

2012-04-12 00:00:00王輝田鵬輝
現代電子技術 2012年22期

摘 要:隨著網絡的快速發展,對高質量視頻的實時傳輸提出了更高的要求,然而由于智能手機處理能力低、內存小等硬件配置因素,使得嵌入式媒體播放器中的視頻數據無法自適應網絡狀況,最終導致視頻數據在傳輸過程中大量丟失,降低接收到的視頻圖像質量。在此提出基于Android的視頻流自適應算法,該算法可動態探測網絡帶寬,自動適應網絡擁塞狀況,制定平滑的數據傳輸帶寬,緩解網絡擁塞,根據傳輸帶寬控制視頻編碼和視頻傳輸速率,提高視頻傳輸質量。

關鍵詞:網絡擁塞; 媒體播放器; Android; 視頻自適應; 網絡帶寬

中圖分類號:TN91934; TP301.6 文獻標識碼:A 文章編號:1004373X(2012)22004204

近年來隨著網絡的快速發展,對高質量視頻的實時傳輸也提出了更高的要求,然而由于IP網絡的體系結構就決定它只能提一種供盡力而為(Besteffort)的傳輸服務,并沒有服務質量的保障(QoS),因此很難保證視頻傳輸所需的穩定帶寬,最終將導致網絡擁塞,并且在傳輸過程中丟失大量的視頻數據,引起接收到的視頻圖像質量急劇下降。目前,盡管在許多高端手機和PDA上都有多媒體播放器,但是因為手機處理器能力低、內存小等硬件配置因素的影響,和PC機上的播放器相比手機現有的這些播放器功能都非常不完善,嚴重影響著視頻流的解碼效率,并最終導致解碼出的視頻頻數據無法實時處理,極大地影響用戶的使用。這一現象產生的原因主要是由于媒體播放器是基于嵌入式系統的,而目前所用的大多數嵌入式處理器其工作頻率和運算能力都不能和同時期的PC機用的處理器相比,而播放高質量的視頻文件又需要處理器進行大量復雜的解碼工作,所以一旦CPU處理速度跟不上就會使導致圖像質量下降。

解決這一問題主要有2種方法,一種方法就是在硬件上使用更高性能的CPU或者硬件解碼芯片,加快視頻處理速度;另一種方法就是在軟件上使用好的視頻自適應算法,當產生網絡擁塞而導致丟包時可以及時糾正。一般來說,系統使用的硬件一旦確定就不會輕易改變,因為這涉及到硬件電路設計、成本等諸多因素,所以本文將從軟件角度改善視頻流的傳輸,提出基于Android的視頻流自適應算法,該算法可以動態探測網絡帶寬,自動適應網絡擁塞狀況,制定平滑的數據傳輸帶寬,從而緩解網絡擁塞,根據傳輸帶寬控制視頻編碼和視頻傳輸速率,相應地提高視頻傳輸質量。

1 系統分析

1.1 Android平臺簡介

Android系統是Google公司開發的基于Linux系統的開源手機操作平臺,采用軟件堆層(Software Stack)的架構,是首個為移動終端打造的真正開放和完整的移動軟件。

Android平臺框架共由5部分組成。底層核心是基于Linux 2.6內核開發的獨立操作系統,該層用來提供系統的底層服務,包括安全機制、內存管理、進程管理、網絡堆棧及一系列的驅動模塊。中間是Android執行環境,包括系統運行庫、Dalvik虛擬機、核心庫和一些C/C++庫等支持Android使用的各個組件。應用層框架是開發人員使用這些API框架來開發自己的應用,簡化了應用程序開發的架構設計。應用層程序是用Java語言編寫的運行在虛擬機上的程序。

為確保視頻的高質量傳輸,以及方便針對嵌入式平臺運行的調整和優化,在選擇編碼的時候選擇開源項目FFmpeg。FFmpeg是一個開源跨平臺多媒體數據解決方案,它包含非常先進的視頻編解碼庫Libavcodec,支持超過90種編解碼標準及RTSP,HTTP,MMS等多種網絡傳輸協議。FFmpeg通過C語言實現,常被移植到各種嵌入式系統中[1]。將FFmpeg移植到Android系統中,能夠增加Android系統對編解碼格式標準的支持,提高Android系統對多媒體信息處理能力,改善用戶體驗。

1.2 視頻傳輸協議RTP/RTCP

視頻傳輸的核心是視頻流(Streaming Video)的傳輸,視頻流通常是指一系列連續的、帶有時間戳的視頻包數據。視頻流技術則是研究視頻數據有效傳輸的技術,主要包括視頻數據的壓縮及視頻流的實時傳輸,以保證用戶能夠獲得良好的視頻質量。多媒體流的實時傳輸對帶寬和延遲比較敏感,因此視頻流的傳輸需要選擇合適的傳輸協議。

實時傳輸協議(Realtime Transport Protoco1,RTP)報文用來作實時傳輸時,可以靈活改變速率、防止亂序。但是,僅僅使用RTP時間戳是無法實現視頻的自適應傳輸。要實現視頻自適應傳輸,需要借助于RTP控制協議(Realtime Transport Control Protocol,RTCP)[2]。在流式傳輸的實現方案中,采用TCP/RTCP來傳輸控制信息,用RTP/UDP來傳輸視頻流數據。RTCP報文在傳輸過程中可以為RTP數據提供網絡狀況和服務質量的反饋。

2 基于Android的視頻流自適應算法設計

為解決網絡擁塞時視頻所面臨的問題,本文進行了基于Android的視頻自適應算法的研究。該算法可以動態探測網絡帶寬,使用網絡擁塞控制制定數據接收速率,在避免網絡擁塞的同時做到了與TCP的公平與友好。

2.1 視頻自適應算法框架

基于Android的視頻自適應算法的主要原理是在Android手機上實現視頻接收的自適應調節。首先,Android手機會發送網絡探測信息的數據包,包中帶有序列號、包丟失率、延時及環路時間等。然后,服務器會應答收到的數據包,在應答包中會包含有相應的序列號和網絡信息反饋等開銷,這樣,就提供了端到端的反饋。Android系統根據網絡開銷解碼數據包并分析網絡帶寬,當帶寬變窄時,能在用戶允許的范圍內丟棄某些次要信息,比如高碼率的視頻數據,而當帶寬變大時,則可以提高視頻傳輸碼率或增大幀速率,這樣就可以根據網絡的狀態,自動適應網絡帶寬變化,動態接收視頻數據流,達到較好的傳輸效果。

本文提出的基于Android的視頻自適應算法是針對網絡環境中傳輸實時視頻數據而提出的。當在網絡上傳輸視頻數據時,網絡視頻自適應傳輸算法會在UDP協議的基礎上加入RTP和RTCP傳輸控制協議[3],然后通過發送網絡探測和有效反饋實現基于Android的網絡視頻自適應控制,視頻自適應技術框架如圖1所示。

TCP友好速率控制協議(TCP Friendly Rate Control,TFRC) 是一種應用于單播的基于速率的擁塞控制算法[4]。本文提出的基于Android的視頻自適應擁算法就借鑒了TFRC模型穩態速率公式,在該公式中,關鍵技術主要包括TFRC穩態速率公式中各參數的確定以及視頻數據接收速率控制。TFRC穩態速率公式如下[5]:

B(p)=

s[tRTT2bp3+t0min(1,33bp8)p(1+32p2)]-1

式中:s表示TCP的報文大小,單位為B;p表示丟失事件率;t0表示數據報文超時時間;tRTT表示數據報文環路時間;b為一個應答所代表的接收到的報文數。通過TFRC穩態速率公式可以計算出一個傳輸數據流的穩態接收速率B(p)。

依據該TFRC穩態速率公式得出速率值B(p)隨著丟失事件率等幾個參數的變化而變化,而其中最主要的是丟失事件率p的計算。丟失事件率的計算有3個主要步驟,即初始化參數列表,丟失事件(Loss Events)判斷,以及計算丟包事件率。

(1) 初始化參數列表。根據TFRC理論,丟失事件率以最近8個丟失事件作為計算依據[6],據此引入參數數組。

(2) 丟失事件(Loss Events)判斷。本文對丟失事件的判斷采用以下算法描述:

Android系統Qos監控模塊監測到有丟包情況發生{If 本次丟包與上一次丟包的時間間隔大于RTT,即該包不屬于上次丟失事件的發送窗口。

Then 新的丟失事件發生,計算丟失間隔。}

采用該算法可以判斷出當前的丟失事件,進而可用于計算丟失事件率p。

(3) 計算丟失事件率p。按照丟失事件率的算法,一個非連續的丟包并不會改變丟失事件率,因此當包丟失率上升時速率值的下降也是緩慢的,丟失事件率算法應用在TFRC穩態速率公式中能夠較準確地描述網絡的實際擁塞狀況。

2.3 瓶頸帶寬的計算

在TFRC算法的基礎上控制視頻數據的接收速率,可以通過視頻自適應算法制定出平滑的帶寬輸出數據,從而避免TCP協議的AIMD算法所帶來的帶寬振蕩。此外,視頻自適應算法并不把TFRC速率計算公式的輸出作為源端的接收速率,而是以客戶端反饋的瓶頸帶寬做為上界,并且結合當前帶寬輸出值B(p)及最近帶寬,制定數據傳輸率來自動適應網絡狀態的變化。

發送端在tTimestamp時刻向接收端發送數據包,在接收端收到N個具有相同時間戳tTimestamp的數據包后,采用以下公式計算瓶頸帶寬:BnBw=∑Ni=1packet(i)[tRecv_ClientN-tRecv_Client1]-1式中:BnBw為網絡瓶頸帶寬;Packet(i)為第i個數據包大小,單位B;tTimestamp為數據包發送時間戳;tRecv_ClientN為接收到第N個數據包的時間;tRecv_Client1為接收到第1個數據包的時間。

通過瓶頸帶寬公式計算出的網絡瓶頸帶寬BnBw可以作為數據發送速率的上界,從而避免了TFRC算法的帶寬波動。

2.4 視頻流自適應算法描述

利用RTP/RTCP的反饋結果,設計合適的基于Android的視頻自適應算法。當監測到網絡出現擁塞,導致帶寬下降后,Android系統會自動調整接收策略,從占用較多帶寬,質量較高的視頻流向占用帶寬較少,質量稍微差一點的視頻流上轉移。因此,假如出現持續的低帶寬情況,視頻自適應算法的結果就是在最初階段丟包率會較大,隨后就會逐漸適應低帶寬的環境,丟包率也會呈下降趨勢。因此,考慮到嵌入式設備的性能,提出的自適應算法不應過于復雜,可以將視頻自適應算法和視頻編碼算法相結合,動態地調整視頻的編碼和發送,從而達到較為流暢的媒體流。通過以上分析,得出自適應算法具體步驟如下:

(1) 初始化設置視頻編碼器,啟動網絡發送線程;

(2) 設定B為發送端當前的帶寬,Bmin和Bmax分別為網絡所能達到的最小帶寬和最大帶寬,且B∈[Bmin,Bmax];

(3) 根據給定網絡帶寬B,確定視頻壓縮碼率;

(4) 根據視頻壓縮碼率,壓縮視頻數據,加入網絡探測信息,以視頻幀為單位采用RTP方式打包后送入緩沖區;

(5) 網絡發送模塊從緩沖區中取出視頻數據包,并將視頻數據包發送到網絡上;

(6) 網絡監測模塊接收客戶反饋的網絡QoS信息,根據視頻流自適應算法確定當前的發送帶寬Bnew,調用視頻速率自適應模塊,按照控制策略調整視頻壓縮碼率,如果沒有用戶終止信息,則執行步驟(4);

(7) 退出視頻發送線程,終止。

數據包丟失率是監控器估計網絡信道狀況的指標,但不能直接利用丟失率判斷網絡信道狀況并據此調整視頻的接收,因為會使接收數據變動得過于頻繁,視頻產生波動,質量不穩定,所以要先對其做平滑處理。根據平'滑后的數據包丟失率與事先確定的閾值的關系判斷網絡上的負載情況,依此將網絡狀態分為若干類:假定分為3類(輕載,滿載和阻塞),網絡狀態的分類算法:設定2個閾值kl、k2(測試給定值),平滑后RTP數據包的丟失率為t(n)。視頻編碼算法為A(i),其中i為調整編碼的系數,i越大,壓縮比越高,對應于3種狀態的i值分別為il

(1) 當t(n)< kl時,視為輕載;

(2) 當kl

(3) 當t(n)> k2時,視為阻塞。

則自適應算法描述為:

if(t(n)

else if(kl

A(i2);D;

else

A(i3);TFRC(D);

此算法可根據網絡的實際情況劃分為多種狀態進行調整。與TCP基于AIMD窗口控制算法相比,視頻自適應算法采用了緩和得多的速率變化策略,在TFRC公式的基礎上既做到了與TCP 流的友好,又平滑了數據傳輸速率,能夠為視頻數據提供良好的傳輸質量保證。

3 實驗結果

為驗證本文提出的視頻流自適應算法的應用效果,在Android系統中進行了模擬實驗。以下是采用視頻流自適應算法的視頻傳輸實驗結果,實驗結果分析如圖2所示。自適應視頻流解碼質量與傳統的聯播技術之間的實驗效果比較,采用的視頻序列是Coastguard CIF,其中網絡帶寬變動范圍為128~512 Kb/s。

圖2 視頻流自適應算法實驗結果分析從以上試驗結果可以看出,與目前主要的實時視頻傳輸技術相比,視頻流自適應算法具有一定的優勢:從帶寬自適應能力上來說,視頻自適應算法能對網絡帶寬的變動做出及時的響應并能有效避免網絡擁塞,提供穩定連續的視頻傳輸質量;視頻自適應算法對視頻編碼器的依賴較小,即不需要復雜的視頻自適應編碼算法,也不占用冗余的存儲空間,因此在對視頻流的實時性要求高的應用上具有較突出的優勢。

4 結 語

本文針對Android平臺的特點提出基于Android的視頻流自適應算法,該算法可動態探測網絡帶寬,自動適應網絡擁塞狀況,制定平滑的數據傳輸帶寬,緩解網絡擁塞,根據傳輸帶寬控制視頻編碼和視頻傳輸速率,提高視頻傳輸質量,對網絡帶寬的波動有較好的適應性。該算法在Android 2.2軟件平臺上進行了系統測試,具有良好的效果,證明該算法可適應網絡擁塞狀況,提高視頻質量,改善用戶體驗,為其他移動終端嵌入式多媒體應用軟件的開發給出了一些參考。

參 考 文 獻

[1] 吳張順,張詢.基于FFmpeg的視頻編碼存儲研究與實現[J].杭州電子科技大學學報,2006,26(3):3034.

[2] HAMANN T, WALRAND J. A new fair window algorithm for ECN capable TCP (NewECN) \[C\]// Proceedings of 2000 IEEE INFOCOM. Tel Aviv, Israel, CA: IEEE Computer Society, 2000: 200206.

[3] HENGER U, BOLLIGER J, TH C. TCP Vegas revisited \[C\]// Proceedings of 2000 IEEE INFOCOM. Tel Aviv, Israel: IEEE Computer Society, 2000: 221227.

[4] RICHARD J, ANANTHARAM V. A case study for TCP Vegas and deficit roundrobin gateways \[J/OL\]. \[19981220\].Http://www.path.berkeley.

[5] HANDLEY M, PAHYE J, FLOYD S. TCP friendly rate control (TFRC): Protocol specification \[EB/OL\]. \[20100126\]. http:// www. glyustb.iteye.com/blog/580612.

[6] DISALEM D, SCHULZRINNE H. The lossdelay based adjustment algorithm: a TCPfriendly adaptation scheme \[C\]// Workshop on NOSSDAV. \[S.l.\]: \[s.n.\], 1998: 227233.

作者簡介: 王 輝 女,1975年出生,陜西西安人,講師。主要研究方向為計算機網絡、網絡安全、網絡協議與分析。

主站蜘蛛池模板: av色爱 天堂网| 婷婷综合色| 日韩欧美中文字幕在线精品| 乱系列中文字幕在线视频| 日韩av高清无码一区二区三区| 亚洲色图欧美| 中文字幕日韩欧美| 69av在线| 人人妻人人澡人人爽欧美一区 | 99精品在线视频观看| 欧美精品xx| 久久性妇女精品免费| 免费看美女自慰的网站| av一区二区无码在线| 亚洲欧美在线综合图区| 成人福利一区二区视频在线| 日韩av无码精品专区| 亚洲国产成熟视频在线多多 | 国产综合另类小说色区色噜噜| 狠狠色丁香婷婷综合| 国产网站一区二区三区| 亚洲综合片| 国产资源免费观看| 麻豆精品在线视频| 无码人中文字幕| 国产在线精品人成导航| 亚洲Va中文字幕久久一区| 国产高清无码麻豆精品| 免费中文字幕一级毛片| 国产毛片片精品天天看视频| 色网站免费在线观看| 91久久精品国产| 久草视频一区| 99色亚洲国产精品11p| 欧美亚洲香蕉| 精品视频一区二区观看| 亚洲中文字幕在线精品一区| 国产欧美日韩资源在线观看| 喷潮白浆直流在线播放| 九九线精品视频在线观看| 日本a级免费| 黄色网站在线观看无码| 免费激情网址| 精品久久久久无码| 亚洲中文字幕久久无码精品A| 又粗又硬又大又爽免费视频播放| 日本免费精品| 国产一区二区精品福利| 亚洲一区免费看| 亚洲男人在线| 亚洲熟女偷拍| 国产在线拍偷自揄观看视频网站| 中文天堂在线视频| 亚洲性一区| 伊人久久久大香线蕉综合直播| 国产欧美日韩另类| 伊人成色综合网| 国产成人凹凸视频在线| 国产精品lululu在线观看| 99资源在线| 久久成人国产精品免费软件| 一级一级一片免费| 欧美日韩在线成人| 亚洲国产欧美自拍| 91青草视频| 亚洲人成网址| 波多野结衣中文字幕久久| 天堂网亚洲系列亚洲系列| 夜精品a一区二区三区| 亚洲首页国产精品丝袜| 久久6免费视频| 99这里只有精品免费视频| 国产精品成人免费视频99| 国模极品一区二区三区| aaa国产一级毛片| 欧美特黄一级大黄录像| 久久福利片| 91精品专区国产盗摄| 久久精品日日躁夜夜躁欧美| 国产成人精品免费av| 91高清在线视频| 国产成人禁片在线观看|