周 洋 ,彭宗舉 ,張 云
(1.杭州電子科技大學(xué) 通信工程學(xué)院,浙江 杭州 310018;2.寧波大學(xué) 信息科學(xué)與工程學(xué)院,浙江 寧波 315211)
隨著立體顯示技術(shù)的不斷發(fā)展,立體視頻服務(wù)已越來越貼近廣大消費(fèi)者,應(yīng)用在手機(jī)立體電視等移動終端中[1]。與傳統(tǒng)的單通道視頻相比,立體視頻需兩路信號,要處理的數(shù)據(jù)量成倍增加,僅僅依靠網(wǎng)絡(luò)帶寬的提高和存儲容量的提升是無法從根本上解決這個問題的,需要采用高效的視頻壓縮技術(shù),才能對立體視頻數(shù)據(jù)進(jìn)行有效的存儲和傳輸。但是視頻信號在傳輸中,尤其是在無線網(wǎng)絡(luò)中傳輸,傳輸差錯是不可避免的,應(yīng)在編碼中考慮壓縮后視頻流傳輸?shù)姆€(wěn)健性。
早期的立體視頻編碼是以MPEG-2編碼標(biāo)準(zhǔn)為基礎(chǔ),文獻(xiàn)[2]在MPEG-2標(biāo)準(zhǔn)上提出了3種編碼方案,其中聯(lián)合運(yùn)動補(bǔ)償預(yù)測 (Motion Compensation Prediction,MCP)和視差補(bǔ)償預(yù)測(Disparity Compensation Prediction,DCP)的編碼方案最佳。目前的立體視頻編碼大多是基于H.264編碼標(biāo)準(zhǔn)來實(shí)現(xiàn)的,典型的立體編碼方法有 Simulcast編碼法[3]、運(yùn)動補(bǔ)償預(yù)測加視差補(bǔ)償預(yù)測(MCP+DCP)的編碼法[4]和單視點(diǎn)圖像加對應(yīng)深度圖的編碼法[5]。
以上立體視頻編碼主要以獲得更高的壓縮效率為目的,并未考慮壓縮后視頻流的抗差錯能力。另外,H.264等視頻壓縮標(biāo)準(zhǔn)都使用了預(yù)測編碼和可變長編碼,使得經(jīng)過壓縮的數(shù)據(jù)流對于傳輸差錯特別敏感。因此,為了提高移動立體視頻編碼的抗差錯性能,筆者引入靈活宏塊排序技術(shù)(Flexible Macroblock Order,F(xiàn)MO),將左右視點(diǎn)圖像進(jìn)行交織,從而使壓縮數(shù)據(jù)流的容錯性得到改善,同時也具有良好的率失真性能。
圖1為本文立體視頻編碼方案的預(yù)測結(jié)構(gòu),左視點(diǎn)圖像存放在頂場中,右視點(diǎn)圖像存放在底場中,將左右圖像以宏塊為單位進(jìn)行交織后合成如圖2所示的棋盤形分布圖。為了與單視點(diǎn)視頻服務(wù)保持兼容,立體視頻編碼預(yù)測結(jié)構(gòu)中的左視點(diǎn)圖像(圖2中白色區(qū)域)采用基于H.264編碼標(biāo)準(zhǔn)進(jìn)行獨(dú)立壓縮編碼,預(yù)測結(jié)構(gòu)采用IPPP。右視點(diǎn)圖像(圖2中黑色區(qū)域)除了參考先前時刻的相鄰幀進(jìn)行運(yùn)動補(bǔ)償預(yù)測外,還利用視點(diǎn)間相關(guān)性,參考左視點(diǎn)相鄰幀進(jìn)行視差補(bǔ)償預(yù)測,提高編碼的率失真性能。
新的H.264/AVC標(biāo)準(zhǔn)[6]定義了立體視頻信息的補(bǔ)充增強(qiáng)信息 (Supplemental Enhancement Information,SEI),用來表示立體視頻編碼中的一些輔助信息。因此可通過修改SEI語法元素來實(shí)現(xiàn)立體視頻編碼,同時由于只修改SEI內(nèi)容,還能使碼流保持良好的前向兼容性。立體視頻編碼程序的具體實(shí)現(xiàn)步驟為:
1)將SEI中的field_views_flag設(shè)置為1,表示采用場編碼方式。并將top_field_is_left_view_flag設(shè)置為1,使頂場存放左視點(diǎn)圖像,底場存放右視點(diǎn)圖像。這樣,一幀圖像的頂場和底場分別對應(yīng)立體視頻序列的左、右視點(diǎn)圖像。
2)為使用戶能自由選擇觀看立體視頻或單通道視頻,同時與傳統(tǒng)的單通道視頻服務(wù)保持兼容,這便要求立體視頻流既能完全解碼成2個通道的數(shù)據(jù),也能只解碼1個通道的數(shù)據(jù)。因此,將語法元素left_view_self_contained_flag設(shè)置為1,將left_view_self_contained_flag設(shè)置為0,即左通道視頻只采用運(yùn)動補(bǔ)償預(yù)測,而右通道視頻采用運(yùn)動補(bǔ)償加視差補(bǔ)償?shù)穆?lián)合預(yù)測方法。
3)采用H.264標(biāo)準(zhǔn)中FMO模式中的棋盤型模式,將各片通過宏塊分配映射表,將左右視點(diǎn)圖像交織成如圖2所示的宏塊位置分布圖,其中白色區(qū)域?yàn)轫攬觯谏珔^(qū)域?yàn)榈讏?。最后,頂場和底場合成一幀通過H.264/AVC編碼器實(shí)現(xiàn)立體視頻壓縮編碼。
整個具有高容錯性的棋盤式立體視頻編碼的實(shí)現(xiàn)框圖如圖3所示。
圖3 棋盤式立體視頻編碼實(shí)現(xiàn)框圖
為了測試本文方法的優(yōu)劣,實(shí)驗(yàn)仿真了Simulcast法[3],DCP+MCP法[4]及本文方法的率失真性能。測試序列選用韓國ETRI研究所的標(biāo)準(zhǔn)立體視頻序列Puppy(見圖4),其分辨力為720×480,具體的仿真參數(shù)設(shè)置見表1。
圖4 Puppy序列的左右視點(diǎn)圖像
表1 實(shí)驗(yàn)仿真參數(shù)設(shè)定表
圖5為各編碼算法的率失真性能曲線。由圖5可知,本文算法性能優(yōu)于單通道獨(dú)立編碼的Simulcast法,由于采用了聯(lián)合運(yùn)動補(bǔ)償預(yù)測和視差補(bǔ)償預(yù)測,能實(shí)現(xiàn)與MCP+DCP法相似的率失真性能,但是本文算法是在SEI中改寫語法元素代碼實(shí)現(xiàn)的,比傳統(tǒng)的MCP+DCP法具有更好的與H.264標(biāo)準(zhǔn)的兼容性。
圖5 Puppy序列率失真性能曲線
壓縮后的視頻流在傳輸中,尤其是在無線傳輸中,由于信道擾動或網(wǎng)絡(luò)擁塞常常會出現(xiàn)數(shù)據(jù)包丟失,從而導(dǎo)致解碼出錯且錯誤不斷傳遞,影響觀看質(zhì)量。對此,本方案采用了上下場宏塊交織的棋盤形排列片組編碼方式,當(dāng)圖像中的某片丟失時,由于交織的作用,其周邊相關(guān)性大的相鄰塊并未丟失,有利于丟失區(qū)域的恢復(fù)。為了分析本文算法的抗差錯性能,將本文算法與具有良好率失真性能的MCP+DCP法的錯誤恢復(fù)性能進(jìn)行了比較。仿真中編碼碼流的QP值為28,設(shè)右視點(diǎn)某幀圖像的片丟失率為10%。
圖6為出錯的右視點(diǎn)第6幀圖像,其中圖6a為普通出錯類型,圖6b為經(jīng)棋盤形交織后的出錯類型,出錯幀經(jīng)H.264校驗(yàn)軟件JM10.2中的差錯隱藏程序[7]進(jìn)行錯誤恢復(fù)。圖7a和圖7b分別為MCP+DCP法和本文算法編碼后碼流的差錯恢復(fù)結(jié)果,本文算法解碼后圖像的PSNR值比MCP+DCP法提高0.59 dB。
為了進(jìn)一步驗(yàn)證本文方法的抗差錯性能,對編碼QP值分別為22,28,34,40的碼流在傳輸中出錯的差錯恢復(fù)性能進(jìn)行仿真。設(shè)片丟失率為10%,出錯區(qū)域分別位于視頻序列的不同幀、不同位置,通過重復(fù)實(shí)驗(yàn)獲得平均PSNR值。表2為不同QP值下本文方法與MCP+DCP法的容錯性比較結(jié)果。它表明相比于采用傳統(tǒng)MCP+DCP編碼框架,在QP值為28時,本文方法的容錯性能提高0.51 dB,并隨著QP值的減小,平均PSNR增益更顯著。
表2 不同QP值下的平均PSNR增益/dB
通過H.264/AVC標(biāo)準(zhǔn)中的立體視頻SEI來實(shí)現(xiàn)立體視頻編碼,直接與H.264兼容,無須改寫現(xiàn)有的視頻編解碼器。同時針對移動無線視頻流傳輸易出錯的問題,在編碼中利用FMO技術(shù),將左右視點(diǎn)圖像宏塊交織成棋盤形分布的排列形式,提高了傳輸?shù)娜蒎e性。此外,采用聯(lián)合視差補(bǔ)償預(yù)測和運(yùn)動補(bǔ)償預(yù)測的編碼結(jié)構(gòu),具有良好的率失真性能。
[1]TECH G,SMOLIC A,WIEGAND T,et al.Optimization and comparison of coding algorithms for mobile 3DTV[C/OL]//Proc.3DTV Conference,2009.Potsdam, Germany:3DTV-CON, 2009[2009-09-01].http://sp.cs.tut.fi/mobile3dtv/results/conference/16_Tech%20et%20al_May09.pdf.
[2]張勇東,李桂苓.基于MPEG-2的3DTV視頻編碼方案的研究[J].電視技術(shù),2000,24(9):15-16.
[3]SMOLIC A, MULLER K, OSTERMANN J, et al.Coding algorithms for 3DTV-a survey[J].IEEE Trans.Circuits and Systems for Video Technology,2007,17(11):1606-1621.
[4]李世平,蔣剛毅,郁梅.基于H.264的立體視頻編碼方法[J].計算機(jī)工程與應(yīng)用,2005,41(1):77-79.
[5]METKLE P, WANG Y, MULLER K,et al.Video plus depth compression for mobile 3D services[C/OL]//Proc.3DTV Conference,2009.Potsdam,Germany: 3DTV-CON, 2009.[2009-09-01].http://sp.cs.tut.fi/mobile3dtv/results/conference/13_MerkleBrust20et%20al_May09.pdf.
[6]ITU-T Recommendation H.264.Advanced video coding for generic audiovisual services[S].2007.
[7]JVT reference software[EB/OL].[2009-03-07].http://iphome.hhi.de/suehring/tml/download/old_jm/.