郭宗明 班怡璇 謝瀾
虛擬現(xiàn)實(VR)視頻,又稱全景視頻或360°視頻,以其充分的沉浸性、真實性、制作簡單性等特點正受到人們的廣泛關注。它通過全景攝像機記錄三自由度或六自由度的自然圖像,降低了VR內容制作的門檻,提供現(xiàn)有普通視頻所不能達到的真實感。近幾年,隨著VR設備、網(wǎng)絡和終端技術的成熟,VR視頻正越來越多地用于影視、游戲、醫(yī)療、教育等應用中。據(jù)思科的統(tǒng)計報告顯示[1]:VR應用在2016年的平均月流量達到13.3 PB,預計到2021年達到140 PB,年增長率達到60%。如此廣泛的VR視頻給人們的生活和工作帶來了新體驗,大量的網(wǎng)絡基礎設施和智能穿戴設備也推動了VR視頻應用的發(fā)展。
然而,高質量的VR視頻服務仍面臨若干挑戰(zhàn)。其中,網(wǎng)絡傳輸是一個關鍵性問題。VR視頻對網(wǎng)絡帶寬有較高的消耗,例如:一個分辨率為2 K×1 K的虛擬現(xiàn)實視頻經(jīng)過壓縮編碼,需要4 Mbit/s的數(shù)據(jù)量;若分辨率達到4 K×2 K,則數(shù)據(jù)量將會上漲至20 Mbit/s,至少需要25 Mbit/s的網(wǎng)絡帶寬才可以承載[2]?,F(xiàn)有互聯(lián)網(wǎng)帶寬難以滿足如此高碼率虛擬現(xiàn)實視頻的流暢播放,進而嚴重影響其應用。
為了解決VR視頻的傳輸瓶頸,工業(yè)界和學術界提出了眾多解決方案。早期,Google、YouTube采用可兼容現(xiàn)有視頻編解碼器的全景傳輸模式,但存在碼率高、視頻變形等問題。2015年,F(xiàn)acebook提出了視點自適應傳輸和金字塔映射模式,可根據(jù)用戶視點區(qū)域傳輸視頻內容,減少總體碼率。2016年,三星、高通等公司提出了多種非均勻映射方式,動態(tài)圖像專家組(MPEG)也專門成立一個I-AHG沉浸式視頻專題組,制訂全景視頻文件格式、映射、傳輸標準。在中國,數(shù)字音視頻編解碼技術標準工作組(AVS)標準化組織也于2016年開始制訂AVS虛擬視頻編碼和系統(tǒng)標準,中興通訊、北京大學、上海交通大學等單位相繼提出多種映射和傳輸方案。
文中,我們將詳細介紹VR視頻傳輸?shù)陌l(fā)展現(xiàn)狀和關鍵技術,重點從傳輸框架、全景傳輸、自適應傳輸?shù)确矫嬲归_。
1 虛擬現(xiàn)實視頻傳輸框架
完整的虛擬現(xiàn)實視頻傳輸架構包括5個部分:全景采集、拼接、映射、編碼、傳輸,如圖1所示。
(1)全景采集。VR視頻是由多攝像頭組合成的全景相機拍攝而成。利用全景攝像機采集自然圖像,可以極大簡化虛擬現(xiàn)實內容的制作。近幾年,全景相機硬件技術得到飛速發(fā)展。從早期由多個普通攝像頭合成的全景相機,發(fā)展到各種專用相機,例如:Facebook Surround 360、三星Gear 360等??梢蕴峁囊曨l采集到拼接等一系列功能,方便虛擬現(xiàn)實視頻的創(chuàng)作。
(2)視頻拼接。視頻拼接是全景視頻采集的后處理過程,它將若干個攝像頭的視頻合成一路全景視頻,形成一個完整的虛擬現(xiàn)實視頻提供給用戶。目前已經(jīng)有多種商業(yè)化或開源的視頻拼接軟件,例如:Video Stitch、Facebook Surround 360 SDK、Nuke等。
(3)映射過程。為了便于存儲和壓縮編碼,球面視頻內容需要被幾何映射到平面。映射影響了VR視頻編碼前的像素量,在一定程度上也決定了視頻內容所包含的信息量。映射過程與傳輸緊密相關,分為兩類:均勻映射和非均勻映射。均勻映射保留全部全景視頻信息;非均勻映射僅在部分區(qū)域保留完整信息,其他區(qū)域保留部分信息,并用較少像素表示。
(4)視頻編碼。VR視頻使用壓縮編碼減少視頻中的冗余信息。為了兼容現(xiàn)有編碼器和播放設備,目前虛擬現(xiàn)實視頻主要采用H.264,高效視頻編碼(HEVC)等編碼標準。
(5)網(wǎng)絡傳輸。VR視頻需要通過互聯(lián)網(wǎng)分發(fā)給用戶,網(wǎng)絡傳輸是目前最大的挑戰(zhàn)。為了提供清晰、流暢的虛擬現(xiàn)實視頻體驗,映射和傳輸方法起到了關鍵性作用。傳輸方法主要分為兩類:
·全景傳輸方法。將360°全景視頻以同等質量、完整的發(fā)送給用戶??梢员WC映射內容完整保留了原始球面的所有內容,保留信息量最大;但由于播放設備和視角的限制,在某一時刻,用戶只關心視角范圍內的部分內容,全景傳輸方法勢必會造成巨大的資源浪費。
·視點自適應傳輸方法。顧名思義,指的是客戶端可根據(jù)用戶視點,動態(tài)傳輸視角范圍內的視頻,避免了資源浪費。然而,若用戶當前視點與下載視頻的視點不符,會出現(xiàn)黑屏或視頻質量降低等問題。
在虛擬現(xiàn)實視頻傳輸框架中,映射與傳輸方式緊密相關。其中,全景傳輸對應均勻映射,完整的映射和傳輸360°視頻;視點自適應傳輸對應非均勻映射和分塊傳輸,按用戶視角映射和傳輸局部視頻。
下面將詳細介紹這兩種虛擬視頻傳輸方式,以及各自優(yōu)缺點。
2 全景傳輸
全景傳輸方法是將球面視頻均勻的映射到平面上,按照矩形布局編碼和傳輸完整的360°視頻內容。全景傳輸可直接使用現(xiàn)有編碼器和傳輸方式,因為其簡單和通用而成為當下虛擬現(xiàn)實視頻使用最廣泛的傳輸方法。
均勻映射是全景傳輸?shù)闹饕成浞绞?,決定了編碼效率和帶寬消耗。代表性的均勻映射方法有矩形映射(ERP)、立方體映射(CMP)、八面體映射等,如圖2所示。
ERP方法是使用最多的虛擬現(xiàn)實視頻映射方法,這種方法在球的緯度上按照赤道的采樣頻率對內容進行采樣并用平面進行表示,生成的虛擬現(xiàn)實視頻的寬高比為2:1。但ERP方法在南北兩極存在著嚴重的過采樣現(xiàn)象,使得整體的冗余像素增加。
立方體映射是將球面內容投影到外接的一個立方體的6個面上,并將6個面拼接重組成一個完整的虛擬現(xiàn)實視頻。
除此之外,更多的多面體被應用于VR視頻的映射方法中,例如:正八面體(OHP)、正二十面體(ISP)等。理論上,使用面數(shù)越多的正多面體,可以使得映射后的數(shù)據(jù)量越小。但是,這些正多面體都需要通過“再拼接”形成矩形平面。拼接過程導致內容上的不連續(xù)現(xiàn)象,在一定程度上也會影響編碼效率。endprint
表1總結了目前主要的均勻映射方式的優(yōu)缺點。其中,像素比例代表映射后面積和原始球面的比例關系,是影響視頻編碼碼率的一個因素。
3 視點自適應傳輸
視點自適應傳輸技術是一種根據(jù)用戶視點,按需下載視頻內容的方法。如圖3所示,對于用戶視角內的內容可以選擇下載高質量的版本,對于視角外的部分可下載低質量的版本,或者不進行下載。
視點自適應傳輸可有效減少虛擬現(xiàn)實視頻的帶寬浪費問題。在相同帶寬條件下,它可分配更多帶寬給視角區(qū)域,從而提高用戶視窗內視頻的質量,增強用戶的觀看體驗。
按照傳輸內容的構成形式,視點自適應方法可以分為兩類:非均勻映射和分塊傳輸。
(1)非均勻映射[3]。傳輸一個質量不均勻的360°全景視頻,用戶視點范圍內是高分辨率,其他區(qū)域是低分辨率,從而減少整體碼率。
(2)分塊傳輸[4]。將全景視頻從空間上分為不同視頻塊,根據(jù)視點范圍傳輸部分視頻塊。
兩種的主要差別為:非均勻映射需傳輸360°的全景視頻,可防止頭部快速運動導致的黑場;分塊方法可傳輸局部或全部視頻內容,靈活性高。
視點預測是視點自適應傳輸?shù)牧硪粋€重要技術。VR視頻要求顯示延遲低于20 ms[5]。同時,由于存在網(wǎng)絡傳輸延遲,在頭部快速運動時,要避免視野范圍內出現(xiàn)黑場,必須對視點區(qū)域進行預測和預取。因此視點預測的準確度極大影響虛擬現(xiàn)實視頻的傳輸質量。
下面將詳細介紹視點自適應的非均勻映射、分塊傳輸和視點預測等關鍵技術。
3.1 非均勻映射傳輸技術
非均勻映射傳輸技術是一種通過將原始球面視頻進行非均勻映射處理后進行傳輸?shù)募夹g。其在對球面內容進行采樣時,令球面上的像素點有不同的權重,使得關鍵視頻內容得到保留,而不重要的區(qū)域被下采,僅保留少部分關鍵信息,如圖4所示。其優(yōu)點是在保證關鍵區(qū)域質量的同時,從整體上降低視頻的大小,極大地減輕了網(wǎng)絡傳輸和客戶端解碼的壓力。
目前已有多種非均勻映射傳輸方式,例如:Facebook提出的多分辨率立方體、金字塔映射、偏移立方體等,高通提出的階段金字塔等。它們共同目標是:在保持視點區(qū)域質量的前提下,降低整體分辨率,但不同映射方式存在變形、失真或邊界等問題,對編碼效率有不同影響。
Facebook最早提出了一種多分辨率立方體映射方法,它是通過將立方體映射方式進行變換后得到的。保持正前面和與其相鄰的上、下、左、右4個面的一半分辨率不變,對這4個面剩下的一半和后面的視頻內容進行下采樣,最終重新組合成一個二維平面視頻幀,如圖5所示。這種方法的缺陷是在上、下、左、右面的中間部位由于采樣率突變,存在明顯的邊界,影響用戶的觀看體驗。
除Facebook外,高通曾提出一種截斷的金字塔映射方法[6],并被MPEG OMAF標準采納。這種方法與Facebook的金字塔映射方法類似,只不過非關注區(qū)域投影至四棱臺的頂部,而不是投影為一個像素點,如圖6所示。這種方法相較于金字塔方法,在一定程度上消除了由于映射造成的斜邊效應,在內容表示上更加連續(xù),有利于視頻編碼。
為了支持非均勻映射傳輸,需要針對每一個主視點都預先生成不同的視頻版本。一旦用戶發(fā)起請求,就立即將對應視點的版本提取出來進行傳輸,在保證視頻質量的同時減少了網(wǎng)絡流量。
3.2 分塊傳輸技術
分塊傳輸技術是另一種視點自適應傳輸方式。它將全景視頻按照空間劃分為若干個子視頻塊,客戶端可以根據(jù)網(wǎng)絡狀況和用戶頭部運動有針對性的向服務器端請求視頻片段,具體過程如圖7所示。
與非均勻映射傳輸方式不同,分塊傳輸僅傳一部分內容,進一步減少了傳輸數(shù)據(jù)量。它可以自由地選擇各個分塊的質量,增加了傳輸?shù)撵`活性。同時,最新的HEVC編碼標準支持tile方式編碼,可用一個編解碼器對整個視頻流進行編解碼,大大減少了客戶端的解碼復雜度。所以,分塊傳輸是目前最實用的全景視頻傳輸技術之一。
分塊傳輸可有多種切分方式,例如:六面幾何式[7]、18格矩形分割方式[8]、12格矩形分割方式[8]等。不同的切分方式將會影響編碼效率、傳輸塊數(shù)量和邊界失真等。
圖8以18格和12格矩形分割方式為示例。18格劃分是將水平方向按照60°間隔分成6列,垂直方向按照45°-90°-45°方式分3行,共計18個視頻塊。12格劃分是水平方向按照90°間隔分成四列,垂直方向同上。
值得注意的是:在全景視頻傳輸過程中,切分粒度越小,視頻塊的組合就越貼近用戶視角,浪費的視頻內容也就越少,也即自適應傳輸技術就越靈活。但是,一味減小視頻塊大小并不會使視頻數(shù)據(jù)量有持續(xù)顯著性下降。這是由于在切分后像素之間的相關性被破壞,使得切分后編碼數(shù)據(jù)量之和略大于切分前的數(shù)據(jù)量,即便是在高壓縮率的HEVC標準下,18格劃分方式都會招致5.82%的壓縮損失[8],在極端條件下,浪費的視頻內容大小甚至不足以抵消分塊帶來的損失。所以,如何決定分塊大小也是一個值得關注的問題。
3.3 視點預測方法
視點預測是視點自適應傳輸?shù)年P鍵技術之一。由于網(wǎng)絡傳輸存在延遲,為保證視點自適應播放的連續(xù)性,減少頭部運動帶來的卡頓甚至黑屏,如何準確預測視角位置是一個較大的挑戰(zhàn)。
例如:線性預測方法中[9],預測用戶未來1 s的頭部位置時,準確率可達到90%以上,而將預測時間延長至3 s時,準確率會大幅降至70%。一旦預測錯誤,由于本地緩存中缺少相應視角的視頻片段,會導致用戶視窗中出現(xiàn)黑窗,極大地影響用戶的觀看體驗。
目前視點預測方式主要分為兩類:運動預測和內容分析方法。運動預測是根據(jù)用戶的歷史瀏覽行為,預測未來視角位置,包括均值算法[9]、線性回歸[9]、概率統(tǒng)計[10]、運動估計[11]、行為學習[11]等方法。endprint
其中,線性回歸算法尤為重要,它是一種利用數(shù)理統(tǒng)計中的回歸分析來預測下一時刻用戶位置的算法。具體來說,它先將用戶在滑動窗口內不同時刻的運動狀況進行記錄,再通過記錄下的頭部數(shù)據(jù)來訓練回歸模型,得到回歸曲線,預測下一時刻觀看概率最大位置,如圖9所示。
另外一類是內容分析方法。它是一種是基于視頻中各個對象的顯著性特征來進行預測。顯著性特征代表著物體吸引用戶的程度,顯著性越強,表示用戶越關注,同時也代表用戶觀看概率越高,顯著性越弱,則代表觀看概率越低。目前,學術界主要是通過機器學習的方法得到視頻的顯著性特征[12],再進行預測。另外一種內容分析方法[13]是同時基于內容以及用戶位置進行預測的神經(jīng)網(wǎng)絡。其中,視頻內容包括顯著性特征和運動特征。它需要在視頻上架前對視頻內容和測試頭部數(shù)據(jù)集進行訓練,學習出用戶最可能出現(xiàn)的行為模式,進而在用戶實際觀看時根據(jù)學習結果預測下一時刻用戶頭部位置。
4 結束語
VR視頻正得到越來越廣泛的應用,但由于帶寬消耗巨大,傳輸瓶頸已成為它面臨的重大挑戰(zhàn)之一。文章中,我們系統(tǒng)地介紹了VR視頻傳輸框架,以及關鍵技術的發(fā)展現(xiàn)狀,詳細比較各種技術的優(yōu)缺點,總結VR視頻傳輸?shù)陌l(fā)展方向。隨著VR視頻傳輸技術的發(fā)展,在有限帶寬上傳輸高質量VR視頻將成為現(xiàn)實。
參考文獻
[1] Cisco Visual Networking Index: Globe Mobile Data Traffic Forecast Update[R]. Technical report, 2017
[2] Internet Connection Speed Recommendations[EB/OL]. [2017-10-12].https://help.netflix.com/en/node/306
[3] XU Z M, XIE L, ZHANG X G, et al. Optimal Viewport Adaptive Streaming for 360-Degree Videos[C]// IEEE International Conference on Multimedia&Expo(ICME2017). USA:IEEE, 2017. DOI:10.1109/ICC.2017.7996611
[4] BAN Y X, XIE L, ZHANG X G, et al. An Optimal Spatial-Temporal Smoothness Approach for Tile-Based 360-Degree Video Streaming[C]//IEEE Conference on Visual Communications and Image Processing (VCIP). USA:IEEE, 2017
[5] YAO R, HEATH T, DAVIES A, et al. Oculus VR Best Practices Guide[EB/OL]. (2014-03-17)[2017-10-11].http://brianschrank.com/vrgames/resources/OculusBestPractices.pdf
[6] VR/360 Video Truncated Square Pyramid Geometry for OMAF: ISO/IEC JTC1/SC29/WG11/M[S]. US: MPEG, 2016
[7] HOSSEINI, MOHAMMAD, and SWAMINATHAN V. Adaptive 360 VR Video Streaming: Divide and Conquer[C]//2016 IEEE International Symposium on Multimedia (ISM).USA:IEEE, 2016
[8] ZARE A, AMINLOU A, HANNUKSELA M, and GABBOUJ M. HEVC-Compliant Tile-Based Streaming of Panoramic Video for Virtual Reality Applications[C]// the ACM International Conference on Multimedia(ACM MM). USA:ACM,2016
[9] QIAN F, JI L, HAN B, et al. Optimizing 360 Video Delivery over Cellular Networks[C]// 5th ACM Workshop on All Things Cellular, 2016. USA:ACM, 2016:1-6. DOI: 10.1145/2980055.2980056
[10] XIE L, XU Z, ZHANG X, et al. 360ProbDASH: Improving QoE of 360 Video Streaming using Tile-based HTTP Adaptive Streaming[C]//ACM International Conference on Multimedia(ACM MM). USA: ACM, 2017
[11] BATTLE L, CHANG R, and STONEBRAKER M. Dynamic Prefetching of Data Tiles for Interactive Visualization[C]//the ACM International Conference on Management of Data, 2016
[12] LO W-C, FAN C L, LEE J, HUANG C Y, et al. 360° Video Viewing Dataset in Head-Mounted Virtual Reality[C]// 8th ACM on Multimedia Systems Conference. USA:ACM, 2017
[13] FAN C L, LEE J, LO W-C, et al. Fixation Prediction for 360° Video Streaming in Head-Mounted Virtual Reality[C]//the 27th Workshop on Network and Operating Systems Support for Digital Audio and Video. USA:ACM, 2017:67-72. DOI: 10.1145/3083165.3083180endprint