楊 紅,張 松,王 林,丁灝云,卿粼波,何小海
(1.四川大學 電子信息學院,成都 610065;2.成都工業學院 網絡與通信工程學院,成都 611730)
在異構網絡中,當不同用戶通過不同的通信鏈路接入相同的視頻時,用戶是否能流暢地播放該視頻受當時的網絡條件和視頻源數據量大小的限制。多視點視頻在網絡中所需要傳輸的數據量較單視點視頻數據呈數量級的增大趨勢,這勢必會進一步加大數據傳輸量[1],從而會導致多視點視頻播放時更嚴重的卡頓現象。為解決該類多用戶的應用問題,研究者提出分級編碼可提供一個視頻的多種版本[2-3],但在無線帶寬不足的情況下視頻質量較差,當無線網絡的帶寬豐富時視頻質量高。這些分層視頻流可以適應網絡帶寬的頻繁變化,并且用戶可根據自身終端情況自適應調整播放速率。分級編碼很好地適應了網絡的異構性及帶寬波動所帶來的負面影響,已被證明是解決網絡帶寬波動最有效的方法[2]。
傳統視頻分級編碼(Scalable Video Coding,SVC)系統主要有H.264可伸縮視頻編碼[4]、H.265可伸縮高效視頻編碼(Scalable High Efficiency Video Coding,SHVC)[5]等。由于傳統SVC系統采用了層間預測技術,其編碼端復雜度非常高。然而,無線異構網絡終端受到體積、功耗和便捷性等因素的制約使得編碼端復雜的SVC方案已不適用。分布式視頻編碼(Distributed Video Coding,DVC)是一種非標準的視頻編碼算法[6],與傳統視頻編碼系統相比具有低編碼復雜度和高魯棒性的優點,非常適合在無線異構網絡終端進行視頻的編碼。有研究者針對體積功耗受限和低復雜度應用場景已展開了DVC分級結構的設計:卿粼波等人[7]基于迭代譯碼算法設計了分級分布式視頻編碼方案;葛潔緣等人[8]基于小波變換對分布式視頻編碼方案進行了改進研究,首先引入整數小波簡化算法提升編碼端效率,其次采用傳統編碼領域的分級傳輸思想設計適應不同傳輸帶寬的DVC結構。
但是,以上的分級編碼系統均是基于單視點視頻展開研究。本文為了實現多視點視頻在異構網絡中的流暢播放效果及低復雜編碼器結構,基于DVC的框架,利用逐級優化更新的理論設計了一種適用于無線異構網絡中的分布式多視點視頻分級編碼(Distributed Multi-view Video Layered Coding,DMVLC)框架。該框架充分利用已解碼的層間相關性、視點內相關性和視點間相關性進行邊信息的更新優化,最終獲得了信道條件差-低碼率-低質量/信道條件好-高碼率-高質量的不同傳輸特性,適合應用于異構網絡的無線傳輸環境。
Equitz和Cover[9]首先提出了信號的逐級優化問題,圖1所示為兩級優化解碼原理框圖。

圖1 逐級優化的兩級編解碼框架

(1)


(2)
很自然地可以將該兩級優化推廣到任意有限N級[10]。
小波域Wyner-Ziv(WZ)幀編解碼框架[11]為小波域分級編解碼提供了設計思路,其從低頻帶到高頻帶逐步更新運動矢量,從而得到不斷更新的邊信息。更新框架如圖2所示。

圖2 基于MRMR的小波域各層信息更新解碼原理框圖
在圖2所示中,首先假設F(t-1)為已解碼的Key(K)幀或者WZ幀,利用初始運動矢量結合前一幀F(t-1)經離散小波變換(Discrete Wavelet Transform,DWT)后得到的低頻帶系數LLN(t-1)估計當前幀中LLN(t)的邊信息,初始運動矢量通常認為是零或者由前一幀進行運動外推得到;然后對LLN(t)進行WZ解碼和重建,并且設置n=N,隨后在LLn(t)與LLn(t-1)之間進行運動搜索得到新的運動矢量。利用更新的運動矢量經過運動補償得到當前分辨率下各高頻頻帶HLn、LHn、HHn的邊信息,由于邊信息質量得到了提升,因此降低了解碼碼率。通過多分辨率運動細化,可以在已解碼的低頻帶圖像的基礎上得到高頻帶圖像的高質量邊信息。由于邊信息的生成過程利用了當前幀的部分信息,因此得到的邊信息質量比單純利用運動內插或者外推得到的要好。
在DMVLC系統中對WZ幀F(t+i)(i∈[1,…,GOP-1])進行3層9/7小波變換獲得不同頻帶系數,其中LL3作為基本層(Base Layer,BL),LHj(j∈[1,2,3])作為EL1層,HHj(j∈[1,2,3])作為EL2層,HLj(j∈[1,2,3])作為EL3層,如圖3所示,并按照圖4中箭頭方向進行系數的量化,然后分別進行無損Slepian-Wolf 編碼(Slepian-Wolf Coding,SWC)獲得各層碼流,送入信道傳輸。由于WZ幀已經獲得了不同碼率大小的各個傳輸層(BL層、EL1層、EL2層和EL3層),當信道傳輸條件動態變差時的BL層的優先級最高,接收端優先接收到BL層并解碼;當信道條件稍微好一點時,接收端可接收到EL1層并解碼。以此類推,WZ幀能適應不同信道的動態變化。

圖3 WZ幀分級編解碼框架

圖4 WZ幀小波域分級各層DWT頻帶劃分圖
DMVLC分級編碼框架中邊信息逐級更新及分級解碼的實現過程如圖5所示,該過程充分利用已解碼的當前層,挖掘上下層之間的層內時間相關性以及幀內部的空間相關性。

圖5 解碼端邊信息逐級優化的可分級實現框圖
由于解碼端邊信息逐級優化的框架一致,其他幾層的優化算法也一致,僅參數不同,所以本小節詳細介紹BL的逐級優化方案。當只有BL被接收端成功接收時,LL3就作為該層對應的初始邊信息,結合前一幀的運動矢量計算出當前幀LL3的邊信息SI1;然后根據接收到的基本層碼流RBL進行聯合解碼,獲得當前BL的更佳重建幀FBL;接著再利用運動估計更新當前層的運動矢量,由于挖掘了層間相關性,獲得了質量較準確的EL1的邊信息SI2。采用同樣的方法和過程,可以得到優化后的EL2邊信息SI3和EL3的邊信息SI4,更新后的各層邊信息質量高低如圖6所示。

圖6 視點內邊信息逐級優化結果示意圖
為了提升DMVLC系統邊信息質量可充分利用視點間的空域相關性,本小節以中間視點EL1層的邊信息更新為例介紹視點間邊信息逐級更新流程,如圖7所示,其中綠色幀為已解碼的視頻層,粉色幀為待解碼視頻層。由于現在可參考的有用信息為當前層的前一層及左右視點的當前層,因此首先假設左右視點的EL1層已成功解碼并重建了視頻幀FEL1,此時中間視點EL1的邊信息可參考左右視點EL1層,此外還可以參考中間視點BL層。

圖7 視點間邊信息逐級更新結構示意圖
在此基礎上,本文研究的DMVLC框架在解碼端可獲得不同視點不同層的解碼重建視頻幀,如圖8所示。DMVLC解碼端的中間視點當前層邊信息逐級更新結構中可充分利用已解碼的相鄰視點當前層,用于挖掘左右相鄰層的層間空間相關性;同時還可利用當前幀中已經解碼出來的前一層,用于挖掘上下層之間的層間時間相關性。

圖8 分布式多視點分級編碼結果示意圖
本小節通過仿真實驗,測試DMVLC系統的碼率可分級性和質量可分級性,實現分布式多視點可分級視頻編碼系統。實驗中,對WZ幀進行編碼的4個量化參數設置為{10,14,18,22},K幀的量化參數設置為{40,36,32,28}。仿真實驗采用標準測試視頻序列Balloons(256 pixel×192 pixel,30 b/s)和PoznanHall2(480 pixel×272 pixel,25 b/s),并用Matlab2016版進行仿真測試??紤]到由K幀生成的邊信息質量好壞直接決定了DMVLC系統的整體性能,所以本實驗首先固定K幀質量,然后測試系統的分級性,并與文獻[12]介紹的DMVLC比較。
本文將邊信息逐級優化方案用到WZ幀的解碼流程中,隨著解碼端接收到的待解碼不同層的增加,邊信息質量也逐級提升,測試結果如圖9所示,圖中橫坐標分別是WZ幀編碼時采用的4個不同的量化參數{Q4=10,Q3=14,Q2=18,Q1=22}。如圖9(a)所示,在Balloons序列視點1的測試結果中,當量化參數為Q4時EL1層峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)值比BL層的提升了3 dB,其他各量化參數下的各層都有不同的提升效果。

(a)Balloons序列視點1

(b)Poznan Hall 2序列視點5圖9 測試序列WZ幀邊信息各層質量
隨后,對分級DMVLC系統中WZ幀分級的RD性能進行測試,并且和文獻[12]的分級編碼框架進行對比,如圖10所示。文獻[12]分級方案與本文分級實現方案在BL層一樣,都將LL3作為BL層;但增強層不同,文獻[12]采用小波變換第三層作為EL1層,采用小波變換第二層作為EL2層,采用小波變換第一層作為EL3層。觀察測試結果可見,文獻[12]的EL3層碼率均大于本文方案,而BL層碼率大小兩種方案幾乎無差別;從PSNR值的情況看,本文分級方案的PSNR比文獻[12]的PSNR值有提升,比如Balloons視點1中本文所提算法較文獻[12]的基本層提升了0.5 dB,這主要由于本文方案在邊信息更新的處理上采用了逐級優化的方式。另外,Balloons視點1的BL與EL1的低碼率段的PSNR分級性能更突出,即其PSNR值的跨度范圍更大。圖10(a)中本文算法獲得的各層碼率和PSNR值都具有低碼率低質量-高碼率高質量的分級特性,但是文獻[12]的綠色和藍色各層的分級特性有缺失。

(a)Balloons序列視點1

(b)Poznan Hall2序列視點5圖10 測試序列WZ幀分級RD曲線
為了測試DMVLC系統的分級性,將其和傳統SHVC編碼框架的分級性進行對比,其中SHVC的BL層采用HEVC幀內編碼方式獲得,分級情況由各層的量化參數所決定;DMVLC系統的碼率和PSNR由WZ編碼器中的量化參數所決定。兩者的碼率和PSNR值均列于表1,測試結果說明了本文分級編碼有效,且部分性能與SHVC某些層一致。

表1 DMVLC與SHVC部分量化參數下Balloons序列的碼率和PSNR值
為了更好地體現該分級系統的性能及各層對解碼視頻的貢獻,將程序運行結束后的重建視頻幀進行融合,按照視頻幀原來的順序進行存儲并播放出來,此時就可以對各測試序列在解碼端獲得的不同層重建幀進行主觀對比,如圖11所示。

(a)接收到BL層解碼圖像(PSNR為32.478 6 dB)

(b)接收到BL+EL1層解碼圖像(PSNR為34.902 7 dB)

(c)接收到BL+EL1+EL2層解碼圖像(PSNR為35.288 1 dB)

(d)接收到所有四層解碼圖像(PSNR為35.590 3 dB)圖11 測試序列PoznanHall2中間視點第三幀的各級主觀圖
圖11中紅色小框內是測試序列某一幀不同層解碼重建圖像同一區域的選擇,紅色大框是對該區域圖像進行放大后的圖像。圖11(a)展示了PoznanHall2序列第三幀基本層的解碼結果,從右下角的放大圖可見此時圖像質量較模糊,PSNR值為32.478 6 dB。圖11(b)和(c)分別展示了PoznanHall2序列第三幀接收到前兩層(PSNR值為34.902 7 dB)和前三層(PSNR值為35.288 1 dB)的解碼圖像,從放大圖可見這時的圖像質量隨著接收到的增強層層數增多而逐步提升,圖像模糊度逐漸降低。圖11(d)展示了所有四層都接收到的解碼圖像,此時圖像質量最好,PSNR值為35.590 3 dB。綜上所述,圖像主觀質量上的分級性體現了本文分級編解碼方案對視頻質量分級的有效性。
本文主要針對無線信道條件動態變化問題突出的異構網絡場景,對多用戶流暢播放多視點視頻的應用需求進行了研究,提出了低復雜度分布式多視點視頻分級傳輸框架。該框架研究了有損逐級優化解碼更新理論對解碼端邊信息更新的貢獻,還研究了當本文解碼端接收到待解碼層數增多和已解碼視點增多時,通過對視點內相關性和視點間進行挖掘,從而提升邊信息質量和系統的整體分級性能。
后續工作計劃針對異構網絡場景中視頻傳輸碼率的優化問題,研究多視點視頻分級編碼方案中碼率估計算法??紤]到邊信息質量越高所需傳輸的校驗碼率越低這一特點,可進一步研究在多個增強層被接受后解碼性能的提升,及邊信息質量的改善對降低傳輸碼率的輔助作用。