国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

網(wǎng)絡(luò)帶寬自適應(yīng)傳輸算法的研究與實(shí)現(xiàn)

2010-11-26 02:36:56靜,李
關(guān)鍵詞:碼流碼率服務(wù)器

盧 靜,李 華

(河南工程學(xué)院 計(jì)算機(jī)科學(xué)與工程系,河南 鄭州 451191)

隨著計(jì)算機(jī)網(wǎng)絡(luò)和視頻壓縮技術(shù)的快速發(fā)展,多媒體技術(shù)的研究和應(yīng)用越來(lái)越多地受到重視.由于多媒體技術(shù)擁有的數(shù)據(jù)量大、對(duì)實(shí)時(shí)性要求比較強(qiáng)的特點(diǎn),導(dǎo)致在IP網(wǎng)絡(luò)中傳輸時(shí),其QoS難以得到保證.因此,如何在有限的帶寬上提高多媒體信息的傳輸質(zhì)量成為人們研究的重點(diǎn).由于傳統(tǒng)網(wǎng)絡(luò)層協(xié)議和傳輸層協(xié)議(如TCP/IP、UDP等)的設(shè)計(jì)初衷是用來(lái)傳輸非實(shí)時(shí)數(shù)據(jù)的,大多數(shù)設(shè)計(jì)決策都沒(méi)有考慮網(wǎng)絡(luò)上的延時(shí)、帶寬和跳變等問(wèn)題.這種策略導(dǎo)致在目前的網(wǎng)絡(luò)上,傳統(tǒng)網(wǎng)絡(luò)協(xié)議不能很好地處理多媒體數(shù)據(jù)的傳輸.為了解決上述問(wèn)題,本文提出了一種基于RTP/RTCP協(xié)議的實(shí)時(shí)視頻流網(wǎng)絡(luò)帶寬自適應(yīng)傳輸算法.一般的網(wǎng)絡(luò)帶寬自適應(yīng)傳輸算法[1,2]只是在傳統(tǒng)的AMD算法的基礎(chǔ)上,對(duì)增加因子和減小因子做定性的改變,從而動(dòng)態(tài)調(diào)整碼流的發(fā)送速率.本文的算法則是根據(jù)網(wǎng)絡(luò)的不同狀態(tài)動(dòng)態(tài)確定增加因子和減小因子的值.實(shí)驗(yàn)表明,該算法的引入可以有效地提高視頻流在傳輸過(guò)程中的QoS.

1 RTP/RTCP

RTP/RTCP(Real-time Transport Protocol/Real-time Transport Control Protocol)是由IETF基于多媒體傳輸?shù)奶厥庑枨蠖x的用于在互聯(lián)網(wǎng)上傳輸實(shí)時(shí)數(shù)據(jù)的一套標(biāo)準(zhǔn)協(xié)議,在承載多媒體流的運(yùn)行環(huán)境下,RTP/RTCP可以提供給應(yīng)用層相當(dāng)大自由度的多媒體流控制空間和方式.RTP/RTCP運(yùn)行在UDP協(xié)議層之上,分為RTP數(shù)據(jù)部分和RTCP控制部分.

RTP協(xié)議為用戶(hù)提供端到端的連續(xù)媒體數(shù)據(jù)的實(shí)時(shí)傳輸服務(wù),支持多播或單播網(wǎng)絡(luò);RTP協(xié)議為實(shí)時(shí)業(yè)務(wù)提供端到端的傳輸服務(wù),向接收端點(diǎn)傳送恢復(fù)實(shí)時(shí)信號(hào)所必需的定時(shí)和順序信息,依靠時(shí)間戳信息實(shí)現(xiàn)流的同步.RTP包頭結(jié)構(gòu)如圖1所示.

0 31

RTCP協(xié)議是RTP協(xié)議的控制部分,其主要功能是為應(yīng)用程序提供會(huì)話(huà)質(zhì)量的信息,用于實(shí)時(shí)監(jiān)控媒體數(shù)據(jù)的傳輸質(zhì)量,為系統(tǒng)提供擁塞控制和流控制.RTCP提供五種類(lèi)型的控制包:(1)發(fā)送方報(bào)告包SR(Sender Report)發(fā)送方發(fā)送的統(tǒng)計(jì)信息;(2)接收方報(bào)告包RR(Receiver Report)接收方的接收統(tǒng)計(jì)信息;(3)源描述項(xiàng)包SDES(Sender Description)描述與會(huì)話(huà)源相關(guān)的信息;(4)應(yīng)用包APP(Application)開(kāi)發(fā)新的應(yīng)用;(5)離開(kāi)包BYE:離開(kāi)會(huì)話(huà)時(shí)的報(bào)告包.RTCP控制協(xié)議需要和RTP協(xié)議一起配合使用,當(dāng)應(yīng)用程序啟動(dòng)一個(gè)RTP會(huì)話(huà)時(shí)將同時(shí)占用兩個(gè)端口,分別供RTP和RTCP使用,通過(guò)使用不同的端口號(hào),可以把RTP信息包和RTCP信息包區(qū)分開(kāi)來(lái).通常RTCP會(huì)采用與RTP相同的分發(fā)機(jī)制,向會(huì)話(huà)中的所有成員周期性地發(fā)送控制信息,應(yīng)用程序通過(guò)接收這些數(shù)據(jù),從中獲取參與會(huì)話(huà)者的相關(guān)資料及網(wǎng)絡(luò)狀況、丟包率等反饋信息,從而對(duì)提供QoS或者對(duì)網(wǎng)絡(luò)狀況進(jìn)行診斷.

2 自適應(yīng)網(wǎng)絡(luò)傳輸策略

用戶(hù)一般不希望媒體流的變化速率過(guò)快,所以要合理調(diào)整自適應(yīng)算法,減少媒體流的抖動(dòng),提高媒體流傳輸?shù)钠椒€(wěn)性.

傳統(tǒng)的碼流調(diào)整算法采用的是AMD算法,即加性增乘性減的方法.當(dāng)網(wǎng)絡(luò)出現(xiàn)擁塞時(shí),使用一個(gè)乘法因子α快速降低碼流的發(fā)送速率;當(dāng)擁塞消除后,使用一個(gè)加法因子β來(lái)緩慢提高碼流的發(fā)送速率.用x(n+1)和x(n)分別表示n+1時(shí)隙和n時(shí)隙碼流的發(fā)送速度,t(n)表示時(shí)隙n內(nèi)的丟包率,k1、k2表示丟包率的兩個(gè)門(mén)限值,則傳統(tǒng)的碼流調(diào)整算法可表示成如下形式:

(1)

RTP是根據(jù)RTCP所反饋的信息來(lái)進(jìn)行碼率的調(diào)整的,但RTCP的報(bào)文發(fā)送具有一定的時(shí)間間隔.所以,如果減小因子α選取得過(guò)大,碼率降低得就會(huì)很快,信道的利用率在碼率沒(méi)有恢復(fù)到一定程度前會(huì)較低.如果α取值過(guò)小,則擁塞程度得不到及時(shí)地緩解.對(duì)于增加因子β,如果取值太小,碼率的增幅就會(huì)太小,會(huì)降低網(wǎng)絡(luò)帶寬的利用率.為了解決上述問(wèn)題,可以將α,β設(shè)為一個(gè)變量,使用變量來(lái)調(diào)整碼率.

設(shè)X是上次發(fā)生擁塞時(shí)的RTP流的速率,R,S是常數(shù)(01),K是判斷恢復(fù)速率是否足夠接近X的閥值,是一個(gè)相對(duì)量,參數(shù)α,β的變化按下面的規(guī)則進(jìn)行調(diào)整:

(1) 初始時(shí),即RTP流第一次進(jìn)入網(wǎng)絡(luò),則:

α=R,β=S×x(n)

(2)

(2) 當(dāng)網(wǎng)絡(luò)發(fā)生擁塞時(shí),按公式(1)降低碼率;

(3) 擁塞緩解后,如果x(n)

x(n)+R

α=R,β=S×x(n)

(3)

(4) 擁塞緩解后,如果x(n)>X/2 且

x(n)+R>X,X-x(n)>K,則:

α=m×(X-x(n)),β=S, (0

(4)

(5) 擁塞緩解后,如果x(n)>X/2且

x(n)+R>X,X-x(n)

α=m×(X-x(n)),β=S×x(n)

(5)

該算法的基本思想是利用網(wǎng)絡(luò)發(fā)生擁塞時(shí)的信息來(lái)控制碼率的增幅.當(dāng)網(wǎng)絡(luò)發(fā)生擁塞時(shí),記下此時(shí)的碼流速度作為上一次擁塞速度X,同時(shí)按照公式(1)快速降低碼流.當(dāng)擁塞緩解后,若此時(shí)的碼率滿(mǎn)足(3),則快速增加碼流的發(fā)送速率;若此時(shí)的碼率滿(mǎn)足(4),則讓碼流的發(fā)送速度進(jìn)行慢增長(zhǎng),同時(shí)令減小因子等于m×(X-x(n));若此時(shí)的碼率滿(mǎn)足(5),即RTP流已經(jīng)充分接近上次發(fā)生擁塞時(shí)的速率,若此刻網(wǎng)絡(luò)還沒(méi)出現(xiàn)擁塞,則說(shuō)明上次網(wǎng)絡(luò)擁塞是臨時(shí)的,應(yīng)減小α增加β, 令β的取值恢復(fù)到快速增長(zhǎng)階段的取值.

3 多路嵌入式視頻服務(wù)器的實(shí)現(xiàn)

根據(jù)上述討論,我們實(shí)現(xiàn)了一個(gè)基于RTP的H.264嵌入式多路視頻服務(wù)器[3],系統(tǒng)采用客戶(hù)機(jī)/服務(wù)器模式,其體系結(jié)構(gòu)如圖2所示.

圖2 視頻服務(wù)器軟件體系結(jié)構(gòu)圖Fig.2 Video server software architecture

視頻服務(wù)器是該系統(tǒng)的核心,工作在嵌入式Linux平臺(tái)上,服務(wù)器端將采集到的視頻進(jìn)行本地顯示和存儲(chǔ),將壓縮后的視頻數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)中,并對(duì)用戶(hù)的請(qǐng)求做出響應(yīng).服務(wù)器端的軟件部分采用模塊化的程序設(shè)計(jì)思想,從功能上服務(wù)器端的軟件分為5個(gè)模塊.

3.1 視頻采集模塊

該模塊主要完成兩項(xiàng)工作:采集視頻信息;轉(zhuǎn)換圖像格式為YUV格式.該模塊采用Linux的v4l[4]實(shí)現(xiàn).

3.2 壓縮編碼模塊

該模塊完成對(duì)采集的視頻信息進(jìn)行壓縮編碼.考慮到系統(tǒng)的靈活性及經(jīng)濟(jì)性,系統(tǒng)采用了利用軟件實(shí)現(xiàn)數(shù)據(jù)壓縮編碼的方案,使用H.264標(biāo)準(zhǔn)進(jìn)行壓縮.H.264壓縮標(biāo)準(zhǔn)[5]是一種新的編碼方法,與其他壓縮編碼方式比較,利用H.264標(biāo)準(zhǔn)可以獲得更高的壓縮比及更好的圖像質(zhì)量.H.264編碼器都是開(kāi)源的,可以從網(wǎng)上下載,此處用的是T264,對(duì)采集到的YUV格式的數(shù)據(jù)進(jìn)行逐幀壓縮.

3.3 網(wǎng)絡(luò)傳輸模塊

該模塊負(fù)責(zé)視頻信息的網(wǎng)絡(luò)傳輸,將視頻數(shù)據(jù)分組、打包后發(fā)送到網(wǎng)絡(luò)中.由于網(wǎng)絡(luò)視頻信息傳輸實(shí)時(shí)性的要求,故本模塊使用了RTP傳輸協(xié)議.在實(shí)際網(wǎng)絡(luò)傳輸過(guò)程中,網(wǎng)絡(luò)帶寬的變化往往不可預(yù)料,網(wǎng)絡(luò)的抖動(dòng)會(huì)影響視頻傳輸?shù)馁|(zhì)量.因此,該傳輸模塊需具備網(wǎng)絡(luò)帶寬自適應(yīng)性,這可通過(guò)RTCP的反饋信息實(shí)現(xiàn),通過(guò)RTP接口,根據(jù)監(jiān)控端反饋的網(wǎng)絡(luò)狀態(tài)信息進(jìn)行碼流速率的動(dòng)態(tài)調(diào)整.具體過(guò)程為:編碼后的視頻信息經(jīng)RTP組件發(fā)送至網(wǎng)絡(luò),在傳輸過(guò)程中,監(jiān)控端的QoS監(jiān)視模塊根據(jù)接收包的丟包率和延遲情況診斷網(wǎng)絡(luò)的擁塞狀況,反饋控制模塊對(duì)這些信息分析后通過(guò)RTCP包向碼率控制器反饋網(wǎng)絡(luò)信息,碼率控制器即可根據(jù)網(wǎng)絡(luò)狀態(tài)進(jìn)行碼率的自適應(yīng)調(diào)整.其中,碼率控制器部分采用上文中的碼率調(diào)整算法,完成碼流的動(dòng)態(tài)調(diào)整,其傳輸模型如圖3所示.

圖3 數(shù)據(jù)傳輸模型Fig.3 Data transmission model

3.4 存儲(chǔ)管理模塊

該模塊負(fù)責(zé)將編碼后的視頻數(shù)據(jù)存儲(chǔ)到磁盤(pán)中,并將視頻文件信息寫(xiě)入到嵌入式數(shù)據(jù)庫(kù)MySQL,以供檢索和回放.在本模塊的存儲(chǔ)管理中,采用了等長(zhǎng)分組存儲(chǔ)策略:將待存儲(chǔ)的視頻信息按照時(shí)序關(guān)系分為若干個(gè)分組,每個(gè)分組被存儲(chǔ)于一個(gè)大小固定的存儲(chǔ)單元內(nèi).

3.5 設(shè)備控制模塊

該模塊根據(jù)用戶(hù)界面發(fā)出的或網(wǎng)絡(luò)傳送來(lái)的控制命令,控制解碼器,完成對(duì)云臺(tái)、鏡頭等設(shè)備的控制.

4 結(jié)束語(yǔ)

本文提出了一種基于RTP的自適應(yīng)網(wǎng)絡(luò)傳輸策略,利用該策略可以動(dòng)態(tài)調(diào)整碼流的發(fā)送速率.在該策略的基礎(chǔ)上,采用H.264編碼技術(shù),設(shè)計(jì)了一個(gè)多路嵌入式視頻服務(wù)器.試驗(yàn)證明,對(duì)于包含有多路視頻服務(wù)器的嵌入式系統(tǒng),上述網(wǎng)絡(luò)傳輸部分能夠很好地完成視頻數(shù)據(jù)的實(shí)時(shí)傳輸,網(wǎng)絡(luò)自適應(yīng)能力良好.

參考文獻(xiàn):

[1] WU D, HOU Y T. Transporting real-time video over the Internet challenge and approaches[C]. Proceedings of the IEEE, 2000, 88(12): 1 855-1 877.

[2] 張正華,余松煜,陳軍華. 一種針對(duì)視頻點(diǎn)播系統(tǒng)的RTP/RTCP自適應(yīng)算法[J].計(jì)算機(jī)工程,2006,32(6):223-226.

[3] 鐘玉琢.流媒體和視頻服務(wù)器[M].北京:清華大學(xué)出版社,2003.

[4] 范永開(kāi).Linux應(yīng)用開(kāi)發(fā)技術(shù)詳解[M].北京:人民郵電出版社,2006.

[5] THOMAS W, GARY J S, GISLE B,et al. Overview of the H.264/AVC video coding standard[C]. IEEE Transactions on Circuits and Systems for Video Technology, 2003, 13(7): 560-576.

猜你喜歡
碼流碼率服務(wù)器
分布式碼流實(shí)時(shí)監(jiān)控與錄制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
數(shù)字電視TS碼流協(xié)議簡(jiǎn)要分析
視聽(tīng)(2021年8期)2021-08-12 10:53:42
通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
基于狀態(tài)機(jī)的視頻碼率自適應(yīng)算法
得形忘意的服務(wù)器標(biāo)準(zhǔn)
計(jì)算機(jī)網(wǎng)絡(luò)安全服務(wù)器入侵與防御
基于場(chǎng)景突變的碼率控制算法
X264多線(xiàn)程下碼率控制算法的優(yōu)化
多光譜圖像壓縮的聯(lián)合碼率分配—碼率控制方法
一種比較ASN.1碼流差異的方法
太仆寺旗| 浦北县| 上虞市| 上饶市| 灯塔市| 九龙城区| 连平县| 广灵县| 唐河县| 宜宾县| 同仁县| 永嘉县| 正阳县| 黔西县| 同德县| 和政县| 鄂托克旗| 阳泉市| 亚东县| 九寨沟县| 望江县| 连州市| 金乡县| 惠州市| 南陵县| 金华市| 大埔区| 聊城市| 通榆县| 甘孜县| 丰原市| 云安县| 斗六市| 建昌县| 唐河县| 沧源| 云和县| 固始县| 拉萨市| 祁东县| 马鞍山市|