一種無(wú)線局域網(wǎng)中保障視頻流業(yè)務(wù)QoE的兩級(jí)資源分配方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其是一種兩級(jí)資源分配方法。
【背景技術(shù)】
[0002] 隨著智能手機(jī)、平板電腦等便攜設(shè)備的發(fā)展和普及,人們?cè)絹碓较M褂帽銛y設(shè) 備通過無(wú)線局域網(wǎng)WLAN(WirelessLocalAreaNetwork)訪問視頻網(wǎng)站下載并觀看視頻流 業(yè)務(wù)。目前,基于超文本傳輸協(xié)議HTTP(HyperTextTransferProtocol)的視頻流技術(shù)已 經(jīng)成為主流視頻網(wǎng)站采用的主要視頻技術(shù),基于HTTP視頻流技術(shù),用戶只需要下載部分視 頻數(shù)據(jù)到緩沖區(qū),即可以實(shí)現(xiàn)視頻流業(yè)務(wù)的邊下載邊播放。用戶體驗(yàn)質(zhì)量Q〇E(Qualityof Experience)被定義為用戶對(duì)于某個(gè)應(yīng)用或服務(wù)的喜悅或厭煩的程度,是決定視頻業(yè)務(wù)成 功與否的重要因素。對(duì)于HTTP視頻流業(yè)務(wù)來說,視頻播放過程中的播放停頓事件是影響 Q〇E的最關(guān)鍵因素,一旦播放器緩沖區(qū)的視頻數(shù)據(jù)被播放器讀空,播放停頓事件就會(huì)發(fā)生。 在WLAN中,由于存在多用戶競(jìng)爭(zhēng)等問題,HTTP視頻流業(yè)務(wù)的QoE受到了嚴(yán)重的影響。
[0003] 目前在WLAN中保障HTTP視頻流業(yè)務(wù)QoE的方法主要是自適應(yīng)碼率調(diào)整機(jī)制,其 基本思想為:在視頻服務(wù)器上,每個(gè)視頻文件被分割為若干個(gè)視頻片,每個(gè)視頻片被編碼為 多個(gè)不同碼率的目標(biāo)文件。WLAN中的視頻用戶實(shí)時(shí)地檢查自己獲得的網(wǎng)絡(luò)帶寬,并根據(jù)網(wǎng) 絡(luò)帶寬動(dòng)態(tài)地選擇相應(yīng)視頻碼率的視頻編碼文件片進(jìn)行下載。該【背景技術(shù)】是一種對(duì)網(wǎng)絡(luò)被 動(dòng)適應(yīng)的應(yīng)用層調(diào)整機(jī)制,然而,在大用戶數(shù)的WLAN中,由于各視頻用戶的總下載速率受 到WLAN中接入點(diǎn)AP(AccessPoint)的下行吞吐量的限制,而AP的下行吞吐量受到上行背 景業(yè)務(wù)用戶的影響,每個(gè)視頻用戶獲得的下載速率可能會(huì)小于視頻編碼文件片的最低視頻 碼率,進(jìn)而導(dǎo)致下載的視頻文件的速率無(wú)法滿足視頻播放速率的需求,并導(dǎo)致播放停頓事 件并嚴(yán)重的影響視頻流業(yè)務(wù)的QoE。
[0004] 因此,本發(fā)明提出了一種基于兩級(jí)資源分配的QoE保障算法,該方法通過動(dòng)態(tài)調(diào) 整AP和上行背景業(yè)務(wù)用戶之間的資源分配以及視頻用戶之間的資源分配,來保障視頻流 業(yè)務(wù)的QoE。
【發(fā)明內(nèi)容】
[0005] 為了克服現(xiàn)有技術(shù)的不足,本發(fā)明通過兩級(jí)資源分配算法在WLAN大用戶場(chǎng)景下 保障視頻流業(yè)務(wù)的QoE。
[0006] 本發(fā)明方案的兩級(jí)資源分配算法具體是指:第一級(jí)資源分配算法,即通過調(diào)整AP 和背景業(yè)務(wù)用戶的最小競(jìng)爭(zhēng)窗實(shí)現(xiàn)在AP和背景業(yè)務(wù)用戶之間的資源分配;第二級(jí)資源分 配算法,即通過對(duì)視頻用戶進(jìn)行優(yōu)先級(jí)區(qū)分實(shí)現(xiàn)視頻用戶之間的資源分配。通過兩級(jí)資源 分配算法,可以避免在視頻用戶觀看視頻過程中播放停頓事件的發(fā)生,進(jìn)而保障視頻流業(yè) 務(wù)的QoE。
[0007] 在本發(fā)明中,視頻流業(yè)務(wù)的QoE使用播放流暢度參數(shù)進(jìn)行評(píng)估,播放流暢度定義 為:視頻流業(yè)務(wù)的有效播放時(shí)間與視頻流業(yè)務(wù)的全部觀看時(shí)間之比,其中視頻流業(yè)務(wù)的全 部觀看時(shí)間包括初始緩沖時(shí)間,視頻有效播放時(shí)間以及播放停頓時(shí)間。
[0008] 本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
[0009] 步驟1 :視頻用戶通過訪問視頻網(wǎng)站下載媒體演示描述MPD(MediaPresentation Description)文件,從其中提取待觀看視頻文件的平均碼率參數(shù),并將該參數(shù)通過WLAN中 的管理幀,將ADDTS(Addtrafficstream)幀發(fā)送給接入點(diǎn)AP(AccessPoint),轉(zhuǎn)入步驟 2 ;
[0010] 步驟2 :AP接收每個(gè)視頻用戶通過管理幀發(fā)送的視頻文件平均碼率參數(shù),將其存 入鏈表,并為每個(gè)視頻用戶建立一個(gè)視頻數(shù)據(jù)緩沖隊(duì)列,然后開始從視頻服務(wù)器中下載的 視頻數(shù)據(jù)到相應(yīng)的視頻數(shù)據(jù)緩沖隊(duì)列,轉(zhuǎn)入步驟3 ;
[0011] 步驟3 :-旦AP檢測(cè)到視頻數(shù)據(jù)緩沖隊(duì)列中存在視頻數(shù)據(jù),則AP啟動(dòng)信道競(jìng)爭(zhēng)并 從[0,CW]中隨機(jī)選擇一個(gè)整數(shù)作為退避計(jì)數(shù)值,其中CW(ContentionWindow)為AP的最 小競(jìng)爭(zhēng)窗,轉(zhuǎn)入步驟4 ;
[0012] 步驟4 :AP根據(jù)IEEE802. 11協(xié)議規(guī)定的退避機(jī)制開始執(zhí)行退避過程,退避結(jié)束后, 轉(zhuǎn)入步驟5 ;
[0013] 步驟5 :AP根據(jù)視頻用戶的緩沖區(qū)狀態(tài)信息、播放器狀態(tài)信息和平均碼率信息計(jì) 算各視頻用戶的期望下載速率,其中緩沖區(qū)狀態(tài)信息即緩沖區(qū)視頻數(shù)據(jù)的可播放時(shí)間,播 放器狀態(tài)信息即播放器是處于播放狀態(tài)還是暫停狀態(tài),如果視頻用戶未處于播放狀態(tài),則 其期望下載速率等于平均碼率,否則,為了避免播放緩沖區(qū)變空而出現(xiàn)播放停頓事件,APS 置視頻用戶的期望下載速率為視頻流的平均碼率* (緩沖區(qū)狀態(tài)/緩沖區(qū)目標(biāo)值),其中緩 沖區(qū)目標(biāo)值可根據(jù)網(wǎng)絡(luò)中的視頻用戶數(shù)動(dòng)態(tài)調(diào)整,也可以設(shè)置為定值,一般設(shè)置為播放器 緩沖區(qū)最大緩沖視頻時(shí)間的1/2,之后轉(zhuǎn)入步驟6 ;
[0014] 步驟6 :AP執(zhí)行第二級(jí)資源分配算法,即首先計(jì)算每個(gè)視頻用戶的優(yōu)先級(jí)P,, 疔/妒,1彡i彡n,其中ai是一個(gè)大于〇的可調(diào)節(jié)參數(shù),該參數(shù)可以根據(jù)網(wǎng)絡(luò)中的 視頻用戶數(shù)動(dòng)態(tài)調(diào)整,也可以設(shè)置為定值,辦為視頻用戶已經(jīng)獲得的視頻數(shù)據(jù)量與其所期 望下載的視頻數(shù)據(jù)量之差,rik為視頻用戶的平均下載速率,然后提取優(yōu)先級(jí)最高的視頻用 戶所對(duì)應(yīng)的視頻緩沖隊(duì)列的分組作為待發(fā)數(shù)據(jù)分組,如果有兩個(gè)或兩個(gè)以上的視頻用戶的 優(yōu)先級(jí)均為最高值,則在其中隨機(jī)選取一個(gè)視頻用戶,轉(zhuǎn)入步驟7 ;
[0015] 步驟7 :AP執(zhí)行第一級(jí)資源分配算法,即AP將所有視頻用戶的期望下載速率之和 作為AP下行吞吐量需求,并根據(jù)該下行吞吐量需求以及網(wǎng)絡(luò)中的背景業(yè)務(wù)用戶數(shù)計(jì)算出 相應(yīng)的AP的最小競(jìng)爭(zhēng)窗%丨和背景業(yè)務(wù)用戶的最小競(jìng)爭(zhēng)窗^:;
[0018] 其中4和敗分別為AP和上行背景業(yè)務(wù)用戶的沖突概率,%和蟓分別為AP和
[0016]
[0017] 上行背景業(yè)務(wù)用戶的發(fā)送概率,m_ap和m_sta分別為AP和背景業(yè)務(wù)用戶的退避階數(shù),得到 相應(yīng)的%和后轉(zhuǎn)入步驟8 ;
[0019] 步驟8 :AP將背景業(yè)務(wù)用戶的最小競(jìng)爭(zhēng)窗放入到待發(fā)的視頻分組的幀頭中,并發(fā) 送給相對(duì)應(yīng)的視頻用戶,轉(zhuǎn)入步驟9 ;
[0020] 步驟9 :視頻用戶和背景業(yè)務(wù)用戶監(jiān)聽到視頻分組后進(jìn)行如下處理:
[0021] (1)視頻用戶檢查視頻分組目的地址,如果目的地址不是自己則直接丟棄該視頻 分組,否則將視頻分組放入視頻播放區(qū)的緩沖區(qū)內(nèi),然后讀取當(dāng)前播放器緩沖區(qū)狀態(tài)以及 播放器狀態(tài)信息,并通過MAC層的ACK分組將這兩個(gè)狀態(tài)信息反饋給AP;
[0022] (2)背景業(yè)務(wù)用戶從視頻分組幀頭中提取背景業(yè)務(wù)用戶最小競(jìng)爭(zhēng)窗參數(shù)信息,并 更新自己的最小競(jìng)爭(zhēng)窗參數(shù)后,轉(zhuǎn)入步驟10 ;
[0023] 步驟10 :AP接收到視頻節(jié)點(diǎn)的ACK后,提取該視頻用戶的緩沖區(qū)狀態(tài)信息以及播 放器狀態(tài)信息,并連同接收到該信息的時(shí)刻一起存儲(chǔ)到鏈表,如果有至少一個(gè)視頻數(shù)據(jù)緩 沖隊(duì)列存在待發(fā)視頻分組,則AP根據(jù)步驟7計(jì)算出的新的AP最小競(jìng)爭(zhēng)窗選擇一個(gè)新的退 避計(jì)數(shù)值,并轉(zhuǎn)入步驟4,否則,AP進(jìn)入空閑狀態(tài)。
[0024] 本發(fā)明的有益效果由于采用了第一級(jí)資源分配算法保障了AP獲得的下行吞吐量 可以滿足所有視頻用戶的下載速率要求,同時(shí)通過第二級(jí)資源分配算法保障了優(yōu)先級(jí)最高 的視頻用戶可以最快地得到視頻數(shù)據(jù),從而避免了WLAN中視頻用戶在觀看HTTP視頻流業(yè) 務(wù)過程中的播放停頓事件,保障了視頻流業(yè)務(wù)的Q〇E。
【附圖說明】
[0025] 圖1是本發(fā)明的網(wǎng)絡(luò)應(yīng)用場(chǎng)景。其中AP為接入點(diǎn)AP(AccessPoint)。
[0026] 圖2是本發(fā)明的MAC層數(shù)據(jù)分組的幀結(jié)構(gòu)示意圖。
[0027] 圖3是本發(fā)明的MAC層ACK分組的幀結(jié)構(gòu)示意圖。
[0028] 圖4是視頻用戶的QoE的平均值隨著上行背景業(yè)務(wù)用戶數(shù)變化的情況。
[0029] 圖5是視頻用戶的QoE的標(biāo)準(zhǔn)差隨著上行背景業(yè)務(wù)用戶數(shù)變化的情況。
【具體實(shí)施方式】
[0030] 下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說明。
[0031] 本發(fā)明主要是一種在AP上執(zhí)行的資源分配算法,下面結(jié)合實(shí)例對(duì)本發(fā)明的實(shí)現(xiàn) 進(jìn)行詳細(xì)的說明。
[0032] AP通過結(jié)構(gòu)體鏈表Video_info維護(hù)每個(gè)視頻用戶的相關(guān)信息,其中每個(gè)結(jié)構(gòu)體 的主要變量包括:
[0033] addr:該變量用于視頻用戶的地址,該地址全網(wǎng)唯一;
[0034] average_bitrate:該變量用于存儲(chǔ)該視頻用戶數(shù)據(jù)所下載視頻的平均碼率;
[0035] buffer_state:該變量用于存儲(chǔ)視頻用戶最近一次通過ACK幀反饋的緩沖區(qū)狀態(tài) 信息;
[0036] play_state:該變量用于存儲(chǔ)用戶最近一次通過ACK幀反饋的播放狀態(tài)信息;
[0037] buffer_time:該變量用于記錄視頻用戶最近一次反饋ACK幀的時(shí)間;
[0038] expected_do