重慶郵電大學通信學院 吳 建 錢 浩 張由明
虛擬網絡計算中圖像編碼的優(yōu)化
重慶郵電大學通信學院 吳 建 錢 浩 張由明
為了能進行實時有效的VNC圖像傳輸,提出了將H.264視頻壓縮技術應用到VNC的編碼模塊中。為了進一步提高系統(tǒng)的圖像傳輸速度,對H.264進一步優(yōu)化。將視頻幀預測模式按照在實際的模式選擇中所占比例高低以及宏塊間的相似性分成四類,從實際選擇中所占比例高的模式優(yōu)先開始搜索,代替原來的樹狀全搜索模式以便縮短幀預測的時間,從而提高系統(tǒng)的圖像傳輸速度。實驗結果表明,該算法與其他編碼算法相比,運算速度較快,有效的提高了圖像編碼的速度,滿足實時傳輸的需求。
H.264;虛擬網絡計算;圖像編碼;幀間預測
近年來,計算機科學和計算機應用的快速發(fā)展,云計算的發(fā)展隨之加快。虛擬化技術的研究和應用也隨著桌面云的發(fā)展逐步深入。更多的用戶利用桌面云進行遠程會議,辦公教學等業(yè)務處理。桌面的圖像壓縮和圖像傳輸是桌面云的核心技術,由于桌面圖像的信息量巨大,因此,要進行有效的實時傳輸,對桌面圖像進行有效的圖像壓縮就顯得尤為重要。
虛擬網絡計算(Virtual Network Computing)[1]是一種遠程控制軟件。VNC的編碼方法是基于塊的無損壓縮編碼。具體為首先把桌面分割成16×16塊,然后根據塊內的不同的顏色信息選擇相應的編碼方法。VNC的編碼算法主要有RRE、CoRRE,ZRLE和Hextile等。上述幾種編碼算法的特點是編碼和解碼的速度較快,但對于多媒體圖像的壓縮率較低。為了提高桌面圖像的壓縮效率,有人提出了混合圖像壓縮算法,將8×8的塊分文為圖像塊和文本,分別采用動態(tài)的JPEG壓縮和JPEG-LS壓縮[2];也有人采用基于圖像編碼的方法,并針對文本和自然圖像的差別進行改進。但當該算法對于實時傳輸系統(tǒng)來說,編碼速度較慢,處理的幀數較低。另外,以上算法在處理高清視頻時,壓縮率較低導致實時性較差。對此,本文提出將H.264視頻壓縮技術應用到虛擬網絡計算中。
2.1H.264 算法的介紹
H.264是一種視頻高壓縮技術,是由國際電信標準化部門 (ITUT) 和動態(tài)圖像專家組(MPEG)聯(lián)合視頻組(JVT)共同提出的數字視頻編解碼器的標準。H.264編碼具有很高的編碼效率,并且H.264具有很強的網絡適應性,能更好的適應無線網絡的應用。H.264算法的核心是預測編碼,預測編碼包括幀內預測和幀間預測。幀內預測的作用主要是消除時間冗余,幀間預測的作用主要是消除空間冗余。幀間預測劃分模式是根據樹狀結構進行劃分,主要采用全搜索算法進行搜索,全搜索就是為了選擇最優(yōu)的預測模式把運動搜索范圍內的所以可能的位置全搜索一遍。這種方法的算法復雜度很高并且編碼效率較低。幀間模式在編碼過程中占用了大量的時間,因此,為了提高虛擬網絡計算的實時性,對幀間預測編碼的模式選擇進行優(yōu)化就尤為重要。為了降低算法的計算復雜度,提高編碼的效率,本文將針對模式搜索進行優(yōu)化。本文為了選擇最優(yōu)的預測模式對模式分類,然后再判定選擇幀內預測還是幀間預測。
2.2H.264像素塊預測編碼算法的優(yōu)化
預測編碼包括幀內預測和幀間預測。視頻編碼的冗余主要是時間冗余,其次是空間冗余。幀間預測的作用主要是消除時間冗余。它是利用視頻圖像幀間的相關性來進行圖像壓縮。幀間預測就是時域預測,就是根據之前編碼過的圖像來預測要編碼的圖像。幀間預測在進行預測時會采用樹狀劃分模式對所有的模式進行運動估計,選出最佳預測模式來作運動補償。
本文選擇把所有的模式分成4個模式集合M0、M1、M2和M3。M0包括SKIP模式;M1和M2均是幀間分割模式,M1包含了3個幀間分割模式,M2包含了4個較小的幀間分割模式,M3包含了Intra 16×16和Intra 4×4兩種幀內模式。模式具體的分類如下所示:
首先搜索M0集合,一旦滿足SKIP模式,就可以避免其他模式的判斷。從而可以降低計算復雜度,減少預測編碼時間。根據平均絕對差值(MAD)來判定是否使用幀內模式;如果不使用幀內模式,再繼續(xù)搜索幀間模式集合M1,若有最佳模式則停止搜索;否則繼續(xù)搜索模式M2,直至找到最佳模式。首先判定模式M0是否為當前宏塊的最佳模式計算。具體方法是判斷SKIP模式的率失真代價J和預定閾值U。當預定閾值大于J(SKIP)時,則確定模式M0為當前的最佳模式。若滿足模式M0,選擇過程即可終止,避免了其他模式的判斷。閾值的公式如(1)。
然后,去除mx和my兩個宏塊的均值,如式(2)。式中的K表示宏塊大小,xij和yij分別是宏塊中像素的亮度值。平均絕對差值MAD為常用的匹配準則,它結合公式(1)可以判定P幀在模式選擇時是選擇幀內模式還是幀間模式。判斷方法如公式(3)。如果:
就要求P幀選擇幀內模式,即模式M3。當小于等于U時P幀選擇幀間模式。由于模式M1在實際的模式選擇中所占比例較大[5],若確定M1是否為最佳模式,則可以降低計算復雜度,所以本文先在模式M1中搜索最優(yōu)模式。若M1模式集合中沒有最優(yōu)模式,那么就繼續(xù)搜索M2模式集合,直到找到最優(yōu)模式為止。
為了驗證算法的有效性,本文用開源的 X264代碼進行測試。本文采用的測試序列為foreman和news,在對測試序列進行壓縮和解壓縮后的結果如下。由表1可以看出,經過優(yōu)化后的算法叫優(yōu)化前編碼時間有明顯的縮短。盡管表2顯示峰值信噪比有所下降,但是不會影響到圖像質量。因此,本文算法對幀間預測有了明顯的優(yōu)化。
表1 優(yōu)化后的算法與X.264編碼時間的對比(ms)
表2 優(yōu)化后的算法與X.264峰值信噪比的對比(db)
本文選取了另外的3種編碼方法與本算法進行了比較及分析。三種方法包括:VNC中的Hextile無損壓縮算法;Jpeg有損壓縮算法;Dynamic混合壓縮算法。用四種壓縮算法對同一圖像(原始圖像為1407KB)進行壓縮和解壓縮。實驗結果如表3、表4所示。
表3 各算法的編碼解碼時間(ms)
表4 各算法的峰值信噪比(db)
通過實驗結果的比較分析,本文算法相對于其他的方法,信噪比有明顯的提高,運算速度也較快,完全滿足系統(tǒng)實時性的要求。
本文將H.264視頻壓縮技術應用到VNC的編碼模塊,并且為了提高圖像編碼效率,對H.264的預測編碼進行優(yōu)化。首先分析了影響編碼效率的原因,并針對幀間預測中全搜索算法的進行優(yōu)化,即對H.264幀間宏塊模式選擇算法進行分析,優(yōu)化選擇,通過預定閾值和平均絕對差值計算宏塊間的相似性來判斷是幀內預測或者幀間預測,避免了對所有模式進行遍歷。通過對測試序列進行測試,驗證了算法在沒有影響到圖像質量的情況下,壓縮效率有了明顯的提高并能夠滿足VNC的實時性。
[1]VNC 介紹.http://baike.baidu.com/view/160932.htm.
[2]SAID A.Compression of compound images and video for enabling rich media in embedded systems[C].International Conference on Visual Communication and Images Processing.San Jose,CA:SPIE,2004:69-82.
[3]梁飛碟,李錦濤,史紅周.虛擬網絡計算(VNC)協(xié)議中的編碼方法[J].計算機應用,2004,24(6):1-3.
[4]金磊,謝偉凱,林藝等.基于H.264的屏幕視頻實時編碼器優(yōu)化[J].計算機工程,2012,38(16):18-22.
[5]陳政,何衛(wèi)鋒.基于方向信息的幀內預測快速模式選擇算法[J].微計算機信息,2012,28(9):344-345.
[6]張哲,趙磊,于瀟等.基于H.264的嵌入式視頻監(jiān)控系統(tǒng)的設計與實現(xiàn)[J].山東理工大學學報:自然科學版,2011,25(5):71-74.
吳建(1970—),四川人,碩士,高級工程師,現(xiàn)就職于重慶郵電大學。
錢浩【通訊作者】(1990—),山東棗莊人,碩士研究生。