孟禎琪, 朱金秀, 朱順五
MENGZhenqi, ZHUJinxiu, ZHUshunwu
河海大學(xué) 物聯(lián)網(wǎng)工程學(xué)院 江蘇 常州 213022
College of Internet Of Things Engineering, Hohai University, Changzhou, Jiangsu 213022
在以 Slepian-Wolf提出的分布式無(wú)損編碼理論[1]和Wyner-Ziv提出的分布式有損編碼理論[2]為基礎(chǔ)的分布式視頻編碼(Distributed Video Coding,簡(jiǎn)稱DVC)中,邊信息(side information,簡(jiǎn)稱SI)是系統(tǒng)解碼端對(duì)WZ幀生成的一個(gè)估計(jì),它可以看作是WZ幀的加噪版本,邊信息的質(zhì)量越高,也就和WZ幀越相似,在解碼時(shí)需要解碼端傳送的校驗(yàn)碼也就越少,所以邊信息的質(zhì)量直接影響著編解碼器的性能。
Ascenso等人提出運(yùn)動(dòng)補(bǔ)償外推算法[3-4](簡(jiǎn)稱MCTF)和運(yùn)動(dòng)補(bǔ)償內(nèi)插算法[5](簡(jiǎn)稱MCTI)這兩種經(jīng)典方法,主要基于物體運(yùn)動(dòng)對(duì)稱性這一假設(shè),通過相鄰關(guān)鍵幀進(jìn)行運(yùn)動(dòng)估計(jì)以獲得物體運(yùn)動(dòng)矢量,從而生成邊信息幀。為提高邊信息質(zhì)量,文獻(xiàn)[6]提出雙向運(yùn)動(dòng)估計(jì)算法,對(duì)初始運(yùn)動(dòng)矢量進(jìn)行修正;文獻(xiàn)[7]采用加權(quán)矢量中值濾波器從運(yùn)動(dòng)矢量集合中選出最優(yōu)的運(yùn)動(dòng)矢量;文獻(xiàn)[8]提出分像素運(yùn)動(dòng)估計(jì)算法,并通過實(shí)驗(yàn)得出半像素運(yùn)動(dòng)估計(jì)效果最好的結(jié)論。由于這兩種經(jīng)典方法建立于物體運(yùn)動(dòng)對(duì)稱性這一假設(shè),在運(yùn)動(dòng)估計(jì)和計(jì)算運(yùn)動(dòng)矢量時(shí)缺少原始WZ幀的相關(guān)信息,而僅僅依靠對(duì)運(yùn)動(dòng)估計(jì)算法進(jìn)行改進(jìn)增益不大,因此學(xué)者們對(duì)由編碼端提供輔助信息的算法進(jìn)行了研究。Torres等人提出迭代邊信息算法[9],得到的解碼幀由于含有當(dāng)前WZ幀的相關(guān)信息,所以可以被用來迭代地增強(qiáng)邊信息質(zhì)量。文獻(xiàn)[10]基于該算法,通過解碼幀的概率密度函數(shù)檢測(cè)出不正確的運(yùn)動(dòng)矢量后通過重新估計(jì)生成可靠的運(yùn)動(dòng)矢量。Aaron等人提出基于哈希碼的運(yùn)動(dòng)補(bǔ)償算法[11],該算法通過編碼端將原始WZ幀的一部分DCT系數(shù)變換成哈希碼傳送到解碼端輔助生成邊信息。文獻(xiàn)[12]提出有反饋的哈希碼運(yùn)動(dòng)補(bǔ)償算法,在解碼端找出初始邊信息中質(zhì)量較差的圖像塊之后,向編碼端進(jìn)行反饋,請(qǐng)求編碼端發(fā)送該部分輔助信息來增強(qiáng)邊信息質(zhì)量。
本文針對(duì)MCTI算法在運(yùn)動(dòng)估計(jì)中會(huì)產(chǎn)生運(yùn)動(dòng)矢量不正確的問題,根據(jù)視頻序列的時(shí)空相關(guān)性,利用小波變換能有效的提取圖像信息的特點(diǎn),提出由編碼端自適應(yīng)傳送小波系數(shù)輔助解碼端優(yōu)化邊信息的算法。
文章提出的基于小波變換的分布式視頻編碼系統(tǒng)如圖1所示,系統(tǒng)將輸入的視頻序列分成WZ幀和K幀,其中偶數(shù)幀為WZ幀,奇數(shù)幀為K幀。在編碼端,對(duì)于K幀,采用傳統(tǒng)的H.264/AVC幀內(nèi)編碼算法;而對(duì)于WZ幀,則依次經(jīng)過DCT變換、量化、提取比特面這幾個(gè)過程,然后通過Turbo編碼生成碼流,將校驗(yàn)位存儲(chǔ)在緩存中,根據(jù)解碼端的反饋信息傳輸相應(yīng)的校驗(yàn)位。與此同時(shí),編碼端通過WZ幀與前一K幀進(jìn)行塊分類和小波變換處理生成小波變換系數(shù),傳送至解碼端輔助邊信息生成。在解碼端,對(duì)K幀仍采用傳統(tǒng)H.264/AVC幀內(nèi)解碼算法,通過已解碼的相鄰K幀進(jìn)行MCTI生成邊信息后,將對(duì)邊信息進(jìn)行DCT變換后的變換系數(shù)傳送到Turbo解碼器,與接收到的校驗(yàn)碼進(jìn)行聯(lián)合解碼,若不能正確解碼,則需要向編碼端請(qǐng)求更多的校驗(yàn)碼,直到能夠正確解碼,最后經(jīng)過DCT逆變換重建WZ幀。由此可以看出邊信息在整個(gè)系統(tǒng)中起著至關(guān)重要的作用,本文對(duì)MCTI生成的邊信息進(jìn)行改進(jìn),在編碼端加入小波優(yōu)化模塊,如圖1中虛線框所示,具體將在后續(xù)章節(jié)中進(jìn)行詳述。
圖1 基于小波變換的分布式視頻編碼
由于MCTI生成邊信息的過程主要基于物體運(yùn)動(dòng)對(duì)稱性的假設(shè),在進(jìn)行運(yùn)動(dòng)估計(jì)時(shí)容易造成運(yùn)動(dòng)矢量與實(shí)際情況不符,因此本文根據(jù)小波變換對(duì)圖像信息提取的有效性,由圖像塊的時(shí)空相關(guān)性將圖像塊分成靜止塊、簡(jiǎn)單紋理運(yùn)動(dòng)塊和復(fù)雜紋理運(yùn)動(dòng)塊,并由塊的模式自適應(yīng)判斷小波變換模式生成輔助信息優(yōu)化邊信息,提高邊信息質(zhì)量。
系統(tǒng)讀入圖像后,將圖像分成8*8的圖像塊,計(jì)算當(dāng)前WZ幀與前一關(guān)鍵幀對(duì)應(yīng)圖像塊的絕對(duì)誤差和,即SAD值:
其中W Z2i,j和B2i-1,j分別表示當(dāng)前 WZ幀和前一關(guān)鍵幀對(duì)應(yīng)的圖像塊,WZ(i,j) 為圖像塊中的像素值,m、n為圖像塊的大小。SAD的值越小,則對(duì)應(yīng)圖像塊的相關(guān)性就越高。如式(2)所示,將SAD值小于閾值T1的塊劃分為相對(duì)靜止塊B1,大于閾值T1的塊劃分為相對(duì)運(yùn)動(dòng)塊B2。
對(duì)于相對(duì)運(yùn)動(dòng)塊B2,其紋理復(fù)雜度也存在著差異,因此需要對(duì)運(yùn)動(dòng)塊計(jì)算其方差Var判斷紋理復(fù)雜度:
其中 WZ2i,j和 WZ2k,l為當(dāng)前WZ幀的圖像塊,m、n為圖像塊大小。如式(4)所示,設(shè)定閾值T2,若該值小于閾值T2,則該運(yùn)動(dòng)塊的紋理復(fù)雜度低,為簡(jiǎn)單紋理塊B3;若該值大于閾值T2,則該運(yùn)動(dòng)塊的紋理復(fù)雜度高,為復(fù)雜紋理塊B4。
在將圖像塊分類后,需要對(duì)不同圖像塊進(jìn)行塊小波模式的選擇。對(duì)N*N的像素塊進(jìn)行小波變換,可將二維像素矩陣集成為一個(gè)單一的一維向量:
圖2 小波變換
如式(6)所示,對(duì)于B1,由于其邊信息質(zhì)量較好,所以不進(jìn)行小波變換,而對(duì)于B4,紋理復(fù)雜度高,在邊信息中對(duì)應(yīng)的圖像塊質(zhì)量相對(duì)較低,需要編碼端傳送較多的輔助信息對(duì)其進(jìn)行優(yōu)化,因此對(duì)B4進(jìn)行一次小波變換,而B3只需要較少的輔助信息,所以進(jìn)行二次小波變換,各自提取其低頻系數(shù),而這些輔助信息遠(yuǎn)小于原始圖像數(shù)據(jù),不會(huì)給系統(tǒng)帶來過大的負(fù)擔(dān)。最后采用文獻(xiàn)[14]的輔助信息編碼方式和傳輸信道進(jìn)行輔助信息處理和傳輸,由解碼端優(yōu)化邊信息
綜上所述,文章提出了改進(jìn)的邊信息優(yōu)化方法,如圖3所示,具體步驟如下:
(1)通過當(dāng)前 WZ幀與前一關(guān)鍵幀之間的SAD計(jì)算和閾值判斷,將圖像塊分為相對(duì)靜止塊和相對(duì)運(yùn)動(dòng)塊。
(2)計(jì)算相對(duì)運(yùn)動(dòng)塊的方差值,并對(duì)其進(jìn)行閾值判斷,判斷運(yùn)動(dòng)塊的紋理復(fù)雜度。
(3)對(duì)不同紋理復(fù)雜度的運(yùn)動(dòng)塊進(jìn)行不同次數(shù)的小波變化,提取其低頻系數(shù)。
(4)解碼端通過MCTI生成初始邊信息,并接收解碼端傳送來的各運(yùn)動(dòng)塊的輔助信息,對(duì)初始邊信息中對(duì)應(yīng)的圖像塊進(jìn)行系數(shù)替換,生成改進(jìn)的邊信息。
圖3 改進(jìn)的邊信息優(yōu)化方案
為了評(píng)估本文提出的算法的有效性,以圖1所示的DVC框架為軟件實(shí)驗(yàn)平臺(tái),對(duì)格式為 QCIF的典型圖像序列 salesman,foreman以及football的1~121幀進(jìn)行測(cè)試,幀率為15幀/s,其它的測(cè)試條件如下:GOP長(zhǎng)度為2,即奇數(shù)幀為關(guān)鍵幀,偶數(shù)幀為WZ幀;設(shè)定T1為當(dāng)前WZ幀與前一關(guān)鍵幀對(duì)應(yīng)像素塊SAD值的平均值;設(shè)定T2為WZ幀內(nèi)像素塊方差的平均值。在此環(huán)境下對(duì)4組圖像序列進(jìn)行測(cè)試,與文獻(xiàn)[7]所提的邊信息內(nèi)插法進(jìn)行比較,以峰值信噪比 PSNR為衡量標(biāo)準(zhǔn),測(cè)試結(jié)果如圖4、圖5及圖6所示:在運(yùn)動(dòng)不劇烈的salesman序列中,本文算法與邊信息內(nèi)插法的PSNR平均差距約為0.47dB,而碼率平均增加了約4.83%;在運(yùn)動(dòng)相對(duì)較劇烈的foreman序列中,本文算法與邊信息內(nèi)插法的PSNR平均差距約為0.93dB,碼率則平均增加了約8.27%;在運(yùn)動(dòng)比較劇烈的football序列中本文算法與邊信息內(nèi)插法的 PSNR平均差距約為1.87dB,碼率則平均增加了約13.2%。數(shù)據(jù)表明本文算法在運(yùn)動(dòng)程度越劇烈的視頻序列中表現(xiàn)越優(yōu)異,這是因?yàn)樵谶\(yùn)動(dòng)劇烈的圖像中,傳統(tǒng)邊信息生成法對(duì)于不對(duì)稱運(yùn)動(dòng)處理不夠精確,需要輔助信息對(duì)邊信息進(jìn)行進(jìn)一步處理,這樣才能得到更精確的邊信息,而從對(duì)圖像的增益來看,本文算法帶來的碼率增加并不大。由圖中所示的算法率失真性能可以看出,算法在增加碼率負(fù)擔(dān)不大的情況下,對(duì)邊信息的質(zhì)量有著比較明顯的改進(jìn)。對(duì)foreman的第二幀進(jìn)行測(cè)試,如圖7顯示,可以看出本文算法和內(nèi)插算法相比,在增加較小碼率的情況下,生成的邊信息與WZ幀更接近,即效果更好。
圖4 salesman序列編碼性能比較
圖5 foreman序列編碼性能比較
圖6 football序列編碼性能比較
圖7 foreman序列第二幀的比較
本文針對(duì)DVC中邊信息由于運(yùn)動(dòng)估計(jì)的不準(zhǔn)確而造成生成質(zhì)量不高的問題,提出基于小波變換的邊信息生成算法,聯(lián)系小波變換能有效提取圖像相關(guān)信息的特點(diǎn),由編碼端根據(jù)圖像的時(shí)空相關(guān)性,自適應(yīng)的判斷小波變換模式對(duì)質(zhì)量較差的邊信息圖像塊進(jìn)行不同的小波變換,輔助生成邊信息,提高邊信息質(zhì)量。實(shí)驗(yàn)結(jié)果表明,針對(duì)具有不同時(shí)空相關(guān)性的視頻序列,本文提出的算法在一定程度上對(duì)邊信息質(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].北京:北京交通大學(xué),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)