李蓮,魏石磊
(天津理工大學(xué) 自動化學(xué)院,天津 300384)
隨著消費者需求與多媒體娛樂的大幅提升,上一代互聯(lián)網(wǎng)標(biāo)準(zhǔn)與視頻解決方案已經(jīng)無法滿足高速增長的高清視頻傳輸要求,在此背景下,面向未來需求的下一代互聯(lián)網(wǎng)解決方案——HTML 5網(wǎng)絡(luò)開發(fā)標(biāo)準(zhǔn)與WebM VP8視頻壓縮格式應(yīng)運而生。VP8編碼擁有極高的壓縮比和壓縮質(zhì)量,而基于VP8編碼的新型圖片壓縮格式Webp也比JPEG圖片具有更高的壓縮率。
PSNR(Peak Signal to Noise Ratio,峰值信噪比)是一個表示信號最大功率和對其產(chǎn)生影響的噪聲功率之間比值的術(shù)語,常用對數(shù)分貝來表示。PSNR常用作圖像壓縮領(lǐng)域中信號重建測量,它通過均方差(Mean Square Error,MSE)進(jìn)行定義。兩個M×N單色圖像I和K,如果噪聲近似,那么它們的MSE定義為:
峰值信噪比定義為:
其中amax=2k-1,k常取8。PSNR和MSE都基于像素灰度值進(jìn)行統(tǒng)計和平均計算,忽視了圖像對人眼的影響,故而不能完整反映出圖像質(zhì)量。
圖像的像素之間是相關(guān)的,這種相關(guān)性蘊含著圖像的結(jié)構(gòu)信息。SSIM(Structural Similarity Index,結(jié)構(gòu)相似度)是一種衡量兩幅圖像相似度的指標(biāo)。將原圖像塊x和失真圖像塊y的失真SSIM建模為亮度l(x,y)、對比度c(x,y)和結(jié)構(gòu)信息s(x,y)三分量的組合:
亮度、對比度和結(jié)構(gòu)信息是與x和y的均值μx、μy,標(biāo)準(zhǔn)差σx、σy或協(xié)方差σxy有關(guān)的量,表達(dá)式分別為:
C1、C2和C3是為了避免分母為零而添加的小常數(shù)[1]。用SSIM評判圖像質(zhì)量時,先把圖像分成重疊或者不重疊的大小相等的子塊(一般為8×8大小),然后用式(3)計算每一個子塊的SSIM值,再用所有子塊SSIM值的平均值作為整幅圖像質(zhì)量的度量。SSIM值越高,表明失真圖像和原圖像相似度越高,失真圖像的質(zhì)量越高。
Google收購On2科技公司并隨后開放了其擁有的VP8編碼技術(shù)的源代碼。VP8采用的新技術(shù)有:基于虛擬參考幀的高級預(yù)計編碼、基于宏塊級的多線程技術(shù)、改進(jìn)的局域參考編碼、增加復(fù)雜度的先進(jìn)上下文熵編碼、稀疏目標(biāo)區(qū)域的自適應(yīng)回路濾波等,從而能以更少的數(shù)據(jù)提供更高質(zhì)量的視頻。
Google稱VP8能夠在相同碼率下提供比當(dāng)今流行的X.264更好的畫質(zhì),或是在相同畫質(zhì)下使用更少的帶寬。而X.264編碼則是現(xiàn)在最為流行的編碼技術(shù),屬于MPEG高清編碼部分,是一種高度壓縮的數(shù)字視頻編解碼器標(biāo)準(zhǔn)。現(xiàn)在兩種編碼都獲得了大量廠商的支持。
利用有代表性的視頻場景來測試兩種不同的編碼技術(shù)在視頻壓縮和還原質(zhì)量上的性能。不同景深場景的測試視頻如圖1所示。測試視頻分別用Handbrake以X.264編碼和FFmpeg 0.6以VP8形式編碼。而后利用MSU MQVT軟件測試場景的PSNR和SSIM。測試視頻的PSNR數(shù)據(jù)和測試視頻的SSIM數(shù)據(jù)如圖2、圖3所示。
通過軟件測試對比分析看出,VP8編碼的視頻質(zhì)量與X.264差別不大,某些場景高質(zhì)量編碼的X.264圖像要略優(yōu)于VP8編碼,但VP8編碼的視頻大小要略小于X.264。VP8編碼剛剛開源,還沒有很成熟的編解碼器,無法和多年發(fā)展的X.264編碼器相比,不過上述測試結(jié)果表明VP8編碼有很大的發(fā)展空間。
Webp是Google為了滿足現(xiàn)在越來越高的帶寬需求,在基于VP8編碼的基礎(chǔ)上提出的一種新型圖片格式。Webp利用預(yù)測編碼技術(shù),通過部分像素塊的顏色來預(yù)測其鄰近塊的顏色值,并只記錄兩者的差值,因為多數(shù)情況下兩者差距很小,甚至零差距,因而大大提高了壓縮的比率。Google想打造出一種文件體積小而畫質(zhì)和JPEG一樣的圖像格式,在保證畫質(zhì)的前提下提高網(wǎng)頁圖像瀏覽的
圖1 不同景深場景的測試視頻
圖2 測試視頻的PSNR數(shù)據(jù)
圖3 測試視頻的SSIM數(shù)據(jù)
速度。
Webp采用的新技術(shù)有:
◆Fancy的提升采樣算法,可有效降低圖片內(nèi)色彩邊緣的像素;
◆同一張圖片里的不同區(qū)域進(jìn)行不同形式的壓縮,在圖片質(zhì)量和圖片大小上實現(xiàn)最佳平衡;
◆預(yù)測編碼技術(shù),通過部分像素塊的顏色來預(yù)測其鄰近塊的顏色值,并只記錄兩者的差值,提高壓縮比。
為了對比分析Webp和JPEG在圖片壓縮和還原質(zhì)量上的強(qiáng)弱,編寫了計算PSNR和SSIM的MATLAB程序。
PSNR的MATLAB代碼如下:
測試使用圖片為800×600像素的PNG圖片,轉(zhuǎn)換成Webp(需要安裝WebpCodec才能顯示)和JPEG后顯示如圖4所示。通過MATLAB計算,測試數(shù)據(jù)對比如表1所列。
圖4 三種格式的截圖對比
表1 測試數(shù)據(jù)對比
通過分析可看出JPEG具有比Webp略好的圖像壓縮質(zhì)量,但是Webp在畫質(zhì)上的損失換來了壓縮率的極大提升。通過高壓縮的FFmpeg編碼,雖然獲得了極高的壓縮比,但圖像質(zhì)量損失嚴(yán)重。
FFmpeg是一個開源免費跨平臺的視頻和音頻流及圖片編碼方案,它提供了錄制、轉(zhuǎn)換以及流化音視頻的完整解決方案。它包含了非常先進(jìn)的音頻/視頻編解碼庫libavcodec。Libwebp是Google公司編寫的轉(zhuǎn)換其他格式圖片為Webp格式的編解碼器。測試用圖片為800×600像素的PNG圖片,利用FFmpeg和Libwebp轉(zhuǎn)換工具在DOS環(huán)境下輸入如下格式轉(zhuǎn)換命令:
ffmpeg-i myfile.png-psnr-target out.jpg
cwebp.exe-tool to encode an image file(e.g.JPEG or PNG)into WebP
可以將測試用PNG圖片轉(zhuǎn)換成JPEG和Webp格式,經(jīng)驗證轉(zhuǎn)換工具的測試結(jié)果與編程測試結(jié)果基本相同。
通過研究發(fā)現(xiàn)Webp格式圖片的壓縮質(zhì)量略低于JPEG格式圖片,可能是由于沒有成熟的編解碼器的原因。但是在損失了畫質(zhì)的基礎(chǔ)上,Webp格式圖片的壓縮率大為提升,優(yōu)于JPEG格式。經(jīng)過測試分析表明,人眼基本無法分辨出Webp格式畫質(zhì)損失,故而在帶寬需求極為緊張的時代,Webp格式具有很好的發(fā)展前景。
[1]佟雨兵,張其善,祁云平等.基于PSNR與SSIM聯(lián)合的圖像質(zhì)量評價模型[J].中國圖像圖形學(xué)報,2006(12):1758-1762.
[2]Wang Z,Bovik A C,Sheikh H R et al.image quality assessinent:from error visibility to structural similarity[J].IEEE Transactions on Image Processing,2004,13(4):600-612.
[3]ITU.T851-2005Information technology-jpeg xr image coding system-part 2:Image coding specification [S].ITU,2005.
[4]楊高波,杜青松.MATLAB圖像/視頻處理應(yīng)用及實例[M].北京:電子工業(yè)出版社,2010(1):76-93.
[5]韓含.視頻質(zhì)量PSNR的無參考評估方法研究[D].西安:電子科技大學(xué),2009.
[6]鄧中亮.基于H.264的視頻編/解碼與控制技術(shù)[M].北京:北京郵電大學(xué)出版社,2010.