摘 要:高效的全景視頻壓縮對沉浸式、低延時的視覺體驗十分重要。服務器端的全景視頻通過投影到2D平面,經過編碼、傳輸到客戶端后,反投影到球面供用戶觀看,而全景視頻投影過程中會在兩極產生拉伸形變,由于過采樣而產生像素冗余,破壞原有的信息熵分布。針對這一問題,提出一種改進的熵平衡算法,根據全景視頻投影前后對應編碼單元的熵不變原則,采用碼率控制的R-λ模型根據投影面積變化比率來重新分配目標比特,以達到熵平衡,進而調整編碼參數優化編碼。實驗結果表明,該算法相較于基準VTM14.0能達到1.87%的碼率節省,編碼時間下降10.07%,說明該算法在全景視頻編碼中能實現更高的壓縮率和更短的編碼時間。
關鍵詞:全景視頻;熵平衡;ERP投影;率失真優化;VTM
中圖分類號:TN919.81文獻標志碼:A
文章編號:1001-3695(2023)06-047-1894-06
doi:10.19734/j.issn.1001-3695.2022.09.0476
Panoramic video coding based on entropy balancing
Yang Xu Guo Hongwei Li Wanxue
(1.School of Physics amp; Engineering Technology,Chengdu Normal University,Chengdu 611130,China;2.School of Information amp; Communication Engineering,Chongqing University of Posts amp; Telecommunications,Chongqing 400065,China;3.College of Engineering,Honghe University,Honghe Yunnan 661199,China)
Abstract:Efficient panoramic video compression is very important for immersive and low-latency visual experience.
The panoramic video on the server is projected onto the 2D plane,encoded and transmitted to the client and then back-projected the 2D image to the spherical surface for users to watch.However,The panoramic video projection will produce stretching deformation in the two poles and pixel redundancy,and destroy the original information entropy distribution.Aiming at this problem,this paper proposed an improved entropy balance algorithm.To achieve entropy balance,this paper used the R-λ model in rate control to redistribute the target bit according to the projection area change ratio,and then adjusted the coding parameters to optimize the coding.The experimental results show that the proposed algorithm can achieve 1.87% bit rate saving and 10.07% coding time reduction compared with the benchmark VTM14.0,and indicate that the algorithm can achieve higher compression rate and shorter coding time in panoramic video coding.
Key words:panoramic video;entropy balance;ERP projection;rate distortion optimisation;VTM
0 引言
虛擬現實(virtual reality,VR)[1~3]技術和增強現實(augmented reality,AR)[4]技術為用戶提供了色彩更逼真、畫面更清晰的全新沉浸式視覺體驗,廣泛應用于游戲、監控、教育、直播、購物等領域。VR視頻或圖像可以通過三維建模建立一個完全虛擬的空間,也可以通過專門的攝像機進行實景拍攝。在觀看VR視頻的時候,用戶可以通過頭戴顯示器(head mounted display,HMD)[2]觀看,通過控制頭部運動來控制視野范圍,進而產生身臨其境的交互式沉浸體驗。HMD可以追蹤頭部方位或眼睛視點位置,從而為提取用戶視覺注意特征提供可能。
全景視頻[1,2],又稱360°視頻或球域視頻或全方位視頻,正逐漸成為最熱門的VR/AR業務。相較于傳統視頻,它包含360°×180°的全方位球域視覺信息,允許觀眾在觀看時自由改變視角,選擇感興趣區域(region of interest,RoI)[5]進行觀看,讓用戶可以隨時隨地全方位體驗各種虛擬或真實場景并沉浸其中。為了達到這種全方位的沉浸式體驗,全景視頻的分辨率需要達到4K及以上才能實現。
目前,VR全景視頻應用主要面臨高分辨率、高幀率[6]帶來的壓縮、存儲、傳輸[7~9]以及渲染難題。高分辨率、高幀率視頻的處理需要消耗大量的計算資源和通信帶寬,而VR頭盔自身計算能力和無線傳輸帶寬均十分有限。如何在保證終端用戶視覺體驗質量的前提下,減少處理和傳輸的數據規模,就成為了當前VR全景視頻研究的重點。
與傳統的2D視頻圖像不同,全景視頻圖像分布在整個球面,全景視頻壓縮方法必然與傳統視頻壓縮方法有所不同。由于沒有專門的球域全景視頻壓縮工具,現在的主流方法都是將球域視頻投影到2D平面,借助成熟的傳統視頻編碼器進行壓縮,例如H.265/HEVC[10]、H.266/VVC[11]、AVS[12]等。
全景視頻在球域上是沒有邊界的,投影到平面后會產生兩個新的問題:a)平面圖像邊界問題,邊界主要影響跨邊界的運動搜索,投影平面越多,該問題越突出;b)幾何失真問題,即投影過程中球面各區域的采樣密度各不相同,比特率或失真的計算權重也應各有區別。針對上述問題,文獻[13~18]進行了深入研究。
文獻[13]針對ERP投影平面南北兩極運動向量差與赤道附近運動向量差分布不統一的問題,提出運動向量伸縮算法并應用于高運動特征球面視頻,該算法對運動平緩球面視頻效果有限。文獻[19]針對ERP投影平面的跨邊界運動估計問題,通過左右邊界區域互相填充,使得左右邊界處的圖像連續,改善邊界運動估計效果,但是性能提升非常有限,僅僅-0.3%的碼率節省。文獻[14]針對ERP投影方式存在球面兩極過采樣以及CMP投影方式存在投影平面中心區域與外圍區域采樣密度不同的問題,根據球面的采樣密度來為球面分配比特并優化全景視頻編碼參數,首次提出了熵平衡思想,但是該模型應用過于復雜,本文將對該模型作進一步簡化。文獻[15,16]針對ERP投影和CMP投影的采樣密度特征直接調整編碼量化參數QP(quantization parameter)進行編碼。文獻[17]針對ERP投影和CMP投影采樣密度特征,為編碼塊賦予不同的失真權重,將失真權重納入率失真代價計算,并用于率失真優化量化及環路濾波過程。文獻[18]對ERP投影圖像采用分區域降采樣(T-RDS)方法來消除由于過采樣帶來的像素冗余。偽柱狀投影(pseudo-cylindrical)圖像與球面圖像類似,在兩極處沒有嚴重的拉伸變形,但是同樣在圖像邊界處存在圖像不連續情況,文獻[6]針對幀內編碼幀采用邊界拓展,提升幀內預測準確性,減少高頻信號的編碼比特以及圖像不連續產生的偽影現象,對幀間預測編碼幀右邊界用左邊界圖像進行填充,以提升幀間預測準確性。
由于全景視頻為分布在球面的360°視頻,其投影到二維平面時會在高緯度區域出現拉伸,而平面拉伸區域需要通過插值算法進行填充,這使得編碼比特數會增加,從而破壞原始熵分布,打破原有的熵平衡。本文針對全景視頻ERP投影格式在兩極處的過采樣破壞熵分布的問題,提出熵平衡算法,通過R-λ模型來計算比特分配權重,進而調整編碼參數,優化編碼,本文算法不僅有較大的性能提升,編碼復雜度也有較大降低。
1 ERP投影
目前沒有專門的球域視頻編碼器,只有將其投影到平面后再由傳統編碼器進行編解碼。解碼后的平面視頻圖像反投影回球面并呈現給用戶,終端用戶通過頭戴顯示設備觀看,所以全景視頻壓縮的重點之一在投影。
目前,常用的投影方式有ERP[20]、CMP[21]、TSP[22]等。如前文所述,投影平面越多,產生的圖像邊界也越多,這對跨邊界的運動搜索是非常不利的,嚴重影響率失真性能。所以,ERP投影仍是全景視頻編碼研究的重點,也是默認的投影方式。
1.1 2D-3D坐標變換
ERP將球面圖像投影到平面圖像過程中,由于在球面兩極處的采樣密度與平面的采樣密度不一致,將導致在球面兩極處出現過采樣問題。而球面的三維坐標與投影平面的采樣坐標之間有著一一對應關系。
圖1給出了全景視頻通過ERP投影到2D平面的原理圖。可以看出投影前后,除了赤道區域外,全景圖像的其余區域都被拉直為矩形而產生形變,越靠近南北兩極,這種幾何失真越嚴重。現在的通用做法是通過插值算法來填充拉伸區域。
1.2 投影過程中的熵變化
在視頻編碼中,熵代表了視頻圖像的編碼比特數量,在不考慮編碼復雜度的情況下,假設熵均勻分布在整個球面圖像上[14],換言之,就是假定單位球面的編碼比特相同。
在球面圖像投影過程中,南北兩極會產生幾何形變,增大的圖像面積部分將會進行插值,這樣將會嚴重破壞熵的分布,打破原有的熵分布平衡。而且,編碼器對整個平面采用同樣的編碼策略,這將帶來較大的編碼損失。
該比值隨著緯度的增加而減小,在赤道區域,即緯度θ為0處,該面積比為1,沒有拉伸。假設赤道區域的熵在投影前后沒有發生改變,越趨近于極點,熵變化越大。
2 基于熵平衡的全景視頻編碼
2.1 碼率控制模型
2.2 熵平衡算法
2.3 算法流程
本節給出基于熵平衡的全景視頻編碼算法(ERA_PVC)的詳細流程,在實際編碼過程中,根據投影平面的CTU所在位置計算其在球面的緯度坐標,再通過該坐標計算拉格朗日乘子和量化參數,最后用于優化編碼。
3 實驗分析
圖3給出了部分全景視頻測試序列,可以看出,全景視頻包含了各種圖像類型,有的背景靜止,比如PoleVault、Harbor;有的背景及運動目標都有較大的變化,比如DrivingInCity、SkateboardTrick等。一般來講,全景視頻具有較多的仿射運動,運動目標一般出現在赤道附近。
3.1 率失真性能對比
以360lib作為擴展的參考軟件,VTM14.0作為基準,分別用QP值22、27、32、37去編碼每個測試序列。實驗比較本文提出的基于熵平衡的全景視頻編碼算法(ERA-PVC)相較于基準的BD-rate。BD-rate是評價視頻編碼算法性能的主要參數之一,表示在相同編碼質量下,新算法相對于基準算法的碼率節省情況,為負值時表示有碼率節省。表2為ERA-PVC相較于基準的性能對比,可以看出,在8K、6K和4K測試序列上,分別使用SPSNR、CPP-PSNR、WS-PSNR作為客觀質量評價指標[25],ERA-PVC算法相較于基準的BD-rate總體平均為-1.51%,-1.50%,-1.52%。該算法對絕大多數全景視頻序列都是有效的,對個別全景視頻沒有起到作用,比如DrivingInCity。因為該序列存在大量的仿射運動,以在城市中行進的汽車為第一視角,畫面變化較快,而這種單純以圖像位置來調整編碼參數的策略對運動變化較大的全景視頻的編碼質量或者編碼比特節省都不能有效改善。該算法能有效改善高緯度區域沒有運動目標的過采樣問題。比如,算法在全景視頻序列PoleVault、DirvingInCountry上的碼率節省高達7.3%和5.1%,而它們都具有高緯度區域圖像變換平緩的特征。
表3將本文算法與三種全景視頻率失真優化(spherical rate-distortion optimization,SRDO)編碼算法進行對比,其中文獻[26]針對球面圖像投影后會產生邊界,而邊界會對跨邊界的運動搜索造成影響這一問題,提出了邊界補償算法,有1.2%的碼率節省。文獻[13]提出運動向量伸縮算法來優化球面投影過程中產生的運動向量失真問題,該算法對存在嚴重仿射運動的視頻序列比較有效,即對運動向量變化較大的圖像能起到較好的改善失真的作用,而該算法對圖像變換平緩,運動向量失真不大的圖像幾乎沒有作用,從實驗結果也可以看出這些序列上的性能幾乎為0,最終平均有0.41%的碼率節省。文獻[27]針對前述兩種問題,采用改進的球域運動模型來優化全景視頻編碼,平均有1.4%的碼率節省。可以對比看出本文算法的適用場景更廣,率失真性能也最優。
為了更直觀地觀察率失真性能提升情況,圖4~7給出了測試序列SkateboardInLot、PoleVault、DirvingInCountry、KiteFlite在LDP下不同算法的率失真曲線對比。可以看出,本文算法ERA-PVC率失真性能更優。
3.2 主觀質量對比
通過對編碼后的圖像的觀察,可以更好地理解算法原理。圖8給出了算法ERA編碼全景視頻Broadway第66幀圖像以及Landing第40幀圖像分別與源圖像的主觀質量對比。由于視頻編碼是有損編碼,一般編碼后視頻圖像質量都有或多或少的損失。本文所用的熵平衡算法會在高緯度區域調整編碼參數,使得比特數代表的熵變化最小。通過圖8可以看出,總體來講,這種高分辨率的全景視頻編碼前后的主觀質量變化不大,但是對于一些圖像細節,特別是高緯度區域的圖像細節會因為調高量化參數而與源圖像相比有不同程度的失真。圖8中(a)(c)分別代表源圖,(b)(d)分別代表本文算法編碼后的圖像,紅色框內為選取的細節部分,右下角紅色方框內圖像為放大細節圖像。左下角黃色方框內圖像平滑區域編碼質量變化非常小(見電子版)。
3.3 編碼時間對比
編碼時間是衡量算法復雜度[28]的重要指標,本文算法(ERA_PVC)和基準(Anchor)編碼所有測試序列所用絕對時間如表4所示。可以看出,本文所提算法總共花費時間1 887.94 h,低于基準的2 099.24 h,ERA_PVC算法相比基準算法整體編碼時間下降10.07%。編碼時間下降的主要原因是在高緯度區域采用了較大的量化參數編碼。
4 結束語
隨著VR應用的逐步推廣,全景視頻的應用也急劇發展,其高幀率、高分辨率的獨特特征也給壓縮、存儲帶來極大的挑戰,如何進一步高效壓縮全景視頻是工業界和學術界面臨的一大課題。本文針對全景視頻需要投影到2D平面編碼,而投影會在高緯度區域產生形變以及過采樣的問題,提出一種熵平衡算法來降低過采樣帶來的編碼損耗。實驗證明,本文算法能較大程度提高全景視頻編碼率失真性能,而且降低了編碼時間。
本文僅針對投影拉伸進行編碼優化,沒有考慮全景圖像特征以及人眼視覺感知特性對編碼的影響,這將是下一步的研究重點。
參考文獻:
[1]Chiariotti F.A survey on 360-degree video:coding,quality of experience and streaming[J].Computer Communications,2021,177:133-155.
[2]Xu Mai,Li Chen,Zhang Shanyi,et al.State-of-the-art in 360 video/image processing:perception,assessment and compression[J].IEEE Journal of Selected Topics in Signal Processing,2020,14(1):5-26.
[3]Chen Zhenzhong,Li Yiming,Zhang Yingxue.Recent advances in omnidirectional video coding for virtual reality:projection and evaluation[J].Signal Processing,2018,146:66-78.
[4]Vishwanath B,Nanjundaswamy T,Rose K.Rotational motion model for temporal prediction in 360 video coding[C]//Proc of the 19th IEEE International Workshop on Multimedia Signal Processing.Piscataway,NJ:IEEE Press,2017:1-6.
[5]Ghimire S.Production of 360° video:introduction to 360° video and production guidelines[D].[S.l.]:Helsinki Metropolia University,2016.
[6]Youvalari R G,Aminlou A,Hannuksela M M,et al.Efficient coding of 360-degree pseudo-cylindrical panoramic video for virtual reality app-lications[C]//Proc of IEEE International Symposium on Multimedia.Piscataway,NJ:IEEE Press,2016:525-528.
[7]Zhang Jiaqi,Yu Lu,Yu Hualong.Perception-based pseudo-motion response for 360-degree video streaming[J].IEEE Signal Processing Letters,2022,29:1973-1977.
[8]Tang Ming,Wong V W.Online bitrate selection for viewport adaptive 360-degree video streaming[J].IEEE Trans on Mobile Computing,2020,21(7):2506-2517.
[9]Lindskog E,Carlsson N.REEFT-360:real-time emulation and evaluation framework for tile-based 360 streaming under time-varying conditions[C]//Proc of the 12th ACM Multimedia Systems Conference.New York:ACM Press,2021:307-313.
[10]Sullivan G J,Ohm J R,Han W J,et al.Overview of the high efficiency video coding(HEVC) standard[J].IEEE Trans on Circuits and Systems for Video Technology,2012,22(12):1649-1668.
[11]Bross B,Wang Y K,Ye Yan,et al.Overview of the versatile video coding(VVC) standard and its applications[J].IEEE Trans on Circuits and Systems for Video Technology,2021,31(10):3736-3764.
[12]Yu Lu,Chen Sijia,Wang Jianpeng.Overview of AVS-video coding standards[J].Signal Processing:Image Communication,2009,24(4):247-262.
[13]Ghaznavi-Youvalari R,Alireza A.Geometry-based motion vector sca-ling for omnidirectional video coding[C]//Proc of IEEE International Symposium on Multimedia.Piscataway,NJ:IEEE Press,2018:127-130.
[14]Zhou Yiming,Tian Lin,Zhu Ce,et al.Video coding optimization for virtual reality 360-degree source[J].IEEE Journal of Selected Topics in Signal Processing,2019,14(1):118-129.
[15]Sun Yu,Yu Lu.Coding optimization based on weighted-to-spherically-uniform quality metric for 360 video[C]//Proc of IEEE Visual Communications and Image Processing.Piscataway,NJ:IEEE Press,2017:1-4.
[16]Tang Minhao,Zhang Yu,Wen Jiangtao,et al.Optimized video coding for omnidirectional videos[C]//Proc of IEEE International Confe-rence on Multimedia and Expo.Piscataway,NJ:IEEE Press,2017:799-804.
[17]Li Yiming,Xu Jizheng,Chen Zhenzhong.Spherical domain rate-distortion optimization for omnidirectional video coding[J].IEEE Trans on Circuits and Systems for Video Technology,2018,29(6):1767-1780.
[18]Youvalari R G,Alireza A,Hannuksela M M.Analysis of regional down-sampling methods for coding of omnidirectional video[C]//Proc of Picture Coding Symposium(PCS).Piscataway,NJ:IEEE Press,2016:1-5.
[19]He Yuwen,Ye Yan,Hanhart P,et al.Motion compensated prediction with geometry padding for 360 video coding[C]//Proc of IEEE Conference on Visual Communications and Image Processing.Piscataway,NJ:IEEE Press,2017:1-4.
[20]Ye Y,Alshina E,Boyce J.JVET-H1004,Algorithm descriptions of projection format conversion and video quality metrics in 360lib(version 5)[S].[S.l.]:JVET,2017.
[21]Coban M,Van Der Auwera G,Karczewicz M.JVET-F0025,AHG8:adjusted cubemap projection for 360-degree video[S].[S.l.]:Joint Video Exploration Team of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,2017.
[22]Van Der Auwera G,Coban H M,Karczewicz M.D0071,Truncated square pyramid projection(TSP) for 360 video[S].[S.l.]:JVET,2016.
[23]Qiao Minglang,Xu Mai,Wang Zulin,et al.Viewport-dependent saliency prediction in 360° video[J].IEEE Trans on Multimedia,2020,23:748-760.
[24]Xu Mai,Song Yuhang,Wang Jianyi,et al.Predicting head movement in panoramic video:a deep reinforcement learning approach[J].IEEE Trans on Pattern Analysis and Machine Intelligence,2018,41(11):2693-2708.
[25]安平,劉欣,丁文欣,等.注意力分布機制下的全景圖像質量評價[J].中國傳媒大學學報:自然科學版,2021,28(5):36-42.(An Ping,Liu Xin,Din Wenxin,et al.Panoramic image quality assessment based on attention distribution mechanism[J].Journal of Communication University of China:Science and Technology,2021,28(5):36-42.)
[26]Li Li,Li Zhu,Ma Xiang,et al.Co-projection-plane based 3-D padding for polyhedron projection for 360-degree video[C]//Proc of IEEE International conference on Multimedia and Expo.Piscataway,NJ:IEEE Press,2017:55-60.
[27]Li Li,Li Zhu,Ma Xiang,et al.Advanced spherical motion model and local padding for 360 video compression[J].IEEE Trans on Image Processing,2018,28(5):2342-2356.
[28]徐藝文,李瑋蒙,劉航,等.一種針對全景視頻編碼器的復雜度優化算法.福州大學學報:自然科學版,2020,48(5):573-579.(Xu Yiwen,Li Weimeng,Liu Hang,et al.A complexity optimization algorithm for panoramic video encoder[J].Journal of Fuzhou University:Natural Science Edition,2020,48(5):573-579.)