一種基于RTCP反饋的3G流媒體速率控制算法
摘要:在3G流媒體業(yè)務(wù)中,緩存數(shù)據(jù)溢出嚴(yán)重地影響了多媒體畫面質(zhì)量和媒體播放的流暢性,降低了用戶對(duì)流媒體業(yè)務(wù)感知的滿意度。為了解決這個(gè)問(wèn)題,根據(jù)3GPP PSS提出的反饋機(jī)制,闡述了一種基于RTCP反饋信息的3G流媒體速率控制算法。通過(guò)計(jì)算機(jī)仿真證明,該算法不僅有效防止了緩存數(shù)據(jù)上溢,而且保證了發(fā)送效率,避免了緩存數(shù)據(jù)欠載,從而實(shí)現(xiàn)了高質(zhì)量的流媒體服務(wù)。
關(guān)鍵詞:RTCP反饋;網(wǎng)絡(luò)緩存上溢;客戶緩存下溢;速率控制
0 引言
第三代移動(dòng)無(wú)線通信傳輸技術(shù),在戶外環(huán)境中能夠提供384Kb/s的傳輸帶寬,在室內(nèi)最高可達(dá)2Mb/s,因此3G系統(tǒng)能夠承載高質(zhì)量的移動(dòng)流媒體業(yè)務(wù)。隨著移動(dòng)用戶對(duì)影音點(diǎn)播業(yè)務(wù)的需求增加和運(yùn)營(yíng)商對(duì)3G網(wǎng)絡(luò)的大規(guī)模推廣,流式多媒體服務(wù)逐步發(fā)展成為最重要的移動(dòng)增值業(yè)務(wù)。但是無(wú)線鏈路的時(shí)變特性和移動(dòng)終端的功能限制,使流媒體業(yè)務(wù)質(zhì)量遭遇了極大的挑戰(zhàn)。研究表明,緩存數(shù)據(jù)下溢通常會(huì)引起畫面定格、用戶播放中斷和經(jīng)常性的數(shù)據(jù)緩沖,而上溢則會(huì)拋棄接收到超出緩存容量限制的數(shù)據(jù)包,從而引起丟包率的增加,破壞媒體畫面質(zhì)量,嚴(yán)重影響到用戶對(duì)業(yè)務(wù)感知質(zhì)量的滿意度。
如果流媒體服務(wù)器能根據(jù)當(dāng)前緩存數(shù)據(jù)的使用狀況及時(shí)調(diào)整流媒體的發(fā)送速率就可以實(shí)現(xiàn)對(duì)緩存數(shù)據(jù)的存貯控制,從而避免緩存數(shù)據(jù)溢出。本文闡述了一種基于RTCP反饋信息的流媒體速率控制算法,它可以有效地實(shí)現(xiàn)上述目的,實(shí)現(xiàn)流媒體業(yè)務(wù)的無(wú)中斷流暢播放,提高用戶的感知質(zhì)量。
1. RTCP反饋機(jī)制
3GPP PSS規(guī)范提供了一個(gè)完整的基于移動(dòng)網(wǎng)絡(luò)的點(diǎn)對(duì)點(diǎn)流媒體結(jié)構(gòu)框架,如圖1所示。
服務(wù)器實(shí)現(xiàn)流媒體內(nèi)容封包,并經(jīng)由公共網(wǎng)Internet和移動(dòng)核心網(wǎng)組成的全I(xiàn)P網(wǎng)絡(luò)發(fā)送給用戶終端。在核心網(wǎng)中,網(wǎng)絡(luò)緩存一般存在于SGSN或RNC 中,其作用是應(yīng)對(duì)無(wú)線鏈路的吞吐量變化。在媒體會(huì)話期間,RTP提供了端到端的實(shí)時(shí)傳輸功能,但不保證服務(wù)質(zhì)量,而RTCP提供關(guān)于當(dāng)前網(wǎng)絡(luò)狀況和數(shù)據(jù)接收質(zhì)量的反饋。服務(wù)器根據(jù)這些信息可以實(shí)現(xiàn)針對(duì)網(wǎng)絡(luò)狀態(tài)變化的數(shù)據(jù)傳輸控制。在這種反饋機(jī)制中,客戶端產(chǎn)生RTCP RR(RTCP Receiver Report,RTCP接收方報(bào)告),服務(wù)器產(chǎn)生RTCP SR(RTCP Sender Report,RTCP發(fā)送方報(bào)告)。它們分別提供了丟包率、間隔抖動(dòng)、最大接收包序號(hào)和最大發(fā)送包序號(hào)等信息。3GPP PSS規(guī)范中還定義了NADU(Next Application Data Unit,下一個(gè)應(yīng)用數(shù)據(jù)單元)反饋包,用以描述終端能力,并提供客戶端緩存狀態(tài)的信息。NADU中3個(gè)主要部分分別為:
播放延時(shí)(Play-out Delay,PD),它是下一個(gè)應(yīng)用數(shù)據(jù)單元的預(yù)定播放時(shí)間和生成NADU包的時(shí)間差。
下一個(gè)包序號(hào)(Next Sequence Numher,NSN),它是緩存中下一個(gè)即將被解碼的數(shù)據(jù)包序號(hào)。
可利用的緩存空間(Free Buffer Space,F(xiàn)BS),它反映了當(dāng)前緩存可用空間的大小。
基于RTCP的反饋過(guò)程,如圖2所示。當(dāng)服務(wù)器與客戶端完成會(huì)話建立之后,服務(wù)器便啟動(dòng)流媒體傳輸過(guò)程,RTP協(xié)議負(fù)責(zé)實(shí)現(xiàn)媒體數(shù)據(jù)從服務(wù)器到客戶端的傳輸。客戶端將統(tǒng)計(jì)的丟包率、最大接收包序號(hào)(HRSN)、播放延遲、可用的緩存空間和即將送入解碼器的包序號(hào)(NSN)分別放入RTCP SR和NADU中對(duì)應(yīng)的參數(shù)域,構(gòu)成RTCP混合包。RTCP混合包周期性地發(fā)送給服務(wù)器,用以估計(jì)網(wǎng)絡(luò)狀態(tài)以及客戶端緩存空間的占用狀態(tài)。服務(wù)器還可以利用發(fā)送包序列號(hào)的統(tǒng)計(jì)值與RTCP RR中的HRSN對(duì)SGSN或RNC上的緩存狀態(tài)做出判斷,調(diào)整數(shù)據(jù)包的發(fā)送速率,實(shí)現(xiàn)發(fā)送速率控制。
評(píng)論