陳仁康,李澤平+,林 川,楊華蔚,薛楊上,王忠德
(1.貴州大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,貴州 貴陽 550025; 2.貴州財經(jīng)大學(xué) 大數(shù)據(jù)應(yīng)用與經(jīng)濟學(xué)院,貴州 貴陽 550025)
在移動視頻服務(wù)中[1],基于HTTP的動態(tài)自適應(yīng)流媒體傳輸協(xié)議(dynamic adaptive streaming over HTTP,DASH)已成為流媒體傳輸?shù)膰H標準,許多流媒體碼率自適應(yīng)策略研究也在此基礎(chǔ)上開展,同時DASH也得到包括Netfix、Youtube在內(nèi)的行業(yè)領(lǐng)先企業(yè)的支持[2]。盡管目前的碼率自適應(yīng)策略一定程度上解決了流媒體播放過程中存在的視頻卡頓、初始延遲過長等問題,但由于流媒體視頻播放會消耗移動設(shè)備相當(dāng)多的資源,導(dǎo)致較高的電池電量消耗[3,4],為了實現(xiàn)更好的用戶體驗質(zhì)量(quality of experience,QoE),還需要考慮移動流媒體應(yīng)用中的電池電量消耗過快的問題。目前主流智能手機的電池容量都在3000 mhA以上[5],但仍然無法滿足用戶長時間使用流媒體服務(wù)的需求,否則電池電量會過快地消耗,縮短手機的續(xù)航時長,影響手機通訊功能的正常使用。如何平衡不同電量狀態(tài)下的視頻質(zhì)量和設(shè)備電量消耗,成為當(dāng)前移動流媒體領(lǐng)域的研究熱點。
目前,主流的碼率自適應(yīng)算法大致可分為兩類:①基于吞吐量的自適應(yīng)算法;②基于緩沖區(qū)的自適應(yīng)算法?;谕掏铝康淖赃m應(yīng)算法根據(jù)當(dāng)前估計的可用網(wǎng)絡(luò)吞吐量,去選擇盡可能高的碼率[6]。而基于緩沖區(qū)的自適應(yīng)算法,與基于吞吐量的自適應(yīng)算法不同,這類算法僅使用播放器緩沖區(qū)的使用情況作為反饋信號,并使緩沖區(qū)占用保持在所需的水平[7]。
針對移動流媒體服務(wù)中能耗過高的問題,在基于緩沖區(qū)的自適應(yīng)算法和基于吞吐量的自適應(yīng)算法的研究基礎(chǔ)上,研究人員提出了一些改進方法。
出于不是視頻所有部分都需要高幀率的基本思想,Park等[8]提出一個EVSO(environment-aware video streaming optimization)模型,模型基于H.264/AVC編碼器在視頻壓縮編碼過程中采用宏塊(macroblocks)計算視頻幀之間相似度的考慮,為視頻不同部分分配不同的幀率,實現(xiàn)了客戶端節(jié)能的效果,該方法會導(dǎo)致視頻中部分質(zhì)量的下降,同時還需要對DASH的媒體描述文件(media presentation description,MPD)進行擴展,以添加對電池電量狀態(tài)的支持。EVSO模型在移動流媒體視頻質(zhì)量和移動設(shè)備電量消耗之間取得了一定的平衡,實現(xiàn)了設(shè)備電池電量的節(jié)約,提高了用戶QoE,然而,它需要對原視頻進行重新的編碼,還需要對視頻編碼器進行修改,并擴展標準的MPD文件,而這在一定程度上,增加了方案實際部署時的成本和難度。
Kim等[9]提出一種基于減少客戶端重復(fù)幀刷新的電量節(jié)約算法。算法采用內(nèi)容率(content rate)來度量1 s內(nèi)有意義幀的變化數(shù)量,然后根據(jù)內(nèi)容率來預(yù)估最優(yōu)刷新速率,減少重復(fù)幀更新,從而達到電量節(jié)約的效果。但是該算法并沒有減少客戶端實際接收到的幀數(shù),即客戶端仍然需要消耗能量去接收播放過程中不需要的幀,所以該算法的節(jié)能效果并不好,同時,由于減少了視頻中部分片段的刷新幀率,一定程度降低了視頻質(zhì)量,影響了用戶QoE。
也有研究者,如Hu等[10],根據(jù)設(shè)備當(dāng)前的電量狀態(tài),提前緩沖用于播放的視頻,以便在不需要時關(guān)閉設(shè)備的無線網(wǎng)絡(luò)接口,從而達到電量節(jié)約的目的。但是這種方法存在的問題是,如果用戶中途退出播放,提前緩沖視頻則會造成電量和帶寬的浪費,使用較小的緩沖區(qū)可以避免這一問題,但同時,較小的緩沖區(qū)又會引入重新緩沖(即播放卡頓)的新問題。此外,由于移動設(shè)備所處網(wǎng)絡(luò)條件的不穩(wěn)定性以及用戶觀看視頻的不確定性(如提前退出、快進等),使得設(shè)備無線網(wǎng)絡(luò)接口的開啟時機較難確定,而在緩沖區(qū)耗盡時,如果未及時打開無線網(wǎng)絡(luò)接口緩沖新的視頻,則會造成重新緩沖事件,影響用戶QoE。
葛志輝等[11]提出一種基于剩余電量的用戶QoE模型(power state QoE model,PSQM),模型考慮了剩余電量、初始延遲、暫停事件以及切換事件對用戶QoE的影響。在提出的QoE模型的基礎(chǔ)上,提出了一種基于移動設(shè)備剩余電量和網(wǎng)絡(luò)環(huán)境的碼率控制策略(power-level bitrate control scheme,PBCS)。該策略的基本思想是根據(jù)當(dāng)前的網(wǎng)絡(luò)吞吐量以及設(shè)備剩余電量,選擇合適的碼率,即在網(wǎng)絡(luò)條件好和設(shè)備剩余電量充足時,選擇高碼率視頻下載播放;而在網(wǎng)絡(luò)條件差或者設(shè)備剩余電量不足時,選擇低碼率視頻進行下載播放。對比其它考慮設(shè)備電量的碼率自適應(yīng)算法,PBCS策略能夠比較方便地集成到客戶端,但是,PBCS策略僅根據(jù)當(dāng)前網(wǎng)絡(luò)吞吐量和設(shè)備剩余電量進行碼率決策,未考慮播放器緩沖區(qū)使用情況,容易造成碼率切換頻繁和視頻卡頓的問題,此外,PSQM模型定義時,也未考慮平均視頻質(zhì)量對用戶QoE的影響。
碼率自適應(yīng)的最終目標是改善用戶QoE,有關(guān)用戶QoE的研究已經(jīng)較為深入[12],而在流媒體服務(wù)中,不同研究者對于用戶QoE模型的定義可能是不同的,但一般來講,會考慮初始延遲、重新緩沖、碼率切換平滑度以及平均視頻質(zhì)量這幾個關(guān)鍵元素對用戶QoE的影響[13]。
在移動流媒體服務(wù)中,除了視頻質(zhì)量QoE外,還需要考慮設(shè)備的電量消耗對用戶QoE的影響。因此,在定義用戶QoE時,綜合設(shè)備電量狀態(tài)對用戶QoE的影響,提出了一種基于電量狀態(tài)的移動流媒體用戶QoE模型(battery status QoE model,BSQM)。模型包括視頻損傷Imedia和設(shè)備電量消耗損傷Ibattery兩部分。
視頻損傷Imedia由初始延遲、重新緩沖(即卡頓)、平均視頻質(zhì)量及碼率切換4部分組成。設(shè)Ω為所有可選碼率,則播放器可以在播放第n個視頻塊時,選擇碼率為Bn∈Ω的視頻進行播放。設(shè)dn(Bn) 為碼率為Bn的第n視頻塊的大小,則第n視頻塊的下載時間可以表示為dn(Bn)/Cn, 這里Cn表示下載第n個視頻塊時的下載速率。設(shè)q(Bn) 表示選擇碼率為Bn時候的視頻質(zhì)量。設(shè)總的視頻塊為N。將組成視頻質(zhì)量損傷Imedia各部分描述如下:
(1)初始延遲:即播放器的初始緩沖時長,通常,播放器會在初始階段緩沖一定長度(小于最大緩沖長度)的視頻后,才進行播放,避免在初始階段就出現(xiàn)重新緩沖事件。設(shè)播放器設(shè)置的初始緩沖時長為L,初始選擇的碼率為Binit,則初始延遲為
TID=(L*Binit)/Cinit
(1)
針對不同初始延遲對用戶QoE的影響進行測試,發(fā)現(xiàn)初始延遲與用戶QoE損傷基本呈線性關(guān)系,將初始延遲與用戶QoE的損傷的關(guān)系表示為
IID=α*TID
(2)
其中,α為線性相關(guān)系數(shù),取α=3.2。
(2)重新緩沖:對于每個視頻塊n來說,當(dāng)開始播放后,如果視頻塊的下載時間高于播放緩沖長度(比如Buffern),則會發(fā)生重新緩沖事件,總的重新緩沖次數(shù)為
(3)
其中
(4)
重新緩沖對用戶QoE的損傷除了和重新緩沖次數(shù)NRB有關(guān),還與重新緩沖時長DRB有關(guān),根據(jù)文獻[14]的研究,發(fā)現(xiàn)當(dāng)重新緩沖次數(shù)NRB固定時,用戶QoE損傷會隨著重新緩沖時長DRB單調(diào)增加;而當(dāng)重新緩沖時長DRB固定時,用戶QoE損傷則不會隨著重新緩沖次數(shù)NRB單調(diào)增加。同時,頻繁的重新緩沖造成較高用戶QoE的損傷?;谶@些發(fā)現(xiàn),經(jīng)測試,在不考慮視頻內(nèi)容類型(比如運動類、風(fēng)景類)的情況下,將重新緩沖與用戶QoE的損傷關(guān)系定義為
(5)
其中,系數(shù)a=3.35,b=3.98,c=2.50。
(3)平均視頻質(zhì)量:一般來講,選擇越高的碼率,則用戶獲得的視頻質(zhì)量就越高,而視頻質(zhì)量越高,則用戶QoE越好,反之,視頻質(zhì)量越低,則會對用戶QoE造成越大的損傷。平均視頻質(zhì)量與用戶QoE損傷關(guān)系如下
(6)
(4)碼率切換:在碼率自適應(yīng)的過程中,需要進行碼率切換,從一個視頻塊切換到另一個視頻塊時視頻質(zhì)量的變化大小,反映了碼率切換的平滑度,通常,頻繁或者較大幅度的碼率切換,都會對用戶QoE造成損傷,碼率切換與用戶QoE損傷關(guān)系為
(7)
因為用戶對于4個部分中哪個更重要有不同的偏好,用上述4個部分的加權(quán)求和來定義從視頻塊 1到N的總體視頻用戶QoE損傷Imedia
Imedia=βIID+δIRB+λIQ+μIS
(8)
式中:β、δ、λ、μ是分別和初始延遲、重新緩沖、平均視頻質(zhì)量以及碼率切換相關(guān)的非負權(quán)重系數(shù)。在用戶傾向于更低的初始延遲的情況下,則需要使用一個更大的β。一個大的δ,表明相對于其它因素,用戶更關(guān)心重新緩沖事件。在用戶傾向于更高視頻質(zhì)量時,使用一個更大的λ。一個相對較小的μ表明用戶不是特別關(guān)心視頻質(zhì)量的變化;而一個更大的μ則說明需要保證更平滑的質(zhì)量切換。在文獻[13]的研究基礎(chǔ)上,經(jīng)測試,在平衡狀態(tài)(即綜合考慮各參數(shù)對用戶QoE的影響)時,取β=0.18、δ=0.21、λ=0.48,μ=0.13。
同時考慮到設(shè)備的電量消耗對移動流媒體服務(wù)中用戶QoE的影響,用放電速率(discharge rate)[15]來表示流媒體播放期間的電量消耗,經(jīng)測試,將電量消耗與Ibattery的關(guān)系表示為
Ibattery=ω(Battery1-Batteryn)/n*t
(9)
其中,n為播放的視頻片段數(shù),t為視頻切片長度,Battery1-Batteryn表示播放期間電池電量的消耗量,ω為線性相關(guān)系數(shù),取ω=1.3。
綜上,將基于電量狀態(tài)的移動流媒體用戶QoE模型BSQM表示為
IQoE=λ1Imedia+λ2Ibattery
(10)
其中,λ1、λ2分別為視頻質(zhì)量損傷和電量消耗損傷的權(quán)重系數(shù), 0≤λ1≤1, 0≤λ2≤1, 且λ1+λ2=1。 定義的4種不同的設(shè)備剩余電量狀態(tài)分別為H(≥70%)、M(40%~70%)、L(20%~40%)、E_L(≤20%),以及一種正在充電狀態(tài)CHARGING。根據(jù)文獻[11],當(dāng)設(shè)備處于不同的電量等級時候,用戶對視頻質(zhì)量和電量消耗的偏好程度不同,經(jīng)過大量用戶測試,設(shè)置權(quán)重參數(shù)如下
(11)
(1)高電量狀態(tài),或者是充電狀態(tài)
在此狀態(tài)下,用戶對于電量的消耗不敏感,而對視頻質(zhì)量有較高的要求,因此,碼率自適應(yīng)策略應(yīng)盡可能請求高碼率視頻,并減少重新緩沖次數(shù),保證用戶QoE。因此,在該狀態(tài)下,設(shè)置參數(shù)權(quán)重值為:λ1=1.0,λ2=0。
(2)中電量狀態(tài)
在此狀態(tài)下,用戶關(guān)心電量的消耗,同時,又不希望視頻質(zhì)量有較大的降低,因此,碼率自適應(yīng)策略應(yīng)該適當(dāng)降低視頻質(zhì)量,減少視頻重新緩沖次數(shù),減少設(shè)備電量消耗。因此,該狀態(tài)下,設(shè)置參數(shù)權(quán)重值為:λ1=0.8,λ2=0.2。
(3)低電量狀態(tài)
當(dāng)設(shè)備處于低電量狀態(tài)時,用戶比較關(guān)心電量的消耗,愿意犧牲一部分視頻質(zhì)量來減少電量消耗,保證設(shè)備的通訊等基礎(chǔ)功能的正常使用。因此,碼率自適應(yīng)策略應(yīng)執(zhí)行更保守的碼率選擇,即選擇更低的碼率等級,保證視頻的流暢播放,避免重新緩沖。該狀態(tài)下的參數(shù)權(quán)重值設(shè)置為:λ1=0.4,λ2=0.6。
(4)極低電量狀態(tài)
在極低電量狀態(tài)下,用戶非常關(guān)心電量的消耗,但如果用戶仍有觀看在線視頻的需求,碼率自適應(yīng)算法應(yīng)該盡可能選擇最低的碼率,減少重新緩沖,縮短初始延遲時間,保證最小的電量消耗,確保設(shè)備有足夠的電量使用通訊等基礎(chǔ)功能。該狀態(tài)下的參數(shù)權(quán)重值設(shè)置為:λ1=0.2,λ2=0.8。
應(yīng)用基于電量狀態(tài)的移動流媒體碼率自適應(yīng)策略(battery status based bitrate adaptation scheme,BSAS)的客戶端在視頻播放過程中,執(zhí)行如下的3個步驟:
(1)獲取參數(shù):使用文獻[6]提出的帶寬預(yù)測方法預(yù)測可用帶寬Rateavail。因為BSAS策略主要是基于網(wǎng)絡(luò)吞吐量來進行碼率決策的,自然地,更準確的帶寬預(yù)測將有助于做出更準確的碼率決策,避免帶寬浪費或者重新緩沖事件的發(fā)生。也就是,本文提出的碼率自適應(yīng)策略可以通過提高帶寬預(yù)測機制的準確性來改進,如在LTE網(wǎng)絡(luò)中,使用機器學(xué)習(xí)方法獲得更準確的帶寬預(yù)測[16]。還需要獲取的參數(shù)是設(shè)備當(dāng)前電量BSlevel和充電狀態(tài)BSplugin,以及播放器當(dāng)前的緩沖區(qū)占用情況Buffernow。
在兩種情況下,策略不執(zhí)行碼率切換。第一種情況是,Bnext>Bnow且Buffernow
(3)應(yīng)用:開始加載碼率為Bnext的視頻塊,并進行渲染播放。
算法1: BSAS碼率選擇算法
start
輸入:Rateavail,BSlevel,BSplugin,Buffernow
輸出:Bnext
(1)ifplayer state is startupthen
(2)ifBSlevel=E_Lthen
(3)Bnext=Blowest
(4)else
(6)else
(7)Bnow=Bnext
(8)ifBSlevel=HorBSplugin=CHARGINGthen
(10)elseifBSlevel=Mthen
(12)elseifBSlevel=Lthen
(14)elseifBSlevel=E_Lthen
(15)Bnext=Blowest
(16)ifBnext>Bnow
(17)andBuffernow (18)Bnext=Bnow (19)ifBnext (20)andBuffernow>maxBufferForDecreasethen (21)Bnext=Bnow end 定性來看,本文提出的碼率自適應(yīng)策略有如下幾個方面的優(yōu)勢。第一,策略進行碼率選擇時,將移動設(shè)備的剩余電量作為一個考慮因素,因此,比起單純基于吞吐量的RB算法,能更好地適應(yīng)不同的設(shè)備電量狀態(tài);第二,策略在客戶端應(yīng)用,不需要對原視頻進行重新編碼,也不需要對流媒體服務(wù)器進行額外配置,可以快速方便地集成;第三,和PBCS策略比較,策略對電量等級進行了更細的劃分,能更好地實現(xiàn)視頻質(zhì)量和電量節(jié)省的平衡,同時,策略結(jié)合了播放器當(dāng)前的緩沖區(qū)狀態(tài)信息,避免作出不符合當(dāng)前緩沖區(qū)的碼率決策,導(dǎo)致卡頓和頻繁碼率切換等問題。 實驗平臺采用Nginx服務(wù)器作為流媒體服務(wù)器,運行在Ubuntu 20.04系統(tǒng)上,采用華為FRD-AL10安卓手機作為實驗設(shè)備,客戶端采用Google開源的多媒體播放框架Exoplayer[17]。通過監(jiān)聽系統(tǒng)廣播的方式獲取設(shè)備電量及充電狀態(tài),使用Android性能分析工具Battery Historian[18]獲取視頻播放期間的設(shè)備電量消耗值,使用Exoplayer提供的API獲取當(dāng)前播放器緩沖區(qū)大小。 選用的實驗視頻為開源視頻“Big Buck Bunny”[19],原視頻數(shù)據(jù)集有20個不同的碼率等級,實驗中選取其中10個不同的碼率等級,每個碼率等級有150個視頻切片,每個視頻切片長度為4 s。實驗視頻分辨率及碼率見表1。 表1 實驗視頻分辨率及碼率 真實網(wǎng)絡(luò)環(huán)境中,帶寬變化情況不可控,為了測試本文提出的碼率自適應(yīng)策略在波動的網(wǎng)絡(luò)環(huán)境中的性能,利用Linux系統(tǒng)的Traffic Control工具[20]進行帶寬控制,設(shè)置如表2所示的4種不同的帶寬序列。 表2 4種帶寬序列平均碼率及特點 根據(jù)提出的BSQM模型,從初始延遲、重新緩沖、平均視頻質(zhì)量、碼率切換平滑度、電量消耗以及總體的QoE損傷等幾個參數(shù),對比了RB算法[6]、BBA-0算法[7]、BOLA算法[21]、Exo+CBF算法[22]以及BSAS算法在不同帶寬條件和電量狀態(tài)下的性能表現(xiàn)。 從圖1可以看出,高電量(或者是充電)狀態(tài)下,BSAS策略和RB算法以及Exo+CBF算法的碼率選擇策略接近,能在帶寬狀況變好時,及時切換到高碼率視頻,而BBA-0算法則在碼率選擇上存在較大的波動性,同為基于緩沖區(qū)的BOLA算法則相對穩(wěn)定。從圖2可以看出,總體來講,BSAS對比RB算法,選擇更低一級的碼率等級,考慮了設(shè)備處于中等電量的這一狀態(tài)變化,而在400 s后,帶寬狀態(tài)下降時,由于在350 s~400 s帶寬條件較好時,緩存了足夠的視頻片段,BSAS策略沒有進行降低碼率,減少了碼率的波動,而RB算法則請求下載新的更低碼率的視頻,BBA-0算法仍然存在幅度較大且頻繁的碼率波動,特別是在初始時,緩沖區(qū)為空,BBA-0算法選擇最低的碼率等級,而帶寬序列2的初期帶寬較高,則就導(dǎo)致BBA-0算法有一個較大幅度的碼率波動。從圖3可以看出,在一個帶寬波動幅度較大,頻率較高的帶寬序列3下,且設(shè)備處于低電量的狀態(tài)時,BSAS策略維持了一個較為中等偏下等級的碼率選擇,且較為穩(wěn)定,而RB算法由于只根據(jù)網(wǎng)絡(luò)帶寬條件進行碼率決策,則有一個幅度較大且頻繁的波動,BBA-0算法和BOLA算法的碼率選擇波動性也較大,在100 s~200 s時帶寬突然大幅度降低,而BBA-0算法仍然選擇了高碼率的視頻,未及時切換,導(dǎo)致了重新緩沖事件。從圖4看出,極低電量情況下,BSAS策略維持在最低的碼率等級,而不會繼續(xù)請求高碼率的視頻。 圖1 帶寬序列1高電量時算法碼率選擇情況 圖2 帶寬序列2中電量時算法碼率選擇情況 圖3 帶寬序列3低電量時算法碼率選擇情況 圖4 帶寬序列4極低電量時算法碼率選擇情況 圖5 帶寬序列1高電量狀態(tài)下算法性能及QoE損傷 圖6 帶寬序列2中電量狀態(tài)下算法性能及QoE損傷 圖7 帶寬序列3低電量狀態(tài)下算法性能及QoE損傷 圖8 帶寬序列4極低電量狀態(tài)下算法性能及QoE損傷 從圖5的性能對比結(jié)果可以看出,由于BBA-0算法初始選擇一個較低的視頻碼率,且在播放過程中,通常進行更為激進的碼率選擇策略,因此,該算法在初始延遲和平均視頻質(zhì)量這兩項指標上,優(yōu)于RB和BSAS,然而,頻繁的碼率切換則導(dǎo)致碼率切換平滑性較差,而激進的碼率選擇策略,則常常導(dǎo)致重新緩沖事件的發(fā)生,因此,BBA-0算法在這兩項上損傷較大。而由于使用了Lyapunov優(yōu)化技術(shù),BOLA算法相比BBA-0算法,減少了重新緩沖事件的發(fā)生,且在碼率切換上表現(xiàn)更好。在高電量或者充電狀態(tài)下,RB和BSAS的各指標和總體QoE損傷較為接近。而從圖6、圖7可以看出,中、低電量狀態(tài)下,BSAS根據(jù)電量狀態(tài),進行自適應(yīng)碼率決策,選擇更低的視頻碼率,有效減少了視頻的碼率切換和重新緩沖事件,降低設(shè)備電量消耗,在平均視頻質(zhì)量上,低于BBA-0算法和BOLA算法,略低于RB算法和Exo+CBF算法,但在總體QoE上表現(xiàn)更好。從圖8可以看出,在極低電量狀態(tài)時, 由于帶寬序列4初始帶寬條件較好,RB算法在初始階段選擇了較高的視頻碼率,導(dǎo)致初始緩沖時間過長,BBA-0算法則仍然存在重新緩沖次數(shù)較多,碼率切換平滑度較差等問題,而BSAS則充分考慮了此時的設(shè)備電量狀態(tài),選擇最低的碼率等級,從而避免了初始延遲過大和碼率切換頻繁等問題,并且播放過程中沒有重新緩沖時間發(fā)生,在總體QoE損傷上,優(yōu)于RB算法和BBA-0算法。 通過研究不同電量狀態(tài)下碼率選擇策略對用戶QoE的影響,提出了一種基于電量狀態(tài)的BSQM模型,模型的參數(shù)包括初始延遲、重新緩沖、平均視頻質(zhì)量、碼率切換平滑度以及設(shè)備電量狀態(tài)。在模型的基礎(chǔ)上,給出了一種基于網(wǎng)絡(luò)吞吐量,同時考慮設(shè)備電量狀態(tài)的碼率自適應(yīng)策略BSAS。該策略在RB算法的基礎(chǔ)上,針對不同電量狀態(tài)執(zhí)行不同的碼率決策。與基于吞吐量和基于緩沖區(qū)的自適應(yīng)算法的對比實驗結(jié)果表明,BSAS能較好地平衡不同電量狀態(tài)下的視頻質(zhì)量和電量消耗。未來工作是研究碼率自適應(yīng)策略BSAS在5G網(wǎng)絡(luò)環(huán)境下的應(yīng)用。4 實驗及結(jié)果
4.1 實驗環(huán)境
4.2 實驗結(jié)果及分析
5 結(jié)束語