蔡秉江
(中鐵第四勘察設(shè)計院集團(tuán)有限公司,湖北 武漢 430063)
隨著移動互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,截至2020 年,全球移動視頻流業(yè)務(wù)數(shù)據(jù)占據(jù)了全球移動數(shù)據(jù)的78%以上,在人們的生活、娛樂、安防領(lǐng)域扮演著越來越重要的角色[1]。為了滿足爆炸式增長的通信量需求,網(wǎng)絡(luò)提供商推出了LTE 蜂窩網(wǎng)服務(wù),其能提供300 Mbit/s 的峰值下行速率,然而在用戶擁塞的情況下視頻播放QoE 體驗仍然不是很令人滿意。有調(diào)研結(jié)果顯示,在LTE 網(wǎng)絡(luò)擁塞的情況下,移動視頻播放的平均卡頓時間長達(dá)7.5~12.3 s/min[2]。
上述兩種現(xiàn)象是矛盾的:視頻質(zhì)量的提升遠(yuǎn)不及帶寬水平的提升,說明視頻流應(yīng)用未充分利用LTE 帶寬,即帶寬低估;視頻播放卡頓則是帶寬高估造成的。其根本原因在于:視頻流應(yīng)用無法準(zhǔn)確估計當(dāng)前可用網(wǎng)絡(luò)帶寬和應(yīng)對未來帶寬的波動,這個問題在端到端時延較大的移動通信網(wǎng)絡(luò)中尤為顯著。
學(xué)術(shù)界及工業(yè)界對基于移動互聯(lián)網(wǎng)下的流媒體自適應(yīng)技術(shù)開展了大量研究工作,參考文獻(xiàn)[3]針對HTTP 流媒體業(yè)務(wù)提出了基于緩沖區(qū)等級自適應(yīng)的碼率切換算法,但對緩沖區(qū)等級的判定未作討論;參考文獻(xiàn)[4]針對具有不同流量特征業(yè)務(wù)的服務(wù)質(zhì)量需求,根據(jù)用戶緩沖區(qū)以及基站硬件資源的使用情況,通過縮減基站使用帶寬以降低系統(tǒng)通信能耗;參考文獻(xiàn)[5]結(jié)合不同視頻類型設(shè)計了相應(yīng)的用戶體驗質(zhì)量效用函數(shù),使用強化學(xué)習(xí)算法訓(xùn)練模型A3C,實現(xiàn)頻數(shù)類型相適應(yīng)的碼率自適應(yīng)算法。
為充分挖掘LTE 網(wǎng)絡(luò)應(yīng)用場景中流媒體業(yè)務(wù)物理層頻譜資源,本文提出了利用軟件定義無線電(software defined radio,SDR)技術(shù)手段將頻譜資源探測落實到LTE 資源塊顆粒度的感知上,結(jié)合自適應(yīng)流媒體技術(shù),讓用戶在LTE網(wǎng)絡(luò)環(huán)境下獲得流暢且盡可能高質(zhì)量的視頻觀看體驗。
本文基于 HTTP 的自適應(yīng)流媒體協(xié)議(dynamic adaptive streaming over HTTP,DASH)下的視頻服務(wù),用戶設(shè)備上的DASH 視頻客戶端根據(jù)網(wǎng)絡(luò)帶寬狀況,向視頻服務(wù)器請求合適碼率的視頻分片。通常來說,DASH 客戶端需要根據(jù)其下載的視頻分片的下載速率來估計當(dāng)前可用帶寬。然而,由于LTE 網(wǎng)絡(luò)中存在較大的端到端時延,使用下載速率作為可用帶寬的估計可能會極大地低估網(wǎng)絡(luò)帶寬,除非視頻分片足夠大以至于能完全占用端到端的帶寬。另一方面,DASH 根據(jù)歷史帶寬記錄預(yù)測未來的帶寬,LTE 網(wǎng)絡(luò)帶寬的波動性,可能造成帶寬高估進(jìn)而導(dǎo)致視頻播放卡頓。
為了解決上述挑戰(zhàn),本文對LTE 物理層的網(wǎng)絡(luò)帶寬利用情況進(jìn)行了深入探究。由于在指定的一段時間區(qū)間內(nèi)對于指定的LTE 基站,用于下行鏈路傳輸?shù)目捎脽o線資源總是已知的,網(wǎng)絡(luò)帶寬端到端的瓶頸在于接入鏈路[6],因此LTE 網(wǎng)絡(luò)的特征決定了解決該問題的關(guān)鍵在于下行鏈路的接入帶寬。
根據(jù)以上分析,本文提出了基于LTE 資源塊感知的自適應(yīng)無線流媒體系統(tǒng),該系統(tǒng)基于以客戶端為中心的視頻傳輸架構(gòu),其中視頻傳輸架構(gòu)兼 容 MPEG-DASH ( moving picture experts group-dynamic adaptive streaming over HTTP)標(biāo)準(zhǔn),該指定LTE 基站服務(wù)場景中的用戶設(shè)備能監(jiān)測小區(qū)內(nèi)的物理層資源利用情況并實時將其映射為潛在可用網(wǎng)絡(luò)帶寬。
系統(tǒng)提出的資源監(jiān)測機制利用LTE 用戶設(shè)備實現(xiàn)精確、有效的頻譜感知能力。通常獲取資源占用情況的直接方法是解碼基站的全部控制信號,然而這種方法效率低且可擴展性差,它要求每個用戶一直監(jiān)測控制信道并解碼發(fā)送給所有其他用戶的控制信息,而當(dāng)前LTE 標(biāo)準(zhǔn)下的糾錯機制無法保證用戶能正確解碼全部控制信息。本系統(tǒng)基于軟件定義無線電技術(shù),利用LTE 資源架構(gòu)在時域與頻域分布有序的特點來解決該問題,用戶通過檢測LTE 信號能量來判斷資源塊利用情況,無須解碼發(fā)送給其他用戶的下行鏈路控制信息。在獲得物理層剩余可用的LTE 資源塊比率后,系統(tǒng)按比例將下載速率映射為潛在可用帶寬,這個帶寬值將被應(yīng)用層用來進(jìn)行碼率自適應(yīng)。從DASH 用戶的角度來看,為了保證視頻在最短卡頓時間的同時最大程度地提高帶寬利用率,自適應(yīng)邏輯模塊需要準(zhǔn)確地預(yù)測將來的帶寬變化情況,以實現(xiàn)視頻質(zhì)量和播放卡頓間的折中。
為了讓用戶得到更加多元化的服務(wù)并保證用戶得到與自身當(dāng)前的網(wǎng)絡(luò)狀況和終端性能相適應(yīng)的視頻服務(wù),在HTTP 流的基礎(chǔ)上衍生出自適應(yīng)HTTP 流?,F(xiàn)有主流的自適應(yīng)流技術(shù),即蘋果公司的HLS(HTTP live streaming)、微軟公司的Smooth Streaming 和 Adobe 的 HDS(HTTP dynamic streaming),彼此互不兼容,無法實現(xiàn)技術(shù)互通。為了解決這一割裂的局面,MPEG 組織與3GPP聯(lián)合提出了MPEG-DASH 協(xié)議。
MPEG-DASH 技術(shù)框架包括流媒體服務(wù)器與DASH 客戶端,流媒體服務(wù)器負(fù)責(zé)存儲和管理DASH 媒體內(nèi)容并響應(yīng)客戶端的HTTP 媒體服務(wù)請求;DASH 客戶端負(fù)責(zé)以標(biāo)準(zhǔn)HTTP 與服務(wù)器交互,獲取和解析媒體表示描述(media presentation description,MPD)文件、構(gòu)建與管理媒體文件下載請求、解碼和輸出媒體內(nèi)容,同時也負(fù)責(zé)響應(yīng)事件,實現(xiàn)與流媒體服務(wù)相關(guān)的應(yīng)用。首先媒體內(nèi)容部署在流媒體服務(wù)器上,按內(nèi)容的存儲方式分為MPD 與媒體分片文件兩部分。當(dāng)用戶發(fā)起內(nèi)容播放請求時,客戶端首先向服務(wù)器請求、下載與解析MPD 文件,獲取節(jié)目碼率等信息,然后根據(jù)實際的網(wǎng)絡(luò)帶寬情況向服務(wù)器請求某種碼率的媒體分片文件。在視頻的播放過程中,客戶端會根據(jù)帶寬情況選擇不同碼率的媒體分片以實現(xiàn)自適應(yīng)切換[7]。
LTE 是由3GPP 組織制定的UMTS 技術(shù)標(biāo)準(zhǔn)的長期演進(jìn)。LTE 系統(tǒng)引入了OFDM(正交頻分復(fù)用)和MIMO(多輸入多輸出)等關(guān)鍵技術(shù),顯著增加了頻譜效率和數(shù)據(jù)傳輸速率。根據(jù)雙工方式不同,LTE 系統(tǒng)分為FDD-LTE(頻分復(fù)用)和TDD-LTE(時分復(fù)用),二者的主要技術(shù)區(qū)別在空口的物理層(幀結(jié)構(gòu)、時分設(shè)計、同步等)上。
LTE 下行信道被分為固定的時間幀,其時間長度為10 ms。每個時間幀被分為10 個子幀,分別為1 ms 且包括兩個時隙(0.5 ms)?;臼褂肙FDM 技術(shù)來傳輸子幀,其中子幀在時間和空間上將無線電資源分割成網(wǎng)格,每個網(wǎng)格(占據(jù)15 kHz ×66.7 μs )被稱為一個資源單元(RE)。基站的一個物理資源塊(PRB)包含多個資源單元。每個PRB 占據(jù)時域上半個子幀和頻域上12 個OFDM 子載波(180 kHz)[8]。
基于用戶的信道條件和通信量需求,基站動態(tài)地分配無重疊的PRB 集給不同用戶,資源分配策略是網(wǎng)絡(luò)提供商制定的。
軟件無線電這個無線通信的新概念是在1991 年由Joseph Mitola 正式提出的。它是一種可重構(gòu)或者可重新編程的無線電系統(tǒng),即可在其系統(tǒng)硬件不變更的情況下,在具體的應(yīng)用中通過軟件加載來完成需要的功能。這一思想的提出和發(fā)展是為了解決無線通信領(lǐng)域出現(xiàn)的多種標(biāo)準(zhǔn)間激烈競爭、多種體系并存的難題。
軟件無線電已有多種開源及商業(yè)的系統(tǒng)可用于通信系統(tǒng)開發(fā)和原型設(shè)計,例如開源軟件包GNU Radio(開源軟件無線電)和USRP(universal software radio peripheral,通用軟件無線電外設(shè))組成的基于PC 的軟件無線電系統(tǒng)平臺。在由MATLAB 和USRP 組成的軟件無線電平臺里,低速率基帶信號的處理由MATLAB 負(fù)責(zé),USRP 則作為無線電通信系統(tǒng)中射頻前端和數(shù)字中頻的部分,負(fù)責(zé)對高速率信號進(jìn)行處理。USRP N210 體系結(jié)構(gòu)如圖1 所示。USRP N210 體系結(jié)構(gòu)如圖1所示,USRP 的結(jié)構(gòu)體系中包括由負(fù)責(zé)高速率數(shù)字信號處理的 FPGA、負(fù)責(zé)數(shù)模信號之間相互轉(zhuǎn)換的DAC 與ADC 器件等組成的母板以及負(fù)責(zé)處理射頻信號的射頻子板。從圖1 可以看到,在實際的發(fā)送過程中,PC 將已經(jīng)處理好的低速率基帶信號通過控制芯片送到USRP 板上,其中FPGA 對信號進(jìn)行可變速率的梳狀內(nèi)插,把信號從基帶移至數(shù)字中頻,實現(xiàn)數(shù)字上變頻功能,然后經(jīng)過D/A器件的轉(zhuǎn)換,轉(zhuǎn)入模擬域,再由射頻子板進(jìn)行模擬域的上變頻,將信號從中頻移到射頻,最后經(jīng)實際環(huán)境把射頻信號發(fā)送出去。接收端完成的是一個基本相反的信號處理流程[9]。
基于LTE 資源塊感知的自適應(yīng)無線流媒體系統(tǒng)框架如圖2 所示,其主要包含兩個部分:DASH服務(wù)器和用戶終端。
圖1 USRP N210 體系結(jié)構(gòu)
圖2 基于LTE 資源塊感知的自適應(yīng)無線流媒體系統(tǒng)框架
· DASH 服務(wù)器:該服務(wù)器擁有很多DASH視頻數(shù)據(jù)集,數(shù)據(jù)集是由2 s 長的視頻片組成的。
· 用戶終端:包含3 個模塊,分別為LTE 資源塊監(jiān)測、速率映射機制以及碼率自適應(yīng)算法。
LTE 資源監(jiān)測模塊承擔(dān)監(jiān)測整個蜂窩小區(qū)內(nèi)物理層資源塊占用情況的任務(wù)。為了能夠部署在用戶終端設(shè)備上,該模塊必須具備高度可靠、可實時執(zhí)行的特點。因此,本文采用了基于能量的資源塊監(jiān)測方法。
4.2.1 資源塊監(jiān)測原理
能量檢測法是基于檢測信號強度的資源塊監(jiān)測法,可以是時域的能量檢測也可以是頻域的能量檢測:時域能量檢測是對時域信號進(jìn)行采樣取值,然后進(jìn)行平方運算;頻域能量檢測就是首先進(jìn)行FFT 變換,再對頻域信號取模值,然后通過平方運算觀察其能量情況。隨后將其與預(yù)先設(shè)定的閾值作對比,如果某個頻率點處的能量大于閾值,認(rèn)定該段頻率被占用,如果某個頻率點處的能量小于閾值,則認(rèn)定該段頻譜資源未被占用,進(jìn)而能夠很容易地得出當(dāng)前頻譜資源塊利用率[10]。
已有研究表明,能量檢測是較好的檢測方法,簡單易行,復(fù)雜度比較低,雖然不是性能最好的方法,但卻是較為理想和廣泛應(yīng)用的檢測方法。能量檢測的算法原理流程如圖3 所示。
判決器的閾值設(shè)置原理如下。
在AWGN 信道下,能量檢測的檢測統(tǒng)計量T和T的統(tǒng)計分布可以表示為式(1):
其中,x(n) 表示認(rèn)知用戶接收到的信號,N代表信號采樣點數(shù),表示自由度為N的中心卡方分布,非中心參數(shù)γ是次用戶的接收信噪比。H0表示頻譜資源塊未被主用戶占用,H1則表示主用戶占用該頻譜資源塊。由于采樣點數(shù)一般比較大,可以近似認(rèn)為檢測統(tǒng)計量T近似服從正態(tài)分布,從而能量檢測的虛警概率pf可以表示為:
其中,N為采樣點數(shù),λ為閾值,Q為能量。由式(2)可得出檢測概率λ的表達(dá)式為:
因此,一旦給定出所需的虛警概率,即可求得此時對應(yīng)的判決器閾值,進(jìn)而將能量檢測結(jié)果與該閾值進(jìn)行比較來求得頻譜資源塊的利用率。
圖3 能量檢測的算法原理流程
4.2.2 頻譜感知實現(xiàn)
(1)算法實現(xiàn)
步驟1信號的接收與基帶轉(zhuǎn)化。
本設(shè)計中所針對的信號為移動4G 的LTE 信號,信號所占用的頻段為1 880~1 900 MHz,帶寬為20 MHz。因此,使用USRP 采集該信號時中心頻率應(yīng)該設(shè)置為1 890 MHz,同時采樣頻率設(shè)置為20 MHz,以檢測到當(dāng)前位置整個蜂窩小區(qū)LTE資源塊利用情況。
信號接收:射頻信號被接收后,射頻子板對模擬信號進(jìn)行濾波與下變頻,將信號轉(zhuǎn)移到基帶,USRP 母板將獲得的模擬基帶信號進(jìn)行采樣,數(shù)字濾波,抽取得到上層需要的帶寬和采樣率的采樣值然后通過吉比特網(wǎng)線將信號傳遞給PC。
MATLAB 中的與USRP 硬件相關(guān)參數(shù)控制代碼如下:
步驟2對基帶信號的數(shù)據(jù)處理。
首先對信號的操作是快速傅立葉變換(FFT),將信號從時域變換到頻域然后取模并取實部,即可得到這段時間內(nèi)頻譜資源塊的利用情況,F(xiàn)FT方法參數(shù)的設(shè)定方法如下:假設(shè)采用點數(shù)為N,采樣頻率為Fs,則經(jīng)過FFT 之后,某一點n的頻率就應(yīng)該表示為Fn= (n? 1)×Fs/N,n= 1, …,N。其中該頻率下信號的幅度對應(yīng)的點就是該點的模值除以N/2 。該部分的代碼如下:
步驟 3能量檢測部分:m=N+sqrt(2×N)×qfuncinv(pf); %根據(jù)式(2)設(shè)定閾值。
步驟4求每一區(qū)間的能量平均值E。
步驟5將能量統(tǒng)計值與閾值進(jìn)行比較,當(dāng)能量統(tǒng)計值大于閾值時表示該頻譜資源塊被占用。
(2)頻譜感知過程及分析
根據(jù)原理和方法,在MATLAB 上編好了頻譜感知能量檢測算法實現(xiàn)的代碼,用其對在真實信道中傳輸?shù)男盘栠M(jìn)行了檢測,通過仿真得到的信號能量如圖4 所示。
圖4 信號能量
首先,求該信號頻譜的包絡(luò):將原數(shù)據(jù)分成等寬度的小段,每段取一個最高點并連接起來,進(jìn)而得到包絡(luò)檢波的波形。信號頻譜的包絡(luò)如圖5所示。
圖5 信號頻譜包絡(luò)
隨后,將包絡(luò)后波形上的各點與經(jīng)過計算所得的閾值進(jìn)行比較,即可求得當(dāng)前LTE 資源塊的利用率。
在獲得當(dāng)前蜂窩小區(qū)的LTE 資源塊(PRB)的利用率后,可以據(jù)此將下載速率映射為當(dāng)前可用帶寬,避免將下載速率視為潛在可用帶寬可能造成的帶寬低估問題。
做此映射的前提是蜂窩網(wǎng)絡(luò)中某用戶的PRB 利用率隨著其下載速率的增長而成比例地線性增長,直至竭盡潛在可用帶寬。該假設(shè)可由以下兩個事實支撐:(1)端到端網(wǎng)絡(luò)帶寬的瓶頸在于LTE 接入鏈路,參考文獻(xiàn)[11]證明了這一點;(2)接入鏈路的容量是由比特率和整個小區(qū)的PRB 利用率所共同決定的,然而基站已經(jīng)進(jìn)行了碼率適配來實現(xiàn)鏈路比特率的最大化,那么小區(qū)中的額外可用帶寬僅由剩余可用的PRB 來決定。
基于上述條件,設(shè)計了如下映射原則:假設(shè)當(dāng)前蜂窩小區(qū)內(nèi)的PRB 占用率為u,并且用戶的下載速率(某個視頻分片的下載速率)為R,在不高估當(dāng)前帶寬的前提下,可以支持用戶的R/u下載速率。從以下3 種情況分析此原則的合理性。物理層感知的速率映射如圖6 所示。
(1)蜂窩小區(qū)內(nèi)只有DASH 用戶(沒有使用其他業(yè)務(wù)的用戶)
首先,假設(shè)基站只給一個用戶服務(wù),即該用戶可以使用所有未被占用的PRB。假設(shè)在當(dāng)前PRB 使用率為u的情況下,DASH 用戶的下載速率為R,那么當(dāng)所有資源塊都分配給該用戶時,其可以達(dá)到的下載速率即B=R/u。下面考慮一種更復(fù)雜的情況,當(dāng)前蜂窩小區(qū)內(nèi)有多個DASH用戶,都將探測到相同的小區(qū)范圍的PRB 占用率u。假設(shè)用戶i被分配了所有PRB 中比例為iu的PRB,該用戶將使用1/u進(jìn)行映射,可以看到即便小區(qū)內(nèi)所有用戶都進(jìn)行該映射,所得到總的PRB 占用率也不會超過 100% :可見,本文所提的映射方法在沒有高估(過分利用)帶寬的情況下,可以在保證小區(qū)通信鏈路穩(wěn)定的前提下提高所有用戶的視頻碼率,圖6(a)可以說明此情形。
圖6 物理層感知的速率映射
(2)DASH 用戶和其他業(yè)務(wù)用戶共同存在的情況
這種情況下,對于DASH 業(yè)務(wù)而言,小區(qū)范圍內(nèi)的PRB 占用率是持續(xù)高于帶寬占用率的(有些PRB 被分配給了其他非DASH 業(yè)務(wù)),即便如此DASH 仍然可以按設(shè)定來映射下載速率。如圖6(b)所示,假設(shè)某個DASH 用戶i,其被分配了比例為ui的PRB,進(jìn)行映射后,蜂窩小區(qū)范圍的PRB 占用率為雖然在這種情況下,一次映射后,蜂窩小區(qū)的總體PRB 占用率低于100%,但經(jīng)過多次映射,蜂窩小區(qū)的總體PRB 占用率將會迅速爬升至100%。另外,對于蜂窩小區(qū)內(nèi)進(jìn)行其他業(yè)務(wù)的用戶,如果他們的通信需求不增加,那么他們不會對小區(qū)內(nèi)的DASH 用戶造成影響,因為DASH 用戶進(jìn)行的映射僅僅是試圖利用那些未被利用的PRB。如果在蜂窩小區(qū)總體PRB占用率達(dá)到100%的情況下,其他業(yè)務(wù)用戶產(chǎn)生了更多的通信需求,LTE 基站會啟動其公平機制進(jìn)行資源仲裁。值得注意的是,這在無線通信中是一個普遍的問題,并非本文設(shè)計本身造成的缺陷。
(3)蜂窩小區(qū)PRB 全部占用下,新用戶加入的情況
在現(xiàn)有用戶已經(jīng)竭盡蜂窩小區(qū)內(nèi)所有PRB 的情況下,一個新用戶試圖加入網(wǎng)絡(luò)獲得服務(wù),此時,LTE 基站的公平機制將發(fā)揮作用,該新用戶將從沒有資源開始到漸漸獲得更多的PRB 資源。在基站將PRB 從原來的用戶分配給新用戶的過程中,蜂窩小區(qū)整體的PRB 占用率將一直保持100%。因此,在這種情況下,本文所提的映射機制將不再放大用戶處的下載速率,進(jìn)而不會造成帶寬高估。同時,由于DASH 用戶所得到的PRB數(shù)量減少了,其下載速率會相應(yīng)降低,DASH 客戶端的碼率自適應(yīng)算法則會相應(yīng)地選擇更低碼率版本的視頻。
綜上所述,本文提出的已知小區(qū)范圍PRB 利用率為的情況下,從下載速率到潛在可用帶寬的映射是合理而且具有可操作性的。所提出的映射機制可以幫助蜂窩小區(qū)內(nèi)的DASH 用戶迅速“竭盡”蜂窩小區(qū)內(nèi)的無線資源,從而更加高效地利用無線頻譜資源。此外,LTE 基站的調(diào)度機制也為用戶間的公平提供了保障,而本文所提方法作為一種用戶端的機制,其對基站的公平保障機制沒有任何影響。
通過速率映射機制,得到了目前LTE 網(wǎng)絡(luò)中潛在可用帶寬,據(jù)此,碼率自適應(yīng)算法將為DASH 用戶選擇最為合適的視頻碼率,進(jìn)而將未被利用的LTE 資源塊充分利用起來。在視頻客戶端緩存區(qū)完全飽滿之前,視頻客戶端都會持續(xù)請求后續(xù)的視頻分片并存入緩存區(qū)中,在每個分片下載進(jìn)行前,碼率自適應(yīng)算法都會得到本次下載應(yīng)選擇的分片碼率。考慮視頻播放過程中的卡頓會嚴(yán)重影響用戶體驗,且卡頓時間較長時會出現(xiàn)嚴(yán)重的用戶流失問題,本文設(shè)計的碼率自適應(yīng)算法除了基于可用帶寬進(jìn)行碼率選擇,還考慮當(dāng)前的緩存情況,以求在視頻播放的流暢和視頻質(zhì)量之間達(dá)到一種理想狀態(tài)。具體的碼率選擇過程如下。
if 當(dāng)前緩存<1/3 總緩存
找到低于當(dāng)前潛在可用帶寬的次最高的碼率版本,選擇其和上一分片所選擇的碼率中較小的那個碼率作為下一分片的碼率;
圖7 原型系統(tǒng)架構(gòu)
本文設(shè)計并實現(xiàn)的原型系統(tǒng)是一個跨層測試平臺,它主要包括3 部分,分別為物理層的LTE資源塊監(jiān)測、應(yīng)用層的速率映射機制和碼率自適應(yīng)算法。
物理層的LTE 資源塊監(jiān)測部分采用NI-USRP 2920 軟件無線電外設(shè)來實現(xiàn)實時的資源塊監(jiān)測功能,同時使用MATLAB 控制USRP,系統(tǒng)需要監(jiān)測的帶寬為20 MHz,其頻率范圍為1 880~1 900 MHz,所以設(shè)置USRP 的采樣率為20 MHz來監(jiān)測目標(biāo)帶寬的信號。而LTE 中每個時隙為0.5 ms,所以每次采集信號的時間為0.5 ms(即104個點)。經(jīng)過FFT 運算查看頻譜時,每個采樣點代表2 kHz 的帶寬是否被占用。最后利用頻譜能量與判決閾值對比,統(tǒng)計出頻率占用率,并將該參數(shù)存進(jìn)文本文件中,供系統(tǒng)中速率映射與碼率自適應(yīng)模塊使用。
應(yīng)用層的速率映射機制及視頻碼率自適應(yīng)算法均由PC 上的DASH 視頻客戶端完成。本文所實現(xiàn)的原型系統(tǒng)基于開源多媒體框架GPAC 項目[12]完成,本文利用第4 節(jié)提出的速率映射機制和碼率自適應(yīng)算法代替了其對DASH 流媒體支持中的原生算法來進(jìn)行視頻碼率選擇,原型系統(tǒng)架構(gòu)如圖7 所示。其中,鏈路傳輸時延設(shè)置為5 ms,預(yù)先為每個用戶設(shè)定的目標(biāo)緩存長度bref設(shè)置為0.5 s,自適應(yīng)碼率選擇模塊調(diào)整碼率請求設(shè)置為http_request=r_q/r_u。DASH 客戶端一次請求一個視頻切片,每接收一個TCP 段,便通過VLC 播放器讀取并解析。在GPAC 項目的基礎(chǔ)上,本文添加了軟件無線電外部設(shè)備對當(dāng)前LTE 資源塊使用情況進(jìn)行了準(zhǔn)確的監(jiān)測與分析,進(jìn)一步指導(dǎo)GPAC 速率映射更加結(jié)合實際傳輸條件。
測試所使用的DASH流媒體源來自知名CDN服務(wù)提供商Akamai,有線網(wǎng)絡(luò)中的測試速率表明所選的測試視頻流在有線網(wǎng)絡(luò)部分不存在帶寬瓶頸,這樣可以保證后續(xù)測試中的帶寬瓶頸僅存在于無線接入網(wǎng)絡(luò)部分。
系統(tǒng)測試使用的視頻為一段長度為10 min 34 s的常用視頻測試集:動畫片《Big Buck Bunny》,在Akamai 的服務(wù)器上共部署了10 種不同的視頻碼率版本,具體碼率和分辨率見表1。
表1 10 種不同的視頻碼率版本的《Big Buck Bunny》
圖8 實驗數(shù)據(jù)
本文選擇了另外兩種碼率自適應(yīng)算法作為對照,一種是開源項目GPAC 的原生算法,其基本原理為將前面若干個視頻分片下載速率的算術(shù)平均值作為可用帶寬的估計;另一種則是利用上一分片的下載速率作為可用帶寬的估計。共進(jìn)行5 組重復(fù)實驗,每組對3 個算法分別進(jìn)行測試,測量指標(biāo)包括視頻平均比特率和視頻卡頓率兩個指標(biāo),其中視頻卡頓率的定義為:卡頓總時長/視頻總時長。實驗數(shù)據(jù)如圖8 所示,其中柱狀圖頂部的誤差棒指示5 組實驗的標(biāo)準(zhǔn)差。
在平均碼率的表現(xiàn)上,所提方法相較于GPAC的原生方法提升了41%,其原因是:使用歷史下載速率的算術(shù)平均作為未來帶寬的預(yù)測顯然很容易造成帶寬低估,而所提方法中通過資源塊利用率來對下載速率進(jìn)行映射的方式可以得到近乎真實的潛在可用帶寬,使用該值來指導(dǎo)碼率選擇,可以更加有效地利用網(wǎng)絡(luò)帶寬,提升視頻的平均碼率;另外,相較于直接使用上一視頻分片的下載速率作為可用帶寬估計的方法較為激進(jìn),容錯率較低的方法,所提方法在視頻平均碼率的表現(xiàn)上也小幅提升9.8%。
在卡頓率的表現(xiàn)上,可以看出基于上一視頻分片下載速率來做帶寬估計和預(yù)測的方法不能較好應(yīng)對LTE 網(wǎng)絡(luò)帶寬波動的問題,而造成了較長時間的卡頓(所提方法降低了52.2%的卡頓率),極大降低了用戶體驗;GPAC 項目使用的算術(shù)平均的方法可以降低出現(xiàn)視頻卡頓的可能性,但其策略的本質(zhì)是被動地犧牲碼率來換取卡頓可能性的降低,但所提方法的卡頓率比其低5.9%。所提系統(tǒng)結(jié)合緩存狀態(tài)來自適應(yīng)選擇碼率版本的策略,在緩存較多時激進(jìn),緩存位置較低時保守,很好地發(fā)揮了緩存區(qū)在抵抗無線網(wǎng)絡(luò)帶寬波動中的作用。從實際效果看,所提的系統(tǒng)在保證了極低的卡頓率的前提下(平均卡頓率為1.3%),獲得了三者中最高的視頻平均碼率,明顯提升了用戶視頻觀看體驗。
爆炸式增長的視頻流占據(jù)了當(dāng)前網(wǎng)絡(luò)通信量的主體。然而,即使在LTE 高帶寬的條件下,現(xiàn)有的自適應(yīng)流媒體協(xié)議仍然不能滿足用戶對視頻QoE 的需求。為了解決這個問題,本文提出了一種基于LTE 資源塊感知的自適應(yīng)無線流媒體系統(tǒng),其利用LTE 物理層信息(頻譜資源塊利用率)來改善視頻碼率自適應(yīng)的效果,實現(xiàn)了視頻質(zhì)量與播放卡頓之間的折中。本文選擇另外兩種碼率自適應(yīng)算法(開源項目GPAC 的原生算法和利用上一分片的下載速率作為可用帶寬的估計的算法)與所提的碼率自適應(yīng)算法相比較,并在搭建的原型系統(tǒng)上進(jìn)行實時測試。測試結(jié)果表明:在平均碼率上,所提的方法相較于GPAC 的原生方法大幅提升了41%,相較于直接使用上一視頻分片的下載速率作為可用帶寬估計的方法提升了9.8%;在卡頓率上,相較于GPAC 的原生方法降低了5.9%,相較于直接使用上一視頻分片的下載速率作為可用帶寬估計的方法降低了52.2%。
未來幾年,5G 移動通信網(wǎng)絡(luò)將在國內(nèi)實現(xiàn)大面積覆蓋,作為5G 移動通信核心技術(shù)之一的移動邊緣計算(mobile edge computing,MEC)技術(shù)為自適應(yīng)無線流媒體應(yīng)用提供了更好的基礎(chǔ)條件。MEC 在移動網(wǎng)邊緣可提供計算、存儲及信息開放的服務(wù),為用戶提供了高性能、高分布的后臺服務(wù)器,其中MEC 提供的信息開放服務(wù)更是能實時獲取用戶無線網(wǎng)絡(luò)狀態(tài)信息,當(dāng)用戶請求流媒體業(yè)務(wù)時,MEC 硬件平臺將根據(jù)用戶和基站之間的無線網(wǎng)絡(luò)狀態(tài)條件,實時動態(tài)地調(diào)整用戶的視頻數(shù)據(jù)請求,讓獲取的視頻內(nèi)容與用戶當(dāng)前所處的網(wǎng)絡(luò)環(huán)境相匹配。隨著5G 時代運營商與內(nèi)容提供商的深入合作,無線流媒體應(yīng)用給人們帶來的體驗值得期待。