云桌面高清視頻傳輸方法
【技術領域】
[0001]本發明公開了一種視頻傳輸方法,特別涉及一種云桌面高清視頻傳輸方法。
【背景技術】
[0002]在使用云桌面過程中,發現其對視頻應用支持很差,在云桌面上播放一個windows的示例視頻就很卡,播放效果十分差。經過測試發現,原有云桌面client在處理視頻時,占用帶寬很高! CPU使用率也很高!通過分析發現,對視頻處理和瀏覽高清圖云桌面之所以不好用,是因為對顯示處理這塊的設計上有缺陷。通過對原有設計處理流程的研究分析發現,原有設計在處理顯示數據時,直接將每次的區域變動數據封裝后發往客戶端顯示。而在系統使用過程當中,時常是多區域的顯示數據更新,通過對程序的深入測試,發現每次區域變動數據量非常小,且變化非常之頻繁,有時變化之間時間段到幾十微妙!且顯示數據采用無損壓縮,這樣一來就導致了,數據發送非常頻繁! client端處理壓力很大!瞬時帶寬占用過尚!
[0003]在云桌面技術的實現過程當中,區域性更新方式,如圖1所示,spice使用的QXL顯示驅動,可以直接獲取到變動區域數據;vnc使用對前后兩個顯示圖像進行對比,來區別那塊區域有變動,然后發送變動區域數據到客戶端。但是,采用區域性數據更新,區域變動過于頻繁。瞬時帶寬要求高,數據傳輸對帶寬要求波動較大,不利于帶寬要求的控制,也不利于帶寬限制。在變動區域個數過多時,也會嚴重影響對顯示數據的處理速度。經過對測試數據的研究分析發現,原先云桌面顯示部分采用差異化區域更新顯示處理,該處理方式有以下缺點:數據發往client端頻率過高,增加I/O操作壓力;差異化數據區域越多,云桌面顯示壓力越大,顯示效果越差;云桌面對視頻類應用支持不友好;云桌面對帶寬要求高;云桌面瞬時流量過高,速率波動較大。
【發明內容】
[0004]本發明的提供的一種云桌面高清視頻傳輸方法,對整體顯示數據進行繪制、控制數據變化的時間設置穩定數據傳輸速率的波動,克服上述現有技術的缺陷。
[0005]本發明提供一種云桌面高清視頻傳輸方法,包括以下步驟:
[0006]步驟A、當云桌面顯示數據發生變化時,全部繪制到全屏顯示的緩存中;
[0007]步驟B、針對繪制時間戳進行過濾判定,看是否需要發往客戶端;需要發往客戶端時,進入步驟E ;不需要發往客戶端時,進入步驟C ;
[0008]步驟C、將數據覆蓋性存入計時器緩存區;計時器開始計時;
[0009]步驟C1、當計時器完成計時后,執行步驟E ;
[0010]步驟D、將全屏顯示數據,進行幀間編碼和幀內編碼壓縮,同時做加密處理;
[0011]步驟E、將步驟D處理好的數據,打包發往客戶端進行顯示。
[0012]進一步,本發明提供一種云桌面高清視頻傳輸方法,還可以具有這樣的特征:當繪制命令的時間戳超過設定的過濾時間,執行步驟D。
[0013]進一步,本發明提供一種云桌面高清視頻傳輸方法,還可以具有這樣的特征:當最近一次繪制20-40ms后,還無新的數據繪制,將執行步驟D。
[0014]進一步,本發明提供一種云桌面高清視頻傳輸方法,還可以具有這樣的特征:步驟D中的顯示數據編碼采用幀間編碼壓縮和幀內編碼壓縮,同時對編碼數據進行加密處理。
[0015]進一步,本發明提供一種云桌面高清視頻傳輸方法,還可以具有這樣的特征:在客戶端接收到顯示數據后,對數據進行解密、解碼和轉碼處理后,進行顯示。
[0016]進一步,本發明提供一種云桌面高清視頻傳輸方法,還可以具有這樣的特征:對數據的解碼和轉碼處理,可以采用軟件解碼和轉碼處理。
[0017]進一步,本發明提供一種云桌面高清視頻傳輸方法,還可以具有這樣的特征:對數據的解碼和轉碼處理,可以采用硬件加速處理解碼和轉碼操作。
[0018]發明的有益效果
[0019]本發明提供一種云桌面高清視頻傳輸方法,采用全屏模式(單一處理模塊),不會因變動區域增多而增加顯示處理壓力;并采用時間戳過濾方式或周期性視頻壓縮處理方式,降低顯示數據發送頻率,從而降低瞬時傳輸數據對帶寬的要求,使傳輸數據量趨于平穩,減少數據傳輸量的波動,有利于云桌面帶寬的限制。本方案還采取使用h264壓縮方式,從根本上降低傳輸數據對帶寬的要求,從根本上控制每臺云桌面的帶寬。從而解決播放高清視頻的難點,實現高清視頻的播放。
[0020]本發明提供一種云桌面高清視頻傳輸方法,有以下優點:采用全屏數據傳輸,不會因差異區域過多影響顯示效果;采用時間戳過濾,過濾掉人眼難以察覺的瞬時變動,減少數據發送頻率,降低I/O操作的壓力;采用優化的壓縮處理,有效降低數據傳輸量;顯著降低云桌面對帶寬的要求;使云桌面數據傳輸速率趨于穩定,提高對帶寬限制的可行性。
【附圖說明】
[0021]圖1是時間戳過濾和補發部分的詳細流程圖。
[0022]圖2是現有的75:桌面尚清視頻傳輸流程圖。
[0023]圖3是適合單核高頻處理器終端的云桌面高清視頻傳輸流程圖
[0024]圖4是適合多核處理器終端的云桌面高清視頻傳輸流程圖。
[0025]圖5是適合可視頻硬解和硬轉終端的云桌面高清視頻傳輸流程圖。
【具體實施方式】
[0026]下面結合附圖和具體實施例對本發明做進一步的描述。
[0027]實施例一
[0028]如圖3所示,適合單核高頻處理器終端的云桌面高清視頻傳輸方法,包括以下步驟:
[0029]步驟A、當前顯示數據發生變化時,全部繪制到全屏顯示的緩存中,即將所有要顯示的數據全部繪制到全屏顯示的Buffer中,以保證每時每刻Buffer中都是云桌面當前實時的顯示內容。
[0030]步驟B、針對每次的繪制命令的時間戳進行過濾,我們通過每次繪制的時間差來確認繪制命令是否需要發往客戶端。所謂時間戳過濾也就是將前后兩次繪制命令的時間間隔判斷是否超過人眼可辨識的范疇。一般設置時間為20-40ms,優選30ms。
[0031]當繪制命令的時間超過設定過濾時間30ms時,將緩沖寄存器中取出顯示數據,進行