劉 爽,史 萍,任培明
(中國傳媒大學信息工程學院,北京 100024)
責任編輯:薛 京
隨著多媒體技術、通信技術、網(wǎng)絡技術的不斷發(fā)展,現(xiàn)代視頻技術逐漸向數(shù)字化、高清晰度化和立體化發(fā)展。以人眼雙目視差為原理的傳統(tǒng)雙目立體視頻會帶來觀看角度局限、畫面閃爍、空間分辨力低、左右視交叉影響等問題。多視點視頻由位于不同視點的多個攝像機同時拍攝得到,觀看角度自由,被廣泛用于立體電視、交融式會議電視、虛擬現(xiàn)實以及視頻監(jiān)控等多媒體領域。然而,與單視點視頻相比,多視點視頻數(shù)據(jù)量成倍增加。如何高效壓縮數(shù)據(jù)量、降低傳輸成本,已成為了多視點視頻技術需要攻克的難關。
ITU-T和MPEG的聯(lián)合視頻組(Joint Video Team,JVT)提出了多視點視頻編碼(Multi-view Video Coding,MVC)[1]的概念。MVC是在已有的視頻編碼框架(如H.264/AVC)上添加的新的編碼技術,這種方案需要在不同視點之間進行交叉預測,因此要求攝像機之間能夠通信,而且編碼節(jié)點需要有很高的運算能力?;赟lepian-Wolf和Wyner-Ziv理論的分布式多視點視頻編碼(Distributed Multi-view Video Coding,DMVC)[2]將多視點序列單獨編碼、聯(lián)合解碼,在保證一定的主觀清晰度的情況下,盡可能地減小數(shù)據(jù)量。這種編碼方案不需要知道每臺攝像機的配置和參數(shù),編碼復雜度和延遲較低,參考視點選擇也更加靈活。編碼端無須進行運動估計,用于解碼和重建的立體邊信息在解碼端生成,這樣就可以將大部分運算量從編碼端轉(zhuǎn)移到解碼端,由此可實現(xiàn)低復雜度的編碼。立體邊信息生成技術是MDVC的重要部分,精度直接影響系統(tǒng)性能。由于表示同一場景的多個視點視頻具有許多視點空間冗余信息,DMVC可充分利用時間和視間相關性以提高立體邊信息精度。目前,Dnfanx F等人[3]從多個視點引申出一種三視點的編碼結構,采用運動補償內(nèi)插法和單應矩陣補償法產(chǎn)生立體邊信息。Guo等人[4]采用小波變換代替離散余弦變換,利用相似子帶的空間相關性,結合SPIHT算法進一步提高了MDVC系統(tǒng)性能。OguzBici M等人[5]提出了一種分布式視頻編碼結合三維網(wǎng)格的MDVC結構。系統(tǒng)根據(jù)三維網(wǎng)格理論得到視頻幀的幾何參數(shù),只對幾何參數(shù)進行編解碼。呂慧[6]提出了一種基于特征提取和匹配的邊信息生成方案,編碼端將提取的特征信息傳到解碼端,解碼端進行特征匹配后仿射變換生成立體邊信息。但這些方案和傳統(tǒng)運動估計的塊匹配思路不同,復雜度高,實現(xiàn)也比較困難。
本文重點研究了一種多視點運動預測的立體邊信息生成算法,并提出了近似視差估計算法和編碼端掩模融合算法。實驗證明,本文提出的改進算法產(chǎn)生的立體邊信息精度較高,且計算復雜度較低。
一種典型的分布式多視點視頻編碼框架如圖1所示。n個攝像機拍攝的視頻序列可作為獨立信源,分別輸入n個分布式視頻編碼器,最后聯(lián)合解碼輸出。對于某一視點序列,編碼端等間隔抽取關鍵幀(K幀)做傳統(tǒng)的幀內(nèi)編碼。除此之外的其他幀(WZ幀)進行Wyner-Ziv編碼(包括預處理、量化和信道編碼)。解碼端生成立體邊信息作為信道譯碼的信息位,與編碼端送來的WZ幀校驗位一起進行解碼,重建WZ幀。立體邊信息精度越高,表示虛擬信道的誤碼越少,所需傳送的校驗位就越少,壓縮率就越高。WZ幀的立體邊信息可由同視點相鄰的關鍵幀和其他視點的解碼幀共同預測得到。由圖1可知,各個視點編碼的K幀和WZ幀交替出現(xiàn)。
圖1 系統(tǒng)框架
為了便于重點研究立體邊信息生成技術,本文采用如圖2所示的結構[7]。視點1,3中的各幀采用傳統(tǒng)的幀內(nèi)編碼,圖中用C表示;視點2采用Wyner-Ziv編碼,其中K和WZ分別表示關鍵幀和Wyner-Ziv幀。n表示當前編碼時刻,橫軸表示視點方向,縱軸表示時間方向。
圖2 本文系統(tǒng)框架
多視點視頻編碼不僅能利用單視點視頻通道內(nèi)的時間相關性,還能捕獲不同視點視頻通道之間的視間相關性。因此,立體邊信息包括運動預測產(chǎn)生的時間邊信息和視間預測產(chǎn)生的視間邊信息。時間邊信息一般采用運動內(nèi)插法生成。本文采用的對稱運動矢量內(nèi)插法(SMV)[8],假設場景內(nèi)大部分物體做勻速直線運動,認為某一像塊從n-1到n時刻的運動矢量與從n到n+1時刻的運動矢量相同。視間預測主要包括基于區(qū)域的視差估計和基于特征的視差估計兩種方法。其中,基于區(qū)域的視差估計法比較常用,該算法是一種基于塊匹配的視差估計算法,在平坦且紋理豐富的區(qū)域可以達到較高的匹配精度,并且和運動估計有相似之處。
由于運動預測都假設物體做直線運動,在運動特別快或運動無規(guī)律的情況下,運動矢量預測不準,甚至可能無法預測。在這種情況下視間預測效果要好于運動預測。但當圖像有遮擋或幾何、照明、校準有偏差時,視間預測則不準確??偟膩碚f,視點相關性的引入能夠提供更多的預測信息,綜合考慮兩種預測方法能夠提高立體邊信息的預測精度。
為了充分利用時間和視間相關性,本文采取時間視間混合預測,將WZ幀同視點前后時刻的K幀和相鄰視點的已解碼C幀共同作為邊信息預測的參考幀,邊信息精度有所提高。本文對多視點運動預測算法(Muti-view Motion Estimation,MVME)[7]的運動預測和視間預測路徑進行了改進,并提出了一種有效的融合算法,立體邊信息精度有所提高。
多視點運動預測算法[7]的運動搜索和視間搜索是在周圍已解碼的8幀圖像內(nèi)完成的。該算法將某視點的運動矢量直接用于另一視點的補償過程。算法過程如圖3所示。n-1時刻,視點2的K2n-1幀和視點1的C1n-1幀首先進行基于塊匹配的視間搜索,將得到的C1n-1幀匹配塊在同視點n時刻的C1n幀內(nèi)進行搜索,得到運動矢量MV,再以K2n-1為參考幀,利用該MV補償?shù)玫揭环N邊信息。由于WZ幀周圍存在對稱的2個K幀、6個C幀,8幀圖像共提供4種預測路徑,可得4種邊信息。預測路徑如圖4a所示,由于補償使用的是不同視點的運動矢量,本文將這4條路徑統(tǒng)稱為運動預測路徑(MVME-Motion Estimation,MVME-ME)。在此基礎上,很容易想到如圖4b所示的4條路徑。由于補償使用的是不同時刻的視差矢量,本文稱其為視間預測路徑(MVME-Disparity Estimation,MVMEDE)。最后,將8條路徑得到的8種立體邊信息取平均,即可作為最終的立體邊信息。
MVME算法將時間預測和視間預測結合在一起,同視點不同時刻兩幀中搜索不準確,甚至無法搜索到的塊可在相鄰的視點內(nèi)找到?;旌项A測的MVME算法生成的立體邊信息精度有所提升。然而,一個視點的運動矢量實際上需要經(jīng)過變換才能用于另一視點,因此MVME算法只對多個攝像機共面且指向一個方向拍攝的場景預測效果較好。此外,該算法一共需要16次搜索、8次補償,與只需2次搜索、2次補償?shù)腟MV算法相比,系統(tǒng)的運算復雜度要高很多,運算時間也較長。
由于MVME算法在不同視點之間使用相同的運動矢量而產(chǎn)生誤差,本文直接使用SMV算法代替MVME的運動預測算法。具體方法是:與WZ幀相鄰的兩個K幀采用SMV算法進行雙向運動預測,利用得到的2個運動矢量生成2種邊信息。周圍8幀按圖4b所示路徑預測得到4種邊信息。這6種邊信息平均后可作為最終的立體邊信息。該算法只需進行10次搜索、6次補償,計算復雜度降低。此外,該算法不受MVME算法的特定拍攝條件限制,效果較好。
為了充分利用多視點視頻的特點,研究多視角二維成像點之間的關系十分必要。一般采用透視變換模型表示不同視點二維圖像投影點的幾何關系。透視變換模型為
式中:(x,y)和(x′,y′)分別表示兩視點對應的成像點坐標;a0~a7表示變換矩陣參數(shù),a0,a1與攝像機的平移以及三維空間點的深度有關,a2~a5表示鏡頭的推拉、旋轉(zhuǎn)、變焦等運動,a6,a7是透視模型的分母系數(shù)。
由式(1)可以看到,二維圖像投影點的變換關系與鏡頭的平移、旋轉(zhuǎn)、推拉、變焦及物體的深度有關。對于平行放置或小弧度分布的多視點攝像系統(tǒng),若攝像機相距場景很遠,物體的深度變化相對場景的深度變化可忽略不計時,變換矩陣參數(shù)不變。由于相鄰時刻兩幀圖像之間的時間間隔很小,深度變化有限。因此,某點在n時刻的視差矢量和該點在n+1時刻的視差矢量應十分相似。本文提出了一種近似視差估計算法(Approximate Disparity Estimation,ADE),改進了MVME的視間預測路徑。算法原理如圖5所示。
圖5 近似視差估計算法
算法實現(xiàn)的具體步驟如下:
1)n-1時刻,在視點1和視點3的C幀內(nèi)各選定一個塊,將這兩塊分別在視點2的K幀內(nèi)進行搜索,得到視差矢量DV1和DV2。
2)n+1時刻,在視點1,3的C幀內(nèi)分別選定一個塊,將選定塊在視點2的K幀內(nèi)進行基于塊的匹配,得到視差矢量DV3和DV4。
3)以n時刻的1,3視點C幀為參考幀,分別使用DV1,DV3和DV2,DV4進行補償?shù)玫?種邊信息,平均后即可作為視間邊信息。
SMV運動預測建立于物體做直線運動的前提之上。一旦有物體不規(guī)律運動,例如旋轉(zhuǎn)、扭曲等情況,估計的運動矢量會不準確。對于平行放置或分布在小角度弧形區(qū)域的多視點攝像系統(tǒng),若場景可近似認為處于同一平面,前景僅有自身旋轉(zhuǎn)運動的情況,視間預測算法的效果明顯好于運動預測。而那些場景深度變化較大、遮擋較多,有明顯的縱深或平移運動的序列,運動預測算法效果較好。上述的幾種算法都是采用直接平均的方式對時間邊信息和視間邊信息進行處理,并沒有充分利用兩種邊信息的特點,因此得到的立體邊信息的精度受到影響。若能采用某種融合算法,立體邊信息精度可進一步提高。
由于運動預測和視間預測各有優(yōu)缺點,不同位置可能需要不同的邊信息。本文采用一個二進制掩模,標記每個像素的邊信息選擇結果。假設生成的時間邊信息為Yt,視間邊信息為Yv,計算掩模時,選擇一個參考幀,將Yt,Yv與該參考幀進行比較,若Yv接近,掩模值就標記為0,否則為1。最終的立體邊信息根據(jù)掩模值決定。編碼端掩模融合算法(Encoder Mask Fusion,EMF)如圖6所示。編碼時,前后K幀和真實WZ幀逐像素比較,用掩模值記錄哪一個K幀與WZ幀最接近,掩模值與視頻壓縮數(shù)據(jù)一起傳送到解碼端。解碼時,根據(jù)得到的掩模值選擇采用哪一個K幀作為參考幀,Yt,Yv再與選定的參考幀比較生成最終邊信息。編碼端傳送的掩模數(shù)據(jù)可以提高邊信息精度,但同時也增加了編碼復雜度和傳輸比特率。
圖6 編碼端掩模融合算法
實驗選用 ballroom,race1,exit,vassar,flamenco2,rena 序列(分辨力為320×240)以及breakdancers,ballet序列(分辨力為512×384)的前100幀進行測試。序列按8×8分塊,視差搜索的窗口為64×32,運動預測搜索窗口為32×32。
為了比較視間預測的效果,將MVME的視間預測路徑算法(MVME-DE)和本文提出的近似視差估計算法(ADE)對不同序列進行實驗,得到的立體邊信息PSNR值(單位dB)如圖7所示。由圖7可知,ADE與MVME-DE相比,所有序列的邊信息精度都有所提高,尤其對于ballroom序列,PSNR提高了2.09 dB。ballroom,breakdancers等序列運動劇烈,視間相關性強,時間相關性弱,時間預測效果不好。ADE算法只有視間預測,而MVME的視間預測中包含了時間預測,尤其對于某些時間相關性弱的序列,效果不如ADE算法。
圖7 視間預測算法比較
為了對時間視間混合預測算法進行比較,本文在實驗中將MVME視間預測算法、SMV時間預測算法及本文提出的近似視差估計算法進行了不同組合,實驗結果如圖8所示。圖中的MVME+SMV表示視間和時間預測分別采用MVME和SMV,將視間邊信息和時間邊信息直接取平均得到最終的立體邊信息;ADE+SMV表示視間和時間預測分別采用ADE和SMV,再平均得到最終立體邊信息;EMF表示采用ADE+SMV方法,但立體邊信息的生成采用了基于編碼端的掩模融合算法。
圖8 SMV,MVME,MVME+SMV,ADE+SMV,EMF 算法比較
由圖8可知,在MVME,MVME+SMV,ADE+SMV這3 種算法中,race1,ballroom,breakdancers等序列采用ADE+SMV算法效果最好。exit,vassar序列采用MVME+SMV算法效果最好。MVME算法的搜索次數(shù)很多,視差場很大,預測精度會受物體遮擋、光線變化、搜索窗口大小等因素限制,而MVME+SMV和ADE+SMV算法的搜索次數(shù)較少,在一定程度上減少了多次搜索產(chǎn)生的累積誤差。對于變換矩陣參數(shù)恒定的序列,ADE+SMV算法有很好的效果。在計算復雜度方面,表1統(tǒng)計了MVME及改進算法的運算復雜度。由表1可知,MVME算法最復雜,MVME+SMV次之,ADE+SMV算法復雜度最低。EMF算法比ADE+SMV算法多了掩模計算和邊信息逐像素比較過程,復雜度略高。這4種算法的運行時間如表2所示。由表2可知,ADE+SMV算法運行時間最短,幾乎為MVME算法的1/3,MVME+SMV和EMF算法運行時間略長??傊疚奶岢龅腁DE+SMV算法在減少算法復雜度的同時,還提高了立體邊信息精度。
表1 算法復雜度比較
表2 MVME及改進算法運行時間比較 s
在比較運動預測和混合預測算法時,對于rena,flamenco2,race1,breakdancers,ballet,ballroom 序列,混合預測得到的立體邊信息PSNR有了較大的提高。EMF算法最多能提高4.5 dB(flamenco2序列)。然而 MVME,MVME+SMV和ADE+SMV算法對exit,vassar序列的預測效果不好。運動越劇烈,時間相關性越差,視間相關性越強。對于物體做快速運動(旋轉(zhuǎn)等非直線運動)的序列,如race1,breakdancers等,混合預測算法充分挖掘了不同視點之間的相關性,效果好于僅有時間預測的SMV算法。圖9表示ADE+SMV,SMV和MVME算法生成的race1序列邊信息。由圖9可知,在大部分背景或運動緩慢的區(qū)域,SMV算法效果很好。但在運動劇烈區(qū)域(如方框內(nèi)的賽車),SMV算法的邊信息存在明顯的塊效應,MVME算法的邊信息也有一定的模糊,而ADE+SMV算法的邊信息最清晰平滑,效果最好。有些序列畫面大面積靜止,物體運動相對較慢,運動軌跡近似一條直線,時間相關性強于視間相關性,如exit,vassar序列,SMV算法效果較好。此外,這些序列存在較多的縱深和平移運動,深度變化明顯,變換矩陣參數(shù)變化大,視差矢量無法近似相等,ADE+SMV算法不如SMV算法。編碼端的掩模融合算法(EMF)生成的邊信息精度最穩(wěn)定,PSNR幾乎一直處于最高。對于少數(shù)幾個序列,如rena和breakdancers,PSNR比最大值略有下降??傊?,在時間預測的基礎上,充分挖掘多視點視頻序列的視間相關性十分重要,而編碼端傳遞給解碼端的一些先驗信息也有助于提高立體邊信息的精度。
圖9 ADE+SMV,SMV和MVME算法生成的race1序列邊信息
分布式多視點視頻編碼是一種新興的針對多視點視頻的編碼方案。編碼端單獨壓縮不同視點的視頻流,解碼端通過生成的立體邊信息聯(lián)合校驗位解碼,多個攝像機無須通信,編碼復雜度低,抗誤碼性能好,有效地解決了傳統(tǒng)MVC存在的主要問題。立體邊信息是系統(tǒng)的重要部分。在傳統(tǒng)單視點的運動預測基礎上加入多個視點的視間預測能提高立體邊信息預測精度。本文在研究多視點運動預測算法(MVME)的基礎上,提出了近似視差估計算法(ADE)和編碼端掩模融合算法(EMF)。MVME算法無法調(diào)節(jié)時間和視間預測權重,運算量很大。當序列滿足場景深度變化不大的條件時,采用近似視差矢量的ADE算法產(chǎn)生的立體邊信息精度高,運算復雜度低。此外,在編碼端傳送一些先驗信息,將時間和視間邊信息合理融合也可提高邊信息的精度。在今后的研究中,如何減弱大范圍深度變化對近似視差矢量的影響,如何根據(jù)多視點視頻特點選擇時間或視間預測算法,如何在編碼端獲得更可靠的先驗信息等都是值得深入探討的問題。
[1]霍俊彥,常義林,李明,等.多視點視頻編碼的研究現(xiàn)狀及其展望[J]. 通信學報,2010(5):113-121.
[2]GUILLEMOT C,PEREIRA F,TORRES L,et al.Distributed monoview and multiview video coding[J].IEEE Signal Processing Magazine,2007,24(5):67-76.
[3]DNFANX F,OUARET M,EBRAHIMI T.Recent advances in multi-view distributed video coding[EB/OL].[2012-02-11].http://infoscience.epfl.ch/record/110714/files/2007_dss_dufaux_et_al.pdf?version=1.
[4]GUO Xun,LU Yan,WU Feng,et al.Wyner-Ziv-based multiview video coding[J].IEEE Trans.Circuits and Systems for Video Technology,2008,18(6):713-724.
[5]BICI M O,AKAR G B.Distributed 3D dynamic mesh coding[C]//Proc.the 15th IEEE International Conference on Image Processing,2008.[S.l.]:IEEE Press,2008:2432-2435.
[6]呂慧.基于分布式多視點視頻編碼的邊信息生成[D].上海:上海交通大學,2008.
[7]ARTIGAS X,TARRES F,TORRES L.A comparison of different side information generation methods for multiview distributed video coding[EB/OL].[2012-02-11].http://www.discoverdvc.org/publications/UPC/A%20Comparison%20of%20different%20Side%20Information%20Generation%20Methods%20For%20Multiview%20Distributed%20Video%20Coding.pdf.
[8]AARON A,ZHANG R,GIROD B.Wyner-Ziv coding of motion video[C]//Proc.the 36th Asilomar Conference on Signals,Systems and Computers.[S.l.]:IEEE Press,2002:240-244.