【摘要】隨著移動通信技術(shù)的不斷發(fā)展,流媒體視頻在無線環(huán)境下的應(yīng)用得到普及。然而,移動網(wǎng)絡(luò)環(huán)境所存在的不穩(wěn)定性可能導(dǎo)致誤碼率高以及阻塞丟失嚴(yán)重的情況,從而嚴(yán)重影響用戶的觀看體驗(yàn)。因此,如何在現(xiàn)有移動網(wǎng)絡(luò)環(huán)境發(fā)生頻繁切換或網(wǎng)絡(luò)較不穩(wěn)定的情況下,仍使用戶獲得較好的流媒體視頻播放體驗(yàn),成了迫切需要解決的課題。本文研究提出了一種基于丟包率統(tǒng)計(jì)的無線環(huán)境下流媒體碼率動態(tài)適配的方法,能夠根據(jù)網(wǎng)絡(luò)環(huán)境條件為用戶重新選擇適合用戶的播放體驗(yàn)的視頻碼率,從而保證視頻的傳輸質(zhì)量和流暢度,優(yōu)化用戶的視頻體驗(yàn)。
【關(guān)鍵詞】移動網(wǎng)絡(luò)流媒體視頻碼率動態(tài)適配
近年來,移動通信技術(shù)不斷發(fā)展,隨著移動無線寬帶接入技術(shù)的引入,無線網(wǎng)絡(luò)的接入速度得到飛速提升。同時(shí),隨著手機(jī)終端的越來越智能化手機(jī)終端已經(jīng)從簡單的通信、聯(lián)絡(luò)工具,發(fā)展成為一個(gè)智能的多媒體平臺。流媒體視頻在移動網(wǎng)絡(luò)環(huán)境下的應(yīng)用逐漸被越來越多的用戶所認(rèn)識和接受。然而,由于移動網(wǎng)絡(luò)環(huán)境會受到信道的多徑衰落、傳輸遮擋以及移動切換(handoff)、延遲等因素的影響,容易出現(xiàn)帶寬波動大、誤碼率高以及阻塞丟失嚴(yán)重[1],一旦因傳輸問題造成丟包后,解碼端還原出來的視頻質(zhì)量往往會大打折扣。因此,如何在減少網(wǎng)絡(luò)環(huán)境變化對用戶產(chǎn)生的影響,保障用戶獲得良好的播放體驗(yàn),就成了急需解決的課題。
通過動態(tài)碼率適配技術(shù)可以有效地根據(jù)網(wǎng)絡(luò)環(huán)境條件的變化為用戶重新選擇適合用戶的播放體驗(yàn)的視頻碼率。動態(tài)碼率技術(shù)要求流媒體平臺的編碼系統(tǒng)和傳輸系統(tǒng)都能夠根據(jù)移動網(wǎng)絡(luò)環(huán)境的變化自動地進(jìn)行動態(tài)適配。編碼系統(tǒng)通過動態(tài)多碼率(MBR)的方式來適應(yīng)移動網(wǎng)絡(luò)環(huán)境變化,而傳輸系統(tǒng)則需通過反饋消息來調(diào)整服務(wù)器端發(fā)送的碼率。通過碼率動態(tài)適配的技術(shù),移動網(wǎng)絡(luò)環(huán)境的鏈路狀況、播放器緩沖區(qū)的剩余容量等信息能夠及時(shí)地反饋到流服務(wù)端。從而有效避免播放器緩沖區(qū)數(shù)據(jù)溢出,或是緩沖區(qū)的數(shù)據(jù)處于饑餓狀態(tài)。
一、流媒體業(yè)務(wù)概述
1.1移動流媒體視頻業(yè)務(wù)概述
移動流媒體視頻業(yè)務(wù)是通過移動網(wǎng)絡(luò)流媒體方式,為用戶提供以音視頻為主要形式的節(jié)目體驗(yàn),用戶可以通過手機(jī)終端采取邊下載邊收看的方式在線觀看音視頻節(jié)目,無需耗費(fèi)下載時(shí)間,更不占用手機(jī)存儲,它是網(wǎng)絡(luò)音視頻技術(shù)和移動通信技術(shù)結(jié)合的產(chǎn)物,是融合了很多網(wǎng)絡(luò)技術(shù)后產(chǎn)生的新技術(shù),涉及到流媒體數(shù)據(jù)的采集、壓縮、存儲、無線網(wǎng)絡(luò)通信以及移動終端等多個(gè)領(lǐng)域[2]。
1.2流媒體視頻業(yè)務(wù)的技術(shù)架構(gòu)
流媒體視頻業(yè)務(wù)平臺是面向用戶提供流媒體視頻業(yè)務(wù)的技術(shù)支撐服務(wù)平臺,提供業(yè)務(wù)接入、業(yè)務(wù)展現(xiàn)、業(yè)務(wù)邏輯、業(yè)務(wù)能力以及數(shù)據(jù)管理等全部業(yè)務(wù)功能的實(shí)現(xiàn),主要可以分為手機(jī)終端域和系統(tǒng)平臺兩大部分。
手機(jī)終端域主要負(fù)責(zé)承載客戶端軟件及WAP界面服務(wù),為用戶提供業(yè)務(wù)展現(xiàn)及頁面內(nèi)容,從而使手機(jī)終端與流媒體視頻業(yè)務(wù)平臺的業(yè)務(wù)交互等功能得以實(shí)現(xiàn)。
系統(tǒng)平臺主要負(fù)責(zé)業(yè)務(wù)應(yīng)用的實(shí)現(xiàn)、業(yè)務(wù)展現(xiàn)的實(shí)現(xiàn)、流媒體能力、業(yè)務(wù)運(yùn)營能力、核心管理和系統(tǒng)維護(hù)等功能。其中包含了業(yè)務(wù)展現(xiàn)域、流媒體能力域、業(yè)務(wù)運(yùn)營、核心管理等。
二、流媒體視頻碼率動態(tài)適配方案研究
2.1基于丟包率方案
基于丟包率方案的動態(tài)適配方式,是利用手機(jī)終端發(fā)送標(biāo)準(zhǔn)的RTCP RR包,來測量當(dāng)前網(wǎng)絡(luò)的吞吐量和丟包數(shù)目。流媒體服務(wù)器根據(jù)RTCP RR包的反饋,來判斷丟包率是否超出了預(yù)先設(shè)定的閥值,如丟包率未超出門限閥值,就維持原有碼率繼續(xù)進(jìn)行傳輸,如果丟包率超出了門限閾值,則進(jìn)行碼率切換,重新選擇合適的碼率發(fā)送給終端。
在移動流媒體業(yè)務(wù)中,流媒體服務(wù)器接收RTCP RR報(bào)告的間隔時(shí)間取決于RTCP包傳輸帶寬和RTCP包的平均包長等因素。一般應(yīng)取盡可能最高的報(bào)告速率,即取盡可能最小的RTCP報(bào)告包間隔。流媒體服務(wù)器會根據(jù)這種反饋進(jìn)行流媒體碼流速率的調(diào)整判斷,根據(jù)計(jì)算后的目標(biāo)發(fā)送速率,實(shí)現(xiàn)動態(tài)帶寬的可伸縮性。
2.2基于客戶端緩沖反饋方案
基于客戶端緩沖方案的動態(tài)碼率適配方案,是利用3GPP R6客戶端和服務(wù)器中支持的客戶端緩沖反饋機(jī)制。該機(jī)制中,客戶端播放器向流媒體服務(wù)器發(fā)送的RTCP RR消息中的NADU(Next Application Data Unit)字段包含了客戶端緩沖區(qū)可用大小等信息,從而是服務(wù)器可根據(jù)客戶端緩沖信息估算出帶寬情況,并選擇與之相匹配的直播、點(diǎn)播文件的碼率,進(jìn)行切換。
基于客戶端緩沖反饋方案對系統(tǒng)設(shè)備有一定的要求,客戶端播放器必須支持在RTCP Receive Report消息上報(bào)NADU字段;視頻編碼器須支持多路碼率輸出到一個(gè)直播SDP文件,轉(zhuǎn)碼器須支持多路碼率輸出到一個(gè)點(diǎn)播文件;此外,流服務(wù)器必須支持3GPP R6的RTCP NADU APP packet消息,可根據(jù)多碼率直播點(diǎn)播文件進(jìn)行碼率切換。
2.3基于鏈路估算方案
基于鏈路估算方案的動態(tài)碼率適配方案,是通過估算無線網(wǎng)絡(luò)的帶寬情況,來實(shí)現(xiàn)對流媒體視頻業(yè)務(wù)的發(fā)送碼率以及節(jié)目速率進(jìn)行動態(tài)調(diào)整。通信過程中,客戶端需要向服務(wù)器提供流傳輸質(zhì)量的度量反饋,其目的是使流媒體服務(wù)器用來測定用戶體驗(yàn)的(主觀)質(zhì)量(QoE)和改進(jìn)監(jiān)控服務(wù)器。當(dāng)采用基于無線鏈路帶寬估算的碼率動態(tài)適配方案時(shí),該量度參數(shù)即為當(dāng)前可測量的網(wǎng)絡(luò)吞吐量。
2.4現(xiàn)有方案優(yōu)劣勢對比
基于鏈路估算的方案在市場上幾乎沒有播放器支持,因此,目前主流的流服務(wù)以及終端播放器支持的動態(tài)碼率動態(tài)適配技術(shù)主要是基于丟包率統(tǒng)計(jì)方案和基于客戶端緩沖反饋方案。
根據(jù)丟包率統(tǒng)計(jì)的動態(tài)碼率技術(shù),其優(yōu)點(diǎn)在于對客戶端播放器要求低,缺點(diǎn)在于通過丟包率控制播放速率,服務(wù)器碼率切換具有滯后性,切換過程中將會出現(xiàn)馬賽克現(xiàn)象,影響到用戶體驗(yàn)。目前多數(shù)手機(jī)播放器都支持該方案,因此該方案的可實(shí)施性較好。
根據(jù)客戶端緩沖反饋機(jī)制的動態(tài)碼率技術(shù),其優(yōu)點(diǎn)在于可實(shí)時(shí)獲取客戶端buffer情況,服務(wù)器碼率切換相對及時(shí),可有效避免切換過程中馬賽克產(chǎn)生。缺點(diǎn)在于,要求手機(jī)播放器必須支持3GPP R6,在RTCP Receive Report消息上報(bào)NADU。由于目前市場上支持該功能的手機(jī)播放器較少,該方案的可實(shí)施性相對較差。
三、流媒體視頻碼率動態(tài)適配方案
結(jié)合現(xiàn)有流媒體視頻平臺及終端播放器對動態(tài)碼率技術(shù)的支持現(xiàn)狀,本文選擇對基于丟包率統(tǒng)計(jì)的方案研究并實(shí)現(xiàn)一套適用于當(dāng)前移動網(wǎng)環(huán)境的流媒體視頻碼率動態(tài)適配方案。
3.1碼率動態(tài)適配方案的系統(tǒng)架構(gòu)設(shè)計(jì)
針對碼率動態(tài)適配的需求分析,本文提出了融合首次接入視頻碼率選擇策略、丟包率預(yù)測算法、以及視頻碼率動態(tài)適配調(diào)整策略的流媒體視頻碼率動態(tài)適配方案。流媒體視頻碼率動態(tài)適配方案的系統(tǒng)框架如圖1所示。
3.2碼率動態(tài)適配方案相關(guān)技術(shù)
1.首次接入視頻碼率選擇策略:在用戶接入一始就為用戶播放適合其手機(jī)終端及所處網(wǎng)絡(luò)環(huán)境的碼率的視頻,達(dá)到減少切換次數(shù)的目的。用戶在選擇播放直播或者點(diǎn)播視頻節(jié)目時(shí),平臺會依據(jù)網(wǎng)絡(luò)狀況、終端處理能力,通過首次接入視頻碼率選擇策略,為用戶選擇選擇最合適的碼率等級進(jìn)行傳輸[3]。要實(shí)現(xiàn)首次接入視頻碼率選擇策略,首先需建立視頻碼率適配庫,對終端首次接入時(shí)應(yīng)選擇的視頻碼率參數(shù)及對應(yīng)值在適配庫中進(jìn)行詳細(xì)定義。其次,流媒體視頻平臺獲取終端首次接入時(shí)的網(wǎng)絡(luò)類型,接入終端的能力值,播放請求類型(點(diǎn)播或者直播),請求視頻的媒體格式類型,到適配庫中進(jìn)行匹配,定位到具體的碼率,然后根據(jù)該碼率生成RTSP點(diǎn)播或者是直播URL;最后將URL返回給終端,終端播放器根據(jù)該URL進(jìn)行視頻播放。
2.丟包率預(yù)測算法:在手機(jī)客戶端開始播放視頻后,流媒體視頻平臺會周期性的接收客戶端反饋的RTCP包,提取丟包率信息[3]。因?yàn)橐苿泳W(wǎng)絡(luò)流量通常是突變的,為盡量減少突發(fā)流量對動態(tài)適配切換的影響,須明確的區(qū)分出哪些是短暫的突發(fā)流量,而哪些是表示著網(wǎng)絡(luò)己經(jīng)發(fā)生了變化。因此當(dāng)前的丟包情況和歷史的丟包情況就應(yīng)該成為綜合預(yù)估下一時(shí)刻網(wǎng)絡(luò)狀況即丟包率的重要依據(jù),通過設(shè)計(jì)丟包率預(yù)測算法,可預(yù)測下一時(shí)刻流媒體視頻平臺端到客戶端的丟包率狀況。
3.視頻碼率動態(tài)適配調(diào)整策略:是在客戶端和服務(wù)端之間建立起了一個(gè)反饋通路,通過實(shí)時(shí)監(jiān)測丟包率來達(dá)到實(shí)時(shí)監(jiān)測網(wǎng)絡(luò)狀況的目的,根據(jù)現(xiàn)在和之前的丟包率情況,由服務(wù)端自動調(diào)整視頻碼率的大小,以適應(yīng)網(wǎng)絡(luò)的變化,從而可以有效的解決傳輸質(zhì)量和圖像質(zhì)量之間的矛盾。當(dāng)碼率的變化達(dá)到切換碼率閥值的時(shí)候,流媒體視頻平臺將動態(tài)進(jìn)行不同碼率等級之間的切換。視頻碼率動態(tài)適配調(diào)整策略是基于點(diǎn)播文件或者直播流的動態(tài)適配切換,即在用戶進(jìn)行播放前或者播放中,就在流媒體視頻平臺端按照不同的碼率壓縮同一視頻點(diǎn)播文件或者直播流[3]。
實(shí)現(xiàn)碼率調(diào)整的方法有動態(tài)適配實(shí)時(shí)編碼調(diào)整模式和視頻碼率動態(tài)適配調(diào)整模式,兩者的區(qū)別就在于實(shí)現(xiàn)視頻源碼率變化的方法不同。動態(tài)適配實(shí)時(shí)編碼就是依據(jù)期望碼率來實(shí)時(shí)的調(diào)整視頻源的編碼速率,也就是說,視頻發(fā)送時(shí)編碼和播放將同步進(jìn)行。視頻碼率動態(tài)適配調(diào)整是由編碼器、轉(zhuǎn)碼器對同一節(jié)目編出多路不同的碼率,當(dāng)發(fā)現(xiàn)期望碼率達(dá)到切換碼率區(qū)間時(shí),就終止當(dāng)前碼率的視頻播放,切換到合適碼率的視頻文件或視頻流進(jìn)行播放[3]。采用視頻碼率動態(tài)適配調(diào)整模式,較動態(tài)適配實(shí)時(shí)編碼模式而言,減輕了服務(wù)端的負(fù)擔(dān),提高了服務(wù)端支持的用戶并發(fā)訪問數(shù)量,適用于大規(guī)模商業(yè)化應(yīng)用的場景。因此本次研究將采用視頻碼率動態(tài)適配調(diào)整模式。
3.3碼率動態(tài)適配的系統(tǒng)流程
3.3.1碼率動態(tài)適配直播流程
碼率動態(tài)適配直播流程如下:
1.直播信號輸入到編碼器;2.編碼器將直播信號轉(zhuǎn)成多路流媒體,輸入到流媒體服務(wù)器的不同端口;3.終端用標(biāo)準(zhǔn)的RTSP協(xié)議向流媒體服務(wù)器請求直播播放;4.流媒體服務(wù)器解析直播文件,接收該直播頻道所有發(fā)送到流媒體服務(wù)器的流;5.流媒體服務(wù)器端根據(jù)終端首次接入平臺的網(wǎng)絡(luò)類型參數(shù),終端能力,請求的媒體格式,選擇合適的碼率推送到終端;6.終端接收流媒體,并定期發(fā)送RTCP RR報(bào)文給流媒體服務(wù)器,反饋其收包狀況;7.流媒體服務(wù)器解析RTCP RR報(bào)文,得到當(dāng)前的網(wǎng)絡(luò)丟包率;8.流媒體服務(wù)器進(jìn)行丟包率預(yù)測,根據(jù)期望丟包率對當(dāng)前碼率進(jìn)行碼率調(diào)整,得到下一時(shí)刻的期望碼率,選擇切換到適合新碼流或繼續(xù)沿用原碼率;9.重復(fù)6~8過程,直到終端請求停止播放;10.終端請求停止流媒體直播;11.流媒體服務(wù)器停止發(fā)流,并返回RTSP OK消息。
3.3.2碼率動態(tài)適配點(diǎn)播流程
1.準(zhǔn)備好源文件;2.離線編碼器將源文件編碼,生成具有多個(gè)碼率的3GP文件,新生成的3GP文件里面每種碼流一個(gè)單獨(dú)的Track,各碼流之間互不影響;3.終端用標(biāo)準(zhǔn)的RTSP協(xié)議向流媒體服務(wù)器請求點(diǎn)播播放;4.流媒體服務(wù)器解析多碼率的3gp文件,分析出各碼流的Track及對應(yīng)的碼率大小;5.流媒體服務(wù)器端根據(jù)終端首次接入平臺的網(wǎng)絡(luò)類型參數(shù),終端能力,請求的媒體格式,選擇合適的碼率推送到終端;6.終端接收流媒體,并定期發(fā)送RTCP RR報(bào)文給流媒體服務(wù)器,反饋其收包狀況;7.流媒體服務(wù)器解析RTCP報(bào)文,得到當(dāng)前的網(wǎng)絡(luò)丟包率;8.流媒體服務(wù)器進(jìn)行丟包率預(yù)測,得到下一時(shí)刻的期望丟包率,根據(jù)期望丟包率對當(dāng)前碼率進(jìn)行碼率調(diào)整,得到下一時(shí)刻的期望碼率,選擇切換到適合新碼流或繼續(xù)沿用原碼率;9.重復(fù)6~8過程,直到終端請求停止播放;10.終端請求停止流媒體點(diǎn)播;11.流媒體服務(wù)器停止發(fā)流,并返回RTSP OK消息。
四、總結(jié)與展望
本文首先分析了現(xiàn)有流媒體視頻業(yè)務(wù)的碼率技術(shù)及其在移動網(wǎng)絡(luò)上傳輸實(shí)時(shí)視頻數(shù)據(jù)時(shí)存在的問題,隨后對詳細(xì)調(diào)研現(xiàn)有的視頻碼率動態(tài)適配方案,并對其進(jìn)行對比分析,最后參考基于丟包率的視頻碼率動態(tài)適配方案的設(shè)計(jì)原理,提出一種適合流媒體視頻業(yè)務(wù)的視頻碼率動態(tài)適配方案,有助于在移動網(wǎng)絡(luò)環(huán)境變化時(shí)進(jìn)行碼率動態(tài)適配調(diào)整,保證視頻的傳輸質(zhì)量和流暢度。
隨著將來視頻編解碼設(shè)備的編碼容量擴(kuò)展以及編碼效率的提升,可考慮進(jìn)一步細(xì)化視頻碼率等級的劃分粒度,采用更多視頻碼率等級,這樣能更加精細(xì)的進(jìn)行碼率調(diào)整,進(jìn)一步改善用戶體驗(yàn),這就要求對本次設(shè)計(jì)的視頻碼率動態(tài)適配調(diào)整策略做出相應(yīng)的修改,包括動態(tài)修改碼率調(diào)整步長及參數(shù),增加上調(diào)及下調(diào)的調(diào)整策略以及引入更多的控制參數(shù)等方式,所以該策略未來還有較大的優(yōu)化提升空間。
參考文獻(xiàn)
[1]黃薇莘.移動流媒體系統(tǒng)關(guān)鍵技術(shù)及其平臺實(shí)現(xiàn).移動流媒體系統(tǒng)關(guān)鍵技術(shù)及其平臺實(shí)現(xiàn)碩士論文. 2007
[2]施文燦.移動流媒體動態(tài)碼率適配機(jī)制研究.中國通信學(xué)會無線及移動通信委員會、IP應(yīng)用與增強(qiáng)電信技術(shù)委員會會議論文. 2007年度聯(lián)合學(xué)術(shù)年會. 2008.4
[3]翁睿.基于GPRS網(wǎng)絡(luò)的動態(tài)適配碼率視頻傳輸. 2008.4
[4]周志波.在復(fù)雜環(huán)境下流媒體的可靠性傳輸. 2005.5
[5]吳偉.移動流媒體業(yè)務(wù)的技術(shù)與標(biāo)準(zhǔn). 2005.10
[6] Henning Schulzrinne, Stephen L.Casner,Ron Fredrick, Van Jacobson. RTP: A Transport Protocol for Real-Time Applications (RFC1889)[EB/OL]. http://www.faqs.Org/rfcs/rfc1889.html. 1996.1.
[7] Henning Schulzrinne, Anup Rao, Robert Lanphier. RTSP: Real Time Streaming Protocol (RFC2326) [EB/OL]. http://www.faqs.Org/rfcs/rfc2326. html. 1998.1.