侯文慧,王俊峰
(四川大學計算機學院,成都610065)
(*通信作者電子郵箱wangjf@scu.edu.cn)
隨著計算機技術的飛速發(fā)展,互聯(lián)網虛擬化技術的研究引起了人們的廣泛興趣和重視,并在工業(yè)界和學術界得到大力開展。其中,桌面虛擬化技術是互聯(lián)網虛擬化的一項關鍵技術[1-2]。桌面虛擬化是指計算機系統(tǒng)的虛擬化,將桌面操作環(huán)境與硬件運行環(huán)境分離,以實現(xiàn)桌面使用的安全性和靈活性。通過這項技術,用戶可隨時隨地使用任何設備通過網絡訪問個人桌面系統(tǒng)[3]。桌面虛擬技術在后端借助虛擬化技術構造桌面資源池,存放用戶完整的桌面環(huán)境。而桌面用戶使用瘦客戶端通過云桌面協(xié)議訪問遠程桌面,從而獲得完整的PC使用體驗,并可根據需要使用虛擬桌面服務[4]。
目前主流的有云桌面協(xié)議有遠程桌面協(xié)議(Remote Desktop Protocol,RDP)、獨 立 計 算 結 構 (Independent Computing Architecture,ICA)、PCoIP(PC over IP)協(xié)議以及SPICE(Simple Protocol for Independent Computing Environment)這四種云桌面?zhèn)鬏攨f(xié)議,這些協(xié)議均具有相應的優(yōu)劣勢[5]。RDP是微軟終端服務應用協(xié)議,協(xié)議基于T.128提供多通道通信,可在多種操作系統(tǒng)上運行;ICA是Citrix自己開發(fā)獨有的ICA協(xié)議,具有更好的穩(wěn)定性,支持各種類型的客戶端設備;VMware推出了其自有的PCoIP協(xié)議,提供高質量的虛擬桌面用戶體驗,用戶可在低帶寬下使用協(xié)議;SPICE是高性能的、動態(tài)自適應的遠程桌面協(xié)議,能夠滿足目前桌面用戶的豐富多媒體需求,市場潛力巨大。
目前對于云桌面的研究主要集中在優(yōu)化圖像和視頻壓縮算法以及優(yōu)化傳輸機制兩個方面。文獻[6]提出一種處理由遠程計算機傳到客戶端的圖像顯示的方法,根據所依賴的壓縮信息動態(tài)選擇遠程圖形模塊;文獻[7]提出了利用分層網絡模型將遠程終端處理任務分流給外圍設備的方法,該方法接收和執(zhí)行一個或者多個遠程任務并將其分流給網絡外圍設備來執(zhí)行;文獻[8]針對SPCIE提出使用JPEG2000壓縮算法替換原有的圖像壓縮算法;文獻[9]提出了使Haar小波奇函數替代離散余弦函數對圖像進行變換;文獻[10]提出在原架構上構建探針通道根據探針采集反饋結果,以對視頻和富交互場景增加不同的可切換策略;文獻[11]提出了三種優(yōu)化方式:降低色深、輸入緩沖區(qū)、減少Speedscreen時延;文獻[12]針對3D圖形性能有限的問題,提出新的繪圖命令,提供降低服務器開銷的多個用戶高效服務,以較低成本提供穩(wěn)定服務。
但是以上方法都沒有很好地解決分塊機制帶來的視頻畫面的“裂屏效果”以及帶寬占用率高的問題,而本文針對這一問題提出了一種視頻區(qū)域偵測算法,探測識別虛擬機顯示畫面中的視頻區(qū)域,在保留分塊機制的優(yōu)勢的同時,有效地提高了視頻畫面流暢度且大幅減少了帶寬;同時替換壓縮效率不高的MJPEG算法為MPEG4視頻壓縮算法,進行一步減小帶寬占用。最后通過比對實驗驗證了本文算法的有效性。
SPICE是最新的基于QEMU-KVM(Quick Emulator-Kernel-based Virtual Machine)虛擬機的桌面虛擬化協(xié)議,使用戶通過客戶端訪問遠程桌面系統(tǒng),實現(xiàn)了與本地機器交互類似的用戶體驗,同時將大部分密集的CPU和GPU任務交給服務器進行處理,從而降低了對終端設備的要求。
SPICE采用獨特的多層架構體系,主要包括:SPICE協(xié)議、SPICE服務端、SPICE客戶端以及其他相關組件如QXL設備與驅動、Agent代理等[13],如圖1 所示。
圖1 SPICE虛擬化框架Fig.1 Virtual framework of SPICE
1)SPICE服務端通過動態(tài)鏈接庫libspice實現(xiàn),運行在KVM與QEMU提供的虛擬環(huán)境之上。服務器一方面與QEMU進行交互,獲得進行在QEMU上的虛擬機Guest OS的信息;另一方面通過SPICE協(xié)議與SPICE客戶端進行通信,以管理不同的虛擬機資源。
2)SPICE協(xié)議定義一組協(xié)議消息,用于SPICE服務器端與客戶端之間的通信。SPICE協(xié)議通過建立不同的“抽象”通道來傳輸如圖像、視頻、音頻和用戶輸入等數據。
3)SPICE客戶端運行在用戶終端,用戶通過客戶端接入遠程的虛擬桌面。目前,SPICE客戶端支持跨平臺,在不同平臺下有多種實現(xiàn)。
視頻處理是SPICE協(xié)議十分重要的一部分。SPICE視頻處理具體流程如圖2所示:
1)當虛擬機的顯示內容發(fā)生更新時,QEMU獲取更新畫面圖像信息,并通過分塊機制根據有無圖像變化把一個圖像畫面劃分為多個寬相等高不等的圖像塊,只傳輸有變化的圖像塊,然后把圖像塊當作單獨的圖像幀傳遞給SPICE服務端。
2)SPICE服務端維持渲染樹記錄所有圖像區(qū)域圖像塊的信息,并根據圖像區(qū)域幀率是否大于20 frame/s,來判斷是否有視頻流產生:若有,則判定該區(qū)域為視頻區(qū)域,其后該區(qū)域更新的圖像幀幀率大于一定閾值便判定其幀為視頻幀,使用MJPEG算法壓縮幀;若無,則將圖像幀用圖像壓縮算法壓縮。
3)將壓縮后的數據發(fā)送至客戶端進行解碼顯示。
圖2 SPICE協(xié)議視頻處理流程Fig.2 Video processing of SPICE
SPICE視頻處理不足之處主要體現(xiàn)在以下幾點:1)SPICE分塊機制使視頻播放畫面不流暢。SPICE只傳輸有變化區(qū)域,將畫面中的有變化部分切割處理為多個圖像塊進行傳輸,使同一個畫面中的圖像塊因其處理和傳輸的不同而具有不同的顯示時間,導致顯示畫面出現(xiàn)“裂屏”的現(xiàn)象。2)分塊機制以及協(xié)議通過幀率識別視頻幀的視頻識別機制導致播放畫面圖像塊主要被識別成圖像塊,而圖像塊壓縮率低導致視頻播放帶寬占用率極高。3)視頻編碼算法壓縮效率低下。
1.4.1 MJPEG 視頻壓縮算法
MJPEG是在JPEG上發(fā)展起來的,MJPEG把視頻當作一幀一幀的靜止畫面來處理,只單獨對某一幀進行壓縮,其壓縮倍數約為20~80。MJPEG沒有根據相鄰幀之間的差異來進行壓縮,因此造成了大量冗余信息被重復存儲,極大消耗了存儲和傳輸資源,不大適用視頻圖像的網絡傳輸。
1.4.2 MPEG4 視頻壓縮算法
MPEG4是一套用于音頻、視頻信息的壓縮編碼標準,由國際標準化組織(International Organization for Standardization,ISO)和國際電工委員會(International Electrotechnical Commission,IEC)下屬的活動圖像專家組制定,MPEG4標準分為六個部分:系統(tǒng)層、視頻、音頻、多媒體傳輸整體框架(Multimedia Transmission Integrated Framework,DMIF)、一致性測試和參考軟件[14-16]。MPEG4視頻壓縮算法的主要特征是提供基于內容的編碼,實現(xiàn)高效的壓縮。MPEG4視頻壓縮算法利用很窄的帶寬,通過幀重建技術、數據壓縮,以求用最少的數據獲得最佳的圖像質量[17-18]。
1.4.3 MPEG4 相對于 MJPEG 的優(yōu)勢
1)MJPEG采用靜態(tài)圖像壓縮技術JPEG,只進行幀內壓縮,MPEG4提供幀內和幀間壓縮,去除了幀間冗余;
2)MPEG4采用基于內容的編碼,從紋理和輪廓出發(fā),大大增加了交互性;
3)MJPEG壓縮比為 20∶1~50∶1,MPEG4最高達200∶1,比MJPEG算法提供更高壓縮比;
4)MPEG4在提供高壓縮比的同時保證較小的數據損失;5)MPEG4具有很好的兼容性,提供了易出錯環(huán)境的魯棒性。
針對協(xié)議現(xiàn)有的視頻處理算法的不足之處,本文設計了視頻區(qū)域偵測算法。視頻區(qū)域偵測算法的算法流程主要為:1)通過幀率信息獲取高變化率區(qū)域;2)使用圖像算法獲取矩形區(qū)域信息;3)判定視頻區(qū)域是否更改;4)截取矩形視頻區(qū)域;5)使用MPEG4視頻壓縮算法替換MJPEG壓縮視頻幀。最后將壓縮后的視頻幀信息傳輸到客戶端進行解壓顯示。改進后的算法處理一個顯示畫面的流程如圖3所示。
圖3 改進后視頻處理流程算法Fig.3 Improved video processing algorithm
在QEMU獲得顯示畫面,并對其分塊處理后,一直維持兩個鏈表記錄分塊后單個圖像區(qū)域的變化信息以及連續(xù)的高變化率區(qū)域信息,主要步驟為:
1)初始化兩個鏈表:single_rects和sum_rects,單個節(jié)點為 single_rect和 sum_rect。
2)記錄單個圖像區(qū)域信息:將顯示畫面變化區(qū)域分片得到的圖像塊區(qū)域信息加入到single_rects鏈表中,記錄每個其連續(xù)更新時間區(qū)域,及在該時間區(qū)域內更新的幀數。
3)獲取高變化率區(qū)域:若single_rect的圖像塊區(qū)域更新頻率大于一定閾值,則將single_rect加入sum_rects鏈表中成sum_rect節(jié)點。遍歷single_rects中的節(jié)點,同時若存在該single_rect區(qū)域相連的其他single_rect的幀率大于閾值,將這些區(qū)域合并為一整塊區(qū)域,加入sum_rects鏈表。
4)若sum_rect面積大于閾值,則觸發(fā)矩形區(qū)域探測算法。
當前流行的視頻畫面基本都為矩形,所以本文針對視頻畫面這一特性,設計了矩形區(qū)域探測算法,使用圖像算法截取矩形的視頻區(qū)域。算法步驟如下:
1)獲取整個屏幕的圖像。
2)對圖像進行灰度化,使用邊緣檢測算法sobel算子對屏幕圖像進行邊緣化。
3)使用膨脹算法對圖像進行水平和垂直方向的膨脹。
4)獲得水平和垂直方向的直線,并通過水平和垂直直線,以及sum_rect區(qū)域的信息,獲得面積大于顯示畫面的1/5同時包含sum_rect的最小的矩形區(qū)域。
5)通過顏色直方圖獲取顏色數量,以判斷該區(qū)域是否為快速變化的文本區(qū)域:若顏色數量較少,則區(qū)域為快速更新的文本區(qū)域;若否,則其可能為視頻區(qū)域。
6)以間隔0.5 s連續(xù)兩次重復此算法流程,若兩次均獲得獲得同樣的區(qū)域,則其為視頻區(qū)域,標記find_video為1。
在視頻播放的過程中,視頻區(qū)域可能會發(fā)生更改,例如視頻區(qū)域的擴大、縮小、移動以及停止,于是本文設計了視頻區(qū)域更改判斷算法,以及時更新視頻區(qū)域;同時,當矩形區(qū)域截取算法截取到錯誤的視頻區(qū)域,如只截取了部分視頻區(qū)域,使用本算法可檢測出視頻區(qū)域不正確。
1)在整個視頻區(qū)域識別算法流程中,維持著single_rects以及sum_rects這兩個鏈表,記錄單個圖像區(qū)域以及高變化率區(qū)域信息。
2)對以下情況作視頻區(qū)域更改判定:
①在高變化率區(qū)域更改過程中,若sum_rect被裁剪了以至于小于矩形視頻區(qū)域的1/4(此時可能停止播放視頻,或者視頻大幅度移位,或者縮放,或者有文本遮擋),sum_rect區(qū)域增大很多超過當前視頻區(qū)域(視頻區(qū)域可能被放大);
②一sum_rect區(qū)域與現(xiàn)視頻區(qū)域的邊緣相鄰(視頻區(qū)域可能被放大),且與其左右邊緣相鄰時,高度大于顯示畫面高度的1/5,或者與其上下邊緣相鄰時,寬度大于畫面高度的1/5;
③若判定視頻區(qū)域已經更改,標記find_video為0,停止視頻區(qū)域的截取。
若find_video為1,則截取顯示畫面中的視頻區(qū)域圖像為一塊完整的圖像幀,而除視頻區(qū)域外的其他區(qū)域仍使用原分塊機制進行處理,截取寬相等長不等的有變化的圖像塊區(qū)域。否則,整個顯示畫面都使用分塊機制處理。
SPICE獲取QEMU傳遞給SPICE服務端的圖像塊信息,若SPICE通過幀率判斷得到視頻區(qū)域圖像幀率到達20 frame/s,則該幀為視頻幀,用MPEG4視頻壓縮算法替換MJPEG算法壓縮視頻幀,并在客戶端使用MPEG4解壓算法解壓視頻幀。
本文對提出的視頻區(qū)域處理算法進行了測試,通過對比實驗驗證了其有效性和優(yōu)越性。實驗環(huán)境如下:SPICE服務端配置:Pentium Dual-Core CPU E6700 3.20 GHz;內存 6 GB;操作系統(tǒng) Centos 7;SPICE客戶端配置:Intel Pentium CPU B950 2.10 GHz;內存 6 GB;操作系統(tǒng):Ubuntu-4.4.0。本文實驗在服務器端和客戶端電腦上之間組建獨立的局域網,并使用流量控制工具tc調節(jié)局域網帶寬、網絡延遲以及丟包率。本文選取英國廣播公司(British Broadcasting Corporation,BBC)紀錄片地球脈動片段(Planet Earth)和美國隊長(Captain America)片段分別作為畫面變化較緩和畫面變化劇烈的視頻源,對原SPICE協(xié)議(original)、添加視頻區(qū)域偵測算法(Video Area Detection Algorithm,VRDA)的 SPICE協(xié)議(VRDA+MJPEG)以及添加視頻區(qū)域偵測算法和MPEG4視頻壓縮算法的SPICE協(xié)議(VRDA+MPEG4)的性能進行了測試。其測試主要使用以下兩個實驗指標:
1)幀實際與期望顯示時間差(Difference between Actual and Expected Display Time,DAETD):本文提出了新的實驗評價方案,通過測試幀實際與期望顯示時間差來測試視頻流暢度,實驗獲得的時間差絕對值越小,則代表視頻畫面越流暢。
2)帶寬占用:本文使用帶寬占用實驗來測試改進后協(xié)議的視頻傳輸性能,播放視頻時傳輸流量越小,則視頻傳輸性能越好。
3.1.1 指標的提出
目前常用的網絡視頻性能評價指標主要分為兩類:一類是視頻質量評價指標,使用均方誤差(Mean Square Error,MSE)、峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)等指標;另一類是視頻流暢度評價指標,使用幀數、丟幀率、視頻抖動等評價指標。但這些指標都無法應用于SPICE的性能測評,這是因為這些評價指標都是基于視頻位置和大小穩(wěn)定的網絡視頻傳輸。SPICE的分塊機制使其視頻傳輸和一般的網絡視頻傳輸有很大區(qū)別。視頻播放畫面中的有些部分變化劇烈有些部分變化緩慢,使分塊機制截取的視頻區(qū)域不穩(wěn)定,一個視頻畫面中可能存在零個或者多個視頻區(qū)域,每個視頻區(qū)域存在的大小、位置和時間不固定。為此,本文設計了幀實際與期望顯示時間差評價指標,以此表達視頻流暢度。
3.1.2 指標設計原理
針對分塊機制,本文將分塊前的顯示畫面定義為原始幀,分塊后得到小的圖像塊均有其所屬的原始幀。將圖像塊傳遞到客戶端進行顯示時,屬于同一原始幀圖像塊所屬的畫面,定義為顯示幀。服務端原始幀以一定的時間間隔進行更新,則客戶端對應的顯示幀應以同樣的時間間隔進行顯示??蛻舳说谝粋€顯示幀按本身的時間標簽進行顯示,從第二顯示幀起的顯示幀應按計算垂直同步時間間隔后得到的時間標簽顯示,該標簽即為顯示幀期望顯示時間,亦為屬于同一顯示幀的圖像塊的期望顯示時間。在實際播放過程中,由于不同圖像塊之間存在處理時延及傳輸時延的差異,實際與期望顯示時間有一定差值,本文使用這個差值來表達視頻流暢度。
3.1.3 指標算法流程
幀實際與期望顯示時間差算法流程如下:
1)服務器端。在QEMU分塊前,初始化第一個顯示幀id為0,并以累加形式賦予其每個原始幀獨有的幀id并記錄當前幀與上一幀的幀間間隔。在QEMU對原始幀進行分塊處理后,分塊后每一小的圖像塊保留其所屬的原始幀的幀id和幀間間隔,并通過SPICE協(xié)議傳遞給SPICE客戶端。
2)客戶端。圖像塊傳遞到客戶端,客戶端獲取其幀id和幀間間隔,擁有相同幀id的圖像塊在服務端屬于同一原始幀,在客戶端則屬于同一顯示幀。初始化一個結構體數組來記錄顯示幀幀id及期望到達時間。以第一個顯示幀的到達時間作為起點,根據時間間隔計算得到垂直同步顯示時間,即期望顯示時間。若顯示幀丟失,則查找比當前幀id值小的最大幀id值所對應的顯示時間作為期望顯示時間,屬于同一顯示幀的每一塊圖像塊的具有相同的期望顯示時間,然而實際與期望顯示時間有一定差值,差值為幀實際與期望顯示時間差(DAETD),時間差絕對值越小視頻越流暢。其公式如下:
DAETDk,f_i=CT - ETf_i,k=0,1,2,…,n
其中:CT表示圖像塊當前實際顯示時間,f_i表示幀id,ETf_i表示幀id為f_i的幀的期望顯示時間,ΔTf_i表示幀id為f_i的顯示幀所攜帶的幀間間隔,CT_frame表示所屬顯示幀中第一個到達圖像塊的到達時間。
3.1.4 實驗結果與分析
本文實驗從網絡延遲、帶寬以及丟包率三個方面對比了original、VRDA+MJPEG、VRDA+MPEG4 的性能。本文將視頻播放過程主要分為初始階段和穩(wěn)定階段。在視頻播放時需要一定時間來識別視頻區(qū)域,這個時間階段為初始階段,在其間改進后的算法對其性能沒有影響,所以只統(tǒng)計穩(wěn)定階段實驗結果。DAETD以0為中心值,結果越偏離0 ms代表幀顯示效果越差,所以本文使用絕對值均值表達平均流暢度,使用絕對值方差來表達穩(wěn)定度:絕對值均值越高則流暢度越低,絕對值方差越高穩(wěn)定程度越低。
1)不同網絡延遲實驗。
圖4是在 30 Mb/s帶寬、10-6丟包率和 0 ms、100 ms、200 ms網絡延遲的網絡條件下實際與期望顯示時間差的測試結果,表明在不同網絡時延下改進后的算法都具有更高的流暢度。VRDA+MJPEG在低延遲條件下時間差較大,但隨著帶寬增加流暢度逐步升高;VRDA+MPEG4更能適應各種網絡延遲條件,而在各條件下均有較好流暢度;而original在各個網絡條件差時流暢度都很差。
表1表示在不同網絡時延條件下,不同版本的SPICE協(xié)議的統(tǒng)計結果。實驗數據表明,在不同帶寬條件下,VRDA+MJPEG、VRDA+MPEG4平均流暢度均大幅度優(yōu)于 original,VRDA+MPEG4性能優(yōu)于 VRDA+MJPEG。同時,VRDA+MJPEG、VRDA+MPEG4流暢度表現(xiàn)比 original更為穩(wěn)定,VRDA+MPEG4流暢度表現(xiàn)比VRDA+MJPEG更為穩(wěn)定。
2)不同帶寬實驗。
圖5是在 50 ms網絡時延、10-6丟包率和 2 Mb/s、10 Mb/s、50 Mb/s帶寬限制的網絡條件下實際與期望顯示時間差的測試結果。在穩(wěn)定階段,original比VRDA+MJPEG、VRDA+MPEG4流暢度表現(xiàn)差;VRDA+MJPEG在高帶寬條件下流暢度較好;VRDA+MPEG4由于其高壓縮率而更能適應低帶寬條件,而在各個條件下均有較好流暢度。
圖4 不同協(xié)議對兩視頻源在不同網絡時延的時間差結果Fig.4 DAETD of different protocols under different network delay of two videos
表1 不同協(xié)議在不同網絡時延下時間差統(tǒng)計值Tab.1 Statistical results of DAETD for different protocols under different network delay
圖5 不同協(xié)議對兩視頻源在不同帶寬的時間差結果Fig.5 DAETD of different protocols under different bandwidth of two videos
表2表示在不同帶寬條件下,不同版本的SPICE協(xié)議的統(tǒng)計結果。實驗數據表明,在不同帶寬條件下,VRDA+MJPEG、VRDA+MPEG4視頻平均流暢度均大幅度優(yōu)于original,VRDA+MPEG4性能優(yōu)于 VRDA+MJPEG。同時,VRDA+MJPEG、VRDA+MPEG4視頻流暢度表現(xiàn)比original更為穩(wěn)定,VRDA+MPEG4視頻流暢度表現(xiàn)比 VRDA+MJPEG更為穩(wěn)定。
3)不同丟包率實驗。
圖6是Planet Earth和Captain American在50 ms網絡時延,30 Mb/s 帶寬和 10-2、10-4、10-7丟包率的網絡條件下實際與期望顯示時間差的測試結果。實驗結果表明,在穩(wěn)定階段,original流暢度表現(xiàn)比 VRDA+MJPEG、VRDA+MPEG4差;VRDA+MJPEG在高丟包率條件下時間差較大,VRDA+MPEG4在各個丟包率下均有較好流暢度。
表3表示在增加丟包率的情況下,不同版本的SPICE協(xié)議的統(tǒng)計結果。實驗數據表明,在丟包率條件下,VRDA+MJPEG、VRDA+MPEG4視頻平均流暢度均大幅度優(yōu)于original,VRDA+MPEG4性能優(yōu)于 VRDA+MJPEG。同時,VRDA+MJPEG、VRDA+MPEG4視頻流暢度表現(xiàn)比original更為穩(wěn)定,VRDA+MPEG4視頻流暢度表現(xiàn)比 VRDA+MJPEG更為穩(wěn)定,VRDA+MPEG4對于不同丟包率具有更好的適應性,具有更高的流暢度。
表2 不同協(xié)議在不同帶寬下時間差統(tǒng)計值Tab.2 Statistical results of DAETD for different protocols under different bandwidth
表3 不同協(xié)議在不同丟包率下時間差統(tǒng)計值Tab.3 Statistical results of DAETD for different protocols under different packet loss rate
圖7為Planet Earth和Captain American在50 ms網絡時延、10-6丟包率和2 Mb/s、10 Mb/s及不限帶寬的網絡條件下original、VRDA+MJPEG、VRDA+MPEG4 的網絡帶寬占用情況。該圖表明在不同帶寬條件下,三種算法均能自適應地調節(jié)碼率以適應不同帶寬要求,VRDA+MJPEG、VRDA+MPEG4的帶寬占用表現(xiàn)均優(yōu)于原算法orginal,以及VRDA+MPEG4帶寬占用表現(xiàn)優(yōu)于VRDA+MJPEG。其原因為:使用original播放視頻時全部或者大部分圖像塊被識別成圖像幀,只有少量被識別成視頻幀。VRDA+MPEG4在VRDA+MJPEG的基礎上進一步減少了帶寬。
表4 表示在2 Mb/s、5 Mb/s、10 Mb/s、20 Mb/s、50 Mb/s帶寬限制及不限帶寬的網絡條件下original、VRDA+MJPEG以及VRDA+MPEG4的平均流量。數據表明,與original相比添加視頻區(qū)域識別算法后SPICE可以極大地節(jié)省帶寬占用,以及MPEG4相比MJPEG能更好適應低帶寬網絡條件。
圖7 不同協(xié)議對兩視頻源在不同帶寬下流量結果Fig.7 DAETD of different protocols under different bandwidth of two videos
表4 不同協(xié)議在不同帶寬下流量統(tǒng)計值 Mb/sTab.4 Statistical results of throughput for different protocols under different bandwidth Mb/s
本文從云桌面協(xié)議著手,提出了幀率與圖像算法相結合的視頻區(qū)域偵測算法獲取視頻播放區(qū)域,并使用MPEG4視頻壓縮算法替代SPICE原有的MJPEG算法壓縮解壓視頻幀,在保留原有機制優(yōu)勢的同時,有效解決了視頻播放不流暢以及帶寬占用高等問題。本文還提出了幀期望與實際顯示時間差作為實驗指標來驗證改進后SPICE的視頻播放流暢度,同時測試了其帶寬占用情況。實驗表明較之原SPICE協(xié)議,改進后SPICE協(xié)議具有更高的視頻播放流暢度,占用更少網絡帶寬。