孟禎琪, 朱金秀, 朱順五
MENGZhenqi, ZHUJinxiu, ZHUshunwu
河海大學 物聯(lián)網(wǎng)工程學院 江蘇 常州 213022
College of Internet Of Things Engineering, Hohai University, Changzhou, Jiangsu 213022
在以 Slepian-Wolf提出的分布式無損編碼理論[1]和Wyner-Ziv提出的分布式有損編碼理論[2]為基礎(chǔ)的分布式視頻編碼(Distributed Video Coding,簡稱DVC)中,邊信息(side information,簡稱SI)是系統(tǒng)解碼端對WZ幀生成的一個估計,它可以看作是WZ幀的加噪版本,邊信息的質(zhì)量越高,也就和WZ幀越相似,在解碼時需要解碼端傳送的校驗碼也就越少,所以邊信息的質(zhì)量直接影響著編解碼器的性能。
Ascenso等人提出運動補償外推算法[3-4](簡稱MCTF)和運動補償內(nèi)插算法[5](簡稱MCTI)這兩種經(jīng)典方法,主要基于物體運動對稱性這一假設(shè),通過相鄰關(guān)鍵幀進行運動估計以獲得物體運動矢量,從而生成邊信息幀。為提高邊信息質(zhì)量,文獻[6]提出雙向運動估計算法,對初始運動矢量進行修正;文獻[7]采用加權(quán)矢量中值濾波器從運動矢量集合中選出最優(yōu)的運動矢量;文獻[8]提出分像素運動估計算法,并通過實驗得出半像素運動估計效果最好的結(jié)論。由于這兩種經(jīng)典方法建立于物體運動對稱性這一假設(shè),在運動估計和計算運動矢量時缺少原始WZ幀的相關(guān)信息,而僅僅依靠對運動估計算法進行改進增益不大,因此學者們對由編碼端提供輔助信息的算法進行了研究。Torres等人提出迭代邊信息算法[9],得到的解碼幀由于含有當前WZ幀的相關(guān)信息,所以可以被用來迭代地增強邊信息質(zhì)量。文獻[10]基于該算法,通過解碼幀的概率密度函數(shù)檢測出不正確的運動矢量后通過重新估計生成可靠的運動矢量。Aaron等人提出基于哈希碼的運動補償算法[11],該算法通過編碼端將原始WZ幀的一部分DCT系數(shù)變換成哈希碼傳送到解碼端輔助生成邊信息。文獻[12]提出有反饋的哈希碼運動補償算法,在解碼端找出初始邊信息中質(zhì)量較差的圖像塊之后,向編碼端進行反饋,請求編碼端發(fā)送該部分輔助信息來增強邊信息質(zhì)量。
本文針對MCTI算法在運動估計中會產(chǎn)生運動矢量不正確的問題,根據(jù)視頻序列的時空相關(guān)性,利用小波變換能有效的提取圖像信息的特點,提出由編碼端自適應傳送小波系數(shù)輔助解碼端優(yōu)化邊信息的算法。
文章提出的基于小波變換的分布式視頻編碼系統(tǒng)如圖1所示,系統(tǒng)將輸入的視頻序列分成WZ幀和K幀,其中偶數(shù)幀為WZ幀,奇數(shù)幀為K幀。在編碼端,對于K幀,采用傳統(tǒng)的H.264/AVC幀內(nèi)編碼算法;而對于WZ幀,則依次經(jīng)過DCT變換、量化、提取比特面這幾個過程,然后通過Turbo編碼生成碼流,將校驗位存儲在緩存中,根據(jù)解碼端的反饋信息傳輸相應的校驗位。與此同時,編碼端通過WZ幀與前一K幀進行塊分類和小波變換處理生成小波變換系數(shù),傳送至解碼端輔助邊信息生成。在解碼端,對K幀仍采用傳統(tǒng)H.264/AVC幀內(nèi)解碼算法,通過已解碼的相鄰K幀進行MCTI生成邊信息后,將對邊信息進行DCT變換后的變換系數(shù)傳送到Turbo解碼器,與接收到的校驗碼進行聯(lián)合解碼,若不能正確解碼,則需要向編碼端請求更多的校驗碼,直到能夠正確解碼,最后經(jīng)過DCT逆變換重建WZ幀。由此可以看出邊信息在整個系統(tǒng)中起著至關(guān)重要的作用,本文對MCTI生成的邊信息進行改進,在編碼端加入小波優(yōu)化模塊,如圖1中虛線框所示,具體將在后續(xù)章節(jié)中進行詳述。
圖1 基于小波變換的分布式視頻編碼
由于MCTI生成邊信息的過程主要基于物體運動對稱性的假設(shè),在進行運動估計時容易造成運動矢量與實際情況不符,因此本文根據(jù)小波變換對圖像信息提取的有效性,由圖像塊的時空相關(guān)性將圖像塊分成靜止塊、簡單紋理運動塊和復雜紋理運動塊,并由塊的模式自適應判斷小波變換模式生成輔助信息優(yōu)化邊信息,提高邊信息質(zhì)量。
系統(tǒng)讀入圖像后,將圖像分成8*8的圖像塊,計算當前WZ幀與前一關(guān)鍵幀對應圖像塊的絕對誤差和,即SAD值:
其中W Z2i,j和B2i-1,j分別表示當前 WZ幀和前一關(guān)鍵幀對應的圖像塊,WZ(i,j) 為圖像塊中的像素值,m、n為圖像塊的大小。SAD的值越小,則對應圖像塊的相關(guān)性就越高。如式(2)所示,將SAD值小于閾值T1的塊劃分為相對靜止塊B1,大于閾值T1的塊劃分為相對運動塊B2。
對于相對運動塊B2,其紋理復雜度也存在著差異,因此需要對運動塊計算其方差Var判斷紋理復雜度:
其中 WZ2i,j和 WZ2k,l為當前WZ幀的圖像塊,m、n為圖像塊大小。如式(4)所示,設(shè)定閾值T2,若該值小于閾值T2,則該運動塊的紋理復雜度低,為簡單紋理塊B3;若該值大于閾值T2,則該運動塊的紋理復雜度高,為復雜紋理塊B4。
在將圖像塊分類后,需要對不同圖像塊進行塊小波模式的選擇。對N*N的像素塊進行小波變換,可將二維像素矩陣集成為一個單一的一維向量:
圖2 小波變換
如式(6)所示,對于B1,由于其邊信息質(zhì)量較好,所以不進行小波變換,而對于B4,紋理復雜度高,在邊信息中對應的圖像塊質(zhì)量相對較低,需要編碼端傳送較多的輔助信息對其進行優(yōu)化,因此對B4進行一次小波變換,而B3只需要較少的輔助信息,所以進行二次小波變換,各自提取其低頻系數(shù),而這些輔助信息遠小于原始圖像數(shù)據(jù),不會給系統(tǒng)帶來過大的負擔。最后采用文獻[14]的輔助信息編碼方式和傳輸信道進行輔助信息處理和傳輸,由解碼端優(yōu)化邊信息
綜上所述,文章提出了改進的邊信息優(yōu)化方法,如圖3所示,具體步驟如下:
(1)通過當前 WZ幀與前一關(guān)鍵幀之間的SAD計算和閾值判斷,將圖像塊分為相對靜止塊和相對運動塊。
(2)計算相對運動塊的方差值,并對其進行閾值判斷,判斷運動塊的紋理復雜度。
(3)對不同紋理復雜度的運動塊進行不同次數(shù)的小波變化,提取其低頻系數(shù)。
(4)解碼端通過MCTI生成初始邊信息,并接收解碼端傳送來的各運動塊的輔助信息,對初始邊信息中對應的圖像塊進行系數(shù)替換,生成改進的邊信息。
圖3 改進的邊信息優(yōu)化方案
為了評估本文提出的算法的有效性,以圖1所示的DVC框架為軟件實驗平臺,對格式為 QCIF的典型圖像序列 salesman,foreman以及football的1~121幀進行測試,幀率為15幀/s,其它的測試條件如下:GOP長度為2,即奇數(shù)幀為關(guān)鍵幀,偶數(shù)幀為WZ幀;設(shè)定T1為當前WZ幀與前一關(guān)鍵幀對應像素塊SAD值的平均值;設(shè)定T2為WZ幀內(nèi)像素塊方差的平均值。在此環(huán)境下對4組圖像序列進行測試,與文獻[7]所提的邊信息內(nèi)插法進行比較,以峰值信噪比 PSNR為衡量標準,測試結(jié)果如圖4、圖5及圖6所示:在運動不劇烈的salesman序列中,本文算法與邊信息內(nèi)插法的PSNR平均差距約為0.47dB,而碼率平均增加了約4.83%;在運動相對較劇烈的foreman序列中,本文算法與邊信息內(nèi)插法的PSNR平均差距約為0.93dB,碼率則平均增加了約8.27%;在運動比較劇烈的football序列中本文算法與邊信息內(nèi)插法的 PSNR平均差距約為1.87dB,碼率則平均增加了約13.2%。數(shù)據(jù)表明本文算法在運動程度越劇烈的視頻序列中表現(xiàn)越優(yōu)異,這是因為在運動劇烈的圖像中,傳統(tǒng)邊信息生成法對于不對稱運動處理不夠精確,需要輔助信息對邊信息進行進一步處理,這樣才能得到更精確的邊信息,而從對圖像的增益來看,本文算法帶來的碼率增加并不大。由圖中所示的算法率失真性能可以看出,算法在增加碼率負擔不大的情況下,對邊信息的質(zhì)量有著比較明顯的改進。對foreman的第二幀進行測試,如圖7顯示,可以看出本文算法和內(nèi)插算法相比,在增加較小碼率的情況下,生成的邊信息與WZ幀更接近,即效果更好。
圖4 salesman序列編碼性能比較
圖5 foreman序列編碼性能比較
圖6 football序列編碼性能比較
圖7 foreman序列第二幀的比較
本文針對DVC中邊信息由于運動估計的不準確而造成生成質(zhì)量不高的問題,提出基于小波變換的邊信息生成算法,聯(lián)系小波變換能有效提取圖像相關(guān)信息的特點,由編碼端根據(jù)圖像的時空相關(guān)性,自適應的判斷小波變換模式對質(zhì)量較差的邊信息圖像塊進行不同的小波變換,輔助生成邊信息,提高邊信息質(zhì)量。實驗結(jié)果表明,針對具有不同時空相關(guān)性的視頻序列,本文提出的算法在一定程度上對邊信息質(zhì)量有了比較明顯的提高。
[1]Slepian D., Wolf J..Noiseless coding of correlated information sources[J].IEEE Trans on Information Theory,1973,19(4):471-480.
[2]Wyner A., Ziv J..Rate-distortion function for source coding with side information at the decoder[J].IEEE Trans on Information Theory,1976,22(1):1-10.
[3]Ascenso J., Brites C., Pereira F..Content adaptive Wyner-Ziv video coding driven by motion activity[C].IEEE International Conference on Image Processing, Atlanta, GA, USA,October 2006:605-608.
[4]王安紅.分布式視頻編碼研究[D].北京:北京交通大學,2009.
[5]Natario L., Brites C., Ascenso J..Extrapolating Side Information for Low-Delay Pixel-Domain Distributed Video Coding[C].International Workshop on Very Low Bitrate Video-VLBV, Sardinia, Italy, September 2005:16~21.
[6]Ascenso J., Brites C., Pereira F..Improving Frame Interpolation with Spatial Motion Smoothing for Pixel Domain Distributed Video Coding[C].5th EURASIP Conference on Speech and Image Processing, Multimedia Communications and Services, Slovak, July 2005
[7]Ascenso J., Brites C., Pereira F..Improving Frame Interpolation with Spatial Motion Smoothing for Pixel Domain Distributed Video Coding[C].5th EURASIP Conference on Speech and Image Processing, Multimedia Communications and Services, Slovak, July 2005
[8]Li Z., Liu L., Delp E.J..Rate-distortion analysis of motion side estimation in Wyner-Ziv video coding[J].IEEE Transactions on Image Processing, January 2007,16(1):98~113
[9]Xavier Artigas, Luis Torres.Iterative Generation of Motion-Compensated Side Information for Distributed Video Coding[C].Proc.of IEEE Int.Conf.on Image Processing,2005:0-7803-9134
[10]Ye S., Ouaret M., Dufaux F., et al.Improved side Information generation with iterative decoding and frame interpolation for Distributed Video Coding[C].Proceedings of ICIP2008,San Diego,USA,2008:2228-2231.
[11]Aaron A., Rane S., Girod B..Wyner-ziv Video Coding with Hash-based Motion Compensation at the Receiver[C].IEEE International Conference on Image Processing,Singapore,Oct.2004:3097-3100.
[12]Maugey T., Yaacoub C., Farah J..Side Information Enhancement using an Adaptive Hash-bashed Genetic Algorithm in a Wyner-Ziv context[C].Proceedings of MMSP2010,Saint-Malo,France,October.2010:298-302.
[13]Rafael C.Gonzales, Richard E.Woods.Digital Image Processing Using MATLAB[M].阮秋琦等譯.MATLAB 版.北京:電子工業(yè)出版社,2005:179~210.
[14]Ascenso J., Pereira F..Adaptive Hash-Based Side Information Exploitation For Efficient Wyner-Ziv Video Coding[C].IEEE International Conference on Image Processing,2007.ICIP 2007(2007)